* [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
[parent not found: <CGME20260916122351epcas5p37666f1232d3b2bcc1d02a96ab0df4142@epcas5p3.samsung.com>]
* [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
* 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 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 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
[parent not found: <CGME20260916122354epcas5p401fd6470d6cef75951af732b03aa5970@epcas5p4.samsung.com>]
* [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
* 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 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 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 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
[parent not found: <CGME20260916122357epcas5p3578059e36eafeb4602f4fb57cd72c883@epcas5p3.samsung.com>]
* [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 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
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®