Commit ca23ecfdbd44 ("remoteproc/mediatek: support L1TCM") added support
for the l1tcm memory region on the MT8192 SCP, adding a new da_to_va
callback that handles l1tcm while keeping the old one for
back-compatibility with MT8183. However, since the mt8192 compatible was
missing from the dt-binding, the accompanying dt-binding commit
503c64cc42f1 ("dt-bindings: remoteproc: mediatek: add L1TCM memory region")
mistakenly added this reg as if it were for mt8183. And later
it became common to all platforms as their compatibles were added.
Fix the dt-binding so that the l1tcm reg can be present only on the
supported platforms: mt8192 and mt8195.
Fixes: 503c64cc42f1 ("dt-bindings: remoteproc: mediatek: add L1TCM memory region")
Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
---
Changes in v5:
- Made l1tcm optional for mt8192/mt8195
- Greatly simplified the constraints override in the if:then:
- Updated commit message
Changes in v4:
- Reworked presence of l1tcm reg to be if:then: based and present only
on mt8192/mt8195
- Rewrote commit message
- Added Fixes tag
Changes in v3:
- Made the cfg reg required again. After looking again into the mtk-scp
driver, only l1tcm is optional.
- Added mention that a dtbs_check warning gets fixed by patch in commit
message.
.../bindings/remoteproc/mtk,scp.yaml | 44 +++++++++++++------
1 file changed, 30 insertions(+), 14 deletions(-)
diff --git a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
index abc11ac92818..832064d635b3 100644
--- a/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml
@@ -23,11 +23,13 @@ properties:
reg:
description:
- Should contain the address ranges for memory regions SRAM, CFG, and
- L1TCM.
+ Should contain the address ranges for memory regions SRAM, CFG, and,
+ on some platforms, L1TCM.
+ minItems: 2
maxItems: 3
reg-names:
+ minItems: 2
items:
- const: sram
- const: cfg
@@ -57,16 +59,30 @@ required:
- reg
- reg-names
-if:
- properties:
- compatible:
- enum:
- - mediatek,mt8183-scp
- - mediatek,mt8192-scp
-then:
- required:
- - clocks
- - clock-names
+allOf:
+ - if:
+ properties:
+ compatible:
+ enum:
+ - mediatek,mt8183-scp
+ - mediatek,mt8192-scp
+ then:
+ required:
+ - clocks
+ - clock-names
+
+ - if:
+ properties:
+ compatible:
+ enum:
+ - mediatek,mt8183-scp
+ - mediatek,mt8186-scp
+ then:
+ properties:
+ reg:
+ maxItems: 2
+ reg-names:
+ maxItems: 2
additionalProperties:
type: object
@@ -86,10 +102,10 @@ additionalProperties:
examples:
- |
- #include <dt-bindings/clock/mt8183-clk.h>
+ #include <dt-bindings/clock/mt8192-clk.h>
scp@10500000 {
- compatible = "mediatek,mt8183-scp";
+ compatible = "mediatek,mt8192-scp";
reg = <0x10500000 0x80000>,
<0x10700000 0x8000>,
<0x10720000 0xe0000>;
--
2.36.1
On 11/05/2022 21:54, Nícolas F. R. A. Prado wrote:
Thank you for your patch. There is something to discuss/improve.
>
> -if:
> - properties:
> - compatible:
> - enum:
> - - mediatek,mt8183-scp
> - - mediatek,mt8192-scp
> -then:
> - required:
> - - clocks
> - - clock-names
> +allOf:
> + - if:
> + properties:
> + compatible:
> + enum:
> + - mediatek,mt8183-scp
> + - mediatek,mt8192-scp
> + then:
> + required:
> + - clocks
> + - clock-names
> +
> + - if:
> + properties:
> + compatible:
> + enum:
> + - mediatek,mt8183-scp
> + - mediatek,mt8186-scp
> + then:
> + properties:
> + reg:
> + maxItems: 2
> + reg-names:
> + maxItems: 2
Isn't l1tcm required on mt819x? Now it is left optional.
Best regards,
Krzysztof
On Fri, May 13, 2022 at 10:15:51AM +0200, Krzysztof Kozlowski wrote:
> On 11/05/2022 21:54, N?colas F. R. A. Prado wrote:
>
> Thank you for your patch. There is something to discuss/improve.
>
> >
> > -if:
> > - properties:
> > - compatible:
> > - enum:
> > - - mediatek,mt8183-scp
> > - - mediatek,mt8192-scp
> > -then:
> > - required:
> > - - clocks
> > - - clock-names
> > +allOf:
> > + - if:
> > + properties:
> > + compatible:
> > + enum:
> > + - mediatek,mt8183-scp
> > + - mediatek,mt8192-scp
> > + then:
> > + required:
> > + - clocks
> > + - clock-names
> > +
> > + - if:
> > + properties:
> > + compatible:
> > + enum:
> > + - mediatek,mt8183-scp
> > + - mediatek,mt8186-scp
> > + then:
> > + properties:
> > + reg:
> > + maxItems: 2
> > + reg-names:
> > + maxItems: 2
>
> Isn't l1tcm required on mt819x? Now it is left optional.
Hi Krzysztof,
actually l1tcm is optional for mt819x, as commented by Tzung-Bi on v4 [1]. So
that change was intended.
Thanks,
N?colas
[1] https://lore.kernel.org/all/CA+Px+wXQjys8xvTSSJkLXoGp4yQnANbKWBtfuxiYi0UX6DH0jw@mail.gmail.com/
>
>
> Best regards,
> Krzysztof
On 11/05/2022 21:54, Nícolas F. R. A. Prado wrote:
> Commit ca23ecfdbd44 ("remoteproc/mediatek: support L1TCM") added support
> for the l1tcm memory region on the MT8192 SCP, adding a new da_to_va
> callback that handles l1tcm while keeping the old one for
> back-compatibility with MT8183. However, since the mt8192 compatible was
> missing from the dt-binding, the accompanying dt-binding commit
> 503c64cc42f1 ("dt-bindings: remoteproc: mediatek: add L1TCM memory region")
> mistakenly added this reg as if it were for mt8183. And later
> it became common to all platforms as their compatibles were added.
>
> Fix the dt-binding so that the l1tcm reg can be present only on the
> supported platforms: mt8192 and mt8195.
>
> Fixes: 503c64cc42f1 ("dt-bindings: remoteproc: mediatek: add L1TCM memory region")
> Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
>
> ---
>
> Changes in v5:
> - Made l1tcm optional for mt8192/mt8195
> - Greatly simplified the constraints override in the if:then:
> - Updated commit message
>
Reviewed-by: Krzysztof Kozlowski <[email protected]>
Best regards,
Krzysztof