xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
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          - 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
59required:
60  - compatible
61
62allOf:
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
121additionalProperties: false
122