OpenWrt – Blame information for rev 4
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
4 | office | 1 | From: Jon Mason <jon.mason@broadcom.com> |
2 | Date: Fri, 4 Nov 2016 01:10:56 -0400 |
||
3 | Subject: [PATCH] net: phy: broadcom: add bcm54xx_auxctl_read |
||
4 | |||
5 | Add a helper function to read the AUXCTL register for the BCM54xx. This |
||
6 | mirrors the bcm54xx_auxctl_write function already present in the code. |
||
7 | |||
8 | Signed-off-by: Jon Mason <jon.mason@broadcom.com> |
||
9 | Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> |
||
10 | Signed-off-by: David S. Miller <davem@davemloft.net> |
||
11 | --- |
||
12 | |||
13 | --- a/drivers/net/phy/broadcom.c |
||
14 | +++ b/drivers/net/phy/broadcom.c |
||
15 | @@ -30,6 +30,16 @@ MODULE_DESCRIPTION("Broadcom PHY driver" |
||
16 | MODULE_AUTHOR("Maciej W. Rozycki"); |
||
17 | MODULE_LICENSE("GPL"); |
||
18 | |||
19 | +static int bcm54xx_auxctl_read(struct phy_device *phydev, u16 regnum) |
||
20 | +{ |
||
21 | + /* The register must be written to both the Shadow Register Select and |
||
22 | + * the Shadow Read Register Selector |
||
23 | + */ |
||
24 | + phy_write(phydev, MII_BCM54XX_AUX_CTL, regnum | |
||
25 | + regnum << MII_BCM54XX_AUXCTL_SHDWSEL_READ_SHIFT); |
||
26 | + return phy_read(phydev, MII_BCM54XX_AUX_CTL); |
||
27 | +} |
||
28 | + |
||
29 | static int bcm54xx_auxctl_write(struct phy_device *phydev, u16 regnum, u16 val) |
||
30 | { |
||
31 | return phy_write(phydev, MII_BCM54XX_AUX_CTL, regnum | val); |
||
32 | --- a/include/linux/brcmphy.h |
||
33 | +++ b/include/linux/brcmphy.h |
||
34 | @@ -110,6 +110,7 @@ |
||
35 | #define MII_BCM54XX_AUXCTL_MISC_FORCE_AMDIX 0x0200 |
||
36 | #define MII_BCM54XX_AUXCTL_MISC_RDSEL_MISC 0x7000 |
||
37 | #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC 0x0007 |
||
38 | +#define MII_BCM54XX_AUXCTL_SHDWSEL_READ_SHIFT 12 |
||
39 | |||
40 | #define MII_BCM54XX_AUXCTL_SHDWSEL_MASK 0x0007 |
||
41 |