[PATCH v13 2/5] dt-bindings: pwm: dwc: Add eswin compatible

From: dongxuyang

Date: Fri Jul 24 2026 - 04:48:22 EST


From: Xuyang Dong <dongxuyang@xxxxxxxxxxxxxxxxxx>

EIC7700 integrates the DesignWare PWM IP described by the generic
snps,dw-apb-timers-pwm2 binding. On this SoC, the presetn and
timer_N_resetn inputs are physically tied together to a single reset
line, so exactly one reset is both required and sufficient, unlike
the generic binding where up to two independent lines are optional.

Add the eswin,eic7700-pwm compatible string and constrain its resets
property to exactly one entry.

Signed-off-by: Xuyang Dong <dongxuyang@xxxxxxxxxxxxxxxxxx>
---
.../bindings/pwm/snps,dw-apb-timers-pwm2.yaml | 35 ++++++++++++++++---
1 file changed, 31 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 1f9d72f9f359..c65174e2045a 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
@@ -44,11 +43,13 @@ properties:
- const: timer

resets:
+ minItems: 1
items:
- description: Interface bus (presetn) reset
- description: PWM timer logic (timer_N_resetn) reset

reset-names:
+ minItems: 1
items:
- const: bus
- const: timer
@@ -64,6 +65,23 @@ required:
- clocks
- clock-names

+allOf:
+ - $ref: pwm.yaml#
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: eswin,eic7700-pwm
+ then:
+ properties:
+ resets:
+ items:
+ - description: Combined APB interface and timer logic reset
+ reset-names: false
+ required:
+ - resets
+
additionalProperties: false

examples:
@@ -75,3 +93,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