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