diff options
Diffstat (limited to 'arch/arm/mach-pxa/eseries.c')
-rw-r--r-- | arch/arm/mach-pxa/eseries.c | 50 |
1 files changed, 49 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c index 112f72926d26..d27009992510 100644 --- a/arch/arm/mach-pxa/eseries.c +++ b/arch/arm/mach-pxa/eseries.c | |||
@@ -10,15 +10,57 @@ | |||
10 | * | 10 | * |
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/kernel.h> | ||
13 | #include <linux/init.h> | 14 | #include <linux/init.h> |
14 | 15 | ||
15 | #include <asm/setup.h> | 16 | #include <asm/setup.h> |
16 | #include <asm/mach/arch.h> | 17 | #include <asm/mach/arch.h> |
17 | #include <mach/hardware.h> | ||
18 | #include <asm/mach-types.h> | 18 | #include <asm/mach-types.h> |
19 | 19 | ||
20 | #include <mach/mfp-pxa25x.h> | ||
21 | #include <mach/hardware.h> | ||
22 | |||
20 | #include "generic.h" | 23 | #include "generic.h" |
21 | 24 | ||
25 | static unsigned long e740_pin_config[] __initdata = { | ||
26 | /* Chip selects */ | ||
27 | GPIO15_nCS_1, /* CS1 - Flash */ | ||
28 | GPIO79_nCS_3, /* CS3 - IMAGEON */ | ||
29 | GPIO80_nCS_4, /* CS4 - TMIO */ | ||
30 | |||
31 | /* Clocks */ | ||
32 | GPIO12_32KHz, | ||
33 | |||
34 | /* BTUART */ | ||
35 | GPIO42_BTUART_RXD, | ||
36 | GPIO43_BTUART_TXD, | ||
37 | GPIO44_BTUART_CTS, | ||
38 | GPIO45_GPIO, /* Used by TMIO for #SUSPEND */ | ||
39 | |||
40 | /* PC Card */ | ||
41 | GPIO8_GPIO, /* CD0 */ | ||
42 | GPIO44_GPIO, /* CD1 */ | ||
43 | GPIO11_GPIO, /* IRQ0 */ | ||
44 | GPIO6_GPIO, /* IRQ1 */ | ||
45 | GPIO27_GPIO, /* RST0 */ | ||
46 | GPIO24_GPIO, /* RST1 */ | ||
47 | GPIO20_GPIO, /* PWR0 */ | ||
48 | GPIO23_GPIO, /* PWR1 */ | ||
49 | GPIO48_nPOE, | ||
50 | GPIO49_nPWE, | ||
51 | GPIO50_nPIOR, | ||
52 | GPIO51_nPIOW, | ||
53 | GPIO52_nPCE_1, | ||
54 | GPIO53_nPCE_2, | ||
55 | GPIO54_nPSKTSEL, | ||
56 | GPIO55_nPREG, | ||
57 | GPIO56_nPWAIT, | ||
58 | GPIO57_nIOIS16, | ||
59 | |||
60 | /* wakeup */ | ||
61 | GPIO0_GPIO | WAKEUP_ON_EDGE_RISE, | ||
62 | }; | ||
63 | |||
22 | /* Only e800 has 128MB RAM */ | 64 | /* Only e800 has 128MB RAM */ |
23 | static void __init eseries_fixup(struct machine_desc *desc, | 65 | static void __init eseries_fixup(struct machine_desc *desc, |
24 | struct tag *tags, char **cmdline, struct meminfo *mi) | 66 | struct tag *tags, char **cmdline, struct meminfo *mi) |
@@ -32,6 +74,11 @@ static void __init eseries_fixup(struct machine_desc *desc, | |||
32 | mi->bank[0].size = (64*1024*1024); | 74 | mi->bank[0].size = (64*1024*1024); |
33 | } | 75 | } |
34 | 76 | ||
77 | static void __init e740_init(void) | ||
78 | { | ||
79 | pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config)); | ||
80 | } | ||
81 | |||
35 | /* e-series machine definitions */ | 82 | /* e-series machine definitions */ |
36 | 83 | ||
37 | #ifdef CONFIG_MACH_E330 | 84 | #ifdef CONFIG_MACH_E330 |
@@ -69,6 +116,7 @@ MACHINE_START(E740, "Toshiba e740") | |||
69 | .map_io = pxa_map_io, | 116 | .map_io = pxa_map_io, |
70 | .init_irq = pxa25x_init_irq, | 117 | .init_irq = pxa25x_init_irq, |
71 | .fixup = eseries_fixup, | 118 | .fixup = eseries_fixup, |
119 | .init_machine = e740_init, | ||
72 | .timer = &pxa_timer, | 120 | .timer = &pxa_timer, |
73 | MACHINE_END | 121 | MACHINE_END |
74 | #endif | 122 | #endif |