root/drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.h
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright (c) 2014-2015 Hisilicon Limited.
 */

#ifndef _HNS_GMAC_H
#define _HNS_GMAC_H

#include "hns_dsaf_mac.h"

enum hns_port_mode {
        GMAC_10M_MII = 0,
        GMAC_100M_MII,
        GMAC_1000M_GMII,
        GMAC_10M_RGMII,
        GMAC_100M_RGMII,
        GMAC_1000M_RGMII,
        GMAC_10M_SGMII,
        GMAC_100M_SGMII,
        GMAC_1000M_SGMII,
        GMAC_10000M_SGMII       /* 10GE */
};

enum hns_gmac_duplex_mdoe {
        GMAC_HALF_DUPLEX_MODE = 0,
        GMAC_FULL_DUPLEX_MODE
};

struct hns_gmac_port_mode_cfg {
        enum hns_port_mode port_mode;
        u32 max_frm_size;
        u32 short_runts_thr;
        u32 pad_enable;
        u32 crc_add;
        u32 an_enable;  /*auto-nego enable  */
        u32 runt_pkt_en;
        u32 strip_pad_en;
};

#define ETH_GMAC_DUMP_NUM               96
#endif                          /* __HNS_GMAC_H__ */