--- zzzz-none-000/linux-2.4.17/arch/mips/ite-boards/generic/it8172_setup.c 2001-09-09 17:43:01.000000000 +0000 +++ sangam-fb-322/linux-2.4.17/arch/mips/ite-boards/generic/it8172_setup.c 2004-11-24 13:22:38.000000000 +0000 @@ -53,7 +53,6 @@ extern struct rtc_ops it8172_rtc_ops; extern struct resource ioport_resource; -extern unsigned long mips_io_port_base; #ifdef CONFIG_BLK_DEV_IDE extern struct ide_ops std_ide_ops; extern struct ide_ops *ide_ops; @@ -70,6 +69,14 @@ extern void it8172_halt(void); extern void it8172_power_off(void); +extern void (*board_time_init)(void); +extern void (*board_timer_setup)(struct irqaction *irq); +extern unsigned long (*rtc_get_time)(void); +extern int (*rtc_set_time)(unsigned long); +extern void it8172_time_init(void); +extern void it8172_timer_setup(struct irqaction *irq); +extern unsigned long it8172_rtc_get_time(void); + #ifdef CONFIG_IT8172_REVC struct { struct resource ram; @@ -116,6 +123,8 @@ { unsigned short dsr; char *argptr; + u32 it_ver; + unsigned long config; argptr = prom_getcmdline(); #ifdef CONFIG_SERIAL_CONSOLE @@ -124,10 +133,18 @@ strcat(argptr, " console=ttyS0,115200"); } #endif + config = read_32bit_cp0_register(CP0_CONFIG); + printk("SysClock frequency multiplier: %d\n", + ((config>>28)&0x7) + 2); clear_cp0_status(ST0_FR); rtc_ops = &it8172_rtc_ops; + board_time_init = it8172_time_init; + board_timer_setup = it8172_timer_setup; + rtc_get_time = it8172_rtc_get_time; + //rtc_set_time = it8172_rtc_set_time; + _machine_restart = it8172_restart; _machine_halt = it8172_halt; _machine_power_off = it8172_power_off; @@ -137,7 +154,7 @@ * * revisit this area. */ - mips_io_port_base = KSEG1; + set_io_port_base(KSEG1); ioport_resource.start = it8172_resources.pci_io.start; ioport_resource.end = it8172_resources.pci_io.end; #ifdef CONFIG_IT8172_REVC