On 2023-09-27 11:42 AM, Jisheng Zhang wrote: > T-HEAD TH1520 platform's USB has a wrapper module around > the DesignWare USB3 DRD controller. Add binding information doc for > it. > > Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx> > --- > .../bindings/usb/thead,th1520-usb.yaml | 73 +++++++++++++++++++ > 1 file changed, 73 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/thead,th1520-usb.yaml > > diff --git a/Documentation/devicetree/bindings/usb/thead,th1520-usb.yaml b/Documentation/devicetree/bindings/usb/thead,th1520-usb.yaml > new file mode 100644 > index 000000000000..afb618eb5013 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/thead,th1520-usb.yaml > @@ -0,0 +1,73 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/usb/thead,th1520-usb.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: T-HEAD TH1520 DWC3 USB Controller Glue > + > +maintainers: > + - Jisheng Zhang <jszhang@xxxxxxxxxx> > + > +properties: > + compatible: > + const: thead,th1520-usb > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 4 > + > + clock-names: > + items: > + - const: ref > + - const: bus_early > + - const: phy > + - const: suspend Except for "phy", these clocks are already documented in snps,dwc3.yaml. Are they necessary for the glue/PHY, or do they belong only in the controller node? They are not used by the driver in patch 2. Also, the PHY clock probably belongs with the PHY node. > + > + ranges: true > + > + '#address-cells': > + enum: [ 1, 2 ] > + > + '#size-cells': > + enum: [ 1, 2 ] > + > +# Required child node: > + > +patternProperties: > + "^usb@[0-9a-f]+$": > + $ref: snps,dwc3.yaml# > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + - ranges > + > +additionalProperties: false The driver in patch 2 uses the thead,misc-sysreg and vbus-supply properties, neither of which is documented here. Also, depending on the other bindings, the VBUS supply should be referenced from the USB PHY or connector node, not here. Regards, Samuel > +examples: > + - | > + > + usb { > + compatible = "thead,th1520-usb"; > + reg = <0xec03f000 0x1000>; > + clocks = <&clk 1>, > + <&clk 2>, > + <&clk 3>, > + <&clk 4>; > + clock-names = "ref", "bus_early", "phy", "suspend"; > + ranges; > + #address-cells = <1>; > + #size-cells = <1>; > + > + usb@e7040000 { > + compatible = "snps,dwc3"; > + reg = <0xe7040000 0x10000>; > + interrupts = <68>; > + dr_mode = "host"; > + }; > + };