[PATCH v1 2/7] dt-bindings: usb: hpe,gxp-udc: Add binding for gxp gadget
Yu, Richard
richard.yu at hpe.com
Fri Nov 4 13:03:48 PDT 2022
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 at linaro.org>
Sent: Thursday, November 3, 2022 11:30 AM
To: Yu, Richard <richard.yu at hpe.com>; Verdun, Jean-Marie <verdun at hpe.com>; Hawkins, Nick <nick.hawkins at hpe.com>; gregkh at linuxfoundation.org; robh+dt at kernel.org; krzysztof.kozlowski+dt at linaro.org; linux at armlinux.org.uk; balbi at kernel.org; linux-usb at vger.kernel.org; devicetree at vger.kernel.org; linux-kernel at vger.kernel.org; linux-arm-kernel at lists.infradead.org
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 at hpe.com wrote:
> From: Richard Yu <richard.yu at hpe.com>
>
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 at hpe.com>
> ---
> .../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 at hpe.com>
> + - Jean-Marie Verdun <verdun at hpe.com>
> + - Nick Hawkins <nick.hawkins at hpe.com>
> +
> +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 at 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
More information about the linux-arm-kernel
mailing list