diff mbox series

[1/3] arm64: dts: rockchip: enable otg/drd operation of usb_host0_xhci in rk356x

Message ID 20220425133502.405512-1-michael.riesch@wolfvision.net (mailing list archive)
State New
Headers show
Series [1/3] arm64: dts: rockchip: enable otg/drd operation of usb_host0_xhci in rk356x | expand

Commit Message

Michael Riesch April 25, 2022, 1:35 p.m. UTC
This USB 3.0 controller is capable of OTG/DRD operation. Enable it in the
device tree.

Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
---
 arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Nicolas Frattaroli April 28, 2022, 11:15 a.m. UTC | #1
On Montag, 25. April 2022 15:35:00 CEST Michael Riesch wrote:
> This USB 3.0 controller is capable of OTG/DRD operation. Enable it in the
> device tree.
> 
> Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
> ---
>  arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> index 55e6dcb948cc..f611aaf2d238 100644
> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> @@ -266,7 +266,7 @@ usb_host0_xhci: usb@fcc00000 {
>  			 <&cru ACLK_USB3OTG0>;
>  		clock-names = "ref_clk", "suspend_clk",
>  			      "bus_clk";
> -		dr_mode = "host";
> +		dr_mode = "otg";
>  		phy_type = "utmi_wide";
>  		power-domains = <&power RK3568_PD_PIPE>;
>  		resets = <&cru SRST_USB3OTG0>;
> 

Hi Michael,

according to official specs[1], only the RK3568 is capable of using the
USB 3.0 controller in OTG mode. For the RK3566, OTG is USB 2.0, if I
understand this correctly.

So I think this should be an override in rk3568.dtsi.

Regards,
Nicolas Frattaroli

[1]: Compare page 17 of the RK3568 datasheet to page 16 of the RK3566
     datasheet
Michael Riesch April 28, 2022, 1:24 p.m. UTC | #2
Hi Nicolas,

On 4/28/22 13:15, Nicolas Frattaroli wrote:
> On Montag, 25. April 2022 15:35:00 CEST Michael Riesch wrote:
>> This USB 3.0 controller is capable of OTG/DRD operation. Enable it in the
>> device tree.
>>
>> Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
>> ---
>>  arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>> index 55e6dcb948cc..f611aaf2d238 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>> @@ -266,7 +266,7 @@ usb_host0_xhci: usb@fcc00000 {
>>  			 <&cru ACLK_USB3OTG0>;
>>  		clock-names = "ref_clk", "suspend_clk",
>>  			      "bus_clk";
>> -		dr_mode = "host";
>> +		dr_mode = "otg";
>>  		phy_type = "utmi_wide";
>>  		power-domains = <&power RK3568_PD_PIPE>;
>>  		resets = <&cru SRST_USB3OTG0>;
>>
> 
> Hi Michael,
> 
> according to official specs[1], only the RK3568 is capable of using the
> USB 3.0 controller in OTG mode. For the RK3566, OTG is USB 2.0, if I
> understand this correctly.
> 
> So I think this should be an override in rk3568.dtsi.

Thanks for pointing that out -- will change in v2 (I'll wait a bit,
though, as I hope that patches 2 and 3 will be applied as they are ;-)

Best regards,
Michael

> 
> Regards,
> Nicolas Frattaroli
> 
> [1]: Compare page 17 of the RK3568 datasheet to page 16 of the RK3566
>      datasheet
> 
>
Heiko Stuebner April 30, 2022, 2:05 p.m. UTC | #3
On Mon, 25 Apr 2022 15:35:00 +0200, Michael Riesch wrote:
> This USB 3.0 controller is capable of OTG/DRD operation. Enable it in the
> device tree.

Applied, thanks!

[2/3] arm64: dts: rockchip: add usb3 support to the radxa rock3 model a
      commit: 254a1f6a29e7a273adb1a1d032305ec58ef83a69
[3/3] arm64: dts: rockchip: enable usb hub on the radxa rock3 model a
      commit: 160f126b89e10bd58491e10067a44c7e3f85fa2c

Best regards,
Heiko Stuebner April 30, 2022, 2:07 p.m. UTC | #4
Am Donnerstag, 28. April 2022, 15:24:09 CEST schrieb Michael Riesch:
> Hi Nicolas,
> 
> On 4/28/22 13:15, Nicolas Frattaroli wrote:
> > On Montag, 25. April 2022 15:35:00 CEST Michael Riesch wrote:
> >> This USB 3.0 controller is capable of OTG/DRD operation. Enable it in the
> >> device tree.
> >>
> >> Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
> >> ---
> >>  arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> >> index 55e6dcb948cc..f611aaf2d238 100644
> >> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> >> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
> >> @@ -266,7 +266,7 @@ usb_host0_xhci: usb@fcc00000 {
> >>  			 <&cru ACLK_USB3OTG0>;
> >>  		clock-names = "ref_clk", "suspend_clk",
> >>  			      "bus_clk";
> >> -		dr_mode = "host";
> >> +		dr_mode = "otg";
> >>  		phy_type = "utmi_wide";
> >>  		power-domains = <&power RK3568_PD_PIPE>;
> >>  		resets = <&cru SRST_USB3OTG0>;
> >>
> > 
> > Hi Michael,
> > 
> > according to official specs[1], only the RK3568 is capable of using the
> > USB 3.0 controller in OTG mode. For the RK3566, OTG is USB 2.0, if I
> > understand this correctly.
> > 
> > So I think this should be an override in rk3568.dtsi.
> 
> Thanks for pointing that out -- will change in v2 (I'll wait a bit,
> though, as I hope that patches 2 and 3 will be applied as they are ;-)

that can be arranged ;-)

Heiko
Michael Riesch May 2, 2022, 11:22 a.m. UTC | #5
Hello again,

On 4/28/22 15:24, Michael Riesch wrote:
> Hi Nicolas,
> 
> On 4/28/22 13:15, Nicolas Frattaroli wrote:
>> On Montag, 25. April 2022 15:35:00 CEST Michael Riesch wrote:
>>> This USB 3.0 controller is capable of OTG/DRD operation. Enable it in the
>>> device tree.
>>>
>>> Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
>>> ---
>>>  arch/arm64/boot/dts/rockchip/rk356x.dtsi | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>>> index 55e6dcb948cc..f611aaf2d238 100644
>>> --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>>> +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
>>> @@ -266,7 +266,7 @@ usb_host0_xhci: usb@fcc00000 {
>>>  			 <&cru ACLK_USB3OTG0>;
>>>  		clock-names = "ref_clk", "suspend_clk",
>>>  			      "bus_clk";
>>> -		dr_mode = "host";
>>> +		dr_mode = "otg";
>>>  		phy_type = "utmi_wide";
>>>  		power-domains = <&power RK3568_PD_PIPE>;
>>>  		resets = <&cru SRST_USB3OTG0>;
>>>
>>
>> Hi Michael,
>>
>> according to official specs[1], only the RK3568 is capable of using the
>> USB 3.0 controller in OTG mode. For the RK3566, OTG is USB 2.0, if I
>> understand this correctly.
>>
>> So I think this should be an override in rk3568.dtsi.
> 
> Thanks for pointing that out -- will change in v2 (I'll wait a bit,
> though, as I hope that patches 2 and 3 will be applied as they are ;-)

I have sent out v2 and got Peter's valuable comment in return that the
v1 patch is actually correct.

> [...]
>> [1]: Compare page 17 of the RK3568 datasheet to page 16 of the RK3566
>>      datasheet

These data sheets can be quite confusing, which is why I seem to change
my opinion about how things should be from mail to mail :-) Let's see if
we can figure it out together:

The Multi-PHY Interface section mentions a "USB 3.0 xHCI Host
Controller" for both RK3566 and RK3568. Additionally, on the RK3568 a
"USB 3.0 Dual-Role Device (DRD) Controller" is present. On the RK3566,
on the other hand, a "USB 2.0 OTG" is mentioned (extra item outside of
the Multi-PHY Interface section).

When I read your mail, I mistook the ehci/ohci controllers for the USB
controllers in charge for USB 2.0 OTG and found your comment to be
correct. However, they are related to "USB 2.0 Host" on RK3566 and
RK3568. Also, since it is explicitly stated that "USB 2.0 OTG" is a xHCI
controller, it becomes apparent that usb_host0_xhci corresponds to "USB
2.0 OTG" on RK3566 and to "USB 3.0 Dual-Role Device (DRD) Controller" on
RK3568.

Long story short, I agree with Peter and the patch at hand (v1) is the
correct one. Sorry for the confusion!

Best regards,
Michael
Heiko Stuebner May 11, 2022, 4:14 a.m. UTC | #6
On Mon, 25 Apr 2022 15:35:00 +0200, Michael Riesch wrote:
> This USB 3.0 controller is capable of OTG/DRD operation. Enable it in the
> device tree.

Applied, thanks!

[1/3] arm64: dts: rockchip: enable otg/drd operation of usb_host0_xhci in rk356x
      commit: bc405bb3eeee4b711830ab569e7f3811b92196ab

Best regards,
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/rockchip/rk356x.dtsi b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
index 55e6dcb948cc..f611aaf2d238 100644
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
@@ -266,7 +266,7 @@  usb_host0_xhci: usb@fcc00000 {
 			 <&cru ACLK_USB3OTG0>;
 		clock-names = "ref_clk", "suspend_clk",
 			      "bus_clk";
-		dr_mode = "host";
+		dr_mode = "otg";
 		phy_type = "utmi_wide";
 		power-domains = <&power RK3568_PD_PIPE>;
 		resets = <&cru SRST_USB3OTG0>;