1/*
2 * Hardware-specific MIB definition for
3 * Broadcom Home Networking Division
4 * GbE Unimac core
5 *
6 * Copyright (C) 2010, Broadcom Corporation
7 * All Rights Reserved.
8 *
9 * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
10 * the contents of this file may not be disclosed to third parties, copied
11 * or duplicated in any form, in whole or in part, without the prior
12 * written permission of Broadcom Corporation.
13 * $Id: bcmgmacmib.h,v 13.1 2008/07/18 00:28:28 Exp $
14 */
15
16#ifndef	_bcmgmacmib_h_
17#define	_bcmgmacmib_h_
18
19
20/* cpp contortions to concatenate w/arg prescan */
21#ifndef PAD
22#define	_PADLINE(line)	pad ## line
23#define	_XSTR(line)	_PADLINE(line)
24#define	PAD		_XSTR(__LINE__)
25#endif	/* PAD */
26
27/* GMAC MIB structure */
28
29typedef struct _gmacmib {
30	uint32	tx_good_octets;		/* 0x300 */
31	uint32	tx_good_octets_high;	/* 0x304 */
32	uint32	tx_good_pkts;		/* 0x308 */
33	uint32	tx_octets;		/* 0x30c */
34	uint32	tx_octets_high;		/* 0x310 */
35	uint32	tx_pkts;		/* 0x314 */
36	uint32	tx_broadcast_pkts;	/* 0x318 */
37	uint32	tx_multicast_pkts;	/* 0x31c */
38	uint32	tx_len_64;		/* 0x320 */
39	uint32	tx_len_65_to_127;	/* 0x324 */
40	uint32	tx_len_128_to_255;	/* 0x328 */
41	uint32	tx_len_256_to_511;	/* 0x32c */
42	uint32	tx_len_512_to_1023;	/* 0x330 */
43	uint32	tx_len_1024_to_1522;	/* 0x334 */
44	uint32	tx_len_1523_to_2047;	/* 0x338 */
45	uint32	tx_len_2048_to_4095;	/* 0x33c */
46	uint32	tx_len_4095_to_8191;	/* 0x340 */
47	uint32	tx_len_8192_to_max;	/* 0x344 */
48	uint32	tx_jabber_pkts;		/* 0x348 */
49	uint32	tx_oversize_pkts;	/* 0x34c */
50	uint32	tx_fragment_pkts;	/* 0x350 */
51	uint32	tx_underruns;		/* 0x354 */
52	uint32	tx_total_cols;		/* 0x358 */
53	uint32	tx_single_cols;		/* 0x35c */
54	uint32	tx_multiple_cols;	/* 0x360 */
55	uint32	tx_excessive_cols;	/* 0x364 */
56	uint32	tx_late_cols;		/* 0x368 */
57	uint32	tx_defered;		/* 0x36c */
58	uint32	tx_carrier_lost;	/* 0x370 */
59	uint32	tx_pause_pkts;		/* 0x374 */
60	uint32	tx_uni_pkts;		/* 0x378 */
61	uint32	tx_q0_pkts;		/* 0x37c */
62	uint32	tx_q0_octets;		/* 0x380 */
63	uint32	tx_q0_octets_high;	/* 0x384 */
64	uint32	tx_q1_pkts;		/* 0x388 */
65	uint32	tx_q1_octets;		/* 0x38c */
66	uint32	tx_q1_octets_high;	/* 0x390 */
67	uint32	tx_q2_pkts;		/* 0x394 */
68	uint32	tx_q2_octets;		/* 0x398 */
69	uint32	tx_q2_octets_high;	/* 0x39c */
70	uint32	tx_q3_pkts;		/* 0x3a0 */
71	uint32	tx_q3_octets;		/* 0x3a4 */
72	uint32	tx_q3_octets_high;	/* 0x3a8 */
73	uint32	PAD;
74	uint32	rx_good_octets;		/* 0x3b0 */
75	uint32	rx_good_octets_high;	/* 0x3b4 */
76	uint32	rx_good_pkts;		/* 0x3b8 */
77	uint32	rx_octets;		/* 0x3bc */
78	uint32	rx_octets_high;		/* 0x3c0 */
79	uint32	rx_pkts;		/* 0x3c4 */
80	uint32	rx_broadcast_pkts;	/* 0x3c8 */
81	uint32	rx_multicast_pkts;	/* 0x3cc */
82	uint32	rx_len_64;		/* 0x3d0 */
83	uint32	rx_len_65_to_127;	/* 0x3d4 */
84	uint32	rx_len_128_to_255;	/* 0x3d8 */
85	uint32	rx_len_256_to_511;	/* 0x3dc */
86	uint32	rx_len_512_to_1023;	/* 0x3e0 */
87	uint32	rx_len_1024_to_1522;	/* 0x3e4 */
88	uint32	rx_len_1523_to_2047;	/* 0x3e8 */
89	uint32	rx_len_2048_to_4095;	/* 0x3ec */
90	uint32	rx_len_4095_to_8191;	/* 0x3f0 */
91	uint32	rx_len_8192_to_max;	/* 0x3f4 */
92	uint32	rx_jabber_pkts;		/* 0x3f8 */
93	uint32	rx_oversize_pkts;	/* 0x3fc */
94	uint32	rx_fragment_pkts;	/* 0x400 */
95	uint32	rx_missed_pkts;		/* 0x404 */
96	uint32	rx_crc_align_errs;	/* 0x408 */
97	uint32	rx_undersize;		/* 0x40c */
98	uint32	rx_crc_errs;		/* 0x410 */
99	uint32	rx_align_errs;		/* 0x414 */
100	uint32	rx_symbol_errs;		/* 0x418 */
101	uint32	rx_pause_pkts;		/* 0x41c */
102	uint32	rx_nonpause_pkts;	/* 0x420 */
103	uint32	rx_sachanges;		/* 0x424 */
104	uint32	rx_uni_pkts;		/* 0x428 */
105} gmacmib_t;
106
107#define	GM_MIB_BASE		0x300
108#define	GM_MIB_LIMIT		0x800
109
110#endif	/* _bcmgmacmib_h_ */
111