diff options
Diffstat (limited to 'arch/arm/mach-mx5/board-mx53_loco.c')
-rw-r--r-- | arch/arm/mach-mx5/board-mx53_loco.c | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/arch/arm/mach-mx5/board-mx53_loco.c b/arch/arm/mach-mx5/board-mx53_loco.c index 359c3e248add..54be525e2bd7 100644 --- a/arch/arm/mach-mx5/board-mx53_loco.c +++ b/arch/arm/mach-mx5/board-mx53_loco.c | |||
@@ -38,6 +38,10 @@ | |||
38 | #define MX53_LOCO_UI1 IMX_GPIO_NR(2, 14) | 38 | #define MX53_LOCO_UI1 IMX_GPIO_NR(2, 14) |
39 | #define MX53_LOCO_UI2 IMX_GPIO_NR(2, 15) | 39 | #define MX53_LOCO_UI2 IMX_GPIO_NR(2, 15) |
40 | #define LOCO_FEC_PHY_RST IMX_GPIO_NR(7, 6) | 40 | #define LOCO_FEC_PHY_RST IMX_GPIO_NR(7, 6) |
41 | #define LOCO_LED IMX_GPIO_NR(7, 7) | ||
42 | #define LOCO_SD3_CD IMX_GPIO_NR(3, 11) | ||
43 | #define LOCO_SD3_WP IMX_GPIO_NR(3, 12) | ||
44 | #define LOCO_SD1_CD IMX_GPIO_NR(3, 13) | ||
41 | 45 | ||
42 | static iomux_v3_cfg_t mx53_loco_pads[] = { | 46 | static iomux_v3_cfg_t mx53_loco_pads[] = { |
43 | /* FEC */ | 47 | /* FEC */ |
@@ -70,6 +74,8 @@ static iomux_v3_cfg_t mx53_loco_pads[] = { | |||
70 | MX53_PAD_SD1_DATA1__ESDHC1_DAT1, | 74 | MX53_PAD_SD1_DATA1__ESDHC1_DAT1, |
71 | MX53_PAD_SD1_DATA2__ESDHC1_DAT2, | 75 | MX53_PAD_SD1_DATA2__ESDHC1_DAT2, |
72 | MX53_PAD_SD1_DATA3__ESDHC1_DAT3, | 76 | MX53_PAD_SD1_DATA3__ESDHC1_DAT3, |
77 | /* SD1_CD */ | ||
78 | MX53_PAD_EIM_DA13__GPIO3_13, | ||
73 | /* SD3 */ | 79 | /* SD3 */ |
74 | MX53_PAD_PATA_DATA8__ESDHC3_DAT0, | 80 | MX53_PAD_PATA_DATA8__ESDHC3_DAT0, |
75 | MX53_PAD_PATA_DATA9__ESDHC3_DAT1, | 81 | MX53_PAD_PATA_DATA9__ESDHC3_DAT1, |
@@ -163,7 +169,7 @@ static iomux_v3_cfg_t mx53_loco_pads[] = { | |||
163 | MX53_PAD_GPIO_7__SPDIF_PLOCK, | 169 | MX53_PAD_GPIO_7__SPDIF_PLOCK, |
164 | MX53_PAD_GPIO_17__SPDIF_OUT1, | 170 | MX53_PAD_GPIO_17__SPDIF_OUT1, |
165 | /* GPIO */ | 171 | /* GPIO */ |
166 | MX53_PAD_PATA_DA_1__GPIO7_7, | 172 | MX53_PAD_PATA_DA_1__GPIO7_7, /* LED */ |
167 | MX53_PAD_PATA_DA_2__GPIO7_8, | 173 | MX53_PAD_PATA_DA_2__GPIO7_8, |
168 | MX53_PAD_PATA_DATA5__GPIO2_5, | 174 | MX53_PAD_PATA_DATA5__GPIO2_5, |
169 | MX53_PAD_PATA_DATA6__GPIO2_6, | 175 | MX53_PAD_PATA_DATA6__GPIO2_6, |
@@ -202,6 +208,15 @@ static const struct gpio_keys_platform_data loco_button_data __initconst = { | |||
202 | .nbuttons = ARRAY_SIZE(loco_buttons), | 208 | .nbuttons = ARRAY_SIZE(loco_buttons), |
203 | }; | 209 | }; |
204 | 210 | ||
211 | static const struct esdhc_platform_data mx53_loco_sd1_data __initconst = { | ||
212 | .cd_gpio = LOCO_SD1_CD, | ||
213 | }; | ||
214 | |||
215 | static const struct esdhc_platform_data mx53_loco_sd3_data __initconst = { | ||
216 | .cd_gpio = LOCO_SD3_CD, | ||
217 | .wp_gpio = LOCO_SD3_WP, | ||
218 | }; | ||
219 | |||
205 | static inline void mx53_loco_fec_reset(void) | 220 | static inline void mx53_loco_fec_reset(void) |
206 | { | 221 | { |
207 | int ret; | 222 | int ret; |
@@ -225,6 +240,19 @@ static const struct imxi2c_platform_data mx53_loco_i2c_data __initconst = { | |||
225 | .bitrate = 100000, | 240 | .bitrate = 100000, |
226 | }; | 241 | }; |
227 | 242 | ||
243 | static const struct gpio_led mx53loco_leds[] __initconst = { | ||
244 | { | ||
245 | .name = "green", | ||
246 | .default_trigger = "heartbeat", | ||
247 | .gpio = LOCO_LED, | ||
248 | }, | ||
249 | }; | ||
250 | |||
251 | static const struct gpio_led_platform_data mx53loco_leds_data __initconst = { | ||
252 | .leds = mx53loco_leds, | ||
253 | .num_leds = ARRAY_SIZE(mx53loco_leds), | ||
254 | }; | ||
255 | |||
228 | static void __init mx53_loco_board_init(void) | 256 | static void __init mx53_loco_board_init(void) |
229 | { | 257 | { |
230 | imx53_soc_init(); | 258 | imx53_soc_init(); |
@@ -237,9 +265,10 @@ static void __init mx53_loco_board_init(void) | |||
237 | imx53_add_imx2_wdt(0, NULL); | 265 | imx53_add_imx2_wdt(0, NULL); |
238 | imx53_add_imx_i2c(0, &mx53_loco_i2c_data); | 266 | imx53_add_imx_i2c(0, &mx53_loco_i2c_data); |
239 | imx53_add_imx_i2c(1, &mx53_loco_i2c_data); | 267 | imx53_add_imx_i2c(1, &mx53_loco_i2c_data); |
240 | imx53_add_sdhci_esdhc_imx(0, NULL); | 268 | imx53_add_sdhci_esdhc_imx(0, &mx53_loco_sd1_data); |
241 | imx53_add_sdhci_esdhc_imx(2, NULL); | 269 | imx53_add_sdhci_esdhc_imx(2, &mx53_loco_sd3_data); |
242 | imx_add_gpio_keys(&loco_button_data); | 270 | imx_add_gpio_keys(&loco_button_data); |
271 | gpio_led_register_device(-1, &mx53loco_leds_data); | ||
243 | } | 272 | } |
244 | 273 | ||
245 | static void __init mx53_loco_timer_init(void) | 274 | static void __init mx53_loco_timer_init(void) |