1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/gpio/gpio-l 4 $id: http://devicetree.org/schemas/gpio/gpio-latch.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: GPIO latch controller 7 title: GPIO latch controller 8 8 9 maintainers: 9 maintainers: 10 - Sascha Hauer <s.hauer@pengutronix.de> 10 - Sascha Hauer <s.hauer@pengutronix.de> 11 11 12 description: | 12 description: | 13 This binding describes a GPIO multiplexer ba 13 This binding describes a GPIO multiplexer based on latches connected to 14 other GPIOs, like this: 14 other GPIOs, like this: 15 15 16 CLK0 ----------------------. ,------- 16 CLK0 ----------------------. ,--------. 17 CLK1 -------------------. `--------|> #0 17 CLK1 -------------------. `--------|> #0 | 18 | | 18 | | | 19 OUT0 ----------------+--|-----------|D0 Q 19 OUT0 ----------------+--|-----------|D0 Q0|-----|< 20 OUT1 --------------+-|--|-----------|D1 Q 20 OUT1 --------------+-|--|-----------|D1 Q1|-----|< 21 OUT2 ------------+-|-|--|-----------|D2 Q 21 OUT2 ------------+-|-|--|-----------|D2 Q2|-----|< 22 OUT3 ----------+-|-|-|--|-----------|D3 Q 22 OUT3 ----------+-|-|-|--|-----------|D3 Q3|-----|< 23 OUT4 --------+-|-|-|-|--|-----------|D4 Q 23 OUT4 --------+-|-|-|-|--|-----------|D4 Q4|-----|< 24 OUT5 ------+-|-|-|-|-|--|-----------|D5 Q 24 OUT5 ------+-|-|-|-|-|--|-----------|D5 Q5|-----|< 25 OUT6 ----+-|-|-|-|-|-|--|-----------|D6 Q 25 OUT6 ----+-|-|-|-|-|-|--|-----------|D6 Q6|-----|< 26 OUT7 --+-|-|-|-|-|-|-|--|-----------|D7 Q 26 OUT7 --+-|-|-|-|-|-|-|--|-----------|D7 Q7|-----|< 27 | | | | | | | | | `------- 27 | | | | | | | | | `--------' 28 | | | | | | | | | 28 | | | | | | | | | 29 | | | | | | | | | ,------- 29 | | | | | | | | | ,--------. 30 | | | | | | | | `-----------|> #1 30 | | | | | | | | `-----------|> #1 | 31 | | | | | | | | | 31 | | | | | | | | | | 32 | | | | | | | `--------------|D0 Q 32 | | | | | | | `--------------|D0 Q0|-----|< 33 | | | | | | `----------------|D1 Q 33 | | | | | | `----------------|D1 Q1|-----|< 34 | | | | | `------------------|D2 Q 34 | | | | | `------------------|D2 Q2|-----|< 35 | | | | `--------------------|D3 Q 35 | | | | `--------------------|D3 Q3|-----|< 36 | | | `----------------------|D4 Q 36 | | | `----------------------|D4 Q4|-----|< 37 | | `------------------------|D5 Q 37 | | `------------------------|D5 Q5|-----|< 38 | `--------------------------|D6 Q 38 | `--------------------------|D6 Q6|-----|< 39 `----------------------------|D7 Q 39 `----------------------------|D7 Q7|-----|< 40 `------- 40 `--------' 41 41 42 The number of clk-gpios and latched-gpios is 42 The number of clk-gpios and latched-gpios is not fixed. The actual number 43 of number of latches and the number of input 43 of number of latches and the number of inputs per latch is derived from 44 the number of GPIOs given in the correspondi 44 the number of GPIOs given in the corresponding device tree properties. 45 45 46 properties: 46 properties: 47 compatible: 47 compatible: 48 const: gpio-latch 48 const: gpio-latch 49 "#gpio-cells": 49 "#gpio-cells": 50 const: 2 50 const: 2 51 51 52 clk-gpios: 52 clk-gpios: 53 description: Array of GPIOs to be used to 53 description: Array of GPIOs to be used to clock a latch 54 54 55 latched-gpios: 55 latched-gpios: 56 description: Array of GPIOs to be used as 56 description: Array of GPIOs to be used as inputs per latch 57 57 58 setup-duration-ns: 58 setup-duration-ns: 59 description: Delay in nanoseconds to wait 59 description: Delay in nanoseconds to wait after the latch inputs have been 60 set up 60 set up 61 61 62 clock-duration-ns: 62 clock-duration-ns: 63 description: Delay in nanoseconds to wait 63 description: Delay in nanoseconds to wait between clock output changes 64 64 65 gpio-controller: true 65 gpio-controller: true 66 66 67 gpio-line-names: true 67 gpio-line-names: true 68 68 69 required: 69 required: 70 - compatible 70 - compatible 71 - "#gpio-cells" 71 - "#gpio-cells" 72 - gpio-controller 72 - gpio-controller 73 - clk-gpios 73 - clk-gpios 74 - latched-gpios 74 - latched-gpios 75 75 76 additionalProperties: false 76 additionalProperties: false 77 77 78 examples: 78 examples: 79 - | 79 - | 80 gpio-latch { 80 gpio-latch { 81 #gpio-cells = <2>; 81 #gpio-cells = <2>; 82 pinctrl-names = "default"; 82 pinctrl-names = "default"; 83 pinctrl-0 = <&pinctrl_di_do_leds>; 83 pinctrl-0 = <&pinctrl_di_do_leds>; 84 compatible = "gpio-latch"; 84 compatible = "gpio-latch"; 85 gpio-controller; 85 gpio-controller; 86 setup-duration-ns = <100>; 86 setup-duration-ns = <100>; 87 clock-duration-ns = <100>; 87 clock-duration-ns = <100>; 88 88 89 clk-gpios = <&gpio3 7 0>, <&gpio3 8 0> 89 clk-gpios = <&gpio3 7 0>, <&gpio3 8 0>; 90 latched-gpios = <&gpio3 21 0>, <&gpio3 90 latched-gpios = <&gpio3 21 0>, <&gpio3 22 0>, 91 <&gpio3 23 0>, <&gpio3 91 <&gpio3 23 0>, <&gpio3 24 0>, 92 <&gpio3 25 0>, <&gpio3 92 <&gpio3 25 0>, <&gpio3 26 0>, 93 <&gpio3 27 0>, <&gpio3 93 <&gpio3 27 0>, <&gpio3 28 0>; 94 }; 94 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.