linux/drivers/phy/broadcom/phy-bcm-ns-usb3.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Broadcom Northstar USB 3.0 PHY Driver
 *
 * Copyright (C) 2016 Rafał Miłecki <[email protected]>
 * Copyright (C) 2016 Broadcom
 *
 * All magic values used for initialization (and related comments) were obtained
 * from Broadcom's SDK:
 * Copyright (c) Broadcom Corp, 2012
 */

#include <linux/bcma/bcma.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/iopoll.h>
#include <linux/mdio.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/platform_device.h>
#include <linux/phy/phy.h>
#include <linux/property.h>
#include <linux/slab.h>

#define BCM_NS_USB3_PHY_BASE_ADDR_REG
#define BCM_NS_USB3_PHY_PLL30_BLOCK
#define BCM_NS_USB3_PHY_TX_PMD_BLOCK
#define BCM_NS_USB3_PHY_PIPE_BLOCK

/* Registers of PLL30 block */
#define BCM_NS_USB3_PLL_CONTROL
#define BCM_NS_USB3_PLLA_CONTROL0
#define BCM_NS_USB3_PLLA_CONTROL1

/* Registers of TX PMD block */
#define BCM_NS_USB3_TX_PMD_CONTROL1

/* Registers of PIPE block */
#define BCM_NS_USB3_LFPS_CMP
#define BCM_NS_USB3_LFPS_DEGLITCH

enum bcm_ns_family {};

struct bcm_ns_usb3 {};

static const struct of_device_id bcm_ns_usb3_id_table[] =;

static int bcm_ns_usb3_mdio_phy_write(struct bcm_ns_usb3 *usb3, u16 reg,
				      u16 value);

static int bcm_ns_usb3_phy_init_ns_bx(struct bcm_ns_usb3 *usb3)
{}

static int bcm_ns_usb3_phy_init_ns_ax(struct bcm_ns_usb3 *usb3)
{}

static int bcm_ns_usb3_phy_init(struct phy *phy)
{}

static const struct phy_ops ops =;

/**************************************************
 * MDIO driver code
 **************************************************/

static int bcm_ns_usb3_mdio_phy_write(struct bcm_ns_usb3 *usb3, u16 reg,
				      u16 value)
{}

static int bcm_ns_usb3_mdio_probe(struct mdio_device *mdiodev)
{}

static struct mdio_driver bcm_ns_usb3_mdio_driver =;

mdio_module_driver(bcm_ns_usb3_mdio_driver);

MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_DEVICE_TABLE(of, bcm_ns_usb3_id_table);