dt-bindings: gpio: Add gpio-latch binding document
This adds a binding for a GPIO multiplexer driver based on latches connected to other GPIOs. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Serge Semin <fancer.lancer@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
e7f758fa9b
commit
2a903ca922
94
Documentation/devicetree/bindings/gpio/gpio-latch.yaml
Normal file
94
Documentation/devicetree/bindings/gpio/gpio-latch.yaml
Normal file
@ -0,0 +1,94 @@
|
||||
# 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>;
|
||||
};
|
Loading…
x
Reference in New Issue
Block a user