Hi Mr. Kozlowski, Thank you very much for your quick review and feedbacks. I will modify the patches based on your feedback accordingly. On this specific patch, you have questions on how we defined the device/gadget configurations: vdevnum and fepnum. Please see my answers following the questions: > + vdevnum: > + description: > + virtual device number. That's unusual property... Why numbering devices is part of DT (hardware description)? >> Richard: In HPE GXP virtual EHCI controller chipset, it can support up to 8 virtual devices(gadgets). Each device/gadget will be represented by a bit in 8 bits register. For example, the interrupt register bit 0 indicates the interrupt from device 0, bit 1 for device 1 ... so on. When an user defines a device/gadget, he/she can define the device number as between 0 and 7. Thus, the driver can up to the bit position. That is why we have numbering devices as port of DT. > + > + fepnum: > + description: > + number of the flexible end-points this device is needed. Similar question. >>Richard: In HPE GXP virtual EHCI Controller chipset, there is a flexible EP pool. Each flexible EP has its own mapping register. The mapping register bit 0 to 3 is for device number (vdevnum) and bit 4 to 7 is for EP number inside the device. The device driver configures the mapping register to assign a flexible EP to a specific device. Here, "fepnum" is the input letting the driver know how many EP is needed for this device/gadget. Hope I have answered your questions on "vdevnum" and "fepnum". I will modify this patch to address your other review feedback. Thank you very much again. Richard. -----Original Message----- From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> Sent: Thursday, November 3, 2022 11:30 AM To: Yu, Richard <richard.yu@xxxxxxx>; Verdun, Jean-Marie <verdun@xxxxxxx>; Hawkins, Nick <nick.hawkins@xxxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx; robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx; linux@xxxxxxxxxxxxxxx; balbi@xxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Subject: Re: [PATCH v1 2/7] dt-bindings: usb: hpe,gxp-udc: Add binding for gxp gadget On 03/11/2022 12:06, richard.yu@xxxxxxx wrote: > From: Richard Yu <richard.yu@xxxxxxx> > Subject: Drop redundant second "binding" word. > Create documentation for the hpe,gxp-udc binding to support access to > the virtual USB device. > > Signed-off-by: Richard Yu <richard.yu@xxxxxxx> > --- > .../devicetree/bindings/usb/hpe,gxp-udc.yaml | 57 > +++++++++++++++++++ > 1 file changed, 57 insertions(+) > create mode 100644 > Documentation/devicetree/bindings/usb/hpe,gxp-udc.yaml > > diff --git a/Documentation/devicetree/bindings/usb/hpe,gxp-udc.yaml > b/Documentation/devicetree/bindings/usb/hpe,gxp-udc.yaml > new file mode 100644 > index 000000000000..f1ec4df8c3d3 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/hpe,gxp-udc.yaml > @@ -0,0 +1,57 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 > +--- > +$id: > +INVALID URI REMOVED > +-udc.yaml*__;Iw!!NpxR!lKDMWE_W38KLY2gXH0dY1rG-bU4JwIyme_DMzeppYO9DQ1S > +wvXeID3RDEEuKBSG81_hsD5gntF_elZhC9yiXT-MvFA$ > +$schema: > +INVALID URI REMOVED > +aml*__;Iw!!NpxR!lKDMWE_W38KLY2gXH0dY1rG-bU4JwIyme_DMzeppYO9DQ1SwvXeID > +3RDEEuKBSG81_hsD5gntF_elZhC9yi3VX-gPg$ > + > +title: HPE GXP Gadget Universal Device Controller (UDC) > + > +maintainers: > + - Richard Yu <richard.yu@xxxxxxx> > + - Jean-Marie Verdun <verdun@xxxxxxx> > + - Nick Hawkins <nick.hawkins@xxxxxxx> > + > +properties: > + compatible: > + const: hpe,gxp-udc > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + vdevnum: > + description: > + virtual device number. That's unusual property... Why numbering devices is part of DT (hardware description)? > + > + fepnum: > + description: > + number of the flexible end-points this device is needed. Similar question. BTW, if you end sentence with '.', it means it is an sentence, so you need to start it with capital letter. > + > + hpe,syscon-phandle: phandle is redudant. You need rather specific name, so "hpe,ehci-syscon" or whatever it is. > + $ref: '/schemas/types.yaml#/definitions/phandle' No quotes. > + description: > + Phandle to the gxp vEHCI controller access vDevice registers. Drop "Phandle to" Isn't "gxp" a GXP? > + > +required: > + - compatible > + - reg > + - interrupts > + - vdevnum > + - fepnum > + - hpe,syscon-phandle > + > +additionalProperties: false > + > +examples: > + - | > + udc@80401000 { Node name "usb", I think it is more popular for USB controllers. > + compatible = "hpe,gxp-udc"; > + reg = <0x80401000 0x1000>; > + interrupts = <13>; > + interrupt-parent = <&vic1>; > + vdevnum = <0>; > + fepnum = <7>; > + hpe,syscon-phandle = <&udc_system_controller>; > + }; Best regards, Krzysztof