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 5bd35cc0d4715b44f886fff63b7f04a8db5f4969..e4ee9c6679e8dc67a3684e34e190dba7fadd71a2 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 */