On 31/10/2021 13:22, 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> > --- > 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 | 44 +++++++++++++++++-- > 1 file changed, 40 insertions(+), 4 deletions(-) > > diff --git a/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml b/Documentation/devicetree/bindings/watchdog/samsung-wdt.yaml > index 93cd77a6e92c..f29d0ca4eced 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,index: Slightly more descriptive, e.g.: 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,38 @@ 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,index: > + enum: [0, 1] > + required: > + - samsung,index > + else: > + properties: > + clocks: > + items: > + - description: Bus clock, which is also a source clock > + clock-names: > + items: > + - const: watchdog Also under this else: samsung,cluster-index: false > > unevaluatedProperties: false > > Best regards, Krzysztof