[PULL][PATCH 0/9] Raspberry pi improvements qemu/usb/ethernet

Jason Wessel jason.wessel at windriver.com
Fri Jul 24 23:50:40 CEST 2020

I would like to get these patches merged for the next release, but
there has been no movement on some of them in over a month.  I would
fix any problems with the patches, but I am not aware of any.  The
patch set has been tested on all the generations of the raspberry pi
hardware and qemu and passed the travis ci checks.

-- Travis CI checks --

Pull Request #35 Rpi master

The commit 57805f2270c4 ("net: bcmgenet: Don't set ID_MODE_DIS when
not using RGMII") needed to be extended for the case of using the
rgmii-rxid. The latest version of the Rasbperry Pi4 dtb files for the
5.4 now specify the rgmii-rxid.

Signed-off-by: Jason Wessel <jason.wessel at windriver.com>

Commit 9a21770 #35: Rpi master Branch master 

-- End Travis CI checks --

Prior to this patch set, I had just a small number of USB keyboards
function properly with the Rasbpberry Pi boards.  Nearly every
composite USB keyboard/mouse I had access to including the Raritan
IP/KVM devices would not initialize properly.

  - Consolidated all the usb and ethernet patches into a single set
  - No changes to any of the patches

  - Testing completed against all generations of raspberry pi boards
  - check patch warnings add errors have been fixed

rfc v3:
  - Add in patch 6
  - Finally got the GearHead keyboard + mouse composite USB device working

rfc v2: 
  - Minor cleanups to patches 1-3 based on prior review
  - Patch 4 & 5 are new to fix various xhchi crashes
    while having additional devices plugged in along with
    booting off the usb port.  The nonblocking mode turned
    out to be somewhat complex.

rfc v1:

The original purpose of the patch set was to fix problems with the USB
keyboard support with the rpi4.  The generic xhci code lacks a non
blocking call to read an event.  This causes major problems for the
sleep function as well as for ethernet downloads where a keyboard poll
for interrupting the download blocks for 5 seconds.

The following changes since commit fee68b98fe3890631a9bdf8f8db328179011ee3f:

  Merge tag 'efi-2020-10-rc1-4' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi (2020-07-16 16:35:15 -0400)

are available in the Git repository at:


for you to fetch changes up to fb5b89c4f2aa2a95c4024b156099c838d1199bd0:

  bcmgenet: Add support for rgmii-rxid (2020-07-17 06:35:11 -0700)

Jason Wessel (9):
      fs/fat/fat.c: Do not perform zero block reads if there are no blocks left
      xhci: Add polling support for USB keyboards
      usb_kbd: succeed even if no interrupt is pending
      common/usb.c: Work around keyboard reporting "USB device not accepting new address"
      xhci-ring.c: Add the poll_pend state to properly abort transactions
      xhci-ring: Fix crash when issuing "usb reset"
      usb.c: Add a retry in the usb_prepare_device()
      bcmgenet: fix DMA buffer management
      bcmgenet: Add support for rgmii-rxid

 common/usb.c                 |  16 ++++--
 common/usb_kbd.c             |   4 +-
 drivers/net/bcmgenet.c       |  20 +++----
 drivers/usb/host/xhci-ring.c | 123 +++++++++++++++++++++++++++++++++----------
 drivers/usb/host/xhci.c      |  11 ++--
 fs/fat/fat.c                 |   5 +-
 include/usb/xhci.h           |   5 +-
 7 files changed, 136 insertions(+), 48 deletions(-)

More information about the U-Boot mailing list