xref: /linux/Documentation/devicetree/bindings/gpio/nxp,lpc1850-gpio.yaml (revision 6e9a12f85a7567bb9a41d5230468886bd6a27b20)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpio/nxp,lpc1850-gpio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NXP LPC18xx/43xx GPIO controller
8
9maintainers:
10  - Frank Li <Frank.Li@nxp.com>
11
12properties:
13  compatible:
14    const: nxp,lpc1850-gpio
15
16  reg:
17    minItems: 1
18    maxItems: 4
19
20  reg-names:
21    minItems: 1
22    items:
23      - const: gpio
24      - const: gpio-pin-ic
25      - const: gpio-group0-ic
26      - const: gpio-gpoup1-ic
27
28  clocks:
29    maxItems: 1
30
31  resets:
32    maxItems: 1
33
34  gpio-controller: true
35
36  '#gpio-cells':
37    const: 2
38
39  interrupt-controller: true
40
41  '#interrupt-cells':
42    const: 2
43    description: |
44      - The first cell is an interrupt number within
45        0..9 range, for GPIO pin interrupts it is equal
46        to 'nxp,gpio-pin-interrupt' property value of
47        GPIO pin configuration, 8 is for GPIO GROUP0
48        interrupt, 9 is for GPIO GROUP1 interrupt
49      - The second cell is used to specify interrupt type
50
51  gpio-ranges: true
52
53required:
54  - compatible
55  - reg
56  - clocks
57  - gpio-controller
58  - '#gpio-cells'
59
60additionalProperties: false
61
62examples:
63  - |
64    #include <dt-bindings/clock/lpc18xx-ccu.h>
65
66    gpio@400f4000 {
67        compatible = "nxp,lpc1850-gpio";
68        reg = <0x400f4000 0x4000>, <0x40087000 0x1000>,
69              <0x40088000 0x1000>, <0x40089000 0x1000>;
70        reg-names = "gpio", "gpio-pin-ic", "gpio-group0-ic", "gpio-gpoup1-ic";
71        clocks = <&ccu1 CLK_CPU_GPIO>;
72        resets = <&rgu 28>;
73        gpio-controller;
74        #gpio-cells = <2>;
75        interrupt-controller;
76        #interrupt-cells = <2>;
77    };
78
79