1 #include <linux/config.h>
15 #define ROM_OFFSET 0x10C00000
16 #define STACK_GAURD 0x10
22 movew #0x2700, %sr /* Exceptions off! */
25 /* Init chip registers. uCsimm specific */
26 moveb #0x00, 0xfffffb0b /* Watchdog off */
27 moveb #0x10, 0xfffff000 /* SCR */
29 movew #0x2400, 0xfffff200 /* PLLCR */
30 movew #0x0123, 0xfffff202 /* PLLFSR */
32 moveb #0x00, 0xfffff40b /* enable chip select */
33 moveb #0x00, 0xfffff423 /* enable /DWE */
34 moveb #0x08, 0xfffffd0d /* disable hardmap */
35 moveb #0x07, 0xfffffd0e /* level 7 interrupt clear */
37 movew #0x8600, 0xfffff100 /* FLASH at 0x10c00000 */
38 movew #0x018b, 0xfffff110 /* 2Meg, enable, 0ws */
40 movew #0x8f00, 0xfffffc00 /* DRAM configuration */
41 movew #0x9667, 0xfffffc02 /* DRAM control */
42 movew #0x0000, 0xfffff106 /* DRAM at 0x00000000 */
43 movew #0x068f, 0xfffff116 /* 8Meg, enable, 0ws */
45 moveb #0x40, 0xfffff300 /* IVR */
46 movel #0x007FFFFF, %d0 /* IMR */
53 moveb #0x08, 0xfffff907 /* Ignore CTS */
54 movew #0x010b, 0xfffff902 /* BAUD to 9600 */
55 movew #0xe100, 0xfffff900 /* enable */
58 movew #16384, %d0 /* PLL settle wait loop */
63 moveq #70, %d7 /* 'F' */
64 moveb %d7,0xfffff907 /* No absolute addresses */
71 #ifdef CONFIG_RELOCATE
73 moveal #__rom_start, %a0
77 /* Copy %a0 to %a1 until %a1 == %a2 */
85 moveq #74, %d7 /* 'J' */
86 moveb %d7,0xfffff907 /* No absolute addresses */
92 /* jump into the RAM copy */
96 #endif /* CONFIG_RELOCATE */
99 moveq #82, %d7 /* 'R' */
100 moveb %d7,0xfffff907 /* No absolute addresses */
102 movew 0xfffff906, %d7
106 moveal #0x007ffff0, %ssp
110 /* Copy 0 to %a0 until %a0 >= %a1 */
117 moveq #67, %d7 /* 'C' */
127 moveq #70, %d7 /* 'F' */
146 movew 0xfffff906, %d7
155 * Set up the usable of RAM stuff. Size of RAM is determined then
156 * an initial stack set up at the end.