[PATCH v3 1/3] dt-bindings: usb: dwc3: add support for SpacemiT K1
Ze Huang
huangze at whut.edu.cn
Mon May 19 19:47:14 PDT 2025
On Mon, May 19, 2025 at 11:35:28AM +0200, Krzysztof Kozlowski wrote:
> On Sun, May 18, 2025 at 03:19:19AM GMT, Ze Huang wrote:
> > +properties:
> > + compatible:
> > + const: spacemit,k1-dwc3
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + clocks:
> > + maxItems: 1
> > +
> > + clock-names:
> > + const: usbdrd30
> > +
>
> How many phys?
>
Two phys: USB2.0 phy and USB3.0 phy
Will update the bindings in next version.
> > + resets:
> > + maxItems: 1
> > +
> > + interrupts:
> > + maxItems: 1
> > +
> > + interconnects:
>
> compatible, reg and then order by name: clocks +names, interconnects +
> names, interrupts, resets, vdd-supply.
>
Got it wrong again - thanks for your patience.
I'll update the property order as you suggested.
> > + maxItems: 1
> > + 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
> > +
> > + vbus-supply:
> > + description: A phandle to the regulator supplying the VBUS voltage.
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - clocks
> > + - clock-names
> > + - resets
> > + - interrupts
> > + - interconnects
> > + - interconnect-names
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > + - |
> > + usb at c0a00000 {
> > + compatible = "spacemit,k1-dwc3";
> > + reg = <0xc0a00000 0x10000>;
> > + clocks = <&syscon_apmu 16>;
> > + clock-names = "usbdrd30";
> > + resets = <&syscon_apmu 8>;
> > + interrupt-parent = <&plic>;
> > + interrupts = <125>;
> > + interconnects = <&mbus0>;
> > + interconnect-names = "dma-mem";
>
> Feels like missing port or ports. Are you sure your example is complete?
>
Will include ports in next version
hub at 1 {
compatible = "usb2109,2817";
reg = <0x1>;
vdd-supply = <&usb3_vhub>;
peer-hub = <&hub_3_0>;
reset-gpios = <&gpio K1_GPIO(124) GPIO_ACTIVE_LOW>;
};
hub at 2 {
compatible = "usb2109,817";
reg = <0x1>;
vdd-supply = <&usb3_vhub>;
peer-hub = <&hub_2_0>;
reset-gpios = <&gpio K1_GPIO(124) GPIO_ACTIVE_LOW>;
};
More information about the linux-riscv
mailing list