forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.9 KiB
75 lines
1.9 KiB
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.yaml |
|
|
|
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"; |
|
};
|
|
|