Hi, On Tue, Jul 06, 2010 at 05:30:37PM +0530, Ajay Kumar Gupta wrote: > +static void omap_ehci_soft_phy_reset(struct ehci_hcd_omap *omap, u8 port) > +{ > + unsigned reg = 0; > + > + reg = ULPI_FUNC_CTRL_RESET | ULPI_FUNC_CTRL_SUSPENDM suspendm should be done when we remove the driver (omap_sotp_ehc), to put transceiver is lower power mode. > + /* FUNCTION_CTRL_SET register */ > + | (ULPI_SET(ULPI_FUNC_CTRL) << EHCI_INSNREG05_ULPI_REGADD_SHIFT) > + /* Write */ > + | (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT) > + /* PORTn */ > + | ((port + 1) << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT) > + /* start ULPI access*/ > + | (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT); > + > + ehci_omap_writel(omap->ehci_base, EHCI_INSNREG05_ULPI, reg); do you need to poll for reset done ? (when reset bit is cleared?) -- balbi -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html