From 430e4caa0f03bf39f59c73acbac1d76feacc4d67 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 15 Dec 2013 19:19:16 +0000 Subject: brcm47xx: deactivate early printk support This breaks some devices where the serial console is not at port 0 but somewhere else. Signed-off-by: Hauke Mehrtens git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39060 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- ...IPS-BCM47XX-add-EARLY_PRINTK_8250-support.patch | 47 ---------------------- 1 file changed, 47 deletions(-) (limited to 'target/linux/brcm47xx/patches-3.10/082-MIPS-BCM47XX-add-EARLY_PRINTK_8250-support.patch') diff --git a/target/linux/brcm47xx/patches-3.10/082-MIPS-BCM47XX-add-EARLY_PRINTK_8250-support.patch b/target/linux/brcm47xx/patches-3.10/082-MIPS-BCM47XX-add-EARLY_PRINTK_8250-support.patch index 42f5917ed3..744e35985e 100644 --- a/target/linux/brcm47xx/patches-3.10/082-MIPS-BCM47XX-add-EARLY_PRINTK_8250-support.patch +++ b/target/linux/brcm47xx/patches-3.10/082-MIPS-BCM47XX-add-EARLY_PRINTK_8250-support.patch @@ -51,50 +51,3 @@ Date: Thu Sep 19 22:48:35 2013 +0200 } void __init prom_free_prom_memory(void) ---- a/arch/mips/bcm47xx/setup.c -+++ b/arch/mips/bcm47xx/setup.c -@@ -123,6 +123,28 @@ static int bcm47xx_get_invariants(struct - return 0; - } - -+/* -+ * This is the second serial on the chip common core, it is at this position -+ * for sb (ssb) and ai (bcma) bus. -+ */ -+#define BCM47XX_SERIAL1_ADDR (SSB_ENUM_BASE + SSB_CHIPCO_UART1_DATA) -+ -+static void __init bcm47xx_swap_serial_ssb(struct ssb_mipscore *mcore) -+{ -+ struct ssb_serial_port port; -+ -+ printk(KERN_INFO "Swapping serial ports\n"); -+ -+ setup_8250_early_printk_port(CKSEG1ADDR(BCM47XX_SERIAL1_ADDR), 0, 0); -+ -+ /* swap serial ports */ -+ memcpy(&port, &mcore->serial_ports[0], sizeof(port)); -+ memcpy(&mcore->serial_ports[0], &mcore->serial_ports[1], sizeof(port)); -+ memcpy(&mcore->serial_ports[1], &port, sizeof(port)); -+ -+ printk(KERN_INFO "Serial port were Swapped\n"); -+} -+ - static void __init bcm47xx_register_ssb(void) - { - int err; -@@ -142,14 +164,7 @@ static void __init bcm47xx_register_ssb( - mcore = &bcm47xx_bus.ssb.mipscore; - if (bcm47xx_nvram_getenv("kernel_args", buf, sizeof(buf)) >= 0) { - if (strstr(buf, "console=ttyS1")) { -- struct ssb_serial_port port; -- -- printk(KERN_DEBUG "Swapping serial ports!\n"); -- /* swap serial ports */ -- memcpy(&port, &mcore->serial_ports[0], sizeof(port)); -- memcpy(&mcore->serial_ports[0], &mcore->serial_ports[1], -- sizeof(port)); -- memcpy(&mcore->serial_ports[1], &port, sizeof(port)); -+ bcm47xx_swap_serial_ssb(mcore); - } - } - } -- cgit v1.2.3