no-OS
Loading...
Searching...
No Matches
adin1320.h
Go to the documentation of this file.
1/***************************************************************************/
33
34#ifndef __ADIN1320_H__
35#define __ADIN1320_H__
36
37#include <stdbool.h>
38#include <stdint.h>
39#include "no_os_util.h"
40#include "no_os_mdio.h"
41
43
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)
53
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)
59
60#define ADIN1320_PHY_ID_1 0x0002
61
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)
65
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)
72
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
77
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)
83
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)
87
88#define ADIN1320_EXT_STATUS 0x000f
89#define ADIN1320_EXT_REG_PTR 0x0010
90#define ADIN1320_EXT_REG_DATA 0x0011
91
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)
96
97#define ADIN1320_PHY_CTRL_STATUS_1 0x0013
98#define ADIN1320_LB_ALL_DIG_SEL_MASK NO_OS_BIT(12)
99
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)
104
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)
109
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)
113
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)
126
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)
139
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)
143
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)
153
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)
159
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)
164
165#define ADIN1320_PHY_STATUS_2 0x001f
166
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)
171
172#define ADIN1320_SD_CONTROL NO_OS_MDIO_C45_ADDR(0x1e, 0xfc00)
173#define ADIN1320_SD_RESTART_ANEG_MASK NO_OS_BIT(9)
174
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)
180
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)
184
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)
195
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)
206
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)
209
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)
212
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)
215
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)
218
219#define ADIN1320_GE_PHY_ID_1 NO_OS_MDIO_C45_ADDR(0x1e, 0xff00)
220#define ADIN1320_GE_PHY_ID_1_RESET 0x0283
221
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)
225
226#define ADIN1320_GE_SFT_RST NO_OS_MDIO_C45_ADDR(0x1e, 0xff0c)
227#define ADIN1320_GE_SFT_RST_MASK NO_OS_BIT(0)
228
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)
231
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)
234
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)
237
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)
249
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)
259
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)
263
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)
269
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)
272
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)
277
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)
281
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)
285
286#define ADIN1320_GE_WOL_EN NO_OS_MDIO_C45_ADDR(0x1e, 0xff79)
287#define ADIN1320_GE_WOL_EN_MASK NO_OS_BIT(0)
288
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)
292
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)
296
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)
300
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)
304
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)
308
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)
319
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)
323
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)
327
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)
331
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)
336
339
340#define ADIN1320_LED_EXT_CFG_EN_VAL NO_OS_BIT(4)
341#define ADIN1320_LED_CFG_VAL NO_OS_GENMASK(3, 0)
342
344
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
349
351
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
357
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
363
365#define ADIN1320_PHY_ID 0x6
366
381
386
391
400
405
410
417
422
430
438
446
454
462
467
477
487
494
501
506
511
518
524
530
535
540
545
550
555
560
567
575
580
585
595
604
673
702
707
713
720
728
733
738
739int adin1320_init(struct adin1320_desc **dev,
740 struct adin1320_init_param *param);
741int adin1320_hard_reset(struct adin1320_desc *dev);
742int adin1320_remove(struct adin1320_desc *dev);
743int adin1320_write(struct adin1320_desc *dev, uint32_t addr, uint16_t val);
744int adin1320_read(struct adin1320_desc *dev, uint32_t addr, uint16_t *val);
745int adin1320_write_bits(struct adin1320_desc *dev, uint32_t addr, uint16_t val,
746 uint16_t bitmask);
748 struct adin1320_rgmii_config rgmii);
750 enum adin1320_gp_clk_source source);
752 enum adin1320_clk25_ref_enable enable);
753int adin1320_cu_autoneg(struct adin1320_desc *dev,
754 enum adin1320_autoneg_enable enable);
755int adin1320_sd_autoneg(struct adin1320_desc *dev,
756 enum adin1320_autoneg_enable enable);
758 enum adin1320_cu_speed *resolved_speed);
760 enum adin1320_sd_speed *resolved_speed);
761int adin1320_soft_reset(struct adin1320_desc *dev,
762 enum adin1320_soft_reset_option reset_cfg);
764 bool *val_irq_pending,
765 uint16_t *val_irq_status);
767 bool *val_irq_pending,
768 uint16_t *val_irq_status);
773int adin1320_get_device_id(struct adin1320_desc *dev, uint32_t *device_id);
776 enum adin1320_mac_interface val);
777int adin1320_cu_link_cfg(struct adin1320_desc *dev,
778 enum adin1320_link_cfg_enable val);
780 struct adin1320_mii_status *mii_status);
782 struct adin1320_mii_status *mii_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);
792 enum adin1320_auto_mdix val);
796 enum adin1320_edpd_stat *val);
798 uint8_t downspeeds);
799int adin1320_set_downspeed_retries(struct adin1320_desc *dev, uint16_t val);
801 enum adin1320_cu_speed val);
803 enum adin1320_sd_speed forced_speed);
804int adin1320_set_eee(struct adin1320_desc *dev, uint8_t eee_speeds);
805int adin1320_get_eee(struct adin1320_desc *dev, uint8_t *eee_speeds);
811 uint32_t callback_events);
813 uint32_t callback_events);
814int adin1320_led_cfg(struct adin1320_desc *dev,
815 enum adin1320_led_output_enable enable_led_output,
816 enum adin1320_led_pul_str_dur_select pulse_stretch);
817int adin1320_cu_led_ctrl(struct adin1320_desc *dev,
818 enum adin1320_led_sel led_sel, uint8_t led_pat,
819 uint8_t led_pause, enum adin1320_cu_led_cfg led_cfg,
820 enum adin1320_led_inv_state led_inv_state);
821int adin1320_sd_led_ctrl(struct adin1320_desc *dev,
822 enum adin1320_led_sel led_sel,
823 enum adin1320_sd_led_cfg led_cfg,
824 enum adin1320_led_inv_state led_inv_state);
826 uint16_t enabled_matches);
828 uint16_t enabled_checks);
829int adin1320_mgc_key_cfg(struct adin1320_desc *dev,
830 enum adin1320_mgc_key_byte key_byte,
831 uint8_t key[6]);
832int adin1320_wol_address(struct adin1320_desc *dev,
833 uint8_t mac_address[6]);
834int adin1320_wol_sys_cfg(struct adin1320_desc *dev,
835 enum adin1320_wol_fi_en enable_fi,
836 enum adin1320_wol_inv active_signal);
837int adin1320_wol_sig_cfg(struct adin1320_desc *dev,
838 enum adin1320_wol_sig signal_type,
839 uint8_t pulse_length);
841 enum adin1320_wol_wake_key_enable wake_on_key,
842 enum adin1320_wol_wake_link_enable wake_on_link_change);
843int adin1320_wol_en_cfg(struct adin1320_desc *dev,
844 enum adin1320_wol_enable enable);
846 enum adin1320_active_media *media);
847
848#endif /* __ADIN1320_H__ */
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