arm: juno: enable USB
authorAndre Przywara <andre.przywara@arm.com>
Mon, 27 Apr 2020 18:18:03 +0000 (19:18 +0100)
committerTom Rini <trini@konsulko.com>
Thu, 7 May 2020 13:01:42 +0000 (09:01 -0400)
The Juno board features a standard compliant EHCI/OHCI USB host
controller pair, which we can just enable.
The platform data is taken from the device tree.

This allows to use USB mass storage (the only storage on a Juno r0)
for loading.

At least on my board USB seems a bit flaky, I need two "usb reset"
sequences after the "usb start" to detect an USB hard drive.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/arm/Kconfig
configs/vexpress_aemv8a_juno_defconfig
include/configs/vexpress_aemv8a.h

index 7c589121a05dd77fe636705adf327433da560530..0d463088a2e4c180e043ba91432bca0064145b4f 100644 (file)
@@ -1169,6 +1169,10 @@ config TARGET_VEXPRESS64_JUNO
        select DM_SERIAL
        select ARM_PSCI_FW
        select PSCI_RESET
+       select DM
+       select BLK
+       select USB
+       select DM_USB
 
 config TARGET_LS2080A_EMU
        bool "Support ls2080a_emu"
index 6cb21e7a1bf26ceeaf050fcc80dcc5a2541a889e..ca7aa5ab02b38788e7c6cf074eb379527c3f4b4a 100644 (file)
@@ -27,6 +27,7 @@ CONFIG_CMD_ARMFLASH=y
 CONFIG_CMD_CACHE=y
 # CONFIG_CMD_MISC is not set
 CONFIG_CMD_UBI=y
+CONFIG_CMD_USB=y
 # CONFIG_ISO_PARTITION is not set
 # CONFIG_EFI_PARTITION is not set
 CONFIG_ENV_IS_IN_FLASH=y
@@ -41,3 +42,7 @@ CONFIG_SYS_FLASH_CFI=y
 CONFIG_SMC911X=y
 CONFIG_SMC911X_BASE=0x018000000
 CONFIG_SMC911X_32_BIT=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_GENERIC=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_GENERIC=y
index 3c85c93a5c6736e4d0e6b7b2e32587f7039eda9b..08ad368dbb553a286f1c0f616f7bb3fe20275786 100644 (file)
 #define CONFIG_SYS_FLASH_CFI_WIDTH     FLASH_CFI_32BIT
 #define CONFIG_SYS_MAX_FLASH_BANKS     1
 
+#ifdef CONFIG_USB_EHCI_HCD
+#define CONFIG_USB_OHCI_NEW
+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 1
+#endif
+
 #define CONFIG_SYS_FLASH_EMPTY_INFO    /* flinfo indicates empty blocks */
 #define FLASH_MAX_SECTOR_SIZE          0x00040000