Changeset 38309


Ignore:
Timestamp:
2013-10-07T01:55:35+02:00 (4 years ago)
Author:
hauke
Message:

brcm47xx: update early printk patches

Early printk was disabled because it caused hangs on some devices, the
old patches were using the CFE console now we use the normal serial
console, it is at a constant address.

Signed-off-by: Hauke Mehrtens <hauke@…>

Location:
trunk/target/linux/brcm47xx
Files:
2 added
1 deleted
3 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm47xx/config-3.10

    r38198 r38309  
    4949CONFIG_CSRC_R4K=y 
    5050CONFIG_DMA_NONCOHERENT=y 
    51 CONFIG_FW_CFE=y 
     51CONFIG_EARLY_PRINTK=y 
     52CONFIG_EARLY_PRINTK_8250=y 
    5253CONFIG_GENERIC_ATOMIC64=y 
    5354CONFIG_GENERIC_CLOCKEVENTS=y 
     
    149150CONFIG_SYS_HAS_CPU_MIPS32_R1=y 
    150151CONFIG_SYS_HAS_CPU_MIPS32_R2=y 
     152CONFIG_SYS_HAS_EARLY_PRINTK=y 
    151153CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y 
    152154CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 
  • trunk/target/linux/brcm47xx/patches-3.10/081-MIPS-BCM47XX-Remove-CFE-support.patch

    r38308 r38309  
    1 From 5219981646071abb6731634bf47781a53e248764 Mon Sep 17 00:00:00 2001 
    2 From: Hauke Mehrtens <hauke@hauke-m.de> 
    3 Date: Sun, 18 Jul 2010 15:11:26 +0200 
    4 Subject: [PATCH 6/6] MIPS: BCM47xx: Remove CFE console 
     1commit 808fe9c2fa81a6b3e20fe813d5410e7fd6606efa 
     2Author: Hauke Mehrtens <hauke@hauke-m.de> 
     3Date:   Sun Jul 18 15:11:26 2010 +0200 
    54 
    6 Do not use the CFE console. It causes hangs on some devices like the 
    7 Buffalo WHR-HP-G54. 
    8 This was reported in https://dev.openwrt.org/ticket/4061 and 
    9 https://forum.openwrt.org/viewtopic.php?id=17063 
    10  
    11 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> 
    12 --- 
    13  arch/mips/Kconfig        |    1 - 
    14  arch/mips/bcm47xx/prom.c |   82 +++------------------------------------------ 
    15  2 files changed, 6 insertions(+), 77 deletions(-) 
     5    MIPS: BCM47XX: Remove CFE support 
     6     
     7    bcm47xx only uses the CFE code for early print to a console, but that 
     8    is also possible with a early print serial 8250 driver. 
     9     
     10    The CFE api init causes hangs somewhere in prom_init_cfe() on some 
     11    devices like the Buffalo WHR-HP-G54 and the Asus WL-520GU. 
     12    This was reported in https://dev.openwrt.org/ticket/4061 and 
     13    https://forum.openwrt.org/viewtopic.php?id=17063 
     14     
     15    This will remove all the CFE handling code from bcm47xx. 
     16     
     17    Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> 
    1618 
    1719--- a/arch/mips/Kconfig 
    1820+++ b/arch/mips/Kconfig 
    19 @@ -118,7 +118,6 @@ config BCM47XX 
     21@@ -112,13 +112,11 @@ config BCM47XX 
     22        select CEVT_R4K 
     23        select CSRC_R4K 
     24        select DMA_NONCOHERENT 
     25-       select FW_CFE 
     26        select HW_HAS_PCI 
     27        select IRQ_CPU 
    2028        select NO_EXCEPT_FILL 
    2129        select SYS_SUPPORTS_32BIT_KERNEL 
     
    2735--- a/arch/mips/bcm47xx/prom.c 
    2836+++ b/arch/mips/bcm47xx/prom.c 
    29 @@ -35,8 +35,6 @@ 
     37@@ -30,12 +30,9 @@ 
     38 #include <linux/spinlock.h> 
     39 #include <linux/smp.h> 
     40 #include <asm/bootinfo.h> 
     41-#include <asm/fw/cfe/cfe_api.h> 
     42-#include <asm/fw/cfe/cfe_error.h> 
    3043 #include <bcm47xx.h> 
    3144 #include <bcm47xx_board.h> 
    3245  
    3346-static int cfe_cons_handle; 
    34 - 
     47  
    3548 static char bcm47xx_system_type[20] = "Broadcom BCM47XX"; 
    3649  
    37  const char *get_system_type(void) 
    38 @@ -52,89 +50,23 @@ __init void bcm47xx_set_system_type(u16 
     50@@ -52,91 +49,6 @@ __init void bcm47xx_set_system_type(u16 
    3951                 chip_id); 
    4052 } 
     
    4759- 
    4860-static __init void prom_init_cfe(void) 
    49 +static __init int prom_init_cfe(void) 
    50  { 
    51         uint32_t cfe_ept; 
    52         uint32_t cfe_handle; 
    53         uint32_t cfe_eptseal; 
     61-{ 
     62-       uint32_t cfe_ept; 
     63-       uint32_t cfe_handle; 
     64-       uint32_t cfe_eptseal; 
    5465-       int argc = fw_arg0; 
    5566-       char **envp = (char **) fw_arg2; 
     
    8596-               } 
    8697-       } 
    87 + 
    88 +       cfe_eptseal = (uint32_t) fw_arg3; 
    89 +       cfe_handle = (uint32_t) fw_arg0; 
    90 +       cfe_ept = (uint32_t) fw_arg2; 
    91   
    92         if (cfe_eptseal != CFE_EPTSEAL) { 
     98- 
     99-       if (cfe_eptseal != CFE_EPTSEAL) { 
    93100-               /* too early for panic to do any good */ 
    94                 printk(KERN_ERR "CFE's entrypoint seal doesn't match."); 
     101-               printk(KERN_ERR "CFE's entrypoint seal doesn't match."); 
    95102-               while (1) ; 
    96 +               return -1; 
    97         } 
    98   
    99         cfe_init(cfe_handle, cfe_ept); 
     103-       } 
     104- 
     105-       cfe_init(cfe_handle, cfe_ept); 
    100106-} 
    101107- 
     
    129135-                        arcs_cmdline, buf[4]); 
    130136-       } 
    131 +       return 0; 
    132  } 
     137-} 
     138- 
     139 static __init void prom_init_mem(void) 
     140 { 
     141        unsigned long mem; 
     142@@ -184,9 +96,6 @@ static __init void prom_init_mem(void) 
    133143  
    134  static __init void prom_init_mem(void) 
    135 @@ -185,8 +117,6 @@ static __init void prom_init_mem(void) 
    136144 void __init prom_init(void) 
    137145 { 
    138         prom_init_cfe(); 
     146-       prom_init_cfe(); 
    139147-       prom_init_console(); 
    140148-       prom_init_cmdline(); 
  • trunk/target/linux/brcm47xx/patches-3.10/830-huawei_e970_support.patch

    r38308 r38309  
    11--- a/arch/mips/bcm47xx/setup.c 
    22+++ b/arch/mips/bcm47xx/setup.c 
    3 @@ -33,6 +33,7 @@ 
     3@@ -31,6 +31,7 @@ 
     4 #include <linux/ssb/ssb.h> 
     5 #include <linux/ssb/ssb_embedded.h> 
    46 #include <linux/bcma/bcma_soc.h> 
    5  #include <linux/serial.h> 
    6  #include <linux/serial_8250.h> 
    77+#include <linux/gpio_wdt.h> 
    88 #include <asm/bootinfo.h> 
    99 #include <asm/prom.h> 
    1010 #include <asm/reboot.h> 
    11 @@ -260,6 +261,33 @@ void __init plat_mem_setup(void) 
     11@@ -229,6 +230,33 @@ void __init plat_mem_setup(void) 
    1212        mips_set_machine_name(bcm47xx_board_get_name()); 
    1313 } 
     
    4343 { 
    4444        switch (bcm47xx_bus_type) { 
    45 @@ -274,6 +302,8 @@ static int __init bcm47xx_register_bus_c 
     45@@ -243,6 +271,8 @@ static int __init bcm47xx_register_bus_c 
    4646                break; 
    4747 #endif 
  • trunk/target/linux/brcm47xx/patches-3.10/980-wnr834b_no_cardbus_invariant.patch

    r38308 r38309  
    11--- a/arch/mips/bcm47xx/setup.c 
    22+++ b/arch/mips/bcm47xx/setup.c 
    3 @@ -123,6 +123,10 @@ static int bcm47xx_get_invariants(struct 
     3@@ -121,6 +121,10 @@ static int bcm47xx_get_invariants(struct 
    44        if (bcm47xx_nvram_getenv("cardbus", buf, sizeof(buf)) >= 0) 
    55                iv->has_cardbus_slot = !!simple_strtoul(buf, NULL, 10); 
Note: See TracChangeset for help on using the changeset viewer.