RZ/V2M pin configuration nodes describe the I/O voltage with
power-source. Add the property and allow the 1800 mV and 3300 mV
values used by the DTS.
Assisted-by: LLM
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
.../devicetree/bindings/pinctrl/renesas,rzv2m-pinctrl.yaml | 3 +++
1 file changed, 3 insertions(+)
@@ -73,6 +73,9 @@ additionalProperties:bias-disable:truebias-pull-down:truebias-pull-up:true+power-source:+description:I/O voltage in millivolts.+enum:[1800,3300]drive-strength-microamp:# Superset of supported valuesenum:[1600,1800,2000,3200,3800,4000,6400,7800,8000,
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] pinctrl: rzv2m: driver rejects power-source leading to silent probe failure
--
commit d9bace34984ccb180f68f3bb012d8d6364147a69
Author: Rob Herring (Arm) [off-list ref]
dt-bindings: pinctrl: renesas: Allow power-source
This commit updates the rzv2m-pinctrl device tree binding to allow the
power-source property. It officially permits configuring 1800 mV and 3300 mV
I/O voltages.
@@ -73,6 +73,9 @@ additionalProperties:bias-disable:truebias-pull-down:truebias-pull-up:true+power-source:+description:I/O voltage in millivolts.+enum:[1800,3300]
[Severity: High]
Does this cause silent probe failures for devices using this newly allowed
property?
By adding power-source here, the device tree can now officially configure
PIN_CONFIG_POWER_SOURCE, but the driver actively rejects this configuration:
drivers/pinctrl/renesas/pinctrl-rzv2m.c:rzv2m_pinctrl_pinconf_set() {
...
case PIN_CONFIG_SLEW_RATE: {
...
break;
}
default:
return -ENOTSUPP;
}
}
...
}
When the device probes, pinctrl_bind_pins() attempts to apply the state, and
this driver callback falls through to the default case returning -ENOTSUPP.
The pinctrl core (pinconf_apply_setting() -> pinctrl_select_state()) treats
this as an error, un-applies the mux setting, and propagates -ENOTSUPP.
Finally, pinctrl_bind_pins() ignores the error, frees the device's pin
container, and allows probing to continue without configuring any pins.
Will this leave the device with unconfigured pins, resulting in successfully
probed but non-functional peripherals?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260921232551.3129244-1-robh@kernel.org?part=1
@@ -73,6 +73,9 @@ additionalProperties:bias-disable:truebias-pull-down:truebias-pull-up:true+power-source:+description:I/O voltage in millivolts.+enum:[1800,3300]drive-strength-microamp:# Superset of supported valuesenum:[1600,1800,2000,3200,3800,4000,6400,7800,8000,--
Hi Rob,
Thanks for your patch!
On Tue, 22 Sept 2026 at 01:26, Rob Herring (Arm) [off-list ref] wrote:
RZ/V2M pin configuration nodes describe the I/O voltage with
power-source. Add the property and allow the 1800 mV and 3300 mV
values used by the DTS.
Assisted-by: LLM
Dear LLM: please consider the actual driver source code, too.
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
@@ -73,6 +73,9 @@ additionalProperties:bias-disable:truebias-pull-down:truebias-pull-up:true+power-source:+description:I/O voltage in millivolts.+enum:[1800,3300]drive-strength-microamp:# Superset of supported valuesenum:[1600,1800,2000,3200,3800,4000,6400,7800,8000,
drivers/pinctrl/renesas/pinctrl-rzv2m.c does not implement support
for PIN_CONFIG_POWER_SOURCE yet. So I'd rather not advertise the
power-source property in the DT bindings until the driver is fixed.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
From: Rob Herring <robh@kernel.org> Date: 2026-09-23 15:15:38
On Tue, Sep 22, 2026 at 03:18:53PM +0200, Geert Uytterhoeven wrote:
Hi Rob,
Thanks for your patch!
On Tue, 22 Sept 2026 at 01:26, Rob Herring (Arm) [off-list ref] wrote:
quoted
RZ/V2M pin configuration nodes describe the I/O voltage with
power-source. Add the property and allow the 1800 mV and 3300 mV
values used by the DTS.
Assisted-by: LLM
Dear LLM: please consider the actual driver source code, too.
quoted
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
@@ -73,6 +73,9 @@ additionalProperties:bias-disable:truebias-pull-down:truebias-pull-up:true+power-source:+description:I/O voltage in millivolts.+enum:[1800,3300]drive-strength-microamp:# Superset of supported valuesenum:[1600,1800,2000,3200,3800,4000,6400,7800,8000,
drivers/pinctrl/renesas/pinctrl-rzv2m.c does not implement support
for PIN_CONFIG_POWER_SOURCE yet. So I'd rather not advertise the
power-source property in the DT bindings until the driver is fixed.
What A driver does, doesn't really matter. If you use it in the dts or
the client(driver), then it must be documented.
The alternative is remove it from the .dts, but that feels wrong to me
knowing that you will need it some day.
Rob
On Tue, Sep 22, 2026 at 3:19 PM Geert Uytterhoeven [off-list ref] wrote:
quoted
+ power-source:+ description: I/O voltage in millivolts.+ enum: [ 1800, 3300 ]
(...)
drivers/pinctrl/renesas/pinctrl-rzv2m.c does not implement support
for PIN_CONFIG_POWER_SOURCE yet. So I'd rather not advertise the
power-source property in the DT bindings until the driver is fixed.
The DT bindings are used by U-Boot and BSD too, what if
their drivers use it?
It's a bit confusing but we're essentially maintaining the bindings
for those other projects as well, and it's why, for a good reason,
DT maintainers originally wanted to split out the bindings to a
separate repo. (This didn't happen because nobody wants the
job of driving and maintaining that, binding maintainers have
enough trouble as it is.)
I'd say just apply the patch.
Yours,
Linus Walleij
Hi Linus,
On Thu, 24 Sept 2026 at 09:25, Linus Walleij [off-list ref] wrote:
On Tue, Sep 22, 2026 at 3:19 PM Geert Uytterhoeven [off-list ref] wrote:
quoted
quoted
+ power-source:+ description: I/O voltage in millivolts.+ enum: [ 1800, 3300 ]
(...)
quoted
drivers/pinctrl/renesas/pinctrl-rzv2m.c does not implement support
for PIN_CONFIG_POWER_SOURCE yet. So I'd rather not advertise the
power-source property in the DT bindings until the driver is fixed.
The DT bindings are used by U-Boot and BSD too, what if
their drivers use it?
As this property controls voltage, I am mostly worried that having
a user without implementation may cause ill-effects (damage?) on the hardware.
With the property missing in the DT bindings, we at least get a
warning with dtbs_check.
Fabrizio: do you have access to the hardware?
Does it work? Perhaps the SDHI driver fails to probe due to the
unhandled property?
It's a bit confusing but we're essentially maintaining the bindings
for those other projects as well, and it's why, for a good reason,
DT maintainers originally wanted to split out the bindings to a
separate repo. (This didn't happen because nobody wants the
job of driving and maintaining that, binding maintainers have
enough trouble as it is.)
Sure.
I'd say just apply the patch.
I can't seem to find registers to implement the voltage switching,
so perhaps it's purely controlled externally, and the property should
not be described at all?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds