aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/eseries.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-pxa/eseries.c')
-rw-r--r--arch/arm/mach-pxa/eseries.c50
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
25static 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 */
23static void __init eseries_fixup(struct machine_desc *desc, 65static 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
77static 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,
73MACHINE_END 121MACHINE_END
74#endif 122#endif