mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	Change iio_hwmon nodes to use hypen in node names instead of underscore. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
		
			
				
	
	
		
			97 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
This binding is derived from clock bindings, and based on suggestions
 | 
						|
from Lars-Peter Clausen [1].
 | 
						|
 | 
						|
Sources of IIO channels can be represented by any node in the device
 | 
						|
tree. Those nodes are designated as IIO providers. IIO consumer
 | 
						|
nodes use a phandle and IIO specifier pair to connect IIO provider
 | 
						|
outputs to IIO inputs. Similar to the gpio specifiers, an IIO
 | 
						|
specifier is an array of one or more cells identifying the IIO
 | 
						|
output on a device. The length of an IIO specifier is defined by the
 | 
						|
value of a #io-channel-cells property in the IIO provider node.
 | 
						|
 | 
						|
[1] http://marc.info/?l=linux-iio&m=135902119507483&w=2
 | 
						|
 | 
						|
==IIO providers==
 | 
						|
 | 
						|
Required properties:
 | 
						|
#io-channel-cells: Number of cells in an IIO specifier; Typically 0 for nodes
 | 
						|
		   with a single IIO output and 1 for nodes with multiple
 | 
						|
		   IIO outputs.
 | 
						|
 | 
						|
Example for a simple configuration with no trigger:
 | 
						|
 | 
						|
	adc: voltage-sensor@35 {
 | 
						|
		compatible = "maxim,max1139";
 | 
						|
		reg = <0x35>;
 | 
						|
		#io-channel-cells = <1>;
 | 
						|
	};
 | 
						|
 | 
						|
Example for a configuration with trigger:
 | 
						|
 | 
						|
	adc@35 {
 | 
						|
		compatible = "some-vendor,some-adc";
 | 
						|
		reg = <0x35>;
 | 
						|
 | 
						|
		adc1: iio-device@0 {
 | 
						|
			#io-channel-cells = <1>;
 | 
						|
			/* other properties */
 | 
						|
		};
 | 
						|
		adc2: iio-device@1 {
 | 
						|
			#io-channel-cells = <1>;
 | 
						|
			/* other properties */
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
==IIO consumers==
 | 
						|
 | 
						|
Required properties:
 | 
						|
io-channels:	List of phandle and IIO specifier pairs, one pair
 | 
						|
		for each IIO input to the device. Note: if the
 | 
						|
		IIO provider specifies '0' for #io-channel-cells,
 | 
						|
		then only the phandle portion of the pair will appear.
 | 
						|
 | 
						|
Optional properties:
 | 
						|
io-channel-names:
 | 
						|
		List of IIO input name strings sorted in the same
 | 
						|
		order as the io-channels property. Consumers drivers
 | 
						|
		will use io-channel-names to match IIO input names
 | 
						|
		with IIO specifiers.
 | 
						|
io-channel-ranges:
 | 
						|
		Empty property indicating that child nodes can inherit named
 | 
						|
		IIO channels from this node. Useful for bus nodes to provide
 | 
						|
		and IIO channel to their children.
 | 
						|
 | 
						|
For example:
 | 
						|
 | 
						|
	device {
 | 
						|
		io-channels = <&adc 1>, <&ref 0>;
 | 
						|
		io-channel-names = "vcc", "vdd";
 | 
						|
	};
 | 
						|
 | 
						|
This represents a device with two IIO inputs, named "vcc" and "vdd".
 | 
						|
The vcc channel is connected to output 1 of the &adc device, and the
 | 
						|
vdd channel is connected to output 0 of the &ref device.
 | 
						|
 | 
						|
==Example==
 | 
						|
 | 
						|
	adc: max1139@35 {
 | 
						|
		compatible = "maxim,max1139";
 | 
						|
		reg = <0x35>;
 | 
						|
		#io-channel-cells = <1>;
 | 
						|
	};
 | 
						|
 | 
						|
	...
 | 
						|
 | 
						|
	iio-hwmon {
 | 
						|
		compatible = "iio-hwmon";
 | 
						|
		io-channels = <&adc 0>, <&adc 1>, <&adc 2>,
 | 
						|
			<&adc 3>, <&adc 4>, <&adc 5>,
 | 
						|
			<&adc 6>, <&adc 7>, <&adc 8>,
 | 
						|
			<&adc 9>;
 | 
						|
	};
 | 
						|
 | 
						|
	some_consumer {
 | 
						|
		compatible = "some-consumer";
 | 
						|
		io-channels = <&adc 10>, <&adc 11>;
 | 
						|
		io-channel-names = "adc1", "adc2";
 | 
						|
	};
 |