From mboxrd@z Thu Jan 1 00:00:00 1970 From: Minkyu Kang Date: Fri, 13 Feb 2015 17:25:49 +0900 Subject: [U-Boot] [PATCH] EXYNOS5: Add function to enable exynos5420 usbdev phy ctrl In-Reply-To: <1421815892-13160-1-git-send-email-jy0922.shim@samsung.com> References: <1421815892-13160-1-git-send-email-jy0922.shim@samsung.com> Message-ID: <54DDB50D.5040903@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > --- > 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.