mirror of https://github.com/hak5/openwrt.git
bcm53xx: update patches
This reorders the patchs and adds some new ones. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 37586lede-17.01
parent
333252e493
commit
1377916ea7
|
@ -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.
|
|
@ -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),
|
|
@ -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.
|
|
@ -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>
|
||||
---
|
|
@ -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 ++++++++++++
|
|
@ -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.
|
|
@ -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.
|
||||
|
|
@ -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>
|
||||
---
|
|
@ -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>
|
||||
---
|
|
@ -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.
|
|
@ -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;
|
|
@ -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_ */
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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>
|
||||
---
|
||||
|
|
|
@ -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>
|
||||
---
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue