* [PATCH v5 0/4] usb: dwc3: add layerscape platform driver use flatten dwc3 core
@ 2025-09-29 14:24 Frank Li
2025-09-29 14:24 ` [PATCH v5 1/4] dt-bindings: usb: add missed compatible string for arm64 layerscape Frank Li
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Frank Li @ 2025-09-29 14:24 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Thinh Nguyen, Shawn Guo
Cc: linux-usb, devicetree, linux-kernel, linux-arm-kernel,
bjorn.andersson, imx, Frank Li, Ze Huang
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 v5:
- remove of_dma_is_coherent() check
- Link to v4: https://lore.kernel.org/r/20250926-ls_dma_coherence-v4-0-21e9c6bdb5cb@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
Changes in v3:
- skipped, accident sendout
- 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 (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 | 13 +++++++++
drivers/usb/dwc3/dwc3-qcom.c | 1 +
drivers/usb/dwc3/glue.h | 14 +++++++++
11 files changed, 88 insertions(+), 30 deletions(-)
---
base-commit: c45d2c21b3889c520bf141d576eaecb25666895c
change-id: 20250602-ls_dma_coherence-c3c2b6f79db2
Best regards,
--
Frank Li <Frank.Li@nxp.com>
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH v5 1/4] dt-bindings: usb: add missed compatible string for arm64 layerscape 2025-09-29 14:24 [PATCH v5 0/4] usb: dwc3: add layerscape platform driver use flatten dwc3 core Frank Li @ 2025-09-29 14:24 ` Frank Li 2025-09-29 14:24 ` [PATCH v5 2/4] usb: dwc3: Add software-managed properties for flattened model Frank Li ` (2 subsequent siblings) 3 siblings, 0 replies; 8+ messages in thread From: Frank Li @ 2025-09-29 14:24 UTC (permalink / raw) To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thinh Nguyen, Shawn Guo Cc: linux-usb, devicetree, linux-kernel, linux-arm-kernel, bjorn.andersson, imx, Frank Li, Ze Huang Add missed compatible string for arm64 layerscape platform. Allow these fallback to fsl,ls1028a-dwc3. Remove fallback snps,dwc3 because layerscape dwc3 is not full compatible with common snps,dwc3 device, a special value gsburstcfg0 need be set when dma coherence enabled. Allow iommus property. Change ref to snps,dwc3-common.yaml to use dwc3 flatten library. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Frank Li <Frank.Li@nxp.com> --- change in v2-v4 - none --- .../devicetree/bindings/usb/fsl,ls1028a.yaml | 33 ++++++++++++---------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/fsl,ls1028a.yaml b/Documentation/devicetree/bindings/usb/fsl,ls1028a.yaml index a44bdf391887f9c7d565c01d2c3aede99c4a9fc3..4784f057264ac7b18cbc8b41a405f9c9268605bb 100644 --- a/Documentation/devicetree/bindings/usb/fsl,ls1028a.yaml +++ b/Documentation/devicetree/bindings/usb/fsl,ls1028a.yaml @@ -9,21 +9,19 @@ title: Freescale layerscape SuperSpeed DWC3 USB SoC controller maintainers: - Frank Li <Frank.Li@nxp.com> -select: - properties: - compatible: - contains: - enum: - - fsl,ls1028a-dwc3 - required: - - compatible - properties: compatible: - items: - - enum: - - fsl,ls1028a-dwc3 - - const: snps,dwc3 + oneOf: + - items: + - enum: + - fsl,ls1012a-dwc3 + - fsl,ls1043a-dwc3 + - fsl,ls1046a-dwc3 + - fsl,ls1088a-dwc3 + - fsl,ls208xa-dwc3 + - fsl,lx2160a-dwc3 + - const: fsl,ls1028a-dwc3 + - const: fsl,ls1028a-dwc3 reg: maxItems: 1 @@ -31,6 +29,11 @@ properties: interrupts: maxItems: 1 + iommus: + maxItems: 1 + + dma-coherent: true + unevaluatedProperties: false required: @@ -39,14 +42,14 @@ required: - interrupts allOf: - - $ref: snps,dwc3.yaml# + - $ref: snps,dwc3-common.yaml# examples: - | #include <dt-bindings/interrupt-controller/arm-gic.h> usb@fe800000 { - compatible = "fsl,ls1028a-dwc3", "snps,dwc3"; + compatible = "fsl,ls1028a-dwc3"; reg = <0xfe800000 0x100000>; interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; }; -- 2.34.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v5 2/4] usb: dwc3: Add software-managed properties for flattened model 2025-09-29 14:24 [PATCH v5 0/4] usb: dwc3: add layerscape platform driver use flatten dwc3 core Frank Li 2025-09-29 14:24 ` [PATCH v5 1/4] dt-bindings: usb: add missed compatible string for arm64 layerscape Frank Li @ 2025-09-29 14:24 ` Frank Li 2025-09-29 14:24 ` [PATCH v5 3/4] usb: dwc3: dwc3-generic-plat: Add layerscape dwc3 support Frank Li 2025-09-29 14:24 ` [PATCH v5 4/4] arm64: dts: layerscape: add dma-coherent for usb node Frank Li 3 siblings, 0 replies; 8+ messages in thread From: Frank Li @ 2025-09-29 14:24 UTC (permalink / raw) To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thinh Nguyen, Shawn Guo Cc: linux-usb, devicetree, linux-kernel, linux-arm-kernel, bjorn.andersson, imx, Frank Li, Ze Huang Add software-managed properties for the flattened model, which does not need to use device tree properties to pass down information to the common DWC3 core. Add 'properties' in dwc3_probe_data and set default values for existing users (dwc3-qcom, dwc3-generic-plat). No functional changes. Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Signed-off-by: Frank Li <Frank.Li@nxp.com> --- change in v5 - fix typo propertyies - add Thinh Nguyen's ack tag change in v4 - new patch --- drivers/usb/dwc3/core.c | 12 ++++++++++-- drivers/usb/dwc3/dwc3-generic-plat.c | 1 + drivers/usb/dwc3/dwc3-qcom.c | 1 + drivers/usb/dwc3/glue.h | 14 ++++++++++++++ 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 805cd22f42e0961252b0371da9b16cc804e49342..35f9c566358886c106d360dea84f2e6f1ac19688 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -1668,7 +1668,8 @@ static void dwc3_core_exit_mode(struct dwc3 *dwc) dwc3_set_prtcap(dwc, DWC3_GCTL_PRTCAP_DEVICE, true); } -static void dwc3_get_software_properties(struct dwc3 *dwc) +static void dwc3_get_software_properties(struct dwc3 *dwc, + const struct dwc3_properties *properties) { struct device *tmpdev; u16 gsbuscfg0_reqinfo; @@ -1676,6 +1677,12 @@ static void dwc3_get_software_properties(struct dwc3 *dwc) dwc->gsbuscfg0_reqinfo = DWC3_GSBUSCFG0_REQINFO_UNSPECIFIED; + if (properties->gsbuscfg0_reqinfo != + DWC3_GSBUSCFG0_REQINFO_UNSPECIFIED) { + dwc->gsbuscfg0_reqinfo = properties->gsbuscfg0_reqinfo; + return; + } + /* * Iterate over all parent nodes for finding swnode properties * and non-DT (non-ABI) properties. @@ -2208,7 +2215,7 @@ int dwc3_core_probe(const struct dwc3_probe_data *data) dwc3_get_properties(dwc); - dwc3_get_software_properties(dwc); + dwc3_get_software_properties(dwc, &data->properties); dwc->usb_psy = dwc3_get_usb_power_supply(dwc); if (IS_ERR(dwc->usb_psy)) @@ -2358,6 +2365,7 @@ static int dwc3_probe(struct platform_device *pdev) probe_data.dwc = dwc; probe_data.res = res; + probe_data.properties = DWC3_DEFAULT_PROPERTIES; return dwc3_core_probe(&probe_data); } diff --git a/drivers/usb/dwc3/dwc3-generic-plat.c b/drivers/usb/dwc3/dwc3-generic-plat.c index d96b20570002dc619ea813f4d6a8013636a0f346..af95a527dcc27a7a14d38dcc887f74a888ed91e6 100644 --- a/drivers/usb/dwc3/dwc3-generic-plat.c +++ b/drivers/usb/dwc3/dwc3-generic-plat.c @@ -75,6 +75,7 @@ static int dwc3_generic_probe(struct platform_device *pdev) probe_data.dwc = &dwc3g->dwc; probe_data.res = res; probe_data.ignore_clocks_and_resets = true; + probe_data.properties = DWC3_DEFAULT_PROPERTIES; ret = dwc3_core_probe(&probe_data); if (ret) return dev_err_probe(dev, ret, "failed to register DWC3 Core\n"); diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c index ded2ca86670c0bd7ceadd3cba3fa5ecf9e7e02b5..9ac75547820d978b4a32e570e5f59a2807be68a2 100644 --- a/drivers/usb/dwc3/dwc3-qcom.c +++ b/drivers/usb/dwc3/dwc3-qcom.c @@ -704,6 +704,7 @@ static int dwc3_qcom_probe(struct platform_device *pdev) probe_data.dwc = &qcom->dwc; probe_data.res = &res; probe_data.ignore_clocks_and_resets = true; + probe_data.properties = DWC3_DEFAULT_PROPERTIES; ret = dwc3_core_probe(&probe_data); if (ret) { ret = dev_err_probe(dev, ret, "failed to register DWC3 Core\n"); diff --git a/drivers/usb/dwc3/glue.h b/drivers/usb/dwc3/glue.h index 2efd00e763be4fc51911f32d43054059e61fb43a..cc6e138bd9ef2500215aba665300e7638f3d5214 100644 --- a/drivers/usb/dwc3/glue.h +++ b/drivers/usb/dwc3/glue.h @@ -9,17 +9,31 @@ #include <linux/types.h> #include "core.h" +/** + * dwc3_properties: DWC3 core properties + * @gsbuscfg0_reqinfo: Value to be programmed in the GSBUSCFG0.REQINFO field + */ +struct dwc3_properties { + u32 gsbuscfg0_reqinfo; +}; + +#define DWC3_DEFAULT_PROPERTIES ((struct dwc3_properties){ \ + .gsbuscfg0_reqinfo = DWC3_GSBUSCFG0_REQINFO_UNSPECIFIED, \ + }) + /** * dwc3_probe_data: Initialization parameters passed to dwc3_core_probe() * @dwc: Reference to dwc3 context structure * @res: resource for the DWC3 core mmio region * @ignore_clocks_and_resets: clocks and resets defined for the device should * be ignored by the DWC3 core, as they are managed by the glue + * @properties: dwc3 software manage properties */ struct dwc3_probe_data { struct dwc3 *dwc; struct resource *res; bool ignore_clocks_and_resets; + struct dwc3_properties properties; }; int dwc3_core_probe(const struct dwc3_probe_data *data); -- 2.34.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v5 3/4] usb: dwc3: dwc3-generic-plat: Add layerscape dwc3 support 2025-09-29 14:24 [PATCH v5 0/4] usb: dwc3: add layerscape platform driver use flatten dwc3 core Frank Li 2025-09-29 14:24 ` [PATCH v5 1/4] dt-bindings: usb: add missed compatible string for arm64 layerscape Frank Li 2025-09-29 14:24 ` [PATCH v5 2/4] usb: dwc3: Add software-managed properties for flattened model Frank Li @ 2025-09-29 14:24 ` Frank Li 2025-09-29 23:33 ` Thinh Nguyen 2025-09-29 14:24 ` [PATCH v5 4/4] arm64: dts: layerscape: add dma-coherent for usb node Frank Li 3 siblings, 1 reply; 8+ messages in thread From: Frank Li @ 2025-09-29 14:24 UTC (permalink / raw) To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thinh Nguyen, Shawn Guo Cc: linux-usb, devicetree, linux-kernel, linux-arm-kernel, bjorn.andersson, imx, Frank Li, Ze Huang Add layerscape dwc3 support by using flatten dwc3 core library. Layerscape dwc3 need set gsbuscfg0-reqinfo as 0x2222 when dma-coherence set. Signed-off-by: Frank Li <Frank.Li@nxp.com> --- chagne in v4 - remove of_dma_is_coherent() check chagne in v4 - rename gsbuscfg0 to gsbuscfg0_reqinfo - use flatten core's properties. change in v3 (skipped) --- drivers/usb/dwc3/dwc3-generic-plat.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/usb/dwc3/dwc3-generic-plat.c b/drivers/usb/dwc3/dwc3-generic-plat.c index af95a527dcc27a7a14d38dcc887f74a888ed91e6..770fedc16bb80dff95ff12c9506728df5ca4b831 100644 --- a/drivers/usb/dwc3/dwc3-generic-plat.c +++ b/drivers/usb/dwc3/dwc3-generic-plat.c @@ -29,6 +29,7 @@ static void dwc3_generic_reset_control_assert(void *data) static int dwc3_generic_probe(struct platform_device *pdev) { + const struct dwc3_properties *properties; struct dwc3_probe_data probe_data = {}; struct device *dev = &pdev->dev; struct dwc3_generic *dwc3g; @@ -75,7 +76,13 @@ static int dwc3_generic_probe(struct platform_device *pdev) probe_data.dwc = &dwc3g->dwc; probe_data.res = res; probe_data.ignore_clocks_and_resets = true; - probe_data.properties = DWC3_DEFAULT_PROPERTIES; + + properties = of_device_get_match_data(dev); + if (properties) + probe_data.properties = *properties; + else + probe_data.properties = DWC3_DEFAULT_PROPERTIES; + ret = dwc3_core_probe(&probe_data); if (ret) return dev_err_probe(dev, ret, "failed to register DWC3 Core\n"); @@ -146,8 +153,13 @@ static const struct dev_pm_ops dwc3_generic_dev_pm_ops = { dwc3_generic_runtime_idle) }; +static const struct dwc3_properties fsl_ls1028_dwc3 = { + .gsbuscfg0_reqinfo = 0x2222, +}; + static const struct of_device_id dwc3_generic_of_match[] = { { .compatible = "spacemit,k1-dwc3", }, + { .compatible = "fsl,ls1028a-dwc3", &fsl_ls1028_dwc3}, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, dwc3_generic_of_match); -- 2.34.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v5 3/4] usb: dwc3: dwc3-generic-plat: Add layerscape dwc3 support 2025-09-29 14:24 ` [PATCH v5 3/4] usb: dwc3: dwc3-generic-plat: Add layerscape dwc3 support Frank Li @ 2025-09-29 23:33 ` Thinh Nguyen 0 siblings, 0 replies; 8+ messages in thread From: Thinh Nguyen @ 2025-09-29 23:33 UTC (permalink / raw) To: Frank Li Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thinh Nguyen, Shawn Guo, linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, bjorn.andersson@oss.qualcomm.com, imx@lists.linux.dev, Ze Huang On Mon, Sep 29, 2025, Frank Li wrote: > Add layerscape dwc3 support by using flatten dwc3 core library. Layerscape > dwc3 need set gsbuscfg0-reqinfo as 0x2222 when dma-coherence set. > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > --- > chagne in v4 > - remove of_dma_is_coherent() check > > chagne in v4 > - rename gsbuscfg0 to gsbuscfg0_reqinfo > - use flatten core's properties. > > change in v3 (skipped) > --- > drivers/usb/dwc3/dwc3-generic-plat.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/dwc3/dwc3-generic-plat.c b/drivers/usb/dwc3/dwc3-generic-plat.c > index af95a527dcc27a7a14d38dcc887f74a888ed91e6..770fedc16bb80dff95ff12c9506728df5ca4b831 100644 > --- a/drivers/usb/dwc3/dwc3-generic-plat.c > +++ b/drivers/usb/dwc3/dwc3-generic-plat.c > @@ -29,6 +29,7 @@ static void dwc3_generic_reset_control_assert(void *data) > > static int dwc3_generic_probe(struct platform_device *pdev) > { > + const struct dwc3_properties *properties; > struct dwc3_probe_data probe_data = {}; > struct device *dev = &pdev->dev; > struct dwc3_generic *dwc3g; > @@ -75,7 +76,13 @@ static int dwc3_generic_probe(struct platform_device *pdev) > probe_data.dwc = &dwc3g->dwc; > probe_data.res = res; > probe_data.ignore_clocks_and_resets = true; > - probe_data.properties = DWC3_DEFAULT_PROPERTIES; > + > + properties = of_device_get_match_data(dev); > + if (properties) > + probe_data.properties = *properties; > + else > + probe_data.properties = DWC3_DEFAULT_PROPERTIES; > + > ret = dwc3_core_probe(&probe_data); > if (ret) > return dev_err_probe(dev, ret, "failed to register DWC3 Core\n"); > @@ -146,8 +153,13 @@ static const struct dev_pm_ops dwc3_generic_dev_pm_ops = { > dwc3_generic_runtime_idle) > }; > > +static const struct dwc3_properties fsl_ls1028_dwc3 = { > + .gsbuscfg0_reqinfo = 0x2222, > +}; > + > static const struct of_device_id dwc3_generic_of_match[] = { > { .compatible = "spacemit,k1-dwc3", }, > + { .compatible = "fsl,ls1028a-dwc3", &fsl_ls1028_dwc3}, > { /* sentinel */ } > }; > MODULE_DEVICE_TABLE(of, dwc3_generic_of_match); > > -- > 2.34.1 > Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Thanks, Thinh ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v5 4/4] arm64: dts: layerscape: add dma-coherent for usb node 2025-09-29 14:24 [PATCH v5 0/4] usb: dwc3: add layerscape platform driver use flatten dwc3 core Frank Li ` (2 preceding siblings ...) 2025-09-29 14:24 ` [PATCH v5 3/4] usb: dwc3: dwc3-generic-plat: Add layerscape dwc3 support Frank Li @ 2025-09-29 14:24 ` Frank Li 2025-10-27 14:58 ` Frank Li 2025-10-28 8:57 ` Shawn Guo 3 siblings, 2 replies; 8+ messages in thread From: Frank Li @ 2025-09-29 14:24 UTC (permalink / raw) To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thinh Nguyen, Shawn Guo Cc: linux-usb, devicetree, linux-kernel, linux-arm-kernel, bjorn.andersson, imx, Frank Li, Ze Huang 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. 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@nxp.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@2f00000 { - 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@2320000 { }; usb0: usb@3100000 { - 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@3100000 { }; usb1: usb@3110000 { - 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@2f00000 { - 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@2f00000 { }; usb1: usb@3000000 { - 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@3000000 { }; usb2: usb@3100000 { - 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@2f00000 { - 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@2f00000 { }; usb1: usb@3000000 { - 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@3000000 { }; usb2: usb@3100000 { - 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@2140000 { }; usb0: usb@3100000 { - 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@3100000 { }; usb1: usb@3110000 { - 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@2800000 { }; usb0: usb@3100000 { - 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@3110000 { - 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 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v5 4/4] arm64: dts: layerscape: add dma-coherent for usb node 2025-09-29 14:24 ` [PATCH v5 4/4] arm64: dts: layerscape: add dma-coherent for usb node Frank Li @ 2025-10-27 14:58 ` Frank Li 2025-10-28 8:57 ` Shawn Guo 1 sibling, 0 replies; 8+ messages in thread From: Frank Li @ 2025-10-27 14:58 UTC (permalink / raw) To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thinh Nguyen, Shawn Guo Cc: linux-usb, devicetree, linux-kernel, linux-arm-kernel, bjorn.andersson, imx, Ze Huang 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@nxp.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@2f00000 { > - 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@2320000 { > }; > > usb0: usb@3100000 { > - 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@3100000 { > }; > > usb1: usb@3110000 { > - 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@2f00000 { > - 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@2f00000 { > }; > > usb1: usb@3000000 { > - 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@3000000 { > }; > > usb2: usb@3100000 { > - 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@2f00000 { > - 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@2f00000 { > }; > > usb1: usb@3000000 { > - 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@3000000 { > }; > > usb2: usb@3100000 { > - 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@2140000 { > }; > > usb0: usb@3100000 { > - 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@3100000 { > }; > > usb1: usb@3110000 { > - 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@2800000 { > }; > > usb0: usb@3100000 { > - 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@3110000 { > - 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 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v5 4/4] arm64: dts: layerscape: add dma-coherent for usb node 2025-09-29 14:24 ` [PATCH v5 4/4] arm64: dts: layerscape: add dma-coherent for usb node Frank Li 2025-10-27 14:58 ` Frank Li @ 2025-10-28 8:57 ` Shawn Guo 1 sibling, 0 replies; 8+ messages in thread From: Shawn Guo @ 2025-10-28 8:57 UTC (permalink / raw) To: Frank Li Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thinh Nguyen, Shawn Guo, linux-usb, devicetree, linux-kernel, linux-arm-kernel, bjorn.andersson, imx, Ze Huang 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. > > 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@nxp.com> Applied, thanks! ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-10-28 8:58 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-09-29 14:24 [PATCH v5 0/4] usb: dwc3: add layerscape platform driver use flatten dwc3 core Frank Li 2025-09-29 14:24 ` [PATCH v5 1/4] dt-bindings: usb: add missed compatible string for arm64 layerscape Frank Li 2025-09-29 14:24 ` [PATCH v5 2/4] usb: dwc3: Add software-managed properties for flattened model Frank Li 2025-09-29 14:24 ` [PATCH v5 3/4] usb: dwc3: dwc3-generic-plat: Add layerscape dwc3 support Frank Li 2025-09-29 23:33 ` Thinh Nguyen 2025-09-29 14:24 ` [PATCH v5 4/4] arm64: dts: layerscape: add dma-coherent for usb node Frank Li 2025-10-27 14:58 ` Frank Li 2025-10-28 8:57 ` Shawn Guo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).