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> Change-Id: I18d9dea14c3a04e1b7e38ffecd49d45917b9b545 --- .../bindings/mfd/aspeed,ast2600-pwm-tach.yaml | 60 +++++++++++++++++++ .../bindings/pwm/aspeed,ast2600-pwm.yaml | 44 ++++++++++++++ 2 files changed, 104 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..eaf8bdf8d44e --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/aspeed,ast2600-pwm-tach.yaml @@ -0,0 +1,60 @@ +# 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 + "#address-cells": + const: 1 + "#size-cells": + const: 1 + +required: + - compatible + - reg + - "#address-cells" + - "#size-cells" + +additionalProperties: + type: object + +examples: + - | + pwm_tach: pwm_tach@1e610000 { + compatible = "aspeed,ast2600-pwm-tach", "syscon", "simple-mfd"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x1e610000 0x100>; + + pwm: pwm@0 { + compatible = "aspeed,ast2600-pwm"; + #pwm-cells = <3>; + reg = <0x0 0x100>; + }; + + tach: tach@1 { + compatible = "aspeed,ast2600-tach"; + reg = <0x0 0x100>; + }; + }; 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..97923e68ccb9 --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/aspeed,ast2600-pwm.yaml @@ -0,0 +1,44 @@ +# 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@xxxxxxxxxxxxxx> + +description: | + The ASPEED PWM controller can support upto 16 PWM outputs. + +properties: + compatible: + enum: + - aspeed,ast2600-pwm + + "#pwm-cells": + const: 3 + + reg: + maxItems: 1 + +additionalProperties: false + +examples: + - | + // The PWM should be a subnode of a "aspeed,ast2600-pwm-tach" compatible + // node. + pwm_tach: pwm_tach@1e610000 { + compatible = "aspeed,ast2600-pwm-tach", "syscon", "simple-mfd"; + #address-cells = <1>; + #size-cells = <1>; + reg = <0x1e610000 0x100>; + + pwm: pwm@0 { + compatible = "aspeed,ast2600-pwm"; + #pwm-cells = <3>; + reg = <0x0 0x100>; + }; + }; -- 2.25.1