Other Parts Discussed in Thread: HD3SS3220,
In the design under test the TUSB9261 is connected to a laptops USB Type-C port via the HD3SS3220 type-c multiplexer chip.
The design has been working flawlessly for the last few months. However testing the design with a new laptop has encountered a strange bug.
When the design is connected to an HP ProBook 450G8, the TUSB9261 is intermittently not detected as a boot device.
When the laptop is off the Type-C port still provides 5V power. This is pretty typical for laptop Type-C ports. When the TUSB9261 is plugged in to the powered down laptop it enters the USB2.0 SUSPEND state. This is what we would expect given that the USB controller of the laptop will be disabled. I have seen this in the debug port output of the TUSB9261.
Turning the laptop on generates a USB reset event, but the 5V rail remains high (the TUSB9261 is not power cycled). From this point on there the behavior of the TUSB9261 is inconsistent. The output of the TUSB9261 debug port is below.
In all cases we see "connected at superspeed" initially. But there are multiple reset events that occur in succession. I have observed these multiple reset events result in the final state being:
- Connected at SuperSpeed (Device is detected by the bios as a potential boot device)
- USB2.0 Suspend- BIOS does not detect the device at all in this case
- The debug port shows the TUSB9261 in POLLING forever (The device is also not detected in this case) (USB2 or USB3).
Do you know why this one laptop may fail to see the TUSB9261 at boot time? The multiple USB reset events in a row is particularly weird. I should also say that when the device is connected the device runs well, and we see no evidence of link errors, or retraining, to suggest that the signal integrity is poor.
TUSB9261 debug logs. Start of the log is when the laptop is switched on.
Device detected as boot device, and shows up in boot menu:
[0000064988] USB Reset event occurred.
[0000064988] -> ahci_reset_lun(0)
[0000064989] Connected at SUPER speed.
[0000064989] USB Reset event occurred.
[0000064989] -> ahci_reset_lun(0)
[0000064989] LTSSM state = (0x7) POLLING.
[0000064989] LTSSM state = (0x7) POLLING.
[0000065089] Connected at SUPER speed.
[0000065712] USB Reset event occurred.
[0000065712] -> ahci_reset_lun(0)
[0000065712] Connected at SUPER speed.
[0000066032] -> usb_hal_set_address() - addr: 0x1.
[0000066035] -> handle_usb_set_configuration() - val = 1.
Device not detected by BIOS as boot device:
[0000023064] USB Reset event occurred.
[0000023064] -> ahci_reset_lun(0)
[0000023065] Connected at SUPER speed.
[0000023065] USB Reset event occurred.
[0000023065] -> ahci_reset_lun(0)
[0000023065] LTSSM state = (0x7) POLLING.
[0000023178] HS/FS/LS state = (0x0) ON.
[0000023181] HS/FS/LS state = (0x5) EARLY SUSPEND.
[0000023184] HS/FS/LS state = (0x3) SUSPEND.
Thanks in advance for your help.