[PATCH 0/6] Allwinner H6 USB3 support

Andre Przywara andre.przywara at arm.com
Tue Feb 9 02:42:57 CET 2021


On Sun,  7 Feb 2021 23:57:18 -0600
Samuel Holland <samuel at sholland.org> wrote:

Hi Samuel,

> This series adds clock, PHY, and XHCI driver support for the USB3
> controller found in the Allwinner H6 SoC. Below is a log showing it
> functioning on the Orange Pi 3.

Many thanks for sharing this! The lack of USB 3.0 support annoyed me
for a while (not so much for SuperSpeed, but more for another usable USB
port). I had some patches myself, but stopped with some hacks after I
realised the resets properties blunder.
So many thanks for finding a much better solution for this! There might
be still some discussion around this, but at least we have something in
a working and non-hackish state.

I commented on the individual patches!

Cheers,
Andre

> U-Boot 2021.04-rc1-00068-g6b8f4e0d060 (Jan 01 1970 - 00:00:00 +0000) Allwinner Technology
> 
> CPU:   Allwinner H6 (SUN50I)
> Model: OrangePi 3
> DRAM:  2 GiB
> MMC:   mmc at 4020000: 0, mmc at 4021000: 2, mmc at 4022000: 1
> Loading Environment from FAT... Unable to use mmc 1:0... In:    serial at 5000000
> Out:   serial at 5000000
> Err:   serial at 5000000
> Net:   No ethernet found.
> starting USB...
> Bus usb at 5101000: USB EHCI 1.00
> Bus usb at 5101400: USB OHCI 1.0
> Bus usb at 5200000: Register 2000140 NbrPorts 2
> Starting the controller
> USB XHCI 1.00
> Bus usb at 5311000: USB EHCI 1.00
> Bus usb at 5311400: USB OHCI 1.0
> scanning bus usb at 5101000 for devices... 1 USB Device(s) found
> scanning bus usb at 5101400 for devices... 1 USB Device(s) found
> scanning bus usb at 5200000 for devices... 4 USB Device(s) found
> scanning bus usb at 5311000 for devices... 1 USB Device(s) found
> scanning bus usb at 5311400 for devices... 1 USB Device(s) found
>        scanning usb for storage devices... 1 Storage Device(s) found
> Hit any key to stop autoboot:  0 
> => usb tree  
> USB device tree:
>   1  Hub (480 Mb/s, 0mA)
>      u-boot EHCI Host Controller 
>    
>   1  Hub (12 Mb/s, 0mA)
>       U-Boot Root Hub 
>    
>   1  Hub (5 Gb/s, 0mA)
>   |  U-Boot XHCI Host Controller 
>   |
>   +-2  Hub (5 Gb/s, 0mA)
>   | |  GenesysLogic USB3.1 Hub 
>   | |
>   | +-4  Mass Storage (5 Gb/s, 224mA)
>   |                                071044991D8D6A81
>   |    
>   +-3  Hub (480 Mb/s, 100mA)
>        GenesysLogic USB2.1 Hub 
>      
>   1  Hub (480 Mb/s, 0mA)
>      u-boot EHCI Host Controller 
>    
>   1  Hub (12 Mb/s, 0mA)
>       U-Boot Root Hub 
> 
> Samuel Holland (6):
>   clk: sunxi: Add a dummy clock driver for the RTC
>   clk: sunxi: h6: Add XHCI clocks
>   phy: sun50i-usb3: Add a driver for the H6 USB3 PHY
>   usb: xhci-pci: Move reset logic out of XHCI core
>   usb: xhci-dwc3: Add support for clocks/resets
>   configs: Enable USB3 on Allwinner H6 boards
> 
>  configs/orangepi_3_defconfig            |   5 +
>  configs/pine_h64_defconfig              |   5 +
>  drivers/clk/sunxi/Makefile              |   2 +
>  drivers/clk/sunxi/clk_h6.c              |   2 +
>  drivers/clk/sunxi/clk_sun6i_rtc.c       |  35 +++++
>  drivers/phy/allwinner/Kconfig           |   8 ++
>  drivers/phy/allwinner/Makefile          |   1 +
>  drivers/phy/allwinner/phy-sun50i-usb3.c | 171 ++++++++++++++++++++++++
>  drivers/usb/host/xhci-dwc3.c            |  56 ++++++++
>  drivers/usb/host/xhci-mem.c             |   2 -
>  drivers/usb/host/xhci-pci.c             |  38 +++++-
>  drivers/usb/host/xhci.c                 |  35 -----
>  include/usb/xhci.h                      |   2 -
>  13 files changed, 321 insertions(+), 41 deletions(-)
>  create mode 100644 drivers/clk/sunxi/clk_sun6i_rtc.c
>  create mode 100644 drivers/phy/allwinner/phy-sun50i-usb3.c
> 



More information about the U-Boot mailing list