From: Friday Yang <friday.yang@mediatek.com>
To: Yong Wu <yong.wu@mediatek.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
Rob Herring <robh@kernel.org>, Conor Dooley <conor+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Philipp Zabel <p.zabel@pengutronix.de>
Cc: Friday Yang <friday.yang@mediatek.com>,
<linux-mediatek@lists.infradead.org>,
<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<Project_Global_Chrome_Upstream_Group@mediatek.com>
Subject: [PATCH v12 1/2] dt-bindings: memory: mediatek: Add SMI reset and clamp for MT8188
Date: Mon, 19 Jan 2026 20:05:24 +0800 [thread overview]
Message-ID: <20260119120552.9325-2-friday.yang@mediatek.com> (raw)
In-Reply-To: <20260119120552.9325-1-friday.yang@mediatek.com>
On the MediaTek MT8188 SoC, bus glitches may occur during MTCMOS
on/off transitions. The root cause is a hardware design choice in
the camera subsystem where the SMI LARB and SMI Sub-Common modules
are located in separate power domains and controlled by independent
MTCMOS gates. A timing window exists after the main power domain
is enabled but before the sub-power domain is enabled. During this
window, unstable glitch signals can appear on the bus. Unlike other
subsystems, the camera subsystem lacks a GALs (Globally Asynchronous
Locally Synchronous) hardware module, which would normally handle
cross-domain synchronization and filter out such glitches.
In contrast, other subsystems have their SMI LARB and SMI Sub-Common
within one power domain or could rely on GALs for synchronization.
Thus they are not affected by this issue.
To prevent these glitches from causing bus hang, SMI requires clamp
and reset operations. This change adds the 'resets' and 'reset-names'
properties to SMI LARBs within camera subsystem to support the necessary
reset operations. This reset setting is exclusively required for the
MediaTek MT8188 platform and remains inactive on other SoCs.
We also add 'smi-sub-common' in the smi-common binding for MT8188.
This indicates that some SMI LARBs are connected to the SMI Sub-Common,
which in turn is connected to the SMI Common. The hardware block diagram
can be described as follows.
SMI-Common(Smart Multimedia Interface Common)
|
+----------------+------------------+
| | |
| | |
| | |
| | |
| | |
larb0 SMI-Sub-Common0 SMI-Sub-Common1
| | | | |
larb1 larb2 larb3 larb7 larb9
Signed-off-by: Friday Yang <friday.yang@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Rob Herring <robh@kernel.org>
---
.../mediatek,smi-common.yaml | 2 ++
.../memory-controllers/mediatek,smi-larb.yaml | 19 +++++++++++++++++++
2 files changed, 21 insertions(+)
diff --git a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml
index 0762e0ff66ef..3d98c08b2149 100644
--- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-common.yaml
@@ -40,6 +40,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
@@ -108,6 +109,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 2e7fac4b5094..fc5feb2eac1f 100644
--- a/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
+++ b/Documentation/devicetree/bindings/memory-controllers/mediatek,smi-larb.yaml
@@ -70,6 +70,12 @@ 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.
+ resets:
+ maxItems: 1
+
+ reset-names:
+ const: larb
+
required:
- compatible
- reg
@@ -126,6 +132,19 @@ allOf:
required:
- mediatek,larb-id
+ - if: # only for image, camera and ipe subsys
+ properties:
+ compatible:
+ const: mediatek,mt8188-smi-larb
+ mediatek,larb-id:
+ enum:
+ [ 9, 10, 11, 12, 13, 16, 17, 18, 19, 20 ]
+
+ then:
+ required:
+ - resets
+ - reset-names
+
additionalProperties: false
examples:
--
2.46.0
next prev parent reply other threads:[~2026-01-19 12:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-19 12:05 [PATCH v12 0/2] Add SMI reset and clamp for MediaTek MT8188 SoC Friday Yang
2026-01-19 12:05 ` Friday Yang [this message]
2026-01-19 12:05 ` [PATCH v12 2/2] memory: mtk-smi: mt8188: Add SMI reset and clamp Friday Yang
2026-02-13 7:37 ` Yong Wu (吴勇)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260119120552.9325-2-friday.yang@mediatek.com \
--to=friday.yang@mediatek.com \
--cc=Project_Global_Chrome_Upstream_Group@mediatek.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=yong.wu@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox