mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-19 21:58:04 +00:00
kernel: update bcma to version master-2014-07-29-1
This is a backport of bcma from wireless-tesing/master tag master-2014-07-29-1. For kernel < 3.10 this only adds the header changes needed by more recent b43 versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 41899
This commit is contained in:
parent
f548b18353
commit
b1df24f00e
@ -284,10 +284,11 @@
|
||||
bcma_pmu_resources_init(cc);
|
||||
bcma_pmu_workarounds(cc);
|
||||
}
|
||||
@@ -480,6 +603,7 @@ void bcma_pmu_spuravoid_pllupdate(struct
|
||||
@@ -480,6 +603,8 @@ void bcma_pmu_spuravoid_pllupdate(struct
|
||||
tmp = BCMA_CC_PMU_CTL_PLL_UPD | BCMA_CC_PMU_CTL_NOILPONW;
|
||||
break;
|
||||
|
||||
+ case BCMA_CHIP_ID_BCM43131:
|
||||
+ case BCMA_CHIP_ID_BCM43217:
|
||||
case BCMA_CHIP_ID_BCM43227:
|
||||
case BCMA_CHIP_ID_BCM43228:
|
||||
@ -880,7 +881,7 @@
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
@@ -267,14 +269,17 @@ static SIMPLE_DEV_PM_OPS(bcma_pm_ops, bc
|
||||
@@ -267,14 +269,18 @@ static SIMPLE_DEV_PM_OPS(bcma_pm_ops, bc
|
||||
|
||||
#endif /* CONFIG_PM_SLEEP */
|
||||
|
||||
@ -896,6 +897,7 @@
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4359) },
|
||||
+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4365) },
|
||||
+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43a9) },
|
||||
+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43aa) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) },
|
||||
{ 0, },
|
||||
};
|
||||
@ -1233,7 +1235,7 @@
|
||||
|
||||
SPEX(leddc_on_time, SSB_SPROM8_LEDDC, SSB_SPROM8_LEDDC_ON,
|
||||
SSB_SPROM8_LEDDC_ON_SHIFT);
|
||||
@@ -502,12 +528,13 @@ static bool bcma_sprom_onchip_available(
|
||||
@@ -502,12 +528,14 @@ static bool bcma_sprom_onchip_available(
|
||||
case BCMA_CHIP_ID_BCM4331:
|
||||
present = chip_status & BCMA_CC_CHIPST_4331_OTP_PRESENT;
|
||||
break;
|
||||
@ -1244,11 +1246,12 @@
|
||||
/* for these chips OTP is always available */
|
||||
present = true;
|
||||
break;
|
||||
+ case BCMA_CHIP_ID_BCM43131:
|
||||
+ case BCMA_CHIP_ID_BCM43217:
|
||||
case BCMA_CHIP_ID_BCM43227:
|
||||
case BCMA_CHIP_ID_BCM43228:
|
||||
case BCMA_CHIP_ID_BCM43428:
|
||||
@@ -550,7 +577,9 @@ int bcma_sprom_get(struct bcma_bus *bus)
|
||||
@@ -550,7 +578,9 @@ int bcma_sprom_get(struct bcma_bus *bus)
|
||||
{
|
||||
u16 offset = BCMA_CC_SPROM;
|
||||
u16 *sprom;
|
||||
@ -1259,7 +1262,7 @@
|
||||
|
||||
if (!bus->drv_cc.core)
|
||||
return -EOPNOTSUPP;
|
||||
@@ -579,32 +608,37 @@ int bcma_sprom_get(struct bcma_bus *bus)
|
||||
@@ -579,32 +609,37 @@ int bcma_sprom_get(struct bcma_bus *bus)
|
||||
}
|
||||
}
|
||||
|
||||
@ -1340,17 +1343,18 @@
|
||||
#define BCMA_CORE_4706_MAC_GBIT 0x52D
|
||||
#define BCMA_CORE_AMEMC 0x52E /* DDR1/2 memory controller core */
|
||||
#define BCMA_CORE_ALTA 0x534 /* I2S core */
|
||||
@@ -144,6 +157,9 @@ struct bcma_host_ops {
|
||||
@@ -144,6 +157,10 @@ struct bcma_host_ops {
|
||||
|
||||
/* Chip IDs of PCIe devices */
|
||||
#define BCMA_CHIP_ID_BCM4313 0x4313
|
||||
+#define BCMA_CHIP_ID_BCM43142 43142
|
||||
+#define BCMA_CHIP_ID_BCM43131 43131
|
||||
+#define BCMA_CHIP_ID_BCM43217 43217
|
||||
+#define BCMA_CHIP_ID_BCM43222 43222
|
||||
#define BCMA_CHIP_ID_BCM43224 43224
|
||||
#define BCMA_PKG_ID_BCM43224_FAB_CSM 0x8
|
||||
#define BCMA_PKG_ID_BCM43224_FAB_SMIC 0xa
|
||||
@@ -176,6 +192,11 @@ struct bcma_host_ops {
|
||||
@@ -176,6 +193,11 @@ struct bcma_host_ops {
|
||||
#define BCMA_PKG_ID_BCM5357 11
|
||||
#define BCMA_CHIP_ID_BCM53572 53572
|
||||
#define BCMA_PKG_ID_BCM47188 9
|
||||
@ -1362,7 +1366,7 @@
|
||||
|
||||
/* Board types (on PCI usually equals to the subsystem dev id) */
|
||||
/* BCM4313 */
|
||||
@@ -315,6 +336,7 @@ struct bcma_bus {
|
||||
@@ -315,6 +337,7 @@ struct bcma_bus {
|
||||
|
||||
struct bcma_drv_cc drv_cc;
|
||||
struct bcma_drv_pci drv_pci[2];
|
||||
@ -1370,7 +1374,7 @@
|
||||
struct bcma_drv_mips drv_mips;
|
||||
struct bcma_drv_gmac_cmn drv_gmac_cmn;
|
||||
|
||||
@@ -400,7 +422,14 @@ static inline void bcma_maskset16(struct
|
||||
@@ -400,7 +423,14 @@ static inline void bcma_maskset16(struct
|
||||
bcma_write16(cc, offset, (bcma_read16(cc, offset) & mask) | set);
|
||||
}
|
||||
|
||||
|
@ -31,10 +31,11 @@
|
||||
int bcma_bus_scan(struct bcma_bus *bus);
|
||||
--- a/drivers/bcma/driver_chipcommon_pmu.c
|
||||
+++ b/drivers/bcma/driver_chipcommon_pmu.c
|
||||
@@ -603,6 +603,7 @@ void bcma_pmu_spuravoid_pllupdate(struct
|
||||
@@ -603,6 +603,8 @@ void bcma_pmu_spuravoid_pllupdate(struct
|
||||
tmp = BCMA_CC_PMU_CTL_PLL_UPD | BCMA_CC_PMU_CTL_NOILPONW;
|
||||
break;
|
||||
|
||||
+ case BCMA_CHIP_ID_BCM43131:
|
||||
+ case BCMA_CHIP_ID_BCM43217:
|
||||
case BCMA_CHIP_ID_BCM43227:
|
||||
case BCMA_CHIP_ID_BCM43228:
|
||||
@ -458,11 +459,12 @@
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x0576) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4313) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 43224) },
|
||||
@@ -280,6 +279,7 @@ static DEFINE_PCI_DEVICE_TABLE(bcma_pci_
|
||||
@@ -280,6 +279,8 @@ static DEFINE_PCI_DEVICE_TABLE(bcma_pci_
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4358) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4359) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4365) },
|
||||
+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43a9) },
|
||||
+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43aa) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) },
|
||||
{ 0, },
|
||||
};
|
||||
@ -582,10 +584,11 @@
|
||||
|
||||
SPEX(leddc_on_time, SSB_SPROM8_LEDDC, SSB_SPROM8_LEDDC_ON,
|
||||
SSB_SPROM8_LEDDC_ON_SHIFT);
|
||||
@@ -509,6 +534,7 @@ static bool bcma_sprom_onchip_available(
|
||||
@@ -509,6 +534,8 @@ static bool bcma_sprom_onchip_available(
|
||||
/* for these chips OTP is always available */
|
||||
present = true;
|
||||
break;
|
||||
+ case BCMA_CHIP_ID_BCM43131:
|
||||
+ case BCMA_CHIP_ID_BCM43217:
|
||||
case BCMA_CHIP_ID_BCM43227:
|
||||
case BCMA_CHIP_ID_BCM43228:
|
||||
@ -600,16 +603,17 @@
|
||||
#include <linux/bcma/bcma_driver_mips.h>
|
||||
#include <linux/bcma/bcma_driver_gmac_cmn.h>
|
||||
#include <linux/ssb/ssb.h> /* SPROM sharing */
|
||||
@@ -157,6 +158,8 @@ struct bcma_host_ops {
|
||||
@@ -157,6 +158,9 @@ struct bcma_host_ops {
|
||||
/* Chip IDs of PCIe devices */
|
||||
#define BCMA_CHIP_ID_BCM4313 0x4313
|
||||
#define BCMA_CHIP_ID_BCM43142 43142
|
||||
+#define BCMA_CHIP_ID_BCM43131 43131
|
||||
+#define BCMA_CHIP_ID_BCM43217 43217
|
||||
+#define BCMA_CHIP_ID_BCM43222 43222
|
||||
#define BCMA_CHIP_ID_BCM43224 43224
|
||||
#define BCMA_PKG_ID_BCM43224_FAB_CSM 0x8
|
||||
#define BCMA_PKG_ID_BCM43224_FAB_SMIC 0xa
|
||||
@@ -333,6 +336,7 @@ struct bcma_bus {
|
||||
@@ -333,6 +337,7 @@ struct bcma_bus {
|
||||
|
||||
struct bcma_drv_cc drv_cc;
|
||||
struct bcma_drv_pci drv_pci[2];
|
||||
@ -617,7 +621,7 @@
|
||||
struct bcma_drv_mips drv_mips;
|
||||
struct bcma_drv_gmac_cmn drv_gmac_cmn;
|
||||
|
||||
@@ -418,7 +422,14 @@ static inline void bcma_maskset16(struct
|
||||
@@ -418,7 +423,14 @@ static inline void bcma_maskset16(struct
|
||||
bcma_write16(cc, offset, (bcma_read16(cc, offset) & mask) | set);
|
||||
}
|
||||
|
||||
|
@ -10,10 +10,11 @@
|
||||
bcma-$(CONFIG_BCMA_DRIVER_GMAC_CMN) += driver_gmac_cmn.o
|
||||
--- a/drivers/bcma/driver_chipcommon_pmu.c
|
||||
+++ b/drivers/bcma/driver_chipcommon_pmu.c
|
||||
@@ -603,6 +603,7 @@ void bcma_pmu_spuravoid_pllupdate(struct
|
||||
@@ -603,6 +603,8 @@ void bcma_pmu_spuravoid_pllupdate(struct
|
||||
tmp = BCMA_CC_PMU_CTL_PLL_UPD | BCMA_CC_PMU_CTL_NOILPONW;
|
||||
break;
|
||||
|
||||
+ case BCMA_CHIP_ID_BCM43131:
|
||||
+ case BCMA_CHIP_ID_BCM43217:
|
||||
case BCMA_CHIP_ID_BCM43227:
|
||||
case BCMA_CHIP_ID_BCM43228:
|
||||
@ -217,11 +218,12 @@
|
||||
+}
|
||||
--- a/drivers/bcma/host_pci.c
|
||||
+++ b/drivers/bcma/host_pci.c
|
||||
@@ -279,6 +279,7 @@ static const struct pci_device_id bcma_p
|
||||
@@ -279,6 +279,8 @@ static const struct pci_device_id bcma_p
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4358) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4359) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4365) },
|
||||
+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43a9) },
|
||||
+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43aa) },
|
||||
{ PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) },
|
||||
{ 0, },
|
||||
};
|
||||
@ -306,10 +308,11 @@
|
||||
|
||||
SPEX(leddc_on_time, SSB_SPROM8_LEDDC, SSB_SPROM8_LEDDC_ON,
|
||||
SSB_SPROM8_LEDDC_ON_SHIFT);
|
||||
@@ -509,6 +534,7 @@ static bool bcma_sprom_onchip_available(
|
||||
@@ -509,6 +534,8 @@ static bool bcma_sprom_onchip_available(
|
||||
/* for these chips OTP is always available */
|
||||
present = true;
|
||||
break;
|
||||
+ case BCMA_CHIP_ID_BCM43131:
|
||||
+ case BCMA_CHIP_ID_BCM43217:
|
||||
case BCMA_CHIP_ID_BCM43227:
|
||||
case BCMA_CHIP_ID_BCM43228:
|
||||
@ -324,16 +327,17 @@
|
||||
#include <linux/bcma/bcma_driver_mips.h>
|
||||
#include <linux/bcma/bcma_driver_gmac_cmn.h>
|
||||
#include <linux/ssb/ssb.h> /* SPROM sharing */
|
||||
@@ -157,6 +158,8 @@ struct bcma_host_ops {
|
||||
@@ -157,6 +158,9 @@ struct bcma_host_ops {
|
||||
/* Chip IDs of PCIe devices */
|
||||
#define BCMA_CHIP_ID_BCM4313 0x4313
|
||||
#define BCMA_CHIP_ID_BCM43142 43142
|
||||
+#define BCMA_CHIP_ID_BCM43131 43131
|
||||
+#define BCMA_CHIP_ID_BCM43217 43217
|
||||
+#define BCMA_CHIP_ID_BCM43222 43222
|
||||
#define BCMA_CHIP_ID_BCM43224 43224
|
||||
#define BCMA_PKG_ID_BCM43224_FAB_CSM 0x8
|
||||
#define BCMA_PKG_ID_BCM43224_FAB_SMIC 0xa
|
||||
@@ -333,6 +336,7 @@ struct bcma_bus {
|
||||
@@ -333,6 +337,7 @@ struct bcma_bus {
|
||||
|
||||
struct bcma_drv_cc drv_cc;
|
||||
struct bcma_drv_pci drv_pci[2];
|
||||
|
@ -4717,7 +4717,7 @@
|
||||
#define BCMA_CORE_INVALID 0x700
|
||||
#define BCMA_CORE_CHIPCOMMON 0x800
|
||||
#define BCMA_CORE_ILINE20 0x801
|
||||
@@ -121,10 +146,109 @@ struct bcma_host_ops {
|
||||
@@ -121,10 +146,112 @@ struct bcma_host_ops {
|
||||
#define BCMA_CORE_I2S 0x834
|
||||
#define BCMA_CORE_SDR_DDR1_MEM_CTL 0x835 /* SDR/DDR1 memory controller core */
|
||||
#define BCMA_CORE_SHIM 0x837 /* SHIM component in ubus/6362 */
|
||||
@ -4732,6 +4732,9 @@
|
||||
+/* Chip IDs of PCIe devices */
|
||||
+#define BCMA_CHIP_ID_BCM4313 0x4313
|
||||
+#define BCMA_CHIP_ID_BCM43142 43142
|
||||
+#define BCMA_CHIP_ID_BCM43131 43131
|
||||
+#define BCMA_CHIP_ID_BCM43217 43217
|
||||
+#define BCMA_CHIP_ID_BCM43222 43222
|
||||
+#define BCMA_CHIP_ID_BCM43224 43224
|
||||
+#define BCMA_PKG_ID_BCM43224_FAB_CSM 0x8
|
||||
+#define BCMA_PKG_ID_BCM43224_FAB_SMIC 0xa
|
||||
@ -4827,7 +4830,7 @@
|
||||
struct bcma_device {
|
||||
struct bcma_bus *bus;
|
||||
struct bcma_device_id id;
|
||||
@@ -136,8 +260,10 @@ struct bcma_device {
|
||||
@@ -136,8 +263,10 @@ struct bcma_device {
|
||||
bool dev_registered;
|
||||
|
||||
u8 core_index;
|
||||
@ -4838,7 +4841,7 @@
|
||||
u32 wrap;
|
||||
|
||||
void __iomem *io_addr;
|
||||
@@ -175,6 +301,12 @@ int __bcma_driver_register(struct bcma_d
|
||||
@@ -175,6 +304,12 @@ int __bcma_driver_register(struct bcma_d
|
||||
|
||||
extern void bcma_driver_unregister(struct bcma_driver *drv);
|
||||
|
||||
@ -4851,7 +4854,7 @@
|
||||
struct bcma_bus {
|
||||
/* The MMIO area. */
|
||||
void __iomem *mmio;
|
||||
@@ -191,14 +323,18 @@ struct bcma_bus {
|
||||
@@ -191,14 +326,18 @@ struct bcma_bus {
|
||||
|
||||
struct bcma_chipinfo chipinfo;
|
||||
|
||||
@ -4871,7 +4874,7 @@
|
||||
|
||||
/* We decided to share SPROM struct with SSB as long as we do not need
|
||||
* any hacks for BCMA. This simplifies drivers code. */
|
||||
@@ -282,6 +418,7 @@ static inline void bcma_maskset16(struct
|
||||
@@ -282,6 +421,7 @@ static inline void bcma_maskset16(struct
|
||||
bcma_write16(cc, offset, (bcma_read16(cc, offset) & mask) | set);
|
||||
}
|
||||
|
||||
@ -4879,7 +4882,7 @@
|
||||
extern bool bcma_core_is_enabled(struct bcma_device *core);
|
||||
extern void bcma_core_disable(struct bcma_device *core, u32 flags);
|
||||
extern int bcma_core_enable(struct bcma_device *core, u32 flags);
|
||||
@@ -289,6 +426,7 @@ extern void bcma_core_set_clockmode(stru
|
||||
@@ -289,6 +429,7 @@ extern void bcma_core_set_clockmode(stru
|
||||
enum bcma_clkmode clkmode);
|
||||
extern void bcma_core_pll_ctl(struct bcma_device *core, u32 req, u32 status,
|
||||
bool on);
|
||||
|
@ -1476,7 +1476,7 @@
|
||||
#define BCMA_CORE_4706_MAC_GBIT 0x52D
|
||||
#define BCMA_CORE_AMEMC 0x52E /* DDR1/2 memory controller core */
|
||||
#define BCMA_CORE_ALTA 0x534 /* I2S core */
|
||||
@@ -134,12 +146,17 @@ struct bcma_host_ops {
|
||||
@@ -134,12 +146,20 @@ struct bcma_host_ops {
|
||||
#define BCMA_CORE_I2S 0x834
|
||||
#define BCMA_CORE_SDR_DDR1_MEM_CTL 0x835 /* SDR/DDR1 memory controller core */
|
||||
#define BCMA_CORE_SHIM 0x837 /* SHIM component in ubus/6362 */
|
||||
@ -1491,10 +1491,13 @@
|
||||
/* Chip IDs of PCIe devices */
|
||||
#define BCMA_CHIP_ID_BCM4313 0x4313
|
||||
+#define BCMA_CHIP_ID_BCM43142 43142
|
||||
+#define BCMA_CHIP_ID_BCM43131 43131
|
||||
+#define BCMA_CHIP_ID_BCM43217 43217
|
||||
+#define BCMA_CHIP_ID_BCM43222 43222
|
||||
#define BCMA_CHIP_ID_BCM43224 43224
|
||||
#define BCMA_PKG_ID_BCM43224_FAB_CSM 0x8
|
||||
#define BCMA_PKG_ID_BCM43224_FAB_SMIC 0xa
|
||||
@@ -172,6 +189,65 @@ struct bcma_host_ops {
|
||||
@@ -172,6 +192,65 @@ struct bcma_host_ops {
|
||||
#define BCMA_PKG_ID_BCM5357 11
|
||||
#define BCMA_CHIP_ID_BCM53572 53572
|
||||
#define BCMA_PKG_ID_BCM47188 9
|
||||
|
@ -843,7 +843,7 @@
|
||||
#define BCMA_CORE_4706_MAC_GBIT 0x52D
|
||||
#define BCMA_CORE_AMEMC 0x52E /* DDR1/2 memory controller core */
|
||||
#define BCMA_CORE_ALTA 0x534 /* I2S core */
|
||||
@@ -134,12 +146,17 @@ struct bcma_host_ops {
|
||||
@@ -134,12 +146,20 @@ struct bcma_host_ops {
|
||||
#define BCMA_CORE_I2S 0x834
|
||||
#define BCMA_CORE_SDR_DDR1_MEM_CTL 0x835 /* SDR/DDR1 memory controller core */
|
||||
#define BCMA_CORE_SHIM 0x837 /* SHIM component in ubus/6362 */
|
||||
@ -858,10 +858,13 @@
|
||||
/* Chip IDs of PCIe devices */
|
||||
#define BCMA_CHIP_ID_BCM4313 0x4313
|
||||
+#define BCMA_CHIP_ID_BCM43142 43142
|
||||
+#define BCMA_CHIP_ID_BCM43131 43131
|
||||
+#define BCMA_CHIP_ID_BCM43217 43217
|
||||
+#define BCMA_CHIP_ID_BCM43222 43222
|
||||
#define BCMA_CHIP_ID_BCM43224 43224
|
||||
#define BCMA_PKG_ID_BCM43224_FAB_CSM 0x8
|
||||
#define BCMA_PKG_ID_BCM43224_FAB_SMIC 0xa
|
||||
@@ -172,6 +189,65 @@ struct bcma_host_ops {
|
||||
@@ -172,6 +192,65 @@ struct bcma_host_ops {
|
||||
#define BCMA_PKG_ID_BCM5357 11
|
||||
#define BCMA_CHIP_ID_BCM53572 53572
|
||||
#define BCMA_PKG_ID_BCM47188 9
|
||||
|
Loading…
Reference in New Issue
Block a user