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

Justin Chen justin.chen at broadcom.com
Mon Nov 27 09:44:51 PST 2023



On 11/27/23 8:28 AM, Phil Elwell wrote:
> On Mon, 27 Nov 2023 at 12:39, Stefan Wahren <wahrenst at gmx.net> wrote:
>>
>> 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?
> 
> It's in a different, undocumented block.
> 
> Phil

Well if it works, then maybe I am misunderstanding something here. Maybe 
its time for me to pick up a CM4 board.

Justin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4206 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20231127/493038ab/attachment.p7s>


More information about the linux-arm-kernel mailing list