2 * linux/arch/h8300/platform/h8s/edosk2674/crt0_rom.S
4 * Yoshinori Sato <ysato@users.sourceforge.jp>
6 * Platform depend startup
7 * Target Archtecture: EDOSK-2674
13 #include <linux/config.h>
14 #include <asm/linkage.h>
15 #include <asm/regs267x.h>
17 .global SYMBOL_NAME(_start)
18 .global SYMBOL_NAME(_command_line)
19 .global SYMBOL_NAME(_platform_gpio_table)
20 .global SYMBOL_NAME(_target_name)
27 SYMBOL_NAME_LABEL(_start)
32 /* Peripheral Setup */
45 #define SDRAM_SMR 0x400040
57 ;special thanks to Arizona Cooperative Power
60 mov.l #__begin_data,er5
84 /* copy kernel commandline */
85 mov.l #COMMAND_START,er5
86 mov.l #SYMBOL_NAME(_command_line),er6
90 /* linux kernel start */
91 ldc #0x90,ccr /* running kernel */
92 mov.l #SYMBOL_NAME(init_thread_union),sp
101 /* I/O port assign information */
102 __platform_gpio_table:
103 mov.l #gpio_table,er0
106 #define INIT_REGS_DATA(REGS,DATA) \
107 .word ((REGS) & 0xffff),DATA
110 INIT_REGS_DATA(ASTCR,0xff)
111 INIT_REGS_DATA(RDNCR,0x00)
112 INIT_REGS_DATA(ABWCR,0x80)
113 INIT_REGS_DATA(WTCRAH,0x27)
114 INIT_REGS_DATA(WTCRAL,0x77)
115 INIT_REGS_DATA(WTCRBH,0x71)
116 INIT_REGS_DATA(WTCRBL,0x22)
117 INIT_REGS_DATA(CSACRH,0x80)
118 INIT_REGS_DATA(CSACRL,0x80)
119 INIT_REGS_DATA(BROMCRH,0xa0)
120 INIT_REGS_DATA(BROMCRL,0xa0)
121 INIT_REGS_DATA(P3DDR,0x3a)
122 INIT_REGS_DATA(P3ODR,0x06)
123 INIT_REGS_DATA(PADDR,0xff)
124 INIT_REGS_DATA(PFDDR,0xfe)
125 INIT_REGS_DATA(PGDDR,0x0f)
126 INIT_REGS_DATA(PHDDR,0x0f)
127 INIT_REGS_DATA(PFCR0,0xff)
128 INIT_REGS_DATA(PFCR2,0x0d)
129 INIT_REGS_DATA(ITSR, 0x00)
130 INIT_REGS_DATA(ITSR+1,0x3f)
131 INIT_REGS_DATA(INTCR,0x20)
179 /* interrupt vector */
180 .section .vectors,"ax"
185 .long _interrupt_redirect_table+vector*4