aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2008-06-28 22:01:37 +0000
committerJohn Crispin <john@openwrt.org>2008-06-28 22:01:37 +0000
commit8c3c0d38b8cdab599b0cf1321fa5d7464065f3c5 (patch)
treee02227da4b1a70fb9ec4ad6b81bc052fe4cf0900
parent5cfd1038bc10ef8900030c88d82920efc6148bb6 (diff)
downloadupstream-8c3c0d38b8cdab599b0cf1321fa5d7464065f3c5.tar.gz
upstream-8c3c0d38b8cdab599b0cf1321fa5d7464065f3c5.tar.bz2
upstream-8c3c0d38b8cdab599b0cf1321fa5d7464065f3c5.zip
make the serial poirt used by prom.c configurable for ifxmips
SVN-Revision: 11606
-rw-r--r--target/linux/ifxmips/config-2.6.252
-rw-r--r--target/linux/ifxmips/files/arch/mips/ifxmips/Kconfig14
-rw-r--r--target/linux/ifxmips/files/arch/mips/ifxmips/prom.c10
3 files changed, 24 insertions, 2 deletions
diff --git a/target/linux/ifxmips/config-2.6.25 b/target/linux/ifxmips/config-2.6.25
index 080ebbdd69..f209038c4a 100644
--- a/target/linux/ifxmips/config-2.6.25
+++ b/target/linux/ifxmips/config-2.6.25
@@ -84,6 +84,8 @@ CONFIG_IFXMIPS=y
CONFIG_IFXMIPS_EEPROM=y
CONFIG_IFXMIPS_MEI=y
CONFIG_IFXMIPS_MII0=y
+# CONFIG_IFXMIPS_PROM_ASC0 is not set
+CONFIG_IFXMIPS_PROM_ASC1=y
CONFIG_IFXMIPS_SSC=y
CONFIG_IFXMIPS_WDT=y
CONFIG_INITRAMFS_SOURCE=""
diff --git a/target/linux/ifxmips/files/arch/mips/ifxmips/Kconfig b/target/linux/ifxmips/files/arch/mips/ifxmips/Kconfig
index 3e68f7f9b9..d4e96af32e 100644
--- a/target/linux/ifxmips/files/arch/mips/ifxmips/Kconfig
+++ b/target/linux/ifxmips/files/arch/mips/ifxmips/Kconfig
@@ -18,5 +18,19 @@ config IFXMIPS_MEI
bool "IFXMips mei"
default y
+choice
+ prompt "prom_printf ASC"
+ help
+ Choose which serial port is used, until the console driver is loaded
+
+config IFXMIPS_PROM_ASC0
+ bool "ASC0"
+
+config IFXMIPS_PROM_ASC1
+ bool "ASC1"
+
+endchoice
+
+
endmenu
diff --git a/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c b/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c
index 4e307d0443..cbfcb75f0d 100644
--- a/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c
+++ b/target/linux/ifxmips/files/arch/mips/ifxmips/prom.c
@@ -26,16 +26,22 @@ static char buf[1024];
unsigned int *prom_cp1_base = NULL;
unsigned int prom_cp1_size = 0;
+#ifdef IFXMIPS_PROM_ASC0
+#define IFXMIPS_ASC_DIFF 0
+#else
+#define IFXMIPS_ASC_DIFF IFXMIPS_ASC_BASE_DIFF
+#endif
+
static inline u32
asc_r32(unsigned long r)
{
- return ifxmips_r32((u32*)(IFXMIPS_ASC_BASE_ADDR + IFXMIPS_ASC_BASE_DIFF + r));
+ return ifxmips_r32((u32*)(IFXMIPS_ASC_BASE_ADDR + IFXMIPS_ASC_DIFF + r));
}
static inline void
asc_w32(u32 v, unsigned long r)
{
- ifxmips_w32(v, (u32*)(IFXMIPS_ASC_BASE_ADDR + IFXMIPS_ASC_BASE_DIFF + r));
+ ifxmips_w32(v, (u32*)(IFXMIPS_ASC_BASE_ADDR + IFXMIPS_ASC_DIFF + r));
}
void