
Имя модуля: EMAC0 , базовый адрес: 0x05020000 Имя модуля: EMAC1 , базовый адрес: 0x05030000 Руководство п. 6.1 Регистров: 27 Имя регистра | Смещение 1) EMAC_BASIC_CTL0 | 0x0000
typedef union emac_basic_ctl0
{
struct
{
unsigned duplex : 1;
unsigned loopback : 1;
unsigned speed : 2;
unsigned unused0 : 28;
} b;
unsigned long w;
} EMAC_BASIC_CTL0
2) EMAC_BASIC_CTL1 | 0x0004
typedef union emac_basic_ctl1
{
struct
{
unsigned soft_rst : 1;
unsigned rx_tx_pri : 1;
unsigned unused0 : 22;
unsigned burst_len : 6;
unsigned unused1 : 2;
} b;
unsigned long w;
} EMAC_BASIC_CTL1
3) EMAC_INT_STA | 0x0008
typedef union emac_int_sta
{
struct
{
unsigned tx_p : 1;
unsigned tx_dma_stopped_p : 1;
unsigned tx_buf_ua_p : 1;
unsigned tx_timeout_p : 1;
unsigned tx_underflow_p : 1;
unsigned tx_early_p : 1;
unsigned unused0 : 2;
unsigned rx_p : 1;
unsigned rx_buf_ua_p : 1;
unsigned rx_dma_stopped_p : 1;
unsigned rx_timeout_p : 1;
unsigned rx_overflow_p : 1;
unsigned rx_early_p : 1;
unsigned unused1 : 2;
unsigned rgmii_link_sta_p : 1;
unsigned unused2 : 15;
} b;
unsigned long w;
} EMAC_INT_STA
4) EMAC_INT_EN | 0x000C
typedef union emac_int_en
{
struct
{
unsigned tx_int_en : 1;
unsigned tx_dma_stopped_int_en : 1;
unsigned tx_buf_ua_int_en : 1;
unsigned tx_timeout_int_en : 1;
unsigned tx_underflow_int_en : 1;
unsigned tx_early_int_en : 1;
unsigned unused0 : 2;
unsigned rx_int_en : 1;
unsigned rx_buf_ua_int_en : 1;
unsigned rx_dma_stopped_int_en : 1;
unsigned rx_timeout_int_en : 1;
unsigned rx_overflow_int_en : 1;
unsigned rx_early_int_en : 1;
unsigned unused1 : 18;
} b;
unsigned long w;
} EMAC_INT_EN
5) EMAC_TX_CTL0 | 0x0010
typedef union emac_tx_ctl0
{
struct
{
unsigned unused0 : 30;
unsigned tx_frm_len_ctl : 1;
unsigned tx_en : 1;
} b;
unsigned long w;
} EMAC_TX_CTL0
6) EMAC_TX_CTL1 | 0x0014
typedef union emac_tx_ctl1
{
struct
{
unsigned flush_tx_fifo : 1;
unsigned tx_md : 1;
unsigned unused0 : 6;
unsigned tx_th : 3;
unsigned unused1 : 19;
unsigned tx_dma_en : 1;
unsigned tx_dma_start : 1;
} b;
unsigned long w;
} EMAC_TX_CTL1
7) EMAC_TX_FLOW_CTL | 0x001C
typedef union emac_tx_flow_ctl
{
struct
{
unsigned tx_flow_ctl_en : 1;
unsigned zqp_frm_en : 1;
unsigned unused0 : 2;
unsigned pause_time : 16;
unsigned tx_pause_frm_slot : 2;
unsigned unused1 : 9;
unsigned tx_flow_ctl_sta : 1;
} b;
unsigned long w;
} EMAC_TX_FLOW_CTL
8) EMAC_TX_DMA_DESC_LIST | 0x0020
typedef union emac_tx_dma_desc_list
{
struct
{
unsigned tx_desc_list : 32;
} b;
unsigned long w;
} EMAC_TX_DMA_DESC_LIST
9) EMAC_RX_CTL0 | 0x0024
typedef union emac_rx_ctl0
{
struct
{
unsigned unused0 : 16;
unsigned rx_flow_ctl_en : 1;
unsigned rx_pause_frm_md : 1;
unsigned unused1 : 9;
unsigned check_crc : 1;
unsigned strip_fcs : 1;
unsigned jumbo_frm_en : 1;
unsigned rx_frm_len_ctl : 1;
unsigned rx_en : 1;
} b;
unsigned long w;
} EMAC_RX_CTL0
10) EMAC_RX_CTL1 | 0x0028
typedef union emac_rx_ctl1
{
struct
{
unsigned flush_rx_frm : 1;
unsigned rx_md : 1;
unsigned rx_runt_frm : 1;
unsigned rx_err_frm : 1;
unsigned rx_th : 2;
unsigned unused0 : 14;
unsigned rx_flow_ctl_th_act : 2;
unsigned rx_flow_ctl_th_deact : 2;
unsigned rx_fifo_flow_ctl : 1;
unsigned unused1 : 5;
unsigned rx_dma_en : 1;
unsigned rx_dma_start : 1;
} b;
unsigned long w;
} EMAC_RX_CTL1
11) EMAC_RX_DMA_DESC_LIST | 0x0034
typedef union emac_rx_dma_desc_list
{
struct
{
unsigned rx_desc_list : 32;
} b;
unsigned long w;
} EMAC_RX_DMA_DESC_LIST
12) EMAC_RX_FRM_FLT | 0x0038
typedef union emac_rx_frm_flt
{
struct
{
unsigned rx_all : 1;
unsigned flt_md : 1;
unsigned unused0 : 2;
unsigned da_inv_filter : 1;
unsigned sa_inv_filter : 1;
unsigned sa_filter_en : 1;
unsigned unused1 : 1;
unsigned hash_unicast : 1;
unsigned hash_multicast : 1;
unsigned unused2 : 2;
unsigned ctl_frm_filter : 2;
unsigned unused3 : 2;
unsigned rx_all_multicast : 1;
unsigned dis_broadcast : 1;
unsigned unused4 : 13;
unsigned dis_addr_filter : 1;
} b;
unsigned long w;
} EMAC_RX_FRM_FLT
13) EMAC_RX_HASH0 | 0x0040
typedef union emac_rx_hash0
{
struct
{
unsigned hash_tab0 : 32;
} b;
unsigned long w;
} EMAC_RX_HASH0
14) EMAC_RX_HASH1 | 0x0044
typedef union emac_rx_hash1
{
struct
{
unsigned hash_tab1 : 32;
} b;
unsigned long w;
} EMAC_RX_HASH1
15) EMAC_MII_CMD | 0x0048
typedef union emac_mii_cmd
{
struct
{
unsigned mii_busy : 1;
unsigned mii_wr : 1;
unsigned unused0 : 2;
unsigned phy_reg_addr : 5;
unsigned unused1 : 3;
unsigned phy_addr : 5;
unsigned unused2 : 3;
unsigned mdc_div_ratio_m : 3;
unsigned unused3 : 9;
} b;
unsigned long w;
} EMAC_MII_CMD
16) EMAC_MII_DATA | 0x004C
typedef union emac_mii_data
{
struct
{
unsigned mii_data : 16;
unsigned unused0 : 16;
} b;
unsigned long w;
} EMAC_MII_DATA
17) EMAC_ADDR_HIGH0 | 0x0050
typedef union emac_addr_high0
{
struct
{
unsigned mac_addr_high0 : 16;
unsigned unused0 : 16;
} b;
unsigned long w;
} EMAC_ADDR_HIGH0
18) EMAC_ADDR_LOW0 | 0x0054
typedef union emac_addr_low0
{
struct
{
unsigned mac_addr_low0 : 32;
} b;
unsigned long w;
} EMAC_ADDR_LOW0
19) EMAC_ADDR_HIGHN | 0x0050+0x08*N(N=1~7)
typedef union emac_addr_highn
{
struct
{
unsigned mac_addr_high : 16;
unsigned unused0 : 8;
unsigned mac_addr_byte_ctl : 6;
unsigned mac_addr_type : 1;
unsigned mac_addr_ctl : 1;
} b;
unsigned long w;
} EMAC_ADDR_HIGHN
20) EMAC_ADDR_LOWN | 0x0054+0x08*N(N=1~7)
typedef union emac_addr_lown
{
struct
{
unsigned mac_addr_lown : 32;
} b;
unsigned long w;
} EMAC_ADDR_LOWN
21) EMAC_TX_DMA_STA | 0x00B0
typedef union emac_tx_dma_sta
{
struct
{
unsigned tx_dma_sta : 3;
unsigned unused0 : 29;
} b;
unsigned long w;
} EMAC_TX_DMA_STA
22) EMAC_TX_DMA_CUR_DESC | 0x00B4
typedef union emac_tx_dma_cur_desc
{
struct
{
unsigned emac_tx_dma_cur_desc : 32;
} b;
unsigned long w;
} EMAC_TX_DMA_CUR_DESC
23) EMAC_TX_DMA_CUR_BUF | 0x00B8
typedef union emac_tx_dma_cur_buf
{
struct
{
unsigned emac_tx_dma_cur_buf : 32;
} b;
unsigned long w;
} EMAC_TX_DMA_CUR_BUF
24) EMAC_RX_DMA_STA | 0x00C0
typedef union emac_rx_dma_sta
{
struct
{
unsigned rx_dma_sta : 3;
unsigned unused0 : 29;
} b;
unsigned long w;
} EMAC_RX_DMA_STA
25) EMAC_RX_DMA_CUR_DESC | 0x00C4
typedef union emac_rx_dma_cur_desc
{
struct
{
unsigned emac_rx_dma_cur_desc : 32;
} b;
unsigned long w;
} EMAC_RX_DMA_CUR_DESC
26) EMAC_RX_DMA_CUR_BUF | 0x00C8
typedef union emac_rx_dma_cur_buf
{
struct
{
unsigned emac_rx_dma_cur_buf : 32;
} b;
unsigned long w;
} EMAC_RX_DMA_CUR_BUF
27) EMAC_RGMII_STA | 0x00D0
typedef union emac_rgmii_sta
{
struct
{
unsigned rgmii_link_md : 1;
unsigned rgmii_link_spd : 2;
unsigned rgmii_link : 1;
unsigned unused0 : 28;
} b;
unsigned long w;
} EMAC_RGMII_STA
|
![]() |