Analog Devices ADG792A/G is a triple 4:1 mux. Acked-by: Jonathan Cameron <jic23@kernel.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Peter Rosin <peda@axentia.se> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>tirimbino
parent
ac8498f0ce
commit
f6689802eb
@ -0,0 +1,75 @@ |
||||
Bindings for Analog Devices ADG792A/G Triple 4:1 Multiplexers |
||||
|
||||
Required properties: |
||||
- compatible : "adi,adg792a" or "adi,adg792g" |
||||
- #mux-control-cells : <0> if parallel (the three muxes are bound together |
||||
with a single mux controller controlling all three muxes), or <1> if |
||||
not (one mux controller for each mux). |
||||
* Standard mux-controller bindings as described in mux-controller.txt |
||||
|
||||
Optional properties for ADG792G: |
||||
- gpio-controller : if present, #gpio-cells below is required. |
||||
- #gpio-cells : should be <2> |
||||
- First cell is the GPO line number, i.e. 0 or 1 |
||||
- Second cell is used to specify active high (0) |
||||
or active low (1) |
||||
|
||||
Optional properties: |
||||
- idle-state : if present, array of states that the mux controllers will have |
||||
when idle. The special state MUX_IDLE_AS_IS is the default and |
||||
MUX_IDLE_DISCONNECT is also supported. |
||||
|
||||
States 0 through 3 correspond to signals A through D in the datasheet. |
||||
|
||||
Example: |
||||
|
||||
/* |
||||
* Three independent mux controllers (of which one is used). |
||||
* Mux 0 is disconnected when idle, mux 1 idles in the previously |
||||
* selected state and mux 2 idles with signal B. |
||||
*/ |
||||
&i2c0 { |
||||
mux: mux-controller@50 { |
||||
compatible = "adi,adg792a"; |
||||
reg = <0x50>; |
||||
#mux-control-cells = <1>; |
||||
|
||||
idle-state = <MUX_IDLE_DISCONNECT MUX_IDLE_AS_IS 1>; |
||||
}; |
||||
}; |
||||
|
||||
adc-mux { |
||||
compatible = "io-channel-mux"; |
||||
io-channels = <&adc 0>; |
||||
io-channel-names = "parent"; |
||||
|
||||
mux-controls = <&mux 2>; |
||||
|
||||
channels = "sync-1", "", "out"; |
||||
}; |
||||
|
||||
|
||||
/* |
||||
* Three parallel muxes with one mux controller, useful e.g. if |
||||
* the adc is differential, thus needing two signals to be muxed |
||||
* simultaneously for correct operation. |
||||
*/ |
||||
&i2c0 { |
||||
pmux: mux-controller@50 { |
||||
compatible = "adi,adg792a"; |
||||
reg = <0x50>; |
||||
#mux-control-cells = <0>; |
||||
|
||||
idle-state = <1>; |
||||
}; |
||||
}; |
||||
|
||||
diff-adc-mux { |
||||
compatible = "io-channel-mux"; |
||||
io-channels = <&adc 0>; |
||||
io-channel-names = "parent"; |
||||
|
||||
mux-controls = <&pmux>; |
||||
|
||||
channels = "sync-1", "", "out"; |
||||
}; |
Loading…
Reference in new issue