diff options
Diffstat (limited to 'arch/arm/mach-mxs')
-rw-r--r-- | arch/arm/mach-mxs/Kconfig | 3 | ||||
-rw-r--r-- | arch/arm/mach-mxs/devices/platform-mxsfb.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-mxs/include/mach/clkdev.h | 7 | ||||
-rw-r--r-- | arch/arm/mach-mxs/include/mach/dma.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-mxs/mach-mx28evk.c | 21 | ||||
-rw-r--r-- | arch/arm/mach-mxs/mach-tx28.c | 19 |
6 files changed, 35 insertions, 18 deletions
diff --git a/arch/arm/mach-mxs/Kconfig b/arch/arm/mach-mxs/Kconfig index f114960622e0..4cd0231ee539 100644 --- a/arch/arm/mach-mxs/Kconfig +++ b/arch/arm/mach-mxs/Kconfig | |||
@@ -41,6 +41,7 @@ config MACH_MX23EVK | |||
41 | config MACH_MX28EVK | 41 | config MACH_MX28EVK |
42 | bool "Support MX28EVK Platform" | 42 | bool "Support MX28EVK Platform" |
43 | select SOC_IMX28 | 43 | select SOC_IMX28 |
44 | select LEDS_GPIO_REGISTER | ||
44 | select MXS_HAVE_AMBA_DUART | 45 | select MXS_HAVE_AMBA_DUART |
45 | select MXS_HAVE_PLATFORM_AUART | 46 | select MXS_HAVE_PLATFORM_AUART |
46 | select MXS_HAVE_PLATFORM_FEC | 47 | select MXS_HAVE_PLATFORM_FEC |
@@ -55,10 +56,12 @@ config MACH_MX28EVK | |||
55 | config MODULE_TX28 | 56 | config MODULE_TX28 |
56 | bool | 57 | bool |
57 | select SOC_IMX28 | 58 | select SOC_IMX28 |
59 | select LEDS_GPIO_REGISTER | ||
58 | select MXS_HAVE_AMBA_DUART | 60 | select MXS_HAVE_AMBA_DUART |
59 | select MXS_HAVE_PLATFORM_AUART | 61 | select MXS_HAVE_PLATFORM_AUART |
60 | select MXS_HAVE_PLATFORM_FEC | 62 | select MXS_HAVE_PLATFORM_FEC |
61 | select MXS_HAVE_PLATFORM_MXS_I2C | 63 | select MXS_HAVE_PLATFORM_MXS_I2C |
64 | select MXS_HAVE_PLATFORM_MXS_MMC | ||
62 | select MXS_HAVE_PLATFORM_MXS_PWM | 65 | select MXS_HAVE_PLATFORM_MXS_PWM |
63 | 66 | ||
64 | config MACH_TX28 | 67 | config MACH_TX28 |
diff --git a/arch/arm/mach-mxs/devices/platform-mxsfb.c b/arch/arm/mach-mxs/devices/platform-mxsfb.c index bf72c9b8dbdd..5a75b7180f74 100644 --- a/arch/arm/mach-mxs/devices/platform-mxsfb.c +++ b/arch/arm/mach-mxs/devices/platform-mxsfb.c | |||
@@ -5,6 +5,7 @@ | |||
5 | * the terms of the GNU General Public License version 2 as published by the | 5 | * the terms of the GNU General Public License version 2 as published by the |
6 | * Free Software Foundation. | 6 | * Free Software Foundation. |
7 | */ | 7 | */ |
8 | #include <linux/dma-mapping.h> | ||
8 | #include <asm/sizes.h> | 9 | #include <asm/sizes.h> |
9 | #include <mach/mx23.h> | 10 | #include <mach/mx23.h> |
10 | #include <mach/mx28.h> | 11 | #include <mach/mx28.h> |
diff --git a/arch/arm/mach-mxs/include/mach/clkdev.h b/arch/arm/mach-mxs/include/mach/clkdev.h deleted file mode 100644 index 3a8f2e3a6309..000000000000 --- a/arch/arm/mach-mxs/include/mach/clkdev.h +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | #ifndef __MACH_MXS_CLKDEV_H__ | ||
2 | #define __MACH_MXS_CLKDEV_H__ | ||
3 | |||
4 | #define __clk_get(clk) ({ 1; }) | ||
5 | #define __clk_put(clk) do { } while (0) | ||
6 | |||
7 | #endif | ||
diff --git a/arch/arm/mach-mxs/include/mach/dma.h b/arch/arm/mach-mxs/include/mach/dma.h index 7f4aeeaba8df..203d7c4a3e11 100644 --- a/arch/arm/mach-mxs/include/mach/dma.h +++ b/arch/arm/mach-mxs/include/mach/dma.h | |||
@@ -9,6 +9,8 @@ | |||
9 | #ifndef __MACH_MXS_DMA_H__ | 9 | #ifndef __MACH_MXS_DMA_H__ |
10 | #define __MACH_MXS_DMA_H__ | 10 | #define __MACH_MXS_DMA_H__ |
11 | 11 | ||
12 | #include <linux/dmaengine.h> | ||
13 | |||
12 | struct mxs_dma_data { | 14 | struct mxs_dma_data { |
13 | int chan_irq; | 15 | int chan_irq; |
14 | }; | 16 | }; |
diff --git a/arch/arm/mach-mxs/mach-mx28evk.c b/arch/arm/mach-mxs/mach-mx28evk.c index 56767a5cce0e..eaaf6ff28990 100644 --- a/arch/arm/mach-mxs/mach-mx28evk.c +++ b/arch/arm/mach-mxs/mach-mx28evk.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/delay.h> | 15 | #include <linux/delay.h> |
16 | #include <linux/platform_device.h> | 16 | #include <linux/platform_device.h> |
17 | #include <linux/gpio.h> | 17 | #include <linux/gpio.h> |
18 | #include <linux/leds.h> | ||
18 | #include <linux/irq.h> | 19 | #include <linux/irq.h> |
19 | #include <linux/clk.h> | 20 | #include <linux/clk.h> |
20 | 21 | ||
@@ -29,6 +30,7 @@ | |||
29 | 30 | ||
30 | #define MX28EVK_FLEXCAN_SWITCH MXS_GPIO_NR(2, 13) | 31 | #define MX28EVK_FLEXCAN_SWITCH MXS_GPIO_NR(2, 13) |
31 | #define MX28EVK_FEC_PHY_POWER MXS_GPIO_NR(2, 15) | 32 | #define MX28EVK_FEC_PHY_POWER MXS_GPIO_NR(2, 15) |
33 | #define MX28EVK_GPIO_LED MXS_GPIO_NR(3, 5) | ||
32 | #define MX28EVK_BL_ENABLE MXS_GPIO_NR(3, 18) | 34 | #define MX28EVK_BL_ENABLE MXS_GPIO_NR(3, 18) |
33 | #define MX28EVK_LCD_ENABLE MXS_GPIO_NR(3, 30) | 35 | #define MX28EVK_LCD_ENABLE MXS_GPIO_NR(3, 30) |
34 | #define MX28EVK_FEC_PHY_RESET MXS_GPIO_NR(4, 13) | 36 | #define MX28EVK_FEC_PHY_RESET MXS_GPIO_NR(4, 13) |
@@ -178,6 +180,23 @@ static const iomux_cfg_t mx28evk_pads[] __initconst = { | |||
178 | /* slot power enable */ | 180 | /* slot power enable */ |
179 | MX28_PAD_PWM4__GPIO_3_29 | | 181 | MX28_PAD_PWM4__GPIO_3_29 | |
180 | (MXS_PAD_4MA | MXS_PAD_3V3 | MXS_PAD_NOPULL), | 182 | (MXS_PAD_4MA | MXS_PAD_3V3 | MXS_PAD_NOPULL), |
183 | |||
184 | /* led */ | ||
185 | MX28_PAD_AUART1_TX__GPIO_3_5 | MXS_PAD_CTRL, | ||
186 | }; | ||
187 | |||
188 | /* led */ | ||
189 | static const struct gpio_led mx28evk_leds[] __initconst = { | ||
190 | { | ||
191 | .name = "GPIO-LED", | ||
192 | .default_trigger = "heartbeat", | ||
193 | .gpio = MX28EVK_GPIO_LED, | ||
194 | }, | ||
195 | }; | ||
196 | |||
197 | static const struct gpio_led_platform_data mx28evk_led_data __initconst = { | ||
198 | .leds = mx28evk_leds, | ||
199 | .num_leds = ARRAY_SIZE(mx28evk_leds), | ||
181 | }; | 200 | }; |
182 | 201 | ||
183 | /* fec */ | 202 | /* fec */ |
@@ -385,6 +404,8 @@ static void __init mx28evk_init(void) | |||
385 | if (ret) | 404 | if (ret) |
386 | pr_warn("failed to request gpio mmc1-slot-power: %d\n", ret); | 405 | pr_warn("failed to request gpio mmc1-slot-power: %d\n", ret); |
387 | mx28_add_mxs_mmc(1, &mx28evk_mmc_pdata[1]); | 406 | mx28_add_mxs_mmc(1, &mx28evk_mmc_pdata[1]); |
407 | |||
408 | gpio_led_register_device(0, &mx28evk_led_data); | ||
388 | } | 409 | } |
389 | 410 | ||
390 | static void __init mx28evk_timer_init(void) | 411 | static void __init mx28evk_timer_init(void) |
diff --git a/arch/arm/mach-mxs/mach-tx28.c b/arch/arm/mach-mxs/mach-tx28.c index b65e3719cbc4..515a423f82cd 100644 --- a/arch/arm/mach-mxs/mach-tx28.c +++ b/arch/arm/mach-mxs/mach-tx28.c | |||
@@ -101,14 +101,6 @@ static const iomux_cfg_t tx28_stk5v3_pads[] __initconst = { | |||
101 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | 101 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), |
102 | MX28_PAD_SSP0_DATA3__SSP0_D3 | | 102 | MX28_PAD_SSP0_DATA3__SSP0_D3 | |
103 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | 103 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), |
104 | MX28_PAD_SSP0_DATA4__SSP0_D4 | | ||
105 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
106 | MX28_PAD_SSP0_DATA5__SSP0_D5 | | ||
107 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
108 | MX28_PAD_SSP0_DATA6__SSP0_D6 | | ||
109 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
110 | MX28_PAD_SSP0_DATA7__SSP0_D7 | | ||
111 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | ||
112 | MX28_PAD_SSP0_CMD__SSP0_CMD | | 104 | MX28_PAD_SSP0_CMD__SSP0_CMD | |
113 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), | 105 | (MXS_PAD_8MA | MXS_PAD_3V3 | MXS_PAD_PULLUP), |
114 | MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT | | 106 | MX28_PAD_SSP0_DETECT__SSP0_CARD_DETECT | |
@@ -117,7 +109,7 @@ static const iomux_cfg_t tx28_stk5v3_pads[] __initconst = { | |||
117 | (MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_NOPULL), | 109 | (MXS_PAD_12MA | MXS_PAD_3V3 | MXS_PAD_NOPULL), |
118 | }; | 110 | }; |
119 | 111 | ||
120 | static struct gpio_led tx28_stk5v3_leds[] = { | 112 | static const struct gpio_led tx28_stk5v3_leds[] __initconst = { |
121 | { | 113 | { |
122 | .name = "GPIO-LED", | 114 | .name = "GPIO-LED", |
123 | .default_trigger = "heartbeat", | 115 | .default_trigger = "heartbeat", |
@@ -147,6 +139,11 @@ static struct i2c_board_info tx28_stk5v3_i2c_boardinfo[] __initdata = { | |||
147 | }, | 139 | }, |
148 | }; | 140 | }; |
149 | 141 | ||
142 | static struct mxs_mmc_platform_data tx28_mmc0_pdata __initdata = { | ||
143 | .wp_gpio = -EINVAL, | ||
144 | .flags = SLOTF_4_BIT_CAPABLE, | ||
145 | }; | ||
146 | |||
150 | static void __init tx28_stk5v3_init(void) | 147 | static void __init tx28_stk5v3_init(void) |
151 | { | 148 | { |
152 | mxs_iomux_setup_multiple_pads(tx28_stk5v3_pads, | 149 | mxs_iomux_setup_multiple_pads(tx28_stk5v3_pads, |
@@ -159,11 +156,11 @@ static void __init tx28_stk5v3_init(void) | |||
159 | /* spi via ssp will be added when available */ | 156 | /* spi via ssp will be added when available */ |
160 | spi_register_board_info(tx28_spi_board_info, | 157 | spi_register_board_info(tx28_spi_board_info, |
161 | ARRAY_SIZE(tx28_spi_board_info)); | 158 | ARRAY_SIZE(tx28_spi_board_info)); |
162 | mxs_add_platform_device("leds-gpio", 0, NULL, 0, | 159 | gpio_led_register_device(0, &tx28_stk5v3_led_data); |
163 | &tx28_stk5v3_led_data, sizeof(tx28_stk5v3_led_data)); | ||
164 | mx28_add_mxs_i2c(0); | 160 | mx28_add_mxs_i2c(0); |
165 | i2c_register_board_info(0, tx28_stk5v3_i2c_boardinfo, | 161 | i2c_register_board_info(0, tx28_stk5v3_i2c_boardinfo, |
166 | ARRAY_SIZE(tx28_stk5v3_i2c_boardinfo)); | 162 | ARRAY_SIZE(tx28_stk5v3_i2c_boardinfo)); |
163 | mx28_add_mxs_mmc(0, &tx28_mmc0_pdata); | ||
167 | } | 164 | } |
168 | 165 | ||
169 | static void __init tx28_timer_init(void) | 166 | static void __init tx28_timer_init(void) |