Re: [PATCH 1/2] dt-bindings: pinctrl: renesas,r9a09g077: Document pin configuration properties

Conor Dooley
2025-10-16T16:41:24Z

[-- Attachment #1: Type: text/plain, Size: 3091 bytes --]

On Tue, Oct 14, 2025 at 08:11:20PM +0100, Prabhakar wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
>
> Document the pin configuration properties supported by the RZ/T2H pinctrl
> driver. The RZ/T2H SoC supports configuring various electrical properties
> through the DRCTLm (I/O Buffer Function Switching) registers.
>
> Add documentation for the following standard properties:
> - bias-disable, bias-pull-up, bias-pull-down: Control internal
> pull-up/pull-down resistors (3 options: no pull, pull-up, pull-down)
> - input-schmitt-enable, input-schmitt-disable: Control Schmitt trigger
> input
> - slew-rate: Control output slew rate (2 options: slow/fast)
>
> Add documentation for the custom property:
> - renesas,drive-strength: Control output drive strength using discrete
> levels (0-3) representing low, medium, high, and ultra high strength.
> This custom property is needed because the hardware uses fixed discrete
> levels rather than configurable milliamp values.
>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> ---
> .../bindings/pinctrl/renesas,r9a09g077-pinctrl.yaml | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,r9a09g077-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/renesas,r9a09g077-pinctrl.yaml
> index 36d665971484..9085d5cfb1c8 100644
> --- a/Documentation/devicetree/bindings/pinctrl/renesas,r9a09g077-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/renesas,r9a09g077-pinctrl.yaml
> @@ -72,6 +72,19 @@ definitions:
> input: true
> input-enable: true
> output-enable: true
> + bias-disable: true
> + bias-pull-down: true
> + bias-pull-up: true
> + input-schmitt-enable: true
> + input-schmitt-disable: true
> + slew-rate:
> + enum: [0, 1]

What are the meanings of "0" and "1" for slew rate? Why isn't this given
as the actual rates? The docs surely give more detail than just "slow"
and "fast".

> + renesas,drive-strength:
> + description:
> + Drive strength configuration value. Valid values are 0 to 3, representing
> + increasing drive strength from low, medium, high and ultra high.

I see what you wrote in the commit message, but I don't really get why
you need a custom property. I would imagine most devices only have some
some small set of "fixed discrete levels", yet manage with milli- or
micro-amps fine. Converting from mA to register values in a driver is
not difficult, and I figure the documentation for the device probably
doesn't just give vague strengths like "medium" or "ultra high", but
probably provides currents?

I dunno, I am just confused by the need to shove register values into
these properties, rather than using the actual units.

> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [0, 1, 2, 3]
> oneOf:
> - required: [pinmux]
> - required: [pins]
> --
> 2.43.0
>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]