xref: /linux/Documentation/devicetree/bindings/gpio/pin-control-gpio.yaml (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1*05a8a80eSAKASHI Takahiro# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*05a8a80eSAKASHI Takahiro%YAML 1.2
3*05a8a80eSAKASHI Takahiro---
4*05a8a80eSAKASHI Takahiro$id: http://devicetree.org/schemas/gpio/pin-control-gpio.yaml#
5*05a8a80eSAKASHI Takahiro$schema: http://devicetree.org/meta-schemas/core.yaml#
6*05a8a80eSAKASHI Takahiro
7*05a8a80eSAKASHI Takahirotitle: Pin control based generic GPIO controller
8*05a8a80eSAKASHI Takahiro
9*05a8a80eSAKASHI Takahirodescription:
10*05a8a80eSAKASHI Takahiro  The pin control-based GPIO will facilitate a pin controller's ability
11*05a8a80eSAKASHI Takahiro  to drive electric lines high/low and other generic properties of a
12*05a8a80eSAKASHI Takahiro  pin controller to perform general-purpose one-bit binary I/O.
13*05a8a80eSAKASHI Takahiro
14*05a8a80eSAKASHI Takahiromaintainers:
15*05a8a80eSAKASHI Takahiro  - Dan Carpenter <dan.carpenter@linaro.org>
16*05a8a80eSAKASHI Takahiro
17*05a8a80eSAKASHI Takahiroproperties:
18*05a8a80eSAKASHI Takahiro  compatible:
19*05a8a80eSAKASHI Takahiro    const: scmi-pinctrl-gpio
20*05a8a80eSAKASHI Takahiro
21*05a8a80eSAKASHI Takahiro  gpio-controller: true
22*05a8a80eSAKASHI Takahiro
23*05a8a80eSAKASHI Takahiro  "#gpio-cells":
24*05a8a80eSAKASHI Takahiro    const: 2
25*05a8a80eSAKASHI Takahiro
26*05a8a80eSAKASHI Takahiro  gpio-line-names: true
27*05a8a80eSAKASHI Takahiro
28*05a8a80eSAKASHI Takahiro  gpio-ranges: true
29*05a8a80eSAKASHI Takahiro
30*05a8a80eSAKASHI Takahiro  ngpios: true
31*05a8a80eSAKASHI Takahiro
32*05a8a80eSAKASHI TakahiropatternProperties:
33*05a8a80eSAKASHI Takahiro  "^.+-hog(-[0-9]+)?$":
34*05a8a80eSAKASHI Takahiro    type: object
35*05a8a80eSAKASHI Takahiro
36*05a8a80eSAKASHI Takahiro    required:
37*05a8a80eSAKASHI Takahiro      - gpio-hog
38*05a8a80eSAKASHI Takahiro
39*05a8a80eSAKASHI Takahirorequired:
40*05a8a80eSAKASHI Takahiro  - compatible
41*05a8a80eSAKASHI Takahiro  - gpio-controller
42*05a8a80eSAKASHI Takahiro  - "#gpio-cells"
43*05a8a80eSAKASHI Takahiro  - gpio-ranges
44*05a8a80eSAKASHI Takahiro  - ngpios
45*05a8a80eSAKASHI Takahiro
46*05a8a80eSAKASHI TakahiroadditionalProperties: false
47*05a8a80eSAKASHI Takahiro
48*05a8a80eSAKASHI Takahiroexamples:
49*05a8a80eSAKASHI Takahiro  - |
50*05a8a80eSAKASHI Takahiro    gpio {
51*05a8a80eSAKASHI Takahiro        compatible = "scmi-pinctrl-gpio";
52*05a8a80eSAKASHI Takahiro        gpio-controller;
53*05a8a80eSAKASHI Takahiro        #gpio-cells = <2>;
54*05a8a80eSAKASHI Takahiro        ngpios = <4>;
55*05a8a80eSAKASHI Takahiro        gpio-line-names = "gpio_5_17", "gpio_5_20", "gpio_5_22", "gpio_2_1";
56*05a8a80eSAKASHI Takahiro        gpio-ranges = <&scmi_pinctrl 0 30 4>;
57*05a8a80eSAKASHI Takahiro        pinctrl-names = "default";
58*05a8a80eSAKASHI Takahiro        pinctrl-0 = <&keys_pins>;
59*05a8a80eSAKASHI Takahiro    };
60