patch-2.4.25 linux-2.4.25/arch/mips/au1000/common/setup.c

Next file: linux-2.4.25/arch/mips/au1000/common/sleeper.S
Previous file: linux-2.4.25/arch/mips/au1000/common/reset.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.24/arch/mips/au1000/common/setup.c linux-2.4.25/arch/mips/au1000/common/setup.c
@@ -44,11 +44,7 @@
 #include <asm/reboot.h>
 #include <asm/pgtable.h>
 #include <asm/au1000.h>
-
-#if defined(CONFIG_AU1X00_SERIAL_CONSOLE)
-extern void console_setup(char *, int *);
-char serial_console[20];
-#endif
+#include <asm/time.h>
 
 #ifdef CONFIG_BLK_DEV_INITRD
 extern unsigned long initrd_start, initrd_end;
@@ -72,6 +68,8 @@
 extern phys_t (*fixup_bigphys_addr)(phys_t phys_addr, phys_t size);
 static phys_t au1500_fixup_bigphys_addr(phys_t phys_addr, phys_t size);
 #endif
+extern void au1xxx_time_init(void);
+extern void au1xxx_timer_setup(void);
 
 void __init au1x00_setup(void)
 {
@@ -96,14 +94,22 @@
         argptr = prom_getcmdline();
         /* default panel */
         //strcat(argptr, " video=au1100fb:panel:Sharp_320x240_16");
+#ifdef CONFIG_MIPS_HYDROGEN3
+        strcat(argptr, " video=au1100fb:panel:Hydrogen_3_NEC_panel_320x240,nohwcursor");
+#else
         strcat(argptr, " video=au1100fb:panel:s10,nohwcursor");
+#endif
     }
 #endif
 
 #ifdef CONFIG_FB_E1356
 	if ((argptr = strstr(argptr, "video=")) == NULL) {
 		argptr = prom_getcmdline();
+#ifdef CONFIG_MIPS_PB1000
+		strcat(argptr, " video=e1356fb:system:pb1000,mmunalign:1");
+#else
 		strcat(argptr, " video=e1356fb:system:pb1500");
+#endif
 	}
 #endif
 
@@ -126,6 +132,9 @@
 	fixup_bigphys_addr = au1500_fixup_bigphys_addr;
 #endif
 
+	board_time_init = au1xxx_time_init;
+	board_timer_setup = au1xxx_timer_setup;
+
 	// IO/MEM resources. 
 	set_io_port_base(0);
 	ioport_resource.start = IOPORT_RESOURCE_START;
@@ -174,7 +183,10 @@
 #endif
 
 #ifdef CONFIG_BLK_DEV_IDE
-	ide_ops = &std_ide_ops;
+	/* Board setup takes precedence for unique devices.
+	*/
+	if (ide_ops == NULL)
+		ide_ops = &std_ide_ops;
 #endif
 
 	while (au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_E0S);
@@ -184,7 +196,7 @@
 	au_writel(0, SYS_TOYTRIM);
 }
 
-#if defined(CONFIG_64BIT_PHYS_ADDR) && defined(CONFIG_SOC_AU1500)
+#if defined(CONFIG_64BIT_PHYS_ADDR) && (defined(CONFIG_SOC_AU1500) || defined(CONFIG_SOC_AU1550))
 /* This routine should be valid for all Au1500 based boards */
 static phys_t au1500_fixup_bigphys_addr(phys_t phys_addr, phys_t size)
 {

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)