X-Git-Url: https://git.archive.openwrt.org/?p=15.05%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Fpatches-3.18%2F078-05-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch;fp=target%2Flinux%2Fgeneric%2Fpatches-3.18%2F078-05-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch;h=9e5a37980a738f698a0149de9c6797ebf40e1389;hp=0000000000000000000000000000000000000000;hb=cd903cf340a0e080586d50adde61f82eadc907d3;hpb=fb582172ad8291c7cd4d015f1606b1f31fd4485a diff --git a/target/linux/generic/patches-3.18/078-05-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch b/target/linux/generic/patches-3.18/078-05-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch new file mode 100644 index 0000000000..9e5a37980a --- /dev/null +++ b/target/linux/generic/patches-3.18/078-05-bgmac-fix-MAC-soft-reset-bit-for-corerev-4.patch @@ -0,0 +1,36 @@ +From c02bc350f9dbce7d637c394a6e1c4d29dc5b28b2 Mon Sep 17 00:00:00 2001 +From: Felix Fietkau +Date: Tue, 12 Apr 2016 18:27:29 +0200 +Subject: [PATCH] bgmac: fix MAC soft-reset bit for corerev > 4 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Only core revisions older than 4 use BGMAC_CMDCFG_SR_REV0. This mainly +fixes support for BCM4708A0KF SoCs with Ethernet core rev 5 (it means +only some devices as most of BCM4708A0KF-s got core rev 4). +This was tested for regressions on BCM47094 which doesn't seem to care +which bit gets used. + +Signed-off-by: Felix Fietkau +Signed-off-by: Rafał Miłecki +Signed-off-by: David S. Miller +--- + drivers/net/ethernet/broadcom/bgmac.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/net/ethernet/broadcom/bgmac.h ++++ b/drivers/net/ethernet/broadcom/bgmac.h +@@ -198,9 +198,9 @@ + #define BGMAC_CMDCFG_TAI 0x00000200 + #define BGMAC_CMDCFG_HD 0x00000400 /* Set if in half duplex mode */ + #define BGMAC_CMDCFG_HD_SHIFT 10 +-#define BGMAC_CMDCFG_SR_REV0 0x00000800 /* Set to reset mode, for other revs */ +-#define BGMAC_CMDCFG_SR_REV4 0x00002000 /* Set to reset mode, only for core rev 4 */ +-#define BGMAC_CMDCFG_SR(rev) ((rev == 4) ? BGMAC_CMDCFG_SR_REV4 : BGMAC_CMDCFG_SR_REV0) ++#define BGMAC_CMDCFG_SR_REV0 0x00000800 /* Set to reset mode, for core rev 0-3 */ ++#define BGMAC_CMDCFG_SR_REV4 0x00002000 /* Set to reset mode, for core rev >= 4 */ ++#define BGMAC_CMDCFG_SR(rev) ((rev >= 4) ? BGMAC_CMDCFG_SR_REV4 : BGMAC_CMDCFG_SR_REV0) + #define BGMAC_CMDCFG_ML 0x00008000 /* Set to activate mac loopback mode */ + #define BGMAC_CMDCFG_AE 0x00400000 + #define BGMAC_CMDCFG_CFE 0x00800000