diff options
Diffstat (limited to 'arch/arm/mach-lpc32xx/phy3250.c')
-rw-r--r-- | arch/arm/mach-lpc32xx/phy3250.c | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c index b07dcc90829d..e8ff4c3f0566 100644 --- a/arch/arm/mach-lpc32xx/phy3250.c +++ b/arch/arm/mach-lpc32xx/phy3250.c | |||
@@ -24,12 +24,9 @@ | |||
24 | #include <linux/irq.h> | 24 | #include <linux/irq.h> |
25 | #include <linux/dma-mapping.h> | 25 | #include <linux/dma-mapping.h> |
26 | #include <linux/device.h> | 26 | #include <linux/device.h> |
27 | #include <linux/spi/spi.h> | ||
28 | #include <linux/spi/eeprom.h> | ||
29 | #include <linux/gpio.h> | 27 | #include <linux/gpio.h> |
30 | #include <linux/amba/bus.h> | 28 | #include <linux/amba/bus.h> |
31 | #include <linux/amba/clcd.h> | 29 | #include <linux/amba/clcd.h> |
32 | #include <linux/amba/pl022.h> | ||
33 | #include <linux/amba/pl08x.h> | 30 | #include <linux/amba/pl08x.h> |
34 | #include <linux/amba/mmci.h> | 31 | #include <linux/amba/mmci.h> |
35 | #include <linux/of.h> | 32 | #include <linux/of.h> |
@@ -37,6 +34,8 @@ | |||
37 | #include <linux/of_irq.h> | 34 | #include <linux/of_irq.h> |
38 | #include <linux/of_platform.h> | 35 | #include <linux/of_platform.h> |
39 | #include <linux/clk.h> | 36 | #include <linux/clk.h> |
37 | #include <linux/mtd/lpc32xx_slc.h> | ||
38 | #include <linux/mtd/lpc32xx_mlc.h> | ||
40 | 39 | ||
41 | #include <asm/setup.h> | 40 | #include <asm/setup.h> |
42 | #include <asm/mach-types.h> | 41 | #include <asm/mach-types.h> |
@@ -156,21 +155,6 @@ static struct clcd_board lpc32xx_clcd_data = { | |||
156 | .remove = lpc32xx_clcd_remove, | 155 | .remove = lpc32xx_clcd_remove, |
157 | }; | 156 | }; |
158 | 157 | ||
159 | /* | ||
160 | * AMBA SSP (SPI) | ||
161 | */ | ||
162 | static struct pl022_ssp_controller lpc32xx_ssp0_data = { | ||
163 | .bus_id = 0, | ||
164 | .num_chipselect = 1, | ||
165 | .enable_dma = 0, | ||
166 | }; | ||
167 | |||
168 | static struct pl022_ssp_controller lpc32xx_ssp1_data = { | ||
169 | .bus_id = 1, | ||
170 | .num_chipselect = 1, | ||
171 | .enable_dma = 0, | ||
172 | }; | ||
173 | |||
174 | static struct pl08x_channel_data pl08x_slave_channels[] = { | 158 | static struct pl08x_channel_data pl08x_slave_channels[] = { |
175 | { | 159 | { |
176 | .bus_id = "nand-slc", | 160 | .bus_id = "nand-slc", |
@@ -223,13 +207,25 @@ static struct mmci_platform_data lpc32xx_mmci_data = { | |||
223 | * gather, and the MMCI driver doesn't do it this way */ | 207 | * gather, and the MMCI driver doesn't do it this way */ |
224 | }; | 208 | }; |
225 | 209 | ||
210 | static struct lpc32xx_slc_platform_data lpc32xx_slc_data = { | ||
211 | .dma_filter = pl08x_filter_id, | ||
212 | }; | ||
213 | |||
214 | static struct lpc32xx_mlc_platform_data lpc32xx_mlc_data = { | ||
215 | .dma_filter = pl08x_filter_id, | ||
216 | }; | ||
217 | |||
226 | static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = { | 218 | static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = { |
227 | OF_DEV_AUXDATA("arm,pl022", 0x20084000, "dev:ssp0", &lpc32xx_ssp0_data), | 219 | OF_DEV_AUXDATA("arm,pl022", 0x20084000, "dev:ssp0", NULL), |
228 | OF_DEV_AUXDATA("arm,pl022", 0x2008C000, "dev:ssp1", &lpc32xx_ssp1_data), | 220 | OF_DEV_AUXDATA("arm,pl022", 0x2008C000, "dev:ssp1", NULL), |
229 | OF_DEV_AUXDATA("arm,pl110", 0x31040000, "dev:clcd", &lpc32xx_clcd_data), | 221 | OF_DEV_AUXDATA("arm,pl110", 0x31040000, "dev:clcd", &lpc32xx_clcd_data), |
230 | OF_DEV_AUXDATA("arm,pl080", 0x31000000, "pl08xdmac", &pl08x_pd), | 222 | OF_DEV_AUXDATA("arm,pl080", 0x31000000, "pl08xdmac", &pl08x_pd), |
231 | OF_DEV_AUXDATA("arm,pl18x", 0x20098000, "20098000.sd", | 223 | OF_DEV_AUXDATA("arm,pl18x", 0x20098000, "20098000.sd", |
232 | &lpc32xx_mmci_data), | 224 | &lpc32xx_mmci_data), |
225 | OF_DEV_AUXDATA("nxp,lpc3220-slc", 0x20020000, "20020000.flash", | ||
226 | &lpc32xx_slc_data), | ||
227 | OF_DEV_AUXDATA("nxp,lpc3220-mlc", 0x200a8000, "200a8000.flash", | ||
228 | &lpc32xx_mlc_data), | ||
233 | { } | 229 | { } |
234 | }; | 230 | }; |
235 | 231 | ||
@@ -253,12 +249,6 @@ static void __init lpc3250_machine_init(void) | |||
253 | 249 | ||
254 | of_platform_populate(NULL, of_default_bus_match_table, | 250 | of_platform_populate(NULL, of_default_bus_match_table, |
255 | lpc32xx_auxdata_lookup, NULL); | 251 | lpc32xx_auxdata_lookup, NULL); |
256 | |||
257 | /* Register GPIOs used on this board */ | ||
258 | if (gpio_request(MMC_PWR_ENABLE_GPIO, "mmc_power_en")) | ||
259 | pr_err("Error requesting gpio %u", MMC_PWR_ENABLE_GPIO); | ||
260 | else if (gpio_direction_output(MMC_PWR_ENABLE_GPIO, 1)) | ||
261 | pr_err("Error setting gpio %u to output", MMC_PWR_ENABLE_GPIO); | ||
262 | } | 252 | } |
263 | 253 | ||
264 | static char const *lpc32xx_dt_compat[] __initdata = { | 254 | static char const *lpc32xx_dt_compat[] __initdata = { |