#include <linux/of_gpio.h>
#include <linux/gpio.h>
#include "xgene_enet_main.h"
#include "xgene_enet_hw.h"
#include "xgene_enet_xgmac.h"
static void xgene_enet_wr_csr(struct xgene_enet_pdata *pdata,
u32 offset, u32 val)
{ … }
static void xgene_enet_wr_ring_if(struct xgene_enet_pdata *pdata,
u32 offset, u32 val)
{ … }
static void xgene_enet_wr_diag_csr(struct xgene_enet_pdata *pdata,
u32 offset, u32 val)
{ … }
static bool xgene_enet_wr_indirect(void __iomem *addr, void __iomem *wr,
void __iomem *cmd, void __iomem *cmd_done,
u32 wr_addr, u32 wr_data)
{ … }
static void xgene_enet_wr_pcs(struct xgene_enet_pdata *pdata,
u32 wr_addr, u32 wr_data)
{ … }
static void xgene_enet_wr_axg_csr(struct xgene_enet_pdata *pdata,
u32 offset, u32 val)
{ … }
static void xgene_enet_rd_csr(struct xgene_enet_pdata *pdata,
u32 offset, u32 *val)
{ … }
static void xgene_enet_rd_diag_csr(struct xgene_enet_pdata *pdata,
u32 offset, u32 *val)
{ … }
static bool xgene_enet_rd_indirect(void __iomem *addr, void __iomem *rd,
void __iomem *cmd, void __iomem *cmd_done,
u32 rd_addr, u32 *rd_data)
{ … }
static bool xgene_enet_rd_pcs(struct xgene_enet_pdata *pdata,
u32 rd_addr, u32 *rd_data)
{ … }
static void xgene_enet_rd_axg_csr(struct xgene_enet_pdata *pdata,
u32 offset, u32 *val)
{ … }
static int xgene_enet_ecc_init(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_xgmac_get_drop_cnt(struct xgene_enet_pdata *pdata,
u32 *rx, u32 *tx)
{ … }
static void xgene_enet_config_ring_if_assoc(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_xgmac_reset(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_pcs_reset(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_xgmac_set_mac_addr(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_xgmac_set_mss(struct xgene_enet_pdata *pdata,
u16 mss, u8 index)
{ … }
static void xgene_xgmac_set_frame_size(struct xgene_enet_pdata *pdata, int size)
{ … }
static u32 xgene_enet_link_status(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_xgmac_enable_tx_pause(struct xgene_enet_pdata *pdata,
bool enable)
{ … }
static void xgene_xgmac_flowctl_tx(struct xgene_enet_pdata *pdata, bool enable)
{ … }
static void xgene_xgmac_flowctl_rx(struct xgene_enet_pdata *pdata, bool enable)
{ … }
static void xgene_xgmac_init(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_xgmac_rx_enable(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_xgmac_tx_enable(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_xgmac_rx_disable(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_xgmac_tx_disable(struct xgene_enet_pdata *pdata)
{ … }
static int xgene_enet_reset(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_enet_xgcle_bypass(struct xgene_enet_pdata *pdata,
u32 dst_ring_num, u16 bufpool_id,
u16 nxtbufpool_id)
{ … }
static void xgene_enet_shutdown(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_enet_clear(struct xgene_enet_pdata *pdata,
struct xgene_enet_desc_ring *ring)
{ … }
static int xgene_enet_gpio_lookup(struct xgene_enet_pdata *pdata)
{ … }
static void xgene_enet_link_state(struct work_struct *work)
{ … }
const struct xgene_mac_ops xgene_xgmac_ops = …;
const struct xgene_port_ops xgene_xgport_ops = …;