[PATCH v3 0/3] usb: dwc3: add layerscape platform driver use flatten dwc3 core

Frank Li posted 3 patches 5 days, 6 hours ago
There is a newer version of this series
.../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/dwc3-generic-plat.c               | 33 +++++++++++++++++++++-
8 files changed, 82 insertions(+), 29 deletions(-)
[PATCH v3 0/3] usb: dwc3: add layerscape platform driver use flatten dwc3 core
Posted by Frank Li 5 days, 6 hours ago
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/
[2] https://lore.kernel.org/imx/20240123170206.3702413-1-Frank.Li@nxp.com/

[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 v3:
- rename gsbuscfg0 to gsbuscfg0_reqinfo
- Link to v2: https://lore.kernel.org/r/20250923-ls_dma_coherence-v2-0-ce3176396bdb@nxp.com

Changes in v2:
- base on drivers/usb/dwc3/dwc3-generic-plat.c

commit e0b6dc00c701e600e655417aab1e100b73de821a
Author: Ze Huang <huang.ze@linux.dev>
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

---
Frank Li (3):
      dt-bindings: usb: add missed compatible string for arm64 layerscape
      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/dwc3-generic-plat.c               | 33 +++++++++++++++++++++-
 8 files changed, 82 insertions(+), 29 deletions(-)
---
base-commit: c45d2c21b3889c520bf141d576eaecb25666895c
change-id: 20250602-ls_dma_coherence-c3c2b6f79db2

Best regards,
--
Frank Li <Frank.Li@nxp.com>
Re: [PATCH v3 0/3] usb: dwc3: add layerscape platform driver use flatten dwc3 core
Posted by Frank Li 5 days, 6 hours ago
On Fri, Sep 26, 2025 at 11:05:47AM -0400, Frank Li wrote:
> Add layerscape platform driver use flatten dwc3 core to enable dma-coherence.
> It needs set gsburstcfg0 to 0x2222.

Sorry, please forget this patches, I sent accidently.

Frank

>
> There are some several try before:
> [1] https://lore.kernel.org/imx/20240710-ls-dwc-v1-0-62f8cbed31d7@nxp.com/
> [2] https://lore.kernel.org/imx/20240123170206.3702413-1-Frank.Li@nxp.com/
>
> [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 v3:
> - rename gsbuscfg0 to gsbuscfg0_reqinfo
> - Link to v2: https://lore.kernel.org/r/20250923-ls_dma_coherence-v2-0-ce3176396bdb@nxp.com
>
> Changes in v2:
> - base on drivers/usb/dwc3/dwc3-generic-plat.c
>
> commit e0b6dc00c701e600e655417aab1e100b73de821a
> Author: Ze Huang <huang.ze@linux.dev>
> 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
>
> ---
> Frank Li (3):
>       dt-bindings: usb: add missed compatible string for arm64 layerscape
>       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/dwc3-generic-plat.c               | 33 +++++++++++++++++++++-
>  8 files changed, 82 insertions(+), 29 deletions(-)
> ---
> base-commit: c45d2c21b3889c520bf141d576eaecb25666895c
> change-id: 20250602-ls_dma_coherence-c3c2b6f79db2
>
> Best regards,
> --
> Frank Li <Frank.Li@nxp.com>
>