linux/drivers/net/phy/adin1100.c

// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
 *  Driver for Analog Devices Industrial Ethernet T1L PHYs
 *
 * Copyright 2020 Analog Devices Inc.
 */
#include <linux/kernel.h>
#include <linux/bitfield.h>
#include <linux/delay.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/mii.h>
#include <linux/phy.h>
#include <linux/property.h>

#define PHY_ID_ADIN1100
#define PHY_ID_ADIN1110
#define PHY_ID_ADIN2111

#define ADIN_PHY_SUBSYS_IRQ_MASK
#define ADIN_LINK_STAT_CHNG_IRQ_EN

#define ADIN_PHY_SUBSYS_IRQ_STATUS
#define ADIN_LINK_STAT_CHNG

#define ADIN_FORCED_MODE
#define ADIN_FORCED_MODE_EN

#define ADIN_CRSM_SFT_RST
#define ADIN_CRSM_SFT_RST_EN

#define ADIN_CRSM_SFT_PD_CNTRL
#define ADIN_CRSM_SFT_PD_CNTRL_EN

#define ADIN_AN_PHY_INST_STATUS
#define ADIN_IS_CFG_SLV
#define ADIN_IS_CFG_MST

#define ADIN_CRSM_STAT
#define ADIN_CRSM_SFT_PD_RDY
#define ADIN_CRSM_SYS_RDY

#define ADIN_MSE_VAL

#define ADIN_SQI_MAX

struct adin_mse_sqi_range {};

static const struct adin_mse_sqi_range adin_mse_sqi_map[] =;

/**
 * struct adin_priv - ADIN PHY driver private data
 * @tx_level_2v4_able:		set if the PHY supports 2.4V TX levels (10BASE-T1L)
 * @tx_level_2v4:		set if the PHY requests 2.4V TX levels (10BASE-T1L)
 * @tx_level_prop_present:	set if the TX level is specified in DT
 */
struct adin_priv {};

static int adin_read_status(struct phy_device *phydev)
{}

static int adin_config_aneg(struct phy_device *phydev)
{}

static int adin_phy_ack_intr(struct phy_device *phydev)
{}

static int adin_config_intr(struct phy_device *phydev)
{}

static irqreturn_t adin_phy_handle_interrupt(struct phy_device *phydev)
{}

static int adin_set_powerdown_mode(struct phy_device *phydev, bool en)
{}

static int adin_suspend(struct phy_device *phydev)
{}

static int adin_resume(struct phy_device *phydev)
{}

static int adin_set_loopback(struct phy_device *phydev, bool enable)
{}

static int adin_soft_reset(struct phy_device *phydev)
{}

static int adin_get_features(struct phy_device *phydev)
{}

static int adin_get_sqi(struct phy_device *phydev)
{}

static int adin_get_sqi_max(struct phy_device *phydev)
{}

static int adin_probe(struct phy_device *phydev)
{}

static struct phy_driver adin_driver[] =;

module_phy_driver(adin_driver);

static struct mdio_device_id __maybe_unused adin_tbl[] =;

MODULE_DEVICE_TABLE(mdio, adin_tbl);
MODULE_DESCRIPTION();
MODULE_LICENSE();