/* This function performs platform specific initialization for usb0.  */
int musb_platform_init(void)
/* This function performs platform specific initialization for usb0.  */
int musb_platform_init(void)
{
	u32 revision;
	u32 sw_reset;
	sw_reset = readl(&am35x_scm_general_regs->ip_sw_reset);
	sw_reset |= (1 << 0);
	writel(sw_reset, &am35x_scm_general_regs->ip_sw_reset);
	sw_reset &= ~(1 << 0);
	writel(sw_reset, &am35x_scm_general_regs->ip_sw_reset);
	writel(0x1, &am35x_usb_regs->control);
	udelay(5000);
	if (phy_on() == 0)
		return -1;
	revision = readl(&am35x_usb_regs->revision);
	if (revision == 0)
		return -1;
	return 0;
}