xref: /linux/Documentation/devicetree/bindings/phy/phy-bindings.txt (revision 24488c392067e948b3b2c6911d6e8b522931714c)
1ff764963SKishon Vijay Abraham IThis document explains only the device tree data binding. For general
2ff764963SKishon Vijay Abraham Iinformation about PHY subsystem refer to Documentation/phy.txt
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.
30*24488c39SHayato 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:
37ff764963SKishon Vijay Abraham Iphys : the phandle for the PHY device (used by the PHY subsystem)
38ff764963SKishon Vijay Abraham Iphy-names : the names of the PHY corresponding to the PHYs present in the
39ff764963SKishon Vijay Abraham I	    *phys* phandle
40ff764963SKishon Vijay Abraham I
41ff764963SKishon Vijay Abraham IExample 1:
42ff764963SKishon Vijay Abraham Iusb1: usb_otg_ss@xxx {
43ff764963SKishon Vijay Abraham I    compatible = "xxx";
44ff764963SKishon Vijay Abraham I    reg = <xxx>;
45ff764963SKishon Vijay Abraham I    .
46ff764963SKishon Vijay Abraham I    .
47ff764963SKishon Vijay Abraham I    phys = <&usb2_phy>, <&usb3_phy>;
48ff764963SKishon Vijay Abraham I    phy-names = "usb2phy", "usb3phy";
49ff764963SKishon Vijay Abraham I    .
50ff764963SKishon Vijay Abraham I    .
51ff764963SKishon Vijay Abraham I};
52ff764963SKishon Vijay Abraham I
53ff764963SKishon Vijay Abraham IThis node represents a controller that uses two PHYs, one for usb2 and one for
54ff764963SKishon Vijay Abraham Iusb3.
55ff764963SKishon Vijay Abraham I
56ff764963SKishon Vijay Abraham IExample 2:
57ff764963SKishon Vijay Abraham Iusb2: usb_otg_ss@xxx {
58ff764963SKishon Vijay Abraham I    compatible = "xxx";
59ff764963SKishon Vijay Abraham I    reg = <xxx>;
60ff764963SKishon Vijay Abraham I    .
61ff764963SKishon Vijay Abraham I    .
62ff764963SKishon Vijay Abraham I    phys = <&phys 1>;
63ff764963SKishon Vijay Abraham I    phy-names = "usbphy";
64ff764963SKishon Vijay Abraham I    .
65ff764963SKishon Vijay Abraham I    .
66ff764963SKishon Vijay Abraham I};
67ff764963SKishon Vijay Abraham I
68ff764963SKishon Vijay Abraham IThis node represents a controller that uses one of the PHYs of the PHY provider
69ff764963SKishon Vijay Abraham Idevice defined previously. Note that the phy handle has an additional specifier
70ff764963SKishon Vijay Abraham I"1" to differentiate between the two PHYs.
71