aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/devboards
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/alchemy/devboards')
-rw-r--r--arch/mips/alchemy/devboards/db1x00/board_setup.c28
-rw-r--r--arch/mips/alchemy/devboards/pb1000/board_setup.c10
-rw-r--r--arch/mips/alchemy/devboards/pb1100/board_setup.c27
-rw-r--r--arch/mips/alchemy/devboards/pb1200/board_setup.c24
-rw-r--r--arch/mips/alchemy/devboards/pb1500/board_setup.c18
-rw-r--r--arch/mips/alchemy/devboards/pb1550/board_setup.c12
6 files changed, 108 insertions, 11 deletions
diff --git a/arch/mips/alchemy/devboards/db1x00/board_setup.c b/arch/mips/alchemy/devboards/db1x00/board_setup.c
index 427f799031b..a75ffbf99f2 100644
--- a/arch/mips/alchemy/devboards/db1x00/board_setup.c
+++ b/arch/mips/alchemy/devboards/db1x00/board_setup.c
@@ -32,6 +32,9 @@
32#include <asm/mach-au1x00/au1000.h> 32#include <asm/mach-au1x00/au1000.h>
33#include <asm/mach-db1x00/db1x00.h> 33#include <asm/mach-db1x00/db1x00.h>
34 34
35#include <prom.h>
36
37
35static BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR; 38static BCSR * const bcsr = (BCSR *)BCSR_KSEG1_ADDR;
36 39
37const char *get_system_type(void) 40const char *get_system_type(void)
@@ -52,6 +55,31 @@ void board_reset(void)
52void __init board_setup(void) 55void __init board_setup(void)
53{ 56{
54 u32 pin_func = 0; 57 u32 pin_func = 0;
58 char *argptr;
59
60 argptr = prom_getcmdline();
61#ifdef CONFIG_SERIAL_8250_CONSOLE
62 argptr = strstr(argptr, "console=");
63 if (argptr == NULL) {
64 argptr = prom_getcmdline();
65 strcat(argptr, " console=ttyS0,115200");
66 }
67#endif
68
69#ifdef CONFIG_FB_AU1100
70 argptr = strstr(argptr, "video=");
71 if (argptr == NULL) {
72 argptr = prom_getcmdline();
73 /* default panel */
74 /*strcat(argptr, " video=au1100fb:panel:Sharp_320x240_16");*/
75 }
76#endif
77
78#if defined(CONFIG_SOUND_AU1X00) && !defined(CONFIG_SOC_AU1000)
79 /* au1000 does not support vra, au1500 and au1100 do */
80 strcat(argptr, " au1000_audio=vra");
81 argptr = prom_getcmdline();
82#endif
55 83
56 /* Not valid for Au1550 */ 84 /* Not valid for Au1550 */
57#if defined(CONFIG_IRDA) && \ 85#if defined(CONFIG_IRDA) && \
diff --git a/arch/mips/alchemy/devboards/pb1000/board_setup.c b/arch/mips/alchemy/devboards/pb1000/board_setup.c
index b75e487f53e..889c8fda2ab 100644
--- a/arch/mips/alchemy/devboards/pb1000/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1000/board_setup.c
@@ -28,6 +28,7 @@
28#include <linux/interrupt.h> 28#include <linux/interrupt.h>
29#include <asm/mach-au1x00/au1000.h> 29#include <asm/mach-au1x00/au1000.h>
30#include <asm/mach-pb1x00/pb1000.h> 30#include <asm/mach-pb1x00/pb1000.h>
31#include <prom.h>
31 32
32 33
33struct au1xxx_irqmap __initdata au1xxx_irq_map[] = { 34struct au1xxx_irqmap __initdata au1xxx_irq_map[] = {
@@ -52,6 +53,15 @@ void __init board_setup(void)
52 u32 sys_freqctrl, sys_clksrc; 53 u32 sys_freqctrl, sys_clksrc;
53 u32 prid = read_c0_prid(); 54 u32 prid = read_c0_prid();
54 55
56#ifdef CONFIG_SERIAL_8250_CONSOLE
57 char *argptr = prom_getcmdline();
58 argptr = strstr(argptr, "console=");
59 if (argptr == NULL) {
60 argptr = prom_getcmdline();
61 strcat(argptr, " console=ttyS0,115200");
62 }
63#endif
64
55 /* Set AUX clock to 12 MHz * 8 = 96 MHz */ 65 /* Set AUX clock to 12 MHz * 8 = 96 MHz */
56 au_writel(8, SYS_AUXPLL); 66 au_writel(8, SYS_AUXPLL);
57 au_writel(0, SYS_PINSTATERD); 67 au_writel(0, SYS_PINSTATERD);
diff --git a/arch/mips/alchemy/devboards/pb1100/board_setup.c b/arch/mips/alchemy/devboards/pb1100/board_setup.c
index 9daab7e2922..fbd211e1348 100644
--- a/arch/mips/alchemy/devboards/pb1100/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1100/board_setup.c
@@ -29,6 +29,8 @@
29#include <asm/mach-au1x00/au1000.h> 29#include <asm/mach-au1x00/au1000.h>
30#include <asm/mach-pb1x00/pb1100.h> 30#include <asm/mach-pb1x00/pb1100.h>
31 31
32#include <prom.h>
33
32 34
33struct au1xxx_irqmap __initdata au1xxx_irq_map[] = { 35struct au1xxx_irqmap __initdata au1xxx_irq_map[] = {
34 { AU1000_GPIO_9, INTC_INT_LOW_LEVEL, 0 }, /* PCMCIA Card Fully_Inserted# */ 36 { AU1000_GPIO_9, INTC_INT_LOW_LEVEL, 0 }, /* PCMCIA Card Fully_Inserted# */
@@ -54,6 +56,31 @@ void board_reset(void)
54void __init board_setup(void) 56void __init board_setup(void)
55{ 57{
56 volatile void __iomem *base = (volatile void __iomem *)0xac000000UL; 58 volatile void __iomem *base = (volatile void __iomem *)0xac000000UL;
59 char *argptr;
60
61 argptr = prom_getcmdline();
62#ifdef CONFIG_SERIAL_8250_CONSOLE
63 argptr = strstr(argptr, "console=");
64 if (argptr == NULL) {
65 argptr = prom_getcmdline();
66 strcat(argptr, " console=ttyS0,115200");
67 }
68#endif
69
70#ifdef CONFIG_FB_AU1100
71 argptr = strstr(argptr, "video=");
72 if (argptr == NULL) {
73 argptr = prom_getcmdline();
74 /* default panel */
75 /*strcat(argptr, " video=au1100fb:panel:Sharp_320x240_16");*/
76 }
77#endif
78
79#if defined(CONFIG_SOUND_AU1X00) && !defined(CONFIG_SOC_AU1000)
80 /* au1000 does not support vra, au1500 and au1100 do */
81 strcat(argptr, " au1000_audio=vra");
82 argptr = prom_getcmdline();
83#endif
57 84
58 /* Set AUX clock to 12 MHz * 8 = 96 MHz */ 85 /* Set AUX clock to 12 MHz * 8 = 96 MHz */
59 au_writel(8, SYS_AUXPLL); 86 au_writel(8, SYS_AUXPLL);
diff --git a/arch/mips/alchemy/devboards/pb1200/board_setup.c b/arch/mips/alchemy/devboards/pb1200/board_setup.c
index 8f03dc8fdd2..b5585e46200 100644
--- a/arch/mips/alchemy/devboards/pb1200/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1200/board_setup.c
@@ -46,7 +46,19 @@ void board_reset(void)
46 46
47void __init board_setup(void) 47void __init board_setup(void)
48{ 48{
49 char *argptr = NULL; 49 char *argptr;
50
51 argptr = prom_getcmdline();
52#ifdef CONFIG_SERIAL_8250_CONSOLE
53 argptr = strstr(argptr, "console=");
54 if (argptr == NULL) {
55 argptr = prom_getcmdline();
56 strcat(argptr, " console=ttyS0,115200");
57 }
58#endif
59#ifdef CONFIG_FB_AU1200
60 strcat(argptr, " video=au1200fb:panel:bs");
61#endif
50 62
51#if 0 63#if 0
52 { 64 {
@@ -104,16 +116,6 @@ void __init board_setup(void)
104 } 116 }
105#endif 117#endif
106 118
107#ifdef CONFIG_FB_AU1200
108 argptr = prom_getcmdline();
109#ifdef CONFIG_MIPS_PB1200
110 strcat(argptr, " video=au1200fb:panel:bs");
111#endif
112#ifdef CONFIG_MIPS_DB1200
113 strcat(argptr, " video=au1200fb:panel:bs");
114#endif
115#endif
116
117 /* 119 /*
118 * The Pb1200 development board uses external MUX for PSC0 to 120 * The Pb1200 development board uses external MUX for PSC0 to
119 * support SMB/SPI. bcsr->resets bit 12: 0=SMB 1=SPI 121 * support SMB/SPI. bcsr->resets bit 12: 0=SMB 1=SPI
diff --git a/arch/mips/alchemy/devboards/pb1500/board_setup.c b/arch/mips/alchemy/devboards/pb1500/board_setup.c
index 47173f1e5ae..dcb36a66442 100644
--- a/arch/mips/alchemy/devboards/pb1500/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1500/board_setup.c
@@ -29,6 +29,8 @@
29#include <asm/mach-au1x00/au1000.h> 29#include <asm/mach-au1x00/au1000.h>
30#include <asm/mach-pb1x00/pb1500.h> 30#include <asm/mach-pb1x00/pb1500.h>
31 31
32#include <prom.h>
33
32 34
33char irq_tab_alchemy[][5] __initdata = { 35char irq_tab_alchemy[][5] __initdata = {
34 [12] = { -1, INTA, INTX, INTX, INTX }, /* IDSEL 12 - HPT370 */ 36 [12] = { -1, INTA, INTX, INTX, INTX }, /* IDSEL 12 - HPT370 */
@@ -61,6 +63,22 @@ void __init board_setup(void)
61{ 63{
62 u32 pin_func; 64 u32 pin_func;
63 u32 sys_freqctrl, sys_clksrc; 65 u32 sys_freqctrl, sys_clksrc;
66 char *argptr;
67
68 argptr = prom_getcmdline();
69#ifdef CONFIG_SERIAL_8250_CONSOLE
70 argptr = strstr(argptr, "console=");
71 if (argptr == NULL) {
72 argptr = prom_getcmdline();
73 strcat(argptr, " console=ttyS0,115200");
74 }
75#endif
76
77#if defined(CONFIG_SOUND_AU1X00) && !defined(CONFIG_SOC_AU1000)
78 /* au1000 does not support vra, au1500 and au1100 do */
79 strcat(argptr, " au1000_audio=vra");
80 argptr = prom_getcmdline();
81#endif
64 82
65 sys_clksrc = sys_freqctrl = pin_func = 0; 83 sys_clksrc = sys_freqctrl = pin_func = 0;
66 /* Set AUX clock to 12 MHz * 8 = 96 MHz */ 84 /* Set AUX clock to 12 MHz * 8 = 96 MHz */
diff --git a/arch/mips/alchemy/devboards/pb1550/board_setup.c b/arch/mips/alchemy/devboards/pb1550/board_setup.c
index 25a9190265d..f462652d762 100644
--- a/arch/mips/alchemy/devboards/pb1550/board_setup.c
+++ b/arch/mips/alchemy/devboards/pb1550/board_setup.c
@@ -32,6 +32,8 @@
32#include <asm/mach-au1x00/au1000.h> 32#include <asm/mach-au1x00/au1000.h>
33#include <asm/mach-pb1x00/pb1550.h> 33#include <asm/mach-pb1x00/pb1550.h>
34 34
35#include <prom.h>
36
35 37
36char irq_tab_alchemy[][5] __initdata = { 38char irq_tab_alchemy[][5] __initdata = {
37 [12] = { -1, INTB, INTC, INTD, INTA }, /* IDSEL 12 - PCI slot 2 (left) */ 39 [12] = { -1, INTB, INTC, INTD, INTA }, /* IDSEL 12 - PCI slot 2 (left) */
@@ -61,6 +63,16 @@ void __init board_setup(void)
61{ 63{
62 u32 pin_func; 64 u32 pin_func;
63 65
66#ifdef CONFIG_SERIAL_8250_CONSOLE
67 char *argptr;
68 argptr = prom_getcmdline();
69 argptr = strstr(argptr, "console=");
70 if (argptr == NULL) {
71 argptr = prom_getcmdline();
72 strcat(argptr, " console=ttyS0,115200");
73 }
74#endif
75
64 /* 76 /*
65 * Enable PSC1 SYNC for AC'97. Normaly done in audio driver, 77 * Enable PSC1 SYNC for AC'97. Normaly done in audio driver,
66 * but it is board specific code, so put it here. 78 * but it is board specific code, so put it here.