static void __init mx6_arm2_init_usb(void) { int ret = 0; imx_otg_base = MX6_IO_ADDRESS(MX6Q_USB_OTG_BASE_ADDR); /* disable external charger detect, * or it will affect signal quality at dp. */ ret = gpio_request(MX6_BRD_USBOTG1_PWR, "usbotg-pwr"); if (ret) { pr_err("failed to get GPIO MX6_BRD_USBOTG1_PWR:%d\n", ret); return; } gpio_direction_output(MX6_BRD_USBOTG1_PWR, 0); ret = gpio_request(MX6_BRD_USBOTG2_PWR, "usbh1-pwr"); if (ret) { pr_err("failed to get GPIO MX6_BRD_USBOTG2_PWR:%d\n", ret); return; } gpio_direction_output(MX6_BRD_USBOTG2_PWR, 1); mx6_set_otghost_vbus_func(imx6_arm2_usbotg_vbus); #ifdef CONFIG_USB_EHCI_ARC_HSIC mxc_iomux_set_specialbits_register(MX6SL_PAD_HSIC_DAT, PAD_CTL_DDR_SEL_DDR3, PAD_CTL_DDR_SEL_MASK); mxc_iomux_set_specialbits_register(MX6SL_PAD_HSIC_STROBE, PAD_CTL_DDR_SEL_DDR3, PAD_CTL_DDR_SEL_MASK); mx6_usb_h2_init(); #endif }
static void __init mx6_evk_init_usb(void) { int ret = 0; imx_otg_base = MX6_IO_ADDRESS(MX6Q_USB_OTG_BASE_ADDR); /* disable external charger detect, * or it will affect signal quality at dp. */ ret = gpio_request(MX6_BRD_USBOTG1_PWR, "usbotg-pwr"); if (ret) { pr_err("failed to get GPIO MX6_BRD_USBOTG1_PWR:%d\n", ret); return; } gpio_direction_output(MX6_BRD_USBOTG1_PWR, 0); ret = gpio_request(MX6_BRD_USBOTG2_PWR, "usbh1-pwr"); if (ret) { pr_err("failed to get GPIO MX6_BRD_USBOTG2_PWR:%d\n", ret); return; } gpio_direction_output(MX6_BRD_USBOTG2_PWR, 1); mx6_set_otghost_vbus_func(imx6_evk_usbotg_vbus); mx6_usb_dr_init(); #ifdef CONFIG_USB_EHCI_ARC_HSIC mx6_usb_h2_init(); #endif }
static void __init imx6q_sabreauto_init_usb(void) { int ret = 0; imx_otg_base = MX6_IO_ADDRESS(MX6Q_USB_OTG_BASE_ADDR); ret = gpio_request(SABREAUTO_USB_OTG_OC, "otg-oc"); if (ret) { printk(KERN_ERR"failed to get GPIO SABREAUTO_USB_OTG_OC:" " %d\n", ret); return; } gpio_direction_input(SABREAUTO_USB_OTG_OC); ret = gpio_request(SABREAUTO_USB_HOST1_OC, "usbh1-oc"); if (ret) { printk(KERN_ERR"failed to get SABREAUTO_USB_HOST1_OC:" " %d\n", ret); return; } gpio_direction_input(SABREAUTO_USB_HOST1_OC); mxc_iomux_set_gpr_register(1, 13, 1, 0); mx6_set_otghost_vbus_func(imx6q_sabreauto_usbotg_vbus); mx6_usb_dr_init(); mx6_set_host1_vbus_func(imx6q_sabreauto_usbhost1_vbus); #ifdef CONFIG_USB_EHCI_ARC_HSIC mx6_usb_h2_init(); mx6_usb_h3_init(); #endif }