diff options
Diffstat (limited to 'arch/arm/mach-mx2')
-rw-r--r-- | arch/arm/mach-mx2/devices.c | 43 | ||||
-rw-r--r-- | arch/arm/mach-mx2/devices.h | 11 |
2 files changed, 36 insertions, 18 deletions
diff --git a/arch/arm/mach-mx2/devices.c b/arch/arm/mach-mx2/devices.c index 9bf49da53072..cda4aced7a39 100644 --- a/arch/arm/mach-mx2/devices.c +++ b/arch/arm/mach-mx2/devices.c | |||
@@ -144,24 +144,33 @@ struct platform_device mxc_w1_master_device = { | |||
144 | .resource = mxc_w1_master_resources, | 144 | .resource = mxc_w1_master_resources, |
145 | }; | 145 | }; |
146 | 146 | ||
147 | static struct resource mxc_nand_resources[] = { | 147 | #define DEFINE_MXC_NAND_DEVICE(pfx, baseaddr, irq) \ |
148 | { | 148 | static struct resource pfx ## _nand_resources[] = { \ |
149 | .start = NFC_BASE_ADDR, | 149 | { \ |
150 | .end = NFC_BASE_ADDR + SZ_4K - 1, | 150 | .start = baseaddr, \ |
151 | .flags = IORESOURCE_MEM, | 151 | .end = baseaddr + SZ_4K - 1, \ |
152 | }, { | 152 | .flags = IORESOURCE_MEM, \ |
153 | .start = MX2x_INT_NANDFC, | 153 | }, { \ |
154 | .end = MX2x_INT_NANDFC, | 154 | .start = irq, \ |
155 | .flags = IORESOURCE_IRQ, | 155 | .end = irq, \ |
156 | }, | 156 | .flags = IORESOURCE_IRQ, \ |
157 | }; | 157 | }, \ |
158 | }; \ | ||
159 | \ | ||
160 | struct platform_device pfx ## _nand_device = { \ | ||
161 | .name = "mxc_nand", \ | ||
162 | .id = 0, \ | ||
163 | .num_resources = ARRAY_SIZE(pfx ## _nand_resources), \ | ||
164 | .resource = pfx ## _nand_resources, \ | ||
165 | } | ||
158 | 166 | ||
159 | struct platform_device mxc_nand_device = { | 167 | #ifdef CONFIG_MACH_MX21 |
160 | .name = "mxc_nand", | 168 | DEFINE_MXC_NAND_DEVICE(imx21, MX21_NFC_BASE_ADDR, MX21_INT_NANDFC); |
161 | .id = 0, | 169 | #endif |
162 | .num_resources = ARRAY_SIZE(mxc_nand_resources), | 170 | |
163 | .resource = mxc_nand_resources, | 171 | #ifdef CONFIG_MACH_MX27 |
164 | }; | 172 | DEFINE_MXC_NAND_DEVICE(imx27, MX27_NFC_BASE_ADDR, MX27_INT_NANDFC); |
173 | #endif | ||
165 | 174 | ||
166 | /* | 175 | /* |
167 | * lcdc: | 176 | * lcdc: |
diff --git a/arch/arm/mach-mx2/devices.h b/arch/arm/mach-mx2/devices.h index 0dee0f5e681c..02e5dd203095 100644 --- a/arch/arm/mach-mx2/devices.h +++ b/arch/arm/mach-mx2/devices.h | |||
@@ -13,7 +13,16 @@ extern struct platform_device mxc_uart_device3; | |||
13 | extern struct platform_device mxc_uart_device4; | 13 | extern struct platform_device mxc_uart_device4; |
14 | extern struct platform_device mxc_uart_device5; | 14 | extern struct platform_device mxc_uart_device5; |
15 | extern struct platform_device mxc_w1_master_device; | 15 | extern struct platform_device mxc_w1_master_device; |
16 | extern struct platform_device mxc_nand_device; | 16 | #ifdef CONFIG_MACH_MX21 |
17 | extern struct platform_device imx21_nand_device; | ||
18 | #define mxc_nand_device imx21_nand_device | ||
19 | #endif | ||
20 | #ifdef CONFIG_MACH_MX27 | ||
21 | extern struct platform_device imx27_nand_device; | ||
22 | #ifndef CONFIG_MACH_MX21 | ||
23 | #define mxc_nand_device imx27_nand_device | ||
24 | #endif | ||
25 | #endif | ||
17 | extern struct platform_device mxc_fb_device; | 26 | extern struct platform_device mxc_fb_device; |
18 | extern struct platform_device mxc_fec_device; | 27 | extern struct platform_device mxc_fec_device; |
19 | extern struct platform_device mxc_pwm_device; | 28 | extern struct platform_device mxc_pwm_device; |