162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pinctrl/samsung,pinctrl-wakeup-interrupt.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Samsung S3C/S5P/Exynos SoC pin controller - wake-up interrupt controller
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Krzysztof Kozlowski <krzk@kernel.org>
1162306a36Sopenharmony_ci  - Sylwester Nawrocki <s.nawrocki@samsung.com>
1262306a36Sopenharmony_ci  - Tomasz Figa <tomasz.figa@gmail.com>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cidescription: |
1562306a36Sopenharmony_ci  This is a part of device tree bindings for Samsung S3C/S5P/Exynos SoC pin
1662306a36Sopenharmony_ci  controller.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci  External wake-up interrupts for Samsung S3C/S5P/Exynos SoC pin controller.
1962306a36Sopenharmony_ci  For S3C24xx, S3C64xx, S5PV210 and Exynos4210 compatible wake-up interrupt
2062306a36Sopenharmony_ci  controllers, only one pin-controller device node can include external wake-up
2162306a36Sopenharmony_ci  interrupts child node (in other words, only one External wake-up interrupts
2262306a36Sopenharmony_ci  pin-controller is supported).
2362306a36Sopenharmony_ci  For newer controllers, multiple pin-controller device node can include
2462306a36Sopenharmony_ci  external wake-up interrupts child node.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci  See also Documentation/devicetree/bindings/pinctrl/samsung,pinctrl.yaml for
2762306a36Sopenharmony_ci  additional information and example.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciproperties:
3062306a36Sopenharmony_ci  compatible:
3162306a36Sopenharmony_ci    enum:
3262306a36Sopenharmony_ci      - samsung,s3c2410-wakeup-eint
3362306a36Sopenharmony_ci      - samsung,s3c2412-wakeup-eint
3462306a36Sopenharmony_ci      - samsung,s3c64xx-wakeup-eint
3562306a36Sopenharmony_ci      - samsung,s5pv210-wakeup-eint
3662306a36Sopenharmony_ci      - samsung,exynos4210-wakeup-eint
3762306a36Sopenharmony_ci      - samsung,exynos7-wakeup-eint
3862306a36Sopenharmony_ci      - samsung,exynos850-wakeup-eint
3962306a36Sopenharmony_ci      - samsung,exynosautov9-wakeup-eint
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  interrupts:
4262306a36Sopenharmony_ci    description:
4362306a36Sopenharmony_ci      Interrupt used by multiplexed external wake-up interrupts.
4462306a36Sopenharmony_ci    minItems: 1
4562306a36Sopenharmony_ci    maxItems: 6
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_cirequired:
4862306a36Sopenharmony_ci  - compatible
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ciallOf:
5162306a36Sopenharmony_ci  - if:
5262306a36Sopenharmony_ci      properties:
5362306a36Sopenharmony_ci        compatible:
5462306a36Sopenharmony_ci          contains:
5562306a36Sopenharmony_ci            enum:
5662306a36Sopenharmony_ci              - samsung,s3c2410-wakeup-eint
5762306a36Sopenharmony_ci              - samsung,s3c2412-wakeup-eint
5862306a36Sopenharmony_ci    then:
5962306a36Sopenharmony_ci      properties:
6062306a36Sopenharmony_ci        interrupts:
6162306a36Sopenharmony_ci          minItems: 6
6262306a36Sopenharmony_ci          maxItems: 6
6362306a36Sopenharmony_ci      required:
6462306a36Sopenharmony_ci        - interrupts
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci  - if:
6762306a36Sopenharmony_ci      properties:
6862306a36Sopenharmony_ci        compatible:
6962306a36Sopenharmony_ci          contains:
7062306a36Sopenharmony_ci            const: samsung,s3c64xx-wakeup-eint
7162306a36Sopenharmony_ci    then:
7262306a36Sopenharmony_ci      properties:
7362306a36Sopenharmony_ci        interrupts:
7462306a36Sopenharmony_ci          minItems: 4
7562306a36Sopenharmony_ci          maxItems: 4
7662306a36Sopenharmony_ci      required:
7762306a36Sopenharmony_ci        - interrupts
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci  - if:
8062306a36Sopenharmony_ci      properties:
8162306a36Sopenharmony_ci        compatible:
8262306a36Sopenharmony_ci          contains:
8362306a36Sopenharmony_ci            enum:
8462306a36Sopenharmony_ci              - samsung,s5pv210-wakeup-eint
8562306a36Sopenharmony_ci              - samsung,exynos4210-wakeup-eint
8662306a36Sopenharmony_ci              - samsung,exynos7-wakeup-eint
8762306a36Sopenharmony_ci    then:
8862306a36Sopenharmony_ci      properties:
8962306a36Sopenharmony_ci        interrupts:
9062306a36Sopenharmony_ci          minItems: 1
9162306a36Sopenharmony_ci          maxItems: 1
9262306a36Sopenharmony_ci      required:
9362306a36Sopenharmony_ci        - interrupts
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci  - if:
9662306a36Sopenharmony_ci      properties:
9762306a36Sopenharmony_ci        compatible:
9862306a36Sopenharmony_ci          contains:
9962306a36Sopenharmony_ci            enum:
10062306a36Sopenharmony_ci              - samsung,exynos850-wakeup-eint
10162306a36Sopenharmony_ci              - samsung,exynosautov9-wakeup-eint
10262306a36Sopenharmony_ci    then:
10362306a36Sopenharmony_ci      properties:
10462306a36Sopenharmony_ci        interrupts: false
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ciadditionalProperties: false
107