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 <asm/linkage.h>
14 #include <asm/regs267x.h>
16 .global SYMBOL_NAME(_start)
17 .global SYMBOL_NAME(_command_line)
18 .global SYMBOL_NAME(_platform_gpio_table)
19 .global SYMBOL_NAME(_target_name)
26 SYMBOL_NAME_LABEL(_start)
31 /* Peripheral Setup */
44 #define SDRAM_SMR 0x400040
56 ;special thanks to Arizona Cooperative Power
59 mov.l #__begin_data,er5
83 /* copy kernel commandline */
84 mov.l #COMMAND_START,er5
85 mov.l #SYMBOL_NAME(_command_line),er6
89 /* linux kernel start */
90 ldc #0x90,ccr /* running kernel */
91 mov.l #SYMBOL_NAME(init_thread_union),sp
100 /* I/O port assign information */
101 __platform_gpio_table:
102 mov.l #gpio_table,er0
105 #define INIT_REGS_DATA(REGS,DATA) \
106 .word ((REGS) & 0xffff),DATA
109 INIT_REGS_DATA(ASTCR,0xff)
110 INIT_REGS_DATA(RDNCR,0x00)
111 INIT_REGS_DATA(ABWCR,0x80)
112 INIT_REGS_DATA(WTCRAH,0x27)
113 INIT_REGS_DATA(WTCRAL,0x77)
114 INIT_REGS_DATA(WTCRBH,0x71)
115 INIT_REGS_DATA(WTCRBL,0x22)
116 INIT_REGS_DATA(CSACRH,0x80)
117 INIT_REGS_DATA(CSACRL,0x80)
118 INIT_REGS_DATA(BROMCRH,0xa0)
119 INIT_REGS_DATA(BROMCRL,0xa0)
120 INIT_REGS_DATA(P3DDR,0x3a)
121 INIT_REGS_DATA(P3ODR,0x06)
122 INIT_REGS_DATA(PADDR,0xff)
123 INIT_REGS_DATA(PFDDR,0xfe)
124 INIT_REGS_DATA(PGDDR,0x0f)
125 INIT_REGS_DATA(PHDDR,0x0f)
126 INIT_REGS_DATA(PFCR0,0xff)
127 INIT_REGS_DATA(PFCR2,0x0d)
128 INIT_REGS_DATA(ITSR, 0x00)
129 INIT_REGS_DATA(ITSR+1,0x3f)
130 INIT_REGS_DATA(INTCR,0x20)
178 /* interrupt vector */
179 .section .vectors,"ax"
184 .long _interrupt_redirect_table+vector*4