linux/drivers/net/phy/intel-xway.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright (C) 2012 Daniel Schwierzeck <[email protected]>
 * Copyright (C) 2016 Hauke Mehrtens <[email protected]>
 */

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

#define XWAY_MDIO_MIICTRL
#define XWAY_MDIO_IMASK
#define XWAY_MDIO_ISTAT
#define XWAY_MDIO_LED

#define XWAY_MDIO_MIICTRL_RXSKEW_MASK
#define XWAY_MDIO_MIICTRL_TXSKEW_MASK

/* bit 15:12 are reserved */
#define XWAY_MDIO_LED_LED3_EN
#define XWAY_MDIO_LED_LED2_EN
#define XWAY_MDIO_LED_LED1_EN
#define XWAY_MDIO_LED_LED0_EN
/* bit 7:4 are reserved */
#define XWAY_MDIO_LED_LED3_DA
#define XWAY_MDIO_LED_LED2_DA
#define XWAY_MDIO_LED_LED1_DA
#define XWAY_MDIO_LED_LED0_DA

#define XWAY_MDIO_INIT_WOL
#define XWAY_MDIO_INIT_MSRE
#define XWAY_MDIO_INIT_NPRX
#define XWAY_MDIO_INIT_NPTX
#define XWAY_MDIO_INIT_ANE
#define XWAY_MDIO_INIT_ANC
#define XWAY_MDIO_INIT_ADSC
#define XWAY_MDIO_INIT_MPIPC
#define XWAY_MDIO_INIT_MDIXC
#define XWAY_MDIO_INIT_DXMC
#define XWAY_MDIO_INIT_LSPC
#define XWAY_MDIO_INIT_LSTC
#define XWAY_MDIO_INIT_MASK

#define ADVERTISED_MPD

