514fe26f1ba02caff96d4e88b4cfe805c42a39f6
[openwrt/staging/yousong.git] / target / linux / generic / patches-4.4 / 071-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch
1 From 9e4e6206c67ae11d68fc96882256f37c237087d4 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
3 Date: Mon, 22 Feb 2016 22:51:13 +0100
4 Subject: [PATCH] bgmac: support Ethernet device on BCM47094 SoC
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 It needs very similar workarounds to the one on BCM4707. It was tested
10 on D-Link DIR-885L home router.
11
12 Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
13 Signed-off-by: David S. Miller <davem@davemloft.net>
14 ---
15 drivers/net/ethernet/broadcom/bgmac.c | 6 ++++--
16 1 file changed, 4 insertions(+), 2 deletions(-)
17
18 --- a/drivers/net/ethernet/broadcom/bgmac.c
19 +++ b/drivers/net/ethernet/broadcom/bgmac.c
20 @@ -30,6 +30,7 @@ static inline bool bgmac_is_bcm4707_fami
21 {
22 switch (bgmac->core->bus->chipinfo.id) {
23 case BCMA_CHIP_ID_BCM4707:
24 + case BCMA_CHIP_ID_BCM47094:
25 case BCMA_CHIP_ID_BCM53018:
26 return true;
27 default:
28 @@ -1052,8 +1053,9 @@ static void bgmac_chip_reset(struct bgma
29 (ci->id == BCMA_CHIP_ID_BCM53572 && ci->pkg == BCMA_PKG_ID_BCM47188))
30 iost &= ~BGMAC_BCMA_IOST_ATTACHED;
31
32 - /* 3GMAC: for BCM4707, only do core reset at bgmac_probe() */
33 - if (ci->id != BCMA_CHIP_ID_BCM4707) {
34 + /* 3GMAC: for BCM4707 & BCM47094, only do core reset at bgmac_probe() */
35 + if (ci->id != BCMA_CHIP_ID_BCM4707 &&
36 + ci->id != BCMA_CHIP_ID_BCM47094) {
37 flags = 0;
38 if (iost & BGMAC_BCMA_IOST_ATTACHED) {
39 flags = BGMAC_BCMA_IOCTL_SW_CLKEN;