1 | #ifndef MAC_REGS_H |
---|
2 | #define MAC_REGS_H |
---|
3 | |
---|
4 | #include <stdint.h> |
---|
5 | |
---|
6 | #define DWMAC_REGS_BIT32(bit) \ |
---|
7 | ((uint32_t) (((uint32_t) 1) << (bit))) |
---|
8 | |
---|
9 | #define DWMAC_REGS_MSK32(first_bit, last_bit) \ |
---|
10 | ((uint32_t) ((DWMAC_REGS_BIT32((last_bit) - (first_bit) + 1) - 1) << (first_bit))) |
---|
11 | |
---|
12 | #define DWMAC_REGS_FLD32(val, first_bit, last_bit) \ |
---|
13 | ((uint32_t) \ |
---|
14 | ((((uint32_t) (val)) << (first_bit)) & DWMAC_REGS_MSK32(first_bit, last_bit))) |
---|
15 | |
---|
16 | #define DWMAC_REGS_FLD32GET(reg, first_bit, last_bit) \ |
---|
17 | ((uint32_t) (((reg) & DWMAC_REGS_MSK32(first_bit, last_bit)) >> (first_bit))) |
---|
18 | |
---|
19 | #define DWMAC_REGS_FLD32SET(reg, val, first_bit, last_bit) \ |
---|
20 | ((uint32_t) (((reg) & ~DWMAC_REGS_MSK32(first_bit, last_bit)) \ |
---|
21 | | DWMAC_REGS_FLD32(val, first_bit, last_bit))) |
---|
22 | |
---|
23 | typedef struct { |
---|
24 | uint32_t high; |
---|
25 | #define MAC_HIGH_ADDRHI(val) DWMAC_REGS_FLD32(val, 0, 15) |
---|
26 | #define MAC_HIGH_ADDRHI_GET(reg) DWMAC_REGS_FLD32GET(reg, 0, 15) |
---|
27 | #define MAC_HIGH_ADDRHI_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 0, 15) |
---|
28 | #define MAC_HIGH_MBC0 DWMAC_REGS_BIT32(24) |
---|
29 | #define MAC_HIGH_MBC1 DWMAC_REGS_BIT32(25) |
---|
30 | #define MAC_HIGH_MBC2 DWMAC_REGS_BIT32(26) |
---|
31 | #define MAC_HIGH_MBC3 DWMAC_REGS_BIT32(27) |
---|
32 | #define MAC_HIGH_MBC4 DWMAC_REGS_BIT32(28) |
---|
33 | #define MAC_HIGH_MBC5 DWMAC_REGS_BIT32(29) |
---|
34 | #define MAC_HIGH_SA DWMAC_REGS_BIT32(30) |
---|
35 | #define MAC_HIGH_AE DWMAC_REGS_BIT32(31) |
---|
36 | uint32_t low; |
---|
37 | #define MAC_LOW_ADDRLO(val) DWMAC_REGS_FLD32(val, 0, 32) |
---|
38 | #define MAC_LOW_ADDRLO_GET(reg) DWMAC_REGS_FLD32GET(reg, 0, 32) |
---|
39 | #define MAC_LOW_ADDRLO_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 0, 32) |
---|
40 | } mac; |
---|
41 | |
---|
42 | typedef struct { |
---|
43 | uint32_t mac_configuration; |
---|
44 | #define MACGRP_MAC_CONFIGURATION_PRELEN(val) DWMAC_REGS_FLD32(val, 0, 1) |
---|
45 | #define MACGRP_MAC_CONFIGURATION_PRELEN_GET(reg) DWMAC_REGS_FLD32GET(reg, 0, 1) |
---|
46 | #define MACGRP_MAC_CONFIGURATION_PRELEN_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 0, 1) |
---|
47 | #define MACGRP_MAC_CONFIGURATION_RE DWMAC_REGS_BIT32(2) |
---|
48 | #define MACGRP_MAC_CONFIGURATION_TE DWMAC_REGS_BIT32(3) |
---|
49 | #define MACGRP_MAC_CONFIGURATION_DC DWMAC_REGS_BIT32(4) |
---|
50 | #define MACGRP_MAC_CONFIGURATION_BL(val) DWMAC_REGS_FLD32(val, 5, 6) |
---|
51 | #define MACGRP_MAC_CONFIGURATION_BL_GET(reg) DWMAC_REGS_FLD32GET(reg, 5, 6) |
---|
52 | #define MACGRP_MAC_CONFIGURATION_BL_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 5, 6) |
---|
53 | #define MACGRP_MAC_CONFIGURATION_ACS DWMAC_REGS_BIT32(7) |
---|
54 | #define MACGRP_MAC_CONFIGURATION_LUD DWMAC_REGS_BIT32(8) |
---|
55 | #define MACGRP_MAC_CONFIGURATION_DR DWMAC_REGS_BIT32(9) |
---|
56 | #define MACGRP_MAC_CONFIGURATION_IPC DWMAC_REGS_BIT32(10) |
---|
57 | #define MACGRP_MAC_CONFIGURATION_DM DWMAC_REGS_BIT32(11) |
---|
58 | #define MACGRP_MAC_CONFIGURATION_LM DWMAC_REGS_BIT32(12) |
---|
59 | #define MACGRP_MAC_CONFIGURATION_DO DWMAC_REGS_BIT32(13) |
---|
60 | #define MACGRP_MAC_CONFIGURATION_FES DWMAC_REGS_BIT32(14) |
---|
61 | #define MACGRP_MAC_CONFIGURATION_PS DWMAC_REGS_BIT32(15) |
---|
62 | #define MACGRP_MAC_CONFIGURATION_DCRS DWMAC_REGS_BIT32(16) |
---|
63 | #define MACGRP_MAC_CONFIGURATION_IFG(val) DWMAC_REGS_FLD32(val, 17, 19) |
---|
64 | #define MACGRP_MAC_CONFIGURATION_IFG_GET(reg) DWMAC_REGS_FLD32GET(reg, 17, 19) |
---|
65 | #define MACGRP_MAC_CONFIGURATION_IFG_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 17, 19) |
---|
66 | #define MACGRP_MAC_CONFIGURATION_JE DWMAC_REGS_BIT32(20) |
---|
67 | #define MACGRP_MAC_CONFIGURATION_BE DWMAC_REGS_BIT32(21) |
---|
68 | #define MACGRP_MAC_CONFIGURATION_JD DWMAC_REGS_BIT32(22) |
---|
69 | #define MACGRP_MAC_CONFIGURATION_WD DWMAC_REGS_BIT32(23) |
---|
70 | #define MACGRP_MAC_CONFIGURATION_TC DWMAC_REGS_BIT32(24) |
---|
71 | #define MACGRP_MAC_CONFIGURATION_CST DWMAC_REGS_BIT32(25) |
---|
72 | #define MACGRP_MAC_CONFIGURATION_TWOKPE DWMAC_REGS_BIT32(27) |
---|
73 | uint32_t mac_frame_filter; |
---|
74 | #define MACGRP_MAC_FRAME_FILTER_PR DWMAC_REGS_BIT32(0) |
---|
75 | #define MACGRP_MAC_FRAME_FILTER_HUC DWMAC_REGS_BIT32(1) |
---|
76 | #define MACGRP_MAC_FRAME_FILTER_HMC DWMAC_REGS_BIT32(2) |
---|
77 | #define MACGRP_MAC_FRAME_FILTER_DAIF DWMAC_REGS_BIT32(3) |
---|
78 | #define MACGRP_MAC_FRAME_FILTER_PM DWMAC_REGS_BIT32(4) |
---|
79 | #define MACGRP_MAC_FRAME_FILTER_DBF DWMAC_REGS_BIT32(5) |
---|
80 | #define MACGRP_MAC_FRAME_FILTER_PCF(val) DWMAC_REGS_FLD32(val, 6, 7) |
---|
81 | #define MACGRP_MAC_FRAME_FILTER_PCF_GET(reg) DWMAC_REGS_FLD32GET(reg, 6, 7) |
---|
82 | #define MACGRP_MAC_FRAME_FILTER_PCF_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 6, 7) |
---|
83 | #define MACGRP_MAC_FRAME_FILTER_SAIF DWMAC_REGS_BIT32(8) |
---|
84 | #define MACGRP_MAC_FRAME_FILTER_SAF DWMAC_REGS_BIT32(9) |
---|
85 | #define MACGRP_MAC_FRAME_FILTER_HPF DWMAC_REGS_BIT32(10) |
---|
86 | #define MACGRP_MAC_FRAME_FILTER_VTFE DWMAC_REGS_BIT32(16) |
---|
87 | #define MACGRP_MAC_FRAME_FILTER_IPFE DWMAC_REGS_BIT32(20) |
---|
88 | #define MACGRP_MAC_FRAME_FILTER_DNTU DWMAC_REGS_BIT32(21) |
---|
89 | #define MACGRP_MAC_FRAME_FILTER_RA DWMAC_REGS_BIT32(31) |
---|
90 | uint32_t reserved_08[2]; |
---|
91 | uint32_t gmii_address; |
---|
92 | #define MACGRP_GMII_ADDRESS_GMII_BUSY DWMAC_REGS_BIT32(0) |
---|
93 | #define MACGRP_GMII_ADDRESS_GMII_WRITE DWMAC_REGS_BIT32(1) |
---|
94 | #define MACGRP_GMII_ADDRESS_CSR_CLOCK_RANGE(val) DWMAC_REGS_FLD32(val, 2, 5) |
---|
95 | #define MACGRP_GMII_ADDRESS_CSR_CLOCK_RANGE_GET(reg) DWMAC_REGS_FLD32GET(reg, 2, 5) |
---|
96 | #define MACGRP_GMII_ADDRESS_CSR_CLOCK_RANGE_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 2, 5) |
---|
97 | #define MACGRP_GMII_ADDRESS_GMII_REGISTER(val) DWMAC_REGS_FLD32(val, 6, 10) |
---|
98 | #define MACGRP_GMII_ADDRESS_GMII_REGISTER_GET(reg) DWMAC_REGS_FLD32GET(reg, 6, 10) |
---|
99 | #define MACGRP_GMII_ADDRESS_GMII_REGISTER_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 6, 10) |
---|
100 | #define MACGRP_GMII_ADDRESS_PHYSICAL_LAYER_ADDRESS(val) DWMAC_REGS_FLD32(val, 11, 15) |
---|
101 | #define MACGRP_GMII_ADDRESS_PHYSICAL_LAYER_ADDRESS_GET(reg) DWMAC_REGS_FLD32GET(reg, 11, 15) |
---|
102 | #define MACGRP_GMII_ADDRESS_PHYSICAL_LAYER_ADDRESS_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 11, 15) |
---|
103 | uint32_t gmii_data; |
---|
104 | #define MACGRP_GMII_DATA_GMII_DATA(val) DWMAC_REGS_FLD32(val, 0, 15) |
---|
105 | #define MACGRP_GMII_DATA_GMII_DATA_GET(reg) DWMAC_REGS_FLD32GET(reg, 0, 15) |
---|
106 | #define MACGRP_GMII_DATA_GMII_DATA_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 0, 15) |
---|
107 | uint32_t reserved_18[9]; |
---|
108 | uint32_t interrupt_mask; |
---|
109 | #define MACGRP_INTERRUPT_MASK_RGSMIIIM DWMAC_REGS_BIT32(0) |
---|
110 | #define MACGRP_INTERRUPT_MASK_PCSLCHGIM DWMAC_REGS_BIT32(1) |
---|
111 | #define MACGRP_INTERRUPT_MASK_PCSANCIM DWMAC_REGS_BIT32(2) |
---|
112 | #define MACGRP_INTERRUPT_MASK_TSIM DWMAC_REGS_BIT32(9) |
---|
113 | #define MACGRP_INTERRUPT_MASK_LPIIM DWMAC_REGS_BIT32(10) |
---|
114 | mac mac_addr0_15[16]; |
---|
115 | uint32_t reserved_c0[16]; |
---|
116 | uint32_t mmc_control; |
---|
117 | #define MACGRP_MMC_CONTROL_CNTRST DWMAC_REGS_BIT32(0) |
---|
118 | #define MACGRP_MMC_CONTROL_CNTSTOPRO DWMAC_REGS_BIT32(1) |
---|
119 | #define MACGRP_MMC_CONTROL_RSTONRD DWMAC_REGS_BIT32(2) |
---|
120 | #define MACGRP_MMC_CONTROL_CNTFREEZ DWMAC_REGS_BIT32(3) |
---|
121 | #define MACGRP_MMC_CONTROL_CNTPRST DWMAC_REGS_BIT32(4) |
---|
122 | #define MACGRP_MMC_CONTROL_CNTPRSTLVL DWMAC_REGS_BIT32(5) |
---|
123 | #define MACGRP_MMC_CONTROL_UCDBC DWMAC_REGS_BIT32(8) |
---|
124 | uint32_t mmc_receive_interrupt; |
---|
125 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXGBFRMIS DWMAC_REGS_BIT32(0) |
---|
126 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXGBOCTIS DWMAC_REGS_BIT32(1) |
---|
127 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXGOCTIS DWMAC_REGS_BIT32(2) |
---|
128 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXBCGFIS DWMAC_REGS_BIT32(3) |
---|
129 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXMCGFIS DWMAC_REGS_BIT32(4) |
---|
130 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXCRCERFIS DWMAC_REGS_BIT32(5) |
---|
131 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXALGNERFIS DWMAC_REGS_BIT32(6) |
---|
132 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXRUNTFIS DWMAC_REGS_BIT32(7) |
---|
133 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXJABERFIS DWMAC_REGS_BIT32(8) |
---|
134 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXUSIZEGFIS DWMAC_REGS_BIT32(9) |
---|
135 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXOSIZEGFIS DWMAC_REGS_BIT32(10) |
---|
136 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RX64OCTGBFIS DWMAC_REGS_BIT32(11) |
---|
137 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RX65T127OCTGBFIS DWMAC_REGS_BIT32(12) |
---|
138 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RX128T255OCTGBFIS DWMAC_REGS_BIT32(13) |
---|
139 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RX256T511OCTGBFIS DWMAC_REGS_BIT32(14) |
---|
140 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RX512T1023OCTGBFIS DWMAC_REGS_BIT32(15) |
---|
141 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RX1024TMAXOCTGBFIS DWMAC_REGS_BIT32(16) |
---|
142 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXUCGFIS DWMAC_REGS_BIT32(17) |
---|
143 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXLENERFIS DWMAC_REGS_BIT32(18) |
---|
144 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXORANGEFIS DWMAC_REGS_BIT32(19) |
---|
145 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXPAUSFIS DWMAC_REGS_BIT32(20) |
---|
146 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXFOVFIS DWMAC_REGS_BIT32(21) |
---|
147 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXVLANGBFIS DWMAC_REGS_BIT32(22) |
---|
148 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXWDOGFIS DWMAC_REGS_BIT32(23) |
---|
149 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXRCVERRFIS DWMAC_REGS_BIT32(24) |
---|
150 | #define MACGRP_MMC_RECEIVE_INTERRUPT_RXCTRLFIS DWMAC_REGS_BIT32(25) |
---|
151 | uint32_t mmc_transmit_interrupt; |
---|
152 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXGBOCTIS DWMAC_REGS_BIT32(0) |
---|
153 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXGBFRMIS DWMAC_REGS_BIT32(1) |
---|
154 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXBCGFIS DWMAC_REGS_BIT32(2) |
---|
155 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXMCGFIS DWMAC_REGS_BIT32(3) |
---|
156 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TX64OCTGBFIS DWMAC_REGS_BIT32(4) |
---|
157 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TX65T127OCTGBFIS DWMAC_REGS_BIT32(5) |
---|
158 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TX128T255OCTGBFIS DWMAC_REGS_BIT32(6) |
---|
159 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TX256T511OCTGBFIS DWMAC_REGS_BIT32(7) |
---|
160 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TX512T1023OCTGBFIS DWMAC_REGS_BIT32(8) |
---|
161 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TX1024TMAXOCTGBFIS DWMAC_REGS_BIT32(9) |
---|
162 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXUCGBFIS DWMAC_REGS_BIT32(10) |
---|
163 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXMCGBFIS DWMAC_REGS_BIT32(11) |
---|
164 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXBCGBFIS DWMAC_REGS_BIT32(12) |
---|
165 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXUFLOWERFIS DWMAC_REGS_BIT32(13) |
---|
166 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXSCOLGFIS DWMAC_REGS_BIT32(14) |
---|
167 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXMCOLGFIS DWMAC_REGS_BIT32(15) |
---|
168 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXDEFFIS DWMAC_REGS_BIT32(16) |
---|
169 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXLATCOLFIS DWMAC_REGS_BIT32(17) |
---|
170 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXEXCOLFIS DWMAC_REGS_BIT32(18) |
---|
171 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXCARERFIS DWMAC_REGS_BIT32(19) |
---|
172 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXGOCTIS DWMAC_REGS_BIT32(20) |
---|
173 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXGFRMIS DWMAC_REGS_BIT32(21) |
---|
174 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXEXDEFFIS DWMAC_REGS_BIT32(22) |
---|
175 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXPAUSFIS DWMAC_REGS_BIT32(23) |
---|
176 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXVLANGFIS DWMAC_REGS_BIT32(24) |
---|
177 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_TXOSIZEGFIS DWMAC_REGS_BIT32(25) |
---|
178 | uint32_t mmc_receive_interrupt_mask; |
---|
179 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXGBFRMIM DWMAC_REGS_BIT32(0) |
---|
180 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXGBOCTIM DWMAC_REGS_BIT32(1) |
---|
181 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXGOCTIM DWMAC_REGS_BIT32(2) |
---|
182 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXBCGFIM DWMAC_REGS_BIT32(3) |
---|
183 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXMCGFIM DWMAC_REGS_BIT32(4) |
---|
184 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXCRCERFIM DWMAC_REGS_BIT32(5) |
---|
185 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXALGNERFIM DWMAC_REGS_BIT32(6) |
---|
186 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXRUNTFIM DWMAC_REGS_BIT32(7) |
---|
187 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXJABERFIM DWMAC_REGS_BIT32(8) |
---|
188 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXUSIZEGFIM DWMAC_REGS_BIT32(9) |
---|
189 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXOSIZEGFIM DWMAC_REGS_BIT32(10) |
---|
190 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RX64OCTGBFIM DWMAC_REGS_BIT32(11) |
---|
191 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RX65T127OCTGBFIM DWMAC_REGS_BIT32(12) |
---|
192 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RX128T255OCTGBFIM DWMAC_REGS_BIT32(13) |
---|
193 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RX256T511OCTGBFIM DWMAC_REGS_BIT32(14) |
---|
194 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RX512T1023OCTGBFIM DWMAC_REGS_BIT32(15) |
---|
195 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RX1024TMAXOCTGBFIM DWMAC_REGS_BIT32(16) |
---|
196 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXUCGFIM DWMAC_REGS_BIT32(17) |
---|
197 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXLENERFIM DWMAC_REGS_BIT32(18) |
---|
198 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXORANGEFIM DWMAC_REGS_BIT32(19) |
---|
199 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXPAUSFIM DWMAC_REGS_BIT32(20) |
---|
200 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXFOVFIM DWMAC_REGS_BIT32(21) |
---|
201 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXVLANGBFIM DWMAC_REGS_BIT32(22) |
---|
202 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXWDOGFIM DWMAC_REGS_BIT32(23) |
---|
203 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXRCVERRFIM DWMAC_REGS_BIT32(24) |
---|
204 | #define MACGRP_MMC_RECEIVE_INTERRUPT_MASK_RXCTRLFIM DWMAC_REGS_BIT32(25) |
---|
205 | uint32_t mmc_transmit_interrupt_mask; |
---|
206 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXGBOCTIM DWMAC_REGS_BIT32(0) |
---|
207 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXGBFRMIM DWMAC_REGS_BIT32(1) |
---|
208 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXBCGFIM DWMAC_REGS_BIT32(2) |
---|
209 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXMCGFIM DWMAC_REGS_BIT32(3) |
---|
210 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TX64OCTGBFIM DWMAC_REGS_BIT32(4) |
---|
211 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TX65T127OCTGBFIM DWMAC_REGS_BIT32(5) |
---|
212 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TX128T255OCTGBFIM DWMAC_REGS_BIT32(6) |
---|
213 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TX256T511OCTGBFIM DWMAC_REGS_BIT32(7) |
---|
214 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TX512T1023OCTGBFIM DWMAC_REGS_BIT32(8) |
---|
215 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TX1024TMAXOCTGBFIM DWMAC_REGS_BIT32(9) |
---|
216 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXUCGBFIM DWMAC_REGS_BIT32(10) |
---|
217 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXMCGBFIM DWMAC_REGS_BIT32(11) |
---|
218 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXBCGBFIM DWMAC_REGS_BIT32(12) |
---|
219 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXUFLOWERFIM DWMAC_REGS_BIT32(13) |
---|
220 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXSCOLGFIM DWMAC_REGS_BIT32(14) |
---|
221 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXMCOLGFIM DWMAC_REGS_BIT32(15) |
---|
222 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXDEFFIM DWMAC_REGS_BIT32(16) |
---|
223 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXLATCOLFIM DWMAC_REGS_BIT32(17) |
---|
224 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXEXCOLFIM DWMAC_REGS_BIT32(18) |
---|
225 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXCARERFIM DWMAC_REGS_BIT32(19) |
---|
226 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXGOCTIM DWMAC_REGS_BIT32(20) |
---|
227 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXGFRMIM DWMAC_REGS_BIT32(21) |
---|
228 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXEXDEFFIM DWMAC_REGS_BIT32(22) |
---|
229 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXPAUSFIM DWMAC_REGS_BIT32(23) |
---|
230 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXVLANGFIM DWMAC_REGS_BIT32(24) |
---|
231 | #define MACGRP_MMC_TRANSMIT_INTERRUPT_MASK_TXOSIZEGFIM DWMAC_REGS_BIT32(25) |
---|
232 | uint32_t txoctetcount_gb; |
---|
233 | uint32_t txframecount_gb; |
---|
234 | uint32_t txbroadcastframes_g; |
---|
235 | uint32_t txmulticastframes_g; |
---|
236 | uint32_t tx64octets_gb; |
---|
237 | uint32_t tx65to127octets_gb; |
---|
238 | uint32_t tx128to255octets_gb; |
---|
239 | uint32_t tx256to511octets_gb; |
---|
240 | uint32_t tx512to1023octets_gb; |
---|
241 | uint32_t tx1024tomaxoctets_gb; |
---|
242 | uint32_t txunicastframes_gb; |
---|
243 | uint32_t txmulticastframes_gb; |
---|
244 | uint32_t txbroadcastframes_gb; |
---|
245 | uint32_t txunderflowerror; |
---|
246 | uint32_t txsinglecol_g; |
---|
247 | uint32_t txmulticol_g; |
---|
248 | uint32_t txdeferred; |
---|
249 | uint32_t txlatecol; |
---|
250 | uint32_t txexesscol; |
---|
251 | uint32_t txcarriererr; |
---|
252 | uint32_t txoctetcnt; |
---|
253 | uint32_t txframecount_g; |
---|
254 | uint32_t txexcessdef; |
---|
255 | uint32_t txpauseframes; |
---|
256 | uint32_t txvlanframes_g; |
---|
257 | uint32_t txoversize_g; |
---|
258 | uint32_t reserved_17c; |
---|
259 | uint32_t rxframecount_gb; |
---|
260 | uint32_t rxoctetcount_gb; |
---|
261 | uint32_t rxoctetcount_g; |
---|
262 | uint32_t rxbroadcastframes_g; |
---|
263 | uint32_t rxmulticastframes_g; |
---|
264 | uint32_t rxcrcerror; |
---|
265 | uint32_t rxalignmenterror; |
---|
266 | uint32_t rxrunterror; |
---|
267 | uint32_t rxjabbererror; |
---|
268 | uint32_t rxundersize_g; |
---|
269 | uint32_t rxoversize_g; |
---|
270 | uint32_t rx64octets_gb; |
---|
271 | uint32_t rx65to127octets_gb; |
---|
272 | uint32_t rx128to255octets_gb; |
---|
273 | uint32_t rx256to511octets_gb; |
---|
274 | uint32_t rx512to1023octets_gb; |
---|
275 | uint32_t rx1024tomaxoctets_gb; |
---|
276 | uint32_t rxunicastframes_g; |
---|
277 | uint32_t rxlengtherror; |
---|
278 | uint32_t rxoutofrangetype; |
---|
279 | uint32_t rxpauseframes; |
---|
280 | uint32_t rxfifooverflow; |
---|
281 | uint32_t rxvlanframes_gb; |
---|
282 | uint32_t rxwatchdogerror; |
---|
283 | uint32_t rxrcverror; |
---|
284 | uint32_t rxctrlframes_g; |
---|
285 | uint32_t reserved_1e8[6]; |
---|
286 | uint32_t mmc_ipc_receive_interrupt_mask; |
---|
287 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV4GFIM DWMAC_REGS_BIT32(0) |
---|
288 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV4HERFIM DWMAC_REGS_BIT32(1) |
---|
289 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV4NOPAYFIM DWMAC_REGS_BIT32(2) |
---|
290 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV4FRAGFIM DWMAC_REGS_BIT32(3) |
---|
291 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV4UDSBLFIM DWMAC_REGS_BIT32(4) |
---|
292 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV6GFIM DWMAC_REGS_BIT32(5) |
---|
293 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV6HERFIM DWMAC_REGS_BIT32(6) |
---|
294 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV6NOPAYFIM DWMAC_REGS_BIT32(7) |
---|
295 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXUDPGFIM DWMAC_REGS_BIT32(8) |
---|
296 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXUDPERFIM DWMAC_REGS_BIT32(9) |
---|
297 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXTCPGFIM DWMAC_REGS_BIT32(10) |
---|
298 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXTCPERFIM DWMAC_REGS_BIT32(11) |
---|
299 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXICMPGFIM DWMAC_REGS_BIT32(12) |
---|
300 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXICMPERFIM DWMAC_REGS_BIT32(13) |
---|
301 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV4GOIM DWMAC_REGS_BIT32(16) |
---|
302 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV4HEROIM DWMAC_REGS_BIT32(17) |
---|
303 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV4NOPAYOIM DWMAC_REGS_BIT32(18) |
---|
304 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV4FRAGOIM DWMAC_REGS_BIT32(19) |
---|
305 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV4UDSBLOIM DWMAC_REGS_BIT32(20) |
---|
306 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV6GOIM DWMAC_REGS_BIT32(21) |
---|
307 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV6HEROIM DWMAC_REGS_BIT32(22) |
---|
308 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXIPV6NOPAYOIM DWMAC_REGS_BIT32(23) |
---|
309 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXUDPGOIM DWMAC_REGS_BIT32(24) |
---|
310 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXUDPEROIM DWMAC_REGS_BIT32(25) |
---|
311 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXTCPGOIM DWMAC_REGS_BIT32(26) |
---|
312 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXTCPEROIM DWMAC_REGS_BIT32(27) |
---|
313 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXICMPGOIM DWMAC_REGS_BIT32(28) |
---|
314 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_MASK_RXICMPEROIM DWMAC_REGS_BIT32(29) |
---|
315 | uint32_t reserved_204; |
---|
316 | uint32_t mmc_ipc_receive_interrupt; |
---|
317 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV4GFIS DWMAC_REGS_BIT32(0) |
---|
318 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV4HERFIS DWMAC_REGS_BIT32(1) |
---|
319 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV4NOPAYFIS DWMAC_REGS_BIT32(2) |
---|
320 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV4FRAGFIS DWMAC_REGS_BIT32(3) |
---|
321 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV4UDSBLFIS DWMAC_REGS_BIT32(4) |
---|
322 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV6GFIS DWMAC_REGS_BIT32(5) |
---|
323 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV6HERFIS DWMAC_REGS_BIT32(6) |
---|
324 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV6NOPAYFIS DWMAC_REGS_BIT32(7) |
---|
325 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXUDPGFIS DWMAC_REGS_BIT32(8) |
---|
326 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXUDPERFIS DWMAC_REGS_BIT32(9) |
---|
327 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXTCPGFIS DWMAC_REGS_BIT32(10) |
---|
328 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXTCPERFIS DWMAC_REGS_BIT32(11) |
---|
329 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXICMPGFIS DWMAC_REGS_BIT32(12) |
---|
330 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXICMPERFIS DWMAC_REGS_BIT32(13) |
---|
331 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV4GOIS DWMAC_REGS_BIT32(16) |
---|
332 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV4HEROIS DWMAC_REGS_BIT32(17) |
---|
333 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV4NOPAYOIS DWMAC_REGS_BIT32(18) |
---|
334 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV4FRAGOIS DWMAC_REGS_BIT32(19) |
---|
335 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV4UDSBLOIS DWMAC_REGS_BIT32(20) |
---|
336 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV6GOIS DWMAC_REGS_BIT32(21) |
---|
337 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV6HEROIS DWMAC_REGS_BIT32(22) |
---|
338 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXIPV6NOPAYOIS DWMAC_REGS_BIT32(23) |
---|
339 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXUDPGOIS DWMAC_REGS_BIT32(24) |
---|
340 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXUDPEROIS DWMAC_REGS_BIT32(25) |
---|
341 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXTCPGOIS DWMAC_REGS_BIT32(26) |
---|
342 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXTCPEROIS DWMAC_REGS_BIT32(27) |
---|
343 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXICMPGOIS DWMAC_REGS_BIT32(28) |
---|
344 | #define MACGRP_MMC_IPC_RECEIVE_INTERRUPT_RXICMPEROIS DWMAC_REGS_BIT32(29) |
---|
345 | uint32_t reserved_20c; |
---|
346 | uint32_t rxipv4_gd_frms; |
---|
347 | uint32_t rxipv4_hdrerr_frms; |
---|
348 | uint32_t rxipv4_nopay_frms; |
---|
349 | uint32_t rxipv4_frag_frms; |
---|
350 | uint32_t rxipv4_udsbl_frms; |
---|
351 | uint32_t rxipv6_gd_frms; |
---|
352 | uint32_t rxipv6_hdrerr_frms; |
---|
353 | uint32_t rxipv6_nopay_frms; |
---|
354 | uint32_t rxudp_gd_frms; |
---|
355 | uint32_t rxudp_err_frms; |
---|
356 | uint32_t rxtcp_gd_frms; |
---|
357 | uint32_t rxtcp_err_frms; |
---|
358 | uint32_t rxicmp_gd_frms; |
---|
359 | uint32_t rxicmp_err_frms; |
---|
360 | uint32_t reserved_248[2]; |
---|
361 | uint32_t rxipv4_gd_octets; |
---|
362 | uint32_t rxipv4_hdrerr_octets; |
---|
363 | uint32_t rxipv4_nopay_octets; |
---|
364 | uint32_t rxipv4_frag_octets; |
---|
365 | uint32_t rxipv4_udsbl_octets; |
---|
366 | uint32_t rxipv6_gd_octets; |
---|
367 | uint32_t rxipv6_hdrerr_octets; |
---|
368 | uint32_t rxipv6_nopay_octets; |
---|
369 | uint32_t rxudp_gd_octets; |
---|
370 | uint32_t rxudp_err_octets; |
---|
371 | uint32_t rxtcp_gd_octets; |
---|
372 | uint32_t rxtcperroctets; |
---|
373 | uint32_t rxicmp_gd_octets; |
---|
374 | uint32_t rxicmp_err_octets; |
---|
375 | uint32_t reserved_288[158]; |
---|
376 | uint32_t hash_table_reg[8]; |
---|
377 | uint32_t reserved_520[184]; |
---|
378 | mac mac_addr16_127[112]; |
---|
379 | } macgrp; |
---|
380 | |
---|
381 | typedef struct { |
---|
382 | uint32_t bus_mode; |
---|
383 | #define DMAGRP_BUS_MODE_SWR DWMAC_REGS_BIT32(0) |
---|
384 | #define DMAGRP_BUS_MODE_DSL(val) DWMAC_REGS_FLD32(val, 2, 6) |
---|
385 | #define DMAGRP_BUS_MODE_DSL_GET(reg) DWMAC_REGS_FLD32GET(reg, 2, 6) |
---|
386 | #define DMAGRP_BUS_MODE_DSL_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 2, 6) |
---|
387 | #define DMAGRP_BUS_MODE_ATDS DWMAC_REGS_BIT32(7) |
---|
388 | #define DMAGRP_BUS_MODE_PBL(val) DWMAC_REGS_FLD32(val, 8, 13) |
---|
389 | #define DMAGRP_BUS_MODE_PBL_GET(reg) DWMAC_REGS_FLD32GET(reg, 8, 13) |
---|
390 | #define DMAGRP_BUS_MODE_PBL_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 8, 13) |
---|
391 | #define DMAGRP_BUS_MODE_FB DWMAC_REGS_BIT32(16) |
---|
392 | #define DMAGRP_BUS_MODE_RPBL(val) DWMAC_REGS_FLD32(val, 17, 22) |
---|
393 | #define DMAGRP_BUS_MODE_RPBL_GET(reg) DWMAC_REGS_FLD32GET(reg, 17, 22) |
---|
394 | #define DMAGRP_BUS_MODE_RPBL_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 17, 22) |
---|
395 | #define DMAGRP_BUS_MODE_USP DWMAC_REGS_BIT32(23) |
---|
396 | #define DMAGRP_BUS_MODE_EIGHTXPBL DWMAC_REGS_BIT32(24) |
---|
397 | #define DMAGRP_BUS_MODE_AAL DWMAC_REGS_BIT32(25) |
---|
398 | #define DMAGRP_BUS_MODE_MB DWMAC_REGS_BIT32(26) |
---|
399 | uint32_t transmit_poll_demand; |
---|
400 | #define DMAGRP_TRANSMIT_POLL_DEMAND_TPD(val) DWMAC_REGS_FLD32(val, 0, 31) |
---|
401 | #define DMAGRP_TRANSMIT_POLL_DEMAND_TPD_GET(reg) DWMAC_REGS_FLD32GET(reg, 0, 31) |
---|
402 | #define DMAGRP_TRANSMIT_POLL_DEMAND_TPD_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 0, 31) |
---|
403 | uint32_t receive_poll_demand; |
---|
404 | #define DMAGRP_RECEIVE_POLL_DEMAND_RPD(val) DWMAC_REGS_FLD32(val, 0, 31) |
---|
405 | #define DMAGRP_RECEIVE_POLL_DEMAND_RPD_GET(reg) DWMAC_REGS_FLD32GET(reg, 0, 31) |
---|
406 | #define DMAGRP_RECEIVE_POLL_DEMAND_RPD_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 0, 31) |
---|
407 | uint32_t receive_descr_list_addr; |
---|
408 | #define DMAGRP_RECEIVE_DESCR_LIST_ADDR_RDESLA_32BIT(val) DWMAC_REGS_FLD32(val, 2, 31) |
---|
409 | #define DMAGRP_RECEIVE_DESCR_LIST_ADDR_RDESLA_32BIT_GET(reg) DWMAC_REGS_FLD32GET(reg, 2, 31) |
---|
410 | #define DMAGRP_RECEIVE_DESCR_LIST_ADDR_RDESLA_32BIT_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 2, 31) |
---|
411 | uint32_t transmit_descr_list_addr; |
---|
412 | #define DMAGRP_TRANSMIT_DESCR_LIST_ADDR_TDESLA_32BIT(val) DWMAC_REGS_FLD32(val, 2, 31) |
---|
413 | #define DMAGRP_TRANSMIT_DESCR_LIST_ADDR_TDESLA_32BIT_GET(reg) DWMAC_REGS_FLD32GET(reg, 2, 31) |
---|
414 | #define DMAGRP_TRANSMIT_DESCR_LIST_ADDR_TDESLA_32BIT_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 2, 31) |
---|
415 | uint32_t status; |
---|
416 | #define DMAGRP_STATUS_TI DWMAC_REGS_BIT32(0) |
---|
417 | #define DMAGRP_STATUS_TPS DWMAC_REGS_BIT32(1) |
---|
418 | #define DMAGRP_STATUS_TU DWMAC_REGS_BIT32(2) |
---|
419 | #define DMAGRP_STATUS_TJT DWMAC_REGS_BIT32(3) |
---|
420 | #define DMAGRP_STATUS_OVF DWMAC_REGS_BIT32(4) |
---|
421 | #define DMAGRP_STATUS_UNF DWMAC_REGS_BIT32(5) |
---|
422 | #define DMAGRP_STATUS_RI DWMAC_REGS_BIT32(6) |
---|
423 | #define DMAGRP_STATUS_RU DWMAC_REGS_BIT32(7) |
---|
424 | #define DMAGRP_STATUS_RPS DWMAC_REGS_BIT32(8) |
---|
425 | #define DMAGRP_STATUS_RWT DWMAC_REGS_BIT32(9) |
---|
426 | #define DMAGRP_STATUS_ETI DWMAC_REGS_BIT32(10) |
---|
427 | #define DMAGRP_STATUS_FBI DWMAC_REGS_BIT32(13) |
---|
428 | #define DMAGRP_STATUS_ERI DWMAC_REGS_BIT32(14) |
---|
429 | #define DMAGRP_STATUS_AIS DWMAC_REGS_BIT32(15) |
---|
430 | #define DMAGRP_STATUS_NIS DWMAC_REGS_BIT32(16) |
---|
431 | #define DMAGRP_STATUS_RS(val) DWMAC_REGS_FLD32(val, 17, 19) |
---|
432 | #define DMAGRP_STATUS_RS_GET(reg) DWMAC_REGS_FLD32GET(reg, 17, 19) |
---|
433 | #define DMAGRP_STATUS_RS_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 17, 19) |
---|
434 | #define DMAGRP_STATUS_TS(val) DWMAC_REGS_FLD32(val, 20, 22) |
---|
435 | #define DMAGRP_STATUS_TS_GET(reg) DWMAC_REGS_FLD32GET(reg, 20, 22) |
---|
436 | #define DMAGRP_STATUS_TS_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 20, 22) |
---|
437 | #define DMAGRP_STATUS_EB(val) DWMAC_REGS_FLD32(val, 23, 25) |
---|
438 | #define DMAGRP_STATUS_EB_GET(reg) DWMAC_REGS_FLD32GET(reg, 23, 25) |
---|
439 | #define DMAGRP_STATUS_EB_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 23, 25) |
---|
440 | #define DMAGRP_STATUS_GLI DWMAC_REGS_BIT32(26) |
---|
441 | #define DMAGRP_STATUS_GMI DWMAC_REGS_BIT32(27) |
---|
442 | #define DMAGRP_STATUS_TTI DWMAC_REGS_BIT32(29) |
---|
443 | #define DMAGRP_STATUS_GLPII DWMAC_REGS_BIT32(30) |
---|
444 | uint32_t operation_mode; |
---|
445 | #define DMAGRP_OPERATION_MODE_SR DWMAC_REGS_BIT32(1) |
---|
446 | #define DMAGRP_OPERATION_MODE_OSF DWMAC_REGS_BIT32(2) |
---|
447 | #define DMAGRP_OPERATION_MODE_RTC(val) DWMAC_REGS_FLD32(val, 3, 4) |
---|
448 | #define DMAGRP_OPERATION_MODE_RTC_GET(reg) DWMAC_REGS_FLD32GET(reg, 3, 4) |
---|
449 | #define DMAGRP_OPERATION_MODE_RTC_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 3, 4) |
---|
450 | #define DMAGRP_OPERATION_MODE_FUF DWMAC_REGS_BIT32(6) |
---|
451 | #define DMAGRP_OPERATION_MODE_FEF DWMAC_REGS_BIT32(7) |
---|
452 | #define DMAGRP_OPERATION_MODE_EFC DWMAC_REGS_BIT32(8) |
---|
453 | #define DMAGRP_OPERATION_MODE_RFA(val) DWMAC_REGS_FLD32(val, 9, 10) |
---|
454 | #define DMAGRP_OPERATION_MODE_RFA_GET(reg) DWMAC_REGS_FLD32GET(reg, 9, 10) |
---|
455 | #define DMAGRP_OPERATION_MODE_RFA_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 9, 10) |
---|
456 | #define DMAGRP_OPERATION_MODE_RFD(val) DWMAC_REGS_FLD32(val, 11, 12) |
---|
457 | #define DMAGRP_OPERATION_MODE_RFD_GET(reg) DWMAC_REGS_FLD32GET(reg, 11, 12) |
---|
458 | #define DMAGRP_OPERATION_MODE_RFD_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 11, 12) |
---|
459 | #define DMAGRP_OPERATION_MODE_ST DWMAC_REGS_BIT32(13) |
---|
460 | #define DMAGRP_OPERATION_MODE_TTC(val) DWMAC_REGS_FLD32(val, 14, 16) |
---|
461 | #define DMAGRP_OPERATION_MODE_TTC_GET(reg) DWMAC_REGS_FLD32GET(reg, 14, 16) |
---|
462 | #define DMAGRP_OPERATION_MODE_TTC_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 14, 16) |
---|
463 | #define DMAGRP_OPERATION_MODE_FTF DWMAC_REGS_BIT32(20) |
---|
464 | #define DMAGRP_OPERATION_MODE_TSF DWMAC_REGS_BIT32(21) |
---|
465 | #define DMAGRP_OPERATION_MODE_DFF DWMAC_REGS_BIT32(24) |
---|
466 | #define DMAGRP_OPERATION_MODE_RSF DWMAC_REGS_BIT32(25) |
---|
467 | #define DMAGRP_OPERATION_MODE_DT DWMAC_REGS_BIT32(26) |
---|
468 | uint32_t interrupt_enable; |
---|
469 | #define DMAGRP_INTERRUPT_ENABLE_TIE DWMAC_REGS_BIT32(0) |
---|
470 | #define DMAGRP_INTERRUPT_ENABLE_TSE DWMAC_REGS_BIT32(1) |
---|
471 | #define DMAGRP_INTERRUPT_ENABLE_TUE DWMAC_REGS_BIT32(2) |
---|
472 | #define DMAGRP_INTERRUPT_ENABLE_TJE DWMAC_REGS_BIT32(3) |
---|
473 | #define DMAGRP_INTERRUPT_ENABLE_OVE DWMAC_REGS_BIT32(4) |
---|
474 | #define DMAGRP_INTERRUPT_ENABLE_UNE DWMAC_REGS_BIT32(5) |
---|
475 | #define DMAGRP_INTERRUPT_ENABLE_RIE DWMAC_REGS_BIT32(6) |
---|
476 | #define DMAGRP_INTERRUPT_ENABLE_RUE DWMAC_REGS_BIT32(7) |
---|
477 | #define DMAGRP_INTERRUPT_ENABLE_RSE DWMAC_REGS_BIT32(8) |
---|
478 | #define DMAGRP_INTERRUPT_ENABLE_RWE DWMAC_REGS_BIT32(9) |
---|
479 | #define DMAGRP_INTERRUPT_ENABLE_ETE DWMAC_REGS_BIT32(10) |
---|
480 | #define DMAGRP_INTERRUPT_ENABLE_FBE DWMAC_REGS_BIT32(13) |
---|
481 | #define DMAGRP_INTERRUPT_ENABLE_ERE DWMAC_REGS_BIT32(14) |
---|
482 | #define DMAGRP_INTERRUPT_ENABLE_AIE DWMAC_REGS_BIT32(15) |
---|
483 | #define DMAGRP_INTERRUPT_ENABLE_NIE DWMAC_REGS_BIT32(16) |
---|
484 | uint32_t reserved_20[2]; |
---|
485 | uint32_t axi_bus_mode; |
---|
486 | #define DMAGRP_AXI_BUS_MODE_UNDEFINED DWMAC_REGS_BIT32(0) |
---|
487 | #define DMAGRP_AXI_BUS_MODE_BLEND4 DWMAC_REGS_BIT32(1) |
---|
488 | #define DMAGRP_AXI_BUS_MODE_BLEND8 DWMAC_REGS_BIT32(2) |
---|
489 | #define DMAGRP_AXI_BUS_MODE_BLEND16 DWMAC_REGS_BIT32(3) |
---|
490 | #define DMAGRP_AXI_BUS_MODE_AXI_AAL DWMAC_REGS_BIT32(12) |
---|
491 | #define DMAGRP_AXI_BUS_MODE_ONEKBBE DWMAC_REGS_BIT32(13) |
---|
492 | #define DMAGRP_AXI_BUS_MODE_RD_OSR_LMT(val) DWMAC_REGS_FLD32(val, 16, 19) |
---|
493 | #define DMAGRP_AXI_BUS_MODE_RD_OSR_LMT_GET(reg) DWMAC_REGS_FLD32GET(reg, 16, 19) |
---|
494 | #define DMAGRP_AXI_BUS_MODE_RD_OSR_LMT_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 16, 19) |
---|
495 | #define DMAGRP_AXI_BUS_MODE_WR_OSR_LMT(val) DWMAC_REGS_FLD32(val, 20, 23) |
---|
496 | #define DMAGRP_AXI_BUS_MODE_WR_OSR_LMT_GET(reg) DWMAC_REGS_FLD32GET(reg, 20, 23) |
---|
497 | #define DMAGRP_AXI_BUS_MODE_WR_OSR_LMT_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 20, 23) |
---|
498 | #define DMAGRP_AXI_BUS_MODE_LPI_XIT_FRM DWMAC_REGS_BIT32(30) |
---|
499 | #define DMAGRP_AXI_BUS_MODE_EN_LPI DWMAC_REGS_BIT32(31) |
---|
500 | uint32_t reserved_2c[11]; |
---|
501 | uint32_t hw_feature; |
---|
502 | #define DMAGRP_HW_FEATURE_MIISEL DWMAC_REGS_BIT32(0) |
---|
503 | #define DMAGRP_HW_FEATURE_GMIISEL DWMAC_REGS_BIT32(1) |
---|
504 | #define DMAGRP_HW_FEATURE_HDSEL DWMAC_REGS_BIT32(2) |
---|
505 | #define DMAGRP_HW_FEATURE_HASHSEL DWMAC_REGS_BIT32(4) |
---|
506 | #define DMAGRP_HW_FEATURE_ADDMACADRSEL DWMAC_REGS_BIT32(5) |
---|
507 | #define DMAGRP_HW_FEATURE_PCSSEL DWMAC_REGS_BIT32(6) |
---|
508 | #define DMAGRP_HW_FEATURE_SMASEL DWMAC_REGS_BIT32(8) |
---|
509 | #define DMAGRP_HW_FEATURE_RWKSEL DWMAC_REGS_BIT32(9) |
---|
510 | #define DMAGRP_HW_FEATURE_MGKSEL DWMAC_REGS_BIT32(10) |
---|
511 | #define DMAGRP_HW_FEATURE_MMCSEL DWMAC_REGS_BIT32(11) |
---|
512 | #define DMAGRP_HW_FEATURE_TSVER1SEL DWMAC_REGS_BIT32(12) |
---|
513 | #define DMAGRP_HW_FEATURE_TSVER2SEL DWMAC_REGS_BIT32(13) |
---|
514 | #define DMAGRP_HW_FEATURE_EEESEL DWMAC_REGS_BIT32(14) |
---|
515 | #define DMAGRP_HW_FEATURE_AVSEL DWMAC_REGS_BIT32(15) |
---|
516 | #define DMAGRP_HW_FEATURE_TXOESEL DWMAC_REGS_BIT32(16) |
---|
517 | #define DMAGRP_HW_FEATURE_RXTYP1COE DWMAC_REGS_BIT32(17) |
---|
518 | #define DMAGRP_HW_FEATURE_RXTYP2COE DWMAC_REGS_BIT32(18) |
---|
519 | #define DMAGRP_HW_FEATURE_RXFIFOSIZE DWMAC_REGS_BIT32(19) |
---|
520 | #define DMAGRP_HW_FEATURE_RXCHCNT(val) DWMAC_REGS_FLD32(val, 20, 21) |
---|
521 | #define DMAGRP_HW_FEATURE_RXCHCNT_GET(reg) DWMAC_REGS_FLD32GET(reg, 20, 21) |
---|
522 | #define DMAGRP_HW_FEATURE_RXCHCNT_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 20, 21) |
---|
523 | #define DMAGRP_HW_FEATURE_TXCHCNT(val) DWMAC_REGS_FLD32(val, 22, 23) |
---|
524 | #define DMAGRP_HW_FEATURE_TXCHCNT_GET(reg) DWMAC_REGS_FLD32GET(reg, 22, 23) |
---|
525 | #define DMAGRP_HW_FEATURE_TXCHCNT_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 22, 23) |
---|
526 | #define DMAGRP_HW_FEATURE_ENHDESSEL DWMAC_REGS_BIT32(24) |
---|
527 | #define DMAGRP_HW_FEATURE_ACTPHYIF(val) DWMAC_REGS_FLD32(val, 28, 30) |
---|
528 | #define DMAGRP_HW_FEATURE_ACTPHYIF_GET(reg) DWMAC_REGS_FLD32GET(reg, 28, 30) |
---|
529 | #define DMAGRP_HW_FEATURE_ACTPHYIF_SET(reg, val) DWMAC_REGS_FLD32SET(reg, val, 28, 30) |
---|
530 | } dmagrp; |
---|
531 | |
---|
532 | #endif /* MAC_REGS_H */ |
---|