Changes after review
Change-Id: I6ad261b5b00f34cc389789c707e8d91c45683007
This commit is contained in:
parent
b05d70e94c
commit
f9bdbf1089
|
|
@ -22,12 +22,12 @@ Restart the system and the driver should work.
|
|||
--------------------------------------------------------------------------------
|
||||
Driver was tested using various tools, i. e.
|
||||
* fetch - downloading file from the Internet and also local server. Every file
|
||||
downloaded well, but speed was about 50-200 kB/s.
|
||||
downloaded well, but speed was about 50-200 kB/s.
|
||||
* ftp - downloading and uploading 20 MB file completed.
|
||||
* ping - checking connection between BeagleBone and computer passed using standard
|
||||
settings, when we set ping requests interval to 200 ms it also passed. But with
|
||||
20 ms and 2 ms driver dropped some packets (20 ms - about 20% loss, 2 ms - 50%
|
||||
loss).
|
||||
* ping - checking connection between BeagleBone and computer passed using stan -
|
||||
dard settings, when we set ping requests interval to 200 ms it also
|
||||
passed. But with 20 ms and 2 ms driver dropped some packets (20 ms -
|
||||
about 20% loss, 2 ms - 50% loss).
|
||||
* udpstat, hostaddr, dhcpd, ifconfig, arp gave proper results.
|
||||
Tests passed, so driver meets the requirements of ethernet driver.
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -9,9 +9,9 @@ service lan8710a
|
|||
DEVIO # 21
|
||||
;
|
||||
ipc
|
||||
SYSTEM pm rs log tty ds vm
|
||||
inet lwip ;
|
||||
irq 41; # IRQ 41 allowed
|
||||
irq 42; # IRQ 42 allowed
|
||||
uid 0;
|
||||
tty inet lwip
|
||||
;
|
||||
irq 41 # IRQ 41 allowed
|
||||
42 # IRQ 42 allowed
|
||||
;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
|
||||
#if LAN8710A_DEBUG == 1
|
||||
#define LAN8710A_DEBUG_PRINT(args) \
|
||||
{ \
|
||||
do { \
|
||||
printf("LAN8710A DEBUG: "); \
|
||||
printf args; \
|
||||
printf("\n"); \
|
||||
}
|
||||
} while (0)
|
||||
#else
|
||||
#define LAN8710A_DEBUG_PRINT(args)
|
||||
#endif
|
||||
|
|
@ -23,7 +23,10 @@
|
|||
#define OK 0 /* general OK flag */
|
||||
#endif
|
||||
|
||||
#define MAP_FAILED ((void *) -1) /* mmap() failed */
|
||||
#define MAP_FAILED ((void *) -1) /* mmap() failed */
|
||||
|
||||
/* Ethernet driver defines */
|
||||
#define LAN8710A_NAME_LEN (11)
|
||||
|
||||
/* Ethernet driver states */
|
||||
#define LAN8710A_DETECTED (1 << 0)
|
||||
|
|
@ -34,17 +37,17 @@
|
|||
#define LAN8710A_TRANSMIT (1 << 5)
|
||||
|
||||
/* Descriptors flags */
|
||||
#define LAN8710A_DESC_FLAG_OWN (1 << 29) /* ownership flag */
|
||||
#define LAN8710A_DESC_FLAG_SOP (1 << 31) /* start of packet flag */
|
||||
#define LAN8710A_DESC_FLAG_EOP (1 << 30) /* end of packet flag */
|
||||
#define LAN8710A_DESC_FLAG_OWN (1 << 29) /* ownership flag */
|
||||
#define LAN8710A_DESC_FLAG_SOP (1 << 31) /* start of packet flag */
|
||||
#define LAN8710A_DESC_FLAG_EOP (1 << 30) /* end of packet flag */
|
||||
|
||||
/* Number of Tx and Rx interrupts */
|
||||
#define LAN8710A_RX_INTR (41)
|
||||
#define LAN8710A_TX_INTR (42)
|
||||
|
||||
/* Values to be written after interrupt handle */
|
||||
#define END_OF_RX_INT (1)
|
||||
#define END_OF_TX_INT (2)
|
||||
/* Values to be written after interrupt handle and interrupt masks*/
|
||||
#define RX_INT (1)
|
||||
#define TX_INT (2)
|
||||
|
||||
/** Numbers of Tx DMA channels */
|
||||
#define TX_DMA_CHANNELS (8)
|
||||
|
|
@ -71,34 +74,33 @@
|
|||
#define TX_DESC_TO_PORT1 (1 << 16)
|
||||
#define TX_DESC_TO_PORT_EN (1 << 20)
|
||||
|
||||
typedef struct lan8710a_desc
|
||||
typedef struct lan8710a_desc_t
|
||||
{
|
||||
u32_t next_pointer;
|
||||
u32_t buffer_pointer;
|
||||
u32_t buffer_length_off;
|
||||
u32_t pkt_len_flags;
|
||||
}
|
||||
lan8710a_desc_t;
|
||||
} lan8710a_desc_t;
|
||||
|
||||
typedef struct lan8710a
|
||||
typedef struct lan8710a_t
|
||||
{
|
||||
lan8710a_desc_t *rx_desc;
|
||||
lan8710a_desc_t *tx_desc;
|
||||
phys_bytes rx_desc_phy;
|
||||
phys_bytes tx_desc_phy;
|
||||
char name[11];
|
||||
char name[LAN8710A_NAME_LEN];
|
||||
int status;
|
||||
int irq_rx_hook; /* Rx interrupt Request Vector Hook. */
|
||||
int irq_tx_hook; /* Tx interrupt Request Vector Hook. */
|
||||
int irq_rx_hook; /* Rx interrupt Request Vector Hook. */
|
||||
int irq_tx_hook; /* Tx interrupt Request Vector Hook. */
|
||||
int instance;
|
||||
ether_addr_t address; /* Ethernet MAC address. */
|
||||
ether_addr_t address; /* Ethernet MAC address. */
|
||||
u8_t *regs;
|
||||
u32_t phy_address;
|
||||
u8_t *p_rx_buf; /* pointer to the buffer with receive frames */
|
||||
u8_t *p_tx_buf; /* pointer to the buffer with transmit frames */
|
||||
u8_t *p_rx_buf; /* pointer to the buffer with receive frames */
|
||||
u8_t *p_tx_buf; /* pointer to the buffer with transmit frames */
|
||||
|
||||
u16_t tx_desc_idx; /* index of the next transmit desciptor */
|
||||
u16_t rx_desc_idx; /* index of the next receive desciptor */
|
||||
u16_t tx_desc_idx; /* index of the next transmit desciptor */
|
||||
u16_t rx_desc_idx; /* index of the next receive desciptor */
|
||||
int client;
|
||||
message tx_message;
|
||||
message rx_message;
|
||||
|
|
@ -115,7 +117,7 @@ typedef struct lan8710a
|
|||
vir_bytes regs_cpsw_ale;
|
||||
vir_bytes regs_cpsw_wr;
|
||||
vir_bytes regs_intc;
|
||||
vir_bytes regs_cpdma_stateram;
|
||||
vir_bytes regs_cpdma_stram;
|
||||
} lan8710a_t;
|
||||
|
||||
#endif /* LAN8710A_H_ */
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#define LAN8710A_REG_H_
|
||||
|
||||
/* How much memory we should map */
|
||||
#define MEMORY_LIMIT (0x5302000)
|
||||
#define MEMORY_LIMIT (0x5302000)
|
||||
#define BEGINNING_DESC_MEM (0x4A102000)
|
||||
#define DESC_MEMORY_LIMIT (0x2000)
|
||||
#define BEGINNING_RX_DESC_MEM (0x4A102000)
|
||||
|
|
@ -10,20 +10,20 @@
|
|||
|
||||
/* MDIO Registers */
|
||||
#define MDIO_BASE_ADDR (0x4A101000)
|
||||
#define MDIOVER ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x00))
|
||||
#define MDIOCONTROL ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x04))
|
||||
#define MDIOALIVE ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x08))
|
||||
#define MDIOLINK ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x0C))
|
||||
#define MDIOLINKINTRAW ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x10))
|
||||
#define MDIOLINKINTMASKED ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x14))
|
||||
#define MDIOUSERINTRAW ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x20))
|
||||
#define MDIOUSERINTMASKED ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x24))
|
||||
#define MDIOUSERINTMASKSET ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x28))
|
||||
#define MDIOUSERINTMASKCLR ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x2C))
|
||||
#define MDIOUSERACCESS0 ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x80))
|
||||
#define MDIOUSERPHYSEL0 ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x84))
|
||||
#define MDIOUSERACCESS1 ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x88))
|
||||
#define MDIOUSERPHYSEL1 ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x8C))
|
||||
#define MDIOVER ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x00))
|
||||
#define MDIOCONTROL ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x04))
|
||||
#define MDIOALIVE ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x08))
|
||||
#define MDIOLINK ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x0C))
|
||||
#define MDIOLINKINTRAW ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x10))
|
||||
#define MDIOLINKINTMASKED ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x14))
|
||||
#define MDIOUSERINTRAW ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x20))
|
||||
#define MDIOUSERINTMASKED ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x24))
|
||||
#define MDIOUSERINTMASKSET ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x28))
|
||||
#define MDIOUSERINTMASKCLR ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x2C))
|
||||
#define MDIOUSERACCESS0 ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x80))
|
||||
#define MDIOUSERPHYSEL0 ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x84))
|
||||
#define MDIOUSERACCESS1 ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x88))
|
||||
#define MDIOUSERPHYSEL1 ((volatile u32_t *)( lan8710a_state.regs_mdio + 0x8C))
|
||||
|
||||
#define MDIO_PREAMBLE (1 << 20)
|
||||
#define MDCLK_DIVIDER (0x255)
|
||||
|
|
@ -90,8 +90,8 @@
|
|||
|
||||
/* CPSW_SL Registers */
|
||||
#define CPSW_SL_BASE_ADR (0x4A100D80)
|
||||
#define CPSW_SL_MACCONTROL(x) ((volatile u32_t *)( lan8710a_state.regs_cpsw_sl + ((x)-1)*64 + 0x04))
|
||||
#define CPSW_SL_SOFT_RESET(x) ((volatile u32_t *)( lan8710a_state.regs_cpsw_sl + ((x)-1)*64 + 0x0C))
|
||||
#define CPSW_SL_MACCONTROL(x) ((volatile u32_t *)( lan8710a_state.regs_cpsw_sl + ((x)-1)*64 + 0x04))
|
||||
#define CPSW_SL_SOFT_RESET(x) ((volatile u32_t *)( lan8710a_state.regs_cpsw_sl + ((x)-1)*64 + 0x0C))
|
||||
#define CPSW_SL_RX_MAXLEN(x) ((volatile u32_t *)( lan8710a_state.regs_cpsw_sl + ((x)-1)*64 + 0x10))
|
||||
#define CPSW_SL_BOFFTEST(x) ((volatile u32_t *)( lan8710a_state.regs_cpsw_sl + ((x)-1)*64 + 0x14))
|
||||
#define CPSW_SL_EMCONTROL(x) ((volatile u32_t *)( lan8710a_state.regs_cpsw_sl + ((x)-1)*64 + 0x20))
|
||||
|
|
@ -104,16 +104,16 @@
|
|||
|
||||
/* CPSW_STATS Registers */
|
||||
#define CPSW_STATS_BASE_ADR (0x4A100900)
|
||||
#define CPSW_STATS_MEM_LIMIT (0x90)
|
||||
#define CPSW_STATS_MEM_LIMIT (0x90)
|
||||
#define CPSW_STAT_RX_GOOD ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x00))
|
||||
#define CPSW_STAT_RX_CRC_ERR ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x10))
|
||||
#define CPSW_STAT_RX_AGNCD_ERR ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x14))
|
||||
#define CPSW_STAT_RX_OVERSIZE ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x18))
|
||||
#define CPSW_STAT_RX_CRC_ERR ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x10))
|
||||
#define CPSW_STAT_RX_AGNCD_ERR ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x14))
|
||||
#define CPSW_STAT_RX_OVERSIZE ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x18))
|
||||
#define CPSW_STAT_TX_GOOD ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x34))
|
||||
#define CPSW_STAT_COLLISIONS ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x48))
|
||||
#define CPSW_STAT_TX_UNDERRUN ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x5C))
|
||||
#define CPSW_STAT_COLLISIONS ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x48))
|
||||
#define CPSW_STAT_TX_UNDERRUN ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x5C))
|
||||
#define CPSW_STAT_CARR_SENS_ERR ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x60))
|
||||
#define CPSW_STAT_RX_OVERRUN ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x8C))
|
||||
#define CPSW_STAT_RX_OVERRUN ((volatile u32_t *)( lan8710a_state.regs_cpsw_stats + 0x8C))
|
||||
|
||||
/* CPSW_CPDMA Registers */
|
||||
#define CPSW_CPDMA_BASE_ADR (0x4A100800)
|
||||
|
|
@ -122,17 +122,17 @@
|
|||
#define CPDMA_RX_CONTROL ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x14))
|
||||
#define CPDMA_CONTROL ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x20))
|
||||
#define CPDMA_STATUS ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x24))
|
||||
#define CPDMA_RX_BUFFER_OFFSET ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x28))
|
||||
#define CPDMA_RX_BUFFER_OFFSET ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x28))
|
||||
#define CPDMA_EMCONTROL ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x2C))
|
||||
#define CPDMA_TX_INTMASK_SET ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x88))
|
||||
#define CPDMA_TX_INTMASK_CLEAR ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x8C))
|
||||
#define CPDMA_TX_INTMASK_SET ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x88))
|
||||
#define CPDMA_TX_INTMASK_CLEAR ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x8C))
|
||||
#define CPDMA_EOI_VECTOR ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0x94))
|
||||
#define CPDMA_RX_INTMASK_SET ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0xA8))
|
||||
#define CPDMA_RX_INTMASK_CLEAR ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0xAC))
|
||||
#define CPDMA_RX_INTMASK_SET ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0xA8))
|
||||
#define CPDMA_RX_INTMASK_CLEAR ((volatile u32_t *)( lan8710a_state.regs_cpsw_cpdma + 0xAC))
|
||||
|
||||
#define CPDMA_IDLE (1 << 31)
|
||||
#define CPDMA_TX_RLIM (0xFF << 8)
|
||||
#define CPDMA_NO_OFFSET (oxFFFF << 0)
|
||||
#define CPDMA_NO_OFFSET (0xFFFF << 0)
|
||||
#define CPDMA_RX_CEF (1 << 4)
|
||||
#define CPDMA_CMD_IDLE (1 << 3)
|
||||
#define RX_OFFLEN_BLOCK (1 << 2)
|
||||
|
|
@ -140,7 +140,7 @@
|
|||
#define TX_PTYPE (1 << 0)
|
||||
#define CPDMA_TX_EN (1 << 0)
|
||||
#define CPDMA_RX_EN (1 << 0)
|
||||
#define CPDMA_FIRST_CHAN_INT (1 << 0)
|
||||
#define CPDMA_FIRST_CHAN_INT (1 << 0)
|
||||
#define CPDMA_ALL_CHAN_INT (0xFF << 0)
|
||||
#define CPDMA_TX_PTYPE (1 << 0)
|
||||
#define CPDMA_ERROR (0x00F7F700)
|
||||
|
|
@ -148,8 +148,8 @@
|
|||
/* CPSW_SS Registers */
|
||||
#define CPSW_SS_BASE_ADR (0x4A100000)
|
||||
#define CPSW_SS_SOFT_RESET ((volatile u32_t *)( lan8710a_state.regs_cpsw_ss + 0x08))
|
||||
#define CPSW_SS_STAT_PORT_EN ((volatile u32_t *)( lan8710a_state.regs_cpsw_ss + 0x0C))
|
||||
#define CPSW_SS_TX_START_WDS ((volatile u32_t *)( lan8710a_state.regs_cpsw_ss + 0x20))
|
||||
#define CPSW_SS_STAT_PORT_EN ((volatile u32_t *)( lan8710a_state.regs_cpsw_ss + 0x0C))
|
||||
#define CPSW_SS_TX_START_WDS ((volatile u32_t *)( lan8710a_state.regs_cpsw_ss + 0x20))
|
||||
|
||||
#define CPSW_P2_STAT_EN (1 << 2)
|
||||
#define CPSW_P1_STAT_EN (1 << 1)
|
||||
|
|
@ -165,15 +165,15 @@
|
|||
#define CPSW_WR_C0_TX_EN ((volatile u32_t *)( lan8710a_state.regs_cpsw_wr + 0x18))
|
||||
#define CPSW_WR_C0_TX_STAT ((volatile u32_t *)( lan8710a_state.regs_cpsw_wr + 0x48))
|
||||
|
||||
#define CPSW_FIRST_CHAN_INT (1 << 0)
|
||||
#define CPSW_FIRST_CHAN_INT (1 << 0)
|
||||
#define CPSW_ALL_CHAN_INT (0xFF << 0)
|
||||
|
||||
/* INTERRUPTION CONTROLLER Registers */
|
||||
#define INTC_BASE_ADR (0x48200000)
|
||||
#define INTC_SYSCONFIG ((volatile u32_t *)( lan8710a_state.regs_intc + 0x10))
|
||||
#define INTC_IDLE ((volatile u32_t *)( lan8710a_state.regs_intc + 0x50))
|
||||
#define INTC_SYSCONFIG ((volatile u32_t *)( lan8710a_state.regs_intc + 0x10))
|
||||
#define INTC_IDLE ((volatile u32_t *)( lan8710a_state.regs_intc + 0x50))
|
||||
#define INTC_MIR_CLEAR1 ((volatile u32_t *)( lan8710a_state.regs_intc + 0xA8))
|
||||
#define INTC_ILR(x) ((volatile u32_t *)( lan8710a_state.regs_intc + 0x100 + 4*(x)))
|
||||
#define INTC_ILR(x) ((volatile u32_t *)( lan8710a_state.regs_intc + 0x100 + 4*(x)))
|
||||
|
||||
#define INTC_AUTOIDLE (1 << 0)
|
||||
#define INTC_FUNCIDLE (1 << 0)
|
||||
|
|
@ -183,21 +183,21 @@
|
|||
#define INTC_TX_MASK (1 << 10)
|
||||
|
||||
/* DMA STATERAM Registers */
|
||||
#define CPDMA_STATERAM_BASE_ADR (0x4A100A00)
|
||||
#define CPDMA_STATERAM_TX_HDP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stateram + 4*(x)))
|
||||
#define CPDMA_STATERAM_RX_HDP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stateram + 0x20 + 4*(x)))
|
||||
#define CPDMA_STATERAM_TX_CP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stateram + 0x40 + 4*(x)))
|
||||
#define CPDMA_STATERAM_RX_CP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stateram + 0x60 + 4*(x)))
|
||||
#define CPDMA_STRAM_BASE_ADR (0x4A100A00)
|
||||
#define CPDMA_STRAM_TX_HDP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stram + 4*(x)))
|
||||
#define CPDMA_STRAM_RX_HDP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stram + 0x20 + 4*(x)))
|
||||
#define CPDMA_STRAM_TX_CP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stram + 0x40 + 4*(x)))
|
||||
#define CPDMA_STRAM_RX_CP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stram + 0x60 + 4*(x)))
|
||||
|
||||
#define ALL_BITS (0xFFFFFFFF)
|
||||
#define ALL_BITS (0xFFFFFFFF)
|
||||
|
||||
/* LAN8710A Registers */
|
||||
#define PHY_REGISTERS (31)
|
||||
#define LAN8710A_CTRL_REG (0)
|
||||
#define LAN8710A_STATUS_REG (1)
|
||||
#define PHY_REGISTERS (31)
|
||||
#define LAN8710A_CTRL_REG (0)
|
||||
#define LAN8710A_STATUS_REG (1)
|
||||
|
||||
#define LAN8710A_SOFT_RESET (1 << 15)
|
||||
#define LAN8710A_AUTO_NEG (1 << 12)
|
||||
#define LAN8710A_AUTO_NEG_COMPL (1 << 5)
|
||||
#define LAN8710A_SOFT_RESET (1 << 15)
|
||||
#define LAN8710A_AUTO_NEG (1 << 12)
|
||||
#define LAN8710A_AUTO_NEG_COMPL (1 << 5)
|
||||
|
||||
#endif /* LAN8710A_REG_H_ */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user