u-boot/common
Shantur Rathore 33e06dcbe5 common: usb-hub: Reset hub port before scanning
Currently when a hub is turned on, all the ports are powered on.
This works well for hubs which have individual power control.

For the hubs without individual power control this has no effect.
Mostly in these scenarios the hub port is powered before the USB
controller is enabled, this can lead to some devices in unexpected
state.

With this patch, we explicitly reset the port while powering up hub
This resets the port for hubs without port power control and has
no effect on hubs with port power control as the port is still off.

Before this patch AMicro AM8180 based NVME to USB adapter won't be
detected as a USB3.0 Mass Storage device but with this it works as
expected.

Tested working after this patch:
1. AMicro AM8180 based NVME to USB Adapter
2. Kingston DataTraveler 3.0
3. GenesysLogic USB3.0 Hub

The drives were tested while connected directly and via the hub.

Signed-off-by: Shantur Rathore <i@shantur.com>
Reviewed-by: Marek Vasut <marex@denx.de>
2024-01-22 12:49:03 -05:00
..
eeprom
init spl: Use SYS_MALLOC_F instead of SYS_MALLOC_F_LEN 2023-10-06 14:38:12 -04:00
spl spl: binman: Disable u_boot_any symbols for i.MX93 boards 2024-01-08 14:37:50 -03:00
autoboot.c autoboot: Rework CONFIG_AUTOBOOT_STOP_STR_* usage 2023-01-20 12:27:06 -05:00
avb_verify.c common: avb_verify: prevent opening incorrect session 2023-02-17 10:51:28 -05:00
bloblist.c bloblist: Add alignment to bloblist_new() 2023-12-31 07:21:02 -07:00
board_f.c bloblist: Support initing from multiple places 2023-10-06 14:38:13 -04:00
board_info.c sysinfo: Allow displaying more info on startup 2023-11-28 12:53:04 -05:00
board_r.c scsi: Forceably finish migration to DM_SCSI 2023-11-07 18:36:06 -05:00
bootstage.c bootstage: Correct exhasuted typo 2023-11-14 20:04:01 -07:00
bouncebuf.c common: bouncebuf: Add missing cast to dma_addr_t 2023-08-22 15:17:52 -04:00
cli.c cli: add modern hush as parser for run_command*() 2023-12-28 12:02:56 -05:00
cli_getch.c cli: Consume invalid escape sequences early 2023-10-24 16:34:45 -04:00
cli_hush.c common: hush: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:24 -04:00
cli_hush_modern.c Merge patch series "Modernize U-Boot shell" 2023-12-28 14:38:25 -05:00
cli_hush_upstream.c cli: modern_hush: Add upstream commits up to 2nd October 2023. 2023-12-28 12:02:56 -05:00
cli_readline.c getchar(): Correct usage 2024-01-18 20:24:13 -05:00
cli_simple.c cli_simple: Rework this support slightly 2023-11-07 14:48:51 -05:00
command.c cmd/command.c: relax length check in cmd_get_data_size() 2024-01-16 17:05:29 -05:00
console.c lib: membuff: fix readline not returning line in case of overflow 2024-01-09 14:58:33 +01:00
cros_ec.c
cyclic.c
ddr_spd.c
dfu.c common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
dlmalloc.c malloc: Enable assertions if UNIT_TEST is enabled 2023-10-11 13:22:29 -04:00
dlmalloc.src
edid.c
event.c event: add new EVT_SETTINGS_R event 2023-10-23 17:07:06 +03:00
exports.c
flash.c
hash.c common: hash: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:24 -04:00
hwconfig.c
iomux.c
iotrace.c
kallsyms.c
Kconfig Kconfig: Move CONFIG_SYS_[CP]BSIZE to common/Kconfig 2023-11-07 14:48:19 -05:00
kgdb.c
kgdb_stubs.c
log.c log: Tidy up an ambiguous comment 2023-07-17 17:12:07 +08:00
log_console.c log: Support outputing function names in SPL 2023-07-17 17:23:15 +08:00
log_syslog.c
main.c bootstd: Introduce programmatic boot 2023-12-13 11:51:24 -05:00
Makefile cli: Enables using modern hush parser as command line parser 2023-12-28 12:02:56 -05:00
malloc_simple.c
memsize.c common/memsize.c: Fix get_ram_size() when cache is enabled 2023-06-21 16:54:25 -04:00
menu.c menu: Re-enable the ANSI codes 2023-06-23 14:38:16 -04:00
miiphyutil.c
qfw.c qemu: Move qfw kernel setup into a common file 2023-02-06 13:04:53 -05:00
s_record.c
scp03.c
splash.c common: Replace #ifdef and #if with if's 2023-04-24 21:37:45 +02:00
splash_source.c common: splash_source: Fix type casting errors 2023-07-21 13:13:43 -04:00
stackprot.c Fix stack-protector for powerpc 2023-11-29 09:32:15 -05:00
stdio.c stdio: fix stdio_deregister_dev() 2023-10-09 15:24:31 -04:00
system_map.c
update.c common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
usb.c usb: Tidy up the usb_start flag 2023-05-13 09:52:32 -04:00
usb_hub.c common: usb-hub: Reset hub port before scanning 2024-01-22 12:49:03 -05:00
usb_kbd.c
usb_onboard_hub.c
usb_storage.c usb: storage: Use the correct CBW lengths 2023-12-01 14:06:12 +01:00
version.c version: Separate our version string from the version command 2023-11-07 14:48:19 -05:00
xyzModem.c