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) Generic USB Device Properties
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) Usually, we only use device tree for hard wired USB device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) The reference binding doc is from:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) http://www.devicetree.org/open-firmware/bindings/usb/usb-1_0.ps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) Four types of device-tree nodes are defined: "host-controller nodes"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) representing USB host controllers, "device nodes" representing USB devices,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) "interface nodes" representing USB interfaces and "combined nodes"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) representing simple USB devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) A combined node shall be used instead of a device node and an interface node
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) for devices of class 0 or 9 (hub) with a single configuration and a single
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) A "hub node" is a combined node or an interface node that represents a USB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) hub.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) Required properties for device nodes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) - compatible: "usbVID,PID", where VID is the vendor id and PID the product id.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)   The textual representation of VID and PID shall be in lower case hexadecimal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23)   with leading zeroes suppressed. The other compatible strings from the above
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)   standard binding could also be used, but a device adhering to this binding
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25)   may leave out all except for "usbVID,PID".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) - reg: the number of the USB hub port or the USB host-controller port to which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)   this device is attached. The range is 1-255.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) Required properties for device nodes with interface nodes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) - #address-cells: shall be 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) - #size-cells: shall be 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) Required properties for interface nodes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) - compatible: "usbifVID,PID.configCN.IN", where VID is the vendor id, PID is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37)   the product id, CN is the configuration value and IN is the interface
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)   number. The textual representation of VID, PID, CN and IN shall be in lower
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)   case hexadecimal with leading zeroes suppressed. The other compatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)   strings from the above standard binding could also be used, but a device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41)   adhering to this binding may leave out all except for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42)   "usbifVID,PID.configCN.IN".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) - reg: the interface number and configuration value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) The configuration component is not included in the textual representation of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) an interface-node unit address for configuration 1.
^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) Required properties for combined nodes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) - compatible: "usbVID,PID", where VID is the vendor id and PID the product id.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)   The textual representation of VID and PID shall be in lower case hexadecimal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52)   with leading zeroes suppressed. The other compatible strings from the above
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)   standard binding could also be used, but a device adhering to this binding
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)   may leave out all except for "usbVID,PID".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) - reg: the number of the USB hub port or the USB host-controller port to which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56)   this device is attached. The range is 1-255.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) Required properties for hub nodes with device nodes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) - #address-cells: shall be 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) - #size-cells: shall be 0
^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) Required properties for host-controller nodes with device nodes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) - #address-cells: shall be 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) - #size-cells: shall be 0
^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) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) &usb1 {	/* host controller */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	#address-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	#size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	hub@1 {		/* hub connected to port 1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 		compatible = "usb5e3,608";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 		reg = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	device@2 {	/* device connected to port 2 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 		compatible = "usb123,4567";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 		reg = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	device@3 { 	/* device connected to port 3 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 		compatible = "usb123,abcd";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 		reg = <3>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 		#address-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 		#size-cells = <0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 		interface@0 {	/* interface 0 of configuration 1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 			compatible = "usbif123,abcd.config1.0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 			reg = <0 1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 		};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 		interface@0,2 {	/* interface 0 of configuration 2 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 			compatible = "usbif123,abcd.config2.0";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 			reg = <0 2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 		};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) };