[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aP+IjjTf8O0aOV5U@lizhi-Precision-Tower-5810>
Date: Mon, 27 Oct 2025 10:58:22 -0400
From: Frank Li <Frank.li@....com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Thinh Nguyen <Thinh.Nguyen@...opsys.com>,
Shawn Guo <shawnguo@...nel.org>
Cc: linux-usb@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
bjorn.andersson@....qualcomm.com, imx@...ts.linux.dev,
Ze Huang <huang.ze@...ux.dev>
Subject: Re: [PATCH v5 4/4] arm64: dts: layerscape: add dma-coherent for usb
node
On Mon, Sep 29, 2025 at 10:24:17AM -0400, Frank Li wrote:
> Add SOC special compatible string, remove fallback snps,dwc3 to let flatten
> dwc3-layerscape driver to be probed and enable dma-coherence for usb node
> since commit add layerscape dwc3 support, which set correct gsbustcfg0
> value.
Shanw Guo:
Binding and driver already were picked by Greg. Can you please
pick up dts part?
Frank Li
>
> Add iommus property to run at old uboot, which use fixup add iommus by
> check compatible string snsp,dwc3 compatible string.
>
> Signed-off-by: Frank Li <Frank.Li@....com>
> ---
> change in v3 - v4
> - none
> ---
> 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 ++++++--
> 6 files changed, 32 insertions(+), 13 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
> index fc3e138077b86cd5e3cf95c3d336cb3c6e1c45ef..ef80bf6a604f475c670e2d626a727e94fcb2a17a 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1012a.dtsi
> @@ -493,10 +493,11 @@ QORIQ_CLK_PLL_DIV(4)>,
> };
>
> usb0: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,ls1012a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x2f00000 0x0 0x10000>;
> interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> + dma-coherent;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,dis_rxdet_inp3_quirk;
> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> index 7d172d7e5737c4b6e42ee88676c5763fa7415260..e7f9c9319319a69d8c70d1e26446b899c3599f95 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
> @@ -613,9 +613,11 @@ gpio3: gpio@...0000 {
> };
>
> usb0: usb@...0000 {
> - compatible = "fsl,ls1028a-dwc3", "snps,dwc3";
> + compatible = "fsl,ls1028a-dwc3";
> reg = <0x0 0x3100000 0x0 0x10000>;
> interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
> + iommus = <&smmu 1>;
> + dma-coherent;
> snps,dis_rxdet_inp3_quirk;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> @@ -623,9 +625,11 @@ usb0: usb@...0000 {
> };
>
> usb1: usb@...0000 {
> - compatible = "fsl,ls1028a-dwc3", "snps,dwc3";
> + compatible = "fsl,ls1028a-dwc3";
> reg = <0x0 0x3110000 0x0 0x10000>;
> interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
> + iommus = <&smmu 2>;
> + dma-coherent;
> snps,dis_rxdet_inp3_quirk;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> index 73315c51703943d9ee5e1aa300c388ff6482423f..50d9b03a284a2aa4e13aa3323c25bbc5fe08f3d0 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
> @@ -833,10 +833,11 @@ aux_bus: bus {
> dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x00000000>;
>
> usb0: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,ls1043a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x2f00000 0x0 0x10000>;
> interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> + dma-coherent;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,dis_rxdet_inp3_quirk;
> usb3-lpm-capable;
> @@ -845,10 +846,11 @@ usb0: usb@...0000 {
> };
>
> usb1: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,ls1043a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x3000000 0x0 0x10000>;
> interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> + dma-coherent;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,dis_rxdet_inp3_quirk;
> usb3-lpm-capable;
> @@ -857,10 +859,11 @@ usb1: usb@...0000 {
> };
>
> usb2: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,ls1043a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x3100000 0x0 0x10000>;
> interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> + dma-coherent;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,dis_rxdet_inp3_quirk;
> usb3-lpm-capable;
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
> index 770d91ef0310d971d044a1f55cc5e2cb738acc47..22173d69713d1bd2abca986e76668ad437dd34e4 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
> @@ -749,10 +749,11 @@ aux_bus: bus {
> dma-ranges = <0x0 0x0 0x0 0x0 0x100 0x00000000>;
>
> usb0: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,ls1046a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x2f00000 0x0 0x10000>;
> interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> + dma-coherent;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,dis_rxdet_inp3_quirk;
> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> @@ -760,10 +761,11 @@ usb0: usb@...0000 {
> };
>
> usb1: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,ls1046a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x3000000 0x0 0x10000>;
> interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> + dma-coherent;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,dis_rxdet_inp3_quirk;
> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> @@ -771,10 +773,11 @@ usb1: usb@...0000 {
> };
>
> usb2: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,ls1046a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x3100000 0x0 0x10000>;
> interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> + dma-coherent;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,dis_rxdet_inp3_quirk;
> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> index 9d5726378aa015eff10578bf095908a58b9d9eee..b2f6cd237be046123de9342e2167aa32248a8a16 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> @@ -489,10 +489,12 @@ esdhc: mmc@...0000 {
> };
>
> usb0: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,ls1088a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x3100000 0x0 0x10000>;
> interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> + iommus = <&smmu 1>;
> + dma-coherent;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,dis_rxdet_inp3_quirk;
> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> @@ -500,10 +502,12 @@ usb0: usb@...0000 {
> };
>
> usb1: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,ls1088a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x3110000 0x0 0x10000>;
> interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> + iommus = <&smmu 2>;
> + dma-coherent;
> snps,quirk-frame-length-adjustment = <0x20>;
> snps,dis_rxdet_inp3_quirk;
> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> index c9541403bcd8239a48d4ef79c7c4f9e3b607b556..d899c0355e51dd457a4e7259709cea98a488f557 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> @@ -1094,24 +1094,28 @@ ftm_alarm0: rtc@...0000 {
> };
>
> usb0: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,lx2160a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x3100000 0x0 0x10000>;
> interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> snps,quirk-frame-length-adjustment = <0x20>;
> usb3-lpm-capable;
> + iommus = <&smmu 1>;
> + dma-coherent;
> snps,dis_rxdet_inp3_quirk;
> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> status = "disabled";
> };
>
> usb1: usb@...0000 {
> - compatible = "snps,dwc3";
> + compatible = "fsl,lx2160a-dwc3", "fsl,ls1028a-dwc3";
> reg = <0x0 0x3110000 0x0 0x10000>;
> interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
> dr_mode = "host";
> snps,quirk-frame-length-adjustment = <0x20>;
> usb3-lpm-capable;
> + iommus = <&smmu 2>;
> + dma-coherent;
> snps,dis_rxdet_inp3_quirk;
> snps,incr-burst-type-adjustment = <1>, <4>, <8>, <16>;
> status = "disabled";
>
> --
> 2.34.1
>
Powered by blists - more mailing lists