From: sashiko-bot@kernel.org
To: "Biju Das" <biju.das.au@gmail.com>
Cc: devicetree@vger.kernel.org, robh@kernel.org, conor+dt@kernel.org,
wsa+renesas@sang-engineering.com
Subject: Re: [PATCH 3/3] arm64: dts: renesas: rzg3l-smarc-som: Enable SDHI2
Date: Thu, 12 Nov 2026 19:09:11 +0000 [thread overview]
Message-ID: <sashiko-outbox-211747@kernel.org> (raw)
In-Reply-To: <20261112-sdhi_rzg3l-v1-3-ca30b209615d@bp.renesas.com>
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] arm64: dts: renesas: rzg3l-smarc-som: no-op UHS pinctrl
switch on sdhi2
--
commit fa36790e3b28d4844cd7f51756a420dcdb4538ff
Author: Biju Das <biju.das.jz@bp.renesas.com>
arm64: dts: renesas: rzg3l-smarc-som: Enable SDHI2
This commit adds pin control and device tree nodes to enable SDHI2 on the
RZ/G3L SMARC EVK platform when the SW_SD2_EN macro is set.
> diff --git a/arch/arm64/boot/dts/renesas/rzg3l-smarc-som.dtsi b/arch/arm64/boot/dts/renesas/rzg3l-smarc-som.dtsi
> index f6f4eed9a2ea6..e8fc9cddf288f 100644
> --- a/arch/arm64/boot/dts/renesas/rzg3l-smarc-som.dtsi
> +++ b/arch/arm64/boot/dts/renesas/rzg3l-smarc-som.dtsi
[ ... ]
> @@ -330,6 +331,74 @@ sd0-data {
> power-source = <1800>;
> };
> };
> +
> + sdhi2_pins: sd2 {
> + sd2-cd {
> + pinmux = <RZG3L_PORT_PINMUX(K, 0, 1)>; /* SD2_CD */
> + };
> +
> + sd2-clk {
> + pinmux = <RZG3L_PORT_PINMUX(H, 0, 1)>; /* SD2_CLK */
> + power-source = <3300>;
> + };
> +
> + sd2-cmd {
> + pinmux = <RZG3L_PORT_PINMUX(H, 1, 1)>; /* SD2_CMD */
> + input-enable;
> + power-source = <3300>;
> + };
> +
> + sd2-data {
> + pinmux = <RZG3L_PORT_PINMUX(H, 2, 1)>, /* SD2_DAT0 */
> + <RZG3L_PORT_PINMUX(H, 3, 1)>, /* SD2_DAT1 */
> + <RZG3L_PORT_PINMUX(H, 4, 1)>, /* SD2_DAT2 */
> + <RZG3L_PORT_PINMUX(H, 5, 1)>; /* SD2_DAT3 */
> + input-enable;
> + power-source = <3300>;
> + };
> +
> + sd2-iovs {
> + pinmux = <RZG3L_PORT_PINMUX(K, 1, 1)>; /* SD2_IOVS */
> + };
> +
> + sd2-pwen {
> + pinmux = <RZG3L_PORT_PINMUX(K, 2, 1)>; /* SD2_PWEN */
> + };
> + };
> +
> + sdhi2_pins_uhs: sd2-uhs {
> + sd2-cd {
> + pinmux = <RZG3L_PORT_PINMUX(K, 0, 1)>; /* SD2_CD */
> + };
> +
> + sd2-clk {
> + pinmux = <RZG3L_PORT_PINMUX(H, 0, 1)>; /* SD2_CLK */
> + power-source = <1800>;
> + };
> +
> + sd2-cmd {
> + pinmux = <RZG3L_PORT_PINMUX(H, 1, 1)>; /* SD2_CMD */
> + input-enable;
> + power-source = <1800>;
> + };
> +
> + sd2-data {
> + pinmux = <RZG3L_PORT_PINMUX(H, 2, 1)>, /* SD2_DAT0 */
> + <RZG3L_PORT_PINMUX(H, 3, 1)>, /* SD2_DAT1 */
> + <RZG3L_PORT_PINMUX(H, 4, 1)>, /* SD2_DAT2 */
> + <RZG3L_PORT_PINMUX(H, 5, 1)>; /* SD2_DAT3 */
> + input-enable;
> + power-source = <1800>;
> + };
> +
> + sd2-iovs {
> + pinmux = <RZG3L_PORT_PINMUX(K, 1, 1)>; /* SD2_IOVS */
> + };
> +
> + sd2-pwen {
> + pinmux = <RZG3L_PORT_PINMUX(K, 2, 1)>; /* SD2_PWEN */
> + };
> + };
> };
[Severity: Medium]
Does switching sdhi2 between sdhi2_pins and sdhi2_pins_uhs write any hardware
pinctrl registers for the sd2 pins?
sdhi2_pins and sdhi2_pins_uhs differ only by power-source (<3300> vs <1800>),
and neither specifies drive-strength-microamp. In r9a08g046_variable_pin_cfg,
those pins use software power-source tracking instead of a hardware
power-output-control register:
drivers/pinctrl/renesas/pinctrl-rzg2l.c:r9a08g046_variable_pin_cfg[] = {
...
RZG2L_VARIABLE_PIN_CFG_PACK(RZG3L_PH, 0, RZG3L_MPXED_PIN_FUNCS(B)),
RZG2L_VARIABLE_PIN_CFG_PACK(RZG3L_PH, 1, RZG3L_MPXED_PIN_FUNCS(B) | PIN_CFG_IEN),
...
};
drivers/pinctrl/renesas/pinctrl-rzg2l.c:rzg2l_set_power_source() {
...
if (caps & PIN_CFG_SOFT_PS) {
pctrl->settings[pin].power_source = ps;
return 0;
}
...
}
When renesas_sdhi_start_signal_voltage_switch() selects state_uhs,
rzg2l_set_power_source() only updates pctrl->settings[pin].power_source in
memory and returns 0 without writing any pinctrl register while the internal
regulator switches the external signal voltage.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261112-sdhi_rzg3l-v1-0-ca30b209615d@bp.renesas.com?part=3
prev parent reply other threads:[~2026-11-12 19:09 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-12 18:48 [PATCH 0/3] Enable RZ/G3L SDHI Biju Das
2026-11-12 18:48 ` [PATCH 1/3] arm64: dts: renesas: r9a08g046: Add SDHI nodes for RZ/G3L SoC and SDHI1 pincontrol on SMARC EVK Biju Das
2026-11-12 19:25 ` sashiko-bot
2026-11-12 18:48 ` [PATCH 2/3] arm64: dts: renesas: rzg3l-smarc-som: Enable SD/eMMC on SDHI0 Biju Das
2026-11-12 19:07 ` sashiko-bot
2026-11-12 18:48 ` [PATCH 3/3] arm64: dts: renesas: rzg3l-smarc-som: Enable SDHI2 Biju Das
2026-11-12 19:09 ` sashiko-bot [this message]
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=sashiko-outbox-211747@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=biju.das.au@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=wsa+renesas@sang-engineering.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 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.