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 binding is derived from clock bindings, and based on suggestions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) from Lars-Peter Clausen [1].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) Sources of IIO channels can be represented by any node in the device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) tree. Those nodes are designated as IIO providers. IIO consumer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) nodes use a phandle and IIO specifier pair to connect IIO provider
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) outputs to IIO inputs. Similar to the gpio specifiers, an IIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) specifier is an array of one or more cells identifying the IIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) output on a device. The length of an IIO specifier is defined by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) value of a #io-channel-cells property in the IIO provider node.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) [1] https://marc.info/?l=linux-iio&m=135902119507483&w=2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) ==IIO providers==
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) #io-channel-cells: Number of cells in an IIO specifier; Typically 0 for nodes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 		   with a single IIO output and 1 for nodes with multiple
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 		   IIO outputs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) label:		   A symbolic name for the device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) Example for a simple configuration with no trigger:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 	adc: voltage-sensor@35 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 		compatible = "maxim,max1139";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 		reg = <0x35>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 		#io-channel-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 		label = "voltage_feedback_group1";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) Example for a configuration with trigger:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	adc@35 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 		compatible = "some-vendor,some-adc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 		reg = <0x35>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) 		adc1: iio-device@0 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 			#io-channel-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 			/* other properties */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 		};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 		adc2: iio-device@1 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 			#io-channel-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 			/* other properties */
^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) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) ==IIO consumers==
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) io-channels:	List of phandle and IIO specifier pairs, one pair
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 		for each IIO input to the device. Note: if the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 		IIO provider specifies '0' for #io-channel-cells,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 		then only the phandle portion of the pair will appear.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) io-channel-names:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 		List of IIO input name strings sorted in the same
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 		order as the io-channels property. Consumers drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 		will use io-channel-names to match IIO input names
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 		with IIO specifiers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) io-channel-ranges:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 		Empty property indicating that child nodes can inherit named
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 		IIO channels from this node. Useful for bus nodes to provide
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 		and IIO channel to their children.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) For example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	device {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 		io-channels = <&adc 1>, <&ref 0>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 		io-channel-names = "vcc", "vdd";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) This represents a device with two IIO inputs, named "vcc" and "vdd".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) The vcc channel is connected to output 1 of the &adc device, and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) vdd channel is connected to output 0 of the &ref device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) ==Example==
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	adc: max1139@35 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 		compatible = "maxim,max1139";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 		reg = <0x35>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 		#io-channel-cells = <1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	iio-hwmon {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 		compatible = "iio-hwmon";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 		io-channels = <&adc 0>, <&adc 1>, <&adc 2>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 			<&adc 3>, <&adc 4>, <&adc 5>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 			<&adc 6>, <&adc 7>, <&adc 8>,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 			<&adc 9>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	};
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	some_consumer {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 		compatible = "some-consumer";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) 		io-channels = <&adc 10>, <&adc 11>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 		io-channel-names = "adc1", "adc2";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	};