1This document explains only the device tree data binding. For general 2information about PHY subsystem refer to Documentation/phy.txt 3 4PHY device node 5=============== 6 7Required Properties: 8#phy-cells: Number of cells in a PHY specifier; The meaning of all those 9 cells is defined by the binding for the phy node. The PHY 10 provider can use the values in cells to find the appropriate 11 PHY. 12 13For example: 14 15phys: phy { 16 compatible = "xxx"; 17 reg = <...>; 18 . 19 . 20 #phy-cells = <1>; 21 . 22 . 23}; 24 25That node describes an IP block (PHY provider) that implements 2 different PHYs. 26In order to differentiate between these 2 PHYs, an additonal specifier should be 27given while trying to get a reference to it. 28 29PHY user node 30============= 31 32Required Properties: 33phys : the phandle for the PHY device (used by the PHY subsystem) 34phy-names : the names of the PHY corresponding to the PHYs present in the 35 *phys* phandle 36 37Example 1: 38usb1: usb_otg_ss@xxx { 39 compatible = "xxx"; 40 reg = <xxx>; 41 . 42 . 43 phys = <&usb2_phy>, <&usb3_phy>; 44 phy-names = "usb2phy", "usb3phy"; 45 . 46 . 47}; 48 49This node represents a controller that uses two PHYs, one for usb2 and one for 50usb3. 51 52Example 2: 53usb2: usb_otg_ss@xxx { 54 compatible = "xxx"; 55 reg = <xxx>; 56 . 57 . 58 phys = <&phys 1>; 59 phy-names = "usbphy"; 60 . 61 . 62}; 63 64This node represents a controller that uses one of the PHYs of the PHY provider 65device defined previously. Note that the phy handle has an additional specifier 66"1" to differentiate between the two PHYs. 67