Add binding description for mt8189.
The clocks number of mt8189 smi-sub common has a bit difference.
Its clock count is 2, while mt8195 has 3. Therefore, the minimum
number of clocks is changed to 2, with the third one being optional.
About what smi-sub-common is, please check the below diagram,
we add it in mediatek,smi-common.yaml file.
Signed-off-by: Zhengnan Chen <zhengnan.chen@mediatek.com>
---
Hi Angelo,
We add a diagram in the smi-common yaml, We are not sure if you agree
with this. thus I remove your R-b.
Thanks.
---
---
.../mediatek,smi-common.yaml | 25 +++++++++++++++++--
.../memory-controllers/mediatek,smi-larb.yaml | 3 +++
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml
index 0762e0ff66ef..454d11a83973 100644
--- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml
@@ -25,6 +25,21 @@ description: |
SMI generation 1 to transform the smi clock into emi clock domain, but that is
not needed for SMI generation 2.
+ The smi-common connects with smi-larb and IOMMU. The maximum inputs number of
+ a smi-common is 8. In SMI generation 2, the engines number may be over 8.
+ In this case, we use a smi-sub-common to merge some larbs.
+ The block diagram something is like:
+
+ IOMMU
+ | |
+ smi-common
+ ---------------------------
+ | | ...
+ larb0 sub-common ... <-max number is 8
+ ----------------
+ | | ...
+ larb1 larbX ... <-max number is 8
+
properties:
compatible:
oneOf:
@@ -40,6 +55,8 @@ properties:
- mediatek,mt8186-smi-common
- mediatek,mt8188-smi-common-vdo
- mediatek,mt8188-smi-common-vpp
+ - mediatek,mt8189-smi-common
+ - mediatek,mt8189-smi-sub-common
- mediatek,mt8192-smi-common
- mediatek,mt8195-smi-common-vdo
- mediatek,mt8195-smi-common-vpp
@@ -108,19 +125,23 @@ allOf:
compatible:
contains:
enum:
+ - mediatek,mt8189-smi-sub-common
- mediatek,mt8195-smi-sub-common
then:
required:
- mediatek,smi
properties:
clocks:
- minItems: 3
+ minItems: 2
maxItems: 3
clock-names:
+ minItems: 2
+ maxItems: 3
items:
- const: apb
- const: smi
- - const: gals0
+ additionalItems:
+ const: gals0
else:
properties:
mediatek,smi: false
diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
index 2e7fac4b5094..9a5dafd7c07e 100644
--- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
@@ -27,6 +27,7 @@ properties:
- mediatek,mt8183-smi-larb
- mediatek,mt8186-smi-larb
- mediatek,mt8188-smi-larb
+ - mediatek,mt8189-smi-larb
- mediatek,mt8192-smi-larb
- mediatek,mt8195-smi-larb
@@ -85,6 +86,7 @@ allOf:
- mediatek,mt8183-smi-larb
- mediatek,mt8186-smi-larb
- mediatek,mt8188-smi-larb
+ - mediatek,mt8189-smi-larb
- mediatek,mt8195-smi-larb
then:
@@ -119,6 +121,7 @@ allOf:
- mediatek,mt6779-smi-larb
- mediatek,mt8186-smi-larb
- mediatek,mt8188-smi-larb
+ - mediatek,mt8189-smi-larb
- mediatek,mt8192-smi-larb
- mediatek,mt8195-smi-larb
--
2.46.0
On Mon, Oct 27, 2025 at 08:14:27PM +0800, Zhengnan Chen wrote: > Add binding description for mt8189. > > The clocks number of mt8189 smi-sub common has a bit difference. > Its clock count is 2, while mt8195 has 3. Therefore, the minimum > number of clocks is changed to 2, with the third one being optional. > > About what smi-sub-common is, please check the below diagram, > we add it in mediatek,smi-common.yaml file. > > Signed-off-by: Zhengnan Chen <zhengnan.chen@mediatek.com> > --- > Hi Angelo, > We add a diagram in the smi-common yaml, We are not sure if you agree > with this. thus I remove your R-b. > > Thanks. > --- > --- > .../mediatek,smi-common.yaml | 25 +++++++++++++++++-- > .../memory-controllers/mediatek,smi-larb.yaml | 3 +++ > 2 files changed, 26 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml > index 0762e0ff66ef..454d11a83973 100644 > --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml > +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml > @@ -25,6 +25,21 @@ description: | > SMI generation 1 to transform the smi clock into emi clock domain, but that is > not needed for SMI generation 2. > > + The smi-common connects with smi-larb and IOMMU. The maximum inputs number of > + a smi-common is 8. In SMI generation 2, the engines number may be over 8. > + In this case, we use a smi-sub-common to merge some larbs. > + The block diagram something is like: > + > + IOMMU > + | | > + smi-common > + --------------------------- > + | | ... > + larb0 sub-common ... <-max number is 8 > + ---------------- > + | | ... > + larb1 larbX ... <-max number is 8 > + > properties: > compatible: > oneOf: > @@ -40,6 +55,8 @@ properties: > - mediatek,mt8186-smi-common > - mediatek,mt8188-smi-common-vdo > - mediatek,mt8188-smi-common-vpp > + - mediatek,mt8189-smi-common > + - mediatek,mt8189-smi-sub-common > - mediatek,mt8192-smi-common > - mediatek,mt8195-smi-common-vdo > - mediatek,mt8195-smi-common-vpp > @@ -108,19 +125,23 @@ allOf: > compatible: > contains: > enum: > + - mediatek,mt8189-smi-sub-common > - mediatek,mt8195-smi-sub-common > then: > required: > - mediatek,smi > properties: > clocks: > - minItems: 3 > + minItems: 2 So now 2 clocks is valid for mt8195? > maxItems: 3 > clock-names: > + minItems: 2 > + maxItems: 3 > items: > - const: apb > - const: smi > - - const: gals0 > + additionalItems: > + const: gals0 > else: > properties: > mediatek,smi: false > diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml > index 2e7fac4b5094..9a5dafd7c07e 100644 > --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml > +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml > @@ -27,6 +27,7 @@ properties: > - mediatek,mt8183-smi-larb > - mediatek,mt8186-smi-larb > - mediatek,mt8188-smi-larb > + - mediatek,mt8189-smi-larb > - mediatek,mt8192-smi-larb > - mediatek,mt8195-smi-larb > > @@ -85,6 +86,7 @@ allOf: > - mediatek,mt8183-smi-larb > - mediatek,mt8186-smi-larb > - mediatek,mt8188-smi-larb > + - mediatek,mt8189-smi-larb > - mediatek,mt8195-smi-larb > > then: > @@ -119,6 +121,7 @@ allOf: > - mediatek,mt6779-smi-larb > - mediatek,mt8186-smi-larb > - mediatek,mt8188-smi-larb > + - mediatek,mt8189-smi-larb > - mediatek,mt8192-smi-larb > - mediatek,mt8195-smi-larb > > -- > 2.46.0 >
On Thu, 2025-10-30 at 11:43 -0500, Rob Herring wrote: > External email : Please do not click links or open attachments until > you have verified the sender or the content. > > > On Mon, Oct 27, 2025 at 08:14:27PM +0800, Zhengnan Chen wrote: > > Add binding description for mt8189. > > > > The clocks number of mt8189 smi-sub common has a bit difference. > > Its clock count is 2, while mt8195 has 3. Therefore, the minimum > > number of clocks is changed to 2, with the third one being > > optional. > > > > About what smi-sub-common is, please check the below diagram, > > we add it in mediatek,smi-common.yaml file. > > > > Signed-off-by: Zhengnan Chen <zhengnan.chen@mediatek.com> > > --- > > Hi Angelo, > > We add a diagram in the smi-common yaml, We are not sure if you > > agree > > with this. thus I remove your R-b. > > > > Thanks. > > --- > > --- > > .../mediatek,smi-common.yaml | 25 > > +++++++++++++++++-- > > .../memory-controllers/mediatek,smi-larb.yaml | 3 +++ > > 2 files changed, 26 insertions(+), 2 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/memory- > > controllers/mediatek,smi-common.yaml > > b/Documentation/devicetree/bindings/memory- > > controllers/mediatek,smi-common.yaml > > index 0762e0ff66ef..454d11a83973 100644 > > --- a/Documentation/devicetree/bindings/memory- > > controllers/mediatek,smi-common.yaml > > +++ b/Documentation/devicetree/bindings/memory- > > controllers/mediatek,smi-common.yaml > > @@ -25,6 +25,21 @@ description: | > > SMI generation 1 to transform the smi clock into emi clock > > domain, but that is > > not needed for SMI generation 2. > > > > + The smi-common connects with smi-larb and IOMMU. The maximum > > inputs number of > > + a smi-common is 8. In SMI generation 2, the engines number may > > be over 8. > > + In this case, we use a smi-sub-common to merge some larbs. > > + The block diagram something is like: > > + > > + IOMMU > > + | | > > + smi-common > > + --------------------------- > > + | | ... > > + larb0 sub-common ... <-max number is 8 > > + ---------------- > > + | | ... > > + larb1 larbX ... <-max number is 8 > > + > > properties: > > compatible: > > oneOf: > > @@ -40,6 +55,8 @@ properties: > > - mediatek,mt8186-smi-common > > - mediatek,mt8188-smi-common-vdo > > - mediatek,mt8188-smi-common-vpp > > + - mediatek,mt8189-smi-common > > + - mediatek,mt8189-smi-sub-common > > - mediatek,mt8192-smi-common > > - mediatek,mt8195-smi-common-vdo > > - mediatek,mt8195-smi-common-vpp > > @@ -108,19 +125,23 @@ allOf: > > compatible: > > contains: > > enum: > > + - mediatek,mt8189-smi-sub-common > > - mediatek,mt8195-smi-sub-common > > then: > > required: > > - mediatek,smi > > properties: > > clocks: > > - minItems: 3 > > + minItems: 2 > > So now 2 clocks is valid for mt8195? > No, the mt8195 still requires 3 clock cycles. This approach can accommodate ICs that require 2 or 3 clocks simultaneously. > > maxItems: 3 > > clock-names: > > + minItems: 2 > > + maxItems: 3 > > items: > > - const: apb > > - const: smi > > - - const: gals0 > > + additionalItems: > > + const: gals0 > > else: > > properties: > > mediatek,smi: false > > diff --git a/Documentation/devicetree/bindings/memory- > > controllers/mediatek,smi-larb.yaml > > b/Documentation/devicetree/bindings/memory- > > controllers/mediatek,smi-larb.yaml > > index 2e7fac4b5094..9a5dafd7c07e 100644 > > --- a/Documentation/devicetree/bindings/memory- > > controllers/mediatek,smi-larb.yaml > > +++ b/Documentation/devicetree/bindings/memory- > > controllers/mediatek,smi-larb.yaml > > @@ -27,6 +27,7 @@ properties: > > - mediatek,mt8183-smi-larb > > - mediatek,mt8186-smi-larb > > - mediatek,mt8188-smi-larb > > + - mediatek,mt8189-smi-larb > > - mediatek,mt8192-smi-larb > > - mediatek,mt8195-smi-larb > > > > @@ -85,6 +86,7 @@ allOf: > > - mediatek,mt8183-smi-larb > > - mediatek,mt8186-smi-larb > > - mediatek,mt8188-smi-larb > > + - mediatek,mt8189-smi-larb > > - mediatek,mt8195-smi-larb > > > > then: > > @@ -119,6 +121,7 @@ allOf: > > - mediatek,mt6779-smi-larb > > - mediatek,mt8186-smi-larb > > - mediatek,mt8188-smi-larb > > + - mediatek,mt8189-smi-larb > > - mediatek,mt8192-smi-larb > > - mediatek,mt8195-smi-larb > > > > -- > > 2.46.0 > >
Il 27/10/25 13:14, Zhengnan Chen ha scritto: > Add binding description for mt8189. > > The clocks number of mt8189 smi-sub common has a bit difference. > Its clock count is 2, while mt8195 has 3. Therefore, the minimum > number of clocks is changed to 2, with the third one being optional. > > About what smi-sub-common is, please check the below diagram, > we add it in mediatek,smi-common.yaml file. > > Signed-off-by: Zhengnan Chen <zhengnan.chen@mediatek.com> > --- > Hi Angelo, > We add a diagram in the smi-common yaml, We are not sure if you agree > with this. thus I remove your R-b. I agree with that, and the diagram looks good. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > > Thanks. > --- > --- > .../mediatek,smi-common.yaml | 25 +++++++++++++++++-- > .../memory-controllers/mediatek,smi-larb.yaml | 3 +++ > 2 files changed, 26 insertions(+), 2 deletions(-) > > diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml > index 0762e0ff66ef..454d11a83973 100644 > --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml > +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml > @@ -25,6 +25,21 @@ description: | > SMI generation 1 to transform the smi clock into emi clock domain, but that is > not needed for SMI generation 2. > > + The smi-common connects with smi-larb and IOMMU. The maximum inputs number of > + a smi-common is 8. In SMI generation 2, the engines number may be over 8. > + In this case, we use a smi-sub-common to merge some larbs. > + The block diagram something is like: > + > + IOMMU > + | | > + smi-common > + --------------------------- > + | | ... > + larb0 sub-common ... <-max number is 8 > + ---------------- > + | | ... > + larb1 larbX ... <-max number is 8 > + > properties: > compatible: > oneOf: > @@ -40,6 +55,8 @@ properties: > - mediatek,mt8186-smi-common > - mediatek,mt8188-smi-common-vdo > - mediatek,mt8188-smi-common-vpp > + - mediatek,mt8189-smi-common > + - mediatek,mt8189-smi-sub-common > - mediatek,mt8192-smi-common > - mediatek,mt8195-smi-common-vdo > - mediatek,mt8195-smi-common-vpp > @@ -108,19 +125,23 @@ allOf: > compatible: > contains: > enum: > + - mediatek,mt8189-smi-sub-common > - mediatek,mt8195-smi-sub-common > then: > required: > - mediatek,smi > properties: > clocks: > - minItems: 3 > + minItems: 2 > maxItems: 3 > clock-names: > + minItems: 2 > + maxItems: 3 > items: > - const: apb > - const: smi > - - const: gals0 > + additionalItems: > + const: gals0 > else: > properties: > mediatek,smi: false > diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml > index 2e7fac4b5094..9a5dafd7c07e 100644 > --- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml > +++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml > @@ -27,6 +27,7 @@ properties: > - mediatek,mt8183-smi-larb > - mediatek,mt8186-smi-larb > - mediatek,mt8188-smi-larb > + - mediatek,mt8189-smi-larb > - mediatek,mt8192-smi-larb > - mediatek,mt8195-smi-larb > > @@ -85,6 +86,7 @@ allOf: > - mediatek,mt8183-smi-larb > - mediatek,mt8186-smi-larb > - mediatek,mt8188-smi-larb > + - mediatek,mt8189-smi-larb > - mediatek,mt8195-smi-larb > > then: > @@ -119,6 +121,7 @@ allOf: > - mediatek,mt6779-smi-larb > - mediatek,mt8186-smi-larb > - mediatek,mt8188-smi-larb > + - mediatek,mt8189-smi-larb > - mediatek,mt8192-smi-larb > - mediatek,mt8195-smi-larb >
© 2016 - 2025 Red Hat, Inc.