[PATCH 2/4] dt-bindings: memory: mediatek: Add smi-sub-common property for reset
Friday Yang (杨阳)
Friday.Yang at mediatek.com
Fri Oct 25 02:32:55 PDT 2024
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 at mediatek.com>
> >>> ---
> >>> .../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 at 1c024000 {
compatible = "mediatek,mt8188-smi-common-vdo";
reg = <0 0x1c024000 0 0x1000>;
...
};
smi_sub_common_img0_4x1: smi at 15002000 {
compatible = "mediatek,mt8188-smi-sub-common";
reg = <0 0x15002000 0 0x1000>;
mediatek,smi = <&smi_common_vpp 5>;
....
};
larb10: larb at 15120000 {
compatible = "mediatek,mt8188-smi-larb";
reg = <0 0x15120000 0 0x1000>;
mediatek,smi = <&smi_sub_common_img0_4x1 1>;
...
};
>
> Best regards,
> Krzysztof
>
More information about the Linux-mediatek
mailing list