* [PATCH v2 0/3] Add USB DWC3 support for Samsung Exynos8855
[not found] <CGME20260916122346epcas5p376bd1f05910537d3e0025aac2a62ddf2@epcas5p3.samsung.com>
@ 2026-09-16 12:22 ` Selvarasu Ganesan
[not found] ` <CGME20260916122351epcas5p37666f1232d3b2bcc1d02a96ab0df4142@epcas5p3.samsung.com>
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Selvarasu Ganesan @ 2026-09-16 12:22 UTC (permalink / raw)
To: krzk, peter.griffin, alim.akhtar, gregkh, robh, conor+dt,
Thinh.Nguyen, mani, selvarasu.g, linux-arm-kernel,
linux-samsung-soc, linux-usb, devicetree, linux-kernel
Cc: jh0801.jung, h10.kim, dh10.jung, akash.m5, hongpooh.kim,
eomji.oh, shijie.cai, muhammed.ali, thiagu.r
The Samsung Exynos8855 SoC implements a Synopsys DesignWare USB3 DRD
controller. The DWC3 core on the Exynos8855 is instantiated with the
generic DWC3 platform driver using a flattened model, where the
controller is directly addressable without a separate glue layer.
This is the first Samsung Exynos binding using the flattened
representation and this series adds the device tree binding and platform
driver support for this configuration. The binding follows
qcom,snps-dwc3 pattern, a single node referencing snps,dwc3-common.yaml
for shared DWC3 properties, with per-SoC constraints enforced via
if-then conditionals.
The MAINTAINERS entry is updated first so that the new binding falls
under the existing ARM/Samsung SoC maintainership.
Changes in v2:
- Commit 2/3: Clarify this is the first Samsung Exynos binding using
the flattened node representation.
- Commit 3/3: Add the compatible entry in alphabetical order in the
of_match_table.
- Link to v1:
https://lore.kernel.org/all/20260903071250.3421499-1-selvarasu.g@samsung.com/
Selvarasu Ganesan (3):
MAINTAINERS: add Samsung USB DT binding to ARM/SAMSUNG entry
dt-bindings: usb: Introduce samsung,snps-dwc3
usb: dwc3: Add Exynos8855 to the generic platform driver
.../bindings/usb/samsung,snps-dwc3.yaml | 98 +++++++++++++++++++
MAINTAINERS | 1 +
drivers/usb/dwc3/dwc3-generic-plat.c | 5 +-
3 files changed, 102 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/usb/samsung,snps-dwc3.yaml
--
2.17.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 1/3] MAINTAINERS: add Samsung USB DT binding to ARM/SAMSUNG entry
[not found] ` <CGME20260916122351epcas5p37666f1232d3b2bcc1d02a96ab0df4142@epcas5p3.samsung.com>
@ 2026-09-16 12:22 ` Selvarasu Ganesan
2026-09-18 3:19 ` Alim Akhtar
2026-09-18 9:58 ` Krzysztof Kozlowski
0 siblings, 2 replies; 14+ messages in thread
From: Selvarasu Ganesan @ 2026-09-16 12:22 UTC (permalink / raw)
To: krzk, peter.griffin, alim.akhtar, gregkh, robh, conor+dt,
Thinh.Nguyen, mani, selvarasu.g, linux-arm-kernel,
linux-samsung-soc, linux-usb, devicetree, linux-kernel
Cc: jh0801.jung, h10.kim, dh10.jung, akash.m5, hongpooh.kim,
eomji.oh, shijie.cai, muhammed.ali, thiagu.r
Add the Samsung USB devicetree binding file path under the existing
ARM/Samsung SoC maintainership.
Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index a53620839407..87a1ab24a375 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3576,6 +3576,7 @@ F: Documentation/devicetree/bindings/arm/samsung/
F: Documentation/devicetree/bindings/hwinfo/samsung,*
F: Documentation/devicetree/bindings/power/pd-samsung.yaml
F: Documentation/devicetree/bindings/soc/samsung/
+F: Documentation/devicetree/bindings/usb/samsung,*
F: arch/arm/boot/dts/samsung/
F: arch/arm/mach-exynos*/
F: arch/arm/mach-s3c/
--
2.17.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3
[not found] ` <CGME20260916122354epcas5p401fd6470d6cef75951af732b03aa5970@epcas5p4.samsung.com>
@ 2026-09-16 12:22 ` Selvarasu Ganesan
2026-09-18 3:25 ` Alim Akhtar
2026-09-18 9:54 ` Krzysztof Kozlowski
0 siblings, 2 replies; 14+ messages in thread
From: Selvarasu Ganesan @ 2026-09-16 12:22 UTC (permalink / raw)
To: krzk, peter.griffin, alim.akhtar, gregkh, robh, conor+dt,
Thinh.Nguyen, mani, selvarasu.g, linux-arm-kernel,
linux-samsung-soc, linux-usb, devicetree, linux-kernel
Cc: jh0801.jung, h10.kim, dh10.jung, akash.m5, hongpooh.kim,
eomji.oh, shijie.cai, muhammed.ali, thiagu.r
Add the Samsung Exynos8855 DWC3 binding using a flattened node
representation, where the DWC3 controller is directly addressable
rather than nested as a child node of a glue layer.
This is the first Samsung Exynos binding using the flattened
representation. The existing samsung,exynos-dwc3 binding describes the
parent and child representation used by existing Exynos SoCs, which can
be migrated to the flattened model.
Samsung Exynos SoCs sharing the same flattened model can be added by
using the samsung,snps-dwc3 fallback compatible and extending the
compatible enum with per SoC clock and property constraints.
Co-developed-by: Muhammed Ali <muhammed.ali@samsung.com>
Signed-off-by: Muhammed Ali <muhammed.ali@samsung.com>
Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
---
Krzysztof Kozlowski is added as a maintainer of this YAML binding, as
he is the ARM/Samsung SoC architecture maintainer (ARM/SAMSUNG S3C,
S5P AND EXYNOS ARM ARCHITECTURES) who already maintains Samsung Exynos
DT bindings (e.g. samsung,exynos-dwc3.yaml) and reviews all
Samsung related binding changes. This follows the same convention used
by existing Samsung Exynos DT binding schemas.
---
.../bindings/usb/samsung,snps-dwc3.yaml | 98 +++++++++++++++++++
1 file changed, 98 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/samsung,snps-dwc3.yaml
diff --git a/Documentation/devicetree/bindings/usb/samsung,snps-dwc3.yaml b/Documentation/devicetree/bindings/usb/samsung,snps-dwc3.yaml
new file mode 100644
index 000000000000..480308c16f37
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/samsung,snps-dwc3.yaml
@@ -0,0 +1,98 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/samsung,snps-dwc3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung Exynos SoC DWC3 USB Controller
+
+maintainers:
+ - Krzysztof Kozlowski <krzk@kernel.org>
+ - Selvarasu Ganesan <selvarasu.g@samsung.com>
+
+description:
+ Describes the DWC3 USB controller block implemented on Samsung Exynos SoCs.
+
+select:
+ properties:
+ compatible:
+ contains:
+ const: samsung,snps-dwc3
+ required:
+ - compatible
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - samsung,exynos8855-dwc3
+ - const: samsung,snps-dwc3
+
+ reg:
+ maxItems: 1
+
+ power-domains:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ description: |
+ Several clocks are used, depending on the variant. Typical ones are:
+ - ref: Reference clock for SOF/ITP generation.
+ - bus: Bus (APB) clock for register access.
+ minItems: 1
+ maxItems: 4
+
+ clock-names:
+ minItems: 1
+ maxItems: 4
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - interrupts
+
+allOf:
+ - $ref: snps,dwc3-common.yaml#
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: samsung,exynos8855-dwc3
+ then:
+ properties:
+ clocks:
+ minItems: 2
+ maxItems: 2
+ clock-names:
+ items:
+ - const: ref
+ - const: bus
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ usb@13200000 {
+ compatible = "samsung,exynos8855-dwc3",
+ "samsung,snps-dwc3";
+ reg = <0x13200000 0x10000>;
+ interrupts = <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&usb_clk 0>,
+ <&usb_clk 1>;
+ clock-names = "ref", "bus";
+ dr_mode = "peripheral";
+ phys = <&usbdrd_phy 0>;
+ phy-names = "usb2-phy";
+ snps,quirk-frame-length-adjustment = <0x20>;
+ snps,dis-u2-freeclk-exists-quirk;
+ snps,gfladj-refclk-lpm-sel-quirk;
+ };
+...
--
2.17.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 3/3] usb: dwc3: Add Exynos8855 to the generic platform driver
[not found] ` <CGME20260916122357epcas5p3578059e36eafeb4602f4fb57cd72c883@epcas5p3.samsung.com>
@ 2026-09-16 12:22 ` Selvarasu Ganesan
2026-09-18 3:26 ` Alim Akhtar
0 siblings, 1 reply; 14+ messages in thread
From: Selvarasu Ganesan @ 2026-09-16 12:22 UTC (permalink / raw)
To: krzk, peter.griffin, alim.akhtar, gregkh, robh, conor+dt,
Thinh.Nguyen, mani, selvarasu.g, linux-arm-kernel,
linux-samsung-soc, linux-usb, devicetree, linux-kernel
Cc: jh0801.jung, h10.kim, dh10.jung, akash.m5, hongpooh.kim,
eomji.oh, shijie.cai, muhammed.ali, thiagu.r
Add the "samsung,snps-dwc3" compatible string to dwc3-generic-plat so
the Exynos8855 USB3 DWC3 controller can probe through the generic DWC3
platform glue. While at it, alphabetically reorder the existing entries.
The "samsung,snps-dwc3" string is used as a generic fallback to support
any Exynos SoC that utilizes a flattened model instantiation. This
fallback allows multiple Exynos SoCs to be supported by the generic
platform driver simply by adding the fallback compatible to their
respective device tree nodes.
Co-developed-by: Muhammed Ali <muhammed.ali@samsung.com>
Signed-off-by: Muhammed Ali <muhammed.ali@samsung.com>
Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
---
drivers/usb/dwc3/dwc3-generic-plat.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/dwc3/dwc3-generic-plat.c b/drivers/usb/dwc3/dwc3-generic-plat.c
index ca69ac0eb07c..10c1146564b7 100644
--- a/drivers/usb/dwc3/dwc3-generic-plat.c
+++ b/drivers/usb/dwc3/dwc3-generic-plat.c
@@ -232,10 +232,11 @@ static const struct dwc3_generic_config eic7700_dwc3 = {
};
static const struct of_device_id dwc3_generic_of_match[] = {
+ { .compatible = "eswin,eic7700-dwc3", &eic7700_dwc3},
+ { .compatible = "fsl,ls1028a-dwc3", &fsl_ls1028_dwc3},
+ { .compatible = "samsung,snps-dwc3", },
{ .compatible = "spacemit,k1-dwc3", &spacemit_k1_dwc3},
{ .compatible = "spacemit,k3-dwc3", },
- { .compatible = "fsl,ls1028a-dwc3", &fsl_ls1028_dwc3},
- { .compatible = "eswin,eic7700-dwc3", &eic7700_dwc3},
{ .compatible = "starfive,jhb100-dwc3", },
{ /* sentinel */ }
};
--
2.17.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [PATCH v2 1/3] MAINTAINERS: add Samsung USB DT binding to ARM/SAMSUNG entry
2026-09-16 12:22 ` [PATCH v2 1/3] MAINTAINERS: add Samsung USB DT binding to ARM/SAMSUNG entry Selvarasu Ganesan
@ 2026-09-18 3:19 ` Alim Akhtar
2026-09-18 9:58 ` Krzysztof Kozlowski
1 sibling, 0 replies; 14+ messages in thread
From: Alim Akhtar @ 2026-09-18 3:19 UTC (permalink / raw)
To: 'Selvarasu Ganesan',
krzk, peter.griffin, gregkh, robh, conor+dt, Thinh.Nguyen, mani,
linux-arm-kernel, linux-samsung-soc, linux-usb, devicetree,
linux-kernel
Cc: jh0801.jung, h10.kim, dh10.jung, akash.m5, hongpooh.kim,
eomji.oh, shijie.cai, muhammed.ali, thiagu.r
> -----Original Message-----
> From: Selvarasu Ganesan <selvarasu.g@samsung.com>
> Sent: Wednesday, September 16, 2026 5:52 PM
> To: krzk@kernel.org; peter.griffin@linaro.org; alim.akhtar@samsung.com;
> gregkh@linuxfoundation.org; robh@kernel.org; conor+dt@kernel.org;
> Thinh.Nguyen@synopsys.com; mani@kernel.org;
> selvarasu.g@samsung.com; linux-arm-kernel@lists.infradead.org; linux-
> samsung-soc@vger.kernel.org; linux-usb@vger.kernel.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org
> Cc: jh0801.jung@samsung.com; h10.kim@samsung.com;
> dh10.jung@samsung.com; akash.m5@samsung.com;
> hongpooh.kim@samsung.com; eomji.oh@samsung.com;
> shijie.cai@samsung.com; muhammed.ali@samsung.com;
> thiagu.r@samsung.com
> Subject: [PATCH v2 1/3] MAINTAINERS: add Samsung USB DT binding to
> ARM/SAMSUNG entry
>
> Add the Samsung USB devicetree binding file path under the existing
> ARM/Samsung SoC maintainership.
>
> Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
> ---
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
> MAINTAINERS | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a53620839407..87a1ab24a375 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3576,6 +3576,7 @@ F:
> Documentation/devicetree/bindings/arm/samsung/
> F: Documentation/devicetree/bindings/hwinfo/samsung,*
> F: Documentation/devicetree/bindings/power/pd-samsung.yaml
> F: Documentation/devicetree/bindings/soc/samsung/
> +F: Documentation/devicetree/bindings/usb/samsung,*
> F: arch/arm/boot/dts/samsung/
> F: arch/arm/mach-exynos*/
> F: arch/arm/mach-s3c/
> --
> 2.17.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3
2026-09-16 12:22 ` [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3 Selvarasu Ganesan
@ 2026-09-18 3:25 ` Alim Akhtar
2026-09-18 3:36 ` Selvarasu Ganesan
2026-09-18 9:54 ` Krzysztof Kozlowski
1 sibling, 1 reply; 14+ messages in thread
From: Alim Akhtar @ 2026-09-18 3:25 UTC (permalink / raw)
To: 'Selvarasu Ganesan',
krzk, peter.griffin, gregkh, robh, conor+dt, Thinh.Nguyen, mani,
linux-arm-kernel, linux-samsung-soc, linux-usb, devicetree,
linux-kernel
Cc: jh0801.jung, h10.kim, dh10.jung, akash.m5, hongpooh.kim,
eomji.oh, shijie.cai, muhammed.ali, thiagu.r
> -----Original Message-----
> From: Selvarasu Ganesan <selvarasu.g@samsung.com>
> Sent: Wednesday, September 16, 2026 5:52 PM
> To: krzk@kernel.org; peter.griffin@linaro.org; alim.akhtar@samsung.com;
> gregkh@linuxfoundation.org; robh@kernel.org; conor+dt@kernel.org;
> Thinh.Nguyen@synopsys.com; mani@kernel.org;
> selvarasu.g@samsung.com; linux-arm-kernel@lists.infradead.org; linux-
> samsung-soc@vger.kernel.org; linux-usb@vger.kernel.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org
> Cc: jh0801.jung@samsung.com; h10.kim@samsung.com;
> dh10.jung@samsung.com; akash.m5@samsung.com;
> hongpooh.kim@samsung.com; eomji.oh@samsung.com;
> shijie.cai@samsung.com; muhammed.ali@samsung.com;
> thiagu.r@samsung.com
> Subject: [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3
>
> Add the Samsung Exynos8855 DWC3 binding using a flattened node
> representation, where the DWC3 controller is directly addressable rather
> than nested as a child node of a glue layer.
>
> This is the first Samsung Exynos binding using the flattened representation.
> The existing samsung,exynos-dwc3 binding describes the parent and child
> representation used by existing Exynos SoCs, which can be migrated to the
> flattened model.
>
> Samsung Exynos SoCs sharing the same flattened model can be added by
> using the samsung,snps-dwc3 fallback compatible and extending the
> compatible enum with per SoC clock and property constraints.
>
> Co-developed-by: Muhammed Ali <muhammed.ali@samsung.com>
> Signed-off-by: Muhammed Ali <muhammed.ali@samsung.com>
> Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
> ---
Thanks for using flattened node representation. Are you planning to migrate other existing SoC as well?
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [PATCH v2 3/3] usb: dwc3: Add Exynos8855 to the generic platform driver
2026-09-16 12:22 ` [PATCH v2 3/3] usb: dwc3: Add Exynos8855 to the generic platform driver Selvarasu Ganesan
@ 2026-09-18 3:26 ` Alim Akhtar
0 siblings, 0 replies; 14+ messages in thread
From: Alim Akhtar @ 2026-09-18 3:26 UTC (permalink / raw)
To: 'Selvarasu Ganesan',
krzk, peter.griffin, gregkh, robh, conor+dt, Thinh.Nguyen, mani,
linux-arm-kernel, linux-samsung-soc, linux-usb, devicetree,
linux-kernel
Cc: jh0801.jung, h10.kim, dh10.jung, akash.m5, hongpooh.kim,
eomji.oh, shijie.cai, muhammed.ali, thiagu.r
> -----Original Message-----
> From: Selvarasu Ganesan <selvarasu.g@samsung.com>
> Sent: Wednesday, September 16, 2026 5:52 PM
> To: krzk@kernel.org; peter.griffin@linaro.org; alim.akhtar@samsung.com;
> gregkh@linuxfoundation.org; robh@kernel.org; conor+dt@kernel.org;
> Thinh.Nguyen@synopsys.com; mani@kernel.org;
> selvarasu.g@samsung.com; linux-arm-kernel@lists.infradead.org; linux-
> samsung-soc@vger.kernel.org; linux-usb@vger.kernel.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org
> Cc: jh0801.jung@samsung.com; h10.kim@samsung.com;
> dh10.jung@samsung.com; akash.m5@samsung.com;
> hongpooh.kim@samsung.com; eomji.oh@samsung.com;
> shijie.cai@samsung.com; muhammed.ali@samsung.com;
> thiagu.r@samsung.com
> Subject: [PATCH v2 3/3] usb: dwc3: Add Exynos8855 to the generic platform
> driver
>
> Add the "samsung,snps-dwc3" compatible string to dwc3-generic-plat so the
> Exynos8855 USB3 DWC3 controller can probe through the generic DWC3
> platform glue. While at it, alphabetically reorder the existing entries.
>
> The "samsung,snps-dwc3" string is used as a generic fallback to support any
> Exynos SoC that utilizes a flattened model instantiation. This fallback allows
> multiple Exynos SoCs to be supported by the generic platform driver simply
> by adding the fallback compatible to their respective device tree nodes.
>
> Co-developed-by: Muhammed Ali <muhammed.ali@samsung.com>
> Signed-off-by: Muhammed Ali <muhammed.ali@samsung.com>
> Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
> ---
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
> drivers/usb/dwc3/dwc3-generic-plat.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/dwc3/dwc3-generic-plat.c b/drivers/usb/dwc3/dwc3-
> generic-plat.c
> index ca69ac0eb07c..10c1146564b7 100644
> --- a/drivers/usb/dwc3/dwc3-generic-plat.c
> +++ b/drivers/usb/dwc3/dwc3-generic-plat.c
> @@ -232,10 +232,11 @@ static const struct dwc3_generic_config
> eic7700_dwc3 = { };
>
> static const struct of_device_id dwc3_generic_of_match[] = {
> + { .compatible = "eswin,eic7700-dwc3", &eic7700_dwc3},
> + { .compatible = "fsl,ls1028a-dwc3", &fsl_ls1028_dwc3},
> + { .compatible = "samsung,snps-dwc3", },
> { .compatible = "spacemit,k1-dwc3", &spacemit_k1_dwc3},
> { .compatible = "spacemit,k3-dwc3", },
> - { .compatible = "fsl,ls1028a-dwc3", &fsl_ls1028_dwc3},
> - { .compatible = "eswin,eic7700-dwc3", &eic7700_dwc3},
> { .compatible = "starfive,jhb100-dwc3", },
> { /* sentinel */ }
> };
> --
> 2.17.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3
2026-09-18 3:25 ` Alim Akhtar
@ 2026-09-18 3:36 ` Selvarasu Ganesan
0 siblings, 0 replies; 14+ messages in thread
From: Selvarasu Ganesan @ 2026-09-18 3:36 UTC (permalink / raw)
To: Alim Akhtar, krzk, peter.griffin, gregkh, robh, conor+dt,
Thinh.Nguyen, mani, linux-arm-kernel, linux-samsung-soc,
linux-usb, devicetree, linux-kernel
Cc: jh0801.jung, h10.kim, dh10.jung, akash.m5, hongpooh.kim,
eomji.oh, shijie.cai, muhammed.ali, thiagu.r
On 9/18/2026 8:55 AM, Alim Akhtar wrote:
>
>> -----Original Message-----
>> From: Selvarasu Ganesan <selvarasu.g@samsung.com>
>> Sent: Wednesday, September 16, 2026 5:52 PM
>> To: krzk@kernel.org; peter.griffin@linaro.org; alim.akhtar@samsung.com;
>> gregkh@linuxfoundation.org; robh@kernel.org; conor+dt@kernel.org;
>> Thinh.Nguyen@synopsys.com; mani@kernel.org;
>> selvarasu.g@samsung.com; linux-arm-kernel@lists.infradead.org; linux-
>> samsung-soc@vger.kernel.org; linux-usb@vger.kernel.org;
>> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org
>> Cc: jh0801.jung@samsung.com; h10.kim@samsung.com;
>> dh10.jung@samsung.com; akash.m5@samsung.com;
>> hongpooh.kim@samsung.com; eomji.oh@samsung.com;
>> shijie.cai@samsung.com; muhammed.ali@samsung.com;
>> thiagu.r@samsung.com
>> Subject: [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3
>>
>> Add the Samsung Exynos8855 DWC3 binding using a flattened node
>> representation, where the DWC3 controller is directly addressable rather
>> than nested as a child node of a glue layer.
>>
>> This is the first Samsung Exynos binding using the flattened representation.
>> The existing samsung,exynos-dwc3 binding describes the parent and child
>> representation used by existing Exynos SoCs, which can be migrated to the
>> flattened model.
>>
>> Samsung Exynos SoCs sharing the same flattened model can be added by
>> using the samsung,snps-dwc3 fallback compatible and extending the
>> compatible enum with per SoC clock and property constraints.
>>
>> Co-developed-by: Muhammed Ali <muhammed.ali@samsung.com>
>> Signed-off-by: Muhammed Ali <muhammed.ali@samsung.com>
>> Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
>> ---
> Thanks for using flattened node representation. Are you planning to migrate other existing SoC as well?
>
> Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Hi Alim,
Thanks for your comments.
Yes, We are planning to migrate other existing SoCs to the flattened
node representation as well.
Thanks,
Selva
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3
2026-09-16 12:22 ` [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3 Selvarasu Ganesan
2026-09-18 3:25 ` Alim Akhtar
@ 2026-09-18 9:54 ` Krzysztof Kozlowski
2026-09-18 13:36 ` Selvarasu Ganesan
1 sibling, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-18 9:54 UTC (permalink / raw)
To: Selvarasu Ganesan
Cc: peter.griffin, alim.akhtar, gregkh, robh, conor+dt, Thinh.Nguyen,
mani, linux-arm-kernel, linux-samsung-soc, linux-usb, devicetree,
linux-kernel, jh0801.jung, h10.kim, dh10.jung, akash.m5,
hongpooh.kim, eomji.oh, shijie.cai, muhammed.ali, thiagu.r
On Wed, Sep 16, 2026 at 05:52:28PM +0530, Selvarasu Ganesan wrote:
> +maintainers:
> + - Krzysztof Kozlowski <krzk@kernel.org>
> + - Selvarasu Ganesan <selvarasu.g@samsung.com>
> +
> +description:
> + Describes the DWC3 USB controller block implemented on Samsung Exynos SoCs.
> +
> +select:
> + properties:
> + compatible:
> + contains:
> + const: samsung,snps-dwc3
> + required:
> + - compatible
This select is not needed.
> +
> +properties:
> + compatible:
> + items:
> + - enum:
> + - samsung,exynos8855-dwc3
> + - const: samsung,snps-dwc3
And this fallback is not really accurate. Samsung does not have snps
device, because snps is a vendor. Anyway, generic fallbacks should go
away, drop, so you are left with samsung,exynos8855-dwc3 only.
Filename should be then samsung,exynos8855-dwc3.yaml.
> +
> + reg:
> + maxItems: 1
> +
> + power-domains:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +
> + clocks:
> + description: |
> + Several clocks are used, depending on the variant. Typical ones are:
> + - ref: Reference clock for SOF/ITP generation.
> + - bus: Bus (APB) clock for register access.
You have only one variant, no? Or you mean one SoC has different
variants?
> + minItems: 1
> + maxItems: 4
Nope, you to list items.
> +
> + clock-names:
> + minItems: 1
> + maxItems: 4
> +
> +required:
> + - compatible
> + - reg
> + - clocks
> + - clock-names
> + - interrupts
> +
> +allOf:
> + - $ref: snps,dwc3-common.yaml#
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: samsung,exynos8855-dwc3
> + then:
> + properties:
> + clocks:
> + minItems: 2
> + maxItems: 2
How can it be two if you have ONLY one device in the binding and that
device has between 1 and 4?
This entire if is redundant, no? How many clocks do you actually have
there?
> + clock-names:
> + items:
> + - const: ref
> + - const: bus
> +
> +unevaluatedProperties: false
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/3] MAINTAINERS: add Samsung USB DT binding to ARM/SAMSUNG entry
2026-09-16 12:22 ` [PATCH v2 1/3] MAINTAINERS: add Samsung USB DT binding to ARM/SAMSUNG entry Selvarasu Ganesan
2026-09-18 3:19 ` Alim Akhtar
@ 2026-09-18 9:58 ` Krzysztof Kozlowski
2026-09-18 13:43 ` Selvarasu Ganesan
1 sibling, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-18 9:58 UTC (permalink / raw)
To: Selvarasu Ganesan
Cc: peter.griffin, alim.akhtar, gregkh, robh, conor+dt, Thinh.Nguyen,
mani, linux-arm-kernel, linux-samsung-soc, linux-usb, devicetree,
linux-kernel, jh0801.jung, h10.kim, dh10.jung, akash.m5,
hongpooh.kim, eomji.oh, shijie.cai, muhammed.ali, thiagu.r
On Wed, Sep 16, 2026 at 05:52:27PM +0530, Selvarasu Ganesan wrote:
> Add the Samsung USB devicetree binding file path under the existing
> ARM/Samsung SoC maintainership.
>
> Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
> ---
> MAINTAINERS | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index a53620839407..87a1ab24a375 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3576,6 +3576,7 @@ F: Documentation/devicetree/bindings/arm/samsung/
> F: Documentation/devicetree/bindings/hwinfo/samsung,*
> F: Documentation/devicetree/bindings/power/pd-samsung.yaml
> F: Documentation/devicetree/bindings/soc/samsung/
> +F: Documentation/devicetree/bindings/usb/samsung,*
I think this is not really needed. First of all, files will be covered
by N: pattern further in the entry. Second, patches for these should go
via USB, but listing here the directory could create impression that
Samsung SoC is responsible.
This one entry is harmless, but if adding this, then next time we got 15
more updates for each of Documentation/devicetree/bindings/*/samsung*
files. Is it worth?
Interested people can add themselves to the bindings maintainers entry,
that's always welcomed.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3
2026-09-18 9:54 ` Krzysztof Kozlowski
@ 2026-09-18 13:36 ` Selvarasu Ganesan
2026-09-18 13:46 ` Krzysztof Kozlowski
0 siblings, 1 reply; 14+ messages in thread
From: Selvarasu Ganesan @ 2026-09-18 13:36 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: peter.griffin, alim.akhtar, gregkh, robh, conor+dt, Thinh.Nguyen,
mani, linux-arm-kernel, linux-samsung-soc, linux-usb, devicetree,
linux-kernel, jh0801.jung, h10.kim, dh10.jung, akash.m5,
hongpooh.kim, eomji.oh, shijie.cai, muhammed.ali, thiagu.r
On 9/18/2026 3:24 PM, Krzysztof Kozlowski wrote:
> On Wed, Sep 16, 2026 at 05:52:28PM +0530, Selvarasu Ganesan wrote:
>> +maintainers:
>> + - Krzysztof Kozlowski <krzk@kernel.org>
>> + - Selvarasu Ganesan <selvarasu.g@samsung.com>
>> +
>> +description:
>> + Describes the DWC3 USB controller block implemented on Samsung Exynos SoCs.
>> +
>> +select:
>> + properties:
>> + compatible:
>> + contains:
>> + const: samsung,snps-dwc3
>> + required:
>> + - compatible
> This select is not needed.
>
>> +
>> +properties:
>> + compatible:
>> + items:
>> + - enum:
>> + - samsung,exynos8855-dwc3
>> + - const: samsung,snps-dwc3
> And this fallback is not really accurate. Samsung does not have snps
> device, because snps is a vendor. Anyway, generic fallbacks should go
> away, drop, so you are left with samsung,exynos8855-dwc3 only.
Hi Krzysztof,
Thanks for your review comments.
And We apologize for our repeated below explanation, but we wanted to
ensure our intentions were clear for each point to avoid any
misunderstanding.
The original intent of the generic fallback was to support existing
Exynos dwc3 bindings from a parent/child representation from
(samsung,exynos-dwc3.yaml), and upcoming SoCs (Exynos 8865, 9955, and
9965) can use this flattened representation without requiring a unique
compatible string for every project in the dwc3-generic-plat driver
of_match_table. We referred to qcom,snps-dwc3 as a helpful reference for
this approach.
As seen in samsung,exynos-dwc3.yaml, our existing bindings already
support multiple SoCs with diverse clock requirements within a single
file. Similarly, we plan to use a single flattened Samsung binding to
manage these diverse clock requirements. for different SoCs.
Regarding the migration for current and future SoCs, would you prefer,
Option A: A single flattened binding file using a common fallback
compatible string (instead of samsung,snps-dwc3) to minimize
of_match_table entries, and if/then constraints to handle diverse clock
requirements.
Option B: Separate binding files for each individual SoCs.
Could you please let us know your preferred approach? Once confirmed, we
will address your other review comments based on the selected approach.
Thanks,
Selva
> Filename should be then samsung,exynos8855-dwc3.yaml.
>
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + power-domains:
>> + maxItems: 1
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>> + clocks:
>> + description: |
>> + Several clocks are used, depending on the variant. Typical ones are:
>> + - ref: Reference clock for SOF/ITP generation.
>> + - bus: Bus (APB) clock for register access.
> You have only one variant, no? Or you mean one SoC has different
> variants?
>
>> + minItems: 1
>> + maxItems: 4
> Nope, you to list items.
>
>> +
>> + clock-names:
>> + minItems: 1
>> + maxItems: 4
>> +
>> +required:
>> + - compatible
>> + - reg
>> + - clocks
>> + - clock-names
>> + - interrupts
>> +
>> +allOf:
>> + - $ref: snps,dwc3-common.yaml#
>> +
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + const: samsung,exynos8855-dwc3
>> + then:
>> + properties:
>> + clocks:
>> + minItems: 2
>> + maxItems: 2
> How can it be two if you have ONLY one device in the binding and that
> device has between 1 and 4?
>
> This entire if is redundant, no? How many clocks do you actually have
> there?
>
>> + clock-names:
>> + items:
>> + - const: ref
>> + - const: bus
>> +
>> +unevaluatedProperties: false
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/3] MAINTAINERS: add Samsung USB DT binding to ARM/SAMSUNG entry
2026-09-18 9:58 ` Krzysztof Kozlowski
@ 2026-09-18 13:43 ` Selvarasu Ganesan
0 siblings, 0 replies; 14+ messages in thread
From: Selvarasu Ganesan @ 2026-09-18 13:43 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: peter.griffin, alim.akhtar, gregkh, robh, conor+dt, Thinh.Nguyen,
mani, linux-arm-kernel, linux-samsung-soc, linux-usb, devicetree,
linux-kernel, jh0801.jung, h10.kim, dh10.jung, akash.m5,
hongpooh.kim, eomji.oh, shijie.cai, muhammed.ali, thiagu.r
On 9/18/2026 3:28 PM, Krzysztof Kozlowski wrote:
> On Wed, Sep 16, 2026 at 05:52:27PM +0530, Selvarasu Ganesan wrote:
>> Add the Samsung USB devicetree binding file path under the existing
>> ARM/Samsung SoC maintainership.
>>
>> Signed-off-by: Selvarasu Ganesan <selvarasu.g@samsung.com>
>> ---
>> MAINTAINERS | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index a53620839407..87a1ab24a375 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -3576,6 +3576,7 @@ F: Documentation/devicetree/bindings/arm/samsung/
>> F: Documentation/devicetree/bindings/hwinfo/samsung,*
>> F: Documentation/devicetree/bindings/power/pd-samsung.yaml
>> F: Documentation/devicetree/bindings/soc/samsung/
>> +F: Documentation/devicetree/bindings/usb/samsung,*
> I think this is not really needed. First of all, files will be covered
> by N: pattern further in the entry. Second, patches for these should go
> via USB, but listing here the directory could create impression that
> Samsung SoC is responsible.
>
> This one entry is harmless, but if adding this, then next time we got 15
> more updates for each of Documentation/devicetree/bindings/*/samsung*
> files. Is it worth?
>
> Interested people can add themselves to the bindings maintainers entry,
> that's always welcomed.
Hi Krzysztof,
Thanks for your detailed explanations.
Agreed. We will drop this patch in the next version.
Thanks,
Selva
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3
2026-09-18 13:36 ` Selvarasu Ganesan
@ 2026-09-18 13:46 ` Krzysztof Kozlowski
2026-09-18 13:55 ` Krzysztof Kozlowski
0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-18 13:46 UTC (permalink / raw)
To: Selvarasu Ganesan
Cc: peter.griffin, alim.akhtar, gregkh, robh, conor+dt, Thinh.Nguyen,
mani, linux-arm-kernel, linux-samsung-soc, linux-usb, devicetree,
linux-kernel, jh0801.jung, h10.kim, dh10.jung, akash.m5,
hongpooh.kim, eomji.oh, shijie.cai, muhammed.ali, thiagu.r
On 18/09/2026 15:36, Selvarasu Ganesan wrote:
>
> On 9/18/2026 3:24 PM, Krzysztof Kozlowski wrote:
>> On Wed, Sep 16, 2026 at 05:52:28PM +0530, Selvarasu Ganesan wrote:
>>> +maintainers:
>>> + - Krzysztof Kozlowski <krzk@kernel.org>
>>> + - Selvarasu Ganesan <selvarasu.g@samsung.com>
>>> +
>>> +description:
>>> + Describes the DWC3 USB controller block implemented on Samsung Exynos SoCs.
>>> +
>>> +select:
>>> + properties:
>>> + compatible:
>>> + contains:
>>> + const: samsung,snps-dwc3
>>> + required:
>>> + - compatible
>> This select is not needed.
>>
>>> +
>>> +properties:
>>> + compatible:
>>> + items:
>>> + - enum:
>>> + - samsung,exynos8855-dwc3
>>> + - const: samsung,snps-dwc3
>> And this fallback is not really accurate. Samsung does not have snps
>> device, because snps is a vendor. Anyway, generic fallbacks should go
>> away, drop, so you are left with samsung,exynos8855-dwc3 only.
>
> Hi Krzysztof,
>
> Thanks for your review comments.
> And We apologize for our repeated below explanation, but we wanted to
> ensure our intentions were clear for each point to avoid any
> misunderstanding.
>
> The original intent of the generic fallback was to support existing
> Exynos dwc3 bindings from a parent/child representation from
How does it support existing bindings? I don't understand. There is no
such fallback in existing bindings.
> (samsung,exynos-dwc3.yaml), and upcoming SoCs (Exynos 8865, 9955, and
> 9965) can use this flattened representation without requiring a unique
> compatible string for every project in the dwc3-generic-plat driver
I did not forbid you to use fallbacks, so I do not understand why you
would need unique compatible for every device in the driver.
This is already heavily documented and explained in beginners docs.
Please read writing bindings docs and maybe also DTS101 slides. I even
gave the talk DTS101 two months ago in your timezone...
> of_match_table. We referred to qcom,snps-dwc3 as a helpful reference for
> this approach.
When people argue with me, they use more often poor examples as
reference, not the good ones. Interesting pattern.
And why you did not take the proper example you even mentioned here -
Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml - as
reference?
Anyway, existing bug is not a reason to add new bug, don't you think?
>
> As seen in samsung,exynos-dwc3.yaml, our existing bindings already
> support multiple SoCs with diverse clock requirements within a single
> file. Similarly, we plan to use a single flattened Samsung binding to
> manage these diverse clock requirements. for different SoCs.
>
> Regarding the migration for current and future SoCs, would you prefer,
I do not understand how any of this is relevant to my review comment.
>
> Option A: A single flattened binding file using a common fallback
> compatible string (instead of samsung,snps-dwc3) to minimize
> of_match_table entries, and if/then constraints to handle diverse clock
> requirements.
> Option B: Separate binding files for each individual SoCs.
>
> Could you please let us know your preferred approach? Once confirmed, we
> will address your other review comments based on the selected approach.
You do not have other bindings. You have one device. If you have more,
then post more. We are not making reviews based on imaginary future things.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3
2026-09-18 13:46 ` Krzysztof Kozlowski
@ 2026-09-18 13:55 ` Krzysztof Kozlowski
0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-18 13:55 UTC (permalink / raw)
To: Selvarasu Ganesan
Cc: peter.griffin, alim.akhtar, gregkh, robh, conor+dt, Thinh.Nguyen,
mani, linux-arm-kernel, linux-samsung-soc, linux-usb, devicetree,
linux-kernel, jh0801.jung, h10.kim, dh10.jung, akash.m5,
hongpooh.kim, eomji.oh, shijie.cai, muhammed.ali, thiagu.r
On 18/09/2026 15:46, Krzysztof Kozlowski wrote:
> On 18/09/2026 15:36, Selvarasu Ganesan wrote:
>
>>
>> As seen in samsung,exynos-dwc3.yaml, our existing bindings already
>> support multiple SoCs with diverse clock requirements within a single
>> file. Similarly, we plan to use a single flattened Samsung binding to
>> manage these diverse clock requirements. for different SoCs.
>>
>> Regarding the migration for current and future SoCs, would you prefer,
>
> I do not understand how any of this is relevant to my review comment.
>
>>
>> Option A: A single flattened binding file using a common fallback
>> compatible string (instead of samsung,snps-dwc3) to minimize
>> of_match_table entries, and if/then constraints to handle diverse clock
>> requirements.
>> Option B: Separate binding files for each individual SoCs.
>>
>> Could you please let us know your preferred approach? Once confirmed, we
>> will address your other review comments based on the selected approach.
>
> You do not have other bindings. You have one device. If you have more,
> then post more. We are not making reviews based on imaginary future things.
OK, I guess you referred to my further comments about if:then: block
here. When you have more devices, you can add them to the same binding,
with proper constraints for each variant.
https://elixir.bootlin.com/linux/v7.3-rc3/source/Documentation/devicetree/bindings/clock/samsung,exynos990-clock.yaml#L93
If the difference is only in clocks, one binding file is usually good to
hold many variants. If there are more differences, things are getting
too messy and more files are useful (see commit
c80dc8121d3af8f33413bb0f9ed9e81e2c576e1a for example).
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2026-09-18 13:55 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <CGME20260916122346epcas5p376bd1f05910537d3e0025aac2a62ddf2@epcas5p3.samsung.com>
2026-09-16 12:22 ` [PATCH v2 0/3] Add USB DWC3 support for Samsung Exynos8855 Selvarasu Ganesan
[not found] ` <CGME20260916122351epcas5p37666f1232d3b2bcc1d02a96ab0df4142@epcas5p3.samsung.com>
2026-09-16 12:22 ` [PATCH v2 1/3] MAINTAINERS: add Samsung USB DT binding to ARM/SAMSUNG entry Selvarasu Ganesan
2026-09-18 3:19 ` Alim Akhtar
2026-09-18 9:58 ` Krzysztof Kozlowski
2026-09-18 13:43 ` Selvarasu Ganesan
[not found] ` <CGME20260916122354epcas5p401fd6470d6cef75951af732b03aa5970@epcas5p4.samsung.com>
2026-09-16 12:22 ` [PATCH v2 2/3] dt-bindings: usb: Introduce samsung,snps-dwc3 Selvarasu Ganesan
2026-09-18 3:25 ` Alim Akhtar
2026-09-18 3:36 ` Selvarasu Ganesan
2026-09-18 9:54 ` Krzysztof Kozlowski
2026-09-18 13:36 ` Selvarasu Ganesan
2026-09-18 13:46 ` Krzysztof Kozlowski
2026-09-18 13:55 ` Krzysztof Kozlowski
[not found] ` <CGME20260916122357epcas5p3578059e36eafeb4602f4fb57cd72c883@epcas5p3.samsung.com>
2026-09-16 12:22 ` [PATCH v2 3/3] usb: dwc3: Add Exynos8855 to the generic platform driver Selvarasu Ganesan
2026-09-18 3:26 ` Alim Akhtar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®