143 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*******************************************************************************3 MMC Header file4 5 Copyright (C) 2011 STMicroelectronics Ltd6 7 8 Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>9*******************************************************************************/10 11#ifndef __MMC_H__12#define __MMC_H__13 14/* MMC control register */15/* When set, all counter are reset */16#define MMC_CNTRL_COUNTER_RESET 0x117/* When set, do not roll over zero after reaching the max value*/18#define MMC_CNTRL_COUNTER_STOP_ROLLOVER 0x219#define MMC_CNTRL_RESET_ON_READ 0x4 /* Reset after reading */20#define MMC_CNTRL_COUNTER_FREEZER 0x8 /* Freeze counter values to the21 * current value.*/22#define MMC_CNTRL_PRESET 0x1023#define MMC_CNTRL_FULL_HALF_PRESET 0x2024 25#define MMC_GMAC4_OFFSET 0x70026#define MMC_GMAC3_X_OFFSET 0x10027#define MMC_XGMAC_OFFSET 0x80028 29struct 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;55 unsigned int mmc_tx_oversize_g;56 unsigned int mmc_tx_lpi_usec;57 unsigned int mmc_tx_lpi_tran;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;65 unsigned int mmc_rx_crc_error;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;84 unsigned int mmc_rx_error;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 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;127 128 /* Stream-Gate Filter */129 unsigned int mmc_sgf_pass_fragment_cntr;130 unsigned int mmc_sgf_fail_fragment_cntr;131 132 /* FPE */133 unsigned int mmc_tx_fpe_fragment_cntr;134 unsigned int mmc_tx_hold_req_cntr;135 unsigned int mmc_tx_gate_overrun_cntr;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;140};141 142#endif /* __MMC_H__ */143