mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.5 KiB
69 lines
1.5 KiB
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 { |
|
/* ... */ |
|
}; |
|
}; |
|
};
|
|
|