[PATCH v8 2/3] dt-bindings: pwm: dwc: Add eswin compatible
From: dongxuyang
Date: Tue Jun 23 2026 - 03:15:10 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 | 32 ++++++++++++++++---
1 file changed, 28 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 213fdaef25d9..9a9a24ddc61b 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,6 +43,7 @@ properties:
- const: timer
resets:
+ minItems: 1
items:
- description: Interface bus (presetn) reset
- description: PWM timer logic (timer_N_resetn) reset
@@ -59,6 +59,21 @@ required:
- clocks
- clock-names
+allOf:
+ - $ref: pwm.yaml#
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: eswin,eic7700-pwm
+ then:
+ properties:
+ resets:
+ maxItems: 1
+ required:
+ - resets
+
additionalProperties: false
examples:
@@ -70,3 +85,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