[PATCH v7 1/2] dt-bindings: pwm: dwc: Add eswin compatible and resets property

From: dongxuyang

Date: Fri Jun 05 2026 - 04:32:47 EST


From: Xuyang Dong <dongxuyang@xxxxxxxxxxxxxxxxxx>

EIC7700 use DesignWare IP for PWM controllers. Add ESWIN EIC7700 support
in snps,dw-apb-timers-pwm2.yaml.

The DesignWare PWM includes separate reset signals dedicated to each clock
domain:
The presetn signal resets logic in pclk domain.
The timer_N_resetn signal resets logic in the timer_N_clk domain.
The resets are active-low.

The generic snps,dw-apb-timers-pwm2 binding allows one or two optional
reset lines depending on SoC integration.

On EIC7700, the presetn and timer_N_resetn inputs are physically tied
to a single reset line, therefore exactly one reset is required.

Signed-off-by: Xuyang Dong <dongxuyang@xxxxxxxxxxxxxxxxxx>
---
.../bindings/pwm/snps,dw-apb-timers-pwm2.yaml | 38 +++++++++++++++++--
1 file changed, 34 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/pwm/snps,dw-apb-timers-pwm2.yaml b/Documentation/devicetree/bindings/pwm/snps,dw-apb-timers-pwm2.yaml
index 7523a89a1773..a4b7929f2e05 100644
--- a/Documentation/devicetree/bindings/pwm/snps,dw-apb-timers-pwm2.yaml
+++ b/Documentation/devicetree/bindings/pwm/snps,dw-apb-timers-pwm2.yaml
@@ -20,12 +20,11 @@ description:
instead of having to encode the IP version number in the device tree
compatible.

-allOf:
- - $ref: pwm.yaml#
-
properties:
compatible:
- const: snps,dw-apb-timers-pwm2
+ enum:
+ - snps,dw-apb-timers-pwm2
+ - eswin,eic7700-pwm

reg:
maxItems: 1
@@ -43,6 +42,12 @@ properties:
- const: bus
- const: timer

+ resets:
+ minItems: 1
+ items:
+ - description: Interface bus reset
+ - description: PWM timer logic reset
+
snps,pwm-number:
$ref: /schemas/types.yaml#/definitions/uint32
description: The number of PWM channels configured for this instance
@@ -54,6 +59,22 @@ required:
- clocks
- clock-names

+allOf:
+ - $ref: pwm.yaml#
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: eswin,eic7700-pwm
+ then:
+ properties:
+ resets:
+ minItems: 1
+ maxItems: 1
+ required:
+ - resets
+
additionalProperties: false

examples:
@@ -65,3 +86,12 @@ examples:
clocks = <&bus>, <&timer>;
clock-names = "bus", "timer";
};
+ - |
+ pwm@50818000 {
+ compatible = "eswin,eic7700-pwm";
+ reg = <0x50818000 0x4000>;
+ #pwm-cells = <3>;
+ clocks = <&bus>, <&timer>;
+ clock-names = "bus", "timer";
+ resets = <&reset>;
+ };
--
2.34.1