On Thu, May 06, 2021 at 02:10:49PM +0800, Billy Tsai wrote: > This patch adds device bindings for aspeed pwm-tach device which is a > multi-function device include pwn and tach function and pwm device which > should be the sub-node of pwm-tach device. > > Signed-off-by: Billy Tsai <billy_tsai@xxxxxxxxxxxxxx> > --- > .../bindings/mfd/aspeed,ast2600-pwm-tach.yaml | 55 +++++++++++++++++++ > .../bindings/pwm/aspeed,ast2600-pwm.yaml | 41 ++++++++++++++ > 2 files changed, 96 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/aspeed,ast2600-pwm-tach.yaml > create mode 100644 Documentation/devicetree/bindings/pwm/aspeed,ast2600-pwm.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/aspeed,ast2600-pwm-tach.yaml b/Documentation/devicetree/bindings/mfd/aspeed,ast2600-pwm-tach.yaml > new file mode 100644 > index 000000000000..9626bbd50acd > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/aspeed,ast2600-pwm-tach.yaml > @@ -0,0 +1,55 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (C) 2021 ASPEED, Inc. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/aspeed,ast2600-pwm-tach.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: PWM Tach controller Device Tree Bindings > + > +description: | > + The PWM Tach controller is represented as a multi-function device which > + includes: > + PWM > + Tach > + > +maintainers: > + - Billy Tsai <billy_tsai@xxxxxxxxxxxxxx> > + > +properties: > + compatible: > + items: > + - enum: > + - aspeed,ast2600-pwm-tach > + - const: syscon > + - const: simple-mfd > + reg: > + maxItems: 1 > + clocks: > + maxItems: 1 > + resets: > + maxItems: 1 > + > +required: > + - compatible > + - reg > + - clocks > + - resets > + > +additionalProperties: > + type: object > + > +examples: > + - | > + #include <dt-bindings/clock/ast2600-clock.h> > + pwm_tach: pwm_tach@1e610000 { > + compatible = "aspeed,ast2600-pwm-tach", "syscon", "simple-mfd"; > + reg = <0x1e610000 0x100>; > + clocks = <&syscon ASPEED_CLK_AHB>; > + resets = <&syscon ASPEED_RESET_PWM>; > + > + pwm: pwm { > + compatible = "aspeed,ast2600-pwm"; > + #pwm-cells = <3>; There's no need for a child node here. Just put #pwm-cells in the parent node. Of course this all looks incomplete if you ever plan to hook up fans and have more than 1 PWM and Tach signal. > + }; > + };