Message ID | 1479340111-1259-5-git-send-email-peda@axentia.se |
---|---|
State | Superseded |
Headers | show |
On 11/17/2016 12:48 AM, Peter Rosin wrote: > --- > .../bindings/iio/multiplexer/iio-mux.txt | 59 ++++++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/multiplexer/iio-mux.txt > > diff --git a/Documentation/devicetree/bindings/iio/multiplexer/iio-mux.txt b/Documentation/devicetree/bindings/iio/multiplexer/iio-mux.txt > new file mode 100644 > index 000000000000..2f5c7fc35a42 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/multiplexer/iio-mux.txt > @@ -0,0 +1,59 @@ > +IIO multiplexer bindings > + > +If a multiplexer is used to select when hardware signal is fed to > +e.g. an ADC channel, these bindings describe that situation. > + > +Required properties: > +- compatible : "iio-mux" > +- io-channels : Channel node of the parent channel that has multiplexed > + input. > +- io-channel-names : Should be "parent". > +- control-muxes : Node of the multiplexer that controls the input signal. > +- control-mux-names : Should be "mux". > +- #address-cells = <1>; > +- #size-cells = <0>; > + > +Required properties for iio-mux child nodes: > +- reg : The multiplexer number. > + > +Optional properties for iio-mux child nodes: > +- iio-ext-info : Array of string pairs, the first item in each pair is the > + iio ext_info attribute name, and the second item in each > + pair is the iio ext_info value for that attribute. The > + mux will write these ext_info values to the corresponding > + ext_info attributes on every multiplexer switch. This can't go into the devicetree in its current form as it exposes implementation details of the Linux kernel drivers. -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/iio/multiplexer/iio-mux.txt b/Documentation/devicetree/bindings/iio/multiplexer/iio-mux.txt new file mode 100644 index 000000000000..2f5c7fc35a42 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/multiplexer/iio-mux.txt @@ -0,0 +1,59 @@ +IIO multiplexer bindings + +If a multiplexer is used to select when hardware signal is fed to +e.g. an ADC channel, these bindings describe that situation. + +Required properties: +- compatible : "iio-mux" +- io-channels : Channel node of the parent channel that has multiplexed + input. +- io-channel-names : Should be "parent". +- control-muxes : Node of the multiplexer that controls the input signal. +- control-mux-names : Should be "mux". +- #address-cells = <1>; +- #size-cells = <0>; + +Required properties for iio-mux child nodes: +- reg : The multiplexer number. + +Optional properties for iio-mux child nodes: +- iio-ext-info : Array of string pairs, the first item in each pair is the + iio ext_info attribute name, and the second item in each + pair is the iio ext_info value for that attribute. The + mux will write these ext_info values to the corresponding + ext_info attributes on every multiplexer switch. + +Example: + control_adc_mux: control-adc-mux { + compatible = "mux-gpio"; + + mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>, + <&pioA 1 GPIO_ACTIVE_HIGH>; + }; + + adc-mux { + compatible = "iio-mux"; + io-channels = <&adc 0>; + io-channel-names = "parent"; + + control-muxes = <&control_adc_mux>; + control-mux-names = "mux"; + + #address-cells = <1>; + #size-cells = <0>; + + sync@0 { + reg = <0>; + iio-ext-info = "invert", "1"; + }; + + in@1 { + reg = <1>; + iio-ext-info = "invert", "1"; + }; + + system-regulator@2 { + reg = <2>; + iio-ext-info = "invert", "0"; + }; + };