예제 #1
0
static void otg_hs_uninit(void)
{
	dbg();

	__raw_writew(PBC_BCTRL3_OTG_HS_EN, PBC3_SET);	/* disable  OTG/HS */
	__raw_writew(PBC_BCTRL3_HSH_SEL, PBC3_CLEAR);

	gpio_usbotg_hs_inactive();	/* release our pins */
}
예제 #2
0
int fsl_usb_xcvr_suspend(struct fsl_xcvr_ops *xcvr_ops)
{
	if (!machine_is_mx31_3ds())
		return -ECANCELED;

	if (xcvr_ops->xcvr_type == PORTSC_PTS_ULPI) {
		if (fsl_check_usbclk() != 0)
			return -EINVAL;
		if (gpio_usbotg_hs_active())
			return -EINVAL;
		clk_enable(usb_clk);

		otg_set_ulpi_xcvr();

		if (xcvr_ops->suspend)
			/* suspend transceiver */
			xcvr_ops->suspend(xcvr_ops);

		gpio_usbotg_hs_inactive();
		clk_disable(usb_clk);
	}
	return 0;
}
예제 #3
0
void gpio_usbotg_fs_inactive(void)
{
	gpio_usbotg_hs_inactive();
}