2 * Hardware definitions for the Toshiba eseries PDAs
4 * Copyright (c) 2003 Ian Molton <spyro@f2s.com>
6 * This file is licensed under
7 * the terms of the GNU General Public License version 2. This program
8 * is licensed "as is" without any warranty of any kind, whether express
13 #include <linux/kernel.h>
14 #include <linux/init.h>
16 #include <asm/setup.h>
17 #include <asm/mach/arch.h>
18 #include <asm/mach-types.h>
20 #include <mach/mfp-pxa25x.h>
21 #include <mach/hardware.h>
25 static unsigned long e740_pin_config
[] __initdata
= {
27 GPIO15_nCS_1
, /* CS1 - Flash */
28 GPIO79_nCS_3
, /* CS3 - IMAGEON */
29 GPIO80_nCS_4
, /* CS4 - TMIO */
38 GPIO45_GPIO
, /* Used by TMIO for #SUSPEND */
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 */
61 GPIO0_GPIO
| WAKEUP_ON_EDGE_RISE
,
64 static unsigned long e400_pin_config
[] __initdata
= {
66 GPIO15_nCS_1
, /* CS1 - Flash */
67 GPIO80_nCS_4
, /* CS4 - TMIO */
76 GPIO45_GPIO
, /* Used by TMIO for #SUSPEND */
79 GPIO0_GPIO
| WAKEUP_ON_EDGE_RISE
,
82 /* Only e800 has 128MB RAM */
83 static void __init
eseries_fixup(struct machine_desc
*desc
,
84 struct tag
*tags
, char **cmdline
, struct meminfo
*mi
)
87 mi
->bank
[0].start
= 0xa0000000;
89 if (machine_is_e800())
90 mi
->bank
[0].size
= (128*1024*1024);
92 mi
->bank
[0].size
= (64*1024*1024);
95 static void __init
e740_init(void)
97 pxa2xx_mfp_config(ARRAY_AND_SIZE(e740_pin_config
));
100 static void __init
e400_init(void)
102 pxa2xx_mfp_config(ARRAY_AND_SIZE(e400_pin_config
));
105 /* e-series machine definitions */
107 #ifdef CONFIG_MACH_E330
108 MACHINE_START(E330
, "Toshiba e330")
109 /* Maintainer: Ian Molton (spyro@f2s.com) */
110 .phys_io
= 0x40000000,
111 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
112 .boot_params
= 0xa0000100,
113 .map_io
= pxa_map_io
,
114 .init_irq
= pxa25x_init_irq
,
115 .fixup
= eseries_fixup
,
120 #ifdef CONFIG_MACH_E350
121 MACHINE_START(E350
, "Toshiba e350")
122 /* Maintainer: Ian Molton (spyro@f2s.com) */
123 .phys_io
= 0x40000000,
124 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
125 .boot_params
= 0xa0000100,
126 .map_io
= pxa_map_io
,
127 .init_irq
= pxa25x_init_irq
,
128 .fixup
= eseries_fixup
,
133 #ifdef CONFIG_MACH_E740
134 MACHINE_START(E740
, "Toshiba e740")
135 /* Maintainer: Ian Molton (spyro@f2s.com) */
136 .phys_io
= 0x40000000,
137 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
138 .boot_params
= 0xa0000100,
139 .map_io
= pxa_map_io
,
140 .init_irq
= pxa25x_init_irq
,
141 .fixup
= eseries_fixup
,
142 .init_machine
= e740_init
,
147 #ifdef CONFIG_MACH_E750
148 MACHINE_START(E750
, "Toshiba e750")
149 /* Maintainer: Ian Molton (spyro@f2s.com) */
150 .phys_io
= 0x40000000,
151 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
152 .boot_params
= 0xa0000100,
153 .map_io
= pxa_map_io
,
154 .init_irq
= pxa25x_init_irq
,
155 .fixup
= eseries_fixup
,
160 #ifdef CONFIG_MACH_E400
161 MACHINE_START(E400
, "Toshiba e400")
162 /* Maintainer: Ian Molton (spyro@f2s.com) */
163 .phys_io
= 0x40000000,
164 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
165 .boot_params
= 0xa0000100,
166 .map_io
= pxa_map_io
,
167 .init_irq
= pxa25x_init_irq
,
168 .fixup
= eseries_fixup
,
169 .init_machine
= e400_init
,
174 #ifdef CONFIG_MACH_E800
175 MACHINE_START(E800
, "Toshiba e800")
176 /* Maintainer: Ian Molton (spyro@f2s.com) */
177 .phys_io
= 0x40000000,
178 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
179 .boot_params
= 0xa0000100,
180 .map_io
= pxa_map_io
,
181 .init_irq
= pxa25x_init_irq
,
182 .fixup
= eseries_fixup
,