Re: [PATCH 3/3] arm64: dts: layerscape: move dwc3 usb under glue layer node

From: Frank Li
Date: Tue Jul 30 2024 - 11:48:56 EST


On Thu, Jul 11, 2024 at 03:38:46PM -0600, Rob Herring wrote:
> On Wed, Jul 10, 2024 at 07:02:24PM -0400, Frank Li wrote:
> > New usb glue layer driver support enable dma-coherent. So put dwc3 usb node
> > under glue layer node and enable dma-coherent.
> >
> > Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
> > ---
> > arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 43 ++++++++++++++++----------
> > 1 file changed, 26 insertions(+), 17 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> > index 70b8731029c4e..24b937032480f 100644
> > --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> > @@ -615,24 +615,33 @@ gpio3: gpio@2320000 {
> > little-endian;
> > };
> >
> > - usb0: usb@3100000 {
> > - compatible = "fsl,ls1028a-dwc3", "snps,dwc3";
> > - reg = <0x0 0x3100000 0x0 0x10000>;
> > - interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
> > - snps,dis_rxdet_inp3_quirk;
> > - snps,quirk-frame-length-adjustment = <0x20>;
> > - snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> > - status = "disabled";
> > - };
> > + usb {
> > + compatible = "fsl,ls1028a-dwc3";
> > + #address-cells = <2>;
> > + #size-cells = <2>;
> > + ranges;
>
> No, the existing way is preferred unless you have actual glue/wrapper
> registers. Plus this breaks compatibility.

Actually, it has glue layer, such as wakeup controller. Remote wakeup have
not implement at layerscape platform yet. But this register distribute to
difference place with other module misc controller registers. It is
difference for difference chips. I can think deep how to handle this.

but anyways, it will break compatibility. I have not find good way to
keep compatibility and add glue layer, such as wakeup support.

Frank

>
> > +
> > + usb0: usb@3100000 {
> > + compatible = "snps,dwc3";
> > + reg = <0x0 0x3100000 0x0 0x10000>;
> > + interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
> > + dma-coherent;
> > + snps,dis_rxdet_inp3_quirk;
> > + snps,quirk-frame-length-adjustment = <0x20>;
> > + snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> > + status = "disabled";
> > + };