diff mbox series

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

Message ID 20240731212430.2677900-2-heiko@sntech.de
State New
Headers show
Series Drivers to support the MCU on QNAP NAS devices | expand

Commit Message

Heiko Stuebner July 31, 2024, 9:24 p.m. UTC
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

Comments

Rob Herring Aug. 5, 2024, 7:17 p.m. UTC | #1
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
Heiko Stuebner Aug. 7, 2024, 9:34 a.m. UTC | #2
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
diff mbox series

Patch

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>;
+      };
+    };