Skip to content

Commit 439d39a

Browse files
ffainellidavem330
authored andcommitted
net: phy: broadcom: extract register definitions
The Broadcom BCM54xx register definitions are shared between BCM54xx and BCM7xx internal PHYs for which we are adding support. Extract these register definitions and put them in include/linux/brcmphy.h for use by the BCM7xxx internal PHY driver. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent c88838c commit 439d39a

File tree

2 files changed

+51
-52
lines changed

2 files changed

+51
-52
lines changed

drivers/net/phy/broadcom.c

Lines changed: 0 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -25,58 +25,6 @@
2525
#define BRCM_PHY_REV(phydev) \
2626
((phydev)->drv->phy_id & ~((phydev)->drv->phy_id_mask))
2727

28-
29-
#define MII_BCM54XX_ECR 0x10 /* BCM54xx extended control register */
30-
#define MII_BCM54XX_ECR_IM 0x1000 /* Interrupt mask */
31-
#define MII_BCM54XX_ECR_IF 0x0800 /* Interrupt force */
32-
33-
#define MII_BCM54XX_ESR 0x11 /* BCM54xx extended status register */
34-
#define MII_BCM54XX_ESR_IS 0x1000 /* Interrupt status */
35-
36-
#define MII_BCM54XX_EXP_DATA 0x15 /* Expansion register data */
37-
#define MII_BCM54XX_EXP_SEL 0x17 /* Expansion register select */
38-
#define MII_BCM54XX_EXP_SEL_SSD 0x0e00 /* Secondary SerDes select */
39-
#define MII_BCM54XX_EXP_SEL_ER 0x0f00 /* Expansion register select */
40-
41-
#define MII_BCM54XX_AUX_CTL 0x18 /* Auxiliary control register */
42-
#define MII_BCM54XX_ISR 0x1a /* BCM54xx interrupt status register */
43-
#define MII_BCM54XX_IMR 0x1b /* BCM54xx interrupt mask register */
44-
#define MII_BCM54XX_INT_CRCERR 0x0001 /* CRC error */
45-
#define MII_BCM54XX_INT_LINK 0x0002 /* Link status changed */
46-
#define MII_BCM54XX_INT_SPEED 0x0004 /* Link speed change */
47-
#define MII_BCM54XX_INT_DUPLEX 0x0008 /* Duplex mode changed */
48-
#define MII_BCM54XX_INT_LRS 0x0010 /* Local receiver status changed */
49-
#define MII_BCM54XX_INT_RRS 0x0020 /* Remote receiver status changed */
50-
#define MII_BCM54XX_INT_SSERR 0x0040 /* Scrambler synchronization error */
51-
#define MII_BCM54XX_INT_UHCD 0x0080 /* Unsupported HCD negotiated */
52-
#define MII_BCM54XX_INT_NHCD 0x0100 /* No HCD */
53-
#define MII_BCM54XX_INT_NHCDL 0x0200 /* No HCD link */
54-
#define MII_BCM54XX_INT_ANPR 0x0400 /* Auto-negotiation page received */
55-
#define MII_BCM54XX_INT_LC 0x0800 /* All counters below 128 */
56-
#define MII_BCM54XX_INT_HC 0x1000 /* Counter above 32768 */
57-
#define MII_BCM54XX_INT_MDIX 0x2000 /* MDIX status change */
58-
#define MII_BCM54XX_INT_PSERR 0x4000 /* Pair swap error */
59-
60-
#define MII_BCM54XX_SHD 0x1c /* 0x1c shadow registers */
61-
#define MII_BCM54XX_SHD_WRITE 0x8000
62-
#define MII_BCM54XX_SHD_VAL(x) ((x & 0x1f) << 10)
63-
#define MII_BCM54XX_SHD_DATA(x) ((x & 0x3ff) << 0)
64-
65-
/*
66-
* AUXILIARY CONTROL SHADOW ACCESS REGISTERS. (PHY REG 0x18)
67-
*/
68-
#define MII_BCM54XX_AUXCTL_SHDWSEL_AUXCTL 0x0000
69-
#define MII_BCM54XX_AUXCTL_ACTL_TX_6DB 0x0400
70-
#define MII_BCM54XX_AUXCTL_ACTL_SMDSP_ENA 0x0800
71-
72-
#define MII_BCM54XX_AUXCTL_MISC_WREN 0x8000
73-
#define MII_BCM54XX_AUXCTL_MISC_FORCE_AMDIX 0x0200
74-
#define MII_BCM54XX_AUXCTL_MISC_RDSEL_MISC 0x7000
75-
#define MII_BCM54XX_AUXCTL_SHDWSEL_MISC 0x0007
76-
77-
#define MII_BCM54XX_AUXCTL_SHDWSEL_AUXCTL 0x0000
78-
79-
8028
/*
8129
* Broadcom LED source encodings. These are used in BCM5461, BCM5481,
8230
* BCM5482, and possibly some others.

include/linux/brcmphy.h

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,55 @@
3333
#define PHY_BRCM_DIS_TXCRXC_NOENRGY 0x00008000
3434
#define PHY_BCM_FLAGS_VALID 0x80000000
3535

36+
/* Broadcom BCM54XX register definitions, common to most Broadcom PHYs */
37+
#define MII_BCM54XX_ECR 0x10 /* BCM54xx extended control register */
38+
#define MII_BCM54XX_ECR_IM 0x1000 /* Interrupt mask */
39+
#define MII_BCM54XX_ECR_IF 0x0800 /* Interrupt force */
40+
41+
#define MII_BCM54XX_ESR 0x11 /* BCM54xx extended status register */
42+
#define MII_BCM54XX_ESR_IS 0x1000 /* Interrupt status */
43+
44+
#define MII_BCM54XX_EXP_DATA 0x15 /* Expansion register data */
45+
#define MII_BCM54XX_EXP_SEL 0x17 /* Expansion register select */
46+
#define MII_BCM54XX_EXP_SEL_SSD 0x0e00 /* Secondary SerDes select */
47+
#define MII_BCM54XX_EXP_SEL_ER 0x0f00 /* Expansion register select */
48+
49+
#define MII_BCM54XX_AUX_CTL 0x18 /* Auxiliary control register */
50+
#define MII_BCM54XX_ISR 0x1a /* BCM54xx interrupt status register */
51+
#define MII_BCM54XX_IMR 0x1b /* BCM54xx interrupt mask register */
52+
#define MII_BCM54XX_INT_CRCERR 0x0001 /* CRC error */
53+
#define MII_BCM54XX_INT_LINK 0x0002 /* Link status changed */
54+
#define MII_BCM54XX_INT_SPEED 0x0004 /* Link speed change */
55+
#define MII_BCM54XX_INT_DUPLEX 0x0008 /* Duplex mode changed */
56+
#define MII_BCM54XX_INT_LRS 0x0010 /* Local receiver status changed */
57+
#define MII_BCM54XX_INT_RRS 0x0020 /* Remote receiver status changed */
58+
#define MII_BCM54XX_INT_SSERR 0x0040 /* Scrambler synchronization error */
59+
#define MII_BCM54XX_INT_UHCD 0x0080 /* Unsupported HCD negotiated */
60+
#define MII_BCM54XX_INT_NHCD 0x0100 /* No HCD */
61+
#define MII_BCM54XX_INT_NHCDL 0x0200 /* No HCD link */
62+
#define MII_BCM54XX_INT_ANPR 0x0400 /* Auto-negotiation page received */
63+
#define MII_BCM54XX_INT_LC 0x0800 /* All counters below 128 */
64+
#define MII_BCM54XX_INT_HC 0x1000 /* Counter above 32768 */
65+
#define MII_BCM54XX_INT_MDIX 0x2000 /* MDIX status change */
66+
#define MII_BCM54XX_INT_PSERR 0x4000 /* Pair swap error */
67+
68+
#define MII_BCM54XX_SHD 0x1c /* 0x1c shadow registers */
69+
#define MII_BCM54XX_SHD_WRITE 0x8000
70+
#define MII_BCM54XX_SHD_VAL(x) ((x & 0x1f) << 10)
71+
#define MII_BCM54XX_SHD_DATA(x) ((x & 0x3ff) << 0)
72+
73+
/*
74+
* AUXILIARY CONTROL SHADOW ACCESS REGISTERS. (PHY REG 0x18)
75+
*/
76+
#define MII_BCM54XX_AUXCTL_SHDWSEL_AUXCTL 0x0000
77+
#define MII_BCM54XX_AUXCTL_ACTL_TX_6DB 0x0400
78+
#define MII_BCM54XX_AUXCTL_ACTL_SMDSP_ENA 0x0800
79+
80+
#define MII_BCM54XX_AUXCTL_MISC_WREN 0x8000
81+
#define MII_BCM54XX_AUXCTL_MISC_FORCE_AMDIX 0x0200
82+
#define MII_BCM54XX_AUXCTL_MISC_RDSEL_MISC 0x7000
83+
#define MII_BCM54XX_AUXCTL_SHDWSEL_MISC 0x0007
84+
85+
#define MII_BCM54XX_AUXCTL_SHDWSEL_AUXCTL 0x0000
86+
3687
#endif /* _LINUX_BRCMPHY_H */

0 commit comments

Comments
 (0)