xref: /linux/Documentation/devicetree/bindings/phy/phy-bindings.txt (revision 4745dc8abb0a0a9851c07265eea01d844886d5c8)
1ff764963SKishon Vijay Abraham IThis document explains only the device tree data binding. For general
2*4745dc8aSMauro Carvalho Chehabinformation about PHY subsystem refer to Documentation/driver-api/phy/phy.rst
3ff764963SKishon Vijay Abraham I
4ff764963SKishon Vijay Abraham IPHY device node
5ff764963SKishon Vijay Abraham I===============
6ff764963SKishon Vijay Abraham I
7ff764963SKishon Vijay Abraham IRequired Properties:
8ff764963SKishon Vijay Abraham I#phy-cells:	Number of cells in a PHY specifier;  The meaning of all those
9ff764963SKishon Vijay Abraham I		cells is defined by the binding for the phy node. The PHY
10ff764963SKishon Vijay Abraham I		provider can use the values in cells to find the appropriate
11ff764963SKishon Vijay Abraham I		PHY.
12ff764963SKishon Vijay Abraham I
13e9e8cf49SRoger QuadrosOptional Properties:
14e9e8cf49SRoger Quadrosphy-supply:	Phandle to a regulator that provides power to the PHY. This
15e9e8cf49SRoger Quadros		regulator will be managed during the PHY power on/off sequence.
16e9e8cf49SRoger Quadros
17ff764963SKishon Vijay Abraham IFor example:
18ff764963SKishon Vijay Abraham I
19ff764963SKishon Vijay Abraham Iphys: phy {
20ff764963SKishon Vijay Abraham I    compatible = "xxx";
21ff764963SKishon Vijay Abraham I    reg = <...>;
22ff764963SKishon Vijay Abraham I    .
23ff764963SKishon Vijay Abraham I    .
24ff764963SKishon Vijay Abraham I    #phy-cells = <1>;
25ff764963SKishon Vijay Abraham I    .
26ff764963SKishon Vijay Abraham I    .
27ff764963SKishon Vijay Abraham I};
28ff764963SKishon Vijay Abraham I
29ff764963SKishon Vijay Abraham IThat node describes an IP block (PHY provider) that implements 2 different PHYs.
3024488c39SHayato SuzukiIn order to differentiate between these 2 PHYs, an additional specifier should be
31ff764963SKishon Vijay Abraham Igiven while trying to get a reference to it.
32ff764963SKishon Vijay Abraham I
33ff764963SKishon Vijay Abraham IPHY user node
34ff764963SKishon Vijay Abraham I=============
35ff764963SKishon Vijay Abraham I
36ff764963SKishon Vijay Abraham IRequired Properties:
379a94b3a4SBaruch Siachphys : the phandle for the PHY device (used by the PHY subsystem; not to be
389a94b3a4SBaruch Siach       confused with the Ethernet specific 'phy' and 'phy-handle' properties,
399a94b3a4SBaruch Siach       see Documentation/devicetree/bindings/net/ethernet.txt for these)
40ff764963SKishon Vijay Abraham Iphy-names : the names of the PHY corresponding to the PHYs present in the
41ff764963SKishon Vijay Abraham I	    *phys* phandle
42ff764963SKishon Vijay Abraham I
43ff764963SKishon Vijay Abraham IExample 1:
44ff764963SKishon Vijay Abraham Iusb1: usb_otg_ss@xxx {
45ff764963SKishon Vijay Abraham I    compatible = "xxx";
46ff764963SKishon Vijay Abraham I    reg = <xxx>;
47ff764963SKishon Vijay Abraham I    .
48ff764963SKishon Vijay Abraham I    .
49ff764963SKishon Vijay Abraham I    phys = <&usb2_phy>, <&usb3_phy>;
50ff764963SKishon Vijay Abraham I    phy-names = "usb2phy", "usb3phy";
51ff764963SKishon Vijay Abraham I    .
52ff764963SKishon Vijay Abraham I    .
53ff764963SKishon Vijay Abraham I};
54ff764963SKishon Vijay Abraham I
55ff764963SKishon Vijay Abraham IThis node represents a controller that uses two PHYs, one for usb2 and one for
56ff764963SKishon Vijay Abraham Iusb3.
57ff764963SKishon Vijay Abraham I
58ff764963SKishon Vijay Abraham IExample 2:
59ff764963SKishon Vijay Abraham Iusb2: usb_otg_ss@xxx {
60ff764963SKishon Vijay Abraham I    compatible = "xxx";
61ff764963SKishon Vijay Abraham I    reg = <xxx>;
62ff764963SKishon Vijay Abraham I    .
63ff764963SKishon Vijay Abraham I    .
64ff764963SKishon Vijay Abraham I    phys = <&phys 1>;
65ff764963SKishon Vijay Abraham I    phy-names = "usbphy";
66ff764963SKishon Vijay Abraham I    .
67ff764963SKishon Vijay Abraham I    .
68ff764963SKishon Vijay Abraham I};
69ff764963SKishon Vijay Abraham I
70ff764963SKishon Vijay Abraham IThis node represents a controller that uses one of the PHYs of the PHY provider
71ff764963SKishon Vijay Abraham Idevice defined previously. Note that the phy handle has an additional specifier
72ff764963SKishon Vijay Abraham I"1" to differentiate between the two PHYs.
73