static void __init universal5410_drd1_init(void) { /* Initialize DRD1 gpio */ if (gpio_request(EXYNOS5410_GPK2(4), "UDRD3_1_OVERCUR_U2")) printk(KERN_ERR "failed to request UDRD3_1_OVERCUR_U2\n"); else { s3c_gpio_cfgpin(EXYNOS5410_GPK2(4), (0x2 << 16)); s3c_gpio_setpull(EXYNOS5410_GPK2(4), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(4)); } if (gpio_request(EXYNOS5410_GPK2(5), "UDRD3_1_OVERCUR_U3")) printk(KERN_ERR "failed to request UDRD3_1_OVERCUR_U3\n"); else { s3c_gpio_cfgpin(EXYNOS5410_GPK2(5), (0x2 << 20)); s3c_gpio_setpull(EXYNOS5410_GPK2(5), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(5)); } if (gpio_request_one(EXYNOS5410_GPK2(6), GPIOF_OUT_INIT_LOW, "UDRD3_1_VBUSCTRL_U2")) printk(KERN_ERR "failed to request UDRD3_1_VBUSCTRL_U2\n"); else { s3c_gpio_setpull(EXYNOS5410_GPK2(6), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(6)); } if (gpio_request_one(EXYNOS5410_GPK2(7), GPIOF_OUT_INIT_LOW, "UDRD3_1_VBUSCTRL_U3")) printk(KERN_ERR "failed to request UDRD3_1_VBUSCTRL_U3\n"); else { s3c_gpio_setpull(EXYNOS5410_GPK2(7), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(7)); } #if !defined(CONFIG_USB_EXYNOS5_USB3_DRD_CH1) universal5420_drd_pdata.quirks = DUMMY_DRD; #elif defined(CONFIG_USB_EXYNOS_SS_UDC) universal5420_drd_pdata.quirks |= FORCE_RUN_PERIPHERAL; #endif universal5420_drd_pdata.quirks |= LOW_VBOOST; exynos5_usb3_drd1_set_platdata(&universal5420_drd_pdata); }
static void __init __maybe_unused smdk5410_drd1_init(void) { /* Initialize DRD1 gpio */ if (gpio_request(EXYNOS5410_GPK2(4), "UDRD3_1_OVERCUR_U2")) { pr_err("failed to request UDRD3_1_OVERCUR_U2\n"); } else { s3c_gpio_cfgpin(EXYNOS5410_GPK2(4), (0x2 << 16)); s3c_gpio_setpull(EXYNOS5410_GPK2(4), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(4)); } if (gpio_request(EXYNOS5410_GPK2(5), "UDRD3_1_OVERCUR_U3")) { pr_err("failed to request UDRD3_1_OVERCUR_U3\n"); } else { s3c_gpio_cfgpin(EXYNOS5410_GPK2(5), (0x2 << 20)); s3c_gpio_setpull(EXYNOS5410_GPK2(5), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(5)); } if (gpio_request_one(EXYNOS5410_GPK2(6), GPIOF_OUT_INIT_LOW, "UDRD3_1_VBUSCTRL_U2")) { pr_err("failed to request UDRD3_1_VBUSCTRL_U2\n"); } else { s3c_gpio_setpull(EXYNOS5410_GPK2(6), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(6)); } if (gpio_request_one(EXYNOS5410_GPK2(7), GPIOF_OUT_INIT_LOW, "UDRD3_1_VBUSCTRL_U3")) { pr_err("failed to request UDRD3_1_VBUSCTRL_U3\n"); } else { s3c_gpio_setpull(EXYNOS5410_GPK2(7), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(7)); } #if defined(CONFIG_USB_EXYNOS5_USB3_DRD_CH1) if (gpio_request_one(SMDK5410_ID1_GPIO, GPIOF_IN, "UDRD3_1_ID")) { pr_err("failed to request UDRD3_1_ID\n"); smdk5410_drd_pdata.id_irq = -1; } else { s3c_gpio_cfgpin(SMDK5410_ID1_GPIO, S3C_GPIO_SFN(0xF)); s3c_gpio_setpull(SMDK5410_ID1_GPIO, S3C_GPIO_PULL_NONE); gpio_free(SMDK5410_ID1_GPIO); smdk5410_drd_pdata.id_irq = gpio_to_irq(SMDK5410_ID1_GPIO); } if (gpio_request_one(SMDK5410_VBUS1_GPIO, GPIOF_IN, "UDRD3_1_VBUS")) { pr_err("failed to request UDRD3_1_VBUS\n"); smdk5410_drd_pdata.vbus_irq = -1; } else { s3c_gpio_cfgpin(SMDK5410_VBUS1_GPIO, S3C_GPIO_SFN(0xF)); s3c_gpio_setpull(SMDK5410_VBUS1_GPIO, S3C_GPIO_PULL_NONE); gpio_free(SMDK5410_VBUS1_GPIO); smdk5410_drd_pdata.vbus_irq = gpio_to_irq(SMDK5410_VBUS1_GPIO); } smdk5410_drd_pdata.quirks = 0; #if !defined(CONFIG_USB_XHCI_EXYNOS) smdk5410_drd_pdata.quirks |= FORCE_RUN_PERIPHERAL; #endif #else smdk5410_drd_pdata.id_irq = -1; smdk5410_drd_pdata.vbus_irq = -1; smdk5410_drd_pdata.quirks = DUMMY_DRD; #endif exynos5_usb3_drd1_set_platdata(&smdk5410_drd_pdata); }
static void __init smdk5410_drd1_init(void) { /* Initialize DRD1 gpio */ if (gpio_request(EXYNOS5410_GPK2(4), "UDRD3_1_OVERCUR_U2")) { pr_err("failed to request UDRD3_1_OVERCUR_U2\n"); } else { s3c_gpio_cfgpin(EXYNOS5410_GPK2(4), (0x2 << 16)); s3c_gpio_setpull(EXYNOS5410_GPK2(4), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(4)); } if (gpio_request(EXYNOS5410_GPK2(5), "UDRD3_1_OVERCUR_U3")) { pr_err("failed to request UDRD3_1_OVERCUR_U3\n"); } else { s3c_gpio_cfgpin(EXYNOS5410_GPK2(5), (0x2 << 20)); s3c_gpio_setpull(EXYNOS5410_GPK2(5), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(5)); } if (gpio_request_one(EXYNOS5410_GPK2(6), GPIOF_OUT_INIT_LOW, "UDRD3_1_VBUSCTRL_U2")) { pr_err("failed to request UDRD3_1_VBUSCTRL_U2\n"); } else { s3c_gpio_setpull(EXYNOS5410_GPK2(6), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(6)); } if (gpio_request_one(EXYNOS5410_GPK2(7), GPIOF_OUT_INIT_LOW, "UDRD3_1_VBUSCTRL_U3")) { pr_err("failed to request UDRD3_1_VBUSCTRL_U3\n"); } else { s3c_gpio_setpull(EXYNOS5410_GPK2(7), S3C_GPIO_PULL_NONE); gpio_free(EXYNOS5410_GPK2(7)); } if (gpio_request_one(SMDK5410_ID1_GPIO, GPIOF_IN, "UDRD3_1_ID")) { pr_err("failed to request UDRD3_1_ID\n"); smdk5410_drd_pdata.id_irq = -1; } else { s3c_gpio_cfgpin(SMDK5410_ID1_GPIO, S3C_GPIO_SFN(0xF)); s3c_gpio_setpull(SMDK5410_ID1_GPIO, S3C_GPIO_PULL_DOWN); gpio_free(SMDK5410_ID1_GPIO); smdk5410_drd_pdata.id_irq = gpio_to_irq(SMDK5410_ID1_GPIO); } if (gpio_request_one(SMDK5410_VBUS1_GPIO, GPIOF_IN, "UDRD3_1_VBUS")) { pr_err("failed to request UDRD3_1_VBUS\n"); smdk5410_drd_pdata.vbus_irq = -1; } else { s3c_gpio_cfgpin(SMDK5410_VBUS1_GPIO, S3C_GPIO_SFN(0xF)); s3c_gpio_setpull(SMDK5410_VBUS1_GPIO, S3C_GPIO_PULL_NONE); gpio_free(SMDK5410_VBUS1_GPIO); smdk5410_drd_pdata.vbus_irq = gpio_to_irq(SMDK5410_VBUS1_GPIO); } smdk5410_drd_pdata.quirks = 0; smdk5410_drd_pdata.quirks |= FORCE_RUN_XHCI; exynos5_usb3_drd1_set_platdata(&smdk5410_drd_pdata); }