The device specific compatibles ("qcom,kpss-wdt-ipq4019") should be
follwed by fallback "qcom,kpss-wdt", which is actually used by Linux
driver for binding.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
index a1f17c9e02db..e76364c52fc7 100644
--- a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
@@ -17,6 +17,7 @@ properties:
oneOf:
- items:
- enum:
+ - qcom,kpss-wdt-ipq4019
- qcom,apss-wdt-msm8994
- qcom,apss-wdt-qcs404
- qcom,apss-wdt-sc7180
@@ -35,7 +36,6 @@ properties:
- qcom,kpss-wdt
- qcom,kpss-timer
- qcom,kpss-wdt-apq8064
- - qcom,kpss-wdt-ipq4019
- qcom,kpss-wdt-ipq8064
- qcom,kpss-wdt-msm8960
- qcom,scss-timer
--
2.34.1
Both of type of watchdogs described in the binding (the KPSS watchdog
and APSS WDT timer) have interrupts. Allow interrupts and describe them
for KPSS watchdog to fix warnings like:
watchdog@17c10000: Unevaluated properties are not allowed ('interrupts' was unexpected)
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
.../bindings/watchdog/qcom-wdt.yaml | 24 ++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
index 1828eaf70b3b..b7fc57f4800e 100644
--- a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
+++ b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
@@ -9,9 +9,6 @@ title: Qualcomm Krait Processor Sub-system (KPSS) Watchdog timer
maintainers:
- Sai Prakash Ranjan <[email protected]>
-allOf:
- - $ref: watchdog.yaml#
-
properties:
compatible:
oneOf:
@@ -51,11 +48,31 @@ properties:
clocks:
maxItems: 1
+ interrupts:
+ minItems: 1
+ maxItems: 5
+
required:
- compatible
- reg
- clocks
+allOf:
+ - $ref: watchdog.yaml#
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: qcom,kpss-wdt
+ then:
+ properties:
+ interrupts:
+ minItems: 1
+ items:
+ - description: Bark
+ - description: Bite
+
unevaluatedProperties: false
examples:
@@ -66,5 +83,6 @@ examples:
compatible = "qcom,apss-wdt-sm8150", "qcom,kpss-wdt";
reg = <0x17c10000 0x1000>;
clocks = <&sleep_clk>;
+ interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
timeout-sec = <10>;
};
--
2.34.1
The most specific compatible should be upfront.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/qcom-apq8064.dtsi | 4 ++--
arch/arm/boot/dts/qcom-ipq4019.dtsi | 2 +-
arch/arm/boot/dts/qcom-ipq8064.dtsi | 4 ++--
arch/arm/boot/dts/qcom-msm8960.dtsi | 4 ++--
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
index 0da9623ea084..79575d6b3a81 100644
--- a/arch/arm/boot/dts/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
@@ -375,8 +375,8 @@ intc: interrupt-controller@2000000 {
};
timer@200a000 {
- compatible = "qcom,kpss-timer",
- "qcom,kpss-wdt-apq8064", "qcom,msm-timer";
+ compatible = "qcom,kpss-wdt-apq8064", "qcom,kpss-timer",
+ "qcom,msm-timer";
interrupts = <1 1 0x301>,
<1 2 0x301>,
<1 3 0x301>;
diff --git a/arch/arm/boot/dts/qcom-ipq4019.dtsi b/arch/arm/boot/dts/qcom-ipq4019.dtsi
index acb08dcf9442..a73c3a17b6a4 100644
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
@@ -400,7 +400,7 @@ blsp1_uart2: serial@78b0000 {
};
watchdog: watchdog@b017000 {
- compatible = "qcom,kpss-wdt", "qcom,kpss-wdt-ipq4019";
+ compatible = "qcom,kpss-wdt-ipq4019", "qcom,kpss-wdt";
reg = <0xb017000 0x40>;
clocks = <&sleep_clk>;
timeout-sec = <10>;
diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
index 7e784b0995da..9daafe9de02a 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -549,8 +549,8 @@ intc: interrupt-controller@2000000 {
};
timer@200a000 {
- compatible = "qcom,kpss-timer",
- "qcom,kpss-wdt-ipq8064", "qcom,msm-timer";
+ compatible = "qcom,kpss-wdt-ipq8064", "qcom,kpss-timer",
+ "qcom,msm-timer";
interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) |
IRQ_TYPE_EDGE_RISING)>,
<GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) |
diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi
index 7debf9db7cb1..63c3c40fe9a2 100644
--- a/arch/arm/boot/dts/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8960.dtsi
@@ -103,8 +103,8 @@ intc: interrupt-controller@2000000 {
};
timer@200a000 {
- compatible = "qcom,kpss-timer",
- "qcom,kpss-wdt-msm8960", "qcom,msm-timer";
+ compatible = "qcom,kpss-wdt-msm8960", "qcom,kpss-timer",
+ "qcom,msm-timer";
interrupts = <GIC_PPI 1 0x301>,
<GIC_PPI 2 0x301>,
<GIC_PPI 3 0x301>;
--
2.34.1
Keep only one clock frequency for timer, because:
1. DT schema does not allow multiple frequencies in such property,
2. The Linux timer driver reads only first frequency.
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/qcom-mdm9615.dtsi | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/qcom-mdm9615.dtsi b/arch/arm/boot/dts/qcom-mdm9615.dtsi
index b0fe1d95d88f..a6331e5ebe09 100644
--- a/arch/arm/boot/dts/qcom-mdm9615.dtsi
+++ b/arch/arm/boot/dts/qcom-mdm9615.dtsi
@@ -84,8 +84,7 @@ timer@200a000 {
<GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_EDGE_RISING)>,
<GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_EDGE_RISING)>;
reg = <0x0200a000 0x100>;
- clock-frequency = <27000000>,
- <32768>;
+ clock-frequency = <27000000>;
cpu-offset = <0x80000>;
};
--
2.34.1
On 12.12.2022 17:35, Krzysztof Kozlowski wrote:
> The most specific compatible should be upfront.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>
Konrad
> arch/arm/boot/dts/qcom-apq8064.dtsi | 4 ++--
> arch/arm/boot/dts/qcom-ipq4019.dtsi | 2 +-
> arch/arm/boot/dts/qcom-ipq8064.dtsi | 4 ++--
> arch/arm/boot/dts/qcom-msm8960.dtsi | 4 ++--
> 4 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
> index 0da9623ea084..79575d6b3a81 100644
> --- a/arch/arm/boot/dts/qcom-apq8064.dtsi
> +++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
> @@ -375,8 +375,8 @@ intc: interrupt-controller@2000000 {
> };
>
> timer@200a000 {
> - compatible = "qcom,kpss-timer",
> - "qcom,kpss-wdt-apq8064", "qcom,msm-timer";
> + compatible = "qcom,kpss-wdt-apq8064", "qcom,kpss-timer",
> + "qcom,msm-timer";
> interrupts = <1 1 0x301>,
> <1 2 0x301>,
> <1 3 0x301>;
> diff --git a/arch/arm/boot/dts/qcom-ipq4019.dtsi b/arch/arm/boot/dts/qcom-ipq4019.dtsi
> index acb08dcf9442..a73c3a17b6a4 100644
> --- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
> +++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
> @@ -400,7 +400,7 @@ blsp1_uart2: serial@78b0000 {
> };
>
> watchdog: watchdog@b017000 {
> - compatible = "qcom,kpss-wdt", "qcom,kpss-wdt-ipq4019";
> + compatible = "qcom,kpss-wdt-ipq4019", "qcom,kpss-wdt";
> reg = <0xb017000 0x40>;
> clocks = <&sleep_clk>;
> timeout-sec = <10>;
> diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> index 7e784b0995da..9daafe9de02a 100644
> --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
> +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
> @@ -549,8 +549,8 @@ intc: interrupt-controller@2000000 {
> };
>
> timer@200a000 {
> - compatible = "qcom,kpss-timer",
> - "qcom,kpss-wdt-ipq8064", "qcom,msm-timer";
> + compatible = "qcom,kpss-wdt-ipq8064", "qcom,kpss-timer",
> + "qcom,msm-timer";
> interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) |
> IRQ_TYPE_EDGE_RISING)>,
> <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) |
> diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi
> index 7debf9db7cb1..63c3c40fe9a2 100644
> --- a/arch/arm/boot/dts/qcom-msm8960.dtsi
> +++ b/arch/arm/boot/dts/qcom-msm8960.dtsi
> @@ -103,8 +103,8 @@ intc: interrupt-controller@2000000 {
> };
>
> timer@200a000 {
> - compatible = "qcom,kpss-timer",
> - "qcom,kpss-wdt-msm8960", "qcom,msm-timer";
> + compatible = "qcom,kpss-wdt-msm8960", "qcom,kpss-timer",
> + "qcom,msm-timer";
> interrupts = <GIC_PPI 1 0x301>,
> <GIC_PPI 2 0x301>,
> <GIC_PPI 3 0x301>;
On 12.12.2022 17:35, Krzysztof Kozlowski wrote:
> Keep only one clock frequency for timer, because:
> 1. DT schema does not allow multiple frequencies in such property,
> 2. The Linux timer driver reads only first frequency.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>
Konrad
> arch/arm/boot/dts/qcom-mdm9615.dtsi | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/arm/boot/dts/qcom-mdm9615.dtsi b/arch/arm/boot/dts/qcom-mdm9615.dtsi
> index b0fe1d95d88f..a6331e5ebe09 100644
> --- a/arch/arm/boot/dts/qcom-mdm9615.dtsi
> +++ b/arch/arm/boot/dts/qcom-mdm9615.dtsi
> @@ -84,8 +84,7 @@ timer@200a000 {
> <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_EDGE_RISING)>,
> <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_EDGE_RISING)>;
> reg = <0x0200a000 0x100>;
> - clock-frequency = <27000000>,
> - <32768>;
> + clock-frequency = <27000000>;
> cpu-offset = <0x80000>;
> };
>
On Mon, Dec 12, 2022 at 05:35:25PM +0100, Krzysztof Kozlowski wrote:
> Both of type of watchdogs described in the binding (the KPSS watchdog
> and APSS WDT timer) have interrupts. Allow interrupts and describe them
> for KPSS watchdog to fix warnings like:
>
> watchdog@17c10000: Unevaluated properties are not allowed ('interrupts' was unexpected)
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../bindings/watchdog/qcom-wdt.yaml | 24 ++++++++++++++++---
> 1 file changed, 21 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
> index 1828eaf70b3b..b7fc57f4800e 100644
> --- a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
> @@ -9,9 +9,6 @@ title: Qualcomm Krait Processor Sub-system (KPSS) Watchdog timer
> maintainers:
> - Sai Prakash Ranjan <[email protected]>
>
> -allOf:
> - - $ref: watchdog.yaml#
> -
> properties:
> compatible:
> oneOf:
> @@ -51,11 +48,31 @@ properties:
> clocks:
> maxItems: 1
>
> + interrupts:
> + minItems: 1
> + maxItems: 5
I only see 2 interrupts described at all.
> +
> required:
> - compatible
> - reg
> - clocks
>
> +allOf:
> + - $ref: watchdog.yaml#
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: qcom,kpss-wdt
> + then:
> + properties:
> + interrupts:
> + minItems: 1
> + items:
> + - description: Bark
> + - description: Bite
> +
> unevaluatedProperties: false
>
> examples:
> @@ -66,5 +83,6 @@ examples:
> compatible = "qcom,apss-wdt-sm8150", "qcom,kpss-wdt";
> reg = <0x17c10000 0x1000>;
> clocks = <&sleep_clk>;
> + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
> timeout-sec = <10>;
> };
> --
> 2.34.1
>
>
On Mon, Dec 12, 2022 at 05:35:25PM +0100, Krzysztof Kozlowski wrote:
> Both of type of watchdogs described in the binding (the KPSS watchdog
> and APSS WDT timer) have interrupts. Allow interrupts and describe them
> for KPSS watchdog to fix warnings like:
>
> watchdog@17c10000: Unevaluated properties are not allowed ('interrupts' was unexpected)
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../bindings/watchdog/qcom-wdt.yaml | 24 ++++++++++++++++---
> 1 file changed, 21 insertions(+), 3 deletions(-)
Reviewed-by: Rob Herring <[email protected]>
On Mon, 12 Dec 2022 17:35:21 +0100, Krzysztof Kozlowski wrote:
> The device specific compatibles ("qcom,kpss-wdt-ipq4019") should be
> follwed by fallback "qcom,kpss-wdt", which is actually used by Linux
> driver for binding.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Acked-by: Rob Herring <[email protected]>
On Mon, 12 Dec 2022 17:35:21 +0100, Krzysztof Kozlowski wrote:
> The device specific compatibles ("qcom,kpss-wdt-ipq4019") should be
> follwed by fallback "qcom,kpss-wdt", which is actually used by Linux
> driver for binding.
>
>
Applied, thanks!
[07/12] ARM: dts: qcom: reverse compatibles to match bindings
commit: 25da76a92f88b57331946e98f659b2626d512ea2
[08/12] ARM: dts: qcom: apq8064: drop second clock frequency from timer
commit: 462671ab0472175b52a45b91abf140df3ecf7326
[09/12] ARM: dts: qcom: ipq8064: drop second clock frequency from timer
commit: aa482e69cd3b3513d952eab71858534315b535bf
[10/12] ARM: dts: qcom: mdm9615: drop second clock frequency from timer
commit: 501d1437d57604659a02378d712a8fc347f8ed84
[11/12] ARM: dts: qcom: msm8960: drop second clock frequency from timer
commit: f630f8205c37579092b37cf216428a43a73e35b8
[12/12] ARM: dts: qcom: msm8960: add qcom,kpss-wdt-mdm9615
commit: af657876c67062a07650cacf5f0b2c754d9f14d6
Best regards,
--
Bjorn Andersson <[email protected]>
On Mon, Dec 12, 2022 at 05:35:21PM +0100, Krzysztof Kozlowski wrote:
> The device specific compatibles ("qcom,kpss-wdt-ipq4019") should be
> follwed by fallback "qcom,kpss-wdt", which is actually used by Linux
> driver for binding.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> Acked-by: Rob Herring <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>
> ---
> Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
> index a1f17c9e02db..e76364c52fc7 100644
> --- a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
> @@ -17,6 +17,7 @@ properties:
> oneOf:
> - items:
> - enum:
> + - qcom,kpss-wdt-ipq4019
> - qcom,apss-wdt-msm8994
> - qcom,apss-wdt-qcs404
> - qcom,apss-wdt-sc7180
> @@ -35,7 +36,6 @@ properties:
> - qcom,kpss-wdt
> - qcom,kpss-timer
> - qcom,kpss-wdt-apq8064
> - - qcom,kpss-wdt-ipq4019
> - qcom,kpss-wdt-ipq8064
> - qcom,kpss-wdt-msm8960
> - qcom,scss-timer
On Mon, Dec 12, 2022 at 05:35:25PM +0100, Krzysztof Kozlowski wrote:
> Both of type of watchdogs described in the binding (the KPSS watchdog
> and APSS WDT timer) have interrupts. Allow interrupts and describe them
> for KPSS watchdog to fix warnings like:
>
> watchdog@17c10000: Unevaluated properties are not allowed ('interrupts' was unexpected)
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> Reviewed-by: Rob Herring <[email protected]>
Reviewed-by: Guenter Roeck <[email protected]>
> ---
> .../bindings/watchdog/qcom-wdt.yaml | 24 ++++++++++++++++---
> 1 file changed, 21 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
> index 1828eaf70b3b..b7fc57f4800e 100644
> --- a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
> +++ b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml
> @@ -9,9 +9,6 @@ title: Qualcomm Krait Processor Sub-system (KPSS) Watchdog timer
> maintainers:
> - Sai Prakash Ranjan <[email protected]>
>
> -allOf:
> - - $ref: watchdog.yaml#
> -
> properties:
> compatible:
> oneOf:
> @@ -51,11 +48,31 @@ properties:
> clocks:
> maxItems: 1
>
> + interrupts:
> + minItems: 1
> + maxItems: 5
> +
> required:
> - compatible
> - reg
> - clocks
>
> +allOf:
> + - $ref: watchdog.yaml#
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: qcom,kpss-wdt
> + then:
> + properties:
> + interrupts:
> + minItems: 1
> + items:
> + - description: Bark
> + - description: Bite
> +
> unevaluatedProperties: false
>
> examples:
> @@ -66,5 +83,6 @@ examples:
> compatible = "qcom,apss-wdt-sm8150", "qcom,kpss-wdt";
> reg = <0x17c10000 0x1000>;
> clocks = <&sleep_clk>;
> + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
> timeout-sec = <10>;
> };