Devicetree
 help / color / mirror / Atom feed
* [PATCHv2 1/2] dt-bindings: i3c: dw: add resets and reset-names
@ 2026-05-27 17:42 Dinh Nguyen
  2026-05-27 17:42 ` [PATCHv2 2/2] arm64: dts: socfpga: agilex5: popuplate reset properties for I3C Dinh Nguyen
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Dinh Nguyen @ 2026-05-27 17:42 UTC (permalink / raw)
  To: linux-i3c
  Cc: dinguyen, devicetree, robh, krzk+dt, conor+dt, adrian.ho.yin.ng,
	alexandre.belloni, Frank.Li

The DW I3C driver is already getting the "core_rst" reset name, but it
has not been documented.

Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
v2: Added this patch
---
 .../devicetree/bindings/i3c/snps,dw-i3c-master.yaml       | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml b/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
index e803457d3f554..7a39fe62bbbc0 100644
--- a/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
+++ b/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
@@ -35,6 +35,14 @@ properties:
       - const: core
       - const: apb
 
+  resets:
+    items:
+      - description: Core reset signal
+
+  reset-names:
+    items:
+      - const: core_rst
+
   interrupts:
     maxItems: 1
 
-- 
2.42.0.411.g813d9a9188


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCHv2 2/2] arm64: dts: socfpga: agilex5: popuplate reset properties for I3C
  2026-05-27 17:42 [PATCHv2 1/2] dt-bindings: i3c: dw: add resets and reset-names Dinh Nguyen
@ 2026-05-27 17:42 ` Dinh Nguyen
  2026-05-27 18:01   ` sashiko-bot
  2026-05-27 18:03 ` [PATCHv2 1/2] dt-bindings: i3c: dw: add resets and reset-names sashiko-bot
  2026-05-28  7:20 ` Krzysztof Kozlowski
  2 siblings, 1 reply; 5+ messages in thread
From: Dinh Nguyen @ 2026-05-27 17:42 UTC (permalink / raw)
  To: linux-i3c
  Cc: dinguyen, devicetree, robh, krzk+dt, conor+dt, adrian.ho.yin.ng,
	alexandre.belloni, Frank.Li

The I3C nodes are missing the resets and reset-name properties that are
needed to bring the IP out of reset.

Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
v2: add reset-names, remove reset property for NAND
---
 arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
index b06c6d5d60eed..fc169b869443b 100644
--- a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
+++ b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
@@ -244,6 +244,8 @@ i3c0: i3c@10da0000 {
 			reg = <0x10da0000 0x1000>;
 			#address-cells = <3>;
 			#size-cells = <0>;
+			resets = <&rst I3C0_RESET>;
+			reset-names = "core_rst";
 			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&clkmgr AGILEX5_L4_MP_CLK>;
 			status = "disabled";
@@ -255,6 +257,8 @@ i3c1: i3c@10da1000 {
 			reg = <0x10da1000 0x1000>;
 			#address-cells = <3>;
 			#size-cells = <0>;
+			resets = <&rst I3C1_RESET>;
+			reset-names = "core_rst";
 			interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&clkmgr AGILEX5_L4_MP_CLK>;
 			status = "disabled";
-- 
2.42.0.411.g813d9a9188


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCHv2 2/2] arm64: dts: socfpga: agilex5: popuplate reset properties for I3C
  2026-05-27 17:42 ` [PATCHv2 2/2] arm64: dts: socfpga: agilex5: popuplate reset properties for I3C Dinh Nguyen
@ 2026-05-27 18:01   ` sashiko-bot
  0 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-05-27 18:01 UTC (permalink / raw)
  To: Dinh Nguyen; +Cc: devicetree, conor+dt, robh

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Undocumented 'resets' and 'reset-names' properties added to the I3C nodes without corresponding YAML binding schema update.
--

commit ebac99bb72bcfe3b4b8a0fa7c960df7984ddf40d
Author: Dinh Nguyen <dinguyen@kernel.org>

arm64: dts: socfpga: agilex5: popuplate reset properties for I3C

This commit adds resets and reset-names properties to the I3C nodes in the 
Agilex5 device tree to bring the IP out of reset.

> diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
> index 02e62d954e949..55313d45c90ed 100644
> --- a/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
> +++ b/arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
> @@ -244,6 +244,8 @@ i3c0: i3c@10da0000 {
>  			reg = <0x10da0000 0x1000>;
>  			#address-cells = <3>;
>  			#size-cells = <0>;
> +			resets = <&rst I3C0_RESET>;
> +			reset-names = "core_rst";

[Severity: Low]
Will adding these properties without an accompanying binding update cause 
dtbs_check to fail? 

It looks like the bindings for these nodes validate against 
Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml, which 
enforces unevaluatedProperties: false. However, neither that schema nor 
the schemas it includes appear to declare the resets or reset-names 
properties. 

Should the YAML binding schema be updated to document these capabilities 
and prevent validation errors?

>  			interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
>  			clocks = <&clkmgr AGILEX5_L4_MP_CLK>;
>  			status = "disabled";

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260527174221.79259-2-dinguyen@kernel.org?part=1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCHv2 1/2] dt-bindings: i3c: dw: add resets and reset-names
  2026-05-27 17:42 [PATCHv2 1/2] dt-bindings: i3c: dw: add resets and reset-names Dinh Nguyen
  2026-05-27 17:42 ` [PATCHv2 2/2] arm64: dts: socfpga: agilex5: popuplate reset properties for I3C Dinh Nguyen
