diff options
Diffstat (limited to 'arch/arm/mach-pxa/colibri-pxa320.c')
-rw-r--r-- | arch/arm/mach-pxa/colibri-pxa320.c | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/colibri-pxa320.c b/arch/arm/mach-pxa/colibri-pxa320.c index a18d37b3c5e6..ae835fad7d10 100644 --- a/arch/arm/mach-pxa/colibri-pxa320.c +++ b/arch/arm/mach-pxa/colibri-pxa320.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <mach/colibri.h> | 27 | #include <mach/colibri.h> |
28 | #include <mach/pxafb.h> | 28 | #include <mach/pxafb.h> |
29 | #include <mach/ohci.h> | 29 | #include <mach/ohci.h> |
30 | #include <mach/audio.h> | ||
30 | 31 | ||
31 | #include "generic.h" | 32 | #include "generic.h" |
32 | #include "devices.h" | 33 | #include "devices.h" |
@@ -145,7 +146,8 @@ static void __init colibri_pxa320_init_lcd(void) | |||
145 | static inline void colibri_pxa320_init_lcd(void) {} | 146 | static inline void colibri_pxa320_init_lcd(void) {} |
146 | #endif | 147 | #endif |
147 | 148 | ||
148 | #if defined(SND_AC97_CODEC) || defined(SND_AC97_CODEC_MODULE) | 149 | #if defined(CONFIG_SND_AC97_CODEC) || \ |
150 | defined(CONFIG_SND_AC97_CODEC_MODULE) | ||
149 | static mfp_cfg_t colibri_pxa320_ac97_pin_config[] __initdata = { | 151 | static mfp_cfg_t colibri_pxa320_ac97_pin_config[] __initdata = { |
150 | GPIO34_AC97_SYSCLK, | 152 | GPIO34_AC97_SYSCLK, |
151 | GPIO35_AC97_SDATA_IN_0, | 153 | GPIO35_AC97_SDATA_IN_0, |
@@ -164,15 +166,52 @@ static inline void __init colibri_pxa320_init_ac97(void) | |||
164 | static inline void colibri_pxa320_init_ac97(void) {} | 166 | static inline void colibri_pxa320_init_ac97(void) {} |
165 | #endif | 167 | #endif |
166 | 168 | ||
169 | /* | ||
170 | * The following configuration is verified to work with the Toradex Orchid | ||
171 | * carrier board | ||
172 | */ | ||
173 | static mfp_cfg_t colibri_pxa320_uart_pin_config[] __initdata = { | ||
174 | /* UART 1 configuration (may be set by bootloader) */ | ||
175 | GPIO99_UART1_CTS, | ||
176 | GPIO104_UART1_RTS, | ||
177 | GPIO97_UART1_RXD, | ||
178 | GPIO98_UART1_TXD, | ||
179 | GPIO101_UART1_DTR, | ||
180 | GPIO103_UART1_DSR, | ||
181 | GPIO100_UART1_DCD, | ||
182 | GPIO102_UART1_RI, | ||
183 | |||
184 | /* UART 2 configuration */ | ||
185 | GPIO109_UART2_CTS, | ||
186 | GPIO112_UART2_RTS, | ||
187 | GPIO110_UART2_RXD, | ||
188 | GPIO111_UART2_TXD, | ||
189 | |||
190 | /* UART 3 configuration */ | ||
191 | GPIO30_UART3_RXD, | ||
192 | GPIO31_UART3_TXD, | ||
193 | }; | ||
194 | |||
195 | static void __init colibri_pxa320_init_uart(void) | ||
196 | { | ||
197 | pxa3xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa320_uart_pin_config)); | ||
198 | } | ||
199 | |||
167 | void __init colibri_pxa320_init(void) | 200 | void __init colibri_pxa320_init(void) |
168 | { | 201 | { |
202 | pxa_set_ffuart_info(NULL); | ||
203 | pxa_set_btuart_info(NULL); | ||
204 | pxa_set_stuart_info(NULL); | ||
205 | |||
169 | colibri_pxa320_init_eth(); | 206 | colibri_pxa320_init_eth(); |
170 | colibri_pxa320_init_ohci(); | 207 | colibri_pxa320_init_ohci(); |
208 | colibri_pxa3xx_init_nand(); | ||
171 | colibri_pxa320_init_lcd(); | 209 | colibri_pxa320_init_lcd(); |
172 | colibri_pxa3xx_init_lcd(mfp_to_gpio(GPIO49_GPIO)); | 210 | colibri_pxa3xx_init_lcd(mfp_to_gpio(GPIO49_GPIO)); |
173 | colibri_pxa320_init_ac97(); | 211 | colibri_pxa320_init_ac97(); |
174 | colibri_pxa3xx_init_mmc(ARRAY_AND_SIZE(colibri_pxa320_mmc_pin_config), | 212 | colibri_pxa3xx_init_mmc(ARRAY_AND_SIZE(colibri_pxa320_mmc_pin_config), |
175 | mfp_to_gpio(MFP_PIN_GPIO28)); | 213 | mfp_to_gpio(MFP_PIN_GPIO28)); |
214 | colibri_pxa320_init_uart(); | ||
176 | } | 215 | } |
177 | 216 | ||
178 | MACHINE_START(COLIBRI320, "Toradex Colibri PXA320") | 217 | MACHINE_START(COLIBRI320, "Toradex Colibri PXA320") |