Message ID | 20210506061050.8001-2-billy_tsai@aspeedtech.com |
---|---|
State | New |
Headers | show |
Series | Support pwm driver for aspeed ast26xx | expand |
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@aspeedtech.com> > --- > .../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@aspeedtech.com> > + > +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. > + }; > + };
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@aspeedtech.com> + +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>; + }; + }; diff --git a/Documentation/devicetree/bindings/pwm/aspeed,ast2600-pwm.yaml b/Documentation/devicetree/bindings/pwm/aspeed,ast2600-pwm.yaml new file mode 100644 index 000000000000..78db1c9c9b10 --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/aspeed,ast2600-pwm.yaml @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (C) 2021 ASPEED, Inc. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pwm/aspeed,ast2600-pwm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ASPEED AST2600 PWM controller + +maintainers: + - Billy Tsai <billy_tsai@aspeedtech.com> + +description: | + The ASPEED PWM controller can support upto 16 PWM outputs. + +properties: + compatible: + enum: + - aspeed,ast2600-pwm + + "#pwm-cells": + const: 3 + +additionalProperties: false + +examples: + - | + // The PWM should be a subnode of a "aspeed,ast2600-pwm-tach" compatible + // node. + #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>; + }; + };
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@aspeedtech.com> --- .../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