diff options
author | Takeshi Kihara <takeshi.kihara.df@renesas.com> | 2014-11-03 20:05:43 -0500 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2014-11-05 14:22:09 -0500 |
commit | 04a5def3df1cea758662615e075f64677690c75f (patch) | |
tree | 17807399c602c95dd51344bda14656dcc09401dc /drivers/usb/renesas_usbhs/common.c | |
parent | 11432050f070810ba139d0226344eef120c3a559 (diff) |
usb: renesas_usbhs: gadget: fix the behavior of pullup
This patch fixes an issue that this driver always enable the D+ pullup
after it detected the VBUS connection even though this usb controller
can control the D+ pullup timing by software. So, this driver should
enable the D+ pullup after a gadget driver called usb_gadget_connect().
Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com>
Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/renesas_usbhs/common.c')
-rw-r--r-- | drivers/usb/renesas_usbhs/common.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/renesas_usbhs/common.c b/drivers/usb/renesas_usbhs/common.c index 169307ba08b7..371478704899 100644 --- a/drivers/usb/renesas_usbhs/common.c +++ b/drivers/usb/renesas_usbhs/common.c | |||
@@ -126,13 +126,15 @@ void usbhs_sys_host_ctrl(struct usbhs_priv *priv, int enable) | |||
126 | void usbhs_sys_function_ctrl(struct usbhs_priv *priv, int enable) | 126 | void usbhs_sys_function_ctrl(struct usbhs_priv *priv, int enable) |
127 | { | 127 | { |
128 | u16 mask = DCFM | DRPD | DPRPU | HSE | USBE; | 128 | u16 mask = DCFM | DRPD | DPRPU | HSE | USBE; |
129 | u16 val = DPRPU | HSE | USBE; | 129 | u16 val = HSE | USBE; |
130 | 130 | ||
131 | /* | 131 | /* |
132 | * if enable | 132 | * if enable |
133 | * | 133 | * |
134 | * - select Function mode | 134 | * - select Function mode |
135 | * - D+ Line Pull-up | 135 | * - D+ Line Pull-up is disabled |
136 | * When D+ Line Pull-up is enabled, | ||
137 | * calling usbhs_sys_function_pullup(,1) | ||
136 | */ | 138 | */ |
137 | usbhs_bset(priv, SYSCFG, mask, enable ? val : 0); | 139 | usbhs_bset(priv, SYSCFG, mask, enable ? val : 0); |
138 | } | 140 | } |