On Tue, Dec 12, 2017 at 2:58 PM, Jagan Teki <ja...@amarulasolutions.com> wrote: > MUSB sunxi driver base not always USB0_BASE, on a64 > USB0_BASE is USB-OTG-EHCI/OHCI base so add SUNXI_MUSB_BASE > and adjust the proper msub base for all sunxi families. > > Signed-off-by: Jagan Teki <ja...@amarulasolutions.com> > --- > arch/arm/include/asm/arch-sunxi/cpu_sun4i.h | 4 ++++ > drivers/usb/musb-new/sunxi.c | 4 ++-- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/include/asm/arch-sunxi/cpu_sun4i.h > b/arch/arm/include/asm/arch-sunxi/cpu_sun4i.h > index 98728f9..2035489 100644 > --- a/arch/arm/include/asm/arch-sunxi/cpu_sun4i.h > +++ b/arch/arm/include/asm/arch-sunxi/cpu_sun4i.h > @@ -47,6 +47,7 @@ > #define SUNXI_MMC3_BASE 0x01c12000 > #ifdef CONFIG_SUNXI_GEN_SUN4I > #define SUNXI_USB0_BASE 0x01c13000 > +#define SUNXI_MUSB_BASE SUNXI_USB0_BASE > #define SUNXI_USB1_BASE 0x01c14000 > #endif > #define SUNXI_SS_BASE 0x01c15000 > @@ -64,14 +65,17 @@ > #ifdef CONFIG_SUNXI_GEN_SUN6I > #if defined(CONFIG_MACH_SUNXI_H3_H5) || defined(CONFIG_MACH_SUN50I) > #define SUNXI_USBPHY_BASE 0x01c19000 > +#define SUNXI_MUSB_BASE SUNXI_USBPHY_BASE > #define SUNXI_USB0_BASE 0x01c1a000 > #define SUNXI_USB1_BASE 0x01c1b000 > # if defined(CONFIG_MACH_SUNXI_H3_H5) > +#define SUNXI_MUSB_BASE SUNXI_USB0_BASE > #define SUNXI_USB2_BASE 0x01c1c000 > #define SUNXI_USB3_BASE 0x01c1d000 > # endif > #else > #define SUNXI_USB0_BASE 0x01c19000 > +#define SUNXI_MUSB_BASE SUNXI_USB0_BASE > #define SUNXI_USB1_BASE 0x01c1a000 > #define SUNXI_USB2_BASE 0x01c1b000 > #endif > diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c > index 7ee44ea..2e22497 100644 > --- a/drivers/usb/musb-new/sunxi.c > +++ b/drivers/usb/musb-new/sunxi.c > @@ -318,7 +318,7 @@ static int musb_usb_probe(struct udevice *dev) > > #ifdef CONFIG_USB_MUSB_HOST > host->host = musb_init_controller(&musb_plat, NULL, > - (void *)SUNXI_USB0_BASE); > + (void *)SUNXI_MUSB_BASE);
This driver is fully DM enabled. See the patch getting the base address from the device tree I just sent. ChenYu > if (!host->host) > return -EIO; > > @@ -326,7 +326,7 @@ static int musb_usb_probe(struct udevice *dev) > if (!ret) > printf("Allwinner mUSB OTG (Host)\n"); > #else > - ret = musb_register(&musb_plat, NULL, (void *)SUNXI_USB0_BASE); > + ret = musb_register(&musb_plat, NULL, (void *)SUNXI_MUSB_BASE); > if (!ret) > printf("Allwinner mUSB OTG (Peripheral)\n"); > #endif > -- > 2.7.4 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot