Hi Phil,
Hi Justin,
[add Phil]
Am 27.11.23 um 07:02 schrieb Justin Chen:
On 11/25/23 6:56 PM, Stefan Wahren wrote:
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.
Does this work? I maintain this built-in xHCI controller internally. I
wasn't aware the Compute Module uses this block.
i successful tested this with a CM4 (arm 32 bit,
multi_v7_lpae_defconfig) with eMMC. Before this series the USB devices
(mouse, keyboard) connected to the host interface didn't work. After
comparing vendor DTS with mainline i noticed the missing xHCI block [1].
Unfortunately i wasn't able to get further information from the public
datasheets. I don't know if the VideoCore does some magic tricks on the
xHCI or i missed some downstream xHCI changes.
This block is held in reset and needs a bit toggled to get things
going. Florian, just to confirm, this is our "brcm,xhci-brcm-v2" block
correct?
Justin
[1] -
https://github.com/raspberrypi/linux/blob/rpi-6.1.y/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi#L119
What's the question here? Does the XHCI block present in the
raspberrypi/linux dtsi file really exist? Yes it does.
since i don't have any documentation about the xHCI block, i assumed the
compatible generic-xhci is correct. But Justin seems to suggest that the
xHCI block needs some special treatment and we need a specific compatible.
Did i missed some xHCI driver changes?
Does the VC firmware something to the xHCI especially on CM4?
The firmware switches the on-board USB pins from DWC-OTG to XHCI if
otg_mode=1 is set in config.txt, or if booting over USB MSD.
is this pinctrl/pinmux available from ARM via 0x7e200000 or a different
IO address?
Thanks
This also
triggers the enabling of the node with the label or alias "xhci".
CM4 is not handled any differently to the other 2711-based devices in
this regard.
Phil