The SCP has three memory regions: sram, l1tcm and cfg. Only sram is
required, the other two are optional. Fix the dt-binding so that the
optional regions can be omitted and passed in any order.
Also add the missing minItems to the reg property and update the
description.
Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
---
.../devicetree/bindings/remoteproc/mtk,scp.yaml | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
index 823a236242de..ec9ddeb6ca2c 100644
--- a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
@@ -24,14 +24,20 @@ properties:
reg:
description:
Should contain the address ranges for memory regions SRAM, CFG, and
- L1TCM.
+ L1TCM. Only SRAM is required, while CFG and L1TCM are optional.
+ minItems: 1
maxItems: 3
reg-names:
+ minItems: 1
items:
- const: sram
- - const: cfg
- - const: l1tcm
+ - enum:
+ - l1tcm
+ - cfg
+ - enum:
+ - l1tcm
+ - cfg
clocks:
description:
--
2.36.0
On Mon, May 02, 2022 at 10:33:29AM -0500, Rob Herring wrote:
> On Fri, 29 Apr 2022 17:11:09 -0400, N?colas F. R. A. Prado wrote:
> > The SCP has three memory regions: sram, l1tcm and cfg. Only sram is
> > required, the other two are optional. Fix the dt-binding so that the
> > optional regions can be omitted and passed in any order.
> >
> > Also add the missing minItems to the reg property and update the
> > description.
> >
> > Signed-off-by: N?colas F. R. A. Prado <[email protected]>
> >
> > ---
> >
> > .../devicetree/bindings/remoteproc/mtk,scp.yaml | 12 +++++++++---
> > 1 file changed, 9 insertions(+), 3 deletions(-)
> >
>
> Running 'make dtbs_check' with the schema in this patch gives the
> following warnings. Consider if they are expected or the schema is
> incorrect. These may not be new warnings.
Hi Rob,
These indeed aren't new warnings. But in any case, the fix for the interrupts
one is already on its way to mainline [1]. And the memory-region one is what is
fixed by patch 2 in this series.
Thanks,
N?colas
[1] https://lore.kernel.org/all/[email protected]/
>
> Note that it is not yet a requirement to have 0 warnings for dtbs_check.
> This will change in the future.
>
> Full log is available here: https://patchwork.ozlabs.org/patch/
>
>
> scp@10500000: interrupts: [[0, 174, 4]] is not of type 'object'
> arch/arm64/boot/dts/mediatek/mt8183-evb.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-burnet.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-cozmo.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14-sku2.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku6.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku7.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-juniper-sku16.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kappa.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kenzo.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku0.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku1.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu-sku22.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku16.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku272.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku288.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku32.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku0.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dtb
> arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dtb
>
> scp@10500000: memory-region: [[25]] is not of type 'object'
> arch/arm64/boot/dts/mediatek/mt8183-evb.dtb
>
> scp@10500000: memory-region: [[27]] is not of type 'object'
> arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dtb
>
> scp@10500000: memory-region: [[28]] is not of type 'object'
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-burnet.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-cozmo.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14-sku2.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku6.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku7.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-juniper-sku16.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kappa.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kenzo.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku0.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku1.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu-sku22.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku16.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku272.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku288.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku32.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku0.dtb
> arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dtb
>
>
> --
> To unsubscribe, send mail to [email protected].
On Fri, 29 Apr 2022 17:11:09 -0400, Nícolas F. R. A. Prado wrote:
> The SCP has three memory regions: sram, l1tcm and cfg. Only sram is
> required, the other two are optional. Fix the dt-binding so that the
> optional regions can be omitted and passed in any order.
>
> Also add the missing minItems to the reg property and update the
> description.
>
> Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
>
> ---
>
> .../devicetree/bindings/remoteproc/mtk,scp.yaml | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
Running 'make dtbs_check' with the schema in this patch gives the
following warnings. Consider if they are expected or the schema is
incorrect. These may not be new warnings.
Note that it is not yet a requirement to have 0 warnings for dtbs_check.
This will change in the future.
Full log is available here: https://patchwork.ozlabs.org/patch/
scp@10500000: interrupts: [[0, 174, 4]] is not of type 'object'
arch/arm64/boot/dts/mediatek/mt8183-evb.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-burnet.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-cozmo.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14-sku2.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku6.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku7.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-juniper-sku16.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kappa.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kenzo.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku0.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku1.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu-sku22.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku16.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku272.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku288.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku32.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku0.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dtb
arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dtb
scp@10500000: memory-region: [[25]] is not of type 'object'
arch/arm64/boot/dts/mediatek/mt8183-evb.dtb
scp@10500000: memory-region: [[27]] is not of type 'object'
arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dtb
scp@10500000: memory-region: [[28]] is not of type 'object'
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-burnet.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-cozmo.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-damu.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel14-sku2.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku6.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku7.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-juniper-sku16.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kappa.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-kenzo.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku0.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-willow-sku1.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kakadu-sku22.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku16.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku272.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku288.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-kodama-sku32.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku0.dtb
arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dtb
Il 03/05/22 14:19, Krzysztof Kozlowski ha scritto:
> On 29/04/2022 23:11, Nícolas F. R. A. Prado wrote:
>> The SCP has three memory regions: sram, l1tcm and cfg. Only sram is
>> required, the other two are optional. Fix the dt-binding so that the
>> optional regions can be omitted and passed in any order.
>
> No, cannot be passed in any order.
>
>>
>> Also add the missing minItems to the reg property and update the
>> description.
>>
>> Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
>>
>> ---
>>
>> .../devicetree/bindings/remoteproc/mtk,scp.yaml | 12 +++++++++---
>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
>> index 823a236242de..ec9ddeb6ca2c 100644
>> --- a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
>> +++ b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
>> @@ -24,14 +24,20 @@ properties:
>> reg:
>> description:
>> Should contain the address ranges for memory regions SRAM, CFG, and
>> - L1TCM.
>> + L1TCM. Only SRAM is required, while CFG and L1TCM are optional.
>> + minItems: 1
>> maxItems: 3
>>
>> reg-names:
>> + minItems: 1
>> items:
>> - const: sram
>> - - const: cfg
>> - - const: l1tcm
>> + - enum:
>> + - l1tcm
>> + - cfg
>> + - enum:
>> + - l1tcm
>> + - cfg
>
> This allows them in any combination which is not what we want. If both
> are optional and both can appear, then last should be a const:l1tcm.
>
> Best regards,
> Krzysztof
Nicolas, I think that you weren't clear about what you're trying to solve with this
commit in the description.
I remember you had this kind of instance, but I don't really remember if it was
about mtk,scp or (and?) something else.... so.... are you trying to fix issues
with devicetrees declaring
reg-names = "sram", "l1tcm"; ?
Was this giving dtbs_check errors?
Cheers,
Angelo
On Tue, May 03, 2022 at 02:19:39PM +0200, Krzysztof Kozlowski wrote:
> On 29/04/2022 23:11, N?colas F. R. A. Prado wrote:
> > The SCP has three memory regions: sram, l1tcm and cfg. Only sram is
> > required, the other two are optional. Fix the dt-binding so that the
> > optional regions can be omitted and passed in any order.
>
> No, cannot be passed in any order.
>
> >
> > Also add the missing minItems to the reg property and update the
> > description.
> >
> > Signed-off-by: N?colas F. R. A. Prado <[email protected]>
> >
> > ---
> >
> > .../devicetree/bindings/remoteproc/mtk,scp.yaml | 12 +++++++++---
> > 1 file changed, 9 insertions(+), 3 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
> > index 823a236242de..ec9ddeb6ca2c 100644
> > --- a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
> > +++ b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
> > @@ -24,14 +24,20 @@ properties:
> > reg:
> > description:
> > Should contain the address ranges for memory regions SRAM, CFG, and
> > - L1TCM.
> > + L1TCM. Only SRAM is required, while CFG and L1TCM are optional.
> > + minItems: 1
> > maxItems: 3
> >
> > reg-names:
> > + minItems: 1
> > items:
> > - const: sram
> > - - const: cfg
> > - - const: l1tcm
> > + - enum:
> > + - l1tcm
> > + - cfg
> > + - enum:
> > + - l1tcm
> > + - cfg
>
> This allows them in any combination which is not what we want. If both
> are optional and both can appear, then last should be a const:l1tcm.
Hi Krzysztof,
yes, that's the case. I'll update it in v3 then.
Thanks,
N?colas
>
> Best regards,
> Krzysztof
On Tue, May 03, 2022 at 02:26:15PM +0200, AngeloGioacchino Del Regno wrote:
> Il 03/05/22 14:19, Krzysztof Kozlowski ha scritto:
> > On 29/04/2022 23:11, N?colas F. R. A. Prado wrote:
> > > The SCP has three memory regions: sram, l1tcm and cfg. Only sram is
> > > required, the other two are optional. Fix the dt-binding so that the
> > > optional regions can be omitted and passed in any order.
> >
> > No, cannot be passed in any order.
> >
> > >
> > > Also add the missing minItems to the reg property and update the
> > > description.
> > >
> > > Signed-off-by: N?colas F. R. A. Prado <[email protected]>
> > >
> > > ---
> > >
> > > .../devicetree/bindings/remoteproc/mtk,scp.yaml | 12 +++++++++---
> > > 1 file changed, 9 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
> > > index 823a236242de..ec9ddeb6ca2c 100644
> > > --- a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
> > > +++ b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
> > > @@ -24,14 +24,20 @@ properties:
> > > reg:
> > > description:
> > > Should contain the address ranges for memory regions SRAM, CFG, and
> > > - L1TCM.
> > > + L1TCM. Only SRAM is required, while CFG and L1TCM are optional.
> > > + minItems: 1
> > > maxItems: 3
> > > reg-names:
> > > + minItems: 1
> > > items:
> > > - const: sram
> > > - - const: cfg
> > > - - const: l1tcm
> > > + - enum:
> > > + - l1tcm
> > > + - cfg
> > > + - enum:
> > > + - l1tcm
> > > + - cfg
> >
> > This allows them in any combination which is not what we want. If both
> > are optional and both can appear, then last should be a const:l1tcm.
> >
> > Best regards,
> > Krzysztof
>
> Nicolas, I think that you weren't clear about what you're trying to solve with this
> commit in the description.
>
> I remember you had this kind of instance, but I don't really remember if it was
> about mtk,scp or (and?) something else.... so.... are you trying to fix issues
> with devicetrees declaring
>
> reg-names = "sram", "l1tcm"; ?
>
> Was this giving dtbs_check errors?
Hi Angelo,
yes, some devicetrees (like mt8183) have
reg-names = "sram", "cfg";
I'll include mention of this in the commit description for v3.
This was also supposed to fix the warning for mt8192, where the order is
different: "sram", "l1tcm", "cfg". But since Krzysztof said that we want a fixed
order, then the mt8192 DT will need to be updated. (I also just noticed that
it's just l1tcm that is optional, I was just being blind, so I'll also fix that
in v3)
Thanks,
N?colas
>
> Cheers,
> Angelo
On 29/04/2022 23:11, Nícolas F. R. A. Prado wrote:
> The SCP has three memory regions: sram, l1tcm and cfg. Only sram is
> required, the other two are optional. Fix the dt-binding so that the
> optional regions can be omitted and passed in any order.
No, cannot be passed in any order.
>
> Also add the missing minItems to the reg property and update the
> description.
>
> Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
>
> ---
>
> .../devicetree/bindings/remoteproc/mtk,scp.yaml | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
> index 823a236242de..ec9ddeb6ca2c 100644
> --- a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
> @@ -24,14 +24,20 @@ properties:
> reg:
> description:
> Should contain the address ranges for memory regions SRAM, CFG, and
> - L1TCM.
> + L1TCM. Only SRAM is required, while CFG and L1TCM are optional.
> + minItems: 1
> maxItems: 3
>
> reg-names:
> + minItems: 1
> items:
> - const: sram
> - - const: cfg
> - - const: l1tcm
> + - enum:
> + - l1tcm
> + - cfg
> + - enum:
> + - l1tcm
> + - cfg
This allows them in any combination which is not what we want. If both
are optional and both can appear, then last should be a const:l1tcm.
Best regards,
Krzysztof
On 03/05/2022 22:41, Nícolas F. R. A. Prado wrote:
>
> This was also supposed to fix the warning for mt8192, where the order is
> different: "sram", "l1tcm", "cfg". But since Krzysztof said that we want a fixed
> order, then the mt8192 DT will need to be updated.
Yes, please update DTS.
Best regards,
Krzysztof