1 # SPDX-License-Identifier: GPL-2.0 2 %YAML 1.2 3 --- 4 $id: http://devicetree.org/schemas/mux/gpio-mu 5 $schema: http://devicetree.org/meta-schemas/co 6 7 title: GPIO-based multiplexer controller 8 9 maintainers: 10 - Peter Rosin <peda@axentia.se> 11 12 description: |+ 13 Define what GPIO pins are used to control a 14 multiplexers, if the same pins control more 15 16 The multiplexer state is defined as the numb 17 multiplexer GPIO pins, where the first pin i 18 bit. An active pin is a binary 1, an inactiv 19 20 properties: 21 compatible: 22 const: gpio-mux 23 24 mux-gpios: 25 description: 26 List of gpios used to control the multip 27 28 '#mux-control-cells': 29 enum: [ 0, 1 ] 30 31 '#mux-state-cells': 32 enum: [ 1, 2 ] 33 34 idle-state: 35 default: -1 36 37 required: 38 - compatible 39 - mux-gpios 40 anyOf: 41 - required: 42 - "#mux-control-cells" 43 - required: 44 - "#mux-state-cells" 45 46 additionalProperties: false 47 48 examples: 49 - | 50 #include <dt-bindings/gpio/gpio.h> 51 52 mux: mux-controller { 53 compatible = "gpio-mux"; 54 #mux-control-cells = <0>; 55 56 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH> 57 <&pioA 1 GPIO_ACTIVE_HIGH>; 58 }; 59 60 adc-mux { 61 compatible = "io-channel-mux"; 62 io-channels = <&adc 0>; 63 io-channel-names = "parent"; 64 65 mux-controls = <&mux>; 66 67 channels = "sync-1", "in", "out", "syn 68 }; 69 70 i2c-mux { 71 compatible = "i2c-mux"; 72 i2c-parent = <&i2c1>; 73 74 mux-controls = <&mux>; 75 76 #address-cells = <1>; 77 #size-cells = <0>; 78 79 i2c@0 { 80 reg = <0>; 81 #address-cells = <1>; 82 #size-cells = <0>; 83 84 ssd1307: oled@3c { 85 reg = <0x3c>; 86 }; 87 }; 88 89 i2c@3 { 90 reg = <3>; 91 #address-cells = <1>; 92 #size-cells = <0>; 93 94 pca9555: pca9555@20 { 95 reg = <0x20>; 96 }; 97 }; 98 }; 99 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.