#include <linux/bitfield.h>
#include <linux/bits.h>
#include <linux/clk.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/phy/phy.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/units.h>
#define REG_SET …
#define REG_CLR …
#define PHY_CTRL …
#define M_MASK …
#define M(n) …
#define CCM_MASK …
#define CCM(n) …
#define CA_MASK …
#define CA(n) …
#define TST_MASK …
#define TST(n) …
#define CH_EN(id) …
#define NB …
#define RFB …
#define PD …
#define CTRL_RESET_VAL …
#define CTRL_INIT_MASK …
#define CTRL_INIT_VAL …
#define PHY_STATUS …
#define LOCK …
#define PHY_NUM …
#define MIN_CLKIN_FREQ …
#define MAX_CLKIN_FREQ …
#define PLL_LOCK_SLEEP …
#define PLL_LOCK_TIMEOUT …
struct mixel_lvds_phy { … };
struct mixel_lvds_phy_priv { … };
static int mixel_lvds_phy_init(struct phy *phy)
{ … }
static int mixel_lvds_phy_power_on(struct phy *phy)
{ … }
static int mixel_lvds_phy_power_off(struct phy *phy)
{ … }
static int mixel_lvds_phy_configure(struct phy *phy,
union phy_configure_opts *opts)
{ … }
static int mixel_lvds_phy_check_slave(struct phy *slave_phy)
{ … }
static int mixel_lvds_phy_validate(struct phy *phy, enum phy_mode mode,
int submode, union phy_configure_opts *opts)
{ … }
static const struct phy_ops mixel_lvds_phy_ops = …;
static int mixel_lvds_phy_reset(struct device *dev)
{ … }
static struct phy *mixel_lvds_phy_xlate(struct device *dev,
const struct of_phandle_args *args)
{ … }
static int mixel_lvds_phy_probe(struct platform_device *pdev)
{ … }
static void mixel_lvds_phy_remove(struct platform_device *pdev)
{ … }
static int __maybe_unused mixel_lvds_phy_runtime_suspend(struct device *dev)
{ … }
static int __maybe_unused mixel_lvds_phy_runtime_resume(struct device *dev)
{ … }
static const struct dev_pm_ops mixel_lvds_phy_pm_ops = …;
static const struct of_device_id mixel_lvds_phy_of_match[] = …;
MODULE_DEVICE_TABLE(of, mixel_lvds_phy_of_match);
static struct platform_driver mixel_lvds_phy_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;