diff options
author | J. German Rivera <Jose.G.Rivera@freescale.com> | 2013-08-30 19:00:52 (GMT) |
---|---|---|
committer | J. German Rivera <German.Rivera@freescale.com> | 2013-08-30 19:00:52 (GMT) |
commit | 0b162009876afc5df7313bb99bdc9a8841a5f69e (patch) | |
tree | d756589dca76240f78e2584eafdd17f6a89c56c5 /drivers/net/ethernet/freescale/fman | |
parent | 63479e74d5bf8cad9e7f7bde52d5eb4d43925df9 (diff) | |
parent | 2baf518cf0005757c3851f9c2ce18904d2a0218e (diff) | |
download | linux-fsl-qoriq-0b162009876afc5df7313bb99bdc9a8841a5f69e.tar.xz |
Merge branch 'b4860rev2' into sdk-kernel-3.8
Diffstat (limited to 'drivers/net/ethernet/freescale/fman')
-rw-r--r-- | drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c | 17 |
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 b136b77..10de0ad 100644 --- a/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c +++ b/drivers/net/ethernet/freescale/fman/src/wrapper/lnxwrp_fm.c @@ -462,6 +462,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) { @@ -517,6 +523,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; |