Message ID | 20220429211111.2214119-2-nfraprado@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Mediatek SCP dt-binding tweaks | expand |
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 <nfraprado@collabora.com> > > --- > > .../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
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 <nfraprado@collabora.com> > > > > --- > > > > .../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/165066838719.2742284.7900096409445311556.b4-ty@linaro.org/ > > 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 kernel-unsubscribe@lists.collabora.co.uk.
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 <nfraprado@collabora.com> > > --- > > .../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
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 <nfraprado@collabora.com> >> >> --- >> >> .../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 <nfraprado@collabora.com> > > > > --- > > > > .../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 <nfraprado@collabora.com> > > > > > > --- > > > > > > .../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 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
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:
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 <nfraprado@collabora.com> --- .../devicetree/bindings/remoteproc/mtk,scp.yaml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)