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