Bouffalo SDK
1.0
Bouffalolab Software Development Kit
|
![]() |
Modules | |
emac feature control cmd definition | |
phy state definition | |
Data Structures | |
struct | bflb_emac_config_s |
EMAC configuration structure. More... | |
struct | bflb_emac_phy_cfg_s |
EMAC phy configuration structure. More... | |
Functions | |
void | bflb_emac_init (struct bflb_device_s *dev, const struct bflb_emac_config_s *config) |
void | bflb_emac_stop (struct bflb_device_s *dev) |
void | bflb_emac_start (struct bflb_device_s *dev) |
void | bflb_emac_start_tx (struct bflb_device_s *dev) |
void | bflb_emac_stop_tx (struct bflb_device_s *dev) |
void | bflb_emac_start_rx (struct bflb_device_s *dev) |
void | bflb_emac_stop_rx (struct bflb_device_s *dev) |
void | bflb_emac_bd_init (struct bflb_device_s *dev, uint8_t *eth_tx_buff, uint8_t tx_buf_count, uint8_t *eth_rx_buff, uint8_t rx_buf_count) |
uint32_t | bflb_emac_bd_get_cur_active (struct bflb_device_s *dev, uint8_t bdt) |
void | bflb_emac_bd_rx_enqueue (uint32_t index) |
void | bflb_emac_bd_rx_on_err (uint32_t index) |
void | bflb_emac_bd_tx_dequeue (uint32_t index) |
void | bflb_emac_bd_tx_on_err (uint32_t index) |
int | bflb_emac_bd_tx_enqueue (uint32_t flags, uint32_t len, const uint8_t *data_in) |
int | bflb_emac_bd_rx_dequeue (uint32_t flags, uint32_t *len, uint8_t *data_out) |
int | emac_bd_fragment_support (void) |
void | bflb_emac_int_enable (struct bflb_device_s *dev, uint32_t flag, bool enable) |
void | bflb_emac_int_clear (struct bflb_device_s *dev, uint32_t flag) |
uint32_t | bflb_emac_get_int_status (struct bflb_device_s *dev) |
int | bflb_emac_feature_control (struct bflb_device_s *dev, int cmd, size_t arg) |
int | bflb_emac_phy_reg_read (struct bflb_device_s *dev, uint16_t phy_reg, uint16_t *phy_reg_val) |
int | bflb_emac_phy_reg_write (struct bflb_device_s *dev, uint16_t phy_reg, uint16_t phy_reg_val) |
#define EMAC_BD_TYPE_INVLAID (0) |
Definition at line 102 of file bflb_emac.h.
#define EMAC_BD_TYPE_MAX (0x7FFFFFFF) |
Definition at line 106 of file bflb_emac.h.
#define EMAC_BD_TYPE_NONE (3) |
Definition at line 105 of file bflb_emac.h.
#define EMAC_BD_TYPE_RX (2) |
Definition at line 104 of file bflb_emac.h.
#define EMAC_BD_TYPE_TX (1) |
Definition at line 103 of file bflb_emac.h.
#define EMAC_CLK_USE_EXTERNAL (0) |
Definition at line 17 of file bflb_emac.h.
#define EMAC_CLK_USE_INTERNAL (1) |
Definition at line 18 of file bflb_emac.h.
#define EMAC_DO_FLUSH_DATA (1) |
Definition at line 14 of file bflb_emac.h.
#define EMAC_FRAGMENT_PACKET (uint32_t)(0x01) |
Definition at line 58 of file bflb_emac.h.
#define EMAC_INT_EN_ALL (0x7f << 0) |
Definition at line 89 of file bflb_emac.h.
#define EMAC_INT_EN_RX_BUSY (1 << 4) |
Definition at line 86 of file bflb_emac.h.
#define EMAC_INT_EN_RX_CTRL (1 << 6) |
Definition at line 88 of file bflb_emac.h.
#define EMAC_INT_EN_RX_DONE (1 << 2) |
Definition at line 84 of file bflb_emac.h.
#define EMAC_INT_EN_RX_ERROR (1 << 3) |
Definition at line 85 of file bflb_emac.h.
#define EMAC_INT_EN_TX_CTRL (1 << 5) |
Definition at line 87 of file bflb_emac.h.
#define EMAC_INT_EN_TX_DONE (1 << 0) |
Definition at line 82 of file bflb_emac.h.
#define EMAC_INT_EN_TX_ERROR (1 << 1) |
Definition at line 83 of file bflb_emac.h.
#define EMAC_INT_STS_ALL (0x7f << 0) |
Definition at line 99 of file bflb_emac.h.
#define EMAC_INT_STS_RX_BUSY (1 << 4) |
Definition at line 96 of file bflb_emac.h.
#define EMAC_INT_STS_RX_CTRL (1 << 6) |
Definition at line 98 of file bflb_emac.h.
#define EMAC_INT_STS_RX_DONE (1 << 2) |
Definition at line 94 of file bflb_emac.h.
#define EMAC_INT_STS_RX_ERROR (1 << 3) |
Definition at line 95 of file bflb_emac.h.
#define EMAC_INT_STS_TX_CTRL (1 << 5) |
Definition at line 97 of file bflb_emac.h.
#define EMAC_INT_STS_TX_DONE (1 << 0) |
Definition at line 92 of file bflb_emac.h.
#define EMAC_INT_STS_TX_ERROR (1 << 1) |
Definition at line 93 of file bflb_emac.h.
#define EMAC_NOCOPY_PACKET (uint32_t)(0x02) |
Definition at line 59 of file bflb_emac.h.
#define EMAC_NORMAL_PACKET (uint32_t)(0) |
Definition at line 57 of file bflb_emac.h.
#define ETH_CRC_SIZE ((uint32_t)4U) |
Ethernet CRC
Definition at line 66 of file bflb_emac.h.
#define ETH_EXTRA_SIZE ((uint32_t)2U) |
Extra bytes in some cases
Definition at line 67 of file bflb_emac.h.
#define ETH_HEADER_SZIE ((uint32_t)14U) |
6 byte Dest addr, 6 byte Src addr, 2 byte length/type
Definition at line 65 of file bflb_emac.h.
#define ETH_JUMBO_FRAME_PAYLOAD_SIZE ((uint32_t)9000U) |
Jumbo frame payload size
Definition at line 71 of file bflb_emac.h.
#define ETH_MAX_ETH_PAYLOAD_SIZE ((uint32_t)1500U) |
Maximum Ethernet payload size
Definition at line 70 of file bflb_emac.h.
#define ETH_MAX_PACKET_SIZE ((uint32_t)1524U) |
ETH_HEADER + ETH_EXTRA + ETH_VLAN_TAG + ETH_MAX_ETH_PAYLOAD + ETH_CRC
Definition at line 64 of file bflb_emac.h.
#define ETH_MIN_ETH_PAYLOAD_SIZE ((uint32_t)46U) |
Minimum Ethernet payload size
Definition at line 69 of file bflb_emac.h.
#define ETH_RX_BUFFER_SIZE (ETH_MAX_PACKET_SIZE) |
Definition at line 78 of file bflb_emac.h.
#define ETH_TX_BUFFER_SIZE (ETH_MAX_PACKET_SIZE) |
Definition at line 75 of file bflb_emac.h.
#define ETH_VLAN_TAG_SIZE ((uint32_t)4U) |
optional 802.1q VLAN Tag
Definition at line 68 of file bflb_emac.h.
uint32_t bflb_emac_bd_get_cur_active | ( | struct bflb_device_s * | dev, |
uint8_t | bdt | ||
) |
[in] | dev | |
[in] | bdt |
void bflb_emac_bd_init | ( | struct bflb_device_s * | dev, |
uint8_t * | eth_tx_buff, | ||
uint8_t | tx_buf_count, | ||
uint8_t * | eth_rx_buff, | ||
uint8_t | rx_buf_count | ||
) |
[in] | dev | |
[in] | eth_tx_buff | |
[in] | tx_buf_count | |
[in] | eth_rx_buff | |
[in] | rx_buf_count |
int bflb_emac_bd_rx_dequeue | ( | uint32_t | flags, |
uint32_t * | len, | ||
uint8_t * | data_out | ||
) |
[in] | flags | |
[in] | len | |
[in] | data_out |
void bflb_emac_bd_rx_enqueue | ( | uint32_t | index | ) |
[in] | index |
void bflb_emac_bd_rx_on_err | ( | uint32_t | index | ) |
[in] | index |
void bflb_emac_bd_tx_dequeue | ( | uint32_t | index | ) |
[in] | index |
int bflb_emac_bd_tx_enqueue | ( | uint32_t | flags, |
uint32_t | len, | ||
const uint8_t * | data_in | ||
) |
[in] | flags | |
[in] | len | |
[in] | data_in |
void bflb_emac_bd_tx_on_err | ( | uint32_t | index | ) |
[in] | index |
int bflb_emac_feature_control | ( | struct bflb_device_s * | dev, |
int | cmd, | ||
size_t | arg | ||
) |
[in] | dev | |
[in] | cmd | |
[in] | arg |
uint32_t bflb_emac_get_int_status | ( | struct bflb_device_s * | dev | ) |
[in] | dev |
void bflb_emac_init | ( | struct bflb_device_s * | dev, |
const struct bflb_emac_config_s * | config | ||
) |
[in] | dev | |
[in] | config |
void bflb_emac_int_clear | ( | struct bflb_device_s * | dev, |
uint32_t | flag | ||
) |
[in] | dev | |
[in] | flag |
void bflb_emac_int_enable | ( | struct bflb_device_s * | dev, |
uint32_t | flag, | ||
bool | enable | ||
) |
[in] | dev | |
[in] | flag | |
[in] | enable |
int bflb_emac_phy_reg_read | ( | struct bflb_device_s * | dev, |
uint16_t | phy_reg, | ||
uint16_t * | phy_reg_val | ||
) |
[in] | dev | |
[in] | phy_reg | |
[in] | phy_reg_val |
int bflb_emac_phy_reg_write | ( | struct bflb_device_s * | dev, |
uint16_t | phy_reg, | ||
uint16_t | phy_reg_val | ||
) |
[in] | dev | |
[in] | phy_reg | |
[in] | phy_reg_val |
void bflb_emac_start | ( | struct bflb_device_s * | dev | ) |
[in] | dev |
void bflb_emac_start_rx | ( | struct bflb_device_s * | dev | ) |
[in] | dev |
void bflb_emac_start_tx | ( | struct bflb_device_s * | dev | ) |
[in] | dev |
void bflb_emac_stop | ( | struct bflb_device_s * | dev | ) |
[in] | dev |
void bflb_emac_stop_rx | ( | struct bflb_device_s * | dev | ) |
[in] | dev |
void bflb_emac_stop_tx | ( | struct bflb_device_s * | dev | ) |
[in] | dev |
int emac_bd_fragment_support | ( | void | ) |