[PATCH v4 0/4] usb: dwc3: add layerscape platform driver use flatten dwc3 core
From: Frank Li via B4 Relay <devnull+Frank.Li.nxp.com@kernel.org>
Date: 2025-09-26 18:19:48
Also in:
b4-sent, imx, linux-arm-kernel, linux-usb, lkml
Add layerscape platform driver use flatten dwc3 core to enable dma-coherence. It needs set gsburstcfg0 to 0x2222. There are some several try before: [1] https://lore.kernel.org/imx/20240710-ls-dwc-v1-0-62f8cbed31d7@nxp.com/ (local) [2] https://lore.kernel.org/imx/20240123170206.3702413-1-Frank.Li@nxp.com/ (local) [2]: add new property, which was reject because there are no varience in the soc. Fortunately the below commit resolve this problem by use software managed property. d504bfa6cfd1a usb: dwc3: enable CCI support for AMD-xilinx DWC3 controller [1] was reject because there are not actually dwc wrap at layerscape platform. Fortunately Bjorn Andersson's below patch to make it possible by use correct dts dwc3 node layer out. 613a2e655d4dc usb: dwc3: core: Expose core driver as library This resolve problem [1] and [2] by use flatten dwc3 core library. 1. add soc specific compatible string at dt-binding. 2. create platform driver for layerscape chips and pass down gsbuscfg0 if dma-coherence enabled. 3. update layerscape dts files. 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: bjorn.andersson@oss.qualcomm.com Cc: imx@lists.linux.dev Signed-off-by: Frank Li <Frank.Li@nxp.com> --- Changes in v4: - Use flatten properties, instead of use dt pass down information to core. - Link to v3: https://lore.kernel.org/r/20250926-ls_dma_coherence-v3-0-602b1c0ce6b4@nxp.com (local) Changes in v3: - skipped, accident sendout - Link to v2: https://lore.kernel.org/r/20250923-ls_dma_coherence-v2-0-ce3176396bdb@nxp.com (local) Changes in v2: - base on drivers/usb/dwc3/dwc3-generic-plat.c commit e0b6dc00c701e600e655417aab1e100b73de821a Author: Ze Huang [off-list ref] Date: Sat Sep 13 00:53:48 2025 +0800 usb: dwc3: add generic driver to support flattened To support flattened dwc3 dt model and drop the glue layer, introduce the `dwc3-generic` driver. This enables direct binding of the DWC3 core driver and offers an alternative to the existing glue driver `dwc3-of-simple`. - Link to v1: https://lore.kernel.org/r/20250602-ls_dma_coherence-v1-0-c67484d6ab64@nxp.com (local) --- Frank Li (4): dt-bindings: usb: add missed compatible string for arm64 layerscape usb: dwc3: Add software-managed properties for flattened model usb: dwc3: dwc3-generic-plat: Add layerscape dwc3 support arm64: dts: layerscape: add dma-coherent for usb node .../devicetree/bindings/usb/fsl,ls1028a.yaml | 33 ++++++++++++---------- arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi | 3 +- arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 8 ++++-- arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 9 ++++-- arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 9 ++++-- arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 8 ++++-- arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 8 ++++-- drivers/usb/dwc3/core.c | 12 ++++++-- drivers/usb/dwc3/dwc3-generic-plat.c | 14 +++++++++ drivers/usb/dwc3/dwc3-qcom.c | 1 + drivers/usb/dwc3/glue.h | 14 +++++++++ 11 files changed, 89 insertions(+), 30 deletions(-) --- base-commit: c45d2c21b3889c520bf141d576eaecb25666895c change-id: 20250602-ls_dma_coherence-c3c2b6f79db2 Best regards, -- Frank Li [off-list ref]