Link: https://lore.kernel.org/r/20260217200002.683975158@linuxfoundation.org Tested-by: Florian Fainelli <florian.fainelli@broadcom.com> Tested-by: Takeshi Ogasawara <takeshi.ogasawara@futuring-girl.com> Tested-by: Peter Schneider <pschneider1968@googlemail.com> Tested-by: Jon Hunter <jonathanh@nvidia.com> Tested-by: Salvatore Bonaccorso <carnil@debian.org> Tested-by: Brett A C Sheffield <bacs@librecast.net> Tested-by: Mark Brown <broonie@kernel.org> Tested-by: Luna Jernberg <droidbittin@gmail.com> Tested-by: Ronald Warsow <rwarsow@gmx.de> Tested-by: Justin M. Forbes <jforbes@fedoraproject.org> Tested-by: Ron Economos <re@w6rz.net> Tested-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
73 lines
1.8 KiB
Plaintext
73 lines
1.8 KiB
Plaintext
This document explains only the device tree data binding. For general
|
|
information about PHY subsystem refer to Documentation/driver-api/phy/phy.rst
|
|
|
|
PHY device node
|
|
===============
|
|
|
|
Required Properties:
|
|
#phy-cells: Number of cells in a PHY specifier; The meaning of all those
|
|
cells is defined by the binding for the phy node. The PHY
|
|
provider can use the values in cells to find the appropriate
|
|
PHY.
|
|
|
|
Optional Properties:
|
|
phy-supply: Phandle to a regulator that provides power to the PHY. This
|
|
regulator will be managed during the PHY power on/off sequence.
|
|
|
|
For example:
|
|
|
|
phys: phy {
|
|
compatible = "xxx";
|
|
reg = <...>;
|
|
.
|
|
.
|
|
#phy-cells = <1>;
|
|
.
|
|
.
|
|
};
|
|
|
|
That node describes an IP block (PHY provider) that implements 2 different PHYs.
|
|
In order to differentiate between these 2 PHYs, an additional specifier should be
|
|
given while trying to get a reference to it.
|
|
|
|
PHY user node
|
|
=============
|
|
|
|
Required Properties:
|
|
phys : the phandle for the PHY device (used by the PHY subsystem; not to be
|
|
confused with the Ethernet specific 'phy' and 'phy-handle' properties,
|
|
see Documentation/devicetree/bindings/net/ethernet.txt for these)
|
|
phy-names : the names of the PHY corresponding to the PHYs present in the
|
|
*phys* phandle
|
|
|
|
Example 1:
|
|
usb1: usb_otg_ss@xxx {
|
|
compatible = "xxx";
|
|
reg = <xxx>;
|
|
.
|
|
.
|
|
phys = <&usb2_phy>, <&usb3_phy>;
|
|
phy-names = "usb2phy", "usb3phy";
|
|
.
|
|
.
|
|
};
|
|
|
|
This node represents a controller that uses two PHYs, one for usb2 and one for
|
|
usb3.
|
|
|
|
Example 2:
|
|
usb2: usb_otg_ss@xxx {
|
|
compatible = "xxx";
|
|
reg = <xxx>;
|
|
.
|
|
.
|
|
phys = <&phys 1>;
|
|
phy-names = "usbphy";
|
|
.
|
|
.
|
|
};
|
|
|
|
This node represents a controller that uses one of the PHYs of the PHY provider
|
|
device defined previously. Note that the phy handle has an additional specifier
|
|
"1" to differentiate between the two PHYs.
|