8#define MAX24287_REG(page, addr) (((page) << 5) | ((addr) & 0x1f))
9#define MAX24287_PAGE(addr) ((addr) >> 5)
10#define MAX24287_ADDR(addr) ((addr) & 0x1f)
12#define MAX24287_BMCR 0
13#define MAX24287_DP_RST_MASK NO_OS_BIT(15)
14#define MAX24287_AN_EN_MASK NO_OS_BIT(12)
15#define MAX24287_AN_START_MASK NO_OS_BIT(9)
17#define MAX24287_BMSR 1
18#define MAX24287_LINK_ST_MASK NO_OS_BIT(2)
23#define MAX24287_AN_ADV 4
24#define MAX24287_AN_ADV_W_MASK NO_OS_BIT(0)
25#define MAX24287_LK_MASK NO_OS_BIT(15)
26#define MAX24287_DPLX_MASK NO_OS_BIT(12)
27#define MAX24287_SPD_MASK NO_OS_GENMASK(11, 10)
29#define MAX24287_AN_RX 5
31#define MAX24287_AN_EXP 6
32#define MAX24287_AN_RX_PAGE NO_OS_BIT(1)
34#define MAX24287_EXT_STAT 15
35#define MAX24287_JIT_DIAG 16
37#define MAX24287_PCSCR 17
38#define MAX24287_WD_DIS_MASK NO_OS_BIT(6)
39#define MAX24287_BASEX_MASK NO_OS_BIT(4)
40#define MAX24287_EN_CDET_MASK NO_OS_BIT(0)
42#define MAX24287_GMIICR 18
43#define MAX24287_GMIICR_W_MASK NO_OS_BIT(7)
44#define MAX24287_GMIICR_SPD_MASK NO_OS_GENMASK(15, 14)
45#define MAX24287_GMIICR_DTE_DCE_MASK NO_OS_BIT(12)
46#define MAX24287_GMIICR_DDR_MASK NO_OS_BIT(11)
47#define MAX24287_GMIICR_TXCLK_EN_MASK NO_OS_BIT(10)
52#define MAX24287_PAGE_IE NO_OS_BIT(10)
54#define MAX24287_ID MAX24287_REG(1, 16)
56#define MAX24287_GPIOCR1 MAX24287_REG(1, 17)
57#define MAX24287_RST_MASK NO_OS_BIT(15)
58#define MAX24287_GPO1_SEL NO_OS_GENMASK(14, 12)
59#define MAX24287_GPO2_SEL NO_OS_GENMASK(11, 9)
60#define MAX24287_GPIO1_SEL NO_OS_GENMASK(8, 6)
61#define MAX24287_GPIO2_SEL NO_OS_GENMASK(5, 3)
62#define MAX24287_GPIO3_SEL NO_OS_GENMASK(2, 0)
64#define MAX24287_GPIOCR2 MAX24287_REG(1, 18)
65#define MAX24287_GPIOSR MAX24287_REG(1, 19)
67#define MAX24287_PTPCR1 MAX24287_REG(2, 16)
68#define MAX24287_PTPCR1_W_MASK NO_OS_BIT(14)
69#define MAX24287_PLL_PWDN_MASK NO_OS_BIT(5)
70#define MAX24287_TX_PWDN_MASK NO_OS_BIT(3)
71#define MAX24287_RX_PWDN_MASK NO_OS_BIT(2)
73#define MAX24287_PAGESEL 31
74#define MAX24287_PAGE_MASK NO_OS_GENMASK(1, 0)
int max24287_get_config_parallel(struct max24287_desc *dev, enum max24287_parallel *par, enum max24287_speed *speed)
Definition max24287.c:183
int max24287_hard_reset(struct max24287_desc *dev)
Definition max24287.c:95
void max24287_regmap(struct max24287_desc *dev)
Definition max24287.c:271
int max24287_get_config_serial(struct max24287_desc *dev, enum max24287_serial *ser, enum max24287_speed *speed)
Definition max24287.c:226
int max24287_write(struct max24287_desc *dev, uint8_t addr, uint16_t val)
Definition max24287.c:112
int max24287_read(struct max24287_desc *dev, uint8_t addr, uint16_t *val)
Definition max24287.c:129
int max24287_soft_reset(struct max24287_desc *dev)
Definition max24287.c:81
bool max24287_link_is_up(struct max24287_desc *dev)
Definition max24287.c:258
max24287_serial
Definition max24287.h:84
@ MAX24287_1000BASEX
Definition max24287.h:86
@ MAX24287_SGMII
Definition max24287.h:85
int max24287_init(struct max24287_desc **dev, struct max24287_init_param *param)
Definition max24287.c:9
int max24287_remove(struct max24287_desc *dev)
max24287_speed
Definition max24287.h:89
@ MAX24287_100_FULLDUPLEX
Definition max24287.h:93
@ MAX24287_1000_HALFDUPLEX
Definition max24287.h:94
@ MAX24287_10_HALFDUPLEX
Definition max24287.h:90
@ MAX24287_100_HALFDUPLEX
Definition max24287.h:92
@ MAX24287_1000_FULLDUPLEX
Definition max24287.h:95
@ MAX24287_10_FULLDUPLEX
Definition max24287.h:91
@ MAX24287_1250_HALFDUPLEX
Definition max24287.h:96
@ MAX24287_1250_FULLDUPLEX
Definition max24287.h:97
int max24287_config_link(struct max24287_desc *dev, bool up)
Definition max24287.c:249
max24287_parallel
Definition max24287.h:76
@ MAX24287_MII
Definition max24287.h:81
@ MAX24287_RGMII
Definition max24287.h:80
@ MAX24287_GMII
Definition max24287.h:79
@ MAX24287_RTBI
Definition max24287.h:78
@ MAX24287_TBI
Definition max24287.h:77
int max24287_config_parallel(struct max24287_desc *dev, enum max24287_parallel par, enum max24287_speed speed)
Definition max24287.c:162
int max24287_write_bits(struct max24287_desc *dev, uint8_t addr, uint16_t val, uint16_t bitmask)
Definition max24287.c:146
int max24287_config_serial(struct max24287_desc *dev, enum max24287_serial ser, enum max24287_speed speed)
Definition max24287.c:200
Header file for MDIO interface driver.
Header file of utility functions.
Definition max24287.h:109
struct no_os_gpio_desc * reset_gpio
Definition max24287.h:110
struct no_os_mdio_desc * mdio
Definition max24287.h:111
Definition max24287.h:100
struct no_os_gpio_init_param * reset_param
Definition max24287.h:101
enum max24287_parallel parallel
Definition max24287.h:103
enum max24287_serial serial
Definition max24287.h:105
enum max24287_speed parspeed
Definition max24287.h:104
struct no_os_mdio_init_param mdio_param
Definition max24287.h:102
enum max24287_speed serspeed
Definition max24287.h:106
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