1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
2 | /* |
3 | * Copyright (c) 2014-2015 Hisilicon Limited. |
4 | */ |
5 | |
6 | #ifndef _HNS_GMAC_H |
7 | #define _HNS_GMAC_H |
8 | |
9 | #include "hns_dsaf_mac.h" |
10 | |
11 | enum hns_port_mode { |
12 | GMAC_10M_MII = 0, |
13 | GMAC_100M_MII, |
14 | GMAC_1000M_GMII, |
15 | GMAC_10M_RGMII, |
16 | GMAC_100M_RGMII, |
17 | GMAC_1000M_RGMII, |
18 | GMAC_10M_SGMII, |
19 | GMAC_100M_SGMII, |
20 | GMAC_1000M_SGMII, |
21 | GMAC_10000M_SGMII /* 10GE */ |
22 | }; |
23 | |
24 | enum hns_gmac_duplex_mdoe { |
25 | GMAC_HALF_DUPLEX_MODE = 0, |
26 | GMAC_FULL_DUPLEX_MODE |
27 | }; |
28 | |
29 | struct hns_gmac_port_mode_cfg { |
30 | enum hns_port_mode port_mode; |
31 | u32 max_frm_size; |
32 | u32 short_runts_thr; |
33 | u32 pad_enable; |
34 | u32 crc_add; |
35 | u32 an_enable; /*auto-nego enable */ |
36 | u32 runt_pkt_en; |
37 | u32 strip_pad_en; |
38 | }; |
39 | |
40 | #define ETH_GMAC_DUMP_NUM 96 |
41 | #endif /* __HNS_GMAC_H__ */ |
42 | |