Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1565265
| From | Stephen Boyd <stephen.boyd@linaro.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v7 3/5] phy: Add set_vbus callback |
| Date | 2017-01-23 21:00 +0100 |
| Message-ID | <t2SWt-2b0-7@gated-at.bofh.it> (permalink) |
| References | <t1MzL-2qZ-3@gated-at.bofh.it> <t1MzL-2qZ-11@gated-at.bofh.it> <t2m0x-6Zo-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Quoting Kishon Vijay Abraham I (2017-01-22 00:46:21)
> Hi,
>
> On Saturday 21 January 2017 12:20 AM, Stephen Boyd wrote:
> > 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. If the vbus signal isn't routed to
> > the PHY this "session valid" signal won't ever toggle, so we have
> > to toggle it explicitly. This callback is used to do that.
> >
> > Cc: Peter Chen <peter.chen@nxp.com>
> > Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
> > ---
> >
> > New patch
> >
> > drivers/phy/phy-core.c | 15 +++++++++++++++
> > include/linux/phy/phy.h | 10 ++++++++++
> > 2 files changed, 25 insertions(+)
> >
> > diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c
> > index a268f4d6f3e9..8b1a6bfa5133 100644
> > --- a/drivers/phy/phy-core.c
> > +++ b/drivers/phy/phy-core.c
> > @@ -357,6 +357,21 @@ int phy_set_mode(struct phy *phy, enum phy_mode mode)
> > }
> > EXPORT_SYMBOL_GPL(phy_set_mode);
> >
> > +int phy_set_vbus(struct phy *phy, int on)
> > +{
> > + int ret;
> > +
> > + if (!phy || !phy->ops->set_vbus)
> > + return 0;
> > +
> > + mutex_lock(&phy->mutex);
> > + ret = phy->ops->set_vbus(phy, on);
> > + mutex_unlock(&phy->mutex);
> > +
> > + return ret;
> > +}
> > +EXPORT_SYMBOL_GPL(phy_set_vbus);
> > +
> > int phy_reset(struct phy *phy)
> > {
> > int ret;
> > diff --git a/include/linux/phy/phy.h b/include/linux/phy/phy.h
> > index 78bb0d7f6b11..4d1ebde7fb14 100644
> > --- a/include/linux/phy/phy.h
> > +++ b/include/linux/phy/phy.h
> > @@ -36,6 +36,7 @@ enum phy_mode {
> > * @power_on: powering on the phy
> > * @power_off: powering off the phy
> > * @set_mode: set the mode of the phy
> > + * @set_vbus: enable/disable vbus in the phy (USB)
> > * @reset: resetting the phy
> > * @owner: the module owner containing the ops
> > */
> > @@ -45,6 +46,7 @@ struct phy_ops {
> > int (*power_on)(struct phy *phy);
> > int (*power_off)(struct phy *phy);
> > int (*set_mode)(struct phy *phy, enum phy_mode mode);
> > + int (*set_vbus)(struct phy *phy, int on);
>
> please avoid adding usb specific ops in generic phy ops.
>
Is there any alternative? Something has to happen here.
The only other thing I can think of is putting back the vbus extcon in
the phy driver so it can be notified when vbus is present or not. I can
rely on phy_set_mode() being called so that we don't need to figure out
if we're in host mode or not like was being done before.
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v7 0/5] Support qcom's HSIC USB and rewrite USB2 HS support Stephen Boyd <stephen.boyd@linaro.org> - 2017-01-20 20:00 +0100
[PATCH v7 1/5] phy: Add support for Qualcomm's USB HSIC phy Stephen Boyd <stephen.boyd@linaro.org> - 2017-01-20 20:00 +0100
[PATCH v7 3/5] phy: Add set_vbus callback Stephen Boyd <stephen.boyd@linaro.org> - 2017-01-20 20:00 +0100
RE: [PATCH v7 3/5] phy: Add set_vbus callback Peter Chen <peter.chen@nxp.com> - 2017-01-22 02:40 +0100
Re: [PATCH v7 3/5] phy: Add set_vbus callback Kishon Vijay Abraham I <kishon@ti.com> - 2017-01-22 09:50 +0100
Re: [PATCH v7 3/5] phy: Add set_vbus callback Stephen Boyd <stephen.boyd@linaro.org> - 2017-01-23 21:00 +0100
Re: [PATCH v7 3/5] phy: Add set_vbus callback Kishon Vijay Abraham I <kishon@ti.com> - 2017-01-24 10:30 +0100
[PATCH v7 2/5] usb: chipidea: msm: Configure phy for appropriate mode Stephen Boyd <stephen.boyd@linaro.org> - 2017-01-20 20:00 +0100
Re: [PATCH v7 2/5] usb: chipidea: msm: Configure phy for appropriate mode Peter Chen <hzpeterchen@gmail.com> - 2017-01-22 03:20 +0100
[PATCH v7 5/5] phy: Add support for Qualcomm's USB HS phy Stephen Boyd <stephen.boyd@linaro.org> - 2017-01-20 20:00 +0100
csiph-web