12#ifndef ZEPHYR_INCLUDE_NET_MDIO_H_
13#define ZEPHYR_INCLUDE_NET_MDIO_H_
51#define MDIO_MMD_PMAPMD 0x01U
53#define MDIO_MMD_WIS 0x02U
55#define MDIO_MMD_PCS 0x03U
57#define MDIO_MMD_PHYXS 0x04U
59#define MDIO_MMD_DTEXS 0x05U
61#define MDIO_MMD_TC 0x06U
63#define MDIO_MMD_AN 0x07U
65#define MDIO_MMD_SEPARATED_PMA1 0x08U
67#define MDIO_MMD_SEPARATED_PMA2 0x09U
69#define MDIO_MMD_SEPARATED_PMA3 0x0AU
71#define MDIO_MMD_SEPARATED_PMA4 0x0BU
73#define MDIO_MMD_C22EXT 0x1DU
75#define MDIO_MMD_VENDOR_SPECIFIC1 0x1EU
77#define MDIO_MMD_VENDOR_SPECIFIC2 0x1FU
81#define MDIO_CTRL1 0x0000U
83#define MDIO_STAT1 0x0001U
85#define MDIO_DEVID1 0x0002U
87#define MDIO_DEVID2 0x0003U
89#define MDIO_SPEED 0x0004U
91#define MDIO_DEVS1 0x0005U
93#define MDIO_DEVS2 0x0006U
95#define MDIO_CTRL2 0x0007U
97#define MDIO_STAT2 0x0008U
99#define MDIO_PKGID1 0x000EU
101#define MDIO_PKGID2 0x000FU
103#define MDIO_PCS_EEE_CAP 0x0014U
105#define MDIO_AN_EEE_ADV 0x003CU
110#define MDIO_AN_T1_CTRL 0x0200U
112#define MDIO_AN_T1_STAT 0x0201U
114#define MDIO_AN_T1_ADV_L 0x0202U
116#define MDIO_AN_T1_ADV_M 0x0203U
118#define MDIO_AN_T1_ADV_H 0x0204U
120#define MDIO_AN_T1_LP_ADV_L 0x0205U
122#define MDIO_AN_T1_LP_ADV_M 0x0206U
124#define MDIO_AN_T1_LP_ADV_H 0x0207U
127#define MDIO_PMA_PMD_BT1_CTRL 0x0834U
131#define MDIO_AN_T1_CTRL_RESTART BIT(9)
133#define MDIO_AN_T1_CTRL_EN BIT(12)
137#define MDIO_AN_T1_STAT_LINK_STATUS BIT(2)
139#define MDIO_AN_T1_STAT_ABLE BIT(3)
141#define MDIO_AN_T1_STAT_REMOTE_FAULT BIT(4)
143#define MDIO_AN_T1_STAT_COMPLETE BIT(5)
145#define MDIO_AN_T1_STAT_PAGE_RX BIT(6)
149#define MDIO_AN_T1_ADV_L_PAUSE_CAP BIT(10)
151#define MDIO_AN_T1_ADV_L_PAUSE_ASYM BIT(11)
153#define MDIO_AN_T1_ADV_L_FORCE_MS BIT(12)
155#define MDIO_AN_T1_ADV_L_REMOTE_FAULT BIT(13)
157#define MDIO_AN_T1_ADV_L_ACK BIT(14)
159#define MDIO_AN_T1_ADV_L_NEXT_PAGE_REQ BIT(15)
163#define MDIO_AN_T1_ADV_M_B10L BIT(14)
165#define MDIO_AN_T1_ADV_M_MST BIT(4)
169#define MDIO_AN_T1_ADV_H_10L_TX_HI_REQ BIT(12)
171#define MDIO_AN_T1_ADV_H_10L_TX_HI BIT(13)
173#define MDIO_AN_T1_ADV_H_10L_EEE BIT(14)
177#define MDIO_PMA_PMD_BT1_CTRL_CFG_MST BIT(14)
182#define MDIO_PMA_B10L_CTRL 0x08F6U
184#define MDIO_PMA_B10L_STAT 0x08F7U
186#define MDIO_PMA_B10L_TEST_CTRL 0x08F8U
188#define MDIO_PMA_B10L_LINK_STAT 0x8302U
190#define MDIO_PCS_B10L_CTRL 0x08E6U
192#define MDIO_PCS_B10L_STAT 0x08E7U
196#define MDIO_PMA_B10L_CTRL_TX_DIS_MODE_EN BIT(14)
198#define MDIO_PMA_B10L_CTRL_TX_LVL_HI BIT(12)
200#define MDIO_PMA_B10L_CTRL_EEE BIT(10)
202#define MDIO_PMA_B10L_CTRL_LB_PMA_LOC_EN BIT(0)
206#define MDIO_PMA_B10L_STAT_LINK BIT(0)
208#define MDIO_PMA_B10L_STAT_FAULT BIT(1)
210#define MDIO_PMA_B10L_STAT_POLARITY BIT(2)
212#define MDIO_PMA_B10L_STAT_RECV_FAULT BIT(9)
214#define MDIO_PMA_B10L_STAT_EEE BIT(10)
216#define MDIO_PMA_B10L_STAT_LOW_POWER BIT(11)
218#define MDIO_PMA_B10L_STAT_2V4_ABLE BIT(12)
220#define MDIO_PMA_B10L_STAT_LB_ABLE BIT(13)
224#define MDIO_PMA_B10L_TEST_CTRL_TEST_MODE_MASK GENMASK(15, 13)
226#define MDIO_PMA_B10L_TEST_CTRL_TEST_MODE_1 BIT(13)
228#define MDIO_PMA_B10L_TEST_CTRL_TEST_MODE_2 BIT(14)
230#define MDIO_PMA_B10L_TEST_CTRL_TEST_MODE_3 (BIT(13) | BIT(14))
234#define MDIO_PMA_B10L_LINK_STAT_REM_RCVR_STAT_OK_LL BIT(9)
236#define MDIO_PMA_B10L_LINK_STAT_REM_RCVR_STAT_OK BIT(8)
238#define MDIO_PMA_B10L_LINK_STAT_LOC_RCVR_STAT_OK_LL BIT(7)
240#define MDIO_PMA_B10L_LINK_STAT_LOC_RCVR_STAT_OK BIT(6)
242#define MDIO_PMA_B10L_LINK_STAT_DSCR_STAT_OK_LL BIT(5)
244#define MDIO_PMA_B10L_LINK_STAT_DSCR_STAT_OK BIT(4)
246#define MDIO_PMA_B10L_LINK_STAT_LINK_STAT_OK_LL BIT(1)
248#define MDIO_PMA_B10L_LINK_STAT_LINK_STAT_OK BIT(0)
252#define MDIO_PCS_B10L_CTRL_LB_PCS_EN BIT(14)
256#define MDIO_PCS_B10L_STAT_DSCR_STAT_OK_LL BIT(2)
260#define MDIO_AN_EEE_ADV_1000T BIT(2)
262#define MDIO_AN_EEE_ADV_100TX BIT(1)
mdio_opcode
MDIO transaction operation code.
Definition mdio.h:29
@ MDIO_OP_C45_READ
IEEE 802.3 45.3.4 read operation.
Definition mdio.h:46
@ MDIO_OP_C22_WRITE
IEEE 802.3 22.2.4.5.4 write operation.
Definition mdio.h:31
@ MDIO_OP_C22_READ
IEEE 802.3 22.2.4.5.4 read operation.
Definition mdio.h:34
@ MDIO_OP_C45_READ_INC
IEEE 802.3 45.3.4 post-read-increment-address operation.
Definition mdio.h:43
@ MDIO_OP_C45_ADDRESS
IEEE 802.3 45.3.4 address operation.
Definition mdio.h:37
@ MDIO_OP_C45_WRITE
IEEE 802.3 45.3.4 write operation.
Definition mdio.h:40