]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
arm: exynos: Add methods to control power to USB 3.0 PHY
authorVivek Gautam <gautam.vivek@samsung.com>
Sat, 14 Sep 2013 08:32:47 +0000 (14:02 +0530)
committerMarek Vasut <marex@denx.de>
Sun, 20 Oct 2013 21:42:38 +0000 (23:42 +0200)
Adding methods to turn on/off power to USB3.0 type PHY
as and when required by the controller.

Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Cc: Julius Werner <jwerner@chromium.org>
Cc: Simon Glass <sjg@chromium.org>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Dan Murphy <dmurphy@ti.com>
Cc: Marek Vasut <marex@denx.de>
arch/arm/cpu/armv7/exynos/power.c
arch/arm/include/asm/arch-exynos/power.h

index 517e804f34395af6ec732a786de45ddbdf4f86b9..563abd750f5bfec9725395577e4f7b0c3fe6bfca 100644 (file)
@@ -59,6 +59,28 @@ void set_usbhost_phy_ctrl(unsigned int enable)
                exynos5_set_usbhost_phy_ctrl(enable);
 }
 
+static void exynos5_set_usbdrd_phy_ctrl(unsigned int enable)
+{
+       struct exynos5_power *power =
+               (struct exynos5_power *)samsung_get_base_power();
+
+       if (enable) {
+               /* Enabling USBDRD_PHY */
+               setbits_le32(&power->usbdrd_phy_control,
+                               POWER_USB_DRD_PHY_CTRL_EN);
+       } else {
+               /* Disabling USBDRD_PHY */
+               clrbits_le32(&power->usbdrd_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);
+}
+
 static void exynos5_dp_phy_control(unsigned int enable)
 {
        unsigned int cfg;
index 324132701645401297f1b3cf785c29d70584ea70..8db18c545c9951df4875e39ab0cca87c2a41999b 100644 (file)
@@ -847,6 +847,11 @@ void set_hw_thermal_trip(void);
 #define POWER_USB_HOST_PHY_CTRL_EN             (1 << 0)
 #define POWER_USB_HOST_PHY_CTRL_DISABLE                (0 << 0)
 
+void set_usbdrd_phy_ctrl(unsigned int enable);
+
+#define POWER_USB_DRD_PHY_CTRL_EN              (1 << 0)
+#define POWER_USB_DRD_PHY_CTRL_DISABLE         (0 << 0)
+
 void set_dp_phy_ctrl(unsigned int enable);
 
 #define EXYNOS_DP_PHY_ENABLE           (1 << 0)