9
0
Fork 0

i.MX: imx-usb-misc: Add Vybrid support

Add code to do usbmisc initialization on VF610 family of SoCs. Based on
analogous code from Linux kernel.

Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Andrey Smirnov 2017-01-10 07:09:12 -08:00 committed by Sascha Hauer
parent 024f720adc
commit 8108b5a81b
1 changed files with 28 additions and 0 deletions

View File

@ -422,6 +422,28 @@ static __maybe_unused struct imx_usb_misc_data mx6_data = {
.post_init = mx6_post_init,
};
#define VF610_OVER_CUR_DIS BIT(7)
static __maybe_unused int vf610_initialize_usb_hw(void __iomem *base, int port,
unsigned int flags)
{
u32 reg;
if (port >= 1)
return -EINVAL;
if (flags & MXC_EHCI_DISABLE_OVERCURRENT) {
reg = readl(base);
writel(reg | VF610_OVER_CUR_DIS, base);
}
return 0;
}
static __maybe_unused struct imx_usb_misc_data vf610_data = {
.init = vf610_initialize_usb_hw,
};
static struct platform_device_id imx_usbmisc_ids[] = {
#ifdef CONFIG_ARCH_IMX25
{
@ -518,6 +540,12 @@ static __maybe_unused struct of_device_id imx_usbmisc_dt_ids[] = {
.compatible = "fsl,imx6q-usbmisc",
.data = &mx6_data,
},
#endif
#ifdef CONFIG_ARCH_VF610
{
.compatible = "fsl,vf610-usbmisc",
.data = &vf610_data,
},
#endif
{
/* sentinel */