1. 22 5月, 2014 1 次提交
  2. 06 3月, 2014 2 次提交
    • H
      ARM: BCM5301X: workaround suppress fault · fdf4850c
      Hauke Mehrtens 提交于
      Without this patch I am getting a unhandled fault exception like this
      one after "Freeing unused kernel memory":
      
      Freeing unused kernel memory: 1260K (c02c1000 - c03fc000)
      Unhandled fault: imprecise external abort (0x1c06) at 0xb6f89005
      Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000007
      
      The address which is here 0xb6f89005 changes from boot to boot, with a
      new build the changes are bigger. With kernel 3.10 I have also seen
      this fault at different places in the boot process, but starting with
      3.11 they are always occurring after the "Freeing unused kernel memory"
      message. I never was able to completely boot to userspace without this
      handler. The abort code is constant 0x1c06. This fault just happens
      once in the boot process I have never seen it happing twice or more.
      
      I also tried changing the CPSR.A bit to 0 in init_early, with this code
      like Afzal suggested, but that did not change anything:
      asm volatile("mrs r12, cpsr\n"
      	"bic r12, r12, #0x00000100\n"
      	"msr cpsr_c, r12" ::: "r12", "cc", "memory");
      
      Disabling the L2 cache by building with CONFIG_CACHE_L2X0 unset did not
      help.
      
      This workaround was copied from the vendor code including most of the
      comments. It says it they think this is caused by the CFE boot loader
      used on this device. I do not have any access to any datasheet or
      errata document to check this.
      Signed-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NChristian Daudt <bcm@fixthebug.org>
      Signed-off-by: NMatt Porter <mporter@linaro.org>
      fdf4850c
    • H
      ARM: BCM5301X: initial support for the BCM5301X/BCM470X SoCs with ARM CPU · 5b293ebe
      Hauke Mehrtens 提交于
      This patch adds support for the BCM5301X/BCM470X SoCs with an ARM CPUs.
      Currently just booting to a shell is working and nothing else, no
      Ethernet, wifi, flash, ...
      I have some pending patches to make Ethernet work for this device.
      Mostly device tree support for bcma is missing.
      
      This SoC is used in small office and home router with Broadcom SoCs
      it's internal name is Northstar. This code should support the BCM4707,
      BCM4708, BCM4709, BCM53010, BCM53011 and BCM53012 SoC. It uses one or
      two ARM Cortex A9 Cores, some highlights are 2 PCIe 2.0 controllers,
      4 Gigabit Ethernet MACs and a USB 3.0 host controller.
      
      This SoC uses a dual core CPU, but this is currently not implemented.
      More information about this SoC can be found here:
      http://www.anandtech.com/show/5925/broadcom-announces-bcm4708x-and-bcm5301x-socs-for-80211ac-routersSigned-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NChristian Daudt <bcm@fixthebug.org>
      Signed-off-by: NMatt Porter <mporter@linaro.org>
      5b293ebe