Hi Cyril,
Am 27.11.23 um 01:34 schrieb Cyril Brulebois:
Hi Stefan,
Stefan Wahren <wahrenst@xxxxxxx> (2023-11-26):
In contrast to the Raspberry Pi 4, the Compute Module 4 or the IO board
does not have a VL805 USB 3.0 host controller, which is connected via
PCIe. Instead, the BCM2711 on the Compute Module provides the built-in
xHCI.
Stefan Wahren (3):
dt-bindings: usb: xhci: Add optional power-domains
ARM: dts: bcm2711: Add generic xHCI
ARM: dts: bcm2711-rpi-cm4-io: Enable xHCI host
Documentation/devicetree/bindings/usb/generic-xhci.yaml | 3 +++
arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-io.dts | 9 ++++++++-
arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi | 5 +++++
arch/arm/boot/dts/broadcom/bcm2711.dtsi | 9 +++++++++
4 files changed, 25 insertions(+), 1 deletion(-)
I've tried applying this series on top of v6.6-15365-g305230142ae0 (the
base commit for Jim's v8 patch series regarding PCIe/clkreq[1]), since I
know the unpatched kernel is working fine with a CM4 Lite if there's no
PCIe hardware plugged in.
1. https://lore.kernel.org/all/20231113185607.1756-1-james.quinlan@xxxxxxxxxxxx/
With those patches applied, on the following hardware setup:
- CM4 Lite (and SD card)
- CM4 IO Board
- Ethernet
- HDMI
- Serial console
(But neither USB storage or USB keyboard.)
I'm seeing various failure modes, but basically the system no longer
boots. I'm a little short on time right now, but if the following
excerpts aren't sufficient I can adjust logging to capture a full
trace for one or more of those.
This seems like a showstopper on its own, but if you'd like me to try
with an eMMC-equipped CM4, I can do that as well.
...
[ 3.118407] xhci-hcd fe9c0000.usb: xHCI Host Controller
[ 3.123745] xhci-hcd fe9c0000.usb: new USB bus registered, assigned bus number 1
[ 4.172083] ------------[ cut here ]------------
[ 4.176768] Firmware transaction timeout
[ 4.176825] WARNING: CPU: 2 PID: 143 at drivers/firmware/raspberrypi.c:64 rpi_firmware_property_list+0x250/0x270
[ 4.191121] Modules linked in: xhci_plat_hcd(+) xhci_hcd genet(+) mdio_bcm_unimac crct10dif_ce reset_raspberrypi crct10dif_common of_mdio usbcore i2c_bcm2835 sdhci_iproc fixed_phy fwnode_mdio usb_common sdhci_pltfm libphy fixed gpio_regulator sdhci phy_generic
[ 4.214527] CPU: 2 PID: 143 Comm: kworker/2:2 Not tainted 6.6.0+ #1
[ 4.220880] Hardware name: Raspberry Pi Compute Module 4 Rev 1.0 (DT)
thanks for testing. Are you absolutely sure that you are using
bcm2711-rpi-cm4-io.dtb from the mainline tree?
I would expect the following hardware name: Raspberry Pi Compute Module
4 IO Board
Be aware the arm files has been moved into a broadcom subdirectory.