phy: add a NO-OP phy driver

This driver is used to stub PHY operations in a driver (USB, SATA).
This is useful when the 'client' driver (USB, SATA, ...) uses the PHY
framework and there is no actual PHY harwdare to drive.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
master
Jean-Jacques Hiblot 7 years ago committed by Marek Vasut
parent 2080d023d9
commit 3b63db37ad
  1. 16
      Documentation/devicetree/bindings/phy/no-op.txt
  2. 18
      drivers/phy/Kconfig
  3. 1
      drivers/phy/Makefile
  4. 26
      drivers/phy/nop-phy.c

@ -0,0 +1,16 @@
NOP PHY driver
This driver is used to stub PHY operations in a driver (USB, SATA).
This is useful when the 'client' driver (USB, SATA, ...) uses the PHY framework
and there is no actual PHY harwdare to drive.
Required properties:
- compatible : must contain "nop-phy"
- #phy-cells : must contain <0>
Example:
nop_phy {
compatible = "nop-phy";
#phy-cells = <0>;
};

@ -41,6 +41,24 @@ config PHY_SANDBOX
This select a dummy sandbox PHY driver. It used only to implement
the unit tests for the phy framework
config NOP_PHY
bool "NOP PHY driver"
depends on PHY
help
Support for a no-op PHY driver (stubbed PHY driver).
This is useful when a driver uses the PHY framework but no real PHY
hardware exists.
config SPL_NOP_PHY
bool "NOP PHY driver in SPL"
depends on SPL_PHY
help
Support for a no-op PHY driver (stubbed PHY driver) in the SPL.
This is useful when a driver uses the PHY framework but no real PHY
hardware exists.
config PIPE3_PHY
bool "Support omap's PIPE3 PHY"
depends on PHY && ARCH_OMAP2PLUS

@ -6,5 +6,6 @@
#
obj-$(CONFIG_$(SPL_)PHY) += phy-uclass.o
obj-$(CONFIG_$(SPL_)NOP_PHY) += nop-phy.o
obj-$(CONFIG_PHY_SANDBOX) += sandbox-phy.o
obj-$(CONFIG_$(SPL_)PIPE3_PHY) += ti-pipe3-phy.o

@ -0,0 +1,26 @@
/*
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
* Written by Jean-Jacques Hiblot <jjhiblot@ti.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <dm.h>
#include <dm/device.h>
#include <generic-phy.h>
static const struct udevice_id nop_phy_ids[] = {
{ .compatible = "nop-phy" },
{ }
};
static struct phy_ops nop_phy_ops = {
};
U_BOOT_DRIVER(nop_phy) = {
.name = "nop_phy",
.id = UCLASS_PHY,
.of_match = nop_phy_ids,
.ops = &nop_phy_ops,
};
Loading…
Cancel
Save