Merge tag 'pinctrl-v6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / pinctrl / samsung,pinctrl-wakeup-interrupt.yaml
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
7 title: Samsung S3C/S5P/Exynos SoC pin controller - wake-up interrupt controller
8
9 maintainers:
10   - Krzysztof Kozlowski <krzk@kernel.org>
11   - Sylwester Nawrocki <s.nawrocki@samsung.com>
12   - Tomasz Figa <tomasz.figa@gmail.com>
13
14 description: |
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
29 properties:
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           - const: samsung,exynos7-wakeup-eint
46       - items:
47           - enum:
48               - google,gs101-wakeup-eint
49               - samsung,exynosautov9-wakeup-eint
50           - const: samsung,exynos850-wakeup-eint
51           - const: samsung,exynos7-wakeup-eint
52
53   interrupts:
54     description:
55       Interrupt used by multiplexed external wake-up interrupts.
56     minItems: 1
57     maxItems: 6
58
59 required:
60   - compatible
61
62 allOf:
63   - if:
64       properties:
65         compatible:
66           contains:
67             enum:
68               - samsung,s3c2410-wakeup-eint
69               - samsung,s3c2412-wakeup-eint
70     then:
71       properties:
72         interrupts:
73           minItems: 6
74           maxItems: 6
75       required:
76         - interrupts
77
78   - if:
79       properties:
80         compatible:
81           contains:
82             const: samsung,s3c64xx-wakeup-eint
83     then:
84       properties:
85         interrupts:
86           minItems: 4
87           maxItems: 4
88       required:
89         - interrupts
90
91   - if:
92       properties:
93         compatible:
94           # Match without "contains", to skip newer variants which are still
95           # compatible with samsung,exynos7-wakeup-eint
96           enum:
97             - samsung,s5pv210-wakeup-eint
98             - samsung,exynos4210-wakeup-eint
99             - samsung,exynos5433-wakeup-eint
100             - samsung,exynos7-wakeup-eint
101             - samsung,exynos7885-wakeup-eint
102     then:
103       properties:
104         interrupts:
105           minItems: 1
106           maxItems: 1
107       required:
108         - interrupts
109
110   - if:
111       properties:
112         compatible:
113           contains:
114             enum:
115               - samsung,exynos850-wakeup-eint
116               - samsung,exynosautov920-wakeup-eint
117     then:
118       properties:
119         interrupts: false
120
121 additionalProperties: false