Skip to content

Commit

Permalink
phy: add a NO-OP phy driver
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
Jean-Jacques Hiblot authored and Marek Vasut committed Jul 28, 2017
1 parent 2080d02 commit 3b63db3
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 0 deletions.
16 changes: 16 additions & 0 deletions Documentation/devicetree/bindings/phy/no-op.txt
Original file line number Diff line number Diff line change
@@ -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>;
};
18 changes: 18 additions & 0 deletions drivers/phy/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions drivers/phy/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
26 changes: 26 additions & 0 deletions drivers/phy/nop-phy.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
* Written by Jean-Jacques Hiblot <[email protected]>
*
* 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,
};

0 comments on commit 3b63db3

Please sign in to comment.