net: phy: broadcom: add helper for PHY revision and patch level
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 19 Sep 2014 20:07:50 +0000 (13:07 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 19 Sep 2014 20:27:07 +0000 (16:27 -0400)
The Broadcom BCM7xxx internal PHYs do not contain any useful revision
information in the low 4-bits of their MII_PHYSID2 (MII register 3)
which could allow us to properly identify them.

As a result, we need the actual hardware block integrating these PHYs:
GENET or the SF2 switch to tell us what revision they are built with. To
assist with that, add two helper macros for fetching the the PHY
revision and patch level from the struct phy_device::dev_flags.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/brcmphy.h

index 5bd35cc..e4ee9c6 100644 (file)
@@ -41,6 +41,8 @@
 #define PHY_BRCM_DIS_TXCRXC_NOENRGY    0x00008000
 /* Broadcom BCM7xxx specific workarounds */
 #define PHY_BRCM_100MBPS_WAR           0x00010000
+#define PHY_BRCM_7XXX_REV(x)           (((x) >> 8) & 0xff)
+#define PHY_BRCM_7XXX_PATCH(x)         ((x) & 0xff)
 #define PHY_BCM_FLAGS_VALID            0x80000000
 
 /* Broadcom BCM54XX register definitions, common to most Broadcom PHYs */