* [PATCH v3 1/2] dt-bindings: usb: samsung,exynos-dwc3: add exynos7870 support
2025-02-28 19:40 [PATCH v3 0/2] Introduce DWC3 support for Exynos7870 Kaustabh Chakraborty
@ 2025-02-28 19:40 ` Kaustabh Chakraborty
2025-03-03 8:29 ` Krzysztof Kozlowski
2025-02-28 19:40 ` [PATCH v3 2/2] usb: dwc3: exynos: add support for exynos7870 Kaustabh Chakraborty
1 sibling, 1 reply; 5+ messages in thread
From: Kaustabh Chakraborty @ 2025-02-28 19:40 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",
"ref", and "ctrl".
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 f11e767a8abe1d2fb7faa6d6b5be09970c5c9b37..256bee2a03ca189f360e2b677f101dce25a0f368 100644
--- a/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/samsung,exynos-dwc3.yaml
@@ -17,6 +17,7 @@ properties:
- samsung,exynos5250-dwusb3
- samsung,exynos5433-dwusb3
- samsung,exynos7-dwusb3
+ - samsung,exynos7870-dwusb3
- samsung,exynos850-dwusb3
- items:
- const: samsung,exynos990-dwusb3
@@ -56,7 +57,6 @@ required:
- clock-names
- ranges
- '#size-cells'
- - vdd10-supply
- vdd33-supply
allOf:
@@ -76,6 +76,8 @@ allOf:
- const: susp_clk
- const: link_aclk
- const: link_pclk
+ required:
+ - vdd10-supply
- if:
properties:
@@ -90,6 +92,8 @@ allOf:
clock-names:
items:
- const: usbdrd30
+ required:
+ - vdd10-supply
- if:
properties:
@@ -107,6 +111,8 @@ allOf:
- const: susp_clk
- const: phyclk
- const: pipe_pclk
+ required:
+ - vdd10-supply
- if:
properties:
@@ -123,6 +129,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: ref
+ - const: ctrl
- if:
properties:
@@ -138,6 +162,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 v3 2/2] usb: dwc3: exynos: add support for exynos7870
2025-02-28 19:40 [PATCH v3 0/2] Introduce DWC3 support for Exynos7870 Kaustabh Chakraborty
2025-02-28 19:40 ` [PATCH v3 1/2] dt-bindings: usb: samsung,exynos-dwc3: add exynos7870 support Kaustabh Chakraborty
@ 2025-02-28 19:40 ` Kaustabh Chakraborty
2025-03-03 8:29 ` Krzysztof Kozlowski
1 sibling, 1 reply; 5+ messages in thread
From: Kaustabh Chakraborty @ 2025-02-28 19:40 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", "ref", and "ctrl", to
be controlled by the driver.
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
---
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..de686b9e64046be12e52c87d80282558ac5b5f52 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", "ref", "ctrl" },
+ .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