Re: [PATCH 3/7] dt-bindings: usb: add SpacemiT K1 DWC3 glue

Ze Huang
2025-04-09T08:20:48Z

On 4/7/25 9:22 PM, Krzysztof Kozlowski wrote:
> On 07/04/2025 14:38, Ze Huang wrote:
>> Add support for SpacemiT DWC3 glue driver, which manages interrupt,
>> reset and clock resource.
>>
>> Signed-off-by: Ze Huang <huangze@whut.edu.cn>
>> ---
>> .../devicetree/bindings/usb/spacemit,k1-dwc3.yaml | 78 ++++++++++++++++++++++
>> 1 file changed, 78 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/usb/spacemit,k1-dwc3.yaml b/Documentation/devicetree/bindings/usb/spacemit,k1-dwc3.yaml
> Combining 3 subsystems into one patchset is a poor idea.

Acknowledged, will split into two sets in next version
1. usb2 phy and combo phy
2. dwc3 glue driver and dts

>
>> new file mode 100644
>> index 0000000000000000000000000000000000000000..40ce3fd1330d5f371ec69155c237e10a65a9d8f4
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/spacemit,k1-dwc3.yaml
>> @@ -0,0 +1,78 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/usb/spacemit,k1-dwc3.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: SpacemiT K1 SuperSpeed DWC3 USB SoC Controller Glue
>> +
>> +maintainers:
>> + - Ze Huang <huangze@whut.edu.cn>
>> +
>> +properties:
>> + compatible:
>> + const: spacemit,k1-dwc3
>> +
>> + ranges:
>> + maxItems: 1
>> +
>> + clocks:
>> + maxItems: 1
>> +
>> + resets:
>> + maxItems: 1
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + interconnects:
> Missing maxItems

Will fix

>
>> + description:
>> + On SpacemiT K1, USB performs DMA through bus other than parent DT node.
>> + The 'interconnects' property explicitly describes this path, ensuring
>> + correct address translation.
>> +
>> + interconnect-names:
>> + const: dma-mem
>> +
>> + # optional
> Drop, Don't repeat constraints in free form text.

Will do

>
>> + vbus-supply:
>> + description: A phandle to the regulator supplying the VBUS voltage.
>> +
>> +patternProperties:
>> + '^usb@':
>> + $ref: snps,dwc3.yaml#
> No, rather fold child into the parent.

I’m not entirely sure I understand your suggestion. Could you please provide
an example? Thanks!

>
>> +
>> +additionalProperties: false
> This goes after required:, always.

OK

>
>> +
>> +required:
>> + - compatible
>> + - ranges
>> + - clocks
>> + - resets
>> + - interrupts
>> + - interconnects
>> + - interconnect-names
>> +
>> +examples:
>> + - |
>> + usb@c0a00000 {
>> + compatible = "spacemit,k1-dwc3";
>> + clocks = <&syscon_apmu 16>;
>> + interrupts = <149>;
>> + interconnects = <&dram_range0>;
>> + interconnect-names = "dma-mem";
>> + ranges = <0x0 0xc0a00000 0x10000>;
>> + resets = <&syscon_apmu 8>;
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + status = "disabled";
> Nope, drop.

Will drop 'status'

>
>
>
> Best regards,
> Krzysztof