Add an option to support #pwm-cells up to 4. The additional cell is used
to enable the WDT reset feature, which is specific to the ASPEED PWM
controller.
Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
Change-Id: Iefcc9622ac3dc684441d3e77aeb53c00f2ce4097
---
.../bindings/hwmon/aspeed,g6-pwm-tach.yaml | 25 ++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.yaml b/Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.yaml
index 9e5ed901ae54..0cc92ce29ece 100644
--- a/Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.yaml
+++ b/Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.yaml
@@ -31,7 +31,11 @@ properties:
maxItems: 1
"#pwm-cells":
- const: 3
+ enum: [3, 4]
+ description: |
+ The value should be 4 to enable the WDT reload feature, which will change the duty cycle to
+ a preprogrammed value after WDT/EXTRST#.
+ The range for the fourth cell value supported by this binding is 0 to 255.
patternProperties:
"^fan-[0-9]+$":
@@ -69,3 +73,22 @@ examples:
pwms = <&pwm_tach 1 40000 0>;
};
};
+ - |
+ #include <dt-bindings/clock/aspeed-clock.h>
+ pwm_tach: pwm-tach-controller@1e610000 {
+ compatible = "aspeed,ast2600-pwm-tach";
+ reg = <0x1e610000 0x100>;
+ clocks = <&syscon ASPEED_CLK_AHB>;
+ resets = <&syscon ASPEED_RESET_PWM>;
+ #pwm-cells = <4>;
+
+ fan-0 {
+ tach-ch = /bits/ 8 <0x0>;
+ pwms = <&pwm_tach 0 40000 0 128>;
+ };
+
+ fan-1 {
+ tach-ch = /bits/ 8 <0x1 0x2>;
+ pwms = <&pwm_tach 1 40000 0 160>;
+ };
+ };
--
2.25.1
On Thu, Oct 24, 2024 at 03:15:47PM +0800, Billy Tsai wrote: > Add an option to support #pwm-cells up to 4. The additional cell is used > to enable the WDT reset feature, which is specific to the ASPEED PWM > controller. Use subject prefixes matching the subsystem. > > Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com> > Change-Id: Iefcc9622ac3dc684441d3e77aeb53c00f2ce4097 Drop. > --- > .../bindings/hwmon/aspeed,g6-pwm-tach.yaml | 25 ++++++++++++++++++- > 1 file changed, 24 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.yaml b/Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.yaml > index 9e5ed901ae54..0cc92ce29ece 100644 > --- a/Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.yaml > +++ b/Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.yaml > @@ -31,7 +31,11 @@ properties: > maxItems: 1 > > "#pwm-cells": > - const: 3 > + enum: [3, 4] > + description: | > + The value should be 4 to enable the WDT reload feature, which will change the duty cycle to > + a preprogrammed value after WDT/EXTRST#. > + The range for the fourth cell value supported by this binding is 0 to 255. Wrap lines at 80. > > patternProperties: > "^fan-[0-9]+$": > @@ -69,3 +73,22 @@ examples: > pwms = <&pwm_tach 1 40000 0>; > }; > }; > + - | > + #include <dt-bindings/clock/aspeed-clock.h> > + pwm_tach: pwm-tach-controller@1e610000 { > + compatible = "aspeed,ast2600-pwm-tach"; > + reg = <0x1e610000 0x100>; > + clocks = <&syscon ASPEED_CLK_AHB>; > + resets = <&syscon ASPEED_RESET_PWM>; > + #pwm-cells = <4>; > + > + fan-0 { > + tach-ch = /bits/ 8 <0x0>; > + pwms = <&pwm_tach 0 40000 0 128>; > + }; > + > + fan-1 { > + tach-ch = /bits/ 8 <0x1 0x2>; > + pwms = <&pwm_tach 1 40000 0 160>; > + }; > + }; > -- > 2.25.1 >
On Thu, 24 Oct 2024 15:15:47 +0800, Billy Tsai wrote: > Add an option to support #pwm-cells up to 4. The additional cell is used > to enable the WDT reset feature, which is specific to the ASPEED PWM > controller. > > Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com> > Change-Id: Iefcc9622ac3dc684441d3e77aeb53c00f2ce4097 > --- > .../bindings/hwmon/aspeed,g6-pwm-tach.yaml | 25 ++++++++++++++++++- > 1 file changed, 24 insertions(+), 1 deletion(-) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.example.dts:54.48-70.11: ERROR (duplicate_label): /example-1/pwm-tach-controller@1e610000: Duplicate label 'pwm_tach' on /example-1/pwm-tach-controller@1e610000 and /example-0/pwm-tach-controller@1e610000 ERROR: Input tree has errors, aborting (use -f to force output) make[2]: *** [scripts/Makefile.dtbs:129: Documentation/devicetree/bindings/hwmon/aspeed,g6-pwm-tach.example.dtb] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1442: dt_binding_check] Error 2 make: *** [Makefile:224: __sub-make] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20241024071548.3370363-2-billy_tsai@aspeedtech.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
© 2016 - 2024 Red Hat, Inc.