linux/drivers/net/phy/bcm87xx.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2011 - 2012 Cavium, Inc.
 */

#include <linux/module.h>
#include <linux/phy.h>
#include <linux/of.h>

#define PHY_ID_BCM8706
#define PHY_ID_BCM8727

#define BCM87XX_PMD_RX_SIGNAL_DETECT
#define BCM87XX_10GBASER_PCS_STATUS
#define BCM87XX_XGXS_LANE_STATUS

#define BCM87XX_LASI_CONTROL
#define BCM87XX_LASI_STATUS

#if IS_ENABLED(CONFIG_OF_MDIO)
/* Set and/or override some configuration registers based on the
 * broadcom,c45-reg-init property stored in the of_node for the phydev.
 *
 * broadcom,c45-reg-init = <devid reg mask value>,...;
 *
 * There may be one or more sets of <devid reg mask value>:
 *
 * devid: which sub-device to use.
 * reg: the register.
 * mask: if non-zero, ANDed with existing register value.
 * value: ORed with the masked value and written to the regiser.
 *
 */
static int bcm87xx_of_reg_init(struct phy_device *phydev)
{}
#else
static int bcm87xx_of_reg_init(struct phy_device *phydev)
{
	return 0;
}
#endif /* CONFIG_OF_MDIO */

static int bcm87xx_get_features(struct phy_device *phydev)
{}

static int bcm87xx_config_init(struct phy_device *phydev)
{}

static int bcm87xx_config_aneg(struct phy_device *phydev)
{}

static int bcm87xx_read_status(struct phy_device *phydev)
{}

static int bcm87xx_config_intr(struct phy_device *phydev)
{}

static irqreturn_t bcm87xx_handle_interrupt(struct phy_device *phydev)
{}

static int bcm8706_match_phy_device(struct phy_device *phydev)
{}

static int bcm8727_match_phy_device(struct phy_device *phydev)
{}

static struct phy_driver bcm87xx_driver[] =;

module_phy_driver(bcm87xx_driver);

MODULE_LICENSE();
MODULE_DESCRIPTION();