Bug 214173 - Built-in Renesas uPD720202 fails to initialize on Thinkpad T14 Gen 1 AMD
Summary: Built-in Renesas uPD720202 fails to initialize on Thinkpad T14 Gen 1 AMD
Status: RESOLVED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: x86-64 Linux
: P1 high
Assignee: Default virtual assignee for Drivers/USB
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-08-25 21:23 UTC by Milan Plzik
Modified: 2021-08-30 20:08 UTC (History)
0 users

See Also:
Kernel Version: 5.13.12
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Milan Plzik 2021-08-25 21:23:05 UTC
After doing a series of upgrades on a dual-boot Thinkpad T14 AMD (comprised of Windows driver/firmware upgrade and linux kernel upgrade), the Renesas USB 3.0 doesn't seem to get initialized anymore, timing out on initialization.

```
# journalctl -xb |grep -i 06:00
Aug 24 17:05:47 archlinux kernel: pci 0000:06:00.0: [1912:0015] type 00 class 0x0c0330
Aug 24 17:05:47 archlinux kernel: pci 0000:06:00.0: reg 0x10: [mem 0xfd400000-0xfd401fff 64bit]
Aug 24 17:05:47 archlinux kernel: pci 0000:06:00.0: PME# supported from D0 D3hot
Aug 24 17:05:47 archlinux kernel: pci 0000:06:00.0: xHCI HW not ready after 5 sec (HC bug?) status = 0x1801
Aug 24 17:05:47 archlinux kernel: pci 0000:06:00.0: quirk_usb_early_handoff+0x0/0x740 took 4882933 usecs
Aug 24 17:05:47 archlinux kernel: pci 0000:06:00.0: Adding to iommu group 16
Aug 24 17:05:47 archlinux kernel: xhci_hcd 0000:06:00.0: xHCI Host Controller
Aug 24 17:05:47 archlinux kernel: xhci_hcd 0000:06:00.0: new USB bus registered, assigned bus number 2
Aug 24 17:05:47 archlinux kernel: xhci_hcd 0000:06:00.0: Zeroing 64bit base registers, expecting fault
Aug 24 17:05:57 archlinux kernel: xhci_hcd 0000:06:00.0: can't setup: -110
Aug 24 17:05:57 archlinux kernel: xhci_hcd 0000:06:00.0: USB bus 2 deregistered
Aug 24 17:05:57 archlinux kernel: xhci_hcd 0000:06:00.0: init 0000:06:00.0 fail, -110
Aug 24 17:05:57 archlinux kernel: xhci_hcd: probe of 0000:06:00.0 failed with error -110
```

This is a notable regression to the previous laptop's state where this got correctly initialized:

```
# journalctl -xb -10 |grep 06:00
Jun 26 11:06:21 archlinux kernel: pci 0000:06:00.0: [1912:0015] type 00 class 0x0c0330
Jun 26 11:06:21 archlinux kernel: pci 0000:06:00.0: reg 0x10: [mem 0xfd400000-0xfd401fff 64bit]
Jun 26 11:06:21 archlinux kernel: pci 0000:06:00.0: PME# supported from D0 D3hot D3cold
Jun 26 11:06:21 archlinux kernel: pci 0000:06:00.0: Adding to iommu group 16
Jun 26 11:06:21 archlinux kernel: xhci_hcd 0000:06:00.0: xHCI Host Controller
Jun 26 11:06:21 archlinux kernel: xhci_hcd 0000:06:00.0: new USB bus registered, assigned bus number 2
Jun 26 11:06:21 archlinux kernel: xhci_hcd 0000:06:00.0: Zeroing 64bit base registers, expecting fault
Jun 26 11:06:21 archlinux kernel: xhci_hcd 0000:06:00.0: hcc params 0x014051cf hci version 0x100 quirks 0x0000001100000090
Jun 26 11:06:21 archlinux kernel: usb usb2: SerialNumber: 0000:06:00.0
Jun 26 11:06:21 archlinux kernel: xhci_hcd 0000:06:00.0: xHCI Host Controller
Jun 26 11:06:21 archlinux kernel: xhci_hcd 0000:06:00.0: new USB bus registered, assigned bus number 3
Jun 26 11:06:21 archlinux kernel: xhci_hcd 0000:06:00.0: Host supports USB 3.0 SuperSpeed
Jun 26 11:06:21 archlinux kernel: usb usb3: SerialNumber: 0000:06:00.0
```

Most notably, this renders the laptop's built-in webcam unusable (not showing on the USB bus). There's anecdotal evidence that installing a package containing older firmware resolves this issue (i.e. https://forums.lenovo.com/t5/Other-Linux-Discussions/No-camera-on-thinkpad-P14s-AMD/m-p/5090434), but since a lot of data indicates that the firmware is actually located in ROM (and maybe RAM). Since this is a dual-boot system, I'm being a bit cautious with not using an older version if Windows might expect a newer version already.

I'll be happy to do some testing if needed, assuming there's no chance of accidentally bricking the laptop.

Additional info:

Hardware: Thinpad T14 AMD Gen 1


```
$ lspci -vv
...
06:00.0 USB controller: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02) (prog-if 30 [XHCI])
        Flags: fast devsel, IRQ 34, IOMMU group 16
        Memory at fd400000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: [50] Power Management version 3
        Capabilities: [70] MSI: Enable- Count=1/8 Maskable- 64bit+
        Capabilities: [90] MSI-X: Enable- Count=8 Masked-
        Capabilities: [a0] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [150] Latency Tolerance Reporting
        Kernel modules: xhci_pci
...
```

```
$ uname -a
Linux thinkpad 5.13.12-arch1-1 #1 SMP PREEMPT Wed, 18 Aug 2021 20:49:03 +0000 x86_64 GNU/Linux
```
Comment 1 Milan Plzik 2021-08-27 21:42:07 UTC
After doing some more testing, it turns out that even the dual-boot windows wasn't able to use the USB controller correctly -- apparently there was a damage to the EEPROM of the USB controller (first 0x84 bytes of the firmware were followed by zeroes). Using a [firmware upload tool](https://github.com/markusj/upd72020x-load) I was able to test and re-upload correct firmware.

Note You need to log in before you can comment on or make changes to this bug.