On Thu, 2024-10-24 at 08:38 +0200, Krzysztof Kozlowski wrote: > > External email : Please do not click links or open attachments until > you have verified the sender or the content. > On 24/10/2024 03:28, Friday Yang (杨阳) wrote: > > On Wed, 2024-08-21 at 10:55 +0200, Krzysztof Kozlowski wrote: > >> > >> External email : Please do not click links or open attachments > until > >> you have verified the sender or the content. > >> On 21/08/2024 10:26, friday.yang wrote: > >>> On the MediaTek platform, some SMI LARBs are directly linked to > SMI > >>> common. While some SMI LARBs are linked to SMI sub common, then > SMI > >>> sub common is linked to SMI common. Add 'mediatek,smi-sub-comm' > and > >>> 'mediatek,smi-sub-comm-in-portid' properties here. The SMI reset > >>> driver could query which port of the SMI sub common the current > >> LARB > >>> is linked to through the two properties. The hardware block > diagram > >>> could be described as below. > >>> > >>> SMI Common(Smart Multimedia Interface Common) > >>> | > >>> +----------------+------- > >>> | | > >>> | | > >>> | | > >>> | | > >>> | | > >>> larb0 SMI Sub Common > >>> | | | > >>> larb1 larb2 larb3 > >>> > >>> Signed-off-by: friday.yang <friday.yang@xxxxxxxxxxxx> > >>> --- > >>> .../mediatek,smi-common.yaml | 2 ++ > >>> .../memory-controllers/mediatek,smi-larb.yaml | 22 > >> +++++++++++++++++++ > >>> 2 files changed, 24 insertions(+) > >>> > >>> diff --git a/Documentation/devicetree/bindings/memory- > >> controllers/mediatek,smi-common.yaml > >> b/Documentation/devicetree/bindings/memory- > controllers/mediatek,smi- > >> common.yaml > >>> index 2f36ac23604c..4392d349878c 100644 > >>> --- a/Documentation/devicetree/bindings/memory- > >> controllers/mediatek,smi-common.yaml > >>> +++ b/Documentation/devicetree/bindings/memory- > >> controllers/mediatek,smi-common.yaml > >>> @@ -39,6 +39,7 @@ properties: > >>> - mediatek,mt8186-smi-common > >>> - mediatek,mt8188-smi-common-vdo > >>> - mediatek,mt8188-smi-common-vpp > >>> + - mediatek,mt8188-smi-sub-common > >>> - mediatek,mt8192-smi-common > >>> - mediatek,mt8195-smi-common-vdo > >>> - mediatek,mt8195-smi-common-vpp > >>> @@ -107,6 +108,7 @@ allOf: > >>> compatible: > >>> contains: > >>> enum: > >>> + - mediatek,mt8188-smi-sub-common > >>> - mediatek,mt8195-smi-sub-common > >>> then: > >>> required: > >>> diff --git a/Documentation/devicetree/bindings/memory- > >> controllers/mediatek,smi-larb.yaml > >> b/Documentation/devicetree/bindings/memory- > controllers/mediatek,smi- > >> larb.yaml > >>> index 2381660b324c..5f162bb360db 100644 > >>> --- a/Documentation/devicetree/bindings/memory- > >> controllers/mediatek,smi-larb.yaml > >>> +++ b/Documentation/devicetree/bindings/memory- > >> controllers/mediatek,smi-larb.yaml > >>> @@ -69,6 +69,16 @@ properties: > >>> description: the hardware id of this larb. It's only > required > >> when this > >>> hardware id is not consecutive from its M4U point of view. > >>> > >>> + mediatek,smi-sub-comm: > >>> + $ref: /schemas/types.yaml#/definitions/phandle > >>> + description: a phandle of smi_sub_common that the larb is > >> linked to. > >> > >> Why do you have to smi phandle properties per each node? > >> > > > > As shown in the picture from the commit message, we have multipule > smi- > > sub-common, each SMI larb may link to one of the smi-sub-common. So > we > > need the 'mediatek,smi-sub-comm' to describe which smi-sub-common > the > > larb is linked to. > > In next version, I will add two smi-sub-common to the diagram in > the > > commit message. > > You respond two months after... That email conversation is not even > in > my mailbox anymore. > > Anyway, sub-common are subnodes, no? > IOMMU | SMI Common(Smart Multimedia Interface Common) | +----------------+------------------------+ | | | | | | | | | | | | | | | larb0 SMI-Sub-Common0 SMI-Sub-Common1 | | | | | larb2 larb4 larb5 larb1 larb7 This is the new version diagram. In MediaTek platform, some larbs are linked to SMI Common, while some other larbs are linked to smi-sub-common. Different platforms have different hardware structures. In the device tree, smi sub common is not a child node, but is at the same level as smi common. 'sub' is just a internal name rule. And 'mediatek,smi' is used to describe this connection. Example as below... > > > >>> + > >>> + mediatek,smi-sub-comm-in-portid: > >>> + $ref: /schemas/types.yaml#/definitions/uint32 > >>> + minimum: 0 > >>> + maximum: 7 > >>> + description: which port of smi_sub_common that the larb is > >> linked to. > >> > >> Merge it into phandle. > >> > > > > Just confirm, > > Do you mean merge these two into one property, like: > > mediatek,smi-sub-comm = <&phandle port-id>; > > Yes > We will remove 'mediatek,smi-sub-comm', which should be redundant. Merge this 'mediatek,smi-sub-comm-in-portid' into 'mediatek,smi', is this OK for you? smi_common_vdo: smi@1c024000 { compatible = "mediatek,mt8188-smi-common-vdo"; reg = <0 0x1c024000 0 0x1000>; ... }; smi_sub_common_img0_4x1: smi@15002000 { compatible = "mediatek,mt8188-smi-sub-common"; reg = <0 0x15002000 0 0x1000>; mediatek,smi = <&smi_common_vpp 5>; .... }; larb10: larb@15120000 { compatible = "mediatek,mt8188-smi-larb"; reg = <0 0x15120000 0 0x1000>; mediatek,smi = <&smi_sub_common_img0_4x1 1>; ... }; > > Best regards, > Krzysztof >