Re: [PATCH v6 2/2] dt-bindings: embedded-controller: Add synology microp devices

From: Krzysztof Kozlowski

Date: Mon Apr 06 2026 - 03:59:51 EST


On Sun, Apr 05, 2026 at 07:36:29PM +0200, Markus Probst wrote:
> Add the Synology Microp devicetree bindings. Those devices are
> microcontrollers found on Synology NAS devices. They are connected to a
> serial port on the host device.
>
> Those devices are used to control certain LEDs, fan speeds, a beeper, to
> handle buttons, fan failures and to properly shutdown and reboot the
> device.
>
> This includes the following compatible ids:
> - synology,ds923p-microp
> - synology,ds918p-microp
> - synology,ds214play-microp
> - synology,ds225p-microp
> - synology,ds425p-microp
> - synology,ds710p-microp
> - synology,ds1010p-microp
> - synology,ds723p-microp
> - synology,ds1522p-microp
> - synology,rs422p-microp
> - synology,ds725p-microp
> - synology,ds118-microp
> - synology,ds124-microp
> - synology,ds223-microp
> - synology,ds223j-microp
> - synology,ds1823xsp-microp
> - synology,rs822p-microp
> - synology,rs1221p-microp
> - synology,rs1221rpp-microp
> - synology,ds925p-microp
> - synology,ds1525p-microp
> - synology,ds1825p-microp

Drop, we see this in the diff.

>
> Signed-off-by: Markus Probst <markus.probst@xxxxxxxxx>
> ---
> .../synology,ds923p-microp.yaml | 112 +++++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 113 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/embedded-controller/synology,ds923p-microp.yaml b/Documentation/devicetree/bindings/embedded-controller/synology,ds923p-microp.yaml
> new file mode 100644
> index 000000000000..4518e9b74be1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/embedded-controller/synology,ds923p-microp.yaml
> @@ -0,0 +1,112 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/embedded-controller/synology,ds923p-microp.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Synology NAS on-board Microcontroller
> +
> +maintainers:
> + - Markus Probst <markus.probst@xxxxxxxxx>
> +
> +description: |
> + Synology Microp is a microcontroller found in Synology NAS devices.
> + It is connected to a serial port on the host device.
> +
> + It is necessary to properly shutdown and reboot the NAS device and
> + provides additional functionality such as led control, fan speed control,
> + a beeper and buttons on the NAS device.
> +
> +properties:
> + compatible:
> + enum:
> + - synology,ds923p-microp
> + - synology,ds918p-microp
> + - synology,ds214play-microp
> + - synology,ds225p-microp
> + - synology,ds425p-microp
> + - synology,ds710p-microp
> + - synology,ds1010p-microp
> + - synology,ds723p-microp
> + - synology,ds1522p-microp
> + - synology,rs422p-microp
> + - synology,ds725p-microp
> + - synology,ds118-microp
> + - synology,ds124-microp
> + - synology,ds223-microp
> + - synology,ds223j-microp
> + - synology,ds1823xsp-microp
> + - synology,rs822p-microp
> + - synology,rs1221p-microp
> + - synology,rs1221rpp-microp
> + - synology,ds925p-microp
> + - synology,ds1525p-microp
> + - synology,ds1825p-microp

So we already talked about this and you were told to use compatibility.
Your driver clearly states several of these are compatible, so I am
confused that I do not see it expressed here.

> +
> + fan-failure-gpios:
> + description: GPIOs needed to determine which fans stopped working on a fan failure event.
> + minItems: 2
> + maxItems: 3
> +
> +required:
> + - compatible
> +
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - synology,ds214play-microp
> + - synology,ds225p-microp
> + - synology,ds710p-microp
> + - synology,ds723p-microp
> + - synology,ds725p-microp
> + - synology,ds118-microp
> + - synology,ds124-microp
> + - synology,ds223-microp
> + - synology,ds223j-microp
> + - synology,ds1823xsp-microp
> + - synology,rs822p-microp
> + - synology,rs1221p-microp
> + - synology,rs1221rpp-microp
> + - synology,ds1825p-microp
> + then:
> + properties:
> + fan-failure-gpios: false
> + else:
> + required:
> + - fan-failure-gpios
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/leds/common.h>
> + #include <dt-bindings/gpio/gpio.h>
> +
> + embedded-controller {
> + compatible = "synology,ds923p-microp";
> +
> + fan-failure-gpios = <&gpio 68 GPIO_ACTIVE_HIGH>, <&gpio 69 GPIO_ACTIVE_HIGH>;

Keep only one example, they are basically the same. Difference in one
property does not need a new example.

Best regards,
Krzysztof