|
@@ -102,10 +102,34 @@ static void exynos5_set_usbdrd_phy_ctrl(unsigned int enable)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static void exynos5420_set_usbdev_phy_ctrl(unsigned int enable)
|
|
|
+{
|
|
|
+ struct exynos5420_power *power =
|
|
|
+ (struct exynos5420_power *)samsung_get_base_power();
|
|
|
+
|
|
|
+ if (enable) {
|
|
|
+ /* Enabling USBDEV_PHY */
|
|
|
+ setbits_le32(&power->usbdev_phy_control,
|
|
|
+ POWER_USB_DRD_PHY_CTRL_EN);
|
|
|
+ setbits_le32(&power->usbdev1_phy_control,
|
|
|
+ POWER_USB_DRD_PHY_CTRL_EN);
|
|
|
+ } else {
|
|
|
+ /* Disabling USBDEV_PHY */
|
|
|
+ clrbits_le32(&power->usbdev_phy_control,
|
|
|
+ POWER_USB_DRD_PHY_CTRL_EN);
|
|
|
+ clrbits_le32(&power->usbdev1_phy_control,
|
|
|
+ POWER_USB_DRD_PHY_CTRL_EN);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
void set_usbdrd_phy_ctrl(unsigned int enable)
|
|
|
{
|
|
|
- if (cpu_is_exynos5())
|
|
|
- exynos5_set_usbdrd_phy_ctrl(enable);
|
|
|
+ if (cpu_is_exynos5()) {
|
|
|
+ if (proid_is_exynos5420() || proid_is_exynos5800())
|
|
|
+ exynos5420_set_usbdev_phy_ctrl(enable);
|
|
|
+ else
|
|
|
+ exynos5_set_usbdrd_phy_ctrl(enable);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
static void exynos5_dp_phy_control(unsigned int enable)
|