[U-Boot] [linux-sunxi] [PATCH 0/6] sunxi: H6: Enable USB (2.0) support

Clément Péron peron.clem at gmail.com
Wed Jun 19 08:57:14 UTC 2019


Hi André,

On Wed, 19 Jun 2019 at 03:04, André Przywara <andre.przywara at arm.com> wrote:
>
> On Tue, 18 Jun 2019 19:22:34 +0200
> Clément Péron <peron.clem at gmail.com> wrote:
>
> Hi,
>
>
> > On Tue, 18 Jun 2019 at 19:08, Clément Péron <peron.clem at gmail.com> wrote:
> > >
> > > Hi Andre,
> > >
> > > On Tue, 18 Jun 2019 at 09:50, Jagan Teki <jagan at amarulasolutions.com> wrote:
> > > >
> > > > On Thu, May 16, 2019 at 6:56 AM Andre Przywara <andre.przywara at arm.com> wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > this series enables USB support on the H6 boards. This is mostly just
> > > > > adding some missing pieces here and there, the actual controller and PHY
> > > > > are very similar to the previous ones, if not identical.
> > > > > This is for the 2.0 ports only at the moment, USB 3.0 will be done
> > > > > later (started porting Icenowy's Linux driver).
> > > > > The Pine H64 shares a similar problem as the Pine64+ boards regarding
> > > > > the upper USB port. To enable this port, we need the first patch
> > > > > from the series [1] fixing this issue on the A64 boards.
> > > > >
> > > > > Patch 1 is a drive-by patch to bring SUNXI_GPIO to Kconfig, as this was
> > > > > lingering in one of my branches for a while.
> > > > > Patch 2 enables GPIO support for the H6, as this is needed for the Pine
> > > > > H64 to enable the VBUS regulator.
> > > > > Patch 3 adds the clock and reset gates mappings for the USB controller and
> > > > > the PHY, the values are taken from the manual and verified against
> > > > > Linux.
> > > > > Patch 4 adds some code to the PHY driver to skip over not implemented
> > > > > PHYs, as the H6 uses a PHY0/PHY3 combination in the DT.
> > > > > Patch 5 then eventually enables USB in the existing defconfigs.
> > > > > Patch 6 adds the .dts fixes required to get the upper USB port to work
> > > > > on the Pine H64.
> > > > >
> > > > > Clément, can you please verify that this works for the Beelink box?
> > > Thank you for the notice.
> > >
> > > Works fine on my board:
> > I have tested with and without the trick in usb2otg node and both seems working.
> > (only tested usb start; usb tree).
>
> You mean dropping the status="okay"?
I mean, I have tested with and without the whole patch and it works in
both cases.

>
> Yeah, I figured as well that it works both ways. Actually older kernels
> require the MUSB driver to be enabled, while newer kernels don't seem to
> care. As this affects the Debian Buster kernel (4.19, in the installer),
> I plan on just leaving it as it is right now.
>
> > Why not leave it to avoid a difference with linux?
>
> Technically we should disable it, as it's not usable and might clash
> with EHCI0/OHCI0, but for said reason I just keep it.
That's what I have in mind, if it's not mandatory just leave it as
this, this will avoid differences with linux.

Regards,
Clément

>
> Thanks for having a look!
>
> Cheers,
> Andre.
>
> > > U-Boot 2019.07-rc4 (Jun 18 2019 - 19:06:21 +0200) Allwinner Technology
> > >
> > > CPU:   Allwinner H6 (SUN50I)
> > > Model: Beelink GS1
> > > DRAM:  2 GiB
> > > MMC:   mmc at 4020000: 0, mmc at 4022000: 1
> > > Loading Environment from FAT... Unable to use mmc 1:1... 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
> > > scanning bus usb at 5101000 for devices... 1 USB Device(s) found
> > >
> > > Regards,
> > > Clément
> > >
> > > > > I guess the USB 2.0 port is probably the OTG one, so this setup would
> > > > > look somewhat similar to the PineH64, which would allow you to copy
> > > > > the USB DT nodes from there.
> > > > >
> > > > > Cheers,
> > > > > Andre.
> > > > >
> > > > > [1] https://lists.denx.de/pipermail/u-boot/2019-May/369520.html
> > > > >
> > > > > Andre Przywara (6):
> > > > >   sunxi: move SUNXI_GPIO to Kconfig
> > > > >   sunxi: gpio: Enable support for H6 pin controller
> > > > >   sunxi: clocks: Add H6 USB clock gates and resets
> > > > >   sunxi: phy: Add USB PHY support for Allwinner H6
> > > > >   sunxi: H6: Enable USB for existing boards
> > > > >   sunxi: Pine64: DTS: enable USB PHY 0 for HCI0
> > > >
> > > > Except 6/6 (it can be part of DTS sync during MW) and rest
> > > >
> > > > Reviewed-by: Jagan Teki <jagan at amarulasolutions.com>
>


More information about the U-Boot mailing list