On 8/19/19 8:10 AM, Sherry Sun wrote:
> Add the USB3 host driver for NXP imx8 platform, and the
> cadence IP is in it. The USB3 host driver support DM
> mode, it will probe USB3 host node in dts.
> 
> Signed-off-by: Sherry Sun <sherry....@nxp.com>

[...]

> +static void xhci_imx8_get_reg_addr(struct udevice *dev)
> +{
> +     imx8_data.usb3_ctrl_base =
> +                     (void __iomem *)devfdt_get_addr_index(dev, 0);
> +     imx8_data.usb3_core_base =
> +                     (void __iomem *)devfdt_get_addr_index(dev, 4);
> +}

Inline this.

Also, look at drivers/mtd/renesas_rpc_hf.c to handle both 32bit and
64bit DTs with multiple "reg" entries.

[...]

> +static const struct udevice_id xhci_usb_ids[] = {
> +     { .compatible = "cdns,usb3-host", },

https://lore.kernel.org/patchwork/patch/1059917/ would suggest that
cdns,usb3-1.0.0 is the compatible. But I might be wrong.

> +     { }
> +};
> +
> +U_BOOT_DRIVER(xhci_imx8) = {
> +     .name   = "xhci_imx8",
> +     .id     = UCLASS_USB,
> +     .of_match = xhci_usb_ids,
> +     .probe = xhci_imx8_probe,
> +     .remove = xhci_imx8_remove,
> +     .ops    = &xhci_usb_ops,
> +     .platdata_auto_alloc_size = sizeof(struct usb_platdata),
> +     .priv_auto_alloc_size = sizeof(struct xhci_ctrl),
> +     .flags  = DM_FLAG_ALLOC_PRIV_DMA,

I think you also need DM_FLAG_OS_PREPARE to trigger .remove before
booting Linux, but I might be wrong. Please check that.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to