2021-08-10 18:07:57

by Rakesh Pillai

[permalink] [raw]
Subject: [PATCH v2 0/3] Add support for sc7280 WPSS PIL loading

Add support for PIL loading of WPSS co-processor for SC7280 SOCs.

Rakesh Pillai (3):
dt-bindings: remoteproc: qcom: adsp: Convert binding to YAML
dt-bindings: remoteproc: qcom: Add SC7280 WPSS support
remoteproc: qcom: q6v5_wpss: Add support for sc7280 WPSS

.../bindings/remoteproc/qcom,hexagon-v56.txt | 140 --------
.../bindings/remoteproc/qcom,hexagon-v56.yaml | 361 +++++++++++++++++++++
drivers/remoteproc/qcom_q6v5_adsp.c | 70 +++-
3 files changed, 430 insertions(+), 141 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.txt
create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.yaml

--
2.7.4


2021-08-10 18:08:27

by Rakesh Pillai

[permalink] [raw]
Subject: [PATCH v2 2/3] dt-bindings: remoteproc: qcom: Add SC7280 WPSS support

Add WPSS PIL loading support for SC7280 SoCs.

Signed-off-by: Rakesh Pillai <[email protected]>
---
.../bindings/remoteproc/qcom,hexagon-v56.yaml | 79 ++++++++++++++++++++--
1 file changed, 74 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.yaml
index 5f3558e..9ae433c6 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.yaml
@@ -17,6 +17,7 @@ properties:
compatible:
enum:
- qcom,qcs404-cdsp-pil
+ - qcom,sc7280-wpss-pil
- qcom,sdm845-adsp-pil

reg:
@@ -26,25 +27,30 @@ properties:

interrupts-extended:
minItems: 5
- maxItems: 5
+ maxItems: 6

interrupt-names:
minItems: 5
- maxItems: 5
+ maxItems: 6

clocks:
- minItems: 7
+ minItems: 3
maxItems: 8
description:
List of phandles and clock specifier pairs for the Hexagon,
per clock-names below.

clock-names:
- minItems: 7
+ minItems: 3
maxItems: 8

power-domains:
- maxItems: 1
+ minItems: 1
+ maxItems: 2
+
+ power-domain-names:
+ minItems: 1
+ maxItems: 2

resets:
minItems: 1
@@ -92,6 +98,7 @@ required:
- clocks
- clock-names
- power-domains
+ - power-domain-names
- qcom,halt-regs
- memory-region
- qcom,smem-states
@@ -129,6 +136,31 @@ allOf:
compatible:
contains:
enum:
+ - qcom,sc7280-wpss-pil
+ then:
+ properties:
+ interrupts-extended:
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+ - description: Shutdown acknowledge interrupt
+ interrupt-names:
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+ - const: shutdown-ack
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
- qcom,sdm845-adsp-pil
then:
properties:
@@ -211,6 +243,26 @@ allOf:
power-domains:
items:
- description: CX power domain
+ power-domain-names:
+ items:
+ - const: cx
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,sc7280-wpss-pil
+ then:
+ properties:
+ power-domains:
+ items:
+ - description: CX power domain
+ - description: MX power domain
+ power-domain-names:
+ items:
+ - const: cx
+ - const: mx

- if:
properties:
@@ -244,6 +296,23 @@ allOf:
items:
- const: restart

+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,sc7280-wpss-pil
+ then:
+ properties:
+ resets:
+ items:
+ - description: AOSS restart
+ - description: PDC SYNC
+ reset-names:
+ items:
+ - const: restart
+ - const: pdc_sync
+
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
--
2.7.4

2021-08-11 17:27:38

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 2/3] dt-bindings: remoteproc: qcom: Add SC7280 WPSS support

On Tue, 10 Aug 2021 23:31:22 +0530, Rakesh Pillai wrote:
> Add WPSS PIL loading support for SC7280 SoCs.
>
> Signed-off-by: Rakesh Pillai <[email protected]>
> ---
> .../bindings/remoteproc/qcom,hexagon-v56.yaml | 79 ++++++++++++++++++++--
> 1 file changed, 74 insertions(+), 5 deletions(-)
>

My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.example.dt.yaml: remoteproc@17300000: 'power-domain-names' is a required property
From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.yaml

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/patch/1515482

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.

2021-08-11 17:40:58

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 2/3] dt-bindings: remoteproc: qcom: Add SC7280 WPSS support

On Tue, Aug 10, 2021 at 11:31:22PM +0530, Rakesh Pillai wrote:
> Add WPSS PIL loading support for SC7280 SoCs.
>
> Signed-off-by: Rakesh Pillai <[email protected]>
> ---
> .../bindings/remoteproc/qcom,hexagon-v56.yaml | 79 ++++++++++++++++++++--
> 1 file changed, 74 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.yaml
> index 5f3558e..9ae433c6 100644
> --- a/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-v56.yaml
> @@ -17,6 +17,7 @@ properties:
> compatible:
> enum:
> - qcom,qcs404-cdsp-pil
> + - qcom,sc7280-wpss-pil
> - qcom,sdm845-adsp-pil
>
> reg:
> @@ -26,25 +27,30 @@ properties:
>
> interrupts-extended:
> minItems: 5
> - maxItems: 5
> + maxItems: 6
>
> interrupt-names:
> minItems: 5
> - maxItems: 5
> + maxItems: 6
>
> clocks:
> - minItems: 7
> + minItems: 3

