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 >