aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/colibri-pxa320.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-pxa/colibri-pxa320.c')
-rw-r--r--arch/arm/mach-pxa/colibri-pxa320.c41
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)
145static inline void colibri_pxa320_init_lcd(void) {} 146static 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)
149static mfp_cfg_t colibri_pxa320_ac97_pin_config[] __initdata = { 151static 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)
164static inline void colibri_pxa320_init_ac97(void) {} 166static 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 */
173static 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
195static void __init colibri_pxa320_init_uart(void)
196{
197 pxa3xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa320_uart_pin_config));
198}
199
167void __init colibri_pxa320_init(void) 200void __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
178MACHINE_START(COLIBRI320, "Toradex Colibri PXA320") 217MACHINE_START(COLIBRI320, "Toradex Colibri PXA320")