linux/drivers/phy/socionext/phy-uniphier-ahci.c

// SPDX-License-Identifier: GPL-2.0
/*
 * phy-uniphier-ahci.c - PHY driver for UniPhier AHCI controller
 * Copyright 2016-2020, Socionext Inc.
 * Author: Kunihiko Hayashi <[email protected]>
 */

#include <linux/bitfield.h>
#include <linux/bitops.h>
#include <linux/clk.h>
#include <linux/iopoll.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_platform.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
#include <linux/reset.h>

struct uniphier_ahciphy_priv {};

struct uniphier_ahciphy_soc_data {};

/* for Pro4 */
#define CKCTRL0
#define CKCTRL0_CK_OFF
#define CKCTRL0_NCY_MASK
#define CKCTRL0_NCY5_MASK
#define CKCTRL0_PRESCALE_MASK
#define CKCTRL1
#define CKCTRL1_LOS_LVL_MASK
#define CKCTRL1_TX_LVL_MASK
#define RXTXCTRL
#define RXTXCTRL_RX_EQ_VALL_MASK
#define RXTXCTRL_RX_DPLL_MODE_MASK
#define RXTXCTRL_TX_ATTEN_MASK
#define RXTXCTRL_TX_BOOST_MASK
#define RXTXCTRL_TX_EDGERATE_MASK
#define RXTXCTRL_TX_CKO_EN
#define RSTPWR
#define RSTPWR_RX_EN_VAL

/* for PXs2/PXs3 */
#define CKCTRL
#define CKCTRL_P0_READY
#define CKCTRL_P0_RESET
#define CKCTRL_REF_SSP_EN
#define TXCTRL0
#define TXCTRL0_AMP_G3_MASK
#define TXCTRL0_AMP_G2_MASK
#define TXCTRL0_AMP_G1_MASK
#define TXCTRL1
#define TXCTRL1_DEEMPH_G3_MASK
#define TXCTRL1_DEEMPH_G2_MASK
#define TXCTRL1_DEEMPH_G1_MASK
#define RXCTRL
#define RXCTRL_LOS_LVL_MASK
#define RXCTRL_LOS_BIAS_MASK
#define RXCTRL_RX_EQ_MASK

static int uniphier_ahciphy_pro4_init(struct uniphier_ahciphy_priv *priv)
{}

static int uniphier_ahciphy_pro4_power_on(struct uniphier_ahciphy_priv *priv)
{}

static int uniphier_ahciphy_pro4_power_off(struct uniphier_ahciphy_priv *priv)
{}

static void uniphier_ahciphy_pxs2_enable(struct uniphier_ahciphy_priv *priv,
					 bool enable)
{}

static int uniphier_ahciphy_pxs2_power_on(struct uniphier_ahciphy_priv *priv)
{}

static int uniphier_ahciphy_pxs2_power_off(struct uniphier_ahciphy_priv *priv)
{}

static int uniphier_ahciphy_pxs3_init(struct uniphier_ahciphy_priv *priv)
{}

static int uniphier_ahciphy_init(struct phy *phy)
{}

static int uniphier_ahciphy_exit(struct phy *phy)
{}

static int uniphier_ahciphy_power_on(struct phy *phy)
{}

static int uniphier_ahciphy_power_off(struct phy *phy)
{}

static const struct phy_ops uniphier_ahciphy_ops =;

static int uniphier_ahciphy_probe(struct platform_device *pdev)
{}

static const struct uniphier_ahciphy_soc_data uniphier_pro4_data =;

static const struct uniphier_ahciphy_soc_data uniphier_pxs2_data =;

static const struct uniphier_ahciphy_soc_data uniphier_pxs3_data =;

static const struct of_device_id uniphier_ahciphy_match[] =;
MODULE_DEVICE_TABLE(of, uniphier_ahciphy_match);

static struct platform_driver uniphier_ahciphy_driver =;
module_platform_driver();

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