xref: /linux/Documentation/devicetree/bindings/gpio/st,nomadik-gpio.yaml (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
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:
22fa55bcecSThéo Lebrun    enum:
23fa55bcecSThéo Lebrun      - st,nomadik-gpio
24fa55bcecSThéo Lebrun      - mobileye,eyeq5-gpio
2562361b38SThéo Lebrun
2662361b38SThéo Lebrun  reg:
2762361b38SThéo Lebrun    maxItems: 1
2862361b38SThéo Lebrun
2962361b38SThéo Lebrun  interrupts:
3062361b38SThéo Lebrun    maxItems: 1
3162361b38SThéo Lebrun
3262361b38SThéo Lebrun  "#gpio-cells":
3362361b38SThéo Lebrun    const: 2
3462361b38SThéo Lebrun
3562361b38SThéo Lebrun  gpio-controller: true
3662361b38SThéo Lebrun
3762361b38SThéo Lebrun  interrupt-controller: true
3862361b38SThéo Lebrun
3962361b38SThéo Lebrun  "#interrupt-cells":
4062361b38SThéo Lebrun    const: 2
4162361b38SThéo Lebrun
4262361b38SThéo Lebrun  gpio-bank:
4362361b38SThéo Lebrun    description: System-wide GPIO bank index.
4462361b38SThéo Lebrun    $ref: /schemas/types.yaml#/definitions/uint32
4562361b38SThéo Lebrun
4662361b38SThéo Lebrun  st,supports-sleepmode:
4762361b38SThéo Lebrun    description: Whether the controller can sleep or not.
4862361b38SThéo Lebrun    $ref: /schemas/types.yaml#/definitions/flag
4962361b38SThéo Lebrun
5062361b38SThéo Lebrun  clocks:
5162361b38SThéo Lebrun    maxItems: 1
5262361b38SThéo Lebrun
5362361b38SThéo Lebrun  gpio-ranges:
5462361b38SThéo Lebrun    maxItems: 1
5562361b38SThéo Lebrun
56a610f544SThéo Lebrun  ngpios:
57a610f544SThéo Lebrun    minimum: 0
58a610f544SThéo Lebrun    maximum: 32
59a610f544SThéo Lebrun
60*6abd174cSThéo Lebrun  resets:
61*6abd174cSThéo Lebrun    maxItems: 1
62*6abd174cSThéo Lebrun
6362361b38SThéo Lebrunrequired:
6462361b38SThéo Lebrun  - compatible
6562361b38SThéo Lebrun  - reg
6662361b38SThéo Lebrun  - interrupts
6762361b38SThéo Lebrun  - "#gpio-cells"
6862361b38SThéo Lebrun  - gpio-controller
6962361b38SThéo Lebrun  - interrupt-controller
7062361b38SThéo Lebrun  - gpio-bank
7162361b38SThéo Lebrun
7262361b38SThéo LebrununevaluatedProperties: false
7362361b38SThéo Lebrun
74fa55bcecSThéo LebrunallOf:
75fa55bcecSThéo Lebrun  - if:
76fa55bcecSThéo Lebrun      properties:
77fa55bcecSThéo Lebrun        compatible:
78fa55bcecSThéo Lebrun          contains:
79fa55bcecSThéo Lebrun            const: mobileye,eyeq5-gpio
80fa55bcecSThéo Lebrun    then:
81fa55bcecSThéo Lebrun      properties:
82fa55bcecSThéo Lebrun        st,supports-sleepmode: false
83fa55bcecSThéo Lebrun
8462361b38SThéo Lebrunexamples:
8562361b38SThéo Lebrun  - |
8662361b38SThéo Lebrun    gpio@8012e080 {
8762361b38SThéo Lebrun        compatible = "st,nomadik-gpio";
8862361b38SThéo Lebrun        reg =  <0x8012e080 0x80>;
8962361b38SThéo Lebrun        interrupts = <0 120 0x4>;
9062361b38SThéo Lebrun        #gpio-cells = <2>;
9162361b38SThéo Lebrun        gpio-controller;
9262361b38SThéo Lebrun        interrupt-controller;
9362361b38SThéo Lebrun        st,supports-sleepmode;
9462361b38SThéo Lebrun        gpio-bank = <1>;
9562361b38SThéo Lebrun    };
96