* [U-Boot] [PATCH] EXYNOS5: Add function to enable exynos5420 usbdev phy ctrl
@ 2015-01-21 4:51 Joonyoung Shim
2015-02-13 8:25 ` Minkyu Kang
0 siblings, 1 reply; 2+ messages in thread
From: Joonyoung Shim @ 2015-01-21 4:51 UTC (permalink / raw)
To: u-boot
Exynos5420 has different registers with other exynos5 SoCs to control
usb device phy, so need separated function to enable exynos5420 usb
device phy.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
---
I used "usbdev" instead of "usbdrd" on function name because registers
name prefix is usbdev_.
arch/arm/cpu/armv7/exynos/power.c | 28 ++++++++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/arch/arm/cpu/armv7/exynos/power.c b/arch/arm/cpu/armv7/exynos/power.c
index 1520d64..1b12051 100644
--- a/arch/arm/cpu/armv7/exynos/power.c
+++ b/arch/arm/cpu/armv7/exynos/power.c
@@ -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)
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* [U-Boot] [PATCH] EXYNOS5: Add function to enable exynos5420 usbdev phy ctrl
2015-01-21 4:51 [U-Boot] [PATCH] EXYNOS5: Add function to enable exynos5420 usbdev phy ctrl Joonyoung Shim
@ 2015-02-13 8:25 ` Minkyu Kang
0 siblings, 0 replies; 2+ messages in thread
From: Minkyu Kang @ 2015-02-13 8:25 UTC (permalink / raw)
To: u-boot
On 21/01/15 13:51, Joonyoung Shim wrote:
> Exynos5420 has different registers with other exynos5 SoCs to control
> usb device phy, so need separated function to enable exynos5420 usb
> device phy.
>
> Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
> ---
> I used "usbdev" instead of "usbdrd" on function name because registers
> name prefix is usbdev_.
>
> arch/arm/cpu/armv7/exynos/power.c | 28 ++++++++++++++++++++++++++--
> 1 file changed, 26 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/cpu/armv7/exynos/power.c b/arch/arm/cpu/armv7/exynos/power.c
> index 1520d64..1b12051 100644
> --- a/arch/arm/cpu/armv7/exynos/power.c
> +++ b/arch/arm/cpu/armv7/exynos/power.c
> @@ -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)
>
applied to u-boot-samsung.
Thank,
Minkyu Kang.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-02-13 8:25 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-21 4:51 [U-Boot] [PATCH] EXYNOS5: Add function to enable exynos5420 usbdev phy ctrl Joonyoung Shim
2015-02-13 8:25 ` Minkyu Kang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox