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