2 * Hardware definitions for the Toshiba eseries PDAs
4 * Copyright (c) Ian Molton 2003
8 #include <linux/kernel.h>
9 #include <linux/init.h>
10 #include <linux/device.h>
12 #include <asm/setup.h>
13 #include <asm/memory.h>
14 #include <asm/mach/arch.h>
15 #include <asm/mach-types.h>
16 #include <asm/arch/hardware.h>
17 #include <asm/mach/map.h>
18 #include <asm/domain.h>
19 #include <asm/arch/pxa-dmabounce.h>
21 #include "../generic.h"
23 #include <asm/arch/eseries-irq.h>
27 static void __init
eseries_init_irq( void )
29 /* Initialize standard IRQs */
31 // if(machine_is_e800())
32 // angelx_init_irq(PXA_CS5_PHYS);
36 /* A debug mapping giving access to the screen RAM */
37 static struct map_desc eseries_io_desc
[] __initdata
= {
38 /* virtual physical length domain */
39 { 0xf0000000, 0x0c100000, 0x02000000, DOMAIN_IO
}
44 static int eseries_dma_needs_bounce(struct device
*dev
, dma_addr_t addr
, size_t size
) {
45 return (addr
>= 0x10000000 + 0x10000);
48 static void __init
eseries_map_io(void)
50 /* Initialize standard IO maps */
54 iotable_init(eseries_io_desc
, ARRAY_SIZE(eseries_io_desc
));
57 pxa_set_dma_needs_bounce(eseries_dma_needs_bounce
);
60 static void __init
eseries_fixup(struct machine_desc
*desc
,
61 struct tag
*tags
, char **cmdline
, struct meminfo
*mi
)
64 mi
->bank
[0].start
= 0xa0000000;
66 if (machine_is_e800())
67 mi
->bank
[0].size
= (128*1024*1024);
69 mi
->bank
[0].size
= (64*1024*1024);
72 #ifdef CONFIG_MACH_E330
73 MACHINE_START(E330
, "Toshiba e330")
74 /* Maintainer: Ian Molton (spyro@f2s.com) */
75 .phys_io
= 0x40000000,
76 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
77 .boot_params
= 0xa0000100,
78 .map_io
= eseries_map_io
,
79 .init_irq
= eseries_init_irq
,
80 .fixup
= eseries_fixup
,
85 #ifdef CONFIG_MACH_E740
86 MACHINE_START(E740
, "Toshiba e740")
87 /* Maintainer: Ian Molton (spyro@f2s.com) */
88 .phys_io
= 0x40000000,
89 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
90 .boot_params
= 0xa0000100,
91 .map_io
= eseries_map_io
,
92 .init_irq
= eseries_init_irq
,
93 .fixup
= eseries_fixup
,
98 #ifdef CONFIG_MACH_E750
99 MACHINE_START(E750
, "Toshiba e750")
100 /* Maintainer: Ian Molton (spyro@f2s.com) */
101 .phys_io
= 0x40000000,
102 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
103 .boot_params
= 0xa0000100,
104 .map_io
= eseries_map_io
,
105 .init_irq
= eseries_init_irq
,
106 .fixup
= eseries_fixup
,
111 #ifdef CONFIG_MACH_E400
112 MACHINE_START(E400
, "Toshiba e400")
113 /* Maintainer: Ian Molton (spyro@f2s.com) */
114 .phys_io
= 0x40000000,
115 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
116 .boot_params
= 0xa0000100,
117 .map_io
= eseries_map_io
,
118 .init_irq
= eseries_init_irq
,
119 .fixup
= eseries_fixup
,
124 #ifdef CONFIG_MACH_E800
125 MACHINE_START(E800
, "Toshiba e800")
126 /* Maintainer: Ian Molton (spyro@f2s.com) */
127 .phys_io
= 0x40000000,
128 .io_pg_offst
= (io_p2v(0x40000000) >> 18) & 0xfffc,
129 .boot_params
= 0xa0000100,
130 .map_io
= eseries_map_io
,
131 .init_irq
= eseries_init_irq
,
132 .fixup
= eseries_fixup
,