[U-Boot] [RESEND PATCH 5/6] usb: host: Add ehci-vf USB driver for ARM Vybrid SoC's
Marek Vasut
marex at denx.de
Thu Apr 9 18:09:46 CEST 2015
On Tuesday, April 07, 2015 at 09:03:45 AM, maitysanchayan at gmail.com wrote:
> Hello,
>
> On 15-04-01 21:15:21, Marek Vasut wrote:
> > On Wednesday, April 01, 2015 at 11:54:22 AM, Sanchayan Maity wrote:
> >
> > The commit message is missing, please fix in v2.
> >
> > > Signed-off-by: Sanchayan Maity <maitysanchayan at gmail.com>
> >
> > [...]
> >
> > > +#define USB_NC_REG_OFFSET 0x00000800
> > > +#define USBCx_CTRL_OFFSET 0x00000000
> > > +#define USBCx_PHY_CTRL_OFFSET 0x00000018
> >
> > Please define the register offsets using the regular struct {} method,
> > see for example struct mxs_usbphy_regs and it's usage in ehci-mxs.c .
>
> I had a query here, just to be sure and avoid rework. The vybrid defines
> would be similar to mxs. I assume I can add them to the regs-common.h
> file along with a note that the VF610 also has the same _set, _clr,
> _tog register? Or perhaps it would be more appropriate to have the file
> have generic names which mxs, vf and imx can all leverage? Though for
> now this would require reworking all the three drivers.
>
> The USB phy definitions part is ok, as they would go in the arch
> specific folder.
If these are really IMX/MXS/VF specific, then the defines should go into
arch/arm/include/asm/imx-common/ . Otherwise, you can make chipidea specific
file in include/usb/ .
> > > +#define USBPHY_CTRL
0x00000030
> > > +#define USBPHY_CTRL_SET 0x00000034
> > > +#define USBPHY_CTRL_CLR 0x00000038
> > > +#define USBPHY_CTRL_TOG 0x0000003c
> > > +
> > > +#define USBPHY_PWD
0x00000000
> > > +#define USBPHY_TX
0x00000010
> > > +#define USBPHY_RX
0x00000020
> > > +#define USBPHY_DEBUG 0x00000050
> > > +#define USBPHY_CTRL_SFTRST 0x80000000
> > > +#define USBPHY_CTRL_CLKGATE 0x40000000
> > > +#define USBPHY_CTRL_ENUTMILEVEL3 0x00008000
> > > +#define USBPHY_CTRL_ENUTMILEVEL2 0x00004000
> > > +#define USBPHY_CTRL_OTG_ID 0x08000000
> > > +
> > > +#define ANADIG_PLL_CTRL_BYPASS 0x00010000
> > > +#define ANADIG_PLL_CTRL_ENABLE 0x00002000
> > > +#define ANADIG_PLL_CTRL_POWER 0x00001000
> > > +#define ANADIG_PLL_CTRL_EN_USB_CLKS 0x00000040
> > > +
> > > +#define UCTRL_OVER_CUR_POL (1 << 8) /* OTG Polarity of Overcurrent
*/
> > > +#define UCTRL_OVER_CUR_DIS (1 << 7) /* Disable OTG Overcurrent
> > > Detection */ +
> > > +/* USBCMD */
> > > +#define UCMD_RUN_STOP (1 << 0) /* controller run/stop */
> > > +#define UCMD_RESET (1 << 1) /* controller reset */
> >
> > This looks very much like the USB PHY used on MX28 , can you double-check
> > this please ?
>
> MX28 IP also seems similar to the Vybrid USB IP except for a few
> registers and the non core registers. Perhaps to be expected as they all
> have a common chipidea IP core, though having a different version
> thereof.
Yep, I agree :)
Thanks!
More information about the U-Boot
mailing list