linux/drivers/phy/cadence/cdns-dphy-rx.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
 */

#include <linux/bitfield.h>
#include <linux/bitops.h>
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/phy/phy.h>
#include <linux/phy/phy-mipi-dphy.h>
#include <linux/platform_device.h>
#include <linux/sys_soc.h>

#define DPHY_PMA_CMN(reg)
#define DPHY_PCS(reg)
#define DPHY_ISO(reg)
#define DPHY_WRAP(reg)

#define DPHY_CMN_SSM
#define DPHY_CMN_RX_MODE_EN
#define DPHY_CMN_RX_BANDGAP_TIMER_MASK
#define DPHY_CMN_SSM_EN

#define DPHY_CMN_RX_BANDGAP_TIMER

#define DPHY_BAND_CFG
#define DPHY_BAND_CFG_RIGHT_BAND
#define DPHY_BAND_CFG_LEFT_BAND

#define DPHY_POWER_ISLAND_EN_DATA
#define DPHY_POWER_ISLAND_EN_DATA_VAL

#define DPHY_POWER_ISLAND_EN_CLK
#define DPHY_POWER_ISLAND_EN_CLK_VAL

#define DPHY_LANE
#define DPHY_LANE_RESET_CMN_EN

#define DPHY_ISO_CL_CTRL_L
#define DPHY_ISO_DL_CTRL_L0
#define DPHY_ISO_DL_CTRL_L1
#define DPHY_ISO_DL_CTRL_L2
#define DPHY_ISO_DL_CTRL_L3

#define DPHY_ISO_LANE_READY_BIT
#define DPHY_ISO_LANE_READY_TIMEOUT_MS

#define DPHY_LANES_MIN
#define DPHY_LANES_MAX

struct cdns_dphy_rx {};

struct cdns_dphy_rx_band {};

struct cdns_dphy_soc_data {};

/* Order of bands is important since the index is the band number. */
static const struct cdns_dphy_rx_band bands[] =;

static int cdns_dphy_rx_power_on(struct phy *phy)
{}

static int cdns_dphy_rx_power_off(struct phy *phy)
{}

static int cdns_dphy_rx_get_band_ctrl(unsigned long hs_clk_rate)
{}

static inline int cdns_dphy_rx_wait_for_bit(void __iomem *addr,
					    unsigned int bit)
{}

static int cdns_dphy_rx_wait_lane_ready(struct cdns_dphy_rx *dphy,
					unsigned int lanes)
{}

static struct cdns_dphy_soc_data j721e_soc_data =;

static const struct soc_device_attribute cdns_dphy_socinfo[] =;

static int cdns_dphy_rx_configure(struct phy *phy,
				  union phy_configure_opts *opts)
{}

static int cdns_dphy_rx_validate(struct phy *phy, enum phy_mode mode,
				 int submode, union phy_configure_opts *opts)
{}

static const struct phy_ops cdns_dphy_rx_ops =;

static int cdns_dphy_rx_probe(struct platform_device *pdev)
{}

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

static struct platform_driver cdns_dphy_rx_platform_driver =;
module_platform_driver();

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