@ 2026-05-27 18:03 ` sashiko-bot
  2026-05-28  7:20 ` Krzysztof Kozlowski
  2 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-05-27 18:03 UTC (permalink / raw)
  To: Dinh Nguyen; +Cc: devicetree, conor+dt, robh

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:

Pre-existing issues:
- [High] The commit documents `reset-names` for a single-entry reset, which violates DT binding guidelines and codifies a brittle pattern in the driver that causes silent hardware failures if the name is omitted in the DTS.
--

commit 5db0a7d3c21cf60d537f37725a5d5312d88c8c4f
Author: Dinh Nguyen <dinguyen@kernel.org>

dt-bindings: i3c: dw: add resets and reset-names

This commit updates the snps,dw-i3c-master binding to document the core
reset signal. It adds both the resets and reset-names properties to match
what the driver currently expects.

> diff --git a/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml b/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
> index e803457d3f554..7a39fe62bbbc0 100644
> --- a/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
> +++ b/Documentation/devicetree/bindings/i3c/snps,dw-i3c-master.yaml
> @@ -35,6 +35,14 @@ properties:
>        - const: core
>        - const: apb
>  
> +  resets:
> +    items:
> +      - description: Core reset signal
> +
> +  reset-names:
> +    items:
> +      - const: core_rst
> +

[Severity: High]
This is a pre-existing issue, but documenting reset-names for a single-entry
reset codifies a brittle pattern in the driver that can cause silent hardware
failures.

DT binding guidelines recommend skipping *-names for single-entry lists.
Because reset-names is not marked as required, a DTS author could provide
a valid resets property without reset-names.

If this happens, the driver's call to request "core_rst" will fail to find
the name. Since the request is optional, it returns a NULL reset handle
instead of an error. The driver will silently proceed, but calls to assert the
reset will be no-ops, potentially leading to hardware lockups.

Should we drop reset-names from this binding and instead update the driver to
request the single reset by passing NULL instead of "core_rst"?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260527174221.79259-1-dinguyen@kernel.org?part=1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCHv2 1/2] dt-bindings: i3c: dw: add resets and reset-names
  2026-05-27 17:42 [PATCHv2 1/2] dt-bindings: i3c: dw: add resets and reset-names Dinh Nguyen
  2026-05-27 17:42 ` [PATCHv2 2/2] arm64: dts: socfpga: agilex5: popuplate reset properties for I3C Dinh Nguyen
  2026-05-27 18:03 ` [PATCHv2 1/2] dt-bindings: i3c: dw: add resets and reset-names sashiko-bot
@ 2026-05-28  7:20 ` Krzysztof Kozlowski
  2 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2026-05-28  7:20 UTC (permalink / raw)
  To: Dinh Nguyen, linux-i3c
  Cc: devicetree, robh, krzk+dt, conor+dt, adrian.ho.yin.ng,
	alexandre.belloni, Frank.Li

On 27/05/2026 19:42, Dinh Nguyen wrote:
> The DW I3C driver is already getting the "core_rst" reset name, but it
> has not been documented.
> 
> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
> ---
> v2: Added this patch
> ---
>  .../devicetree/bindings/i3c/snps,dw-i3c-master.yaml       | 8 ++++++++
>  1 file changed, 8 insertions(+)

This was already sent by Jisheng, I believe.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-05-28  7:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-27 17:42 [PATCHv2 1/2] dt-bindings: i3c: dw: add resets and reset-names Dinh Nguyen
2026-05-27 17:42 ` [PATCHv2 2/2] arm64: dts: socfpga: agilex5: popuplate reset properties for I3C Dinh Nguyen
2026-05-27 18:01   ` sashiko-bot
2026-05-27 18:03 ` [PATCHv2 1/2] dt-bindings: i3c: dw: add resets and reset-names sashiko-bot
2026-05-28  7:20 ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox