Back to home page

OSCL-LXR

 
 

    


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         };