mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-23 19:39:44 +09:00
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:
parent
7e46be8aed
commit
bdba132828
@ -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)
|
void set_usbhost_phy_ctrl(unsigned int enable)
|
||||||
{
|
{
|
||||||
if (cpu_is_exynos5())
|
if (cpu_is_exynos5())
|
||||||
exynos5_set_usbhost_phy_ctrl(enable);
|
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)
|
static void exynos5_set_usbdrd_phy_ctrl(unsigned int enable)
|
||||||
|
@ -210,6 +210,13 @@ struct exynos4_power {
|
|||||||
unsigned int gps_alive_option;
|
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 {
|
struct exynos5_power {
|
||||||
unsigned int om_stat;
|
unsigned int om_stat;
|
||||||
unsigned char res1[0x18];
|
unsigned char res1[0x18];
|
||||||
|
Loading…
Reference in New Issue
Block a user