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