EXYNOS: Add power Enable/Disable for USB-EHCI
This patch adds functions to enable/disable the power of USB host controller for EXYNOS5. Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> Signed-off-by: Che-Liang Chiou <clchiou@chromium.org> Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
This commit is contained in:
parent
71045da812
commit
c48ac11322
@ -52,3 +52,25 @@ void set_mipi_phy_ctrl(unsigned int dev_index, unsigned int enable)
|
||||
if (cpu_is_exynos4())
|
||||
exynos4_mipi_phy_control(dev_index, enable);
|
||||
}
|
||||
|
||||
void exynos5_set_usbhost_phy_ctrl(unsigned int enable)
|
||||
{
|
||||
struct exynos5_power *power =
|
||||
(struct exynos5_power *)samsung_get_base_power();
|
||||
|
||||
if (enable) {
|
||||
/* Enabling USBHOST_PHY */
|
||||
setbits_le32(&power->usbhost_phy_control,
|
||||
POWER_USB_HOST_PHY_CTRL_EN);
|
||||
} else {
|
||||
/* Disabling USBHOST_PHY */
|
||||
clrbits_le32(&power->usbhost_phy_control,
|
||||
POWER_USB_HOST_PHY_CTRL_EN);
|
||||
}
|
||||
}
|
||||
|
||||
void set_usbhost_phy_ctrl(unsigned int enable)
|
||||
{
|
||||
if (cpu_is_exynos5())
|
||||
exynos5_set_usbhost_phy_ctrl(enable);
|
||||
}
|
||||
|
@ -855,4 +855,8 @@ void set_mipi_phy_ctrl(unsigned int dev_index, unsigned int enable);
|
||||
#define EXYNOS_MIPI_PHY_SRESETN (1 << 1)
|
||||
#define EXYNOS_MIPI_PHY_MRESETN (1 << 2)
|
||||
|
||||
void set_usbhost_phy_ctrl(unsigned int enable);
|
||||
|
||||
#define POWER_USB_HOST_PHY_CTRL_EN (1 << 0)
|
||||
#define POWER_USB_HOST_PHY_CTRL_DISABLE (0 << 0)
|
||||
#endif
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include <asm/arch/cpu.h>
|
||||
#include <asm/arch/ehci.h>
|
||||
#include <asm/arch/system.h>
|
||||
#include <asm/arch/power.h>
|
||||
#include "ehci.h"
|
||||
#include "ehci-core.h"
|
||||
|
||||
@ -33,6 +34,8 @@ static void setup_usb_phy(struct exynos_usb_phy *usb)
|
||||
{
|
||||
set_usbhost_mode(USB20_PHY_CFG_HOST_LINK_EN);
|
||||
|
||||
set_usbhost_phy_ctrl(POWER_USB_HOST_PHY_CTRL_EN);
|
||||
|
||||
clrbits_le32(&usb->usbphyctrl0,
|
||||
HOST_CTRL0_FSEL_MASK |
|
||||
HOST_CTRL0_COMMONON_N |
|
||||
@ -73,6 +76,8 @@ static void reset_usb_phy(struct exynos_usb_phy *usb)
|
||||
HOST_CTRL0_SIDDQ |
|
||||
HOST_CTRL0_FORCESUSPEND |
|
||||
HOST_CTRL0_FORCESLEEP);
|
||||
|
||||
set_usbhost_phy_ctrl(POWER_USB_HOST_PHY_CTRL_DISABLE);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user