| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/gpio/gpio-latch.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: GPIO latch controller
- maintainers:
- - Sascha Hauer <s.hauer@pengutronix.de>
- description: |
- This binding describes a GPIO multiplexer based on latches connected to
- other GPIOs, like this:
- CLK0 ----------------------. ,--------.
- CLK1 -------------------. `--------|> #0 |
- | | |
- OUT0 ----------------+--|-----------|D0 Q0|-----|<
- OUT1 --------------+-|--|-----------|D1 Q1|-----|<
- OUT2 ------------+-|-|--|-----------|D2 Q2|-----|<
- OUT3 ----------+-|-|-|--|-----------|D3 Q3|-----|<
- OUT4 --------+-|-|-|-|--|-----------|D4 Q4|-----|<
- OUT5 ------+-|-|-|-|-|--|-----------|D5 Q5|-----|<
- OUT6 ----+-|-|-|-|-|-|--|-----------|D6 Q6|-----|<
- OUT7 --+-|-|-|-|-|-|-|--|-----------|D7 Q7|-----|<
- | | | | | | | | | `--------'
- | | | | | | | | |
- | | | | | | | | | ,--------.
- | | | | | | | | `-----------|> #1 |
- | | | | | | | | | |
- | | | | | | | `--------------|D0 Q0|-----|<
- | | | | | | `----------------|D1 Q1|-----|<
- | | | | | `------------------|D2 Q2|-----|<
- | | | | `--------------------|D3 Q3|-----|<
- | | | `----------------------|D4 Q4|-----|<
- | | `------------------------|D5 Q5|-----|<
- | `--------------------------|D6 Q6|-----|<
- `----------------------------|D7 Q7|-----|<
- `--------'
- The number of clk-gpios and latched-gpios is not fixed. The actual number
- of number of latches and the number of inputs per latch is derived from
- the number of GPIOs given in the corresponding device tree properties.
- properties:
- compatible:
- const: gpio-latch
- "#gpio-cells":
- const: 2
- clk-gpios:
- description: Array of GPIOs to be used to clock a latch
- latched-gpios:
- description: Array of GPIOs to be used as inputs per latch
- setup-duration-ns:
- description: Delay in nanoseconds to wait after the latch inputs have been
- set up
- clock-duration-ns:
- description: Delay in nanoseconds to wait between clock output changes
- gpio-controller: true
- gpio-line-names: true
- required:
- - compatible
- - "#gpio-cells"
- - gpio-controller
- - clk-gpios
- - latched-gpios
- additionalProperties: false
- examples:
- - |
- gpio-latch {
- #gpio-cells = <2>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_di_do_leds>;
- compatible = "gpio-latch";
- gpio-controller;
- setup-duration-ns = <100>;
- clock-duration-ns = <100>;
- clk-gpios = <&gpio3 7 0>, <&gpio3 8 0>;
- latched-gpios = <&gpio3 21 0>, <&gpio3 22 0>,
- <&gpio3 23 0>, <&gpio3 24 0>,
- <&gpio3 25 0>, <&gpio3 26 0>,
- <&gpio3 27 0>, <&gpio3 28 0>;
- };
|