Message ID | 20220511195452.871897-2-nfraprado@collabora.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | Mediatek SCP dt-binding tweaks | expand |
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 <nfraprado@collabora.com> > > --- > > 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 <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
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>;
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 <nfraprado@collabora.com> --- 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(-)