From: Jisheng Zhang <jszhang@kernel.org>
To: Alexandre Belloni <alexandre.belloni@bootlin.com>,
Frank Li <Frank.Li@nxp.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: linux-i3c@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH v2 3/3] i3c: dw: Add apb reset support
Date: Mon, 11 May 2026 11:19:45 +0800 [thread overview]
Message-ID: <20260511031945.3228-4-jszhang@kernel.org> (raw)
In-Reply-To: <20260511031945.3228-1-jszhang@kernel.org>
Add support of apb reset which is to reset the APB interface.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
---
drivers/i3c/master/dw-i3c-master.c | 7 +++++++
drivers/i3c/master/dw-i3c-master.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c
index 655693a2187e..9de54d584bc3 100644
--- a/drivers/i3c/master/dw-i3c-master.c
+++ b/drivers/i3c/master/dw-i3c-master.c
@@ -1591,6 +1591,11 @@ int dw_i3c_common_probe(struct dw_i3c_master *master,
if (IS_ERR(master->core_rst))
return PTR_ERR(master->core_rst);
+ master->apb_rst = devm_reset_control_get_optional_exclusive_deasserted(&pdev->dev,
+ "apb_rst");
+ if (IS_ERR(master->apb_rst))
+ return PTR_ERR(master->apb_rst);
+
spin_lock_init(&master->xferqueue.lock);
INIT_LIST_HEAD(&master->xferqueue.list);
@@ -1765,6 +1770,7 @@ static int __maybe_unused dw_i3c_master_runtime_suspend(struct device *dev)
dw_i3c_master_disable(master);
reset_control_assert(master->core_rst);
+ reset_control_assert(master->apb_rst);
dw_i3c_master_disable_clks(master);
pinctrl_pm_select_sleep_state(dev);
return 0;
@@ -1777,6 +1783,7 @@ static int __maybe_unused dw_i3c_master_runtime_resume(struct device *dev)
pinctrl_pm_select_default_state(dev);
dw_i3c_master_enable_clks(master);
reset_control_deassert(master->core_rst);
+ reset_control_deassert(master->apb_rst);
dw_i3c_master_set_intr_regs(master);
dw_i3c_master_restore_timing_regs(master);
diff --git a/drivers/i3c/master/dw-i3c-master.h b/drivers/i3c/master/dw-i3c-master.h
index c5cb695c16ab..a4ba60043288 100644
--- a/drivers/i3c/master/dw-i3c-master.h
+++ b/drivers/i3c/master/dw-i3c-master.h
@@ -37,6 +37,7 @@ struct dw_i3c_master {
struct dw_i3c_master_caps caps;
void __iomem *regs;
struct reset_control *core_rst;
+ struct reset_control *apb_rst;
struct clk *core_clk;
struct clk *pclk;
char version[5];
--
2.53.0
WARNING: multiple messages have this Message-ID (diff)
From: Jisheng Zhang <jszhang@kernel.org>
To: Alexandre Belloni <alexandre.belloni@bootlin.com>,
Frank Li <Frank.Li@nxp.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: linux-i3c@lists.infradead.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH v2 3/3] i3c: dw: Add apb reset support
Date: Mon, 11 May 2026 11:19:45 +0800 [thread overview]
Message-ID: <20260511031945.3228-4-jszhang@kernel.org> (raw)
In-Reply-To: <20260511031945.3228-1-jszhang@kernel.org>
Add support of apb reset which is to reset the APB interface.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
---
drivers/i3c/master/dw-i3c-master.c | 7 +++++++
drivers/i3c/master/dw-i3c-master.h | 1 +
2 files changed, 8 insertions(+)
diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c
index 655693a2187e..9de54d584bc3 100644
--- a/drivers/i3c/master/dw-i3c-master.c
+++ b/drivers/i3c/master/dw-i3c-master.c
@@ -1591,6 +1591,11 @@ int dw_i3c_common_probe(struct dw_i3c_master *master,
if (IS_ERR(master->core_rst))
return PTR_ERR(master->core_rst);
+ master->apb_rst = devm_reset_control_get_optional_exclusive_deasserted(&pdev->dev,
+ "apb_rst");
+ if (IS_ERR(master->apb_rst))
+ return PTR_ERR(master->apb_rst);
+
spin_lock_init(&master->xferqueue.lock);
INIT_LIST_HEAD(&master->xferqueue.list);
@@ -1765,6 +1770,7 @@ static int __maybe_unused dw_i3c_master_runtime_suspend(struct device *dev)
dw_i3c_master_disable(master);
reset_control_assert(master->core_rst);
+ reset_control_assert(master->apb_rst);
dw_i3c_master_disable_clks(master);
pinctrl_pm_select_sleep_state(dev);
return 0;
@@ -1777,6 +1783,7 @@ static int __maybe_unused dw_i3c_master_runtime_resume(struct device *dev)
pinctrl_pm_select_default_state(dev);
dw_i3c_master_enable_clks(master);
reset_control_deassert(master->core_rst);
+ reset_control_deassert(master->apb_rst);
dw_i3c_master_set_intr_regs(master);
dw_i3c_master_restore_timing_regs(master);
diff --git a/drivers/i3c/master/dw-i3c-master.h b/drivers/i3c/master/dw-i3c-master.h
index c5cb695c16ab..a4ba60043288 100644
--- a/drivers/i3c/master/dw-i3c-master.h
+++ b/drivers/i3c/master/dw-i3c-master.h
@@ -37,6 +37,7 @@ struct dw_i3c_master {
struct dw_i3c_master_caps caps;
void __iomem *regs;
struct reset_control *core_rst;
+ struct reset_control *apb_rst;
struct clk *core_clk;
struct clk *pclk;
char version[5];
--
2.53.0
--
linux-i3c mailing list
linux-i3c@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-i3c
next prev parent reply other threads:[~2026-05-11 3:38 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-11 3:19 [PATCH v2 0/3] i3c: dw: Add apb reset support Jisheng Zhang
2026-05-11 3:19 ` Jisheng Zhang
2026-05-11 3:19 ` [PATCH v2 1/3] dt-bindings: i3c: dw: Describe core reset Jisheng Zhang
2026-05-11 3:19 ` Jisheng Zhang
2026-05-11 19:27 ` Frank Li
2026-05-11 19:27 ` Frank Li
2026-05-11 3:19 ` [PATCH v2 2/3] dt-bindings: i3c: dw: Add apb reset Jisheng Zhang
2026-05-11 3:19 ` Jisheng Zhang
2026-05-11 16:02 ` Conor Dooley
2026-05-11 16:02 ` Conor Dooley
2026-05-14 12:17 ` Krzysztof Kozlowski
2026-05-14 12:17 ` Krzysztof Kozlowski
2026-05-14 16:22 ` Conor Dooley
2026-05-14 16:22 ` Conor Dooley
2026-05-11 23:00 ` sashiko-bot
2026-05-12 16:44 ` Conor Dooley
2026-05-11 3:19 ` Jisheng Zhang [this message]
2026-05-11 3:19 ` [PATCH v2 3/3] i3c: dw: Add apb reset support Jisheng Zhang
2026-05-11 23:13 ` sashiko-bot
2026-05-11 19:04 ` [EXT] [PATCH v2 0/3] " Frank Li
2026-05-11 19:04 ` Frank Li
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=20260511031945.3228-4-jszhang@kernel.org \
--to=jszhang@kernel.org \
--cc=Frank.Li@nxp.com \
--cc=alexandre.belloni@bootlin.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-i3c@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.