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