linux/drivers/phy/marvell/phy-mvebu-cp110-utmi.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2021 Marvell
 *
 * Authors:
 *   Konstantin Porotchkin <[email protected]>
 *
 * Marvell CP110 UTMI PHY driver
 */

#include <linux/io.h>
#include <linux/iopoll.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/regmap.h>
#include <linux/usb/of.h>
#include <linux/usb/otg.h>

#define UTMI_PHY_PORTS

/* CP110 UTMI register macro definetions */
#define SYSCON_USB_CFG_REG
#define USB_CFG_DEVICE_EN_MASK
#define USB_CFG_DEVICE_MUX_OFFSET
#define USB_CFG_DEVICE_MUX_MASK
#define USB_CFG_PLL_MASK

#define SYSCON_UTMI_CFG_REG(id)
#define UTMI_PHY_CFG_PU_MASK

#define UTMI_PLL_CTRL_REG
#define PLL_REFDIV_OFFSET
#define PLL_REFDIV_MASK
#define PLL_REFDIV_VAL
#define PLL_FBDIV_OFFSET
#define PLL_FBDIV_MASK
#define PLL_FBDIV_VAL
#define PLL_SEL_LPFR_MASK
#define PLL_RDY
#define UTMI_CAL_CTRL_REG
#define IMPCAL_VTH_OFFSET
#define IMPCAL_VTH_MASK
#define IMPCAL_VTH_VAL
#define IMPCAL_DONE
#define PLLCAL_DONE
#define UTMI_TX_CH_CTRL_REG
#define DRV_EN_LS_OFFSET
#define DRV_EN_LS_MASK
#define IMP_SEL_LS_OFFSET
#define IMP_SEL_LS_MASK
#define TX_AMP_OFFSET
#define TX_AMP_MASK
#define TX_AMP_VAL
#define UTMI_RX_CH_CTRL0_REG
#define SQ_DET_EN
#define SQ_ANA_DTC_SEL
#define UTMI_RX_CH_CTRL1_REG
#define SQ_AMP_CAL_OFFSET
#define SQ_AMP_CAL_MASK
#define SQ_AMP_CAL_VAL
#define SQ_AMP_CAL_EN
#define UTMI_CTRL_STATUS0_REG
#define SUSPENDM
#define TEST_SEL
#define UTMI_CHGDTC_CTRL_REG
#define VDAT_OFFSET
#define VDAT_MASK
#define VDAT_VAL
#define VSRC_OFFSET
#define VSRC_MASK
#define VSRC_VAL

#define PLL_LOCK_DELAY_US
#define PLL_LOCK_TIMEOUT_US

#define PORT_REGS(p)

/**
 * struct mvebu_cp110_utmi - PHY driver data
 *
 * @regs: PHY registers
 * @syscon: Regmap with system controller registers
 * @dev: device driver handle
 * @ops: phy ops
 */
struct mvebu_cp110_utmi {};

/**
 * struct mvebu_cp110_utmi_port - PHY port data
 *
 * @priv: PHY driver data
 * @id: PHY port ID
 * @dr_mode: PHY connection: USB_DR_MODE_HOST or USB_DR_MODE_PERIPHERAL
 */
struct mvebu_cp110_utmi_port {};

static void mvebu_cp110_utmi_port_setup(struct mvebu_cp110_utmi_port *port)
{}

static int mvebu_cp110_utmi_phy_power_off(struct phy *phy)
{}

static int mvebu_cp110_utmi_phy_power_on(struct phy *phy)
{}

static const struct phy_ops mvebu_cp110_utmi_phy_ops =;

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

static int mvebu_cp110_utmi_phy_probe(struct platform_device *pdev)
{}

static struct platform_driver mvebu_cp110_utmi_driver =;
module_platform_driver();

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