Message ID | 1336129923-2656-4-git-send-email-rajeshwari.s@samsung.com |
---|---|
State | New |
Headers | show |
Dear Rajeshwari Shinde, On 4 May 2012 20:12, Rajeshwari Shinde <rajeshwari.s@samsung.com> wrote: > This patch adds a function to set usb host mode to USB 2.0 HOST Link > for EXYNOS5 > > Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com> > --- need the change log here. http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versions > This patchset is based on: > USB: EXYNOS: Add ehci support.patch > > arch/arm/cpu/armv7/exynos/system.c | 22 ++++++++++++++++++++++ > arch/arm/include/asm/arch-exynos/system.h | 3 +++ > drivers/usb/host/ehci-exynos.c | 3 +++ > 3 files changed, 28 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/cpu/armv7/exynos/system.c b/arch/arm/cpu/armv7/exynos/system.c > index 6c34730..7ff4e09 100644 > --- a/arch/arm/cpu/armv7/exynos/system.c > +++ b/arch/arm/cpu/armv7/exynos/system.c > @@ -46,3 +46,25 @@ void set_system_display_ctrl(void) > if (cpu_is_exynos4()) > exynos4_set_system_display(); > } > + > +static void exynos5_enable_usbhost_mode(unsigned int mode) Please move this function to up the set_system_display_ctrl function. APIs should be gathered to bottom of file. > +{ > + struct exynos5_sysreg *sysreg = > + (struct exynos5_sysreg *)samsung_get_base_sysreg(); > + unsigned int phy_cfg; > + > + /* Setting USB20PHY_CONFIG register to USB 2.0 HOST link */ > + if (mode == USB20_PHY_CFG_HOST_LINK_EN) { > + setbits_le32(&sysreg->usb20phy_cfg, > + USB20_PHY_CFG_HOST_LINK_EN); > + } else { > + clrbits_le32(&sysreg->usb20phy_cfg, > + USB20_PHY_CFG_HOST_LINK_EN); > + } > +} > + > +void enable_usbhost_mode(unsigned int mode) API's name should be set_* or get_*. Please fix it. > +{ > + if (cpu_is_exynos5()) > + exynos5_enable_usbhost_mode(mode); > +} Thanks. Minkyu Kang.
diff --git a/arch/arm/cpu/armv7/exynos/system.c b/arch/arm/cpu/armv7/exynos/system.c index 6c34730..7ff4e09 100644 --- a/arch/arm/cpu/armv7/exynos/system.c +++ b/arch/arm/cpu/armv7/exynos/system.c @@ -46,3 +46,25 @@ void set_system_display_ctrl(void) if (cpu_is_exynos4()) exynos4_set_system_display(); } + +static void exynos5_enable_usbhost_mode(unsigned int mode) +{ + struct exynos5_sysreg *sysreg = + (struct exynos5_sysreg *)samsung_get_base_sysreg(); + unsigned int phy_cfg; + + /* Setting USB20PHY_CONFIG register to USB 2.0 HOST link */ + if (mode == USB20_PHY_CFG_HOST_LINK_EN) { + setbits_le32(&sysreg->usb20phy_cfg, + USB20_PHY_CFG_HOST_LINK_EN); + } else { + clrbits_le32(&sysreg->usb20phy_cfg, + USB20_PHY_CFG_HOST_LINK_EN); + } +} + +void enable_usbhost_mode(unsigned int mode) +{ + if (cpu_is_exynos5()) + exynos5_enable_usbhost_mode(mode); +} diff --git a/arch/arm/include/asm/arch-exynos/system.h b/arch/arm/include/asm/arch-exynos/system.h index c1d880f..949661d 100644 --- a/arch/arm/include/asm/arch-exynos/system.h +++ b/arch/arm/include/asm/arch-exynos/system.h @@ -49,6 +49,9 @@ struct exynos5_sysreg { }; #endif +#define USB20_PHY_CFG_HOST_LINK_EN (1 << 0) + void set_system_display_ctrl(void); +void enable_usbhost_mode(unsigned int mode); #endif /* _EXYNOS4_SYSTEM_H */ diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c index 3830c43..d918a2a 100644 --- a/drivers/usb/host/ehci-exynos.c +++ b/drivers/usb/host/ehci-exynos.c @@ -24,12 +24,15 @@ #include <usb.h> #include <asm/arch/cpu.h> #include <asm/arch/ehci.h> +#include <asm/arch/system.h> #include "ehci.h" #include "ehci-core.h" /* Setup the EHCI host controller. */ static void setup_usb_phy(struct exynos_usb_phy *usb) { + enable_usbhost_mode(USB20_PHY_CFG_HOST_LINK_EN); + clrbits_le32(&usb->usbphyctrl0, HOST_CTRL0_FSEL_MASK | HOST_CTRL0_COMMONON_N |
This patch adds a function to set usb host mode to USB 2.0 HOST Link for EXYNOS5 Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com> --- This patchset is based on: USB: EXYNOS: Add ehci support.patch arch/arm/cpu/armv7/exynos/system.c | 22 ++++++++++++++++++++++ arch/arm/include/asm/arch-exynos/system.h | 3 +++ drivers/usb/host/ehci-exynos.c | 3 +++ 3 files changed, 28 insertions(+), 0 deletions(-)