arm: odroid: enable/disable usb host phy for exynos4412

Enable/disable the usb host phy on the odroid U/X2 boards which are based
on the Exynos4412 SOC.

Signed-off-by: Suriyan Ramasami <suriyan.r@gmail.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
Suriyan Ramasami 2014-10-29 09:22:42 -07:00 committed by Minkyu Kang
parent 7e46be8aed
commit bdba132828
2 changed files with 34 additions and 0 deletions

View File

@ -53,10 +53,37 @@ void exynos5_set_usbhost_phy_ctrl(unsigned int enable)
}
}
void exynos4412_set_usbhost_phy_ctrl(unsigned int enable)
{
struct exynos4412_power *power =
(struct exynos4412_power *)samsung_get_base_power();
if (enable) {
/* Enabling USBHOST_PHY */
setbits_le32(&power->usbhost_phy_control,
POWER_USB_HOST_PHY_CTRL_EN);
setbits_le32(&power->hsic1_phy_control,
POWER_USB_HOST_PHY_CTRL_EN);
setbits_le32(&power->hsic2_phy_control,
POWER_USB_HOST_PHY_CTRL_EN);
} else {
/* Disabling USBHOST_PHY */
clrbits_le32(&power->usbhost_phy_control,
POWER_USB_HOST_PHY_CTRL_EN);
clrbits_le32(&power->hsic1_phy_control,
POWER_USB_HOST_PHY_CTRL_EN);
clrbits_le32(&power->hsic2_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);
else if (cpu_is_exynos4())
if (proid_is_exynos4412())
exynos4412_set_usbhost_phy_ctrl(enable);
}
static void exynos5_set_usbdrd_phy_ctrl(unsigned int enable)

View File

@ -210,6 +210,13 @@ struct exynos4_power {
unsigned int gps_alive_option;
};
struct exynos4412_power {
unsigned char res1[0x0704];
unsigned int usbhost_phy_control;
unsigned int hsic1_phy_control;
unsigned int hsic2_phy_control;
};
struct exynos5_power {
unsigned int om_stat;
unsigned char res1[0x18];