linux/drivers/net/phy/nxp-cbtx.c

// SPDX-License-Identifier: GPL-2.0
/* Driver for 100BASE-TX PHY embedded into NXP SJA1110 switch
 *
 * Copyright 2022-2023 NXP
 */

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

#define PHY_ID_CBTX_SJA1110

/* Registers */
#define CBTX_MODE_CTRL_STAT
#define CBTX_PDOWN_CTRL
#define CBTX_RX_ERR_COUNTER
#define CBTX_IRQ_STAT
#define CBTX_IRQ_ENABLE

/* Fields */
#define CBTX_MODE_CTRL_STAT_AUTO_MDIX_EN
#define CBTX_MODE_CTRL_STAT_MDIX_MODE

#define CBTX_PDOWN_CTL_TRUE_PDOWN

#define CBTX_IRQ_ENERGYON
#define CBTX_IRQ_AN_COMPLETE
#define CBTX_IRQ_REM_FAULT
#define CBTX_IRQ_LINK_DOWN
#define CBTX_IRQ_AN_LP_ACK
#define CBTX_IRQ_PARALLEL_DETECT_FAULT
#define CBTX_IRQ_AN_PAGE_RECV

static int cbtx_soft_reset(struct phy_device *phydev)
{}

static int cbtx_config_init(struct phy_device *phydev)
{}

static int cbtx_mdix_status(struct phy_device *phydev)
{}

static int cbtx_read_status(struct phy_device *phydev)
{}

static int cbtx_mdix_config(struct phy_device *phydev)
{}

static int cbtx_config_aneg(struct phy_device *phydev)
{}

static int cbtx_ack_interrupts(struct phy_device *phydev)
{}

static int cbtx_config_intr(struct phy_device *phydev)
{}

static irqreturn_t cbtx_handle_interrupt(struct phy_device *phydev)
{}

static int cbtx_get_sset_count(struct phy_device *phydev)
{}

static void cbtx_get_strings(struct phy_device *phydev, u8 *data)
{}

static void cbtx_get_stats(struct phy_device *phydev,
			   struct ethtool_stats *stats, u64 *data)
{}

static struct phy_driver cbtx_driver[] =;

module_phy_driver(cbtx_driver);

static struct mdio_device_id __maybe_unused cbtx_tbl[] =;

MODULE_DEVICE_TABLE(mdio, cbtx_tbl);

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