44#define ADIN1320_MII_CONTROL 0x0000
45#define ADIN1320_SFT_RST_MASK NO_OS_BIT(15)
46#define ADIN1320_LOOPBACK_MASK NO_OS_BIT(14)
47#define ADIN1320_SPEED_SEL_LSB_MASK NO_OS_BIT(13)
48#define ADIN1320_AUTONEG_EN_MASK NO_OS_BIT(12)
49#define ADIN1320_SFT_PD_MASK NO_OS_BIT(11)
50#define ADIN1320_RESTART_ANEG_MASK NO_OS_BIT(9)
51#define ADIN1320_DPLX_MODE_MASK NO_OS_BIT(8)
52#define ADIN1320_SPEED_SEL_MSB_MASK NO_OS_BIT(6)
54#define ADIN1320_MII_STATUS 0x0001
55#define ADIN1320_AUTONEG_DONE_MASK NO_OS_BIT(5)
56#define ADIN1320_REM_FLT_LAT_MASK NO_OS_BIT(4)
57#define ADIN1320_LINK_STAT_LAT_MASK NO_OS_BIT(2)
58#define ADIN1320_JABBER_DET_LAT_MASK NO_OS_BIT(1)
60#define ADIN1320_PHY_ID_1 0x0002
62#define ADIN1320_PHY_ID_2 0x0003
63#define ADIN1320_MODEL_NUM_MASK NO_OS_GENMASK(9, 4)
64#define ADIN1320_REV_NUM_MASK NO_OS_GENMASK(3, 0)
66#define ADIN1320_AUTONEG_ADV 0x0004
67#define ADIN1320_FD_100_ADV_MASK NO_OS_BIT(8)
68#define ADIN1320_HD_100_ADV_MASK NO_OS_BIT(7)
69#define ADIN1320_FD_10_ADV_MASK NO_OS_BIT(6)
70#define ADIN1320_HD_10_ADV_MASK NO_OS_BIT(5)
71#define ADIN1320_SELECTOR_ADV_MASK NO_OS_GENMASK(4, 0)
73#define ADIN1320_LP_ABILITY 0x0005
74#define ADIN1320_AUTONEG_EXP 0x0006
75#define ADIN1320_TX_NEXT_PAGE 0x0007
76#define ADIN1320_LP_RX_NEXT_PAGE 0x0008
78#define ADIN1320_MSTR_SLV_CONTROL 0x0009
79#define ADIN1320_FD_1000_ADV_MASK NO_OS_BIT(9)
80#define ADIN1320_HD_1000_ADV_MASK NO_OS_BIT(8)
81#define ADIN1320_MAN_MSTR_ADV_MASK NO_OS_BIT(11)
82#define ADIN1320_MAN_MSTR_SLV_EN_ADV_MASK NO_OS_BIT(12)
84#define ADIN1320_MSTR_SLV_STATUS 0x000a
85#define ADIN1320_MSTR_RSLVD_MASK NO_OS_BIT(14)
86#define ADIN1320_MSTR_SLV_FLT_MASK NO_OS_BIT(15)
88#define ADIN1320_EXT_STATUS 0x000f
89#define ADIN1320_EXT_REG_PTR 0x0010
90#define ADIN1320_EXT_REG_DATA 0x0011
92#define ADIN1320_PHY_CTRL_1 0x0012
93#define ADIN1320_AUTO_MDI_EN_MASK NO_OS_BIT(10)
94#define ADIN1320_MAN_MDIX_MASK NO_OS_BIT(9)
95#define ADIN1320_DIAG_CLK_EN_MASK NO_OS_BIT(2)
97#define ADIN1320_PHY_CTRL_STATUS_1 0x0013
98#define ADIN1320_LB_ALL_DIG_SEL_MASK NO_OS_BIT(12)
100#define ADIN1320_PHY_CTRL_STATUS_2 0x0015
101#define ADIN1320_PHY_IN_NRG_PD_MASK NO_OS_BIT(1)
102#define ADIN1320_NRG_PD_TX_EN_MASK NO_OS_BIT(2)
103#define ADIN1320_NRG_PD_EN_MASK NO_OS_BIT(3)
105#define ADIN1320_PHY_CTRL_2 0x0016
106#define ADIN1320_DN_SPEED_TO_100_EN_MASK NO_OS_BIT(11)
107#define ADIN1320_DN_SPEED_TO_10_EN_MASK NO_OS_BIT(10)
108#define ADIN1320_CLK_CNTRL_MASK NO_OS_GENMASK(3, 1)
110#define ADIN1320_PHY_CTRL_3 0x0017
111#define ADIN1320_NUM_SPEED_RETRY_MASK NO_OS_GENMASK(12, 10)
112#define ADIN1320_LINK_EN_MASK NO_OS_BIT(13)
114#define ADIN1320_IRQ_MASK 0x0018
115#define ADIN1320_CBL_DIAG_IRQ_EN_MASK NO_OS_BIT(10)
116#define ADIN1320_MDIO_SYNC_IRQ_EN_MASK NO_OS_BIT(9)
117#define ADIN1320_AN_STAT_CHNG_IRQ_EN_MASK NO_OS_BIT(8)
118#define ADIN1320_FC_FG_IRQ_EN_MASK NO_OS_BIT(7)
119#define ADIN1320_PAGE_RX_IRQ_EN_MASK NO_OS_BIT(6)
120#define ADIN1320_IDLE_ERR_CNT_IRQ_EN_MASK NO_OS_BIT(5)
121#define ADIN1320_FIFO_OU_IRQ_EN_MASK NO_OS_BIT(4)
122#define ADIN1320_RX_STAT_CHNG_IRQ_EN_MASK NO_OS_BIT(3)
123#define ADIN1320_LNK_STAT_CHNG_IRQ_EN_MASK NO_OS_BIT(2)
124#define ADIN1320_SPEED_CHG_IRQ_EN_MASK NO_OS_BIT(1)
125#define ADIN1320_HW_IRQ_EN_MASK NO_OS_BIT(0)
127#define ADIN1320_IRQ_STATUS 0x0019
128#define ADIN1320_CBL_DIAG_IRQ_STAT_MASK NO_OS_BIT(10)
129#define ADIN1320_MDIO_SYNC_IRQ_STAT_MASK NO_OS_BIT(9)
130#define ADIN1320_AN_STAT_CHNG_IRQ_STAT_MASK NO_OS_BIT(8)
131#define ADIN1320_FC_FG_IRQ_STAT_MASK NO_OS_BIT(7)
132#define ADIN1320_PAGE_RX_IRQ_STAT_MASK NO_OS_BIT(6)
133#define ADIN1320_IDLE_ERR_CNT_IRQ_STAT_MASK NO_OS_BIT(5)
134#define ADIN1320_FIFO_OU_IRQ_STAT_MASK NO_OS_BIT(4)
135#define ADIN1320_RX_STAT_CHNG_IRQ_STAT_MASK NO_OS_BIT(3)
136#define ADIN1320_LNK_STAT_CHNG_IRQ_STAT_MASK NO_OS_BIT(2)
137#define ADIN1320_SPEED_CHNG_IRQ_STAT_MASK NO_OS_BIT(1)
138#define ADIN1320_IRQ_PENDING_MASK NO_OS_BIT(0)
140#define ADIN1320_PHY_STATUS_1 0x001a
141#define ADIN1320_HCD_TECH_MASK NO_OS_GENMASK(9, 7)
142#define ADIN1320_LINK_STAT_MASK NO_OS_BIT(6)
144#define ADIN1320_LED_CTRL_1 0x001b
145#define ADIN1320_LED_3_EXT_CFG_EN_MASK NO_OS_BIT(13)
146#define ADIN1320_LED_2_EXT_CFG_EN_MASK NO_OS_BIT(12)
147#define ADIN1320_LED_1_EXT_CFG_EN_MASK NO_OS_BIT(11)
148#define ADIN1320_LED_0_EXT_CFG_EN_MASK NO_OS_BIT(10)
149#define ADIN1320_LED_PAT_PAUSE_DUR_MASK NO_OS_GENMASK(7, 4)
150#define ADIN1320_LED_PUL_STR_DUR_SEL_MASK NO_OS_GENMASK(3, 2)
151#define ADIN1320_LED_OE_N_MASK NO_OS_BIT(1)
152#define ADIN1320_LED_PUL_STR_EN_MASK NO_OS_BIT(0)
154#define ADIN1320_LED_CTRL_2 0x001c
155#define ADIN1320_LED_0_CFG_MASK NO_OS_GENMASK(3, 0)
156#define ADIN1320_LED_1_CFG_MASK NO_OS_GENMASK(7, 4)
157#define ADIN1320_LED_2_CFG_MASK NO_OS_GENMASK(11, 8)
158#define ADIN1320_LED_3_CFG_MASK NO_OS_GENMASK(15, 12)
160#define ADIN1320_LED_CTRL_3 0x001d
161#define ADIN1320_LED_PAT_SEL_MASK NO_OS_GENMASK(15, 14)
162#define ADIN1320_LED_PAT_TICK_DUR_MASK NO_OS_GENMASK(13, 8)
163#define ADIN1320_LED_PAT_MASK NO_OS_GENMASK(7, 0)
165#define ADIN1320_PHY_STATUS_2 0x001f
167#define ADIN1320_EEE_ADV NO_OS_MDIO_C45_ADDR(0x1e, 0x8001)
168#define ADIN1320_EEE_1000_KX_ADV_MASK NO_OS_BIT(4)
169#define ADIN1320_EEE_1000_ADV_MASK NO_OS_BIT(2)
170#define ADIN1320_EEE_100_ADV_MASK NO_OS_BIT(1)
172#define ADIN1320_SD_CONTROL NO_OS_MDIO_C45_ADDR(0x1e, 0xfc00)
173#define ADIN1320_SD_RESTART_ANEG_MASK NO_OS_BIT(9)
175#define ADIN1320_SD_STATUS NO_OS_MDIO_C45_ADDR(0x1e, 0xfc01)
176#define ADIN1320_SD_AN_DONE_MASK NO_OS_BIT(5)
177#define ADIN1320_SD_REM_FLT_LH_MASK NO_OS_BIT(4)
178#define ADIN1320_SD_LINK_STAT_OK_LL_MASK NO_OS_BIT(2)
179#define ADIN1320_SD_JABBER_DET_LH_MASK NO_OS_BIT(1)
181#define ADIN1320_SD_AUTONEG_ADV NO_OS_MDIO_C45_ADDR(0x1e, 0xfc04)
182#define ADIN1320_SD_HD_1000ADV_MASK NO_OS_BIT(6)
183#define ADIN1320_SD_FD_1000ADV_MASK NO_OS_BIT(5)
185#define ADIN1320_SD_IRQ_MASK NO_OS_MDIO_C45_ADDR(0x1e, 0xfc18)
186#define ADIN1320_SD_OS_RX_PLL_LCK_LOST_IRQ_EN_MASK NO_OS_BIT(10)
187#define ADIN1320_SD_RX_PLL_LCK_LOST_IRQ_EN_MASK NO_OS_BIT(9)
188#define ADIN1320_SD_TX_PLL_LCK_LOST_IRQ_EN_MASK NO_OS_BIT(8)
189#define ADIN1320_SD_AN_STAT_CHG_IRQ_EN_MASK NO_OS_BIT(7)
190#define ADIN1320_SD_FC_FG_IRQ_EN_MASK NO_OS_BIT(6)
191#define ADIN1320_SD_PAGE_RX_IRQ_EN_MASK NO_OS_BIT(5)
192#define ADIN1320_SD_FIFO_OU_IRQ_EN_MASK NO_OS_BIT(4)
193#define ADIN1320_SD_LINK_STAT_CHG_IRQ_EN_MASK NO_OS_BIT(1)
194#define ADIN1320_SD_MDIO_ERR_IRQ_EN_MASK NO_OS_BIT(0)
196#define ADIN1320_SD_IRQ_STATUS NO_OS_MDIO_C45_ADDR(0x1e, 0xfc19)
197#define ADIN1320_SD_OS_RX_PLL_LCK_LOST_IRQ_LH_MASK NO_OS_BIT(10)
198#define ADIN1320_SD_RX_PLL_LCK_LOST_IRQ_LH_MASK NO_OS_BIT(9)
199#define ADIN1320_SD_TX_PLL_LCK_LOST_IRQ_LH_MASK NO_OS_BIT(8)
200#define ADIN1320_SD_AN_CHG_IRQ_LH_MASK NO_OS_BIT(7)
201#define ADIN1320_SD_FC_FG_IRQ_LH_MASK NO_OS_BIT(6)
202#define ADIN1320_SD_PAGE_RX_IRQ_LH_MASK NO_OS_BIT(5)
203#define ADIN1320_SD_FIFO_OU_IRQ_LH_MASK NO_OS_BIT(4)
204#define ADIN1320_SD_LINK_STAT_CHG_LH_MASK NO_OS_BIT(1)
205#define ADIN1320_SD_MDIO_ERR_LH_MASK NO_OS_BIT(0)
207#define ADIN1320_SD_FIB_LED_CFG_0 NO_OS_MDIO_C45_ADDR(0x1e, 0xfcaa)
208#define ADIN1320_SD_FIB_LED_CFG_0_MASK NO_OS_GENMASK(3, 0)
210#define ADIN1320_SD_FIB_LED_CFG_1 NO_OS_MDIO_C45_ADDR(0x1e, 0xfcab)
211#define ADIN1320_SD_FIB_LED_CFG_1_MASK NO_OS_GENMASK(3, 0)
213#define ADIN1320_SD_FIB_LED_CFG_2 NO_OS_MDIO_C45_ADDR(0x1e, 0xfcac)
214#define ADIN1320_SD_FIB_LED_CFG_2_MASK NO_OS_GENMASK(3, 0)
216#define ADIN1320_SD_FIB_LED_CFG_3 NO_OS_MDIO_C45_ADDR(0x1e, 0xfcad)
217#define ADIN1320_SD_FIB_LED_CFG_3_MASK NO_OS_GENMASK(3, 0)
219#define ADIN1320_GE_PHY_ID_1 NO_OS_MDIO_C45_ADDR(0x1e, 0xff00)
220#define ADIN1320_GE_PHY_ID_1_RESET 0x0283
222#define ADIN1320_GE_PHY_ID_2 NO_OS_MDIO_C45_ADDR(0x1e, 0xff01)
223#define ADIN1320_GE_MODEL_NUM_MASK NO_OS_GENMASK(9, 4)
224#define ADIN1320_GE_REV_NUM_MASK NO_OS_GENMASK(3, 0)
226#define ADIN1320_GE_SFT_RST NO_OS_MDIO_C45_ADDR(0x1e, 0xff0c)
227#define ADIN1320_GE_SFT_RST_MASK NO_OS_BIT(0)
229#define ADIN1320_GE_SFT_RST_CFG_EN NO_OS_MDIO_C45_ADDR(0x1e, 0xff0d)
230#define ADIN1320_GE_SFT_RST_CFG_EN_MASK NO_OS_BIT(0)
232#define ADIN1320_GE_IRQ_EN NO_OS_MDIO_C45_ADDR(0x1e, 0xff1d)
233#define ADIN1320_GE_WOL_WAKE_IRQ_EN_MASK NO_OS_BIT(7)
235#define ADIN1320_GE_IRQ_LAT NO_OS_MDIO_C45_ADDR(0x1e, 0xff1e)
236#define ADIN1320_GE_WOL_WAKE_IRQ_LH_MASK NO_OS_BIT(7)
238#define ADIN1320_GE_CLK_CFG NO_OS_MDIO_C45_ADDR(0x1e, 0xff1f)
239#define ADIN1320_SD_RX_CLK_125_EN_MASK NO_OS_BIT(10)
240#define ADIN1320_SD_TX_CLK_125_EN_MASK NO_OS_BIT(9)
241#define ADIN1320_SD_RX_CLK_HRT_EN_MASK NO_OS_BIT(8)
242#define ADIN1320_SD_TX_CLK_HRT_EN_MASK NO_OS_BIT(7)
243#define ADIN1320_GE_CLK_RCVR_125_EN_MASK NO_OS_BIT(5)
244#define ADIN1320_GE_CLK_FREE_125_EN_MASK NO_OS_BIT(4)
245#define ADIN1320_GE_REF_CLK_EN_MASK NO_OS_BIT(3)
246#define ADIN1320_GE_CLK_HRT_RCVR_EN_MASK NO_OS_BIT(2)
247#define ADIN1320_GE_CLK_HRT_FREE_EN_MASK NO_OS_BIT(1)
248#define ADIN1320_GE_CLK_25_EN_MASK NO_OS_BIT(0)
250#define ADIN1320_GE_RGMII_CFG NO_OS_MDIO_C45_ADDR(0x1e, 0xff23)
251#define ADIN1320_GE_RGMII_CFG_RESERVED_MASK NO_OS_GENMASK(15, 11)
252#define ADIN1320_GE_RGMII_100_LOW_LTNCY_EN_MASK NO_OS_BIT(10)
253#define ADIN1320_GE_RGMII_10_LOW_LTNCY_EN_MASK NO_OS_BIT(9)
254#define ADIN1320_GE_RGMII_RX_SEL_MASK NO_OS_GENMASK(8, 6)
255#define ADIN1320_GE_RGMII_GTX_SEL_MASK NO_OS_GENMASK(5, 3)
256#define ADIN1320_GE_RGMII_RX_ID_EN_MASK NO_OS_BIT(2)
257#define ADIN1320_GE_RGMII_TX_ID_EN_MASK NO_OS_BIT(1)
258#define ADIN1320_GE_RGMII_EN_MASK NO_OS_BIT(0)
260#define ADIN1320_GE_RMII_CFG NO_OS_MDIO_C45_ADDR(0x1e, 0xff24)
261#define ADIN1320_GE_RMII_EN_MASK NO_OS_BIT(0)
262#define ADIN1320_GE_RMII_FIFO_RST_MASK NO_OS_BIT(7)
264#define ADIN1320_GE_PHY_LED_CFG NO_OS_MDIO_C45_ADDR(0x1e, 0xff29)
265#define ADIN1320_LED_D_INV_EN_MASK NO_OS_BIT(6)
266#define ADIN1320_LED_C_INV_EN_MASK NO_OS_BIT(5)
267#define ADIN1320_LED_B_INV_EN_MASK NO_OS_BIT(4)
268#define ADIN1320_LED_A_INV_EN_MASK NO_OS_BIT(3)
270#define ADIN1320_GE_B10_REGEN_PRE NO_OS_MDIO_C45_ADDR(0x1e, 0xff38)
271#define ADIN1320_GE_B10_REGEN_PRE_MASK NO_OS_BIT(0)
273#define ADIN1320_GE_SD_CFG NO_OS_MDIO_C45_ADDR(0x1e, 0xff53)
274#define ADIN1320_SD_LINK_TYPE_CFG_MASK NO_OS_GENMASK(7, 5)
275#define ADIN1320_SD_AUTONEG_EN_CFG_MASK NO_OS_BIT(2)
276#define ADIN1320_SD_SGMII_EN_MASK NO_OS_BIT(0)
278#define ADIN1320_GE_MSEL_AUTO_STAT NO_OS_MDIO_C45_ADDR(0x1e, 0xff57)
279#define ADIN1320_GE_MSEL_AUTO_SD_MASK NO_OS_BIT(1)
280#define ADIN1320_GE_MSEL_AUTO_GE_MASK NO_OS_BIT(0)
282#define ADIN1320_GE_WOL_SYS_CNTRL NO_OS_MDIO_C45_ADDR(0x1e, 0xff78)
283#define ADIN1320_GE_WOL_WAKE_INV_EN_MASK NO_OS_BIT(1)
284#define ADIN1320_GE_WOL_2_PHY_SD_SEL_MASK NO_OS_BIT(0)
286#define ADIN1320_GE_WOL_EN NO_OS_MDIO_C45_ADDR(0x1e, 0xff79)
287#define ADIN1320_GE_WOL_EN_MASK NO_OS_BIT(0)
289#define ADIN1320_GE_WOL_WAKE_CNTRL NO_OS_MDIO_C45_ADDR(0x1e, 0xff7a)
290#define ADIN1320_GE_WOL_KEY_ERR_WAKE_EN_MASK NO_OS_BIT(1)
291#define ADIN1320_GE_WOL_LS_CHG_WAKE_EN_MASK NO_OS_BIT(0)
293#define ADIN1320_GE_WOL_SIG_CNTRL NO_OS_MDIO_C45_ADDR(0x1e, 0xff7b)
294#define ADIN1320_GE_WOL_PUL_LENM_1_MASK NO_OS_GENMASK(11, 8)
295#define ADIN1320_GE_WOL_PUL_EN_MASK NO_OS_BIT(0)
297#define ADIN1320_GE_WOL_STA_0_AD_01 NO_OS_MDIO_C45_ADDR(0x1e, 0xff7c)
298#define ADIN1320_GE_WOL_STA_0_AD_1_MASK NO_OS_GENMASK(15, 8)
299#define ADIN1320_GE_WOL_STA_0_AD_0_MASK NO_OS_GENMASK(7, 0)
301#define ADIN1320_GE_WOL_STA_0_AD_23 NO_OS_MDIO_C45_ADDR(0x1e, 0xff7d)
302#define ADIN1320_GE_WOL_STA_0_AD_3_MASK NO_OS_GENMASK(15, 8)
303#define ADIN1320_GE_WOL_STA_0_AD_2_MASK NO_OS_GENMASK(7, 0)
305#define ADIN1320_GE_WOL_STA_0_AD_45 NO_OS_MDIO_C45_ADDR(0x1e, 0xff7e)
306#define ADIN1320_GE_WOL_STA_0_AD_5_MASK NO_OS_GENMASK(15, 8)
307#define ADIN1320_GE_WOL_STA_0_AD_4_MASK NO_OS_GENMASK(7, 0)
309#define ADIN1320_GE_MGC_0_CNTRL NO_OS_MDIO_C45_ADDR(0x1e, 0xff80)
310#define ADIN1320_GE_MGC_0_KEY_4BY_EN_MASK NO_OS_BIT(8)
311#define ADIN1320_GE_MGC_0_KEY_CHK_EN_MASK NO_OS_BIT(7)
312#define ADIN1320_GE_MGC_0_LEN_CHK_EN_MASK NO_OS_BIT(6)
313#define ADIN1320_GE_MGC_0_CRC_CHK_EN_MASK NO_OS_BIT(5)
314#define ADIN1320_GE_MGC_0_DA_BC_AD_EN_MASK NO_OS_BIT(4)
315#define ADIN1320_GE_MGC_0_DA_MC_AD_EN_MASK NO_OS_BIT(3)
316#define ADIN1320_GE_MGC_0_DA_UC_AD_EN_MASK NO_OS_BIT(2)
317#define ADIN1320_GE_MGC_0_DA_STA_0_AD_EN_MASK NO_OS_BIT(1)
318#define ADIN1320_GE_MGC_0_EN_MASK NO_OS_BIT(0)
320#define ADIN1320_GE_MGC_0_KEY_01 NO_OS_MDIO_C45_ADDR(0x1e, 0xff81)
321#define ADIN1320_GE_MGC_0_KEY_1_MASK NO_OS_GENMASK(15, 8)
322#define ADIN1320_GE_MGC_0_KEY_0_MASK NO_OS_GENMASK(7, 0)
324#define ADIN1320_GE_MGC_0_KEY_23 NO_OS_MDIO_C45_ADDR(0x1e, 0xff82)
325#define ADIN1320_GE_MGC_0_KEY_3_MASK NO_OS_GENMASK(15, 8)
326#define ADIN1320_GE_MGC_0_KEY_2_MASK NO_OS_GENMASK(7, 0)
328#define ADIN1320_GE_MGC_0_KEY_45 NO_OS_MDIO_C45_ADDR(0x1e, 0xff83)
329#define ADIN1320_GE_MGC_0_KEY_5_MASK NO_OS_GENMASK(15, 8)
330#define ADIN1320_GE_MGC_0_KEY_4_MASK NO_OS_GENMASK(7, 0)
332#define ADIN1320_GE_WOL_STAT NO_OS_MDIO_C45_ADDR(0x1e, 0xff85)
333#define ADIN1320_GE_MGC_0_KEY_ERR_MASK NO_OS_BIT(2)
334#define ADIN1320_GE_MGC_0_FRM_MATCH_MASK NO_OS_BIT(1)
335#define ADIN1320_GE_WOL_LS_CHG_MASK NO_OS_BIT(0)
340#define ADIN1320_LED_EXT_CFG_EN_VAL NO_OS_BIT(4)
341#define ADIN1320_LED_CFG_VAL NO_OS_GENMASK(3, 0)
345#define ADIN1320_DOWNSPEED_CFG_MAX 0x04
346#define ADIN1320_SET_DOWNSPEED_RETRIES_MAX 0x08
347#define ADIN1320_CU_LED_CTRL_LED_PAUSE_MAX 0x10
348#define ADIN1320_WOL_SIG_CFG_PUL_LEN_MAX 0x10
352#define ADIN1320_MII_STATUS_STRUCT_INIT {0, 0, 0, 0, 0}
353#define ADIN1320_STATION_ADDRESS_MAX_BYTE 6
354#define ADIN1320_BITMASK_RESET 0x0000
355#define ADIN1320_DISABLE 0
356#define ADIN1320_ENABLE 1
359#define ADIN1320_DEVICE_ID1_HIGH_BIT 31
360#define ADIN1320_DEVICE_ID1_LOW_BIT 16
361#define ADIN1320_DEVICE_ID2_HIGH_BIT 15
362#define ADIN1320_DEVICE_ID2_LOW_BIT 0
365#define ADIN1320_PHY_ID 0x6
764 bool *val_irq_pending,
765 uint16_t *val_irq_status);
767 bool *val_irq_pending,
768 uint16_t *val_irq_status);
784 uint16_t autoneg_adv_speeds);
786 uint16_t autoneg_adv_speeds);
788 uint16_t *autoneg_adv_speeds);
790 uint16_t *autoneg_adv_speeds);
811 uint32_t callback_events);
813 uint32_t callback_events);
826 uint16_t enabled_matches);
828 uint16_t enabled_checks);
833 uint8_t mac_address[6]);
839 uint8_t pulse_length);
int adin1320_get_eee(struct adin1320_desc *dev, uint8_t *eee_speeds)
Get Energy Efficient Ethernet Status.
Definition adin1320.c:1319
adin1320_mgc_key_byte
Definition adin1320.h:576
@ ADIN1320_MGC_KEY_BYTE_4
Definition adin1320.h:578
@ ADIN1320_MGC_KEY_BYTE_6
Definition adin1320.h:577
int adin1320_sd_resolved_speed(struct adin1320_desc *dev, enum adin1320_sd_speed *resolved_speed)
Get Resolved Speed for SerDes Media.
Definition adin1320.c:456
adin1320_cu_led_cfg
Definition adin1320.h:605
@ ADIN1320_CU_LED_CFG_ON_1000_BLNK_TX_RX
Definition adin1320.h:648
@ ADIN1320_CU_LED_CFG_ON_LINK_FD_BLNK_COL
Definition adin1320.h:632
@ ADIN1320_CU_LED_CFG_BLNK
Definition adin1320.h:634
@ ADIN1320_CU_LED_CFG_ON_LINK_FD
Definition adin1320.h:624
@ ADIN1320_CU_LED_CFG_ON_1000_BLNK_10
Definition adin1320.h:662
@ ADIN1320_CU_LED_CFG_ON_10_100_BLNK_TX_RX
Definition adin1320.h:650
@ ADIN1320_CU_LED_CFG_ON_TX_RX
Definition adin1320.h:622
@ ADIN1320_CU_LED_CFG_ON
Definition adin1320.h:636
@ ADIN1320_CU_LED_CFG_MAX
Definition adin1320.h:671
@ ADIN1320_CU_LED_CFG_MIN
Definition adin1320.h:606
@ ADIN1320_CU_LED_CFG_ON_LINK_BLNK_TX_RX
Definition adin1320.h:628
@ ADIN1320_CU_LED_CFG_ON_10
Definition adin1320.h:612
@ ADIN1320_CU_LED_CFG_ON_10_1000_BLNK_TX_RX
Definition adin1320.h:656
@ ADIN1320_CU_LED_CFG_ON_100_BLNK_1000
Definition adin1320.h:664
@ ADIN1320_CU_LED_CFG_ON_1000
Definition adin1320.h:608
@ ADIN1320_CU_LED_CFG_ON_TX
Definition adin1320.h:618
@ ADIN1320_CU_LED_CFG_ON_100_BLNK_TX_RX
Definition adin1320.h:646
@ ADIN1320_CU_LED_CFG_BLNK_TX
Definition adin1320.h:660
@ ADIN1320_CU_LED_CFG_ON_COL
Definition adin1320.h:626
@ ADIN1320_CU_LED_CFG_ON_10_1000
Definition adin1320.h:654
@ ADIN1320_CU_LED_CFG_ON_LINK
Definition adin1320.h:616
@ ADIN1320_CU_LED_CFG_OFF
Definition adin1320.h:638
@ ADIN1320_CU_LED_CFG_ON_10_100
Definition adin1320.h:640
@ ADIN1320_CU_LED_CFG_BLNK_TX_RX
Definition adin1320.h:658
@ ADIN1320_CU_LED_CFG_ON_10_BLNK_1000
Definition adin1320.h:668
@ ADIN1320_CU_LED_CFG_ON_LINK_BLNK_RX
Definition adin1320.h:630
@ ADIN1320_CU_LED_CFG_ON_10_BLNK_TX_RX
Definition adin1320.h:644
@ ADIN1320_CU_LED_CFG_ON_100
Definition adin1320.h:610
@ ADIN1320_CU_LED_CFG_ON_10_BLNK_100
Definition adin1320.h:670
@ ADIN1320_CU_LED_CFG_ON_100_BLNK_10
Definition adin1320.h:666
@ ADIN1320_CU_LED_CFG_ON_RX
Definition adin1320.h:620
@ ADIN1320_CU_LED_CFG_ON_100_1000
Definition adin1320.h:642
@ ADIN1320_CU_LED_CFG_ON_1000_BLNK_100
Definition adin1320.h:614
@ ADIN1320_CU_LED_CFG_ON_100_1000_BLNK_TX_RX
Definition adin1320.h:652
int adin1320_config_rgmii(struct adin1320_desc *dev, struct adin1320_rgmii_config rgmii)
Configure RGMII Tx and Rx Delays.
Definition adin1320.c:241
int adin1320_wol_address(struct adin1320_desc *dev, uint8_t mac_address[6])
Configure Wake-on-LAN Station Address.
Definition adin1320.c:1778
int adin1320_cu_led_ctrl(struct adin1320_desc *dev, enum adin1320_led_sel led_sel, uint8_t led_pat, uint8_t led_pause, enum adin1320_cu_led_cfg led_cfg, enum adin1320_led_inv_state led_inv_state)
Configure LED settings for Copper Media.
Definition adin1320.c:1511
adin1320_active_media
Definition adin1320.h:708
@ ADIN1320_ACTIVE_MEDIA_SD
Definition adin1320.h:711
@ ADIN1320_ACTIVE_MEDIA_NULL
Definition adin1320.h:709
@ ADIN1320_ACTIVE_MEDIA_CU
Definition adin1320.h:710
int adin1320_wol_sys_cfg(struct adin1320_desc *dev, enum adin1320_wol_fi_en enable_fi, enum adin1320_wol_inv active_signal)
Configure Wake-on-LAN System Settings.
Definition adin1320.c:1811
adin1320_lat_rem_flt
Definition adin1320.h:455
@ ADIN1320_LAT_REM_FLT_NONE_DETECTED
Definition adin1320.h:458
@ ADIN1320_LAT_REM_FLT_NO_CHECK
Definition adin1320.h:457
@ ADIN1320_LAT_REM_FLT_MIN
Definition adin1320.h:456
@ ADIN1320_LAT_REM_FLT_MAX
Definition adin1320.h:460
@ ADIN1320_LAT_REM_FLT_DETECTED
Definition adin1320.h:459
int adin1320_sd_forced_speed(struct adin1320_desc *dev, enum adin1320_sd_speed forced_speed)
Set Force Speed for SerDes Media.
Definition adin1320.c:1254
adin1320_autoneg_enable
Definition adin1320.h:418
@ ADIN1320_AUTONEG_DISABLE
Definition adin1320.h:419
@ ADIN1320_AUTONEG_ENABLE
Definition adin1320.h:420
int adin1320_cu_config_interrupt(struct adin1320_desc *dev, uint32_t callback_events)
Configure the interrupt mask register for copper media.
Definition adin1320.c:1415
int adin1320_cu_forced_speed(struct adin1320_desc *dev, enum adin1320_cu_speed val)
Set Force Speed for Copper Media.
Definition adin1320.c:1204
int adin1320_sd_autoneg_adv_cfg(struct adin1320_desc *dev, uint16_t autoneg_adv_speeds)
Configure Autonegotiation Advertisement Speeds for SerDes Media.
Definition adin1320.c:942
int adin1320_mgc_check_cfg(struct adin1320_desc *dev, uint16_t enabled_checks)
Configure Magic Packet Checks.
Definition adin1320.c:1704
adin1320_rgmii_idelay_enable
Definition adin1320.h:387
@ ADIN1320_RGMII_IDELAY_ENABLE
Definition adin1320.h:389
@ ADIN1320_RGMII_IDELAY_DISABLE
Definition adin1320.h:388
int adin1320_energy_detect_pwd_cfg(struct adin1320_desc *dev, enum adin1320_energy_detect_pwd val)
Energy Detect Power Down mode Config.
Definition adin1320.c:1085
adin1320_eee_speeds
Definition adin1320.h:512
@ ADIN1320_EEE_1000_KX_ADV
Definition adin1320.h:515
@ ADIN1320_EEE_MAX
Definition adin1320.h:516
@ ADIN1320_EEE_1000_ADV
Definition adin1320.h:514
@ ADIN1320_EEE_100_ADV
Definition adin1320.h:513
int adin1320_cu_autoneg_adv_cfg(struct adin1320_desc *dev, uint16_t autoneg_adv_speeds)
Configure Autonegotiation Advertisement Speeds for Copper Media.
Definition adin1320.c:894
adin1320_sd_led_cfg
Definition adin1320.h:674
@ ADIN1320_SD_LED_CFG_ON
Definition adin1320.h:697
@ ADIN1320_SD_LED_CFG_ON_100
Definition adin1320.h:679
@ ADIN1320_SD_LED_CFG_BLNK_TX
Definition adin1320.h:683
@ ADIN1320_SD_LED_CFG_LINK_BLNK_TX
Definition adin1320.h:689
@ ADIN1320_SD_LED_CFG_OFF
Definition adin1320.h:699
@ ADIN1320_SD_LED_CFG_BLNK_RX
Definition adin1320.h:685
@ ADIN1320_SD_LED_CFG_LINK
Definition adin1320.h:681
@ ADIN1320_SD_LED_CFG_BLNK
Definition adin1320.h:695
@ ADIN1320_SD_LED_CFG_LINK_BLNK_TX_RX
Definition adin1320.h:693
@ ADIN1320_SD_LED_CFG_BLNK_TX_RX
Definition adin1320.h:687
@ ADIN1320_SD_LED_CFG_MAX
Definition adin1320.h:700
@ ADIN1320_SD_LED_CFG_MIN
Definition adin1320.h:675
@ ADIN1320_SD_LED_CFG_LINK_BLNK_RX
Definition adin1320.h:691
@ ADIN1320_SD_LED_CFG_ON_1000
Definition adin1320.h:677
int adin1320_sd_get_autoneg_adv(struct adin1320_desc *dev, uint16_t *autoneg_adv_speeds)
Get Enabled Autonegotiation Advertised Speeds for SerDes Media.
Definition adin1320.c:1017
adin1320_clk25_ref_enable
Definition adin1320.h:382
@ ADIN1320_CLK25_REF_DISABLE
Definition adin1320.h:383
@ ADIN1320_CLK25_REF_ENABLE
Definition adin1320.h:384
int adin1320_get_active_media(struct adin1320_desc *dev, enum adin1320_active_media *media)
Get Auto Media Selected as Active Media.
Definition adin1320.c:1924
int adin1320_config_clk25_ref(struct adin1320_desc *dev, enum adin1320_clk25_ref_enable enable)
Enable/disable GE Clock 25MHz Reference.
Definition adin1320.c:342
int adin1320_set_downspeed_retries(struct adin1320_desc *dev, uint16_t val)
Downspeed - Number of retries.
Definition adin1320.c:1185
int adin1320_mgc_key_cfg(struct adin1320_desc *dev, enum adin1320_mgc_key_byte key_byte, uint8_t key[6])
Configure Magic Packet SecureOn Key.
Definition adin1320.c:1727
adin1320_wol_wake_link_enable
Definition adin1320.h:556
@ ADIN1320_WOL_WAKE_LINK_ENABLE
Definition adin1320.h:558
@ ADIN1320_WOL_WAKE_LINK_DISABLE
Definition adin1320.h:557
adin1320_soft_reset_option
Definition adin1320.h:401
@ ADIN1320_RESET_GE_SUBSYS_PIN
Definition adin1320.h:403
@ ADIN1320_RESET_GE_SUBSYS
Definition adin1320.h:402
adin1320_adv_master_slave_cfg
Definition adin1320.h:525
@ ADIN1320_MAN_MSTR_SLV_DIS
Definition adin1320.h:528
@ ADIN1320_MAN_ADV_MASTER
Definition adin1320.h:526
@ ADIN1320_MAN_ADV_SLAVE
Definition adin1320.h:527
int adin1320_write_bits(struct adin1320_desc *dev, uint32_t addr, uint16_t val, uint16_t bitmask)
MDIO Write with Clause22 or Clause45 on a Specific Bit.
Definition adin1320.c:216
int adin1320_downspeed_cfg(struct adin1320_desc *dev, uint8_t downspeeds)
Configure Downspeed.
Definition adin1320.c:1155
adin1320_wol_wake_key_enable
Definition adin1320.h:551
@ ADIN1320_WOL_WAKE_KEY_ENABLE
Definition adin1320.h:553
@ ADIN1320_WOL_WAKE_KEY_DISABLE
Definition adin1320.h:552
int adin1320_set_software_powerdown(struct adin1320_desc *dev, enum adin1320_software_powerdown val)
Enter/exit Software Powerdown.
Definition adin1320.c:582
adin1320_gp_clk_source
Definition adin1320.h:367
@ ADIN1320_GP_CLK_TX_HEARTBEAT
Definition adin1320.h:374
@ ADIN1320_GP_CLK_REFERENCE
Definition adin1320.h:369
@ ADIN1320_GP_CLK_MIN
Definition adin1320.h:368
@ ADIN1320_GP_CLK_HEARTBEAT_RECOVERED
Definition adin1320.h:371
@ ADIN1320_GP_CLK_DISABLE
Definition adin1320.h:378
@ ADIN1320_GP_CLK_RECOVERED
Definition adin1320.h:373
@ ADIN1320_GP_CLK_RX_RECOVERED
Definition adin1320.h:377
@ ADIN1320_GP_CLK_RX_HEARTBEAT
Definition adin1320.h:375
@ ADIN1320_GP_CLK_MAX
Definition adin1320.h:379
@ ADIN1320_GP_CLK_FREE
Definition adin1320.h:372
@ ADIN1320_GP_CLK_HEARTBEAT_FREE
Definition adin1320.h:370
@ ADIN1320_GP_CLK_TX_FREE
Definition adin1320.h:376
#define ADIN1320_DISABLE
Definition adin1320.h:355
int adin1320_sd_read_irq_status(struct adin1320_desc *dev, bool *val_irq_pending, uint16_t *val_irq_status)
Read interrupt status for serdes media.
Definition adin1320.c:568
int adin1320_sd_get_mii_status(struct adin1320_desc *dev, struct adin1320_mii_status *mii_status)
Get Different Status from SerDes Media MII Status Register.
Definition adin1320.c:881
adin1320_link_cfg_enable
Definition adin1320.h:463
@ ADIN1320_LINK_CFG_ENABLE
Definition adin1320.h:465
@ ADIN1320_LINK_CFG_DISABLE
Definition adin1320.h:464
int adin1320_cu_resolved_speed(struct adin1320_desc *dev, enum adin1320_cu_speed *resolved_speed)
Get Resolved Speed for Copper Media.
Definition adin1320.c:431
int adin1320_sd_led_ctrl(struct adin1320_desc *dev, enum adin1320_led_sel led_sel, enum adin1320_sd_led_cfg led_cfg, enum adin1320_led_inv_state led_inv_state)
Configure LED settings for SerDes Media.
Definition adin1320.c:1606
int adin1320_hard_reset(struct adin1320_desc *dev)
Perform Device Hard Reset.
Definition adin1320.c:129
int adin1320_init(struct adin1320_desc **dev, struct adin1320_init_param *param)
Initialize the Device.
Definition adin1320.c:47
int adin1320_write(struct adin1320_desc *dev, uint32_t addr, uint16_t val)
MDIO Write with Clause22 or Clause45.
Definition adin1320.c:183
adin1320_lat_jabber_det
Definition adin1320.h:439
@ ADIN1320_LAT_JABBER_DET_DETECTED
Definition adin1320.h:443
@ ADIN1320_LAT_JABBER_DET_NONE_DETECTED
Definition adin1320.h:442
@ ADIN1320_LAT_JABBER_DET_MIN
Definition adin1320.h:440
@ ADIN1320_LAT_JABBER_DET_MAX
Definition adin1320.h:444
@ ADIN1320_LAT_JABBER_DET_NO_CHECK
Definition adin1320.h:441
int adin1320_cu_link_cfg(struct adin1320_desc *dev, enum adin1320_link_cfg_enable val)
Enables/Disables the Link.
Definition adin1320.c:753
adin1320_software_powerdown
Definition adin1320.h:406
@ ADIN1320_SOFTWARE_POWERUP
Definition adin1320.h:407
@ ADIN1320_SOFTWARE_POWERDOWN
Definition adin1320.h:408
#define ADIN1320_ENABLE
Definition adin1320.h:356
int adin1320_get_energy_detect_pwd_stat(struct adin1320_desc *dev, enum adin1320_edpd_stat *val)
Get Energy Detect Power Down mode Status.
Definition adin1320.c:1129
adin1320_wol_sig
Definition adin1320.h:546
@ ADIN1320_WOL_SIG_LEVEL
Definition adin1320.h:547
@ ADIN1320_WOL_SIG_PULSE
Definition adin1320.h:548
adin1320_link_stat
Definition adin1320.h:423
@ ADIN1320_LINK_STAT_LINKUP
Definition adin1320.h:427
@ ADIN1320_LINK_STAT_MIN
Definition adin1320.h:424
@ ADIN1320_LINK_STAT_LINKDOWN
Definition adin1320.h:426
@ ADIN1320_LINK_STAT_MAX
Definition adin1320.h:428
@ ADIN1320_LINK_STAT_NO_CHECK
Definition adin1320.h:425
adin1320_auto_mdix
Definition adin1320.h:488
@ ADIN1320_AUTO_MDIX_PREFER_MDIX
Definition adin1320.h:491
@ ADIN1320_AUTO_MDIX_PREFER_MDI
Definition adin1320.h:492
@ ADIN1320_MANUAL_MDI
Definition adin1320.h:489
@ ADIN1320_MANUAL_MDIX
Definition adin1320.h:490
adin1320_master_slave_status
Definition adin1320.h:519
@ ADIN1320_RESOLVED_TO_MASTER
Definition adin1320.h:521
@ ADIN1320_MAST_SLAVE_FAULT_DETECT
Definition adin1320.h:522
@ ADIN1320_RESOLVED_TO_SLAVE
Definition adin1320.h:520
int adin1320_wol_sig_cfg(struct adin1320_desc *dev, enum adin1320_wol_sig signal_type, uint8_t pulse_length)
Configure Wake-on-LAN Signal Settings.
Definition adin1320.c:1843
adin1320_mgc_match_en
Definition adin1320.h:568
@ ADIN1320_MGC_MATCH_EN_ST
Definition adin1320.h:569
@ ADIN1320_MGC_MATCH_EN_MAX
Definition adin1320.h:573
@ ADIN1320_MGC_MATCH_EN_UC
Definition adin1320.h:570
@ ADIN1320_MGC_MATCH_EN_MC
Definition adin1320.h:571
@ ADIN1320_MGC_MATCH_EN_BC
Definition adin1320.h:572
int adin1320_wol_en_cfg(struct adin1320_desc *dev, enum adin1320_wol_enable enable)
Enable/Disable Wake-on-LAN.
Definition adin1320.c:1905
adin1320_sd_speed
Definition adin1320.h:478
@ ADIN1320_SD_SPEED_1000BASE_X_FD
Definition adin1320.h:483
@ ADIN1320_SD_SPEED_NO_BASE_X
Definition adin1320.h:479
@ ADIN1320_SD_SPEED_1000BASE_KX
Definition adin1320.h:482
@ ADIN1320_SD_SPEED_100BASE_FX_HD
Definition adin1320.h:480
@ ADIN1320_SD_SPEED_1000BASE_X_HDFD
Definition adin1320.h:485
@ ADIN1320_SD_SPEED_1000BASE_X_HD
Definition adin1320.h:484
@ ADIN1320_SD_SPEED_100BASE_FX_FD
Definition adin1320.h:481
adin1320_led_inv_state
Definition adin1320.h:703
@ ADIN1320_LED_INV_STATE_ACTIVE_HIGH
Definition adin1320.h:704
@ ADIN1320_LED_INV_STATE_ACTIVE_LOW
Definition adin1320.h:705
adin1320_wol_enable
Definition adin1320.h:531
@ ADIN1320_WOL_ENABLE
Definition adin1320.h:533
@ ADIN1320_WOL_DISABLE
Definition adin1320.h:532
int adin1320_config_gp_clk(struct adin1320_desc *dev, enum adin1320_gp_clk_source source)
Configure GP Clock.
Definition adin1320.c:303
int adin1320_read(struct adin1320_desc *dev, uint32_t addr, uint16_t *val)
MDIO Read with Clause22 or Clause45.
Definition adin1320.c:199
adin1320_cu_speed
Definition adin1320.h:468
@ ADIN1320_CU_SPEED_1000BASE_T_HD
Definition adin1320.h:473
@ ADIN1320_CU_SPEED_10BASE_T_HD
Definition adin1320.h:469
@ ADIN1320_CU_SPEED_MAX
Definition adin1320.h:475
@ ADIN1320_CU_SPEED_1000BASE_T_FD
Definition adin1320.h:474
@ ADIN1320_CU_SPEED_100BASE_TX_FD
Definition adin1320.h:472
@ ADIN1320_CU_SPEED_100BASE_TX_HD
Definition adin1320.h:471
@ ADIN1320_CU_SPEED_10BASE_T_FD
Definition adin1320.h:470
adin1320_autoneg_stat
Definition adin1320.h:431
@ ADIN1320_AUTONEG_STAT_MIN
Definition adin1320.h:432
@ ADIN1320_AUTONEG_STAT_MAX
Definition adin1320.h:436
@ ADIN1320_AUTONEG_STAT_NO_CHECK
Definition adin1320.h:433
@ ADIN1320_AUTONEG_STAT_DONE
Definition adin1320.h:435
@ ADIN1320_AUTONEG_STAT_NOT_DONE
Definition adin1320.h:434
int adin1320_get_software_powerdown(struct adin1320_desc *dev, enum adin1320_software_powerdown *val)
Get Software Powerdown Status.
Definition adin1320.c:601
int adin1320_get_device_id(struct adin1320_desc *dev, uint32_t *device_id)
Get Device ID.
Definition adin1320.c:627
int adin1320_auto_mdix_cfg(struct adin1320_desc *dev, enum adin1320_auto_mdix val)
Auto MDIX Config.
Definition adin1320.c:1047
adin1320_downspeed
Definition adin1320.h:507
@ ADIN1320_DOWNSPEED_TO_10
Definition adin1320.h:508
@ ADIN1320_DOWNSPEED_TO_100
Definition adin1320.h:509
int adin1320_wol_wake_cfg(struct adin1320_desc *dev, enum adin1320_wol_wake_key_enable wake_on_key, enum adin1320_wol_wake_link_enable wake_on_link_change)
Configure Wake-on-LAN Wake-up Events.
Definition adin1320.c:1874
adin1320_led_output_enable
Definition adin1320.h:581
@ ADIN1320_LED_OUTPUT_DISABLE
Definition adin1320.h:582
@ ADIN1320_LED_OUTPUT_ENABLE
Definition adin1320.h:583
int adin1320_led_cfg(struct adin1320_desc *dev, enum adin1320_led_output_enable enable_led_output, enum adin1320_led_pul_str_dur_select pulse_stretch)
Configure general LED settings.
Definition adin1320.c:1470
int adin1320_cu_autoneg(struct adin1320_desc *dev, enum adin1320_autoneg_enable enable)
Enable/disable and Reset Autonegotiation for Copper Media.
Definition adin1320.c:387
adin1320_mac_interface
Definition adin1320.h:411
@ ADIN1320_MII_MAC_INTERFACE
Definition adin1320.h:414
@ ADIN1320_SGMII_MAC_INTERFACE
Definition adin1320.h:415
@ ADIN1320_RMII_MAC_INTERFACE
Definition adin1320.h:413
@ ADIN1320_RGMII_MAC_INTERFACE
Definition adin1320.h:412
adin1320_wol_fi_en
Definition adin1320.h:536
@ ADIN1320_WOL_FI_DIS
Definition adin1320.h:537
@ ADIN1320_WOL_FI_EN
Definition adin1320.h:538
int adin1320_cu_get_autoneg_adv(struct adin1320_desc *dev, uint16_t *autoneg_adv_speeds)
Get Enabled Autonegotiation Advertised Speeds for Copper Media.
Definition adin1320.c:970
adin1320_lat_link_stat
Definition adin1320.h:447
@ ADIN1320_LAT_LINK_STAT_MIN
Definition adin1320.h:448
@ ADIN1320_LAT_LINK_STAT_NO_CHECK
Definition adin1320.h:449
@ ADIN1320_LAT_LINK_STAT_NO_LINK_DROP
Definition adin1320.h:450
@ ADIN1320_LAT_LINK_STAT_LINK_DROPPED
Definition adin1320.h:451
@ ADIN1320_LAT_LINK_STAT_MAX
Definition adin1320.h:452
int adin1320_sd_config_interrupt(struct adin1320_desc *dev, uint32_t callback_events)
Configure the interrupt mask register for serdes media.
Definition adin1320.c:1443
adin1320_rgmii_idelay
Definition adin1320.h:392
@ ADIN1320_RGMII_2_40_NS
Definition adin1320.h:398
@ ADIN1320_RGMII_2_00_NS
Definition adin1320.h:393
@ ADIN1320_RGMII_2_20_NS
Definition adin1320.h:397
@ ADIN1320_RGMII_1_60_NS
Definition adin1320.h:394
@ ADIN1320_RGMII_1_80_NS
Definition adin1320.h:395
adin1320_edpd_stat
Definition adin1320.h:502
@ ADIN1320_IN_NRG_PD_MODE
Definition adin1320.h:504
@ ADIN1320_NOT_IN_NRG_PD_MODE
Definition adin1320.h:503
int adin1320_get_master_slave_status(struct adin1320_desc *dev, enum adin1320_master_slave_status *val)
Get Master Slave Status.
Definition adin1320.c:1351
int adin1320_remove(struct adin1320_desc *dev)
Remove Initialization of the Device.
Definition adin1320.c:157
int adin1320_master_slave_config(struct adin1320_desc *dev, enum adin1320_adv_master_slave_cfg val)
Configure PHY as Master or Slave for 1 Gb speed only.
Definition adin1320.c:1380
int adin1320_mgc_match_cfg(struct adin1320_desc *dev, uint16_t enabled_matches)
Configure Magic Packet Address Matchings.
Definition adin1320.c:1676
int adin1320_select_mac_interface(struct adin1320_desc *dev, enum adin1320_mac_interface val)
MAC Interface Configuration.
Definition adin1320.c:687
int adin1320_set_eee(struct adin1320_desc *dev, uint8_t eee_speeds)
Set Energy Efficient Ethernet speeds.
Definition adin1320.c:1291
int adin1320_cu_read_irq_status(struct adin1320_desc *dev, bool *val_irq_pending, uint16_t *val_irq_status)
Read interrupt status for copper media.
Definition adin1320.c:552
int adin1320_soft_reset(struct adin1320_desc *dev, enum adin1320_soft_reset_option reset_cfg)
Select and Perform Device Reset.
Definition adin1320.c:482
int adin1320_sd_autoneg(struct adin1320_desc *dev, enum adin1320_autoneg_enable enable)
Enable/disable and Reset Autonegotiation for SerDes Media.
Definition adin1320.c:401
int adin1320_reset_rmii_fifo(struct adin1320_desc *dev)
Allows the RMII FIFO to be Reset.
Definition adin1320.c:662
adin1320_led_sel
Definition adin1320.h:596
@ ADIN1320_LED_SEL_MAX
Definition adin1320.h:602
@ ADIN1320_LED_SEL_2
Definition adin1320.h:600
@ ADIN1320_LED_SEL_0
Definition adin1320.h:598
@ ADIN1320_LED_SEL_3
Definition adin1320.h:601
@ ADIN1320_LED_SEL_1
Definition adin1320.h:599
@ ADIN1320_LED_SEL_MIN
Definition adin1320.h:597
adin1320_energy_detect_pwd
Definition adin1320.h:495
@ ADIN1320_NRG_PD_DIS
Definition adin1320.h:496
@ ADIN1320_NRG_PD_EN
Definition adin1320.h:497
@ ADIN1320_NRG_PD_TX_EN
Definition adin1320.h:498
@ ADIN1320_NRG_PD_TX_DIS
Definition adin1320.h:499
adin1320_mgc_chk_en
Definition adin1320.h:561
@ ADIN1320_MGC_CHK_EN_KEY
Definition adin1320.h:564
@ ADIN1320_MGC_CHK_EN_MAX
Definition adin1320.h:565
@ ADIN1320_MGC_CHK_EN_LEN
Definition adin1320.h:563
@ ADIN1320_MGC_CHK_EN_CRC
Definition adin1320.h:562
adin1320_led_pul_str_dur_select
Definition adin1320.h:586
@ ADIN1320_LED_PUL_STR_DUR_SELECT_PROG
Definition adin1320.h:591
@ ADIN1320_LED_PUL_STR_DUR_SELECT_32
Definition adin1320.h:588
@ ADIN1320_LED_PUL_STR_DISABLE
Definition adin1320.h:592
@ ADIN1320_LED_PUL_STR_DUR_SELECT_64
Definition adin1320.h:589
@ ADIN1320_LED_PUL_STR_DUR_SELECT_MIN
Definition adin1320.h:587
@ ADIN1320_LED_PUL_STR_DUR_SELECT_MAX
Definition adin1320.h:593
@ ADIN1320_LED_PUL_STR_DUR_SELECT_102
Definition adin1320.h:590
adin1320_wol_inv
Definition adin1320.h:541
@ ADIN1320_WOL_INV_ACTIVE_LOW
Definition adin1320.h:543
@ ADIN1320_WOL_INV_ACTIVE_HIGH
Definition adin1320.h:542
int adin1320_cu_get_mii_status(struct adin1320_desc *dev, struct adin1320_mii_status *mii_status)
Get Different Status from Copper Media MII Status Register.
Definition adin1320.c:869
Header file for MDIO interface driver.
Header file of utility functions.
#define NO_OS_BIT(x)
Definition no_os_util.h:46
Definition adin1320.h:734
struct no_os_gpio_desc * reset_gpio
Definition adin1320.h:735
struct no_os_mdio_desc * mdio
Definition adin1320.h:736
Definition adin1320.h:729
struct no_os_mdio_init_param mdio_param
Definition adin1320.h:731
struct no_os_gpio_init_param * reset_param
Definition adin1320.h:730
Definition adin1320.h:721
enum adin1320_link_stat link_stat
Definition adin1320.h:722
enum adin1320_lat_link_stat lat_link_stat
Definition adin1320.h:725
enum adin1320_lat_jabber_det lat_jabber_det
Definition adin1320.h:724
enum adin1320_autoneg_stat autoneg_stat
Definition adin1320.h:723
enum adin1320_lat_rem_flt lat_rem_flt
Definition adin1320.h:726
Definition adin1320.h:714
enum adin1320_rgmii_idelay_enable tx_idelay_en
Definition adin1320.h:715
enum adin1320_rgmii_idelay rx_idelay
Definition adin1320.h:718
enum adin1320_rgmii_idelay_enable rx_idelay_en
Definition adin1320.h:717
enum adin1320_rgmii_idelay tx_idelay
Definition adin1320.h:716
Structure holding the GPIO descriptor.
Definition no_os_gpio.h:84
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
MDIO device descriptor created with no_os_mdio_init().
Definition no_os_mdio.h:78
uint8_t addr
Definition no_os_mdio.h:81
Parameters for an MDIO slave.
Definition no_os_mdio.h:60