[PATCH 2/2] usb: xhci: Load Raspberry Pi 4 VL805's firmware

Marek Szyprowski m.szyprowski at samsung.com
Wed Apr 29 08:18:02 CEST 2020


Hi Nicolas,

On 28.04.2020 19:44, Nicolas Saenz Julienne wrote:
> When needed, RPi4's co-processor (called VideoCore) has to be instructed
> to load VL805's firmware (the chip providing xHCI support). VideCore's
> firmware expects the board's PCIe bus to be already configured in order
> for it to load the xHCI chip firmware. So we have to make sure this
> happens in between the PCIe configuration and xHCI startup.
>
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne at suse.de>
> ---
>   drivers/usb/host/xhci-pci.c | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
> index c1f60da541..5c17ea6932 100644
> --- a/drivers/usb/host/xhci-pci.c
> +++ b/drivers/usb/host/xhci-pci.c
> @@ -11,6 +11,8 @@
>   #include <usb.h>
>   #include <usb/xhci.h>
>   
> +#include <asm/arch/msg.h>
> +

Does the above include works on the other archs?

>   static void xhci_pci_init(struct udevice *dev, struct xhci_hccr **ret_hccr,
>   			  struct xhci_hcor **ret_hcor)
>   {
> @@ -18,6 +20,10 @@ static void xhci_pci_init(struct udevice *dev, struct xhci_hccr **ret_hccr,
>   	struct xhci_hcor *hcor;
>   	u32 cmd;
>   
> +#ifdef CONFIG_BCM2711
> +	bcm2711_load_vl805_firmware();
> +#endif
> +
>   	hccr = (struct xhci_hccr *)dm_pci_map_bar(dev,
>   			PCI_BASE_ADDRESS_0, PCI_REGION_MEM);
>   	hcor = (struct xhci_hcor *)((uintptr_t) hccr +

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland



More information about the U-Boot mailing list