Message ID | 20240710-ls-dwc-v1-0-62f8cbed31d7@nxp.com |
---|---|
Headers | show |
Series | usb: dwc3: add fsl,ls-dwc3 glue layer support | expand |
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@nxp.com> > --- > 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. > + > + 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"; > + };
On Wed, Aug 07, 2024 at 12:41:09AM +0000, Thinh Nguyen wrote: > Hi Frank, > > On Tue, Jul 30, 2024, Frank Li wrote: > > 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@nxp.com> > > > > --- > > > > 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 > > > > Will this impact how the rest of the series look? If so, I'll wait until > you resolve this issue and review the rest. Rob: I checked many dwc3-of-simple.c compatible string, which have not 'reg' and just have some clocks and reset. Is it okay to add missed clock and fsl,rcpm for usb wakeup support in gluelayer node? Frank > > BR, > Thinh
Add freescale layerscape dwc3 usb glue layer support. Create binding doc for fsl,ls-dwc3. Add compatible string fsl,ls1028a-dwc3 in dwc3-of-simple.c Passdown software managed node property snps,gsbuscfg0-reqinfo. Update dts to support dwc3 glue layer and enable dma-coherent. Based on usb-next To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> To: Rob Herring <robh@kernel.org> To: Krzysztof Kozlowski <krzk+dt@kernel.org> To: Conor Dooley <conor+dt@kernel.org> To: Thinh Nguyen <Thinh.Nguyen@synopsys.com> To: Shawn Guo <shawnguo@kernel.org> Cc: linux-usb@vger.kernel.org Cc: devicetree@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: imx@lists.linux.dev Signed-off-by: Frank Li <Frank.Li@nxp.com> --- Frank Li (3): dt-bindings: usb: Add fsl,ls-dwc3.yaml for layerscape usb3 glue layer usb: dwc3: of-simple: Add compatible string fsl,ls1028a-dwc3 arm64: dts: layerscape: move dwc3 usb under glue layer node .../devicetree/bindings/usb/fsl,ls-dwc3.yaml | 50 ++++++++++++++++++++++ arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 43 +++++++++++-------- drivers/usb/dwc3/dwc3-of-simple.c | 22 ++++++++++ 3 files changed, 98 insertions(+), 17 deletions(-) --- base-commit: e60284b63245b84c3ae352427ed5ff8b79266b91 change-id: 20240710-ls-dwc-01ac03f3828a Best regards, --- Frank Li <Frank.Li@nxp.com>