diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2016-02-23 00:51:13 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-24 23:33:58 +0300 |
commit | 9e4e6206c67ae11d68fc96882256f37c237087d4 (patch) | |
tree | 2bb1cb8db0d806b3a7285741bb1d06487b7cbca3 | |
parent | dccb235e7e9e56eb2e360eb035581a4cfb2f591c (diff) | |
download | linux-9e4e6206c67ae11d68fc96882256f37c237087d4.tar.xz |
bgmac: support Ethernet device on BCM47094 SoC
It needs very similar workarounds to the one on BCM4707. It was tested
on D-Link DIR-885L home router.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/broadcom/bgmac.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c index 230f8e6209e5..99b30a952b38 100644 --- a/drivers/net/ethernet/broadcom/bgmac.c +++ b/drivers/net/ethernet/broadcom/bgmac.c @@ -30,6 +30,7 @@ static inline bool bgmac_is_bcm4707_family(struct bgmac *bgmac) { switch (bgmac->core->bus->chipinfo.id) { case BCMA_CHIP_ID_BCM4707: + case BCMA_CHIP_ID_BCM47094: case BCMA_CHIP_ID_BCM53018: return true; default: @@ -1052,8 +1053,9 @@ static void bgmac_chip_reset(struct bgmac *bgmac) (ci->id == BCMA_CHIP_ID_BCM53572 && ci->pkg == BCMA_PKG_ID_BCM47188)) iost &= ~BGMAC_BCMA_IOST_ATTACHED; - /* 3GMAC: for BCM4707, only do core reset at bgmac_probe() */ - if (ci->id != BCMA_CHIP_ID_BCM4707) { + /* 3GMAC: for BCM4707 & BCM47094, only do core reset at bgmac_probe() */ + if (ci->id != BCMA_CHIP_ID_BCM4707 && + ci->id != BCMA_CHIP_ID_BCM47094) { flags = 0; if (iost & BGMAC_BCMA_IOST_ATTACHED) { flags = BGMAC_BCMA_IOCTL_SW_CLKEN; |