r528_pac/
emac.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - EMAC Basic Control Register0"]
5    pub emac_basic_ctl0: crate::Reg<emac_basic_ctl0::EMAC_BASIC_CTL0_SPEC>,
6    #[doc = "0x04 - EMAC Basic Control Register1"]
7    pub emac_basic_ctl1: crate::Reg<emac_basic_ctl1::EMAC_BASIC_CTL1_SPEC>,
8    #[doc = "0x08 - EMAC Interrupt Status Register"]
9    pub emac_int_sta: crate::Reg<emac_int_sta::EMAC_INT_STA_SPEC>,
10    #[doc = "0x0c - EMAC Interrupt Enable Register"]
11    pub emac_int_en: crate::Reg<emac_int_en::EMAC_INT_EN_SPEC>,
12    #[doc = "0x10 - EMAC Transmit Control Register0"]
13    pub emac_tx_ctl0: crate::Reg<emac_tx_ctl0::EMAC_TX_CTL0_SPEC>,
14    #[doc = "0x14 - EMAC Transmit Control Register1"]
15    pub emac_tx_ctl1: crate::Reg<emac_tx_ctl1::EMAC_TX_CTL1_SPEC>,
16    _reserved6: [u8; 0x04],
17    #[doc = "0x1c - EMAC Transmit Flow Control Register"]
18    pub emac_tx_flow_ctl: crate::Reg<emac_tx_flow_ctl::EMAC_TX_FLOW_CTL_SPEC>,
19    #[doc = "0x20 - EMAC Transmit Descriptor List Address Register"]
20    pub emac_tx_dma_desc_list: crate::Reg<emac_tx_dma_desc_list::EMAC_TX_DMA_DESC_LIST_SPEC>,
21    #[doc = "0x24 - EMAC Receive Control Register0"]
22    pub emac_rx_ctl0: crate::Reg<emac_rx_ctl0::EMAC_RX_CTL0_SPEC>,
23    #[doc = "0x28 - EMAC Receive Control Register1"]
24    pub emac_rx_ctl1: crate::Reg<emac_rx_ctl1::EMAC_RX_CTL1_SPEC>,
25    _reserved10: [u8; 0x08],
26    #[doc = "0x34 - EMAC Receive Descriptor List Address Register"]
27    pub emac_rx_dma_desc_list: crate::Reg<emac_rx_dma_desc_list::EMAC_RX_DMA_DESC_LIST_SPEC>,
28    #[doc = "0x38 - EMAC Receive Frame Filter Register"]
29    pub emac_rx_frm_flt: crate::Reg<emac_rx_frm_flt::EMAC_RX_FRM_FLT_SPEC>,
30    _reserved12: [u8; 0x04],
31    #[doc = "0x40 - EMAC Hash Table Register0"]
32    pub emac_rx_hash0: crate::Reg<emac_rx_hash0::EMAC_RX_HASH0_SPEC>,
33    #[doc = "0x44 - EMAC Hash Table Register1"]
34    pub emac_rx_hash1: crate::Reg<emac_rx_hash1::EMAC_RX_HASH1_SPEC>,
35    #[doc = "0x48 - EMAC Management Interface Command Register"]
36    pub emac_mii_cmd: crate::Reg<emac_mii_cmd::EMAC_MII_CMD_SPEC>,
37    #[doc = "0x4c - EMAC Management Interface Data Register"]
38    pub emac_mii_data: crate::Reg<emac_mii_data::EMAC_MII_DATA_SPEC>,
39    #[doc = "0x50 - EMAC MAC Address High Register"]
40    pub emac_addr_high0: crate::Reg<emac_addr_high0::EMAC_ADDR_HIGH0_SPEC>,
41    #[doc = "0x54 - EMAC MAC Address Low Register"]
42    pub emac_addr_low0: crate::Reg<emac_addr_low::EMAC_ADDR_LOW_SPEC>,
43    #[doc = "0x58 - EMAC MAC Address High Register"]
44    pub emac_addr_high1: crate::Reg<emac_addr_high::EMAC_ADDR_HIGH_SPEC>,
45    #[doc = "0x5c - EMAC MAC Address Low Register"]
46    pub emac_addr_low1: crate::Reg<emac_addr_low::EMAC_ADDR_LOW_SPEC>,
47    #[doc = "0x60 - EMAC MAC Address High Register"]
48    pub emac_addr_high2: crate::Reg<emac_addr_high::EMAC_ADDR_HIGH_SPEC>,
49    #[doc = "0x64 - EMAC MAC Address Low Register"]
50    pub emac_addr_low2: crate::Reg<emac_addr_low::EMAC_ADDR_LOW_SPEC>,
51    #[doc = "0x68 - EMAC MAC Address High Register"]
52    pub emac_addr_high3: crate::Reg<emac_addr_high::EMAC_ADDR_HIGH_SPEC>,
53    #[doc = "0x6c - EMAC MAC Address Low Register"]
54    pub emac_addr_low3: crate::Reg<emac_addr_low::EMAC_ADDR_LOW_SPEC>,
55    #[doc = "0x70 - EMAC MAC Address High Register"]
56    pub emac_addr_high4: crate::Reg<emac_addr_high::EMAC_ADDR_HIGH_SPEC>,
57    #[doc = "0x74 - EMAC MAC Address Low Register"]
58    pub emac_addr_low4: crate::Reg<emac_addr_low::EMAC_ADDR_LOW_SPEC>,
59    #[doc = "0x78 - EMAC MAC Address High Register"]
60    pub emac_addr_high5: crate::Reg<emac_addr_high::EMAC_ADDR_HIGH_SPEC>,
61    #[doc = "0x7c - EMAC MAC Address Low Register"]
62    pub emac_addr_low5: crate::Reg<emac_addr_low::EMAC_ADDR_LOW_SPEC>,
63    #[doc = "0x80 - EMAC MAC Address High Register"]
64    pub emac_addr_high6: crate::Reg<emac_addr_high::EMAC_ADDR_HIGH_SPEC>,
65    #[doc = "0x84 - EMAC MAC Address Low Register"]
66    pub emac_addr_low6: crate::Reg<emac_addr_low::EMAC_ADDR_LOW_SPEC>,
67    #[doc = "0x88 - EMAC MAC Address High Register"]
68    pub emac_addr_high7: crate::Reg<emac_addr_high::EMAC_ADDR_HIGH_SPEC>,
69    #[doc = "0x8c - EMAC MAC Address Low Register"]
70    pub emac_addr_low7: crate::Reg<emac_addr_low::EMAC_ADDR_LOW_SPEC>,
71    _reserved32: [u8; 0x20],
72    #[doc = "0xb0 - EMAC Transmit DMA Status Register"]
73    pub emac_tx_dma_sta: crate::Reg<emac_tx_dma_sta::EMAC_TX_DMA_STA_SPEC>,
74    #[doc = "0xb4 - EMAC Current Transmit Descriptor Register"]
75    pub emac_tx_cur_desc: crate::Reg<emac_tx_cur_desc::EMAC_TX_CUR_DESC_SPEC>,
76    #[doc = "0xb8 - EMAC Current Transmit Buffer Address Register"]
77    pub emac_tx_cur_buf: crate::Reg<emac_tx_cur_buf::EMAC_TX_CUR_BUF_SPEC>,
78    _reserved35: [u8; 0x04],
79    #[doc = "0xc0 - EMAC Receive DMA Status Register"]
80    pub emac_rx_dma_sta: crate::Reg<emac_rx_dma_sta::EMAC_RX_DMA_STA_SPEC>,
81    #[doc = "0xc4 - EMAC Current Receive Descriptor Register"]
82    pub emac_rx_cur_desc: crate::Reg<emac_rx_cur_desc::EMAC_RX_CUR_DESC_SPEC>,
83    #[doc = "0xc8 - EMAC Current Receive Buffer Address Register"]
84    pub emac_rx_cur_buf: crate::Reg<emac_rx_cur_buf::EMAC_RX_CUR_BUF_SPEC>,
85    _reserved38: [u8; 0x04],
86    #[doc = "0xd0 - EMAC RGMII Status Register"]
87    pub emac_rgmii_sta: crate::Reg<emac_rgmii_sta::EMAC_RGMII_STA_SPEC>,
88}
89#[doc = "EMAC_BASIC_CTL0 register accessor: an alias for `Reg<EMAC_BASIC_CTL0_SPEC>`"]
90pub type EMAC_BASIC_CTL0 = crate::Reg<emac_basic_ctl0::EMAC_BASIC_CTL0_SPEC>;
91#[doc = "EMAC Basic Control Register0"]
92pub mod emac_basic_ctl0;
93#[doc = "EMAC_BASIC_CTL1 register accessor: an alias for `Reg<EMAC_BASIC_CTL1_SPEC>`"]
94pub type EMAC_BASIC_CTL1 = crate::Reg<emac_basic_ctl1::EMAC_BASIC_CTL1_SPEC>;
95#[doc = "EMAC Basic Control Register1"]
96pub mod emac_basic_ctl1;
97#[doc = "EMAC_INT_STA register accessor: an alias for `Reg<EMAC_INT_STA_SPEC>`"]
98pub type EMAC_INT_STA = crate::Reg<emac_int_sta::EMAC_INT_STA_SPEC>;
99#[doc = "EMAC Interrupt Status Register"]
100pub mod emac_int_sta;
101#[doc = "EMAC_INT_EN register accessor: an alias for `Reg<EMAC_INT_EN_SPEC>`"]
102pub type EMAC_INT_EN = crate::Reg<emac_int_en::EMAC_INT_EN_SPEC>;
103#[doc = "EMAC Interrupt Enable Register"]
104pub mod emac_int_en;
105#[doc = "EMAC_TX_CTL0 register accessor: an alias for `Reg<EMAC_TX_CTL0_SPEC>`"]
106pub type EMAC_TX_CTL0 = crate::Reg<emac_tx_ctl0::EMAC_TX_CTL0_SPEC>;
107#[doc = "EMAC Transmit Control Register0"]
108pub mod emac_tx_ctl0;
109#[doc = "EMAC_TX_CTL1 register accessor: an alias for `Reg<EMAC_TX_CTL1_SPEC>`"]
110pub type EMAC_TX_CTL1 = crate::Reg<emac_tx_ctl1::EMAC_TX_CTL1_SPEC>;
111#[doc = "EMAC Transmit Control Register1"]
112pub mod emac_tx_ctl1;
113#[doc = "EMAC_TX_FLOW_CTL register accessor: an alias for `Reg<EMAC_TX_FLOW_CTL_SPEC>`"]
114pub type EMAC_TX_FLOW_CTL = crate::Reg<emac_tx_flow_ctl::EMAC_TX_FLOW_CTL_SPEC>;
115#[doc = "EMAC Transmit Flow Control Register"]
116pub mod emac_tx_flow_ctl;
117#[doc = "EMAC_TX_DMA_DESC_LIST register accessor: an alias for `Reg<EMAC_TX_DMA_DESC_LIST_SPEC>`"]
118pub type EMAC_TX_DMA_DESC_LIST = crate::Reg<emac_tx_dma_desc_list::EMAC_TX_DMA_DESC_LIST_SPEC>;
119#[doc = "EMAC Transmit Descriptor List Address Register"]
120pub mod emac_tx_dma_desc_list;
121#[doc = "EMAC_RX_CTL0 register accessor: an alias for `Reg<EMAC_RX_CTL0_SPEC>`"]
122pub type EMAC_RX_CTL0 = crate::Reg<emac_rx_ctl0::EMAC_RX_CTL0_SPEC>;
123#[doc = "EMAC Receive Control Register0"]
124pub mod emac_rx_ctl0;
125#[doc = "EMAC_RX_CTL1 register accessor: an alias for `Reg<EMAC_RX_CTL1_SPEC>`"]
126pub type EMAC_RX_CTL1 = crate::Reg<emac_rx_ctl1::EMAC_RX_CTL1_SPEC>;
127#[doc = "EMAC Receive Control Register1"]
128pub mod emac_rx_ctl1;
129#[doc = "EMAC_RX_DMA_DESC_LIST register accessor: an alias for `Reg<EMAC_RX_DMA_DESC_LIST_SPEC>`"]
130pub type EMAC_RX_DMA_DESC_LIST = crate::Reg<emac_rx_dma_desc_list::EMAC_RX_DMA_DESC_LIST_SPEC>;
131#[doc = "EMAC Receive Descriptor List Address Register"]
132pub mod emac_rx_dma_desc_list;
133#[doc = "EMAC_RX_FRM_FLT register accessor: an alias for `Reg<EMAC_RX_FRM_FLT_SPEC>`"]
134pub type EMAC_RX_FRM_FLT = crate::Reg<emac_rx_frm_flt::EMAC_RX_FRM_FLT_SPEC>;
135#[doc = "EMAC Receive Frame Filter Register"]
136pub mod emac_rx_frm_flt;
137#[doc = "EMAC_RX_HASH0 register accessor: an alias for `Reg<EMAC_RX_HASH0_SPEC>`"]
138pub type EMAC_RX_HASH0 = crate::Reg<emac_rx_hash0::EMAC_RX_HASH0_SPEC>;
139#[doc = "EMAC Hash Table Register0"]
140pub mod emac_rx_hash0;
141#[doc = "EMAC_RX_HASH1 register accessor: an alias for `Reg<EMAC_RX_HASH1_SPEC>`"]
142pub type EMAC_RX_HASH1 = crate::Reg<emac_rx_hash1::EMAC_RX_HASH1_SPEC>;
143#[doc = "EMAC Hash Table Register1"]
144pub mod emac_rx_hash1;
145#[doc = "EMAC_MII_CMD register accessor: an alias for `Reg<EMAC_MII_CMD_SPEC>`"]
146pub type EMAC_MII_CMD = crate::Reg<emac_mii_cmd::EMAC_MII_CMD_SPEC>;
147#[doc = "EMAC Management Interface Command Register"]
148pub mod emac_mii_cmd;
149#[doc = "EMAC_MII_DATA register accessor: an alias for `Reg<EMAC_MII_DATA_SPEC>`"]
150pub type EMAC_MII_DATA = crate::Reg<emac_mii_data::EMAC_MII_DATA_SPEC>;
151#[doc = "EMAC Management Interface Data Register"]
152pub mod emac_mii_data;
153#[doc = "EMAC_ADDR_HIGH0 register accessor: an alias for `Reg<EMAC_ADDR_HIGH0_SPEC>`"]
154pub type EMAC_ADDR_HIGH0 = crate::Reg<emac_addr_high0::EMAC_ADDR_HIGH0_SPEC>;
155#[doc = "EMAC MAC Address High Register"]
156pub mod emac_addr_high0;
157#[doc = "EMAC_ADDR_HIGH register accessor: an alias for `Reg<EMAC_ADDR_HIGH_SPEC>`"]
158pub type EMAC_ADDR_HIGH = crate::Reg<emac_addr_high::EMAC_ADDR_HIGH_SPEC>;
159#[doc = "EMAC MAC Address High Register"]
160pub mod emac_addr_high;
161#[doc = "EMAC_ADDR_LOW register accessor: an alias for `Reg<EMAC_ADDR_LOW_SPEC>`"]
162pub type EMAC_ADDR_LOW = crate::Reg<emac_addr_low::EMAC_ADDR_LOW_SPEC>;
163#[doc = "EMAC MAC Address Low Register"]
164pub mod emac_addr_low;
165#[doc = "EMAC_TX_DMA_STA register accessor: an alias for `Reg<EMAC_TX_DMA_STA_SPEC>`"]
166pub type EMAC_TX_DMA_STA = crate::Reg<emac_tx_dma_sta::EMAC_TX_DMA_STA_SPEC>;
167#[doc = "EMAC Transmit DMA Status Register"]
168pub mod emac_tx_dma_sta;
169#[doc = "EMAC_TX_CUR_DESC register accessor: an alias for `Reg<EMAC_TX_CUR_DESC_SPEC>`"]
170pub type EMAC_TX_CUR_DESC = crate::Reg<emac_tx_cur_desc::EMAC_TX_CUR_DESC_SPEC>;
171#[doc = "EMAC Current Transmit Descriptor Register"]
172pub mod emac_tx_cur_desc;
173#[doc = "EMAC_TX_CUR_BUF register accessor: an alias for `Reg<EMAC_TX_CUR_BUF_SPEC>`"]
174pub type EMAC_TX_CUR_BUF = crate::Reg<emac_tx_cur_buf::EMAC_TX_CUR_BUF_SPEC>;
175#[doc = "EMAC Current Transmit Buffer Address Register"]
176pub mod emac_tx_cur_buf;
177#[doc = "EMAC_RX_DMA_STA register accessor: an alias for `Reg<EMAC_RX_DMA_STA_SPEC>`"]
178pub type EMAC_RX_DMA_STA = crate::Reg<emac_rx_dma_sta::EMAC_RX_DMA_STA_SPEC>;
179#[doc = "EMAC Receive DMA Status Register"]
180pub mod emac_rx_dma_sta;
181#[doc = "EMAC_RX_CUR_DESC register accessor: an alias for `Reg<EMAC_RX_CUR_DESC_SPEC>`"]
182pub type EMAC_RX_CUR_DESC = crate::Reg<emac_rx_cur_desc::EMAC_RX_CUR_DESC_SPEC>;
183#[doc = "EMAC Current Receive Descriptor Register"]
184pub mod emac_rx_cur_desc;
185#[doc = "EMAC_RX_CUR_BUF register accessor: an alias for `Reg<EMAC_RX_CUR_BUF_SPEC>`"]
186pub type EMAC_RX_CUR_BUF = crate::Reg<emac_rx_cur_buf::EMAC_RX_CUR_BUF_SPEC>;
187#[doc = "EMAC Current Receive Buffer Address Register"]
188pub mod emac_rx_cur_buf;
189#[doc = "EMAC_RGMII_STA register accessor: an alias for `Reg<EMAC_RGMII_STA_SPEC>`"]
190pub type EMAC_RGMII_STA = crate::Reg<emac_rgmii_sta::EMAC_RGMII_STA_SPEC>;
191#[doc = "EMAC RGMII Status Register"]
192pub mod emac_rgmii_sta;