4 #define LAN8710A_DEBUG (1)
6 #if LAN8710A_DEBUG == 1
7 #define LAN8710A_DEBUG_PRINT(args) \
9 printf("LAN8710A DEBUG: "); \
14 #define LAN8710A_DEBUG_PRINT(args)
17 /* Ethernet driver defines */
18 #define LAN8710A_NAME_LEN (11)
20 /* Descriptors flags */
21 #define LAN8710A_DESC_FLAG_OWN (1 << 29) /* ownership flag */
22 #define LAN8710A_DESC_FLAG_SOP (1 << 31) /* start of packet flag */
23 #define LAN8710A_DESC_FLAG_EOP (1 << 30) /* end of packet flag */
25 /* Number of Tx and Rx interrupts */
26 #define LAN8710A_RX_INTR (41)
27 #define LAN8710A_TX_INTR (42)
29 /* Values to be written after interrupt handle and interrupt masks*/
33 /** Numbers of Tx DMA channels */
34 #define TX_DMA_CHANNELS (8)
36 /** Number of transmit descriptors */
37 #define LAN8710A_NUM_TX_DESC (255)
39 /** Number of receive descriptors */
40 #define LAN8710A_NUM_RX_DESC (255)
42 /** Size of each I/O buffer per descriptor. */
43 #define LAN8710A_IOBUF_SIZE (1520)
45 /** MAC address override variable. */
46 #define LAN8710A_ENVVAR "LAN8710AETH"
48 /** MAX DMA Channels */
49 #define DMA_MAX_CHANNELS (8)
51 /* Setting of Tx descriptors */
52 #define TX_DESC_TO_PORT1 (1 << 16)
53 #define TX_DESC_TO_PORT_EN (1 << 20)
55 typedef struct lan8710a_desc_t
59 u32_t buffer_length_off
;
63 typedef struct lan8710a_t
65 lan8710a_desc_t
*rx_desc
;
66 lan8710a_desc_t
*tx_desc
;
67 phys_bytes rx_desc_phy
;
68 phys_bytes tx_desc_phy
;
69 int irq_rx_hook
; /* Rx interrupt Request Vector Hook. */
70 int irq_tx_hook
; /* Tx interrupt Request Vector Hook. */
73 u8_t
*p_rx_buf
; /* pointer to the buffer with receive frames */
74 u8_t
*p_tx_buf
; /* pointer to the buffer with transmit frames */
76 u16_t tx_desc_idx
; /* index of the next transmit desciptor */
77 u16_t rx_desc_idx
; /* index of the next receive desciptor */
79 /* register mapping */
80 vir_bytes regs_cp_per
;
82 vir_bytes regs_cpsw_cpdma
;
83 vir_bytes regs_ctrl_mod
;
84 vir_bytes regs_cpsw_sl
;
85 vir_bytes regs_cpsw_ss
;
86 vir_bytes regs_cpsw_stats
;
87 vir_bytes regs_cpsw_ale
;
88 vir_bytes regs_cpsw_wr
;
90 vir_bytes regs_cpdma_stram
;
93 #endif /* LAN8710A_H_ */