#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 { … };
#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 …
#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(…) …;