forked from mirrors/linux
		
	net: phy: broadcom: move shadow 0x1C register accessors to brcmphy.h
The shadow register 0x1C is used both by the BCM54xxx PHYs and the BCM7xxx internal PHYs, move the accessors to a common location so both drivers can use them. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									3af20efc0f
								
							
						
					
					
						commit
						705314797b
					
				
					 2 changed files with 20 additions and 18 deletions
				
			
		| 
						 | 
				
			
			@ -29,24 +29,6 @@ MODULE_DESCRIPTION("Broadcom PHY driver");
 | 
			
		|||
MODULE_AUTHOR("Maciej W. Rozycki");
 | 
			
		||||
MODULE_LICENSE("GPL");
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Indirect register access functions for the 1000BASE-T/100BASE-TX/10BASE-T
 | 
			
		||||
 * 0x1c shadow registers.
 | 
			
		||||
 */
 | 
			
		||||
static int bcm54xx_shadow_read(struct phy_device *phydev, u16 shadow)
 | 
			
		||||
{
 | 
			
		||||
	phy_write(phydev, MII_BCM54XX_SHD, MII_BCM54XX_SHD_VAL(shadow));
 | 
			
		||||
	return MII_BCM54XX_SHD_DATA(phy_read(phydev, MII_BCM54XX_SHD));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int bcm54xx_shadow_write(struct phy_device *phydev, u16 shadow, u16 val)
 | 
			
		||||
{
 | 
			
		||||
	return phy_write(phydev, MII_BCM54XX_SHD,
 | 
			
		||||
			 MII_BCM54XX_SHD_WRITE |
 | 
			
		||||
			 MII_BCM54XX_SHD_VAL(shadow) |
 | 
			
		||||
			 MII_BCM54XX_SHD_DATA(val));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Indirect register access functions for the Expansion Registers */
 | 
			
		||||
static int bcm54xx_exp_read(struct phy_device *phydev, u16 regnum)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -195,4 +195,24 @@
 | 
			
		|||
#define MII_BRCM_FET_SHDW_AUXSTAT2	0x1b	/* Auxiliary status 2 */
 | 
			
		||||
#define MII_BRCM_FET_SHDW_AS2_APDE	0x0020	/* Auto power down enable */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Indirect register access functions for the 1000BASE-T/100BASE-TX/10BASE-T
 | 
			
		||||
 * 0x1c shadow registers.
 | 
			
		||||
 */
 | 
			
		||||
static inline int bcm54xx_shadow_read(struct phy_device *phydev, u16 shadow)
 | 
			
		||||
{
 | 
			
		||||
	phy_write(phydev, MII_BCM54XX_SHD, MII_BCM54XX_SHD_VAL(shadow));
 | 
			
		||||
	return MII_BCM54XX_SHD_DATA(phy_read(phydev, MII_BCM54XX_SHD));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline int bcm54xx_shadow_write(struct phy_device *phydev, u16 shadow,
 | 
			
		||||
				       u16 val)
 | 
			
		||||
{
 | 
			
		||||
	return phy_write(phydev, MII_BCM54XX_SHD,
 | 
			
		||||
			 MII_BCM54XX_SHD_WRITE |
 | 
			
		||||
			 MII_BCM54XX_SHD_VAL(shadow) |
 | 
			
		||||
			 MII_BCM54XX_SHD_DATA(val));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif /* _LINUX_BRCMPHY_H */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue