linux/drivers/net/ethernet/microchip/lan865x/lan865x.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Microchip's LAN865x 10BASE-T1S MAC-PHY driver
 *
 * Author: Parthiban Veerasooran <[email protected]>
 */

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/phy.h>
#include <linux/oa_tc6.h>

#define DRV_NAME

/* MAC Network Control Register */
#define LAN865X_REG_MAC_NET_CTL
#define MAC_NET_CTL_TXEN
#define MAC_NET_CTL_RXEN

/* MAC Network Configuration Reg */
#define LAN865X_REG_MAC_NET_CFG
#define MAC_NET_CFG_PROMISCUOUS_MODE
#define MAC_NET_CFG_MULTICAST_MODE
#define MAC_NET_CFG_UNICAST_MODE

/* MAC Hash Register Bottom */
#define LAN865X_REG_MAC_L_HASH
/* MAC Hash Register Top */
#define LAN865X_REG_MAC_H_HASH
/* MAC Specific Addr 1 Bottom Reg */
#define LAN865X_REG_MAC_L_SADDR1
/* MAC Specific Addr 1 Top Reg */
#define LAN865X_REG_MAC_H_SADDR1

struct lan865x_priv {};

static int lan865x_set_hw_macaddr_low_bytes(struct oa_tc6 *tc6, const u8 *mac)
{}

static int lan865x_set_hw_macaddr(struct lan865x_priv *priv, const u8 *mac)
{}

static const struct ethtool_ops lan865x_ethtool_ops =;

static int lan865x_set_mac_address(struct net_device *netdev, void *addr)
{}

static u32 get_address_bit(u8 addr[ETH_ALEN], u32 bit)
{}

static u32 lan865x_hash(u8 addr[ETH_ALEN])
{}

static int lan865x_set_specific_multicast_addr(struct lan865x_priv *priv)
{}

static int lan865x_set_all_multicast_addr(struct lan865x_priv *priv)
{}

static int lan865x_clear_all_multicast_addr(struct lan865x_priv *priv)
{}

static void lan865x_multicast_work_handler(struct work_struct *work)
{}

static void lan865x_set_multicast_list(struct net_device *netdev)
{}

static netdev_tx_t lan865x_send_packet(struct sk_buff *skb,
				       struct net_device *netdev)
{}

static int lan865x_hw_disable(struct lan865x_priv *priv)
{}

static int lan865x_net_close(struct net_device *netdev)
{}

static int lan865x_hw_enable(struct lan865x_priv *priv)
{}

static int lan865x_net_open(struct net_device *netdev)
{}

static const struct net_device_ops lan865x_netdev_ops =;

static int lan865x_probe(struct spi_device *spi)
{}

static void lan865x_remove(struct spi_device *spi)
{}

static const struct spi_device_id spidev_spi_ids[] =;

static const struct of_device_id lan865x_dt_ids[] =;
MODULE_DEVICE_TABLE(of, lan865x_dt_ids);

static struct spi_driver lan865x_driver =;
module_spi_driver();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();