Changes after review
Change-Id: I6ad261b5b00f34cc389789c707e8d91c45683007
This commit is contained in:
parent
b05d70e94c
commit
f9bdbf1089
|
|
@ -24,10 +24,10 @@ Driver was tested using various tools, i. e.
|
||||||
* fetch - downloading file from the Internet and also local server. Every file
|
* 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.
|
* ftp - downloading and uploading 20 MB file completed.
|
||||||
* ping - checking connection between BeagleBone and computer passed using standard
|
* ping - checking connection between BeagleBone and computer passed using stan -
|
||||||
settings, when we set ping requests interval to 200 ms it also passed. But with
|
dard settings, when we set ping requests interval to 200 ms it also
|
||||||
20 ms and 2 ms driver dropped some packets (20 ms - about 20% loss, 2 ms - 50%
|
passed. But with 20 ms and 2 ms driver dropped some packets (20 ms -
|
||||||
loss).
|
about 20% loss, 2 ms - 50% loss).
|
||||||
* udpstat, hostaddr, dhcpd, ifconfig, arp gave proper results.
|
* udpstat, hostaddr, dhcpd, ifconfig, arp gave proper results.
|
||||||
Tests passed, so driver meets the requirements of ethernet driver.
|
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
|
DEVIO # 21
|
||||||
;
|
;
|
||||||
ipc
|
ipc
|
||||||
SYSTEM pm rs log tty ds vm
|
tty inet lwip
|
||||||
inet lwip ;
|
;
|
||||||
irq 41; # IRQ 41 allowed
|
irq 41 # IRQ 41 allowed
|
||||||
irq 42; # IRQ 42 allowed
|
42 # IRQ 42 allowed
|
||||||
uid 0;
|
;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@
|
||||||
|
|
||||||
#if LAN8710A_DEBUG == 1
|
#if LAN8710A_DEBUG == 1
|
||||||
#define LAN8710A_DEBUG_PRINT(args) \
|
#define LAN8710A_DEBUG_PRINT(args) \
|
||||||
{ \
|
do { \
|
||||||
printf("LAN8710A DEBUG: "); \
|
printf("LAN8710A DEBUG: "); \
|
||||||
printf args; \
|
printf args; \
|
||||||
printf("\n"); \
|
printf("\n"); \
|
||||||
}
|
} while (0)
|
||||||
#else
|
#else
|
||||||
#define LAN8710A_DEBUG_PRINT(args)
|
#define LAN8710A_DEBUG_PRINT(args)
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -25,6 +25,9 @@
|
||||||
|
|
||||||
#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 */
|
/* Ethernet driver states */
|
||||||
#define LAN8710A_DETECTED (1 << 0)
|
#define LAN8710A_DETECTED (1 << 0)
|
||||||
#define LAN8710A_ENABLED (1 << 1)
|
#define LAN8710A_ENABLED (1 << 1)
|
||||||
|
|
@ -42,9 +45,9 @@
|
||||||
#define LAN8710A_RX_INTR (41)
|
#define LAN8710A_RX_INTR (41)
|
||||||
#define LAN8710A_TX_INTR (42)
|
#define LAN8710A_TX_INTR (42)
|
||||||
|
|
||||||
/* Values to be written after interrupt handle */
|
/* Values to be written after interrupt handle and interrupt masks*/
|
||||||
#define END_OF_RX_INT (1)
|
#define RX_INT (1)
|
||||||
#define END_OF_TX_INT (2)
|
#define TX_INT (2)
|
||||||
|
|
||||||
/** Numbers of Tx DMA channels */
|
/** Numbers of Tx DMA channels */
|
||||||
#define TX_DMA_CHANNELS (8)
|
#define TX_DMA_CHANNELS (8)
|
||||||
|
|
@ -71,22 +74,21 @@
|
||||||
#define TX_DESC_TO_PORT1 (1 << 16)
|
#define TX_DESC_TO_PORT1 (1 << 16)
|
||||||
#define TX_DESC_TO_PORT_EN (1 << 20)
|
#define TX_DESC_TO_PORT_EN (1 << 20)
|
||||||
|
|
||||||
typedef struct lan8710a_desc
|
typedef struct lan8710a_desc_t
|
||||||
{
|
{
|
||||||
u32_t next_pointer;
|
u32_t next_pointer;
|
||||||
u32_t buffer_pointer;
|
u32_t buffer_pointer;
|
||||||
u32_t buffer_length_off;
|
u32_t buffer_length_off;
|
||||||
u32_t pkt_len_flags;
|
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 *rx_desc;
|
||||||
lan8710a_desc_t *tx_desc;
|
lan8710a_desc_t *tx_desc;
|
||||||
phys_bytes rx_desc_phy;
|
phys_bytes rx_desc_phy;
|
||||||
phys_bytes tx_desc_phy;
|
phys_bytes tx_desc_phy;
|
||||||
char name[11];
|
char name[LAN8710A_NAME_LEN];
|
||||||
int status;
|
int status;
|
||||||
int irq_rx_hook; /* Rx interrupt Request Vector Hook. */
|
int irq_rx_hook; /* Rx interrupt Request Vector Hook. */
|
||||||
int irq_tx_hook; /* Tx interrupt Request Vector Hook. */
|
int irq_tx_hook; /* Tx interrupt Request Vector Hook. */
|
||||||
|
|
@ -115,7 +117,7 @@ typedef struct lan8710a
|
||||||
vir_bytes regs_cpsw_ale;
|
vir_bytes regs_cpsw_ale;
|
||||||
vir_bytes regs_cpsw_wr;
|
vir_bytes regs_cpsw_wr;
|
||||||
vir_bytes regs_intc;
|
vir_bytes regs_intc;
|
||||||
vir_bytes regs_cpdma_stateram;
|
vir_bytes regs_cpdma_stram;
|
||||||
} lan8710a_t;
|
} lan8710a_t;
|
||||||
|
|
||||||
#endif /* LAN8710A_H_ */
|
#endif /* LAN8710A_H_ */
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@
|
||||||
|
|
||||||
#define CPDMA_IDLE (1 << 31)
|
#define CPDMA_IDLE (1 << 31)
|
||||||
#define CPDMA_TX_RLIM (0xFF << 8)
|
#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_RX_CEF (1 << 4)
|
||||||
#define CPDMA_CMD_IDLE (1 << 3)
|
#define CPDMA_CMD_IDLE (1 << 3)
|
||||||
#define RX_OFFLEN_BLOCK (1 << 2)
|
#define RX_OFFLEN_BLOCK (1 << 2)
|
||||||
|
|
@ -183,11 +183,11 @@
|
||||||
#define INTC_TX_MASK (1 << 10)
|
#define INTC_TX_MASK (1 << 10)
|
||||||
|
|
||||||
/* DMA STATERAM Registers */
|
/* DMA STATERAM Registers */
|
||||||
#define CPDMA_STATERAM_BASE_ADR (0x4A100A00)
|
#define CPDMA_STRAM_BASE_ADR (0x4A100A00)
|
||||||
#define CPDMA_STATERAM_TX_HDP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stateram + 4*(x)))
|
#define CPDMA_STRAM_TX_HDP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stram + 4*(x)))
|
||||||
#define CPDMA_STATERAM_RX_HDP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stateram + 0x20 + 4*(x)))
|
#define CPDMA_STRAM_RX_HDP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stram + 0x20 + 4*(x)))
|
||||||
#define CPDMA_STATERAM_TX_CP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stateram + 0x40 + 4*(x)))
|
#define CPDMA_STRAM_TX_CP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stram + 0x40 + 4*(x)))
|
||||||
#define CPDMA_STATERAM_RX_CP(x) ((volatile u32_t *)( lan8710a_state.regs_cpdma_stateram + 0x60 + 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)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user