Patch 1 shows 3 clocks are valid...

> maxItems: 8
> description:
> List of phandles and clock specifier pairs for the Hexagon,
> per clock-names below.
>
> clock-names:
> - minItems: 7
> + minItems: 3
> maxItems: 8
>
> power-domains:
> - maxItems: 1
> + minItems: 1
> + maxItems: 2
> +
> + power-domain-names:
> + minItems: 1
> + maxItems: 2
>
> resets:
> minItems: 1
> @@ -92,6 +98,7 @@ required:
> - clocks
> - clock-names
> - power-domains
> + - power-domain-names

It's not backwards compatible to add a required property.

> - qcom,halt-regs
> - memory-region
> - qcom,smem-states
> @@ -129,6 +136,31 @@ allOf:
> compatible:
> contains:
> enum:
> + - qcom,sc7280-wpss-pil
> + then:
> + properties:
> + interrupts-extended:
> + items:
> + - description: Watchdog interrupt
> + - description: Fatal interrupt
> + - description: Ready interrupt
> + - description: Handover interrupt
> + - description: Stop acknowledge interrupt
> + - description: Shutdown acknowledge interrupt
> + interrupt-names:
> + items:
> + - const: wdog
> + - const: fatal
> + - const: ready
> + - const: handover
> + - const: stop-ack
> + - const: shutdown-ack

The items lists can go in the main section with 'minItems: 5' and just
'minItems: 6' here.

> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> - qcom,sdm845-adsp-pil
> then:
> properties:
> @@ -211,6 +243,26 @@ allOf:
> power-domains:
> items:
> - description: CX power domain
> + power-domain-names:
> + items:
> + - const: cx
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,sc7280-wpss-pil
> + then:
> + properties:
> + power-domains:
> + items:
> + - description: CX power domain
> + - description: MX power domain
> + power-domain-names:
> + items:
> + - const: cx
> + - const: mx

As 'cx' is always the first entry, the 'items' lists here can be moved
to the main section and you just need minItems or maxItems in the
if/then.

>
> - if:
> properties:
> @@ -244,6 +296,23 @@ allOf:
> items:
> - const: restart
>
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - qcom,sc7280-wpss-pil
> + then:
> + properties:
> + resets:
> + items:
> + - description: AOSS restart
> + - description: PDC SYNC
> + reset-names:
> + items:
> + - const: restart
> + - const: pdc_sync
> +
> examples:
> - |
> #include <dt-bindings/interrupt-controller/arm-gic.h>
> --
> 2.7.4
>
>

2021-09-09 08:38:50

by Rakesh Pillai

[permalink] [raw]
Subject: RE: [PATCH v2 2/3] dt-bindings: remoteproc: qcom: Add SC7280 WPSS support



> -----Original Message-----
> From: Rob Herring <[email protected]>
> Sent: Wednesday, August 11, 2021 10:55 PM
> To: Rakesh Pillai <[email protected]>
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; linux-
> [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH v2 2/3] dt-bindings: remoteproc: qcom: Add SC7280
> WPSS support
>
> On Tue, 10 Aug 2021 23:31:22 +0530, Rakesh Pillai wrote:
> > Add WPSS PIL loading support for SC7280 SoCs.
> >
> > Signed-off-by: Rakesh Pillai <[email protected]>
> > ---
> > .../bindings/remoteproc/qcom,hexagon-v56.yaml | 79
> ++++++++++++++++++++--
> > 1 file changed, 74 insertions(+), 5 deletions(-)
> >
>
> My bot found errors running 'make DT_CHECKER_FLAGS=-m
> dt_binding_check'
> on your patch (DT_CHECKER_FLAGS is new in v5.13):
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-
> v56.example.dt.yaml: remoteproc@17300000: 'power-domain-names' is a
> required property
> From schema: /builds/robherring/linux-dt-
> review/Documentation/devicetree/bindings/remoteproc/qcom,hexagon-
> v56.yaml
>
> doc reference errors (make refcheckdocs):
>
> See https://patchwork.ozlabs.org/patch/1515482
>
> This check can fail if there are any dependencies. The base for a patch
series
> is generally the most recent rc1.
>
> If you already ran 'make dt_binding_check' and didn't see the above
error(s),
> then make sure 'yamllint' is installed and dt-schema is up to
> date:
>
> pip3 install dtschema --upgrade
>
> Please check and re-submit.

Thanks Rob, I will submit next patchset for this and fix the issues.