/* LED Configuration */
#define XWAY_MMD_LEDCH
/* Inverse of SCAN Function */
#define XWAY_MMD_LEDCH_NACS_NONE
#define XWAY_MMD_LEDCH_NACS_LINK
#define XWAY_MMD_LEDCH_NACS_PDOWN
#define XWAY_MMD_LEDCH_NACS_EEE
#define XWAY_MMD_LEDCH_NACS_ANEG
#define XWAY_MMD_LEDCH_NACS_ABIST
#define XWAY_MMD_LEDCH_NACS_CDIAG
#define XWAY_MMD_LEDCH_NACS_TEST
/* Slow Blink Frequency */
#define XWAY_MMD_LEDCH_SBF_F02HZ
#define XWAY_MMD_LEDCH_SBF_F04HZ
#define XWAY_MMD_LEDCH_SBF_F08HZ
#define XWAY_MMD_LEDCH_SBF_F16HZ
/* Fast Blink Frequency */
#define XWAY_MMD_LEDCH_FBF_F02HZ
#define XWAY_MMD_LEDCH_FBF_F04HZ
#define XWAY_MMD_LEDCH_FBF_F08HZ
#define XWAY_MMD_LEDCH_FBF_F16HZ
/* LED Configuration */
#define XWAY_MMD_LEDCL
/* Complex Blinking Configuration */
#define XWAY_MMD_LEDCH_CBLINK_NONE
#define XWAY_MMD_LEDCH_CBLINK_LINK
#define XWAY_MMD_LEDCH_CBLINK_PDOWN
#define XWAY_MMD_LEDCH_CBLINK_EEE
#define XWAY_MMD_LEDCH_CBLINK_ANEG
#define XWAY_MMD_LEDCH_CBLINK_ABIST
#define XWAY_MMD_LEDCH_CBLINK_CDIAG
#define XWAY_MMD_LEDCH_CBLINK_TEST
/* Complex SCAN Configuration */
#define XWAY_MMD_LEDCH_SCAN_NONE
#define XWAY_MMD_LEDCH_SCAN_LINK
#define XWAY_MMD_LEDCH_SCAN_PDOWN
#define XWAY_MMD_LEDCH_SCAN_EEE
#define XWAY_MMD_LEDCH_SCAN_ANEG
#define XWAY_MMD_LEDCH_SCAN_ABIST
#define XWAY_MMD_LEDCH_SCAN_CDIAG
#define XWAY_MMD_LEDCH_SCAN_TEST
/* Configuration for LED Pin x */
#define XWAY_MMD_LED0H
/* Fast Blinking Configuration */
#define XWAY_MMD_LEDxH_BLINKF_MASK
#define XWAY_MMD_LEDxH_BLINKF_NONE
#define XWAY_MMD_LEDxH_BLINKF_LINK10
#define XWAY_MMD_LEDxH_BLINKF_LINK100
#define XWAY_MMD_LEDxH_BLINKF_LINK10X
#define XWAY_MMD_LEDxH_BLINKF_LINK1000
#define XWAY_MMD_LEDxH_BLINKF_LINK10_0
#define XWAY_MMD_LEDxH_BLINKF_LINK100X
#define XWAY_MMD_LEDxH_BLINKF_LINK10XX
#define XWAY_MMD_LEDxH_BLINKF_PDOWN
#define XWAY_MMD_LEDxH_BLINKF_EEE
#define XWAY_MMD_LEDxH_BLINKF_ANEG
#define XWAY_MMD_LEDxH_BLINKF_ABIST
#define XWAY_MMD_LEDxH_BLINKF_CDIAG
/* Constant On Configuration */
#define XWAY_MMD_LEDxH_CON_MASK
#define XWAY_MMD_LEDxH_CON_NONE
#define XWAY_MMD_LEDxH_CON_LINK10
#define XWAY_MMD_LEDxH_CON_LINK100
#define XWAY_MMD_LEDxH_CON_LINK10X
#define XWAY_MMD_LEDxH_CON_LINK1000
#define XWAY_MMD_LEDxH_CON_LINK10_0
#define XWAY_MMD_LEDxH_CON_LINK100X
#define XWAY_MMD_LEDxH_CON_LINK10XX
#define XWAY_MMD_LEDxH_CON_PDOWN
#define XWAY_MMD_LEDxH_CON_EEE
#define XWAY_MMD_LEDxH_CON_ANEG
#define XWAY_MMD_LEDxH_CON_ABIST
#define XWAY_MMD_LEDxH_CON_CDIAG
#define XWAY_MMD_LEDxH_CON_COPPER
#define XWAY_MMD_LEDxH_CON_FIBER
/* Configuration for LED Pin x */
#define XWAY_MMD_LED0L
/* Pulsing Configuration */
#define XWAY_MMD_LEDxL_PULSE_MASK
#define XWAY_MMD_LEDxL_PULSE_NONE
#define XWAY_MMD_LEDxL_PULSE_TXACT
#define XWAY_MMD_LEDxL_PULSE_RXACT
#define XWAY_MMD_LEDxL_PULSE_COL
/* Slow Blinking Configuration */
#define XWAY_MMD_LEDxL_BLINKS_MASK
#define XWAY_MMD_LEDxL_BLINKS_NONE
#define XWAY_MMD_LEDxL_BLINKS_LINK10
#define XWAY_MMD_LEDxL_BLINKS_LINK100
#define XWAY_MMD_LEDxL_BLINKS_LINK10X
#define XWAY_MMD_LEDxL_BLINKS_LINK1000
#define XWAY_MMD_LEDxL_BLINKS_LINK10_0
#define XWAY_MMD_LEDxL_BLINKS_LINK100X
#define XWAY_MMD_LEDxL_BLINKS_LINK10XX
#define XWAY_MMD_LEDxL_BLINKS_PDOWN
#define XWAY_MMD_LEDxL_BLINKS_EEE
#define XWAY_MMD_LEDxL_BLINKS_ANEG
#define XWAY_MMD_LEDxL_BLINKS_ABIST
#define XWAY_MMD_LEDxL_BLINKS_CDIAG
#define XWAY_MMD_LED1H
#define XWAY_MMD_LED1L
#define XWAY_MMD_LED2H
#define XWAY_MMD_LED2L
#define XWAY_MMD_LED3H
#define XWAY_MMD_LED3L

#define PHY_ID_PHY11G_1_3
#define PHY_ID_PHY22F_1_3
#define PHY_ID_PHY11G_1_4
#define PHY_ID_PHY22F_1_4
#define PHY_ID_PHY11G_1_5
#define PHY_ID_PHY22F_1_5
#define PHY_ID_PHY11G_VR9_1_1
#define PHY_ID_PHY22F_VR9_1_1
#define PHY_ID_PHY11G_VR9_1_2
#define PHY_ID_PHY22F_VR9_1_2

static const int xway_internal_delay[] =;

static int xway_gphy_rgmii_init(struct phy_device *phydev)
{}

static int xway_gphy_config_init(struct phy_device *phydev)
{}

static int xway_gphy14_config_aneg(struct phy_device *phydev)
{}

static int xway_gphy_ack_interrupt(struct phy_device *phydev)
{}

static int xway_gphy_config_intr(struct phy_device *phydev)
{}

static irqreturn_t xway_gphy_handle_interrupt(struct phy_device *phydev)
{}

static struct phy_driver xway_gphy[] =;
module_phy_driver(xway_gphy);

static struct mdio_device_id __maybe_unused xway_gphy_tbl[] =;
MODULE_DEVICE_TABLE(mdio, xway_gphy_tbl);

MODULE_DESCRIPTION();
MODULE_LICENSE();