[PATCH v2 3/3] riscv: dts: spacemit: Enable USB3.0 on BananaPi-F3
Yixun Lan
dlan at gentoo.org
Wed Jan 7 17:21:57 PST 2026
Hi Ze,
thanks for your patch, I have few comments, see below..
On 20:05 Wed 07 Jan , Ze Huang wrote:
> Enable the DWC3 USB 3.0 controller and its associated usbphy2 on the
> Banana Pi F3 board.
>
> The board utilizes a VLI VL817 hub, which requires two separate power
> supplies: one VBUS and one for hub itself. Add two GPIO-controlled
> fixed-regulators to manage this.
>
> Tested-by: Aurelien Jarno <aurelien at aurel32.net>
> Signed-off-by: Ze Huang <huang.ze at linux.dev>
> ---
> arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 48 +++++++++++++++++++++++++
> 1 file changed, 48 insertions(+)
>
> diff --git a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> index 3f10efd925dc..013df91c6a4c 100644
> --- a/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> +++ b/arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
> @@ -59,6 +59,26 @@ reg_vcc_4v: vcc-4v {
> regulator-always-on;
> vin-supply = <®_dc_in>;
> };
> +
> + usb3_vbus: regulator-vbus-5v {
I've checked the schematics, the name is 5V_VBUS there, so for the consistency
with previous naming convention, let's change to:
usb3_vbus_5v: usb3-vbus-5v
> + compatible = "regulator-fixed";
> + regulator-name = "USB30_VBUS";
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
..
> + regulator-always-on;
do you think the "always-on" property really necessary? it indicate the
power regulator is critical, and should never been disabled even during
suspend/resume state, for the case of USB, I think it should be totally
fine to poweroff once the device is not used(suspended) or even disabled
besides, the regulator is designed with a gpio enabling/disabling control
which means it can be powered to on/off state?
> + gpio = <&gpio K1_GPIO(97) GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> +
> + usb3_vhub: regulator-vhub-5v {
why use vhub, but not hub? where does this name come from?
and for same reason, the name in schematics is VCC5V0_HUB, so how about
change it to:
usb3_hub_5v: usb3-hub-5v
> + compatible = "regulator-fixed";
> + regulator-name = "USB30_VHUB";
~~~need to fix too, if above is valid
> + regulator-min-microvolt = <5000000>;
> + regulator-max-microvolt = <5000000>;
..
> + regulator-always-on;
ditto
> + gpio = <&gpio K1_GPIO(123) GPIO_ACTIVE_HIGH>;
> + enable-active-high;
> + };
> };
>
> &combo_phy {
> @@ -67,6 +87,34 @@ &combo_phy {
> status = "okay";
> };
>
..
> +&usbphy2 {
> + status = "okay";
> +};
> +
> +&usb_dwc3 {
> + dr_mode = "host";
> + vbus-supply = <&usb3_vbus>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + status = "okay";
> +
> + hub_2_0: hub at 1 {
> + compatible = "usb2109,2817";
> + reg = <0x1>;
> + vdd-supply = <&usb3_vhub>;
> + peer-hub = <&hub_3_0>;
> + reset-gpios = <&gpio K1_GPIO(124) GPIO_ACTIVE_LOW>;
> + };
> +
> + hub_3_0: hub at 2 {
> + compatible = "usb2109,817";
> + reg = <0x2>;
> + vdd-supply = <&usb3_vhub>;
> + peer-hub = <&hub_2_0>;
> + reset-gpios = <&gpio K1_GPIO(124) GPIO_ACTIVE_LOW>;
> + };
> +};
> +
can you move these two after &uart0? I'd like to keep them sorted by
label alphabet order..
> &emmc {
> bus-width = <8>;
> mmc-hs400-1_8v;
>
> --
> 2.52.0
>
--
Yixun Lan (dlan)
More information about the linux-riscv
mailing list