[RFC PATCH 9/9] config: Enable support for the XHCI controller on RPI4 board
Peter Robinson
pbrobinson at gmail.com
Wed Apr 22 12:50:58 CEST 2020
> > This requires enabling BRCMSTB PCIe and XHCI_PCI drivers as well as PCI
> > and USB commands. To get it working one has to call the following commands:
> > "pci enum; usb start;", thus such commands have been added to the default
> > "preboot" environment variable. One has to update his environment if it is
> > already configured to get this feature working out of the box.
> >
> > Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
> > ---
>
> Would you mind enabling USB keyboard support too? It's useful for people using
> u-boot/UEFI.
And storage too:
CONFIG_USB_STORAGE=y
CONFIG_USB_KEYBOARD=y
In testing these patches I can see the devices with a "usb tree" but
even with the keyboard enabled it doesn't appear to work. AFAICT with
it enabled there should be support for usb keyboard via console in
include/configs/rpi.h but I couldn't see what else might be missing.
> If not I don't mind sending a separate patch.
>
> Regards,
> Nicolas
>
> > configs/rpi_4_32b_defconfig | 9 +++++++++
> > configs/rpi_4_defconfig | 10 ++++++++++
> > configs/rpi_arm64_defconfig | 9 ++++++++-
> > 3 files changed, 27 insertions(+), 1 deletion(-)
> >
> > diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig
> > index 72cda5d..0dd763f 100644
> > --- a/configs/rpi_4_32b_defconfig
> > +++ b/configs/rpi_4_32b_defconfig
> > @@ -8,6 +8,8 @@ CONFIG_NR_DRAM_BANKS=2
> > CONFIG_DISTRO_DEFAULTS=y
> > CONFIG_OF_BOARD_SETUP=y
> > # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
> > +CONFIG_USE_PREBOOT=y
> > +CONFIG_PREBOOT="pci enum; usb start;"
> > CONFIG_MISC_INIT_R=y
> > # CONFIG_DISPLAY_CPUINFO is not set
> > # CONFIG_DISPLAY_BOARDINFO is not set
> > @@ -15,6 +17,8 @@ CONFIG_SYS_PROMPT="U-Boot> "
> > CONFIG_CMD_DFU=y
> > CONFIG_CMD_GPIO=y
> > CONFIG_CMD_MMC=y
> > +CONFIG_CMD_PCI=y
> > +CONFIG_CMD_USB=y
> > CONFIG_CMD_FS_UUID=y
> > CONFIG_OF_BOARD=y
> > CONFIG_ENV_FAT_INTERFACE="mmc"
> > @@ -28,12 +32,17 @@ CONFIG_MMC_SDHCI=y
> > CONFIG_MMC_SDHCI_BCM2835=y
> > CONFIG_DM_ETH=y
> > CONFIG_BCMGENET=y
> > +CONFIG_PCI=y
> > +CONFIG_DM_PCI=y
> > +CONFIG_PCI_BRCMSTB=y
> > CONFIG_PINCTRL=y
> > # CONFIG_PINCTRL_GENERIC is not set
> > # CONFIG_REQUIRE_SERIAL_CONSOLE is not set
> > CONFIG_USB=y
> > CONFIG_DM_USB=y
> > CONFIG_DM_USB_GADGET=y
> > +CONFIG_USB_XHCI_HCD=y
> > +CONFIG_USB_XHCI_PCI=y
> > CONFIG_USB_GADGET=y
> > CONFIG_USB_GADGET_MANUFACTURER="FSL"
> > CONFIG_USB_GADGET_VENDOR_NUM=0x0525
> > diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig
> > index 6d148da..f80e5da 100644
> > --- a/configs/rpi_4_defconfig
> > +++ b/configs/rpi_4_defconfig
> > @@ -8,6 +8,8 @@ CONFIG_NR_DRAM_BANKS=2
> > CONFIG_DISTRO_DEFAULTS=y
> > CONFIG_OF_BOARD_SETUP=y
> > # CONFIG_ARCH_FIXUP_FDT_MEMORY is not set
> > +CONFIG_USE_PREBOOT=y
> > +CONFIG_PREBOOT="pci enum; usb start;"
> > CONFIG_MISC_INIT_R=y
> > # CONFIG_DISPLAY_CPUINFO is not set
> > # CONFIG_DISPLAY_BOARDINFO is not set
> > @@ -15,6 +17,8 @@ CONFIG_SYS_PROMPT="U-Boot> "
> > CONFIG_CMD_DFU=y
> > CONFIG_CMD_GPIO=y
> > CONFIG_CMD_MMC=y
> > +CONFIG_CMD_PCI=y
> > +CONFIG_CMD_USB=y
> > CONFIG_CMD_FS_UUID=y
> > CONFIG_OF_BOARD=y
> > CONFIG_ENV_FAT_INTERFACE="mmc"
> > @@ -28,12 +32,18 @@ CONFIG_MMC_SDHCI=y
> > CONFIG_MMC_SDHCI_BCM2835=y
> > CONFIG_DM_ETH=y
> > CONFIG_BCMGENET=y
> > +CONFIG_PCI=y
> > +CONFIG_DM_PCI=y
> > +CONFIG_PCI_BRCMSTB=y
> > CONFIG_PINCTRL=y
> > # CONFIG_PINCTRL_GENERIC is not set
> > # CONFIG_REQUIRE_SERIAL_CONSOLE is not set
> > CONFIG_USB=y
> > CONFIG_DM_USB=y
> > CONFIG_DM_USB_GADGET=y
> > +CONFIG_USB_XHCI_HCD=y
> > +CONFIG_XHCI_64BIT_DWORD_ACCESS_ONLY=y
> > +CONFIG_USB_XHCI_PCI=y
> > CONFIG_USB_GADGET=y
> > CONFIG_USB_GADGET_MANUFACTURER="FSL"
> > CONFIG_USB_GADGET_VENDOR_NUM=0x0525
> > diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig
> > index fea86be..926dfc3 100644
> > --- a/configs/rpi_arm64_defconfig
> > +++ b/configs/rpi_arm64_defconfig
> > @@ -7,13 +7,14 @@ CONFIG_NR_DRAM_BANKS=2
> > CONFIG_DISTRO_DEFAULTS=y
> > CONFIG_OF_BOARD_SETUP=y
> > CONFIG_USE_PREBOOT=y
> > -CONFIG_PREBOOT="usb start"
> > +CONFIG_PREBOOT="pci enum; usb start;"
> > CONFIG_MISC_INIT_R=y
> > # CONFIG_DISPLAY_CPUINFO is not set
> > # CONFIG_DISPLAY_BOARDINFO is not set
> > CONFIG_SYS_PROMPT="U-Boot> "
> > CONFIG_CMD_GPIO=y
> > CONFIG_CMD_MMC=y
> > +CONFIG_CMD_PCI=y
> > CONFIG_CMD_USB=y
> > CONFIG_CMD_FS_UUID=y
> > CONFIG_OF_BOARD=y
> > @@ -26,11 +27,17 @@ CONFIG_MMC_SDHCI=y
> > CONFIG_MMC_SDHCI_BCM2835=y
> > CONFIG_DM_ETH=y
> > CONFIG_BCMGENET=y
> > +CONFIG_PCI=y
> > +CONFIG_DM_PCI=y
> > +CONFIG_PCI_BRCMSTB=y
> > CONFIG_PINCTRL=y
> > # CONFIG_PINCTRL_GENERIC is not set
> > # CONFIG_REQUIRE_SERIAL_CONSOLE is not set
> > CONFIG_USB=y
> > CONFIG_DM_USB=y
> > +CONFIG_USB_XHCI_HCD=y
> > +CONFIG_XHCI_64BIT_DWORD_ACCESS_ONLY=y
> > +CONFIG_USB_XHCI_PCI=y
> > CONFIG_USB_DWC2=y
> > CONFIG_USB_KEYBOARD=y
> > CONFIG_USB_HOST_ETHER=y
>
More information about the U-Boot
mailing list