Re: [PATCH v3 02/12] dt-bindings: watchdog: Document Exynos850 watchdog bindings

From: Guenter Roeck
Date: Wed Nov 17 2021 - 08:34:14 EST


On Sun, Nov 07, 2021 at 10:29:33PM +0200, Sam Protsenko wrote:
> 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: Sam Protsenko <semen.protsenko@xxxxxxxxxx>

Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>

> ---
> Changes in v3:
> - Renamed "samsung,index" property to more descriptive
> "samsung,cluster-index"
> - Disabled "samsung,cluster-index" property for SoCs other than
> Exynos850
>
> Changes in v2:
> - Stated explicitly that Exynos850 driver requires 2 clocks
> - Used single compatible for Exynos850
> - Added "index" property to specify CPU cluster index
> - Fixed a typo in commit message: dedicater -> dedicated
>
> .../bindings/watchdog/samsung-wdt.yaml | 45 +++++++++++++++++--
> 1 file changed, 41 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
> index 93cd77a6e92c..b08373336b16 100644
> --- a/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml
> @@ -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
>
> --
> 2.30.2
>