xref: /linux/Documentation/devicetree/bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
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,exynos7870-wakeup-eint
44              - samsung,exynos7885-wakeup-eint
45              - samsung,exynos850-wakeup-eint
46              - samsung,exynos8895-wakeup-eint
47          - const: samsung,exynos7-wakeup-eint
48      - items:
49          - enum:
50              - google,gs101-wakeup-eint
51              - samsung,exynos2200-wakeup-eint
52              - samsung,exynos9810-wakeup-eint
53              - samsung,exynos990-wakeup-eint
54              - samsung,exynosautov9-wakeup-eint
55          - const: samsung,exynos850-wakeup-eint
56          - const: samsung,exynos7-wakeup-eint
57
58  interrupts:
59    description:
60      Interrupt used by multiplexed external wake-up interrupts.
61    minItems: 1
62    maxItems: 6
63
64required:
65  - compatible
66
67allOf:
68  - if:
69      properties:
70        compatible:
71          contains:
72            enum:
73              - samsung,s3c2410-wakeup-eint
74              - samsung,s3c2412-wakeup-eint
75    then:
76      properties:
77        interrupts:
78          minItems: 6
79          maxItems: 6
80      required:
81        - interrupts
82
83  - if:
84      properties:
85        compatible:
86          contains:
87            const: samsung,s3c64xx-wakeup-eint
88    then:
89      properties:
90        interrupts:
91          minItems: 4
92          maxItems: 4
93      required:
94        - interrupts
95
96  - if:
97      properties:
98        compatible:
99          oneOf:
100            # Match without "contains", to skip newer variants which are still
101            # compatible with samsung,exynos7-wakeup-eint
102            - enum:
103                - samsung,exynos4210-wakeup-eint
104                - samsung,exynos7-wakeup-eint
105                - samsung,s5pv210-wakeup-eint
106            - contains:
107                enum:
108                  - samsung,exynos5433-wakeup-eint
109                  - samsung,exynos7870-wakeup-eint
110                  - samsung,exynos7885-wakeup-eint
111                  - samsung,exynos8895-wakeup-eint
112    then:
113      properties:
114        interrupts:
115          minItems: 1
116          maxItems: 1
117      required:
118        - interrupts
119
120  - if:
121      properties:
122        compatible:
123          contains:
124            enum:
125              - samsung,exynos850-wakeup-eint
126              - samsung,exynosautov920-wakeup-eint
127    then:
128      properties:
129        interrupts: false
130
131additionalProperties: false
132