[PATCH v3 1/7] dt-bindings: mfd: add binding for qnap,ts433-mcu devices

Heiko Stuebner posted 7 patches 1 year, 6 months ago
There is a newer version of this series
[PATCH v3 1/7] dt-bindings: mfd: add binding for qnap,ts433-mcu devices
Posted by Heiko Stuebner 1 year, 6 months ago
These MCUs can be found in network attached storage devices made by QNAP.
They are connected to a serial port of the host device and provide
functionality like LEDs, power-control and temperature monitoring.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
---
 .../bindings/mfd/qnap,ts433-mcu.yaml          | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml

diff --git a/Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml b/Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml
new file mode 100644
index 0000000000000..5ae19d8faedbd
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/qnap,ts433-mcu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: QNAP NAS on-board Microcontroller
+
+maintainers:
+  - Heiko Stuebner <heiko@sntech.de>
+
+description:
+  QNAP embeds a microcontroller on their NAS devices adding system feature
+  as PWM Fan control, additional LEDs, power button status and more.
+
+properties:
+  compatible:
+    enum:
+      - qnap,ts433-mcu
+
+  "#cooling-cells":
+    const: 2
+
+  cooling-levels:
+    description: PWM duty cycle values corresponding to thermal cooling states.
+    $ref: /schemas/types.yaml#/definitions/uint32-array
+    items:
+      maximum: 255
+
+required:
+  - compatible
+
+additionalProperties: false
+
+examples:
+  - |
+    uart {
+      mcu {
+        compatible = "qnap,ts433-mcu";
+        #cooling-cells = <2>;
+        cooling-levels = <0 64 89 128 166 204 221 238>;
+      };
+    };
-- 
2.39.2
Re: [PATCH v3 1/7] dt-bindings: mfd: add binding for qnap,ts433-mcu devices
Posted by Rob Herring 1 year, 6 months ago
On Wed, Jul 31, 2024 at 11:24:24PM +0200, Heiko Stuebner wrote:
> These MCUs can be found in network attached storage devices made by QNAP.
> They are connected to a serial port of the host device and provide
> functionality like LEDs, power-control and temperature monitoring.
> 
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> ---
>  .../bindings/mfd/qnap,ts433-mcu.yaml          | 43 +++++++++++++++++++
>  1 file changed, 43 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml
> 
> diff --git a/Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml b/Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml
> new file mode 100644
> index 0000000000000..5ae19d8faedbd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml
> @@ -0,0 +1,43 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/qnap,ts433-mcu.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: QNAP NAS on-board Microcontroller
> +
> +maintainers:
> +  - Heiko Stuebner <heiko@sntech.de>
> +
> +description:
> +  QNAP embeds a microcontroller on their NAS devices adding system feature
> +  as PWM Fan control, additional LEDs, power button status and more.

Doesn't really look like the binding is complete.

> +
> +properties:
> +  compatible:
> +    enum:
> +      - qnap,ts433-mcu
> +
> +  "#cooling-cells":
> +    const: 2
> +
> +  cooling-levels:
> +    description: PWM duty cycle values corresponding to thermal cooling states.
> +    $ref: /schemas/types.yaml#/definitions/uint32-array
> +    items:
> +      maximum: 255

These are fan properties and should be in a "fan" node referencing 
hwmon/fan-common.yaml.

Rob
Re: [PATCH v3 1/7] dt-bindings: mfd: add binding for qnap,ts433-mcu devices
Posted by Heiko Stübner 1 year, 6 months ago
Hi Rob,

Am Montag, 5. August 2024, 21:17:23 CEST schrieb Rob Herring:
> On Wed, Jul 31, 2024 at 11:24:24PM +0200, Heiko Stuebner wrote:
> > These MCUs can be found in network attached storage devices made by QNAP.
> > They are connected to a serial port of the host device and provide
> > functionality like LEDs, power-control and temperature monitoring.
> > 
> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> > Signed-off-by: Heiko Stuebner <heiko@sntech.de>
> > ---
> >  .../bindings/mfd/qnap,ts433-mcu.yaml          | 43 +++++++++++++++++++
> >  1 file changed, 43 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml b/Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml
> > new file mode 100644
> > index 0000000000000..5ae19d8faedbd
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mfd/qnap,ts433-mcu.yaml
> > @@ -0,0 +1,43 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/mfd/qnap,ts433-mcu.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: QNAP NAS on-board Microcontroller
> > +
> > +maintainers:
> > +  - Heiko Stuebner <heiko@sntech.de>
> > +
> > +description:
> > +  QNAP embeds a microcontroller on their NAS devices adding system feature
> > +  as PWM Fan control, additional LEDs, power button status and more.
> 
> Doesn't really look like the binding is complete.

Hmm, apart from the fan subnode, anything else that is missing?

Input device does not need data from devicetree, as the existence
of the button and buzzer is attached to the specific mcu-compatible.

Similar for the LEDs I guess, their number and color are a property
of the MCU variant used. I guess one could do subnodes for the
linux,default-trigger property?


> > +
> > +properties:
> > +  compatible:
> > +    enum:
> > +      - qnap,ts433-mcu
> > +
> > +  "#cooling-cells":
> > +    const: 2
> > +
> > +  cooling-levels:
> > +    description: PWM duty cycle values corresponding to thermal cooling states.
> > +    $ref: /schemas/types.yaml#/definitions/uint32-array
> > +    items:
> > +      maximum: 255
> 
> These are fan properties and should be in a "fan" node referencing 
> hwmon/fan-common.yaml.

ok, I'll add a fan-0 subnode as some hwmon already does and move the
cooling properties into it.


Heiko