summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorJ. German Rivera <Jose.G.Rivera@freescale.com>2013-08-30 18:04:53 (GMT)
committerJ. German Rivera <German.Rivera@freescale.com>2013-08-30 18:04:53 (GMT)
commitc57b01e3b8b90e9179b503bffd3b5c54bb688aec (patch)
treef41ef18f861237846fdd78d40b7400b2aa74c474 /drivers/net
parent17fadc96c75c103cb0ead1d340be2d3212176be6 (diff)
parent2baf518cf0005757c3851f9c2ce18904d2a0218e (diff)
downloadlinux-fsl-qoriq-c57b01e3b8b90e9179b503bffd3b5c54bb688aec.tar.xz
Merge branch 'b4860rev2' into sdk-v1.4.x
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c
index eadb36f..7a56ec0 100644
--- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c
+++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c
@@ -457,6 +457,12 @@ static const struct qe_firmware *FindFmanMicrocode(void)
/* Returning NULL here forces the reuse of the IRAM content */
return NULL;
}
+#define SVR_SECURITY_MASK 0x00080000
+#define SVR_PERSONALITY_MASK 0x0000FF00
+#define SVR_VER_IGNORE_MASK (SVR_SECURITY_MASK | SVR_PERSONALITY_MASK)
+#define SVR_B4860_REV1_VALUE 0x86800010
+#define SVR_B4860_REV2_VALUE 0x86800020
+
static t_LnxWrpFmDev * ReadFmDevTreeNode (struct platform_device *of_dev)
{
@@ -512,6 +518,17 @@ static t_LnxWrpFmDev * ReadFmDevTreeNode (struct platform_device *of_dev)
return NULL;
}
+ {
+ uint32_t svr;
+
+ svr = mfspr(SPRN_SVR);
+
+ if ((svr & ~SVR_VER_IGNORE_MASK) == SVR_B4860_REV2_VALUE) {
+ res.end = 0x80000;
+ res.start = 0;
+ }
+ }
+
p_LnxWrpFmDev->fmBaseAddr = 0;
p_LnxWrpFmDev->fmPhysBaseAddr = res.start;
p_LnxWrpFmDev->fmMemSize = res.end + 1 - res.start;