[PATCH 0/3] ARM: dts: bcm2711-rpi-cm4-io: Enable xHCI host

Stefan Wahren wahrenst at gmx.net
Mon Nov 27 02:57:05 PST 2023


Hi Cyril,

Am 27.11.23 um 01:34 schrieb Cyril Brulebois:
> Hi Stefan,
>
> Stefan Wahren <wahrenst at gmx.net> (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@broadcom.com/
>
> 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.




More information about the linux-arm-kernel mailing list