Commit | Line | Data |
---|---|---|
4fa9c49f | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
1c901a46 GC |
2 | /******************************************************************************* |
3 | MMC Header file | |
4 | ||
5 | Copyright (C) 2011 STMicroelectronics Ltd | |
6 | ||
1c901a46 GC |
7 | |
8 | Author: Giuseppe Cavallaro <peppe.cavallaro@st.com> | |
9 | *******************************************************************************/ | |
10 | ||
bd4242df RK |
11 | #ifndef __MMC_H__ |
12 | #define __MMC_H__ | |
13 | ||
1c901a46 GC |
14 | /* MMC control register */ |
15 | /* When set, all counter are reset */ | |
16 | #define MMC_CNTRL_COUNTER_RESET 0x1 | |
ceb69499 | 17 | /* When set, do not roll over zero after reaching the max value*/ |
1c901a46 GC |
18 | #define MMC_CNTRL_COUNTER_STOP_ROLLOVER 0x2 |
19 | #define MMC_CNTRL_RESET_ON_READ 0x4 /* Reset after reading */ | |
20 | #define MMC_CNTRL_COUNTER_FREEZER 0x8 /* Freeze counter values to the | |
21 | * current value.*/ | |
22 | #define MMC_CNTRL_PRESET 0x10 | |
23 | #define MMC_CNTRL_FULL_HALF_PRESET 0x20 | |
36ff7c1e AT |
24 | |
25 | #define MMC_GMAC4_OFFSET 0x700 | |
26 | #define MMC_GMAC3_X_OFFSET 0x100 | |
b6cdf09f | 27 | #define MMC_XGMAC_OFFSET 0x800 |
36ff7c1e | 28 | |
1c901a46 GC |
29 | struct stmmac_counters { |
30 | unsigned int mmc_tx_octetcount_gb; | |
31 | unsigned int mmc_tx_framecount_gb; | |
32 | unsigned int mmc_tx_broadcastframe_g; | |
33 | unsigned int mmc_tx_multicastframe_g; | |
34 | unsigned int mmc_tx_64_octets_gb; | |
35 | unsigned int mmc_tx_65_to_127_octets_gb; | |
36 | unsigned int mmc_tx_128_to_255_octets_gb; | |
37 | unsigned int mmc_tx_256_to_511_octets_gb; | |
38 | unsigned int mmc_tx_512_to_1023_octets_gb; | |
39 | unsigned int mmc_tx_1024_to_max_octets_gb; | |
40 | unsigned int mmc_tx_unicast_gb; | |
41 | unsigned int mmc_tx_multicast_gb; | |
42 | unsigned int mmc_tx_broadcast_gb; | |
43 | unsigned int mmc_tx_underflow_error; | |
44 | unsigned int mmc_tx_singlecol_g; | |
45 | unsigned int mmc_tx_multicol_g; | |
46 | unsigned int mmc_tx_deferred; | |
47 | unsigned int mmc_tx_latecol; | |
48 | unsigned int mmc_tx_exesscol; | |
49 | unsigned int mmc_tx_carrier_error; | |
50 | unsigned int mmc_tx_octetcount_g; | |
51 | unsigned int mmc_tx_framecount_g; | |
52 | unsigned int mmc_tx_excessdef; | |
53 | unsigned int mmc_tx_pause_frame; | |
54 | unsigned int mmc_tx_vlan_frame_g; | |
ff20393b | 55 | unsigned int mmc_tx_oversize_g; |
e5bc1f4c FX |
56 | unsigned int mmc_tx_lpi_usec; |
57 | unsigned int mmc_tx_lpi_tran; | |
1c901a46 GC |
58 | |
59 | /* MMC RX counter registers */ | |
60 | unsigned int mmc_rx_framecount_gb; | |
61 | unsigned int mmc_rx_octetcount_gb; | |
62 | unsigned int mmc_rx_octetcount_g; | |
63 | unsigned int mmc_rx_broadcastframe_g; | |
64 | unsigned int mmc_rx_multicastframe_g; | |
2b78d348 | 65 | unsigned int mmc_rx_crc_error; |
1c901a46 GC |
66 | unsigned int mmc_rx_align_error; |
67 | unsigned int mmc_rx_run_error; | |
68 | unsigned int mmc_rx_jabber_error; | |
69 | unsigned int mmc_rx_undersize_g; | |
70 | unsigned int mmc_rx_oversize_g; | |
71 | unsigned int mmc_rx_64_octets_gb; | |
72 | unsigned int mmc_rx_65_to_127_octets_gb; | |
73 | unsigned int mmc_rx_128_to_255_octets_gb; | |
74 | unsigned int mmc_rx_256_to_511_octets_gb; | |
75 | unsigned int mmc_rx_512_to_1023_octets_gb; | |
76 | unsigned int mmc_rx_1024_to_max_octets_gb; | |
77 | unsigned int mmc_rx_unicast_g; | |
78 | unsigned int mmc_rx_length_error; | |
79 | unsigned int mmc_rx_autofrangetype; | |
80 | unsigned int mmc_rx_pause_frames; | |
81 | unsigned int mmc_rx_fifo_overflow; | |
82 | unsigned int mmc_rx_vlan_frames_gb; | |
83 | unsigned int mmc_rx_watchdog_error; | |
ff20393b | 84 | unsigned int mmc_rx_error; |
e5bc1f4c FX |
85 | unsigned int mmc_rx_lpi_usec; |
86 | unsigned int mmc_rx_lpi_tran; | |
87 | unsigned int mmc_rx_discard_frames_gb; | |
88 | unsigned int mmc_rx_discard_octets_gb; | |
89 | unsigned int mmc_rx_align_err_frames; | |
90 | ||
1c901a46 GC |
91 | /* IPv4 */ |
92 | unsigned int mmc_rx_ipv4_gd; | |
93 | unsigned int mmc_rx_ipv4_hderr; | |
94 | unsigned int mmc_rx_ipv4_nopay; | |
95 | unsigned int mmc_rx_ipv4_frag; | |
96 | unsigned int mmc_rx_ipv4_udsbl; | |
97 | ||
98 | unsigned int mmc_rx_ipv4_gd_octets; | |
99 | unsigned int mmc_rx_ipv4_hderr_octets; | |
100 | unsigned int mmc_rx_ipv4_nopay_octets; | |
101 | unsigned int mmc_rx_ipv4_frag_octets; | |
102 | unsigned int mmc_rx_ipv4_udsbl_octets; | |
103 | ||
104 | /* IPV6 */ | |
105 | unsigned int mmc_rx_ipv6_gd_octets; | |
106 | unsigned int mmc_rx_ipv6_hderr_octets; | |
107 | unsigned int mmc_rx_ipv6_nopay_octets; | |
108 | ||
109 | unsigned int mmc_rx_ipv6_gd; | |
110 | unsigned int mmc_rx_ipv6_hderr; | |
111 | unsigned int mmc_rx_ipv6_nopay; | |
112 | ||
113 | /* Protocols */ | |
114 | unsigned int mmc_rx_udp_gd; | |
115 | unsigned int mmc_rx_udp_err; | |
116 | unsigned int mmc_rx_tcp_gd; | |
117 | unsigned int mmc_rx_tcp_err; | |
118 | unsigned int mmc_rx_icmp_gd; | |
119 | unsigned int mmc_rx_icmp_err; | |
120 | ||
121 | unsigned int mmc_rx_udp_gd_octets; | |
122 | unsigned int mmc_rx_udp_err_octets; | |
123 | unsigned int mmc_rx_tcp_gd_octets; | |
124 | unsigned int mmc_rx_tcp_err_octets; | |
125 | unsigned int mmc_rx_icmp_gd_octets; | |
126 | unsigned int mmc_rx_icmp_err_octets; | |
b6cdf09f | 127 | |
e5bc1f4c FX |
128 | /* Stream-Gate Filter */ |
129 | unsigned int mmc_sgf_pass_fragment_cntr; | |
130 | unsigned int mmc_sgf_fail_fragment_cntr; | |
131 | ||
b6cdf09f JA |
132 | /* FPE */ |
133 | unsigned int mmc_tx_fpe_fragment_cntr; | |
134 | unsigned int mmc_tx_hold_req_cntr; | |
e5bc1f4c | 135 | unsigned int mmc_tx_gate_overrun_cntr; |
b6cdf09f JA |
136 | unsigned int mmc_rx_packet_assembly_err_cntr; |
137 | unsigned int mmc_rx_packet_smd_err_cntr; | |
138 | unsigned int mmc_rx_packet_assembly_ok_cntr; | |
139 | unsigned int mmc_rx_fpe_fragment_cntr; | |
1c901a46 GC |
140 | }; |
141 | ||
bd4242df | 142 | #endif /* __MMC_H__ */ |