9e5a37980a738f698a0149de9c6797ebf40e1389
[15.05/openwrt.git] / target / linux / generic / patches-3.18 / 078-05-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch
1 From c02bc350f9dbce7d637c394a6e1c4d29dc5b28b2 Mon Sep 17 00:00:00 2001
2 From: Felix Fietkau <nbd@openwrt.org>
3 Date: Tue, 12 Apr 2016 18:27:29 +0200
4 Subject: [PATCH] bgmac: fix MAC soft-reset bit for corerev > 4
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 Only core revisions older than 4 use BGMAC_CMDCFG_SR_REV0. This mainly
10 fixes support for BCM4708A0KF SoCs with Ethernet core rev 5 (it means
11 only some devices as most of BCM4708A0KF-s got core rev 4).
12 This was tested for regressions on BCM47094 which doesn't seem to care
13 which bit gets used.
14
15 Signed-off-by: Felix Fietkau <nbd@openwrt.org>
16 Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
17 Signed-off-by: David S. Miller <davem@davemloft.net>
18 ---
19  drivers/net/ethernet/broadcom/bgmac.h | 6 +++---
20  1 file changed, 3 insertions(+), 3 deletions(-)
21
22 --- a/drivers/net/ethernet/broadcom/bgmac.h
23 +++ b/drivers/net/ethernet/broadcom/bgmac.h
24 @@ -198,9 +198,9 @@
25  #define  BGMAC_CMDCFG_TAI                      0x00000200
26  #define  BGMAC_CMDCFG_HD                       0x00000400      /* Set if in half duplex mode */
27  #define  BGMAC_CMDCFG_HD_SHIFT                 10
28 -#define  BGMAC_CMDCFG_SR_REV0                  0x00000800      /* Set to reset mode, for other revs */
29 -#define  BGMAC_CMDCFG_SR_REV4                  0x00002000      /* Set to reset mode, only for core rev 4 */
30 -#define  BGMAC_CMDCFG_SR(rev)  ((rev == 4) ? BGMAC_CMDCFG_SR_REV4 : BGMAC_CMDCFG_SR_REV0)
31 +#define  BGMAC_CMDCFG_SR_REV0                  0x00000800      /* Set to reset mode, for core rev 0-3 */
32 +#define  BGMAC_CMDCFG_SR_REV4                  0x00002000      /* Set to reset mode, for core rev >= 4 */
33 +#define  BGMAC_CMDCFG_SR(rev)  ((rev >= 4) ? BGMAC_CMDCFG_SR_REV4 : BGMAC_CMDCFG_SR_REV0)
34  #define  BGMAC_CMDCFG_ML                       0x00008000      /* Set to activate mac loopback mode */
35  #define  BGMAC_CMDCFG_AE                       0x00400000
36  #define  BGMAC_CMDCFG_CFE                      0x00800000