Mention branches and keyring.
[releases.git] / bindings / gpio / nvidia,tegra20-gpio.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/gpio/nvidia,tegra20-gpio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NVIDIA Tegra GPIO Controller (Tegra20 - Tegra210)
8
9 maintainers:
10   - Thierry Reding <thierry.reding@gmail.com>
11   - Jon Hunter <jonathanh@nvidia.com>
12
13 properties:
14   compatible:
15     oneOf:
16       - enum:
17           - nvidia,tegra20-gpio
18           - nvidia,tegra30-gpio
19
20       - items:
21           - enum:
22               - nvidia,tegra114-gpio
23               - nvidia,tegra124-gpio
24               - nvidia,tegra210-gpio
25           - const: nvidia,tegra30-gpio
26
27   reg:
28     maxItems: 1
29
30   interrupts:
31     description: The interrupt outputs from the controller. For Tegra20,
32       there should be 7 interrupts specified, and for Tegra30, there should
33       be 8 interrupts specified.
34
35   "#gpio-cells":
36     description: The first cell is the pin number and the second cell is used
37       to specify the GPIO polarity (0 = active high, 1 = active low).
38     const: 2
39
40   gpio-controller: true
41
42   gpio-ranges:
43     maxItems: 1
44
45   "#interrupt-cells":
46     description: |
47       Should be 2. The first cell is the GPIO number. The second cell is
48       used to specify flags:
49
50         bits[3:0] trigger type and level flags:
51           1 = low-to-high edge triggered.
52           2 = high-to-low edge triggered.
53           4 = active high level-sensitive.
54           8 = active low level-sensitive.
55
56       Valid combinations are 1, 2, 3, 4, 8.
57     const: 2
58
59   interrupt-controller: true
60
61 allOf:
62   - if:
63       properties:
64         compatible:
65           contains:
66             const: nvidia,tegra30-gpio
67     then:
68       properties:
69         interrupts:
70           minItems: 8
71           maxItems: 8
72     else:
73       properties:
74         interrupts:
75           minItems: 7
76           maxItems: 7
77
78 required:
79   - compatible
80   - reg
81   - interrupts
82   - "#gpio-cells"
83   - gpio-controller
84   - "#interrupt-cells"
85   - interrupt-controller
86
87 additionalProperties:
88   type: object
89   required:
90     - gpio-hog
91
92 examples:
93   - |
94     #include <dt-bindings/interrupt-controller/arm-gic.h>
95
96     gpio: gpio@6000d000 {
97         compatible = "nvidia,tegra20-gpio";
98         reg = <0x6000d000 0x1000>;
99         interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
100                      <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
101                      <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
102                      <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
103                      <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
104                      <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
105                      <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
106         #gpio-cells = <2>;
107         gpio-controller;
108         #interrupt-cells = <2>;
109         interrupt-controller;
110     };