| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- GPIO-based multiplexer controller bindings
- Define what GPIO pins are used to control a multiplexer. Or several
- multiplexers, if the same pins control more than one multiplexer.
- Required properties:
- - compatible : "gpio-mux"
- - mux-gpios : list of gpios used to control the multiplexer, least
- significant bit first.
- - #mux-control-cells : <0>
- * Standard mux-controller bindings as decribed in mux-controller.txt
- Optional properties:
- - idle-state : if present, the state the mux will have when idle. The
- special state MUX_IDLE_AS_IS is the default.
- The multiplexer state is defined as the number represented by the
- multiplexer GPIO pins, where the first pin is the least significant
- bit. An active pin is a binary 1, an inactive pin is a binary 0.
- Example:
- mux: mux-controller {
- compatible = "gpio-mux";
- #mux-control-cells = <0>;
- mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,
- <&pioA 1 GPIO_ACTIVE_HIGH>;
- };
- adc-mux {
- compatible = "io-channel-mux";
- io-channels = <&adc 0>;
- io-channel-names = "parent";
- mux-controls = <&mux>;
- channels = "sync-1", "in", "out", "sync-2";
- };
- i2c-mux {
- compatible = "i2c-mux";
- i2c-parent = <&i2c1>;
- mux-controls = <&mux>;
- #address-cells = <1>;
- #size-cells = <0>;
- i2c@0 {
- reg = <0>;
- #address-cells = <1>;
- #size-cells = <0>;
- ssd1307: oled@3c {
- /* ... */
- };
- };
- i2c@3 {
- reg = <3>;
- #address-cells = <1>;
- #size-cells = <0>;
- pca9555: pca9555@20 {
- /* ... */
- };
- };
- };
|