* [PATCH v2 0/2] Introduce DWC3 support for Exynos7870
@ 2025-02-18 18:54 Kaustabh Chakraborty
2025-02-18 18:54 ` [PATCH v2 1/2] dt-bindings: usb: samsung,exynos-dwc3: add exynos7870 support Kaustabh Chakraborty
2025-02-18 18:54 ` [PATCH v2 2/2] usb: dwc3: exynos: add support for exynos7870 Kaustabh Chakraborty
0 siblings, 2 replies; 5+ messages in thread
From: Kaustabh Chakraborty @ 2025-02-18 18:54 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Thinh Nguyen
Cc: Krzysztof Kozlowski, linux-usb, devicetree, linux-arm-kernel,
linux-samsung-soc, linux-kernel, Kaustabh Chakraborty
This patch series is a part of Exynos7870 upstreaming.
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
---
Changes in v2:
- Change compatible string (s/dwusb2/dwusb3).
- Rename clocks to "bus_early", "ctrl", and "ref".
- Set 3.0V regulator as mandatory.
- Link to v1: https://lore.kernel.org/r/20250204-exynos7870-usb-v1-0-a7753f8183a4@disroot.org
---
Kaustabh Chakraborty (2):
dt-bindings: usb: samsung,exynos-dwc3: add exynos7870 support
usb: dwc3: exynos: add support for exynos7870
.../bindings/usb/samsung,exynos-dwc3.yaml | 28 +++++++++++++++++++++-
drivers/usb/dwc3/dwc3-exynos.c | 9 +++++++
2 files changed, 36 insertions(+), 1 deletion(-)
---
base-commit: e5d3fd687aac5eceb1721fa92b9f49afcf4c3717
change-id: 20250203-exynos7870-usb-9f3a5ed7ee95
Best regards,
--
Kaustabh Chakraborty <kauschluss@disroot.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/2] dt-bindings: usb: samsung,exynos-dwc3: add exynos7870 support
2025-02-18 18:54 [PATCH v2 0/2] Introduce DWC3 support for Exynos7870 Kaustabh Chakraborty
@ 2025-02-18 18:54 ` Kaustabh Chakraborty
2025-02-20 8:29 ` Krzysztof Kozlowski
2025-02-18 18:54 ` [PATCH v2 2/2] usb: dwc3: exynos: add support for exynos7870 Kaustabh Chakraborty
1 sibling, 1 reply; 5+ messages in thread
From: Kaustabh Chakraborty @ 2025-02-18 18:54 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Thinh Nguyen
Cc: Krzysztof Kozlowski, linux-usb, devicetree, linux-arm-kernel,
linux-samsung-soc, linux-kernel, Kaustabh Chakraborty
Document compatible string for Exynos7870 DWC3-compatible USB 2.0
driver. The devicetree node requires three clocks, named "bus_early",
"ctrl", and "ref".
Unlike other variants, Exynos7870's USB controller requires a single
3.0V regulator. Assert that the other 1.0V regulator requirement is
enforced on variants individually other than Exynos7870's.
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
---
.../bindings/usb/samsung,exynos-dwc3.yaml | 28 +++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml b/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml
index 2b3430cebe99106f3b6201ab31d4d9e3fcc55627..b034b5f553491d2ea253c5f7bba18739219c6f61 100644
--- a/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml
@@ -16,6 +16,7 @@ properties:
- samsung,exynos5250-dwusb3
- samsung,exynos5433-dwusb3
- samsung,exynos7-dwusb3
+ - samsung,exynos7870-dwusb3
- samsung,exynos850-dwusb3
'#address-cells':
@@ -52,7 +53,6 @@ required:
- clock-names
- ranges
- '#size-cells'
- - vdd10-supply
- vdd33-supply
allOf:
@@ -72,6 +72,8 @@ allOf:
- const: susp_clk
- const: link_aclk
- const: link_pclk
+ required:
+ - vdd10-supply
- if:
properties:
@@ -86,6 +88,8 @@ allOf:
clock-names:
items:
- const: usbdrd30
+ required:
+ - vdd10-supply
- if:
properties:
@@ -103,6 +107,8 @@ allOf:
- const: susp_clk
- const: phyclk
- const: pipe_pclk
+ required:
+ - vdd10-supply
- if:
properties:
@@ -119,6 +125,24 @@ allOf:
- const: usbdrd30
- const: usbdrd30_susp_clk
- const: usbdrd30_axius_clk
+ required:
+ - vdd10-supply
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: samsung,exynos7870-dwusb3
+ then:
+ properties:
+ clocks:
+ minItems: 3
+ maxItems: 3
+ clock-names:
+ items:
+ - const: bus_early
+ - const: ctrl
+ - const: ref
- if:
properties:
@@ -134,6 +158,8 @@ allOf:
items:
- const: bus_early
- const: ref
+ required:
+ - vdd10-supply
additionalProperties: false
--
2.48.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] usb: dwc3: exynos: add support for exynos7870
2025-02-18 18:54 [PATCH v2 0/2] Introduce DWC3 support for Exynos7870 Kaustabh Chakraborty
2025-02-18 18:54 ` [PATCH v2 1/2] dt-bindings: usb: samsung,exynos-dwc3: add exynos7870 support Kaustabh Chakraborty
@ 2025-02-18 18:54 ` Kaustabh Chakraborty
2025-02-19 22:35 ` Thinh Nguyen
1 sibling, 1 reply; 5+ messages in thread
From: Kaustabh Chakraborty @ 2025-02-18 18:54 UTC (permalink / raw)
To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Thinh Nguyen
Cc: Krzysztof Kozlowski, linux-usb, devicetree, linux-arm-kernel,
linux-samsung-soc, linux-kernel, Kaustabh Chakraborty
Exynos7870 devices have a DWC3 compatible USB 2.0 controller.
Add support in the driver by:
- Adding its own compatible string, "samsung,exynos7870-dwusb3".
- Adding three USBDRD clocks named "bus_early", "ctrl", and "ref", to
be controlled by the driver.
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
---
drivers/usb/dwc3/dwc3-exynos.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-exynos.c
index f5d963fae9e069e1bd145ff5bd1b704da89fb74c..ca8d2955303c589ea03a261944aadb6582c9cb9f 100644
--- a/drivers/usb/dwc3/dwc3-exynos.c
+++ b/drivers/usb/dwc3/dwc3-exynos.c
@@ -163,6 +163,12 @@ static const struct dwc3_exynos_driverdata exynos7_drvdata = {
.suspend_clk_idx = 1,
};
+static const struct dwc3_exynos_driverdata exynos7870_drvdata = {
+ .clk_names = { "bus_early", "ctrl", "ref" },
+ .num_clks = 3,
+ .suspend_clk_idx = -1,
+};
+
static const struct dwc3_exynos_driverdata exynos850_drvdata = {
.clk_names = { "bus_early", "ref" },
.num_clks = 2,
@@ -185,6 +191,9 @@ static const struct of_device_id exynos_dwc3_match[] = {
}, {
.compatible = "samsung,exynos7-dwusb3",
.data = &exynos7_drvdata,
+ }, {
+ .compatible = "samsung,exynos7870-dwusb3",
+ .data = &exynos7870_drvdata,
}, {
.compatible = "samsung,exynos850-dwusb3",
.data = &exynos850_drvdata,
--
2.48.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] usb: dwc3: exynos: add support for exynos7870
2025-02-18 18:54 ` [PATCH v2 2/2] usb: dwc3: exynos: add support for exynos7870 Kaustabh Chakraborty
@ 2025-02-19 22:35 ` Thinh Nguyen
0 siblings, 0 replies; 5+ messages in thread
From: Thinh Nguyen @ 2025-02-19 22:35 UTC (permalink / raw)
To: Kaustabh Chakraborty
Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Alim Akhtar, Thinh Nguyen, Krzysztof Kozlowski,
linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org
On Wed, Feb 19, 2025, Kaustabh Chakraborty wrote:
> Exynos7870 devices have a DWC3 compatible USB 2.0 controller.
> Add support in the driver by:
> - Adding its own compatible string, "samsung,exynos7870-dwusb3".
> - Adding three USBDRD clocks named "bus_early", "ctrl", and "ref", to
> be controlled by the driver.
>
> Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
> ---
> drivers/usb/dwc3/dwc3-exynos.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-exynos.c
> index f5d963fae9e069e1bd145ff5bd1b704da89fb74c..ca8d2955303c589ea03a261944aadb6582c9cb9f 100644
> --- a/drivers/usb/dwc3/dwc3-exynos.c
> +++ b/drivers/usb/dwc3/dwc3-exynos.c
> @@ -163,6 +163,12 @@ static const struct dwc3_exynos_driverdata exynos7_drvdata = {
> .suspend_clk_idx = 1,
> };
>
> +static const struct dwc3_exynos_driverdata exynos7870_drvdata = {
> + .clk_names = { "bus_early", "ctrl", "ref" },
> + .num_clks = 3,
> + .suspend_clk_idx = -1,
> +};
> +
> static const struct dwc3_exynos_driverdata exynos850_drvdata = {
> .clk_names = { "bus_early", "ref" },
> .num_clks = 2,
> @@ -185,6 +191,9 @@ static const struct of_device_id exynos_dwc3_match[] = {
> }, {
> .compatible = "samsung,exynos7-dwusb3",
> .data = &exynos7_drvdata,
> + }, {
> + .compatible = "samsung,exynos7870-dwusb3",
> + .data = &exynos7870_drvdata,
> }, {
> .compatible = "samsung,exynos850-dwusb3",
> .data = &exynos850_drvdata,
>
> --
> 2.48.1
>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Thanks,
Thinh
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: usb: samsung,exynos-dwc3: add exynos7870 support
2025-02-18 18:54 ` [PATCH v2 1/2] dt-bindings: usb: samsung,exynos-dwc3: add exynos7870 support Kaustabh Chakraborty
@ 2025-02-20 8:29 ` Krzysztof Kozlowski
0 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2025-02-20 8:29 UTC (permalink / raw)
To: Kaustabh Chakraborty, Greg Kroah-Hartman, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Alim Akhtar, Thinh Nguyen
Cc: linux-usb, devicetree, linux-arm-kernel, linux-samsung-soc,
linux-kernel
On 18/02/2025 19:54, Kaustabh Chakraborty wrote:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: samsung,exynos7870-dwusb3
> + then:
> + properties:
> + clocks:
> + minItems: 3
> + maxItems: 3
> + clock-names:
> + items:
> + - const: bus_early
> + - const: ctrl
> + - const: ref
Other device has order bus_early + ref, so use the same here, thus
bus_early + ref + ctrl.
Rest looks fine.
>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-02-20 8:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-18 18:54 [PATCH v2 0/2] Introduce DWC3 support for Exynos7870 Kaustabh Chakraborty
2025-02-18 18:54 ` [PATCH v2 1/2] dt-bindings: usb: samsung,exynos-dwc3: add exynos7870 support Kaustabh Chakraborty
2025-02-20 8:29 ` Krzysztof Kozlowski
2025-02-18 18:54 ` [PATCH v2 2/2] usb: dwc3: exynos: add support for exynos7870 Kaustabh Chakraborty
2025-02-19 22:35 ` Thinh Nguyen
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).