Lines Matching +full:0 +full:x1f

15 #define MII_VSC82X4_EXT_PAGE_16E	0x10
16 #define MII_VSC82X4_EXT_PAGE_17E 0x11
17 #define MII_VSC82X4_EXT_PAGE_18E 0x12
20 #define MII_VSC8244_EXT_CON1 0x17
21 #define MII_VSC8244_EXTCON1_INIT 0x0000
22 #define MII_VSC8244_EXTCON1_TX_SKEW_MASK 0x0c00
23 #define MII_VSC8244_EXTCON1_RX_SKEW_MASK 0x0300
24 #define MII_VSC8244_EXTCON1_TX_SKEW 0x0800
25 #define MII_VSC8244_EXTCON1_RX_SKEW 0x0200
28 #define MII_VSC8244_IMASK 0x19
29 #define MII_VSC8244_IMASK_IEN 0x8000
30 #define MII_VSC8244_IMASK_SPEED 0x4000
31 #define MII_VSC8244_IMASK_LINK 0x2000
32 #define MII_VSC8244_IMASK_DUPLEX 0x1000
33 #define MII_VSC8244_IMASK_MASK 0xf000
35 #define MII_VSC8221_IMASK_MASK 0xa000
38 #define MII_VSC8244_ISTAT 0x1a
39 #define MII_VSC8244_ISTAT_STATUS 0x8000
40 #define MII_VSC8244_ISTAT_SPEED 0x4000
41 #define MII_VSC8244_ISTAT_LINK 0x2000
42 #define MII_VSC8244_ISTAT_DUPLEX 0x1000
50 #define MII_VSC8244_AUX_CONSTAT 0x1c
51 #define MII_VSC8244_AUXCONSTAT_INIT 0x0000
52 #define MII_VSC8244_AUXCONSTAT_DUPLEX 0x0020
53 #define MII_VSC8244_AUXCONSTAT_SPEED 0x0018
54 #define MII_VSC8244_AUXCONSTAT_GBIT 0x0010
55 #define MII_VSC8244_AUXCONSTAT_100 0x0008
57 #define MII_VSC8221_AUXCONSTAT_INIT 0x0004 /* need to set this bit? */
58 #define MII_VSC8221_AUXCONSTAT_RESERVED 0x0004
61 #define MII_VSC82X4_EXT_PAGE_ACCESS 0x1f
64 #define MII_VSC8601_EPHY_CTL 0x17
67 #define PHY_ID_VSC8234 0x000fc620
68 #define PHY_ID_VSC8244 0x000fc6c0
69 #define PHY_ID_VSC8572 0x000704d0
70 #define PHY_ID_VSC8601 0x00070420
71 #define PHY_ID_VSC7385 0x00070450
72 #define PHY_ID_VSC7388 0x00070480
73 #define PHY_ID_VSC7395 0x00070550
74 #define PHY_ID_VSC7398 0x00070580
75 #define PHY_ID_VSC8662 0x00070660
76 #define PHY_ID_VSC8221 0x000fc550
77 #define PHY_ID_VSC8211 0x000fc4b0
90 if (extcon < 0) in vsc824x_add_skew()
110 if (err < 0) in vsc824x_config_init()
119 #define VSC73XX_EXT_PAGE_ACCESS 0x1f
134 phy_write(phydev, 0x1f, 0x2a30); in vsc73xx_config_init()
135 phy_modify(phydev, 0x0c, 0x0300, 0x0200); in vsc73xx_config_init()
136 phy_write(phydev, 0x1f, 0x0000); in vsc73xx_config_init()
138 /* Config LEDs 0x61 */ in vsc73xx_config_init()
139 phy_modify(phydev, MII_TPISTATUS, 0xff00, 0x0061); in vsc73xx_config_init()
150 phy_write(phydev, 0x1f, 0x2a30); in vsc738x_config_init()
151 phy_modify(phydev, 0x08, 0x0200, 0x0200); in vsc738x_config_init()
152 phy_write(phydev, 0x1f, 0x52b5); in vsc738x_config_init()
153 phy_write(phydev, 0x10, 0xb68a); in vsc738x_config_init()
154 phy_modify(phydev, 0x12, 0xff07, 0x0003); in vsc738x_config_init()
155 phy_modify(phydev, 0x11, 0x00ff, 0x00a2); in vsc738x_config_init()
156 phy_write(phydev, 0x10, 0x968a); in vsc738x_config_init()
157 phy_write(phydev, 0x1f, 0x2a30); in vsc738x_config_init()
158 phy_modify(phydev, 0x08, 0x0200, 0x0000); in vsc738x_config_init()
159 phy_write(phydev, 0x1f, 0x0000); in vsc738x_config_init()
163 rev &= 0x0f; in vsc738x_config_init()
165 /* Special quirk for revision 0 */ in vsc738x_config_init()
166 if (rev == 0) { in vsc738x_config_init()
167 phy_write(phydev, 0x1f, 0x2a30); in vsc738x_config_init()
168 phy_modify(phydev, 0x08, 0x0200, 0x0200); in vsc738x_config_init()
169 phy_write(phydev, 0x1f, 0x52b5); in vsc738x_config_init()
170 phy_write(phydev, 0x12, 0x0000); in vsc738x_config_init()
171 phy_write(phydev, 0x11, 0x0689); in vsc738x_config_init()
172 phy_write(phydev, 0x10, 0x8f92); in vsc738x_config_init()
173 phy_write(phydev, 0x1f, 0x52b5); in vsc738x_config_init()
174 phy_write(phydev, 0x12, 0x0000); in vsc738x_config_init()
175 phy_write(phydev, 0x11, 0x0e35); in vsc738x_config_init()
176 phy_write(phydev, 0x10, 0x9786); in vsc738x_config_init()
177 phy_write(phydev, 0x1f, 0x2a30); in vsc738x_config_init()
178 phy_modify(phydev, 0x08, 0x0200, 0x0000); in vsc738x_config_init()
179 phy_write(phydev, 0x17, 0xff80); in vsc738x_config_init()
180 phy_write(phydev, 0x17, 0x0000); in vsc738x_config_init()
183 phy_write(phydev, 0x1f, 0x0000); in vsc738x_config_init()
184 phy_write(phydev, 0x12, 0x0048); in vsc738x_config_init()
186 if (rev == 0) { in vsc738x_config_init()
187 phy_write(phydev, 0x1f, 0x2a30); in vsc738x_config_init()
188 phy_write(phydev, 0x14, 0x6600); in vsc738x_config_init()
189 phy_write(phydev, 0x1f, 0x0000); in vsc738x_config_init()
190 phy_write(phydev, 0x18, 0xa24e); in vsc738x_config_init()
192 phy_write(phydev, 0x1f, 0x2a30); in vsc738x_config_init()
193 phy_modify(phydev, 0x16, 0x0fc0, 0x0240); in vsc738x_config_init()
194 phy_modify(phydev, 0x14, 0x6000, 0x4000); in vsc738x_config_init()
195 /* bits 14-15 in extended register 0x14 controls DACG amplitude in vsc738x_config_init()
198 phy_write(phydev, 0x1f, 0x0001); in vsc738x_config_init()
199 phy_modify(phydev, 0x14, 0xe000, 0x6000); in vsc738x_config_init()
200 phy_write(phydev, 0x1f, 0x0000); in vsc738x_config_init()
205 return 0; in vsc738x_config_init()
215 phy_write(phydev, 0x1f, 0x2a30); in vsc739x_config_init()
216 phy_modify(phydev, 0x08, 0x0200, 0x0200); in vsc739x_config_init()
217 phy_write(phydev, 0x1f, 0x52b5); in vsc739x_config_init()
218 phy_write(phydev, 0x10, 0xb68a); in vsc739x_config_init()
219 phy_modify(phydev, 0x12, 0xff07, 0x0003); in vsc739x_config_init()
220 phy_modify(phydev, 0x11, 0x00ff, 0x00a2); in vsc739x_config_init()
221 phy_write(phydev, 0x10, 0x968a); in vsc739x_config_init()
222 phy_write(phydev, 0x1f, 0x2a30); in vsc739x_config_init()
223 phy_modify(phydev, 0x08, 0x0200, 0x0000); in vsc739x_config_init()
224 phy_write(phydev, 0x1f, 0x0000); in vsc739x_config_init()
226 phy_write(phydev, 0x1f, 0x0000); in vsc739x_config_init()
227 phy_write(phydev, 0x12, 0x0048); in vsc739x_config_init()
228 phy_write(phydev, 0x1f, 0x2a30); in vsc739x_config_init()
229 phy_modify(phydev, 0x16, 0x0fc0, 0x0240); in vsc739x_config_init()
230 phy_modify(phydev, 0x14, 0x6000, 0x4000); in vsc739x_config_init()
231 phy_write(phydev, 0x1f, 0x0001); in vsc739x_config_init()
232 phy_modify(phydev, 0x14, 0xe000, 0x6000); in vsc739x_config_init()
233 phy_write(phydev, 0x1f, 0x0000); in vsc739x_config_init()
237 return 0; in vsc739x_config_init()
247 return 0; in vsc73xx_config_aneg()
259 if (ret < 0) in vsc8601_add_skew()
268 int ret = 0; in vsc8601_config_init()
273 if (ret < 0) in vsc8601_config_init()
276 return 0; in vsc8601_config_init()
300 if (err < 0) in vsc82xx_config_intr()
303 err = phy_write(phydev, MII_VSC8244_IMASK, 0); in vsc82xx_config_intr()
321 if (irq_status < 0) { in vsc82xx_handle_interrupt()
358 return 0; in vsc82x4_config_autocross_enable()
360 /* map extended registers set 0x10 - 0x1e */ in vsc82x4_config_autocross_enable()
361 ret = phy_write(phydev, MII_VSC82X4_EXT_PAGE_ACCESS, 0x52b5); in vsc82x4_config_autocross_enable()
362 if (ret >= 0) in vsc82x4_config_autocross_enable()
363 ret = phy_write(phydev, MII_VSC82X4_EXT_PAGE_18E, 0x0012); in vsc82x4_config_autocross_enable()
364 if (ret >= 0) in vsc82x4_config_autocross_enable()
365 ret = phy_write(phydev, MII_VSC82X4_EXT_PAGE_17E, 0x2803); in vsc82x4_config_autocross_enable()
366 if (ret >= 0) in vsc82x4_config_autocross_enable()
367 ret = phy_write(phydev, MII_VSC82X4_EXT_PAGE_16E, 0x87fa); in vsc82x4_config_autocross_enable()
368 /* map standard registers set 0x10 - 0x1e */ in vsc82x4_config_autocross_enable()
369 if (ret >= 0) in vsc82x4_config_autocross_enable()
370 ret = phy_write(phydev, MII_VSC82X4_EXT_PAGE_ACCESS, 0x0000); in vsc82x4_config_autocross_enable()
372 phy_write(phydev, MII_VSC82X4_EXT_PAGE_ACCESS, 0x0000); in vsc82x4_config_autocross_enable()
395 if (ret < 0) /* error */ in vsc82x4_config_aneg()
409 .phy_id_mask = 0x000ffff0,
418 .phy_id_mask = 0x000fffc0,
427 .phy_id_mask = 0x000ffff0,
436 .phy_id_mask = 0x000ffff0,
444 .phy_id_mask = 0x000ffff0,
453 .phy_id_mask = 0x000ffff0,
462 .phy_id_mask = 0x000ffff0,
471 .phy_id_mask = 0x000ffff0,
480 .phy_id_mask = 0x000ffff0,
489 .phy_id_mask = 0x000ffff0,
498 .phy_id_mask = 0x000ffff0,
509 { PHY_ID_VSC8234, 0x000ffff0 },
510 { PHY_ID_VSC8244, 0x000fffc0 },
511 { PHY_ID_VSC8572, 0x000ffff0 },
512 { PHY_ID_VSC7385, 0x000ffff0 },
513 { PHY_ID_VSC7388, 0x000ffff0 },
514 { PHY_ID_VSC7395, 0x000ffff0 },
515 { PHY_ID_VSC7398, 0x000ffff0 },
516 { PHY_ID_VSC8662, 0x000ffff0 },
517 { PHY_ID_VSC8221, 0x000ffff0 },
518 { PHY_ID_VSC8211, 0x000ffff0 },