2 * setup.c - boot time setup code
5 #include <linux/init.h>
7 #include <linux/sched.h>
9 #include <linux/ioport.h>
11 #include <asm/bootinfo.h>
12 #include <asm/mipsregs.h>
13 #include <asm/pgtable.h>
14 #include <asm/reboot.h>
15 #include <asm/addrspace.h> /* for KSEG1ADDR() */
18 #include <asm/rc32434/rc32434.h>
19 #include <asm/rc32434/pci.h>
22 extern void rc32434_time_init(void);
23 extern int __init
rc32434_pcibridge_init(void);
26 #define epldMask ((volatile unsigned char *)0xB900000d)
28 static void rb_machine_restart(char *command
)
30 /* just jump to the reset vector */
31 * (volatile unsigned *) KSEG1ADDR(0x18008000) = 0x80000001;
32 ((void (*)(void))KSEG1ADDR(0x1FC00000u
))();
35 static void rb_machine_halt(void)
40 #ifdef CONFIG_CPU_HAS_WB
41 void (*__wbflush
) (void);
43 static void rb_write_buffer_flush(void)
46 ("sync\n\t" "nop\n\t" "loop: bc0f loop\n\t" "nop\n\t");
50 void __init
plat_mem_setup(void)
52 unsigned int pciCntlVal
;
54 board_time_init
= rc32434_time_init
;
56 #ifdef CONFIG_CPU_HAS_WB
57 __wbflush
= rb_write_buffer_flush
;
59 _machine_restart
= rb_machine_restart
;
60 _machine_halt
= rb_machine_halt
;
61 /*_machine_power_off = rb_machine_power_halt;*/
62 pm_power_off
= rb_machine_halt
;
64 set_io_port_base(KSEG1
);
66 pciCntlVal
=rc32434_pci
->pcic
;
67 pciCntlVal
&= 0xFFFFFF7;
68 rc32434_pci
->pcic
= pciCntlVal
;
71 /* Enable PCI interrupts in EPLD Mask register */
73 *(epldMask
+ 1) = 0x0;
78 const char *get_system_type(void)
This page took 0.050233 seconds and 5 git commands to generate.