Re: [PATCH 9/9] arm64: dts: renesas: rzg3s-smarc-som: Enable I3C

From: Claudiu Beznea

Date: Fri May 22 2026 - 09:35:04 EST


Hi, Wolfram,

On 5/22/26 15:29, Wolfram Sang wrote:
Hi Claudiu,

+ i3c_pins: i3c {
+ pins = "I3C_SDA", "I3C_SCL";
+#if SW_CONFIG4 == SW_ON
+ power-source = <1200>;
+#else
+ power-source = <1800>;
+#endif
+ input-enable;
+ renesas,i3c-standby = <0>;
+ };
+
+ i3c_standby_pins: i3c-standby {
+ pins = "I3C_SDA", "I3C_SCL";
+#if SW_CONFIG4 == SW_ON
+ power-source = <1200>;
+#else
+ power-source = <1800>;
+#endif
+ renesas,i3c-standby = <1>;
+ };

That doesn't look like HW description to me because the pins are the
same for regular and standby mode.

Yes, same pins, different states. Isn't that the role of different pinctrl entries in DT for the same node? E.g., for SHDI we use the same approach, same pins but different states. Bellow is an example from RZ/G3S but same approach is used for other Renesas SoCs as well:

https://elixir.bootlin.com/linux/v7.1-rc4/source/arch/arm64/boot/dts/renesas/rzg3s-smarc-som.dtsi#L305

https://elixir.bootlin.com/linux/v7.1-rc4/source/arch/arm64/boot/dts/renesas/rzg3s-smarc-som.dtsi#L321

Their state is changed when powering
down, but that should not need DT encoding, I'd think. The driver should
know what to do, or?

Through different pinctrl states different pinctrl settings are applied in the pin controller HW by calling well known pinctrl APIs from the consumer drivers (e.g. pinctrl_pm_select_sleep_state() in case of the I3C driver as proposed in [1]).

Is there another way the I3C driver (or any pinctrl driver consumer) could apply pinctrl settings?

[1] https://lore.kernel.org/all/20260522101815.1722909-18-claudiu.beznea@xxxxxxxxxx

--
Thank you,
Claudiu