|
25 | 25 | #define BRCM_PHY_REV(phydev) \
|
26 | 26 | ((phydev)->drv->phy_id & ~((phydev)->drv->phy_id_mask))
|
27 | 27 |
|
28 |
| -/* |
29 |
| - * Broadcom LED source encodings. These are used in BCM5461, BCM5481, |
30 |
| - * BCM5482, and possibly some others. |
31 |
| - */ |
32 |
| -#define BCM_LED_SRC_LINKSPD1 0x0 |
33 |
| -#define BCM_LED_SRC_LINKSPD2 0x1 |
34 |
| -#define BCM_LED_SRC_XMITLED 0x2 |
35 |
| -#define BCM_LED_SRC_ACTIVITYLED 0x3 |
36 |
| -#define BCM_LED_SRC_FDXLED 0x4 |
37 |
| -#define BCM_LED_SRC_SLAVE 0x5 |
38 |
| -#define BCM_LED_SRC_INTR 0x6 |
39 |
| -#define BCM_LED_SRC_QUALITY 0x7 |
40 |
| -#define BCM_LED_SRC_RCVLED 0x8 |
41 |
| -#define BCM_LED_SRC_MULTICOLOR1 0xa |
42 |
| -#define BCM_LED_SRC_OPENSHORT 0xb |
43 |
| -#define BCM_LED_SRC_OFF 0xe /* Tied high */ |
44 |
| -#define BCM_LED_SRC_ON 0xf /* Tied low */ |
45 |
| - |
46 |
| - |
47 |
| -/* |
48 |
| - * BCM5482: Shadow registers |
49 |
| - * Shadow values go into bits [14:10] of register 0x1c to select a shadow |
50 |
| - * register to access. |
51 |
| - */ |
52 |
| -/* 00101: Spare Control Register 3 */ |
53 |
| -#define BCM54XX_SHD_SCR3 0x05 |
54 |
| -#define BCM54XX_SHD_SCR3_DEF_CLK125 0x0001 |
55 |
| -#define BCM54XX_SHD_SCR3_DLLAPD_DIS 0x0002 |
56 |
| -#define BCM54XX_SHD_SCR3_TRDDAPD 0x0004 |
57 |
| - |
58 |
| -/* 01010: Auto Power-Down */ |
59 |
| -#define BCM54XX_SHD_APD 0x0a |
60 |
| -#define BCM54XX_SHD_APD_EN 0x0020 |
61 |
| - |
62 |
| -#define BCM5482_SHD_LEDS1 0x0d /* 01101: LED Selector 1 */ |
63 |
| - /* LED3 / ~LINKSPD[2] selector */ |
64 |
| -#define BCM5482_SHD_LEDS1_LED3(src) ((src & 0xf) << 4) |
65 |
| - /* LED1 / ~LINKSPD[1] selector */ |
66 |
| -#define BCM5482_SHD_LEDS1_LED1(src) ((src & 0xf) << 0) |
67 |
| -#define BCM54XX_SHD_RGMII_MODE 0x0b /* 01011: RGMII Mode Selector */ |
68 |
| -#define BCM5482_SHD_SSD 0x14 /* 10100: Secondary SerDes control */ |
69 |
| -#define BCM5482_SHD_SSD_LEDM 0x0008 /* SSD LED Mode enable */ |
70 |
| -#define BCM5482_SHD_SSD_EN 0x0001 /* SSD enable */ |
71 |
| -#define BCM5482_SHD_MODE 0x1f /* 11111: Mode Control Register */ |
72 |
| -#define BCM5482_SHD_MODE_1000BX 0x0001 /* Enable 1000BASE-X registers */ |
73 |
| - |
74 |
| - |
75 |
| -/* |
76 |
| - * EXPANSION SHADOW ACCESS REGISTERS. (PHY REG 0x15, 0x16, and 0x17) |
77 |
| - */ |
78 |
| -#define MII_BCM54XX_EXP_AADJ1CH0 0x001f |
79 |
| -#define MII_BCM54XX_EXP_AADJ1CH0_SWP_ABCD_OEN 0x0200 |
80 |
| -#define MII_BCM54XX_EXP_AADJ1CH0_SWSEL_THPF 0x0100 |
81 |
| -#define MII_BCM54XX_EXP_AADJ1CH3 0x601f |
82 |
| -#define MII_BCM54XX_EXP_AADJ1CH3_ADCCKADJ 0x0002 |
83 |
| -#define MII_BCM54XX_EXP_EXP08 0x0F08 |
84 |
| -#define MII_BCM54XX_EXP_EXP08_RJCT_2MHZ 0x0001 |
85 |
| -#define MII_BCM54XX_EXP_EXP08_EARLY_DAC_WAKE 0x0200 |
86 |
| -#define MII_BCM54XX_EXP_EXP75 0x0f75 |
87 |
| -#define MII_BCM54XX_EXP_EXP75_VDACCTRL 0x003c |
88 |
| -#define MII_BCM54XX_EXP_EXP75_CM_OSC 0x0001 |
89 |
| -#define MII_BCM54XX_EXP_EXP96 0x0f96 |
90 |
| -#define MII_BCM54XX_EXP_EXP96_MYST 0x0010 |
91 |
| -#define MII_BCM54XX_EXP_EXP97 0x0f97 |
92 |
| -#define MII_BCM54XX_EXP_EXP97_MYST 0x0c0c |
93 |
| - |
94 |
| -/* |
95 |
| - * BCM5482: Secondary SerDes registers |
96 |
| - */ |
97 |
| -#define BCM5482_SSD_1000BX_CTL 0x00 /* 1000BASE-X Control */ |
98 |
| -#define BCM5482_SSD_1000BX_CTL_PWRDOWN 0x0800 /* Power-down SSD */ |
99 |
| -#define BCM5482_SSD_SGMII_SLAVE 0x15 /* SGMII Slave Register */ |
100 |
| -#define BCM5482_SSD_SGMII_SLAVE_EN 0x0002 /* Slave mode enable */ |
101 |
| -#define BCM5482_SSD_SGMII_SLAVE_AD 0x0001 /* Slave auto-detection */ |
102 |
| - |
103 |
| - |
104 |
| -/*****************************************************************************/ |
105 |
| -/* Fast Ethernet Transceiver definitions. */ |
106 |
| -/*****************************************************************************/ |
107 |
| - |
108 |
| -#define MII_BRCM_FET_INTREG 0x1a /* Interrupt register */ |
109 |
| -#define MII_BRCM_FET_IR_MASK 0x0100 /* Mask all interrupts */ |
110 |
| -#define MII_BRCM_FET_IR_LINK_EN 0x0200 /* Link status change enable */ |
111 |
| -#define MII_BRCM_FET_IR_SPEED_EN 0x0400 /* Link speed change enable */ |
112 |
| -#define MII_BRCM_FET_IR_DUPLEX_EN 0x0800 /* Duplex mode change enable */ |
113 |
| -#define MII_BRCM_FET_IR_ENABLE 0x4000 /* Interrupt enable */ |
114 |
| - |
115 |
| -#define MII_BRCM_FET_BRCMTEST 0x1f /* Brcm test register */ |
116 |
| -#define MII_BRCM_FET_BT_SRE 0x0080 /* Shadow register enable */ |
117 |
| - |
118 |
| - |
119 |
| -/*** Shadow register definitions ***/ |
120 |
| - |
121 |
| -#define MII_BRCM_FET_SHDW_MISCCTRL 0x10 /* Shadow misc ctrl */ |
122 |
| -#define MII_BRCM_FET_SHDW_MC_FAME 0x4000 /* Force Auto MDIX enable */ |
123 |
| - |
124 |
| -#define MII_BRCM_FET_SHDW_AUXMODE4 0x1a /* Auxiliary mode 4 */ |
125 |
| -#define MII_BRCM_FET_SHDW_AM4_LED_MASK 0x0003 |
126 |
| -#define MII_BRCM_FET_SHDW_AM4_LED_MODE1 0x0001 |
127 |
| - |
128 |
| -#define MII_BRCM_FET_SHDW_AUXSTAT2 0x1b /* Auxiliary status 2 */ |
129 |
| -#define MII_BRCM_FET_SHDW_AS2_APDE 0x0020 /* Auto power down enable */ |
130 |
| - |
131 |
| - |
132 | 28 | MODULE_DESCRIPTION("Broadcom PHY driver");
|
133 | 29 | MODULE_AUTHOR("Maciej W. Rozycki");
|
134 | 30 | MODULE_LICENSE("GPL");
|
135 | 31 |
|
136 |
| -/* |
137 |
| - * Indirect register access functions for the 1000BASE-T/100BASE-TX/10BASE-T |
138 |
| - * 0x1c shadow registers. |
139 |
| - */ |
140 |
| -static int bcm54xx_shadow_read(struct phy_device *phydev, u16 shadow) |
141 |
| -{ |
142 |
| - phy_write(phydev, MII_BCM54XX_SHD, MII_BCM54XX_SHD_VAL(shadow)); |
143 |
| - return MII_BCM54XX_SHD_DATA(phy_read(phydev, MII_BCM54XX_SHD)); |
144 |
| -} |
145 |
| - |
146 |
| -static int bcm54xx_shadow_write(struct phy_device *phydev, u16 shadow, u16 val) |
147 |
| -{ |
148 |
| - return phy_write(phydev, MII_BCM54XX_SHD, |
149 |
| - MII_BCM54XX_SHD_WRITE | |
150 |
| - MII_BCM54XX_SHD_VAL(shadow) | |
151 |
| - MII_BCM54XX_SHD_DATA(val)); |
152 |
| -} |
153 |
| - |
154 | 32 | /* Indirect register access functions for the Expansion Registers */
|
155 | 33 | static int bcm54xx_exp_read(struct phy_device *phydev, u16 regnum)
|
156 | 34 | {
|
|
0 commit comments