Commit 0b595831 authored by Sam Protsenko's avatar Sam Protsenko Committed by Wim Van Sebroeck
Browse files

dt-bindings: watchdog: Document Exynos850 watchdog bindings



Exynos850 SoC has two CPU clusters:
  - cluster 0: contains CPUs #0, #1, #2, #3
  - cluster 1: contains CPUs #4, #5, #6, #7

Each cluster has its own dedicated watchdog timer. Those WDT instances
are controlled using different bits in PMU registers, new
"samsung,index" property is added to tell the driver which bits to use
for defined watchdog node.

Also on Exynos850 the peripheral clock and the source clock are two
different clocks. Provide a way to specify two clocks in watchdog device
tree node.

Signed-off-by: default avatarSam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/20211107202943.8859-3-semen.protsenko@linaro.org


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@linux-watchdog.org>
parent 33950f9a
Loading
Loading
Loading
Loading
+41 −4
Original line number Diff line number Diff line
@@ -22,25 +22,32 @@ properties:
      - samsung,exynos5250-wdt                # for Exynos5250
      - samsung,exynos5420-wdt                # for Exynos5420
      - samsung,exynos7-wdt                   # for Exynos7
      - samsung,exynos850-wdt                 # for Exynos850

  reg:
    maxItems: 1

  clocks:
    maxItems: 1
    minItems: 1
    maxItems: 2

  clock-names:
    items:
      - const: watchdog
    minItems: 1
    maxItems: 2

  interrupts:
    maxItems: 1

  samsung,cluster-index:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Index of CPU cluster on which watchdog is running (in case of Exynos850)

  samsung,syscon-phandle:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Phandle to the PMU system controller node (in case of Exynos5250,
      Exynos5420 and Exynos7).
      Exynos5420, Exynos7 and Exynos850).

required:
  - compatible
@@ -59,9 +66,39 @@ allOf:
              - samsung,exynos5250-wdt
              - samsung,exynos5420-wdt
              - samsung,exynos7-wdt
              - samsung,exynos850-wdt
    then:
      required:
        - samsung,syscon-phandle
  - if:
      properties:
        compatible:
          contains:
            enum:
              - samsung,exynos850-wdt
    then:
      properties:
        clocks:
          items:
            - description: Bus clock, used for register interface
            - description: Source clock (driving watchdog counter)
        clock-names:
          items:
            - const: watchdog
            - const: watchdog_src
        samsung,cluster-index:
          enum: [0, 1]
      required:
        - samsung,cluster-index
    else:
      properties:
        clocks:
          items:
            - description: Bus clock, which is also a source clock
        clock-names:
          items:
            - const: watchdog
        samsung,cluster-index: false

unevaluatedProperties: false