On Fri, Nov 16, 2018 at 8:29 PM Chen Yu <chenyu56@xxxxxxxxxx> wrote: > > Hi, > > On 2018/11/13 0:02, Rob Herring wrote: > > On Sat, Oct 27, 2018 at 05:58:11PM +0800, Yu Chen wrote: > >> This patch adds binding descriptions to support the dwc3 controller > >> on HiSilicon SoCs and boards like the HiKey960. > >> > >> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > >> Cc: Rob Herring <robh+dt@xxxxxxxxxx> > >> Cc: Mark Rutland <mark.rutland@xxxxxxx> > >> Cc: John Stultz <john.stultz@xxxxxxxxxx> > >> Signed-off-by: Yu Chen <chenyu56@xxxxxxxxxx> > >> --- > >> .../devicetree/bindings/usb/dwc3-hisi.txt | 53 ++++++++++++++++++++++ > >> 1 file changed, 53 insertions(+) > >> create mode 100644 Documentation/devicetree/bindings/usb/dwc3-hisi.txt > >> > >> diff --git a/Documentation/devicetree/bindings/usb/dwc3-hisi.txt b/Documentation/devicetree/bindings/usb/dwc3-hisi.txt > >> new file mode 100644 > >> index 000000000000..e715e7b1c324 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/usb/dwc3-hisi.txt > >> @@ -0,0 +1,53 @@ > >> +HiSilicon DWC3 USB SoC controller > >> + > >> +This file documents the parameters for the dwc3-hisi driver. > >> + > >> +Required properties: > >> +- compatible: should be "hisilicon,hi3660-dwc3" > >> +- clocks: A list of phandle + clock-specifier pairs for the > >> + clocks listed in clock-names > >> +- clock-names: Specify clock names > >> +- resets: list of phandle and reset specifier pairs. > >> + > >> +Sub-nodes: > >> +The dwc3 core should be added as subnode to HiSilicon DWC3 as shown in the > >> +example below. The DT binding details of dwc3 can be found in: > >> +Documentation/devicetree/bindings/usb/dwc3.txt > > > > If you only have clocks and resets and no glue registers, then you > > don't need a sub-node. Just make the controller one node. > > > > In dwc3 glue driver,the controller driver usually probed by call of_platform_populate > which will search the child node of glue driver. > The code of function of_platform_populate is as below: > > for_each_child_of_node(root, child) { > rc = of_platform_bus_create(child, matches, lookup, parent, true); > if (rc) { > of_node_put(child); > break; > } > } > > So I think the controller node should be a sub-node. It was done that way, but has changed. See commit fe8abf332b8f ("usb: dwc3: support clocks and resets for DWC3 core"). Rob