76 lines · plain
1Bindings for Analog Devices ADG792A/G Triple 4:1 Multiplexers2 3Required properties:4- compatible : "adi,adg792a" or "adi,adg792g"5- #mux-control-cells : <0> if parallel (the three muxes are bound together6 with a single mux controller controlling all three muxes), or <1> if7 not (one mux controller for each mux).8* Standard mux-controller bindings as described in mux-controller.yaml9 10Optional properties for ADG792G:11- gpio-controller : if present, #gpio-cells below is required.12- #gpio-cells : should be <2>13 - First cell is the GPO line number, i.e. 0 or 114 - Second cell is used to specify active high (0)15 or active low (1)16 17Optional properties:18- idle-state : if present, array of states that the mux controllers will have19 when idle. The special state MUX_IDLE_AS_IS is the default and20 MUX_IDLE_DISCONNECT is also supported.21 22States 0 through 3 correspond to signals A through D in the datasheet.23 24Example:25 26 /*27 * Three independent mux controllers (of which one is used).28 * Mux 0 is disconnected when idle, mux 1 idles in the previously29 * selected state and mux 2 idles with signal B.30 */31 &i2c0 {32 mux: mux-controller@50 {33 compatible = "adi,adg792a";34 reg = <0x50>;35 #mux-control-cells = <1>;36 37 idle-state = <MUX_IDLE_DISCONNECT MUX_IDLE_AS_IS 1>;38 };39 };40 41 adc-mux {42 compatible = "io-channel-mux";43 io-channels = <&adc 0>;44 io-channel-names = "parent";45 46 mux-controls = <&mux 2>;47 48 channels = "sync-1", "", "out";49 };50 51 52 /*53 * Three parallel muxes with one mux controller, useful e.g. if54 * the adc is differential, thus needing two signals to be muxed55 * simultaneously for correct operation.56 */57 &i2c0 {58 pmux: mux-controller@50 {59 compatible = "adi,adg792a";60 reg = <0x50>;61 #mux-control-cells = <0>;62 63 idle-state = <1>;64 };65 };66 67 diff-adc-mux {68 compatible = "io-channel-mux";69 io-channels = <&adc 0>;70 io-channel-names = "parent";71 72 mux-controls = <&pmux>;73 74 channels = "sync-1", "", "out";75 };76