diff options
Diffstat (limited to 'arch/arm/mach-pxa/colibri-pxa270.c')
-rw-r--r-- | arch/arm/mach-pxa/colibri-pxa270.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/colibri-pxa270.c b/arch/arm/mach-pxa/colibri-pxa270.c index 22105d63942c..99d511cf0a82 100644 --- a/arch/arm/mach-pxa/colibri-pxa270.c +++ b/arch/arm/mach-pxa/colibri-pxa270.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/mtd/partitions.h> | 22 | #include <linux/mtd/partitions.h> |
23 | #include <linux/mtd/physmap.h> | 23 | #include <linux/mtd/physmap.h> |
24 | #include <linux/gpio.h> | 24 | #include <linux/gpio.h> |
25 | #include <linux/ucb1400.h> | ||
25 | #include <asm/mach-types.h> | 26 | #include <asm/mach-types.h> |
26 | #include <mach/hardware.h> | 27 | #include <mach/hardware.h> |
27 | #include <asm/irq.h> | 28 | #include <asm/irq.h> |
@@ -31,6 +32,7 @@ | |||
31 | #include <asm/mach/irq.h> | 32 | #include <asm/mach/irq.h> |
32 | #include <asm/mach/flash.h> | 33 | #include <asm/mach/flash.h> |
33 | 34 | ||
35 | #include <mach/audio.h> | ||
34 | #include <mach/pxa27x.h> | 36 | #include <mach/pxa27x.h> |
35 | #include <mach/colibri.h> | 37 | #include <mach/colibri.h> |
36 | #include <mach/mmc.h> | 38 | #include <mach/mmc.h> |
@@ -66,6 +68,15 @@ static mfp_cfg_t colibri_pxa270_pin_config[] __initdata = { | |||
66 | GPIO89_USBH1_PEN, | 68 | GPIO89_USBH1_PEN, |
67 | GPIO119_USBH2_PWR, | 69 | GPIO119_USBH2_PWR, |
68 | GPIO120_USBH2_PEN, | 70 | GPIO120_USBH2_PEN, |
71 | |||
72 | /* AC97 */ | ||
73 | GPIO28_AC97_BITCLK, | ||
74 | GPIO29_AC97_SDATA_IN_0, | ||
75 | GPIO30_AC97_SDATA_OUT, | ||
76 | GPIO31_AC97_SYNC, | ||
77 | GPIO95_AC97_nRESET, | ||
78 | GPIO98_AC97_SYSCLK, | ||
79 | GPIO113_GPIO, /* Touchscreen IRQ */ | ||
69 | }; | 80 | }; |
70 | 81 | ||
71 | /****************************************************************************** | 82 | /****************************************************************************** |
@@ -205,6 +216,36 @@ static void __init colibri_pxa270_uhc_init(void) | |||
205 | static inline void colibri_pxa270_uhc_init(void) {} | 216 | static inline void colibri_pxa270_uhc_init(void) {} |
206 | #endif | 217 | #endif |
207 | 218 | ||
219 | /****************************************************************************** | ||
220 | * Audio and Touchscreen | ||
221 | ******************************************************************************/ | ||
222 | #if defined(CONFIG_TOUCHSCREEN_UCB1400) || \ | ||
223 | defined(CONFIG_TOUCHSCREEN_UCB1400_MODULE) | ||
224 | static pxa2xx_audio_ops_t colibri_pxa270_ac97_pdata = { | ||
225 | .reset_gpio = 95, | ||
226 | }; | ||
227 | |||
228 | static struct ucb1400_pdata colibri_pxa270_ucb1400_pdata = { | ||
229 | .irq = gpio_to_irq(GPIO113_COLIBRI_PXA270_TS_IRQ), | ||
230 | }; | ||
231 | |||
232 | static struct platform_device colibri_pxa270_ucb1400_device = { | ||
233 | .name = "ucb1400_core", | ||
234 | .id = -1, | ||
235 | .dev = { | ||
236 | .platform_data = &colibri_pxa270_ucb1400_pdata, | ||
237 | }, | ||
238 | }; | ||
239 | |||
240 | static void __init colibri_pxa270_tsc_init(void) | ||
241 | { | ||
242 | pxa_set_ac97_info(&colibri_pxa270_ac97_pdata); | ||
243 | platform_device_register(&colibri_pxa270_ucb1400_device); | ||
244 | } | ||
245 | #else | ||
246 | static inline void colibri_pxa270_tsc_init(void) {} | ||
247 | #endif | ||
248 | |||
208 | static void __init colibri_pxa270_init(void) | 249 | static void __init colibri_pxa270_init(void) |
209 | { | 250 | { |
210 | pxa2xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa270_pin_config)); | 251 | pxa2xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa270_pin_config)); |
@@ -216,6 +257,7 @@ static void __init colibri_pxa270_init(void) | |||
216 | colibri_pxa270_eth_init(); | 257 | colibri_pxa270_eth_init(); |
217 | colibri_pxa270_mmc_init(); | 258 | colibri_pxa270_mmc_init(); |
218 | colibri_pxa270_uhc_init(); | 259 | colibri_pxa270_uhc_init(); |
260 | colibri_pxa270_tsc_init(); | ||
219 | } | 261 | } |
220 | 262 | ||
221 | MACHINE_START(COLIBRI, "Toradex Colibri PXA270") | 263 | MACHINE_START(COLIBRI, "Toradex Colibri PXA270") |