[v3] ARM: dts: rockchip: Add usb host0 ohci node for rk3288

Message ID 20200720105846.367776-1-jagan@amarulasolutions.com
State New
Headers show
Series
  • [v3] ARM: dts: rockchip: Add usb host0 ohci node for rk3288
Related show

Commit Message

Jagan Teki July 20, 2020, 10:58 a.m. UTC
rk3288 and rk3288w have a usb host0 ohci controller.

Although rk3288 ohci doesn't actually work on hardware, but
rk3288w ohci can work well.

So add usb host0 ohci node in rk3288 dtsi and the quirk in
ohci platform driver will disable ohci on rk3288.

Cc: William Wu <william.wu@rock-chips.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3:
- none

 arch/arm/boot/dts/rk3288.dtsi | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

Comments

Heiko Stuebner July 22, 2020, 6:34 p.m. UTC | #1
Hi Jaganm

Am Montag, 20. Juli 2020, 12:58:46 CEST schrieb Jagan Teki:
> rk3288 and rk3288w have a usb host0 ohci controller.
> 
> Although rk3288 ohci doesn't actually work on hardware, but
> rk3288w ohci can work well.
> 
> So add usb host0 ohci node in rk3288 dtsi and the quirk in
> ohci platform driver will disable ohci on rk3288.

If I remember the discussion correctly, we expect the board dts
or the bootloader to enable the ohci, right?
So that block go away ... just making sure, I don't remember
untrue stuff ;-)


Heiko


> Cc: William Wu <william.wu@rock-chips.com>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> ---
> Changes for v3:
> - none
> 
>  arch/arm/boot/dts/rk3288.dtsi | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
> index 0cd88774db95..f0774d9afb67 100644
> --- a/arch/arm/boot/dts/rk3288.dtsi
> +++ b/arch/arm/boot/dts/rk3288.dtsi
> @@ -614,7 +614,16 @@ usb_host0_ehci: usb@ff500000 {
>  		status = "disabled";
>  	};
>  
> -	/* NOTE: ohci@ff520000 doesn't actually work on hardware */
> +	/* NOTE: doesn't work on RK3288, but fixed on RK3288W */
> +	usb_host0_ohci: usb@ff520000 {
> +		compatible = "generic-ohci";
> +		reg = <0x0 0xff520000 0x0 0x100>;
> +		interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
> +		clocks = <&cru HCLK_USBHOST0>;
> +		phys = <&usbphy1>;
> +		phy-names = "usb";
> +		status = "disabled";
> +	};
>  
>  	usb_host1: usb@ff540000 {
>  		compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",
>
Jagan Teki July 22, 2020, 6:46 p.m. UTC | #2
Hi Heiko,

On Thu, Jul 23, 2020 at 12:04 AM Heiko Stuebner <heiko@sntech.de> wrote:
>
> Hi Jaganm
>
> Am Montag, 20. Juli 2020, 12:58:46 CEST schrieb Jagan Teki:
> > rk3288 and rk3288w have a usb host0 ohci controller.
> >
> > Although rk3288 ohci doesn't actually work on hardware, but
> > rk3288w ohci can work well.
> >
> > So add usb host0 ohci node in rk3288 dtsi and the quirk in
> > ohci platform driver will disable ohci on rk3288.
>
> If I remember the discussion correctly, we expect the board dts
> or the bootloader to enable the ohci, right?
> So that block go away ... just making sure, I don't remember
> untrue stuff ;-)

Our (with Robin) initial discussion [1] is to manage OHCI enablement
in the bootloader but since it requires many checks at bootloader
level we finally rely on board dts to enable it as normal.

[1] https://lkml.org/lkml/2020/7/3/424

Jagan.
Heiko Stuebner July 22, 2020, 6:49 p.m. UTC | #3
Am Mittwoch, 22. Juli 2020, 20:46:55 CEST schrieb Jagan Teki:
> Hi Heiko,
> 
> On Thu, Jul 23, 2020 at 12:04 AM Heiko Stuebner <heiko@sntech.de> wrote:
> >
> > Hi Jaganm
> >
> > Am Montag, 20. Juli 2020, 12:58:46 CEST schrieb Jagan Teki:
> > > rk3288 and rk3288w have a usb host0 ohci controller.
> > >
> > > Although rk3288 ohci doesn't actually work on hardware, but
> > > rk3288w ohci can work well.
> > >
> > > So add usb host0 ohci node in rk3288 dtsi and the quirk in
> > > ohci platform driver will disable ohci on rk3288.
> >
> > If I remember the discussion correctly, we expect the board dts
> > or the bootloader to enable the ohci, right?
> > So that block go away ... just making sure, I don't remember
> > untrue stuff ;-)
> 
> Our (with Robin) initial discussion [1] is to manage OHCI enablement
> in the bootloader but since it requires many checks at bootloader
> level we finally rely on board dts to enable it as normal.

ok, so I'll just drop this paragraph when applying.



> 
> [1] https://lkml.org/lkml/2020/7/3/424
> 
> Jagan.
>
Heiko Stuebner July 22, 2020, 7:21 p.m. UTC | #4
On Mon, 20 Jul 2020 16:28:46 +0530, Jagan Teki wrote:
> rk3288 and rk3288w have a usb host0 ohci controller.
> 
> Although rk3288 ohci doesn't actually work on hardware, but
> rk3288w ohci can work well.
> 
> So add usb host0 ohci node in rk3288 dtsi and the quirk in
> ohci platform driver will disable ohci on rk3288.

Applied, thanks!

[1/1] ARM: dts: rockchip: Add usb host0 ohci node for rk3288
      commit: 82540defdd9cfc491f564ffb8d01911966636bc7

Best regards,

Patch

diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index 0cd88774db95..f0774d9afb67 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -614,7 +614,16 @@  usb_host0_ehci: usb@ff500000 {
 		status = "disabled";
 	};
 
-	/* NOTE: ohci@ff520000 doesn't actually work on hardware */
+	/* NOTE: doesn't work on RK3288, but fixed on RK3288W */
+	usb_host0_ohci: usb@ff520000 {
+		compatible = "generic-ohci";
+		reg = <0x0 0xff520000 0x0 0x100>;
+		interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&cru HCLK_USBHOST0>;
+		phys = <&usbphy1>;
+		phy-names = "usb";
+		status = "disabled";
+	};
 
 	usb_host1: usb@ff540000 {
 		compatible = "rockchip,rk3288-usb", "rockchip,rk3066-usb",