0001 Bindings for Analog Devices ADG792A/G Triple 4:1 Multiplexers
0002
0003 Required properties:
0004 - compatible : "adi,adg792a" or "adi,adg792g"
0005 - #mux-control-cells : <0> if parallel (the three muxes are bound together
0006 with a single mux controller controlling all three muxes), or <1> if
0007 not (one mux controller for each mux).
0008 * Standard mux-controller bindings as described in mux-controller.yaml
0009
0010 Optional properties for ADG792G:
0011 - gpio-controller : if present, #gpio-cells below is required.
0012 - #gpio-cells : should be <2>
0013 - First cell is the GPO line number, i.e. 0 or 1
0014 - Second cell is used to specify active high (0)
0015 or active low (1)
0016
0017 Optional properties:
0018 - idle-state : if present, array of states that the mux controllers will have
0019 when idle. The special state MUX_IDLE_AS_IS is the default and
0020 MUX_IDLE_DISCONNECT is also supported.
0021
0022 States 0 through 3 correspond to signals A through D in the datasheet.
0023
0024 Example:
0025
0026 /*
0027 * Three independent mux controllers (of which one is used).
0028 * Mux 0 is disconnected when idle, mux 1 idles in the previously
0029 * selected state and mux 2 idles with signal B.
0030 */
0031 &i2c0 {
0032 mux: mux-controller@50 {
0033 compatible = "adi,adg792a";
0034 reg = <0x50>;
0035 #mux-control-cells = <1>;
0036
0037 idle-state = <MUX_IDLE_DISCONNECT MUX_IDLE_AS_IS 1>;
0038 };
0039 };
0040
0041 adc-mux {
0042 compatible = "io-channel-mux";
0043 io-channels = <&adc 0>;
0044 io-channel-names = "parent";
0045
0046 mux-controls = <&mux 2>;
0047
0048 channels = "sync-1", "", "out";
0049 };
0050
0051
0052 /*
0053 * Three parallel muxes with one mux controller, useful e.g. if
0054 * the adc is differential, thus needing two signals to be muxed
0055 * simultaneously for correct operation.
0056 */
0057 &i2c0 {
0058 pmux: mux-controller@50 {
0059 compatible = "adi,adg792a";
0060 reg = <0x50>;
0061 #mux-control-cells = <0>;
0062
0063 idle-state = <1>;
0064 };
0065 };
0066
0067 diff-adc-mux {
0068 compatible = "io-channel-mux";
0069 io-channels = <&adc 0>;
0070 io-channel-names = "parent";
0071
0072 mux-controls = <&pmux>;
0073
0074 channels = "sync-1", "", "out";
0075 };