aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2013-07-28 22:13:52 +0000
committerHauke Mehrtens <hauke@openwrt.org>2013-07-28 22:13:52 +0000
commitf401dcb521a6f70b096f7688b6504350fde9f041 (patch)
tree406f28e12382cfecc2cde0cc94e82b7309329ec5 /target/linux/bcm53xx
parenta65b60ba7dd62aa6365c6f594997e2af94625254 (diff)
downloadupstream-f401dcb521a6f70b096f7688b6504350fde9f041.tar.gz
upstream-f401dcb521a6f70b096f7688b6504350fde9f041.tar.bz2
upstream-f401dcb521a6f70b096f7688b6504350fde9f041.zip
bcm53xx: update patches
This reorders the patchs and adds some new ones. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37586 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/bcm53xx')
-rw-r--r--target/linux/bcm53xx/patches-3.10/0016-bgmac-bgmac-depends-on-phylib.patch22
-rw-r--r--target/linux/bcm53xx/patches-3.10/0017-bgmac-make-bgmac-work-on-systems-without-nvram.patch25
-rw-r--r--target/linux/bcm53xx/patches-3.10/051-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch (renamed from target/linux/bcm53xx/patches-3.10/0008-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch)5
-rw-r--r--target/linux/bcm53xx/patches-3.10/052-bcm53xx-register-bcma-bus.patch (renamed from target/linux/bcm53xx/patches-3.10/0012-bcm53xx-register-bcma-bus.patch)5
-rw-r--r--target/linux/bcm53xx/patches-3.10/101-bcma-add-some-more-core-names.patch (renamed from target/linux/bcm53xx/patches-3.10/0010-bcma-add-some-more-core-names.patch)24
-rw-r--r--target/linux/bcm53xx/patches-3.10/102-bcma-make-it-possible-to-select-SoC-support-without-.patch (renamed from target/linux/bcm53xx/patches-3.10/0011-bcma-make-it-possible-to-select-SoC-support-without-.patch)6
-rw-r--r--target/linux/bcm53xx/patches-3.10/103-bcma-add-constants-for-new-ARM-based-SoCs.patch (renamed from target/linux/bcm53xx/patches-3.10/0013-bcma-add-constants-for-new-ARM-based-SoCs.patch)5
-rw-r--r--target/linux/bcm53xx/patches-3.10/104-bcma-return-correct-error-code-when-bus-scan-failed.patch (renamed from target/linux/bcm53xx/patches-3.10/0014-bcma-return-correct-error-code-when-bus-can-failed.patch)7
-rw-r--r--target/linux/bcm53xx/patches-3.10/105-bcma-fix-handling-of-big-addrl.patch (renamed from target/linux/bcm53xx/patches-3.10/0015-bcma-fix-handling-of-big-addrl.patch)8
-rw-r--r--target/linux/bcm53xx/patches-3.10/111-bcma-register-bcma-as-device-tree-driver.patch (renamed from target/linux/bcm53xx/patches-3.10/0009-bcma-register-bcma-as-device-tree-driver.patch)5
-rw-r--r--target/linux/bcm53xx/patches-3.10/121-bcma-fix-dma-mask.patch18
-rw-r--r--target/linux/bcm53xx/patches-3.10/122-bcma-add-arm-support.patch156
-rw-r--r--target/linux/bcm53xx/patches-3.10/201-bgmac-add-dependency-to-phylib.patch5
-rw-r--r--target/linux/bcm53xx/patches-3.10/202-bgmac-make-bgmac-work-on-systems-without-nvram.patch5
-rw-r--r--target/linux/bcm53xx/patches-3.10/203-bgmac-register-phy.patch5
-rw-r--r--target/linux/bcm53xx/patches-3.10/204-bgmac-add-supprot-for-BCM4707.patch5
16 files changed, 209 insertions, 97 deletions
diff --git a/target/linux/bcm53xx/patches-3.10/0016-bgmac-bgmac-depends-on-phylib.patch b/target/linux/bcm53xx/patches-3.10/0016-bgmac-bgmac-depends-on-phylib.patch
deleted file mode 100644
index 5c79720dff..0000000000
--- a/target/linux/bcm53xx/patches-3.10/0016-bgmac-bgmac-depends-on-phylib.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 0cf467765b64f6dc60f95c890cdb1641ae1d9390 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Wed, 10 Jul 2013 17:54:33 +0200
-Subject: [PATCH 16/17] bgmac: bgmac depends on phylib
-
-bgmac is using functions from phylib, add the dependency.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- drivers/net/ethernet/broadcom/Kconfig | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/net/ethernet/broadcom/Kconfig
-+++ b/drivers/net/ethernet/broadcom/Kconfig
-@@ -133,6 +133,7 @@ config BNX2X_SRIOV
- config BGMAC
- tristate "BCMA bus GBit core support"
- depends on BCMA_HOST_SOC && HAS_DMA
-+ select PHYLIB
- ---help---
- This driver supports GBit MAC and BCM4706 GBit MAC cores on BCMA bus.
- They can be found on BCM47xx SoCs and provide gigabit ethernet.
diff --git a/target/linux/bcm53xx/patches-3.10/0017-bgmac-make-bgmac-work-on-systems-without-nvram.patch b/target/linux/bcm53xx/patches-3.10/0017-bgmac-make-bgmac-work-on-systems-without-nvram.patch
deleted file mode 100644
index 33ff0ef715..0000000000
--- a/target/linux/bcm53xx/patches-3.10/0017-bgmac-make-bgmac-work-on-systems-without-nvram.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a0c7d2569ed39b8b0d90a431d80babc0f5f1f864 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Wed, 10 Jul 2013 17:55:34 +0200
-Subject: [PATCH 17/17] bgmac: make bgmac work on systems without nvram
-
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- drivers/net/ethernet/broadcom/bgmac.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/drivers/net/ethernet/broadcom/bgmac.c
-+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -16,7 +16,11 @@
- #include <linux/phy.h>
- #include <linux/interrupt.h>
- #include <linux/dma-mapping.h>
-+#ifdef CONFIG_BCM47XX
- #include <bcm47xx_nvram.h>
-+#else
-+#define bcm47xx_nvram_getenv(a, b, c) -1
-+#endif
-
- static const struct bcma_device_id bgmac_bcma_tbl[] = {
- BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_4706_MAC_GBIT, BCMA_ANY_REV, BCMA_ANY_CLASS),
diff --git a/target/linux/bcm53xx/patches-3.10/0008-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch b/target/linux/bcm53xx/patches-3.10/051-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch
index a94220b060..3760b0c85b 100644
--- a/target/linux/bcm53xx/patches-3.10/0008-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch
+++ b/target/linux/bcm53xx/patches-3.10/051-bcm53xx-initial-support-for-the-BCM5301-BCM470X-SoC-.patch
@@ -1,7 +1,4 @@
-From 6c55b7f2fe06eb01f4ca6dad35d54c6e2ecbff25 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sat, 29 Jun 2013 22:06:43 +0200
-Subject: [PATCH 08/17] bcm53xx: initial support for the BCM5301/BCM470X SoC
+bcm53xx: initial support for the BCM5301/BCM470X SoC
with ARM CPU
This patch adds support for the BCM5301/BCM470X SoCs with an ARM CPU.
diff --git a/target/linux/bcm53xx/patches-3.10/0012-bcm53xx-register-bcma-bus.patch b/target/linux/bcm53xx/patches-3.10/052-bcm53xx-register-bcma-bus.patch
index 5e18b871e8..86b536ea17 100644
--- a/target/linux/bcm53xx/patches-3.10/0012-bcm53xx-register-bcma-bus.patch
+++ b/target/linux/bcm53xx/patches-3.10/052-bcm53xx-register-bcma-bus.patch
@@ -1,7 +1,4 @@
-From 5b9be5e1e3c368466e482c7dbb2cf6b890614b39 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Thu, 4 Jul 2013 22:37:13 +0200
-Subject: [PATCH 12/17] bcm53xx: register bcma bus
+bcm53xx: register bcma bus
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
diff --git a/target/linux/bcm53xx/patches-3.10/0010-bcma-add-some-more-core-names.patch b/target/linux/bcm53xx/patches-3.10/101-bcma-add-some-more-core-names.patch
index aaedd59738..64bf3435b1 100644
--- a/target/linux/bcm53xx/patches-3.10/0010-bcma-add-some-more-core-names.patch
+++ b/target/linux/bcm53xx/patches-3.10/101-bcma-add-some-more-core-names.patch
@@ -1,11 +1,27 @@
-From 6fe4f63b017c3c0a7caa73d01fab23874ca0ed97 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Thu, 4 Jul 2013 22:29:48 +0200
-Subject: [PATCH 10/17] bcma: add some more core names
+bcma: add some more core names
These cores were found on a BCM4708 (chipid 53010), this is a ARM SoC
with two Cortex A9 cores.
+bcma: bus0: Found chip with id 0xCF12, rev 0x00 and package 0x02
+bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x2A, class 0x0)
+bcma: bus0: Core 1 found: DMA (manuf 0x4BF, id 0x502, rev 0x01, class 0x0)
+bcma: bus0: Core 2 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
+bcma: bus0: Core 3 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
+bcma: bus0: Core 4 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
+bcma: bus0: Core 5 found: GBit MAC (manuf 0x4BF, id 0x82D, rev 0x04, class 0x0)
+bcma: bus0: Core 6 found: PCIe Gen 2 (manuf 0x4BF, id 0x501, rev 0x01, class 0x0)
+bcma: bus0: Core 7 found: PCIe Gen 2 (manuf 0x4BF, id 0x501, rev 0x01, class 0x0)
+bcma: bus0: Core 8 found: ARM Cortex A9 core (ihost) (manuf 0x4BF, id 0x510, rev 0x01, class 0x0)
+bcma: bus0: Core 9 found: USB 2.0 (manuf 0x4BF, id 0x504, rev 0x01, class 0x0)
+bcma: bus0: Core 10 found: USB 3.0 (manuf 0x4BF, id 0x505, rev 0x01, class 0x0)
+bcma: bus0: Core 11 found: SDIO3 (manuf 0x4BF, id 0x503, rev 0x01, class 0x0)
+bcma: bus0: Core 12 found: ARM Cortex A9 JTAG (manuf 0x4BF, id 0x506, rev 0x01, class 0x0)
+bcma: bus0: Core 13 found: Denali DDR2/DDR3 memory controller (manuf 0x4BF, id 0x507, rev 0x01, class 0x0)
+bcma: bus0: Core 14 found: ROM (manuf 0x4BF, id 0x508, rev 0x01, class 0x0)
+bcma: bus0: Core 15 found: NAND flash controller (manuf 0x4BF, id 0x509, rev 0x01, class 0x0)
+bcma: bus0: Core 16 found: SPI flash controller (manuf 0x4BF, id 0x50A, rev 0x01, class 0x0)
+
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
drivers/bcma/scan.c | 12 ++++++++++++
diff --git a/target/linux/bcm53xx/patches-3.10/0011-bcma-make-it-possible-to-select-SoC-support-without-.patch b/target/linux/bcm53xx/patches-3.10/102-bcma-make-it-possible-to-select-SoC-support-without-.patch
index 1059436ee6..4d0fd5f408 100644
--- a/target/linux/bcm53xx/patches-3.10/0011-bcma-make-it-possible-to-select-SoC-support-without-.patch
+++ b/target/linux/bcm53xx/patches-3.10/102-bcma-make-it-possible-to-select-SoC-support-without-.patch
@@ -1,8 +1,4 @@
-From b5f4430c100a4d7b526426db46b76add728f45d4 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Thu, 4 Jul 2013 22:35:22 +0200
-Subject: [PATCH 11/17] bcma: make it possible to select SoC support without
- mips
+bcma: make it possible to select SoC support without mips
To make it possible to use the SoC host interface with ARM SoCs do not
depend on the MIPS driver any more.
diff --git a/target/linux/bcm53xx/patches-3.10/0013-bcma-add-constants-for-new-ARM-based-SoCs.patch b/target/linux/bcm53xx/patches-3.10/103-bcma-add-constants-for-new-ARM-based-SoCs.patch
index 9789d72ae2..6714533c0b 100644
--- a/target/linux/bcm53xx/patches-3.10/0013-bcma-add-constants-for-new-ARM-based-SoCs.patch
+++ b/target/linux/bcm53xx/patches-3.10/103-bcma-add-constants-for-new-ARM-based-SoCs.patch
@@ -1,7 +1,4 @@
-From fda36440e95ef9adbd7955b069248d1d807a85b1 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Thu, 4 Jul 2013 22:48:25 +0200
-Subject: [PATCH 13/17] bcma: add constants for new ARM based SoCs
+bcma: add constants for new ARM based SoCs
These are the chipIDs of some ARM based SoCs from the BCM47xx line.
diff --git a/target/linux/bcm53xx/patches-3.10/0014-bcma-return-correct-error-code-when-bus-can-failed.patch b/target/linux/bcm53xx/patches-3.10/104-bcma-return-correct-error-code-when-bus-scan-failed.patch
index 0fe1067a6e..c6e8aca62a 100644
--- a/target/linux/bcm53xx/patches-3.10/0014-bcma-return-correct-error-code-when-bus-can-failed.patch
+++ b/target/linux/bcm53xx/patches-3.10/104-bcma-return-correct-error-code-when-bus-scan-failed.patch
@@ -1,7 +1,6 @@
-From e2e1b185afd86a047e1f2db405c61ae4e43c0f29 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Thu, 4 Jul 2013 22:49:14 +0200
-Subject: [PATCH 14/17] bcma: return correct error code when bus can failed
+bcma: return correct error code when bus scan failed
+
+It is better to return the actual error code than just -1.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
diff --git a/target/linux/bcm53xx/patches-3.10/0015-bcma-fix-handling-of-big-addrl.patch b/target/linux/bcm53xx/patches-3.10/105-bcma-fix-handling-of-big-addrl.patch
index 6a76f5d716..3d261b99e1 100644
--- a/target/linux/bcm53xx/patches-3.10/0015-bcma-fix-handling-of-big-addrl.patch
+++ b/target/linux/bcm53xx/patches-3.10/105-bcma-fix-handling-of-big-addrl.patch
@@ -1,10 +1,8 @@
-From 8204277ed0f4aeb7bb38d0d5f39d9ebcced92576 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Fri, 5 Jul 2013 00:24:38 +0200
-Subject: [PATCH 15/17] bcma: fix handling of big addrl
+bcma: fix handling of big addrl
The return value of bcma_erom_get_addr_desc() is a unsigned value and it
-could wrap around in the two complement writing.
+could wrap around in the two complement writing. This happens for one
+core in the BCM4708 SoC.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
diff --git a/target/linux/bcm53xx/patches-3.10/0009-bcma-register-bcma-as-device-tree-driver.patch b/target/linux/bcm53xx/patches-3.10/111-bcma-register-bcma-as-device-tree-driver.patch
index ede3af53d1..0077f90379 100644
--- a/target/linux/bcm53xx/patches-3.10/0009-bcma-register-bcma-as-device-tree-driver.patch
+++ b/target/linux/bcm53xx/patches-3.10/111-bcma-register-bcma-as-device-tree-driver.patch
@@ -1,7 +1,4 @@
-From d16de2a4ffeaf62fb3d838365a29b80f330bffe0 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Thu, 4 Jul 2013 22:26:58 +0200
-Subject: [PATCH 09/17] bcma: register bcma as device tree driver
+bcma: register bcma as device tree driver
This driver is used by the bcm53xx ARM SoC code.Now it is possible to
give the address of the chipcommon core in device tree.
diff --git a/target/linux/bcm53xx/patches-3.10/121-bcma-fix-dma-mask.patch b/target/linux/bcm53xx/patches-3.10/121-bcma-fix-dma-mask.patch
new file mode 100644
index 0000000000..b695bc94aa
--- /dev/null
+++ b/target/linux/bcm53xx/patches-3.10/121-bcma-fix-dma-mask.patch
@@ -0,0 +1,18 @@
+bcma: fix dma mask
+
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ drivers/bcma/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/bcma/main.c
++++ b/drivers/bcma/main.c
+@@ -155,6 +155,7 @@ static int bcma_register_cores(struct bc
+ core->irq = bus->host_pci->irq;
+ break;
+ case BCMA_HOSTTYPE_SOC:
++ core->dev.coherent_dma_mask = DMA_BIT_MASK(32);
+ core->dev.dma_mask = &core->dev.coherent_dma_mask;
+ core->dma_dev = &core->dev;
+ break;
diff --git a/target/linux/bcm53xx/patches-3.10/122-bcma-add-arm-support.patch b/target/linux/bcm53xx/patches-3.10/122-bcma-add-arm-support.patch
new file mode 100644
index 0000000000..1ce2013739
--- /dev/null
+++ b/target/linux/bcm53xx/patches-3.10/122-bcma-add-arm-support.patch
@@ -0,0 +1,156 @@
+bcma: add arm support
+
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ drivers/bcma/Kconfig | 9 +++++
+ drivers/bcma/Makefile | 1 +
+ drivers/bcma/driver_arm.c | 61 ++++++++++++++++++++++++++++++++++
+ drivers/bcma/main.c | 7 ++++
+ include/linux/bcma/bcma.h | 2 ++
+ include/linux/bcma/bcma_driver_arm.h | 20 +++++++++++
+ 6 files changed, 100 insertions(+)
+ create mode 100644 drivers/bcma/driver_arm.c
+ create mode 100644 include/linux/bcma/bcma_driver_arm.h
+
+--- a/drivers/bcma/Kconfig
++++ b/drivers/bcma/Kconfig
+@@ -54,6 +54,15 @@ config BCMA_DRIVER_MIPS
+
+ If unsure, say N
+
++config BCMA_DRIVER_ARM
++ bool "BCMA Broadcom ARM core driver"
++ depends on BCMA && ARM
++ help
++ Driver for the Broadcom MIPS core attached to Broadcom specific
++ Advanced Microcontroller Bus.
++
++ If unsure, say N
++
+ config BCMA_SFLASH
+ bool
+ depends on BCMA_DRIVER_MIPS
+--- a/drivers/bcma/Makefile
++++ b/drivers/bcma/Makefile
+@@ -5,6 +5,7 @@ bcma-$(CONFIG_BCMA_NFLASH) += driver_ch
+ bcma-y += driver_pci.o
+ bcma-$(CONFIG_BCMA_DRIVER_PCI_HOSTMODE) += driver_pci_host.o
+ bcma-$(CONFIG_BCMA_DRIVER_MIPS) += driver_mips.o
++bcma-$(CONFIG_BCMA_DRIVER_ARM) += driver_arm.o
+ bcma-$(CONFIG_BCMA_DRIVER_GMAC_CMN) += driver_gmac_cmn.o
+ bcma-$(CONFIG_BCMA_DRIVER_GPIO) += driver_gpio.o
+ bcma-$(CONFIG_BCMA_HOST_PCI) += host_pci.o
+--- /dev/null
++++ b/drivers/bcma/driver_arm.c
+@@ -0,0 +1,53 @@
++/*
++ * Broadcom specific AMBA
++ * Broadcom MIPS32 74K core driver
++ *
++ * Copyright 2009, Broadcom Corporation
++ * Copyright 2006, 2007, Michael Buesch <mb@bu3sch.de>
++ * Copyright 2010, Bernhard Loos <bernhardloos@googlemail.com>
++ * Copyright 2011, Hauke Mehrtens <hauke@hauke-m.de>
++ *
++ * Licensed under the GNU/GPL. See COPYING for details.
++ */
++
++#include "bcma_private.h"
++
++#include <linux/bcma/bcma.h>
++
++static void bcma_core_mips_set_irq_name(struct bcma_bus *bus, unsigned int irq,
++ u16 coreid, u8 unit)
++{
++ struct bcma_device *core;
++
++ core = bcma_find_core_unit(bus, coreid, unit);
++ if (!core) {
++ bcma_warn(bus,
++ "Can not find core (id: 0x%x, unit %i) for IRQ configuration.\n",
++ coreid, unit);
++ return;
++ }
++ core->irq = irq;
++}
++
++void bcma_core_arm_init(struct bcma_drv_arm *acore)
++{
++ struct bcma_bus *bus;
++ struct bcma_device *core;
++ bus = acore->core->bus;
++
++ if (acore->setup_done)
++ return;
++
++ bcma_core_mips_set_irq_name(bus, 111, BCMA_CORE_USB20, 0);
++
++ bcma_core_mips_set_irq_name(bus, 179, BCMA_CORE_MAC_GBIT, 0);
++ bcma_core_mips_set_irq_name(bus, 180, BCMA_CORE_MAC_GBIT, 1);
++ bcma_core_mips_set_irq_name(bus, 181, BCMA_CORE_MAC_GBIT, 2);
++ bcma_core_mips_set_irq_name(bus, 182, BCMA_CORE_MAC_GBIT, 3);
++
++ bcma_core_mips_set_irq_name(bus, 112, BCMA_CORE_USB30, 0);
++ bcma_debug(bus, "IRQ reconfiguration done\n");
++
++
++ acore->setup_done = true;
++}
+--- a/drivers/bcma/main.c
++++ b/drivers/bcma/main.c
+@@ -269,6 +269,13 @@ int bcma_bus_register(struct bcma_bus *b
+ bcma_core_mips_init(&bus->drv_mips);
+ }
+
++ /* Init ARM core */
++ core = bcma_find_core(bus, BCMA_CORE_ARMCA9);
++ if (core) {
++ bus->drv_arm.core = core;
++ bcma_core_arm_init(&bus->drv_arm);
++ }
++
+ /* Init PCIE core */
+ core = bcma_find_core_unit(bus, BCMA_CORE_PCIE, 0);
+ if (core) {
+--- a/include/linux/bcma/bcma.h
++++ b/include/linux/bcma/bcma.h
+@@ -7,6 +7,7 @@
+ #include <linux/bcma/bcma_driver_chipcommon.h>
+ #include <linux/bcma/bcma_driver_pci.h>
+ #include <linux/bcma/bcma_driver_mips.h>
++#include <linux/bcma/bcma_driver_arm.h>
+ #include <linux/bcma/bcma_driver_gmac_cmn.h>
+ #include <linux/ssb/ssb.h> /* SPROM sharing */
+
+@@ -334,6 +335,7 @@ struct bcma_bus {
+ struct bcma_drv_cc drv_cc;
+ struct bcma_drv_pci drv_pci[2];
+ struct bcma_drv_mips drv_mips;
++ struct bcma_drv_arm drv_arm;
+ struct bcma_drv_gmac_cmn drv_gmac_cmn;
+
+ /* We decided to share SPROM struct with SSB as long as we do not need
+--- /dev/null
++++ b/include/linux/bcma/bcma_driver_arm.h
+@@ -0,0 +1,20 @@
++#ifndef LINUX_BCMA_DRIVER_ARM_H_
++#define LINUX_BCMA_DRIVER_ARM_H_
++
++struct bcma_device;
++
++struct bcma_drv_arm {
++ struct bcma_device *core;
++ u8 setup_done:1;
++ u8 early_setup_done:1;
++};
++
++#ifdef CONFIG_BCMA_DRIVER_ARM
++extern void bcma_core_arm_init(struct bcma_drv_arm *acore);
++
++#else
++static inline void bcma_core_arm_init(struct bcma_drv_arm *acore) { }
++
++#endif
++
++#endif /* LINUX_BCMA_DRIVER_ARM_H_ */
diff --git a/target/linux/bcm53xx/patches-3.10/201-bgmac-add-dependency-to-phylib.patch b/target/linux/bcm53xx/patches-3.10/201-bgmac-add-dependency-to-phylib.patch
index e4172ae59b..a0abae9c24 100644
--- a/target/linux/bcm53xx/patches-3.10/201-bgmac-add-dependency-to-phylib.patch
+++ b/target/linux/bcm53xx/patches-3.10/201-bgmac-add-dependency-to-phylib.patch
@@ -1,7 +1,4 @@
-From d29611892717def1628f2677f7b0bd6eb2c58565 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Wed, 10 Jul 2013 17:54:33 +0200
-Subject: [PATCH 16/18] bgmac: add dependency to phylib
+bgmac: add dependency to phylib
bgmac is using functions from phylib, add the dependency.
diff --git a/target/linux/bcm53xx/patches-3.10/202-bgmac-make-bgmac-work-on-systems-without-nvram.patch b/target/linux/bcm53xx/patches-3.10/202-bgmac-make-bgmac-work-on-systems-without-nvram.patch
index 4ebb942ec0..eda49b6416 100644
--- a/target/linux/bcm53xx/patches-3.10/202-bgmac-make-bgmac-work-on-systems-without-nvram.patch
+++ b/target/linux/bcm53xx/patches-3.10/202-bgmac-make-bgmac-work-on-systems-without-nvram.patch
@@ -1,7 +1,4 @@
-From e484cca2387df0878d55d8f3e8e4543aa668dd52 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Wed, 10 Jul 2013 17:55:34 +0200
-Subject: [PATCH 17/18] bgmac: make bgmac work on systems without nvram
+bgmac: make bgmac work on systems without nvram
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
diff --git a/target/linux/bcm53xx/patches-3.10/203-bgmac-register-phy.patch b/target/linux/bcm53xx/patches-3.10/203-bgmac-register-phy.patch
index 1bc267145e..4467d2365a 100644
--- a/target/linux/bcm53xx/patches-3.10/203-bgmac-register-phy.patch
+++ b/target/linux/bcm53xx/patches-3.10/203-bgmac-register-phy.patch
@@ -1,7 +1,4 @@
-From a145c561b9ba9ef402fbc3aa295b31521aa8591d Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Sun, 14 Jul 2013 00:04:21 +0200
-Subject: [PATCH 18/18] bgmac: register phy
+bgmac: register phy
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
diff --git a/target/linux/bcm53xx/patches-3.10/204-bgmac-add-supprot-for-BCM4707.patch b/target/linux/bcm53xx/patches-3.10/204-bgmac-add-supprot-for-BCM4707.patch
index 7bbfa3f552..a14b57c602 100644
--- a/target/linux/bcm53xx/patches-3.10/204-bgmac-add-supprot-for-BCM4707.patch
+++ b/target/linux/bcm53xx/patches-3.10/204-bgmac-add-supprot-for-BCM4707.patch
@@ -1,7 +1,4 @@
-From 91c50931fd696fa8d2f9888482f89a6a0683fe6f Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Mon, 15 Jul 2013 22:22:25 +0200
-Subject: [PATCH 19/20] bgmac: add supprot for BCM4707
+bgmac: add supprot for BCM4707
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>