[PATCH 2/2] rockchip: rk3588-edgeble: Add USB OTG support

Quentin Schulz quentin.schulz at cherry.de
Mon May 27 11:12:32 CEST 2024


Hi Jagan,

On 5/27/24 10:57 AM, Jagan Teki wrote:
> On Mon, 27 May 2024 at 14:17, Quentin Schulz <quentin.schulz at cherry.de> wrote:
>>
>> Hi Jagan,
>>
>> On 5/27/24 8:39 AM, Jagan Teki wrote:
>>> Add support for USB OTG with UMS to program eMMC.
>>>
>>> Add it for Edgeble NCM6A, NCM6B.
>>>
>>> Signed-off-by: Jagan Teki <jagan at edgeble.ai>
>>> ---
>>>    .../dts/rk3588-edgeble-neu6a-io-u-boot.dtsi    | 18 ++++++++++++++++++
>>>    .../dts/rk3588-edgeble-neu6b-io-u-boot.dtsi    | 18 ++++++++++++++++++
>>>    configs/neu6a-io-rk3588_defconfig              |  9 +++++++++
>>>    configs/neu6b-io-rk3588_defconfig              |  9 +++++++++
>>>    4 files changed, 54 insertions(+)
>>>
>>> diff --git a/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi b/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi
>>> index 88f3f7eee2..534d9f8a2c 100644
>>> --- a/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi
>>> +++ b/arch/arm/dts/rk3588-edgeble-neu6a-io-u-boot.dtsi
>>> @@ -15,3 +15,21 @@
>>>        bus-width = <4>;
>>>        status = "okay";
>>>    };
>>> +
>>> +&u2phy0 {
>>> +     status = "okay";
>>> +};
>>> +
>>> +&u2phy0_otg {
>>> +     status = "okay";
>>> +};
>>> +
>>> +&usbdp_phy0 {
>>> +     status = "okay";
>>> +};
>>> +
>>> +&usb_host0_xhci {
>>> +     dr_mode = "peripheral";
>>> +     maximum-speed = "high-speed";
>>> +     status = "okay";
>>> +};
>>> diff --git a/arch/arm/dts/rk3588-edgeble-neu6b-io-u-boot.dtsi b/arch/arm/dts/rk3588-edgeble-neu6b-io-u-boot.dtsi
>>> index 289578803e..b3d17a60ce 100644
>>> --- a/arch/arm/dts/rk3588-edgeble-neu6b-io-u-boot.dtsi
>>> +++ b/arch/arm/dts/rk3588-edgeble-neu6b-io-u-boot.dtsi
>>> @@ -15,3 +15,21 @@
>>>        bus-width = <4>;
>>>        status = "okay";
>>>    };
>>> +
>>> +&u2phy0 {
>>> +     status = "okay";
>>> +};
>>> +
>>> +&u2phy0_otg {
>>> +     status = "okay";
>>> +};
>>> +
>>> +&usbdp_phy0 {
>>> +     status = "okay";
>>> +};
>>> +
>>> +&usb_host0_xhci {
>>> +     dr_mode = "peripheral";
>>> +     maximum-speed = "high-speed";
>>> +     status = "okay";
>>> +};
>>
>> I don't see those patches in v6.10-rc1. Have you sent those to upstream
>> already? I assume we should cherry-pick patches in dts/upstream instead
>> of piling stuff up in u-boot.dtsis. This should also bring the patches
>> in rk3588(s).dtsi to add the missing bits for USB support we currently
>> have in rk3588*-u-boot.dtsi?
> 
> These are -u-boot.dtsi and nothing to do with dts/upstream and can be
> removed or reconfigured once we sync the DT from Linux.
> 

This answer seems to suggest there are no patches in the kernel yet. Do 
you not want working USB in Linux? Is something broken in Linux?

I think we're also aiming at only having U-Boot specific stuff in 
-u-boot.dtsi wherever we have OF_UPSTREAM enabled, and enabling USB 
doesn't seem to be typically the thing that should be U-Boot specific? I 
know that we have most rk3588/rk3588s boards with those nodes defined 
already, but they predates the move to OF_UPSTREAM.

As far as I remember, we've always asked people to upstream DT stuff 
they could upstream first and then import them in -u-boot.dtsi later, 
except for things that are U-Boot specific (e.g. different 
representation at a given point in time between U-Boot and kernel, or 
simple support in U-Boot but nothing in kernel yet). We could be a bit 
more aggressive with this policy now that we have dts/upstream as well. 
Ultimately this is up to Kever/Tom to decide where we want to go with 
this and how strict we want the policy to be.

Cheers,
Quentin


More information about the U-Boot mailing list