xref: /linux/Documentation/devicetree/bindings/gpio/trivial-gpio.yaml (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpio/trivial-gpio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Trivial 2-cell GPIO controllers
8
9maintainers:
10  - Bartosz Golaszewski <brgl@bgdev.pl>
11
12properties:
13  compatible:
14    oneOf:
15      - items:
16          - enum:
17              - cirrus,ep7312-gpio
18          - const: cirrus,ep7209-gpio
19      - enum:
20          - apm,xgene-gpio
21          - cirrus,ep7209-gpio
22          - cznic,moxtet-gpio
23          - dlg,slg7xl45106
24          - fcs,fxl6408
25          - fsl,ls1046aqds-fpga-gpio-stat-pres2
26          - fsl,lx2160ardb-fpga-gpio-sfp
27          - gateworks,pld-gpio
28          - ibm,ppc4xx-gpio
29          - loongson,ls1x-gpio
30          - maxim,max77620
31          - nintendo,hollywood-gpio
32          - nxp,pca9570
33          - nxp,pca9571
34          - rockchip,rk3328-grf-gpio
35          - snps,creg-gpio-hsdk
36          - technologic,ts4800-gpio
37          - technologic,ts4900-gpio
38          - technologic,ts7970-gpio
39          - ti,741g125 # for 741G125 (1-bit Input),
40          - ti,741g174 # for 741G74 (1-bit Output),
41          - ti,742g125 # for 742G125 (2-bit Input),
42          - ti,7474    # for 7474 (2-bit Output),
43          - ti,74125   # for 74125 (4-bit Input),
44          - ti,74175   # for 74175 (4-bit Output),
45          - ti,74365   # for 74365 (6-bit Input),
46          - ti,74174   # for 74174 (6-bit Output),
47          - ti,74244   # for 74244 (8-bit Input),
48          - ti,74273   # for 74273 (8-bit Output),
49          - ti,741624  # for 741624 (16-bit Input),
50          - ti,7416374 # for 7416374 (16-bit Output).
51          - ti,lp3943-gpio
52          - ti,palmas-gpio
53          - ti,tpic2810
54          - ti,tps80036-gpio
55          - ti,tps65913-gpio
56          - ti,tps65914-gpio
57
58  reg:
59    maxItems: 1
60
61  '#gpio-cells':
62    const: 2
63
64  gpio-controller: true
65
66  gpio-line-names: true
67
68  ngpios: true
69
70  # Don't add more properties
71
72patternProperties:
73  "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
74    type: object
75    required:
76      - gpio-hog
77
78required:
79  - compatible
80  - '#gpio-cells'
81  - gpio-controller
82
83allOf:
84  - if:
85      properties:
86        compatible:
87          contains:
88            enum:
89              - maxim,max77620
90              - rockchip,rk3328-grf-gpio
91              - ti,lp3943-gpio
92              - ti,palmas-gpio
93              - ti,tps80036-gpio
94              - ti,tps65913-gpio
95              - ti,tps65914-gpio
96    then:
97      properties:
98        reg: false
99    else:
100      required:
101        - reg
102
103additionalProperties: false
104
105examples:
106  - |
107    gpio@1701c000 {
108        compatible = "apm,xgene-gpio";
109        reg = <0x1701c000 0x40>;
110        gpio-controller;
111        #gpio-cells = <2>;
112    };
113