From 9445d889810027973f74010d28274c8ebcd56b4e Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 15 Dec 2013 19:19:16 +0000 Subject: [PATCH] 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 SVN-Revision: 39060 --- target/linux/brcm47xx/config-3.10 | 3 +- ...CM47XX-add-EARLY_PRINTK_8250-support.patch | 47 ------------------- .../patches-3.10/170-fix-74k-cpu.patch | 2 +- .../830-huawei_e970_support.patch | 4 +- 4 files changed, 4 insertions(+), 52 deletions(-) diff --git a/target/linux/brcm47xx/config-3.10 b/target/linux/brcm47xx/config-3.10 index ed8dd6869a..6d9f237cd6 100644 --- a/target/linux/brcm47xx/config-3.10 +++ b/target/linux/brcm47xx/config-3.10 @@ -49,8 +49,7 @@ CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y CONFIG_CPU_SUPPORTS_HIGHMEM=y CONFIG_CSRC_R4K=y CONFIG_DMA_NONCOHERENT=y -CONFIG_EARLY_PRINTK=y -CONFIG_EARLY_PRINTK_8250=y +# CONFIG_EARLY_PRINTK is not set CONFIG_GENERIC_ATOMIC64=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 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); - } - } - } diff --git a/target/linux/brcm47xx/patches-3.10/170-fix-74k-cpu.patch b/target/linux/brcm47xx/patches-3.10/170-fix-74k-cpu.patch index c585faf8bb..e25451bcdb 100644 --- a/target/linux/brcm47xx/patches-3.10/170-fix-74k-cpu.patch +++ b/target/linux/brcm47xx/patches-3.10/170-fix-74k-cpu.patch @@ -8,7 +8,7 @@ #include #include #include -@@ -214,6 +215,15 @@ static void __init bcm47xx_register_bcma +@@ -199,6 +200,15 @@ static void __init bcm47xx_register_bcma panic("Failed to initialize BCMA bus (err %d)", err); bcm47xx_fill_bcma_boardinfo(&bcm47xx_bus.bcma.bus.boardinfo, NULL); diff --git a/target/linux/brcm47xx/patches-3.10/830-huawei_e970_support.patch b/target/linux/brcm47xx/patches-3.10/830-huawei_e970_support.patch index 4cae1eac75..ec3818981d 100644 --- a/target/linux/brcm47xx/patches-3.10/830-huawei_e970_support.patch +++ b/target/linux/brcm47xx/patches-3.10/830-huawei_e970_support.patch @@ -8,7 +8,7 @@ #include #include #include -@@ -254,6 +255,33 @@ void __init plat_mem_setup(void) +@@ -239,6 +240,33 @@ void __init plat_mem_setup(void) mips_set_machine_name(bcm47xx_board_get_name()); } @@ -42,7 +42,7 @@ static int __init bcm47xx_register_bus_complete(void) { switch (bcm47xx_bus_type) { -@@ -268,6 +296,8 @@ static int __init bcm47xx_register_bus_c +@@ -253,6 +281,8 @@ static int __init bcm47xx_register_bus_c break; #endif } -- 2.30.2