phy-bindings.txt (1884B)
1This document explains only the device tree data binding. For general 2information about PHY subsystem refer to Documentation/driver-api/phy/phy.rst 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 13Optional Properties: 14phy-supply: Phandle to a regulator that provides power to the PHY. This 15 regulator will be managed during the PHY power on/off sequence. 16 17For example: 18 19phys: phy { 20 compatible = "xxx"; 21 reg = <...>; 22 . 23 . 24 #phy-cells = <1>; 25 . 26 . 27}; 28 29That node describes an IP block (PHY provider) that implements 2 different PHYs. 30In order to differentiate between these 2 PHYs, an additional specifier should be 31given while trying to get a reference to it. 32 33PHY user node 34============= 35 36Required Properties: 37phys : the phandle for the PHY device (used by the PHY subsystem; not to be 38 confused with the Ethernet specific 'phy' and 'phy-handle' properties, 39 see Documentation/devicetree/bindings/net/ethernet.txt for these) 40phy-names : the names of the PHY corresponding to the PHYs present in the 41 *phys* phandle 42 43Example 1: 44usb1: usb_otg_ss@xxx { 45 compatible = "xxx"; 46 reg = <xxx>; 47 . 48 . 49 phys = <&usb2_phy>, <&usb3_phy>; 50 phy-names = "usb2phy", "usb3phy"; 51 . 52 . 53}; 54 55This node represents a controller that uses two PHYs, one for usb2 and one for 56usb3. 57 58Example 2: 59usb2: usb_otg_ss@xxx { 60 compatible = "xxx"; 61 reg = <xxx>; 62 . 63 . 64 phys = <&phys 1>; 65 phy-names = "usbphy"; 66 . 67 . 68}; 69 70This node represents a controller that uses one of the PHYs of the PHY provider 71device defined previously. Note that the phy handle has an additional specifier 72"1" to differentiate between the two PHYs.