Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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