The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/mux/adi,adg792a.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 Bindings for Analog Devices ADG792A/G Triple 4:1 Multiplexers
    2 
    3 Required properties:
    4 - compatible : "adi,adg792a" or "adi,adg792g"
    5 - #mux-control-cells : <0> if parallel (the three muxes are bound together
    6   with a single mux controller controlling all three muxes), or <1> if
    7   not (one mux controller for each mux).
    8 * Standard mux-controller bindings as described in mux-controller.yaml
    9 
   10 Optional 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 1
   14                           - Second cell is used to specify active high (0)
   15                             or active low (1)
   16 
   17 Optional properties:
   18 - idle-state : if present, array of states that the mux controllers will have
   19   when idle. The special state MUX_IDLE_AS_IS is the default and
   20   MUX_IDLE_DISCONNECT is also supported.
   21 
   22 States 0 through 3 correspond to signals A through D in the datasheet.
   23 
   24 Example:
   25 
   26         /*
   27          * Three independent mux controllers (of which one is used).
   28          * Mux 0 is disconnected when idle, mux 1 idles in the previously
   29          * 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. if
   54          * the adc is differential, thus needing two signals to be muxed
   55          * 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         };

Cache object: bed5813473437fb3b7130aecb3b33d97


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.