Re: [PATCH v1 1/3] arm64: dts: rockchip: rk3588-rock-5b-5bp-5t: Correct Type-C pin bias settings

Sebastian Reichel
2026-01-09T23:11:28Z

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

Hi,

On Thu, Jan 08, 2026 at 12:24:50PM +0530, Anand Moon wrote:
> Hi Sebastian,
>
> Thanks for your review comments.
>
> On Sat, 3 Jan 2026 at 19:23, Sebastian Reichel
> <sebastian.reichel@collabora.com> wrote:
> >
> > Hi,
> >
> > On Sat, Jan 03, 2026 at 02:01:17PM +0530, Anand Moon wrote:
> > > As pre FUSB302 datasheet interrupt line (INT_N) is an open-drain,
> > > active-low signal. It requires a pull-up resistor to maintain a stable
> > > high state when deasserted. Similarly, the TYPEC5V_PWREN_H enable signal
> > > requires a pull-down resistor to ensure it defaults to a low state,
> > > preventing unintended power delivery during the boot sequence.
> > >
> > > Update the pinctrl entries to use pcfg_pull_up for usbc0_int and
> > > pcfg_pull_down for vbus5v0_typec_en to align with the hardware's
> > > electrical requirements.
> > >
> > > Cc: Sebastian Reichel <sebastian.reichel@collabora.com>
> > > Fixes: 67b2c15d8fb3 ("arm64: dts: rockchip: add USB-C support for ROCK 5B/5B+/5T")
> > > Signed-off-by: Anand Moon <linux.amoon@gmail.com>
> > > ---
> > > v1: As per the shematics CC_INT_L interrupt pin is GPIO3_B4_u
> > > As per the shematics TYPEC5V_PWREN_H pin is GPIO2_B6_d
> > > ---
> >
> > Checking the schematics:
> >
> > 5B v1.45 - CC_INT_L - R2613 10K pull-up resistor
> > 5B v1.45 - TYPEC5V_PWREN_H - GPIO is effectively unused because R95035 is NC
> >
> > 5B+ v1.2 - CC_INT_L - R2613 10K pull-up resistor
> > 5B+ v1.2 - TYPEC5V_PWREN_H - R163 100K pull-down resistor
> >
> > 5T v1.2 - CC_INT_L - R2613 10K pull-up resistor
> > 5T v1.2 - TYPEC5V_PWREN_H - R163 100K pull-down resistor
> >
> CC_INT_L is gpio interrupt pin to enable the I2C read operation.
>
> As per FUSB302 datasheet, here is the updated version of the commit message
>
> Configure CC_INT_L as an active-low, open-drain output. Per the hardware design,
> this pin utilizes an external pull-up and is driven LOW by the Type-C
> controller to
> signal the processor to perform I2C register reads.
>
> The TYPEC5V_PWREN_H pull-down resistor is turned on as a signal to
> the Type-C regulator, which has an active-enable-high property. In this context,
> the regulator is used to set the polarity of the GPIO used to enable or disable
> the regulator.

I don't understand what you want to say here.

> > TLDR: All GPIOs have pull resistors in discrete hardware and do not
> > need them muxed in the SoC.
> >
> It depends on the GPIO, pinctrl PMU configuration.

as I try to say it does not depend on pinctrl configuration for any
of the GPIOs you are touching. The pull resistors for them exist as
components on the board.

> I was thinking of converting the vbus5v0_typec regulator to 'regulator-gpio.'
> to better reflect the hardware schematics. The TYPEC5V_PWREN_H signal
> (GPIO2_B6_d) acts as a state controller rather than a simple enable pin,
> and this change ensures the device tree aligns with that design
>
> [1] https://dl.radxa.com/rock5/5b/docs/hw/radxa_rock_5b_v1450_schematic.pdf
> (page 28)
>
> $ git diff arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
> b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
> index 5f58e339a052..387ff009ec76 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b-5bp-5t.dtsi
> @@ -57,9 +57,10 @@ rfkill-bt {
> };
>
> vbus5v0_typec: vbus5v0-typec {
> - compatible = "regulator-fixed";
> + compatible = "regulator-gpio";
> enable-active-high;
> - gpio = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>;
> + gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>;
> + states = <5000000 0x1>, <0 0x0>;
> pinctrl-names = "default";
> pinctrl-0 = <&vbus5v0_typec_en>;
> regulator-name = "vbus5v0_typec";
>
> Could you please try this at your end?

This is missing gpios-states, but I also see no point in testing
that. Having one state as 0 effectively means this is a complicated
version of regulator-fixed. The switch from "gpio" to "gpios" is
valid though, since "gpio" is deprecated.

Greetings,

-- Sebastian

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