forked from 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.
99 lines
2.0 KiB
99 lines
2.0 KiB
# SPDX-License-Identifier: GPL-2.0 |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/mux/gpio-mux.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: GPIO-based multiplexer controller bindings |
|
|
|
maintainers: |
|
- Peter Rosin <[email protected]> |
|
|
|
description: |+ |
|
Define what GPIO pins are used to control a multiplexer. Or several |
|
multiplexers, if the same pins control more than one multiplexer. |
|
|
|
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. |
|
|
|
properties: |
|
compatible: |
|
const: gpio-mux |
|
|
|
mux-gpios: |
|
description: |
|
List of gpios used to control the multiplexer, least significant bit first. |
|
|
|
'#mux-control-cells': |
|
enum: [ 0, 1 ] |
|
|
|
'#mux-state-cells': |
|
enum: [ 1, 2 ] |
|
|
|
idle-state: |
|
default: -1 |
|
|
|
required: |
|
- compatible |
|
- mux-gpios |
|
anyOf: |
|
- required: |
|
- "#mux-control-cells" |
|
- required: |
|
- "#mux-state-cells" |
|
|
|
additionalProperties: false |
|
|
|
examples: |
|
- | |
|
#include <dt-bindings/gpio/gpio.h> |
|
|
|
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 { |
|
reg = <0x3c>; |
|
}; |
|
}; |
|
|
|
i2c@3 { |
|
reg = <3>; |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
|
|
pca9555: pca9555@20 { |
|
reg = <0x20>; |
|
}; |
|
}; |
|
}; |
|
...
|
|
|