From: Rob Herring <robh@kernel.org>
To: Hanjie Lin <hanjie.lin@amlogic.com>
Cc: Neil Armstrong <narmstrong@baylibre.com>,
Jerome Brunet <jbrunet@baylibre.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Felipe Balbi <felipe.balbi@linux.intel.com>,
Kevin Hilman <khilman@baylibre.com>,
Yue Wang <yue.wang@amlogic.com>,
linux-amlogic@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, linux-usb@vger.kernel.org,
devicetree@vger.kernel.org, Carlo Caione <carlo@caione.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>,
Martin Blumenstingl <martin.blumenstingl@googlemail.com>,
Liang Yang <liang.yang@amlogic.com>,
Jianxin Pan <jianxin.pan@amlogic.com>,
Qiufang Dai <qiufang.dai@amlogic.com>,
Jian Hu <jian.hu@amlogic.com>,
Victor Wan <victor.wan@amlogic.com>,
Xingyu Chen <xingyu.chen@amlogic.com>
Subject: Re: [PATCH 2/6] dt-bindings: usb: dwc3: Add the Amlogic A1 Family DWC3 Glue Bindings
Date: Wed, 4 Dec 2019 13:47:28 -0600 [thread overview]
Message-ID: <20191204194728.GA21130@bogus> (raw)
In-Reply-To: <5357b6c2-e10b-71a3-1e1b-2b641cf5e2df@amlogic.com>
On Mon, Nov 25, 2019 at 03:52:18PM +0800, Hanjie Lin wrote:
>
>
> On 2019/11/22 16:52, Neil Armstrong wrote:
> > Hi,
> >
> >
> > On 22/11/2019 07:55, Hanjie Lin wrote:
> >> The Amlogic A1 SoC Family embeds 1 USB Controllers:
> >> - a DWC3 IP configured as Host for USB2 and USB3
> >>
> >> A glue connects the controllers to the USB2 PHY of A1 SoC.
> >>
> >> Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
> >> Signed-off-by: Yue Wang <yue.wang@amlogic.com>
> >> ---
> >> .../devicetree/bindings/usb/amlogic,dwc3.txt | 53 ++++++++++++++++++++++
> >> 1 file changed, 53 insertions(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/usb/amlogic,dwc3.txt b/Documentation/devicetree/bindings/usb/amlogic,dwc3.txt
> >> index 6ffb09b..63dc60b 100644
> >> --- a/Documentation/devicetree/bindings/usb/amlogic,dwc3.txt
> >> +++ b/Documentation/devicetree/bindings/usb/amlogic,dwc3.txt
> >> @@ -128,3 +128,56 @@ Example device nodes:
> >> snps,quirk-frame-length-adjustment;
> >> };
> >> };
> >> +
> >> +Amlogic Meson A1 DWC3 USB SoC Controller Glue
> >> +
> >> +The Amlogic A1 embeds a DWC3 USB IP Core configured for USB2 in
> >> +host-only mode.
> >> +
> >> +Required properties:
> >> +- compatible: Should be "amlogic,meson-a1-usb-ctrl"
> >> +- clocks: The clocks needed by the usb controller
> >> +- clock-names: Should contain the name of the clocks: "usb_ctrl", "usb_bus",
> >> + "xtal_usb_phy", "xtal_usb_ctrl"
> >> +- resets: a handle for the shared "USB" reset line
> >> +- reg: The base address and length of the registers
> >> +- phys: handle to used PHYs on the system
> >> + - a <0> phandle can be used if a PHY is not used
> >> +- phy-names: names of the used PHYs on the system :
> >> + - "usb2-phy0" for USB2 PHY if USBHOST port is used
> >> +
> >> +Required child nodes:
> >> +
> >> +A child node must exist to represent the core DWC3 IP block. The name of
> >> +the node is not important. The content of the node is defined in dwc3.txt.
> >> +
> >> +PHY documentation is provided in the following places:
> >> +- Documentation/devicetree/bindings/phy/amlogic,meson-a1-usb2-phy.yaml
> >> +
> >> +Example device nodes:
> >> + usb: usb@ffe09000 {
> >> + status = "okay";
> >> + compatible = "amlogic,meson-a1-usb-ctrl";
> >> + reg = <0x0 0xffe09000 0x0 0xa0>;
> >> + #address-cells = <2>;
> >> + #size-cells = <2>;
> >> + ranges;
> >> +
> >> + clocks = <&clkc_periphs CLKID_USB_CTRL>,
> >> + <&clkc_periphs CLKID_USB_BUS>,
> >> + <&clkc_periphs CLKID_XTAL_USB_PHY>,
> >> + <&clkc_periphs CLKID_XTAL_USB_CTRL>;
> >> + clock-names = "usb_ctrl", "usb_bus", "xtal_usb_phy", "xtal_usb_ctrl";
> >> + resets = <&reset RESET_USBCTRL>;
> >> + phys = <&usb2_phy0>;
> >> + phy-names = "usb2-phy0";
> >> +
> >> + dwc3: usb@ff400000 {
> >> + compatible = "snps,dwc3";
> >> + reg = <0x0 0xff400000 0x0 0x100000>;
> >> + interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> >> + dr_mode = "host";
> >> + snps,dis_u2_susphy_quirk;
> >> + snps,quirk-frame-length-adjustment = <0x20>;
> >> + };
> >> + };
> >>
> >
> > This seems very similar to the g12a bindings, seems you could update the yaml g12a bindings
> > with specific clocks and required for amlogic,meson-a1-usb-ctrl.
> >
> > Neil
> >
> > .
> >
>
> Hi Neil
> Thanks for the comment.
>
> 1, G12A have usb2-phy0/usb2-phy1/usb3-phy0 three phys and an interrupt to support host/peripheral/otg modes.
> A1 has one usb2-phy0 phy and only support host mode.
>
> 2, G12A glue/phy drivers are for G12A SoCs, there are some diffrences to A1.
> G12A glue driver have dr_mode and interrupts two attributes to support otg mode while A1 hasn't this requirement.
> G12A glue driver has a hard coding vbus regulator code to support otg mode while A1 hasn't this requirement.
> G12A glue driver has a hard coding support phys while A1 only supports host mode.
> enum {
> USB2_HOST_PHY = 0,
> USB2_OTG_PHY,
> USB3_HOST_PHY,
> PHY_COUNT,
> };
> G12A glue driver only supports one clock while A1 needs four clocks.
> G12A and A1 phy drivers have different register configurations since hardware differences.
>
> 3, We have estimated these differences and we thought it's more clear and readable to have a dedicated glue/phy
> driver for A1 SoCs, so also dedicated dt-bindings.
Fair enough, I guess. But you're not sharing anything from the
amlogic,dwc3.txt binding, so make a new doc. And please make it a DT
schema.
Rob
next prev parent reply other threads:[~2019-12-04 19:47 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-22 6:55 [PATCH 0/6] arm64: meson: Add support for USB on Amlogic A1 Hanjie Lin
2019-11-22 6:55 ` [PATCH 1/6] dt-bindings: phy: Add Amlogic G12A USB2 PHY Bindings Hanjie Lin
2019-11-22 22:52 ` Rob Herring
2019-11-22 6:55 ` [PATCH 2/6] dt-bindings: usb: dwc3: Add the Amlogic A1 Family DWC3 Glue Bindings Hanjie Lin
2019-11-22 8:52 ` Neil Armstrong
2019-11-25 7:52 ` Hanjie Lin
2019-12-04 19:47 ` Rob Herring [this message]
2019-11-22 6:55 ` [PATCH 3/6] phy: amlogic: Add Amlogic A1 USB2 PHY Driver Hanjie Lin
2019-11-22 6:55 ` [PATCH 4/6] usb: dwc3: Add Amlogic A1 DWC3 glue Hanjie Lin
2019-11-22 8:53 ` Neil Armstrong
2019-11-25 7:53 ` Hanjie Lin
2019-11-22 6:55 ` [PATCH 5/6] arm64: dts: meson: a1: Enable USB2 PHY Hanjie Lin
2019-11-22 6:55 ` [PATCH 6/6] arm64: dts: meson: a1: Enable DWC3 controller Hanjie Lin
2019-11-22 7:52 ` [PATCH 0/6] arm64: meson: Add support for USB on Amlogic A1 Martin Blumenstingl
2019-11-25 7:53 ` Hanjie Lin
2019-11-25 22:02 ` Martin Blumenstingl
2019-11-26 13:11 ` Neil Armstrong
2019-11-27 7:11 ` Hanjie Lin
2019-11-27 7:11 ` Hanjie Lin
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=20191204194728.GA21130@bogus \
--to=robh@kernel.org \
--cc=carlo@caione.org \
--cc=devicetree@vger.kernel.org \
--cc=felipe.balbi@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=hanjie.lin@amlogic.com \
--cc=jbrunet@baylibre.com \
--cc=jian.hu@amlogic.com \
--cc=jianxin.pan@amlogic.com \
--cc=khilman@baylibre.com \
--cc=liang.yang@amlogic.com \
--cc=linux-amlogic@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-usb@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=mturquette@baylibre.com \
--cc=narmstrong@baylibre.com \
--cc=qiufang.dai@amlogic.com \
--cc=sboyd@kernel.org \
--cc=victor.wan@amlogic.com \
--cc=xingyu.chen@amlogic.com \
--cc=yue.wang@amlogic.com \
/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;
as well as URLs for NNTP newsgroup(s).