Message ID | 20240821082845.11792-3-friday.yang@mediatek.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add SMI clamp and reset | expand |
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@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? > + > + 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. > + > required: > - compatible > - reg > @@ -125,6 +135,18 @@ allOf: > required: > - mediatek,larb-id > > + - if: > + properties: > + compatible: > + contains: > + enum: > + - mediatek,mt8188-smi-larb > + > + then: > + required: > + - mediatek,smi-sub-comm > + - mediatek,smi-sub-comm-in-portid > + and add it to the example (since you claim it is valid for every device). Best regards, Krzysztof
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. + + 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. + required: - compatible - reg @@ -125,6 +135,18 @@ allOf: required: - mediatek,larb-id + - if: + properties: + compatible: + contains: + enum: + - mediatek,mt8188-smi-larb + + then: + required: + - mediatek,smi-sub-comm + - mediatek,smi-sub-comm-in-portid + additionalProperties: false examples:
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@mediatek.com> --- .../mediatek,smi-common.yaml | 2 ++ .../memory-controllers/mediatek,smi-larb.yaml | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+)