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.s...@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. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot