Commit 9e4e6206 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by David S. Miller

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: default avatarRafał Miłecki <zajec5@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dccb235e
...@@ -30,6 +30,7 @@ static inline bool bgmac_is_bcm4707_family(struct bgmac *bgmac) ...@@ -30,6 +30,7 @@ static inline bool bgmac_is_bcm4707_family(struct bgmac *bgmac)
{ {
switch (bgmac->core->bus->chipinfo.id) { switch (bgmac->core->bus->chipinfo.id) {
case BCMA_CHIP_ID_BCM4707: case BCMA_CHIP_ID_BCM4707:
case BCMA_CHIP_ID_BCM47094:
case BCMA_CHIP_ID_BCM53018: case BCMA_CHIP_ID_BCM53018:
return true; return true;
default: default:
...@@ -1052,8 +1053,9 @@ static void bgmac_chip_reset(struct bgmac *bgmac) ...@@ -1052,8 +1053,9 @@ static void bgmac_chip_reset(struct bgmac *bgmac)
(ci->id == BCMA_CHIP_ID_BCM53572 && ci->pkg == BCMA_PKG_ID_BCM47188)) (ci->id == BCMA_CHIP_ID_BCM53572 && ci->pkg == BCMA_PKG_ID_BCM47188))
iost &= ~BGMAC_BCMA_IOST_ATTACHED; iost &= ~BGMAC_BCMA_IOST_ATTACHED;
/* 3GMAC: for BCM4707, only do core reset at bgmac_probe() */ /* 3GMAC: for BCM4707 & BCM47094, only do core reset at bgmac_probe() */
if (ci->id != BCMA_CHIP_ID_BCM4707) { if (ci->id != BCMA_CHIP_ID_BCM4707 &&
ci->id != BCMA_CHIP_ID_BCM47094) {
flags = 0; flags = 0;
if (iost & BGMAC_BCMA_IOST_ATTACHED) { if (iost & BGMAC_BCMA_IOST_ATTACHED) {
flags = BGMAC_BCMA_IOCTL_SW_CLKEN; flags = BGMAC_BCMA_IOCTL_SW_CLKEN;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment