xref: /linux/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml (revision a610f544854374cd108dd75e8a0d5473d011fa37)
162361b38SThéo Lebrun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262361b38SThéo Lebrun%YAML 1.2
362361b38SThéo Lebrun---
462361b38SThéo Lebrun$id: http://devicetree.org/schemas/gpio/st,nomadik-gpio.yaml#
562361b38SThéo Lebrun$schema: http://devicetree.org/meta-schemas/core.yaml#
662361b38SThéo Lebrun
762361b38SThéo Lebruntitle: Nomadik GPIO controller
862361b38SThéo Lebrun
962361b38SThéo Lebrundescription:
1062361b38SThéo Lebrun  The Nomadik GPIO driver handles Nomadik SoC GPIO blocks. This block has also
1162361b38SThéo Lebrun  been called ST STA2X11. On the Nomadik platform, this driver is intertwined
1262361b38SThéo Lebrun  with pinctrl-nomadik.
1362361b38SThéo Lebrun
1462361b38SThéo Lebrunmaintainers:
1562361b38SThéo Lebrun  - Linus Walleij <linus.walleij@linaro.org>
1662361b38SThéo Lebrun
1762361b38SThéo Lebrunproperties:
1862361b38SThéo Lebrun  $nodename:
1962361b38SThéo Lebrun    pattern: "^gpio@[0-9a-f]+$"
2062361b38SThéo Lebrun
2162361b38SThéo Lebrun  compatible:
2262361b38SThéo Lebrun    const: st,nomadik-gpio
2362361b38SThéo Lebrun
2462361b38SThéo Lebrun  reg:
2562361b38SThéo Lebrun    maxItems: 1
2662361b38SThéo Lebrun
2762361b38SThéo Lebrun  interrupts:
2862361b38SThéo Lebrun    maxItems: 1
2962361b38SThéo Lebrun
3062361b38SThéo Lebrun  "#gpio-cells":
3162361b38SThéo Lebrun    const: 2
3262361b38SThéo Lebrun
3362361b38SThéo Lebrun  gpio-controller: true
3462361b38SThéo Lebrun
3562361b38SThéo Lebrun  interrupt-controller: true
3662361b38SThéo Lebrun
3762361b38SThéo Lebrun  "#interrupt-cells":
3862361b38SThéo Lebrun    const: 2
3962361b38SThéo Lebrun
4062361b38SThéo Lebrun  gpio-bank:
4162361b38SThéo Lebrun    description: System-wide GPIO bank index.
4262361b38SThéo Lebrun    $ref: /schemas/types.yaml#/definitions/uint32
4362361b38SThéo Lebrun
4462361b38SThéo Lebrun  st,supports-sleepmode:
4562361b38SThéo Lebrun    description: Whether the controller can sleep or not.
4662361b38SThéo Lebrun    $ref: /schemas/types.yaml#/definitions/flag
4762361b38SThéo Lebrun
4862361b38SThéo Lebrun  clocks:
4962361b38SThéo Lebrun    maxItems: 1
5062361b38SThéo Lebrun
5162361b38SThéo Lebrun  gpio-ranges:
5262361b38SThéo Lebrun    maxItems: 1
5362361b38SThéo Lebrun
54*a610f544SThéo Lebrun  ngpios:
55*a610f544SThéo Lebrun    minimum: 0
56*a610f544SThéo Lebrun    maximum: 32
57*a610f544SThéo Lebrun
5862361b38SThéo Lebrunrequired:
5962361b38SThéo Lebrun  - compatible
6062361b38SThéo Lebrun  - reg
6162361b38SThéo Lebrun  - interrupts
6262361b38SThéo Lebrun  - "#gpio-cells"
6362361b38SThéo Lebrun  - gpio-controller
6462361b38SThéo Lebrun  - interrupt-controller
6562361b38SThéo Lebrun  - gpio-bank
6662361b38SThéo Lebrun
6762361b38SThéo LebrununevaluatedProperties: false
6862361b38SThéo Lebrun
6962361b38SThéo Lebrunexamples:
7062361b38SThéo Lebrun  - |
7162361b38SThéo Lebrun    gpio@8012e080 {
7262361b38SThéo Lebrun        compatible = "st,nomadik-gpio";
7362361b38SThéo Lebrun        reg =  <0x8012e080 0x80>;
7462361b38SThéo Lebrun        interrupts = <0 120 0x4>;
7562361b38SThéo Lebrun        #gpio-cells = <2>;
7662361b38SThéo Lebrun        gpio-controller;
7762361b38SThéo Lebrun        interrupt-controller;
7862361b38SThéo Lebrun        st,supports-sleepmode;
7962361b38SThéo Lebrun        gpio-bank = <1>;
8062361b38SThéo Lebrun    };
81