2 * linux/arch/arm/mach-footbridge/arch.c
4 * Architecture specific fixups. This is where any
5 * parameters in the params struct are fixed up, or
6 * any additional architecture specific information
7 * is pulled from the params struct.
9 #include <linux/config.h>
10 #include <linux/module.h>
11 #include <linux/tty.h>
12 #include <linux/delay.h>
14 #include <linux/init.h>
16 #include <asm/hardware/dec21285.h>
18 #include <asm/setup.h>
19 #include <asm/mach-types.h>
21 #include <asm/mach/arch.h>
23 extern void footbridge_map_io(void);
24 extern void footbridge_init_irq(void);
26 unsigned int mem_fclk_21285 = 50000000;
28 EXPORT_SYMBOL(mem_fclk_21285);
30 static int __init parse_tag_memclk(const struct tag *tag)
32 mem_fclk_21285 = tag->u.memclk.fmemclk;
36 __tagtable(ATAG_MEMCLK, parse_tag_memclk);
38 #ifdef CONFIG_ARCH_EBSA285
39 MACHINE_START(EBSA285, "EBSA285")
40 MAINTAINER("Russell King")
41 BOOT_MEM(0x00000000, DC21285_ARMCSR_BASE, 0xfe000000)
42 BOOT_PARAMS(0x00000100)
43 VIDEO(0x000a0000, 0x000bffff)
44 MAPIO(footbridge_map_io)
45 INITIRQ(footbridge_init_irq)
49 #ifdef CONFIG_ARCH_NETWINDER
51 * Older NeTTroms either do not provide a parameters
52 * page, or they don't supply correct information in
56 fixup_netwinder(struct machine_desc *desc, struct tag *tags,
57 char **cmdline, struct meminfo *mi)
60 extern int isapnp_disable;
63 * We must not use the kernels ISAPnP code
64 * on the NetWinder - it will reset the settings
65 * for the WaveArtist chip and render it inoperable.
71 MACHINE_START(NETWINDER, "Rebel-NetWinder")
72 MAINTAINER("Russell King/Rebel.com")
73 BOOT_MEM(0x00000000, DC21285_ARMCSR_BASE, 0xfe000000)
74 BOOT_PARAMS(0x00000100)
75 VIDEO(0x000a0000, 0x000bffff)
78 FIXUP(fixup_netwinder)
79 MAPIO(footbridge_map_io)
80 INITIRQ(footbridge_init_irq)
84 #ifdef CONFIG_ARCH_CATS
86 * CATS uses soft-reboot by default, since
87 * hard reboots fail on early boards.
90 fixup_cats(struct machine_desc *desc, struct tag *tags,
91 char **cmdline, struct meminfo *mi)
93 ORIG_VIDEO_LINES = 25;
94 ORIG_VIDEO_POINTS = 16;
98 MACHINE_START(CATS, "Chalice-CATS")
99 MAINTAINER("Philip Blundell")
100 BOOT_MEM(0x00000000, DC21285_ARMCSR_BASE, 0xfe000000)
101 BOOT_PARAMS(0x00000100)
104 MAPIO(footbridge_map_io)
105 INITIRQ(footbridge_init_irq)
109 #ifdef CONFIG_ARCH_CO285
112 fixup_coebsa285(struct machine_desc *desc, struct tag *tags,
113 char **cmdline, struct meminfo *mi)
115 extern unsigned long boot_memory_end;
116 extern char boot_command_line[];
119 mi->bank[0].start = PHYS_OFFSET;
120 mi->bank[0].size = boot_memory_end;
121 mi->bank[0].node = 0;
123 *cmdline = boot_command_line;
126 MACHINE_START(CO285, "co-EBSA285")
127 MAINTAINER("Mark van Doesburg")
128 BOOT_MEM(0x00000000, DC21285_ARMCSR_BASE, 0x7cf00000)
129 FIXUP(fixup_coebsa285)
130 MAPIO(footbridge_map_io)
131 INITIRQ(footbridge_init_irq)
135 #ifdef CONFIG_ARCH_PERSONAL_SERVER
136 MACHINE_START(PERSONAL_SERVER, "Compaq-PersonalServer")
137 MAINTAINER("Jamey Hicks / George France")
138 BOOT_MEM(0x00000000, DC21285_ARMCSR_BASE, 0xfe000000)
139 BOOT_PARAMS(0x00000100)
140 MAPIO(footbridge_map_io)
141 INITIRQ(footbridge_init_irq)