linux/drivers/net/ethernet/samsung/sxgbe/sxgbe_mdio.c

// SPDX-License-Identifier: GPL-2.0-only
/* 10G controller driver for Samsung SoCs
 *
 * Copyright (C) 2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Author: Siva Reddy Kallam <[email protected]>
 */

#define pr_fmt(fmt)

#include <linux/io.h>
#include <linux/mii.h>
#include <linux/netdevice.h>
#include <linux/platform_device.h>
#include <linux/phy.h>
#include <linux/slab.h>
#include <linux/sxgbe_platform.h>

#include "sxgbe_common.h"
#include "sxgbe_reg.h"

#define SXGBE_SMA_WRITE_CMD
#define SXGBE_SMA_PREAD_CMD
#define SXGBE_SMA_READ_CMD
#define SXGBE_SMA_SKIP_ADDRFRM
#define SXGBE_MII_BUSY

static int sxgbe_mdio_busy_wait(void __iomem *ioaddr, unsigned int mii_data)
{}

static void sxgbe_mdio_ctrl_data(struct sxgbe_priv_data *sp, u32 cmd,
				 u16 phydata)
{}

static void sxgbe_mdio_c45(struct sxgbe_priv_data *sp, u32 cmd, int phyaddr,
			   int devad, int phyreg, u16 phydata)
{}

static void sxgbe_mdio_c22(struct sxgbe_priv_data *sp, u32 cmd, int phyaddr,
			   int phyreg, u16 phydata)
{}

static int sxgbe_mdio_access_c22(struct sxgbe_priv_data *sp, u32 cmd,
				 int phyaddr, int phyreg, u16 phydata)
{}

static int sxgbe_mdio_access_c45(struct sxgbe_priv_data *sp, u32 cmd,
				 int phyaddr, int devad, int phyreg,
				 u16 phydata)
{}

/**
 * sxgbe_mdio_read_c22
 * @bus: points to the mii_bus structure
 * @phyaddr: address of phy port
 * @phyreg: address of register with in phy register
 * Description: this function used for C22 MDIO Read
 */
static int sxgbe_mdio_read_c22(struct mii_bus *bus, int phyaddr, int phyreg)
{}

/**
 * sxgbe_mdio_read_c45
 * @bus: points to the mii_bus structure
 * @phyaddr: address of phy port
 * @devad: device (MMD) address
 * @phyreg: address of register with in phy register
 * Description: this function used for C45 MDIO Read
 */
static int sxgbe_mdio_read_c45(struct mii_bus *bus, int phyaddr, int devad,
			       int phyreg)
{}

/**
 * sxgbe_mdio_write_c22
 * @bus: points to the mii_bus structure
 * @phyaddr: address of phy port
 * @phyreg: address of phy registers
 * @phydata: data to be written into phy register
 * Description: this function is used for C22 MDIO write
 */
static int sxgbe_mdio_write_c22(struct mii_bus *bus, int phyaddr, int phyreg,
				u16 phydata)
{}

/**
 * sxgbe_mdio_write_c45
 * @bus: points to the mii_bus structure
 * @phyaddr: address of phy port
 * @phyreg: address of phy registers
 * @devad: device (MMD) address
 * @phydata: data to be written into phy register
 * Description: this function is used for C45 MDIO write
 */
static int sxgbe_mdio_write_c45(struct mii_bus *bus, int phyaddr, int devad,
				int phyreg, u16 phydata)
{}

int sxgbe_mdio_register(struct net_device *ndev)
{}

int sxgbe_mdio_unregister(struct net_device *ndev)
{}