From: stephen.boyd@linaro.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 02/21] usb: ulpi: Support device discovery via DT
Date: Tue, 05 Jul 2016 23:16:33 -0700 [thread overview]
Message-ID: <146778579383.12931.7862254251015294434@sboyd-linaro> (raw)
In-Reply-To: <20160701005817.GA31363@rob-hp-laptop>
Quoting Rob Herring (2016-06-30 17:59:15)
> On Tue, Jun 28, 2016 at 03:09:21PM -0700, Stephen Boyd wrote:
> > Quoting Rob Herring (2016-06-28 13:56:42)
> > > On Sun, Jun 26, 2016 at 12:28:19AM -0700, Stephen Boyd wrote:
> > > > The qcom HSIC ulpi phy doesn't have any bits set in the vendor or
> > > > product id ulpi registers. This makes it impossible to make a
> > > > ulpi driver match against the id registers. Add support to
> > > > discover the ulpi phys via DT to help alleviate this problem.
> > > > We'll look for a ulpi bus node underneath the device registering
> > > > the ulpi viewport (or the parent of that device to support
> > > > chipidea's device layout) and then match up the phy node
> > > > underneath that with the ulpi device that's created.
> > > >
> > > > The side benefit of this is that we can use standard DT
> > > > properties in the phy node like clks, regulators, gpios, etc.
> > > > because we don't have firmware like ACPI to turn these things on
> > > > for us. And we can use the DT phy binding to point our phy
> > > > consumer to the phy provider.
> > > >
> > > > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> > > > Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
> > > > Cc: <devicetree@vger.kernel.org>
> > > > Cc: Rob Herring <robh+dt@kernel.org>
> > > > Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
> > > > ---
> > > > Documentation/devicetree/bindings/usb/ulpi.txt | 20 +++++++++
> > > > drivers/usb/common/ulpi.c | 56 +++++++++++++++++++++++++-
> > > > 2 files changed, 74 insertions(+), 2 deletions(-)
> > > > create mode 100644 Documentation/devicetree/bindings/usb/ulpi.txt
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/usb/ulpi.txt b/Documentation/devicetree/bindings/usb/ulpi.txt
> > > > new file mode 100644
> > > > index 000000000000..ca179dc4bd50
> > > > --- /dev/null
> > > > +++ b/Documentation/devicetree/bindings/usb/ulpi.txt
> > > > @@ -0,0 +1,20 @@
> > > > +ULPI bus binding
> > > > +----------------
> > > > +
> > > > +Phys that are behind a ULPI connection can be described with the following
> > > > +binding. The host controller shall have a "ulpi" named node as a child, and
> > > > +that node shall have one enabled node underneath it representing the ulpi
> > > > +device on the bus.
> > >
> > > This needs to co-exist with the USB bus binding which has the controller
> > > ports for the child nodes. Maybe use the phy binding?
> >
> > Which binding is that? bindings/usb/usb-device.txt?
>
> Yes.
>
> > This ulpi binding is
> > to describe phys that are accessed through the ulpi "viewport" in the
> > usb controller. So controller ports don't come into the picture here.
>
> You just need to confirm that there's no collision with child nodes like
> it assumes all children are ports.
>
Ok. It will work with the way usb_of_get_child_node() is written but it
doesn't seem like great DT design if we want to support usb-device
binding and ulpi bus at the same time, because we treat the controller
node as the usb bus.
&usb1 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
phys = <&uphy>;
phy-names = "usb-phy";
hub: genesys at 1 {
compatible = "usb5e3,608";
reg = <1>;
};
ulpi {
uphy: phy {
compatible = "phy";
};
};
}
In this example, the ulpi bus doesn't have a reg property because it
isn't a port.
Perhaps we can move the usb ports to a subnode like 'usb' so that we can
have two logical busses underneath the controller, one for usb and one
for ulpi? We would need backwards compatibility code that looks for a
ports directly underneath the usb controller node when #address-cells
and #size-cells are present, otherwise it should fall down into a
'usb' subnode.
next prev parent reply other threads:[~2016-07-06 6:16 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-26 7:28 [PATCH 00/21] Support qcom's HSIC USB and rewrite USB2 HS phy support Stephen Boyd
2016-06-26 7:28 ` [PATCH 01/21] of: device: Support loading a module with OF based modalias Stephen Boyd
2016-06-28 4:17 ` Bjorn Andersson
2016-06-26 7:28 ` [PATCH 02/21] usb: ulpi: Support device discovery via DT Stephen Boyd
2016-06-27 4:21 ` kbuild test robot
2016-06-27 14:34 ` Heikki Krogerus
2016-06-27 22:10 ` Stephen Boyd
2016-06-28 11:42 ` Heikki Krogerus
2016-06-28 18:27 ` Stephen Boyd
2016-06-29 1:53 ` Peter Chen
2016-06-28 20:56 ` Rob Herring
2016-06-28 22:09 ` Stephen Boyd
2016-07-01 0:59 ` Rob Herring
2016-07-06 6:16 ` Stephen Boyd [this message]
2016-06-26 7:28 ` [PATCH 03/21] usb: ulpi: Avoid reading/writing in device creation with OF devices Stephen Boyd
2016-06-26 7:28 ` [PATCH 04/21] usb: chipidea: Only read/write OTGSC from one place Stephen Boyd
2016-06-27 8:04 ` Jun Li
2016-06-27 19:07 ` Stephen Boyd
2016-06-28 9:36 ` Peter Chen
2016-06-28 22:10 ` Stephen Boyd
2016-06-26 7:28 ` [PATCH 05/21] usb: chipidea: Handle extcon events properly Stephen Boyd
2016-06-28 10:01 ` Peter Chen
2016-06-26 7:28 ` [PATCH 06/21] usb: chipidea: Initialize and reinitialize phy later Stephen Boyd
2016-06-29 2:30 ` Peter Chen
2016-06-30 1:23 ` Stephen Boyd
2016-06-30 1:22 ` Peter Chen
2016-06-26 7:28 ` [PATCH 07/21] usb: chipidea: Notify of reset when switching into host mode Stephen Boyd
2016-06-26 7:28 ` [PATCH 08/21] usb: chipidea: Kick OTG state machine for AVVIS with vbus extcon Stephen Boyd
2016-06-29 3:09 ` Peter Chen
2016-06-30 1:19 ` Stephen Boyd
2016-06-30 1:26 ` Peter Chen
2016-06-30 1:50 ` Jun Li
2016-06-26 7:28 ` [PATCH 09/21] usb: chipidea: Add support for ULPI PHY bus Stephen Boyd
2016-06-29 6:26 ` Peter Chen
2016-06-30 1:29 ` Stephen Boyd
2016-06-26 7:28 ` [PATCH 10/21] usb: chipidea: msm: Rely on core to override AHBBURST Stephen Boyd
2016-06-29 6:32 ` Peter Chen
2016-06-29 18:59 ` Stephen Boyd
2016-06-30 1:18 ` Peter Chen
2016-06-30 1:41 ` Stephen Boyd
2016-06-26 7:28 ` [PATCH 11/21] usb: chipidea: msm: Use hw_write_id_reg() instead of writel directly Stephen Boyd
2016-06-29 6:37 ` Peter Chen
2016-06-26 7:28 ` [PATCH 12/21] usb: chipidea: msm: Keep device runtime enabled Stephen Boyd
2016-06-29 6:46 ` Peter Chen
2016-06-30 0:43 ` Stephen Boyd
2016-06-30 1:39 ` Peter Chen
2016-06-30 20:30 ` Stephen Boyd
2016-07-01 3:20 ` Peter Chen
2016-06-26 7:28 ` [PATCH 13/21] usb: chipidea: msm: Allow core to get usb phy Stephen Boyd
2016-06-29 6:48 ` Peter Chen
2016-06-29 11:34 ` Peter Chen
2016-06-29 19:31 ` Stephen Boyd
2016-06-30 1:43 ` Peter Chen
2016-06-26 7:28 ` [PATCH 14/21] usb: chipidea: msm: Add proper clk and reset support Stephen Boyd
2016-06-29 7:02 ` Peter Chen
2016-06-26 7:28 ` [PATCH 15/21] usb: chipidea: msm: Mux over secondary phy at the right time Stephen Boyd
2016-06-28 4:51 ` Bjorn Andersson
2016-06-28 8:39 ` Stephen Boyd
2016-06-29 8:08 ` Peter Chen
2016-06-29 19:28 ` Stephen Boyd
2016-06-30 1:52 ` Peter Chen
2016-06-30 1:35 ` Stephen Boyd
2016-06-26 7:28 ` [PATCH 16/21] usb: chipidea: msm: Restore wrapper settings after reset Stephen Boyd
2016-06-29 8:26 ` Peter Chen
2016-06-29 19:13 ` Stephen Boyd
2016-06-30 8:54 ` Peter Chen
2016-06-30 16:24 ` Stephen Boyd
2016-06-26 7:28 ` [PATCH 17/21] usb: chipidea: msm: Make platform data driver local instead of global Stephen Boyd
2016-06-29 11:29 ` Peter Chen
2016-06-29 19:17 ` Stephen Boyd
2016-06-30 9:08 ` Peter Chen
2016-06-26 7:28 ` [PATCH 18/21] usb: chipidea: msm: Add reset controller for PHY POR bit Stephen Boyd
2016-06-27 3:41 ` kbuild test robot
2016-06-27 4:51 ` kbuild test robot
2016-06-27 7:50 ` kbuild test robot
2016-06-28 1:27 ` Stephen Boyd
2016-06-29 11:45 ` Peter Chen
2016-06-26 7:28 ` [PATCH 19/21] usb: chipidea: msm: Be silent on probe defer errors Stephen Boyd
2016-06-30 1:06 ` Peter Chen
2016-06-30 1:26 ` Stephen Boyd
2016-06-26 7:28 ` [PATCH 20/21] phy: Add support for Qualcomm's USB HSIC phy Stephen Boyd
2016-06-28 8:49 ` Neil Armstrong
2016-06-28 21:58 ` Stephen Boyd
2016-06-29 9:16 ` Neil Armstrong
2016-06-29 18:54 ` Stephen Boyd
2016-06-26 7:28 ` [PATCH 21/21] phy: Add support for Qualcomm's USB HS phy Stephen Boyd
2016-06-28 3:09 ` [PATCH 00/21] Support qcom's HSIC USB and rewrite USB2 HS phy support John Stultz
2016-06-28 8:34 ` Stephen Boyd
2016-07-02 6:03 ` John Stultz
2016-07-05 19:22 ` Stephen Boyd
2016-07-05 19:33 ` John Stultz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=146778579383.12931.7862254251015294434@sboyd-linaro \
--to=stephen.boyd@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox