Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1563867 > unrolled thread
| Started by | Stephen Boyd <stephen.boyd@linaro.org> |
|---|---|
| First post | 2017-01-20 20:00 +0100 |
| Last post | 2017-01-22 02:40 +0100 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH v7 4/5] usb: chipidea: Signal vbus state to phy Stephen Boyd <stephen.boyd@linaro.org> - 2017-01-20 20:00 +0100
RE: [PATCH v7 4/5] usb: chipidea: Signal vbus state to phy Peter Chen <peter.chen@nxp.com> - 2017-01-22 02:40 +0100
| From | Stephen Boyd <stephen.boyd@linaro.org> |
|---|---|
| Date | 2017-01-20 20:00 +0100 |
| Subject | [PATCH v7 4/5] usb: chipidea: Signal vbus state to phy |
| Message-ID | <t1MzL-2qZ-1@gated-at.bofh.it> |
Some USB PHYs need to be told about vbus changing state
explicitly. For example the qcom USB HS PHY needs to toggle a bit
when vbus goes from low to high (VBUSVLDEXT) to cause the
"session valid" signal to toggle. This signal will pull up D+
when the phy starts running. Add the appropriate phy_set_vbus()
call here to signal vbus state changes to the phy.
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
---
New patch
drivers/usb/chipidea/otg.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/chipidea/otg.c b/drivers/usb/chipidea/otg.c
index 10236fe71522..6ea702beed48 100644
--- a/drivers/usb/chipidea/otg.c
+++ b/drivers/usb/chipidea/otg.c
@@ -134,10 +134,13 @@ void ci_handle_vbus_change(struct ci_hdrc *ci)
if (!ci->is_otg)
return;
- if (hw_read_otgsc(ci, OTGSC_BSV) && !ci->vbus_active)
+ if (hw_read_otgsc(ci, OTGSC_BSV) && !ci->vbus_active) {
usb_gadget_vbus_connect(&ci->gadget);
- else if (!hw_read_otgsc(ci, OTGSC_BSV) && ci->vbus_active)
+ phy_set_vbus(ci->phy, 1);
+ } else if (!hw_read_otgsc(ci, OTGSC_BSV) && ci->vbus_active) {
+ phy_set_vbus(ci->phy, 0);
usb_gadget_vbus_disconnect(&ci->gadget);
+ }
}
/**
--
2.10.0.297.gf6727b0
[toc] | [next] | [standalone]
| From | Peter Chen <peter.chen@nxp.com> |
|---|---|
| Date | 2017-01-22 02:40 +0100 |
| Message-ID | <t2fip-2He-9@gated-at.bofh.it> |
| In reply to | #1563867 |
>
> drivers/usb/chipidea/otg.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/usb/chipidea/otg.c b/drivers/usb/chipidea/otg.c index
>10236fe71522..6ea702beed48 100644
>--- a/drivers/usb/chipidea/otg.c
>+++ b/drivers/usb/chipidea/otg.c
>@@ -134,10 +134,13 @@ void ci_handle_vbus_change(struct ci_hdrc *ci)
> if (!ci->is_otg)
> return;
>
>- if (hw_read_otgsc(ci, OTGSC_BSV) && !ci->vbus_active)
>+ if (hw_read_otgsc(ci, OTGSC_BSV) && !ci->vbus_active) {
> usb_gadget_vbus_connect(&ci->gadget);
>- else if (!hw_read_otgsc(ci, OTGSC_BSV) && ci->vbus_active)
>+ phy_set_vbus(ci->phy, 1);
>+ } else if (!hw_read_otgsc(ci, OTGSC_BSV) && ci->vbus_active) {
>+ phy_set_vbus(ci->phy, 0);
> usb_gadget_vbus_disconnect(&ci->gadget);
>+ }
> }
>
You can add my ack if you accept the name of phy_notify_vbus.
Peter
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web