xref: /linux/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung S3C/S5P/Exynos SoC pin controller - wake-up interrupt controller
8
9maintainers:
10  - Krzysztof Kozlowski <krzk@kernel.org>
11  - Sylwester Nawrocki <s.nawrocki@samsung.com>
12  - Tomasz Figa <tomasz.figa@gmail.com>
13
14description: |
15  This is a part of device tree bindings for Samsung S3C/S5P/Exynos SoC pin
16  controller.
17
18  External wake-up interrupts for Samsung S3C/S5P/Exynos SoC pin controller.
19  For S3C24xx, S3C64xx, S5PV210 and Exynos4210 compatible wake-up interrupt
20  controllers, only one pin-controller device node can include external wake-up
21  interrupts child node (in other words, only one External wake-up interrupts
22  pin-controller is supported).
23  For newer controllers, multiple pin-controller device node can include
24  external wake-up interrupts child node.
25
26  See also Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml for
27  additional information and example.
28
29properties:
30  compatible:
31    oneOf:
32      - enum:
33          - samsung,s3c2410-wakeup-eint
34          - samsung,s3c2412-wakeup-eint
35          - samsung,s3c64xx-wakeup-eint
36          - samsung,s5pv210-wakeup-eint
37          - samsung,exynos4210-wakeup-eint
38          - samsung,exynos7-wakeup-eint
39          - samsung,exynosautov920-wakeup-eint
40      - items:
41          - enum:
42              - samsung,exynos5433-wakeup-eint
43              - samsung,exynos7885-wakeup-eint
44              - samsung,exynos850-wakeup-eint
45              - samsung,exynos8895-wakeup-eint
46          - const: samsung,exynos7-wakeup-eint
47      - items:
48          - enum:
49              - google,gs101-wakeup-eint
50              - samsung,exynos9810-wakeup-eint
51              - samsung,exynos990-wakeup-eint
52              - samsung,exynosautov9-wakeup-eint
53          - const: samsung,exynos850-wakeup-eint
54          - const: samsung,exynos7-wakeup-eint
55
56  interrupts:
57    description:
58      Interrupt used by multiplexed external wake-up interrupts.
59    minItems: 1
60    maxItems: 6
61
62required:
63  - compatible
64
65allOf:
66  - if:
67      properties:
68        compatible:
69          contains:
70            enum:
71              - samsung,s3c2410-wakeup-eint
72              - samsung,s3c2412-wakeup-eint
73    then:
74      properties:
75        interrupts:
76          minItems: 6
77          maxItems: 6
78      required:
79        - interrupts
80
81  - if:
82      properties:
83        compatible:
84          contains:
85            const: samsung,s3c64xx-wakeup-eint
86    then:
87      properties:
88        interrupts:
89          minItems: 4
90          maxItems: 4
91      required:
92        - interrupts
93
94  - if:
95      properties:
96        compatible:
97          oneOf:
98            # Match without "contains", to skip newer variants which are still
99            # compatible with samsung,exynos7-wakeup-eint
100            - enum:
101                - samsung,exynos4210-wakeup-eint
102                - samsung,exynos7-wakeup-eint
103                - samsung,s5pv210-wakeup-eint
104            - contains:
105                enum:
106                  - samsung,exynos5433-wakeup-eint
107                  - samsung,exynos7885-wakeup-eint
108                  - samsung,exynos8895-wakeup-eint
109    then:
110      properties:
111        interrupts:
112          minItems: 1
113          maxItems: 1
114      required:
115        - interrupts
116
117  - if:
118      properties:
119        compatible:
120          contains:
121            enum:
122              - samsung,exynos850-wakeup-eint
123              - samsung,exynosautov920-wakeup-eint
124    then:
125      properties:
126        interrupts: false
127
128additionalProperties: false
129