Re: [PATCH v4 1/2] dt-bindings: embedded-controller: Add synology,microp device
From: Rob Herring
Date: Wed Mar 25 2026 - 18:08:04 EST
On Sat, Mar 21, 2026 at 01:02:22PM +0000, Markus Probst wrote:
> On Sat, 2026-03-21 at 13:32 +0100, Krzysztof Kozlowski wrote:
> > On 21/03/2026 13:17, Markus Probst wrote:
> > > On Sat, 2026-03-21 at 11:21 +0100, Krzysztof Kozlowski wrote:
> > > > On Fri, Mar 20, 2026 at 11:09:53PM +0100, Markus Probst wrote:
> > > > > +
> > > > > +examples:
> > > > > + - |
> > > > > + #include <dt-bindings/leds/common.h>
> > > > > +
> > > > > + embedded-controller {
> > > > > + compatible = "synology,microp";
> > > > > +
> > > > > + power-led {
> > > > > + color = <LED_COLOR_ID_BLUE>;
> > > > > + function = LED_FUNCTION_POWER;
> > > > > + };
> > > > > +
> > > > > + status-led {
> > > > > + color = <LED_COLOR_ID_MULTI>;
> > > > > + function = LED_FUNCTION_STATUS;
> > > > > + };
> > > >
> > > > Where are other leds? Binding mentions 4.
> > > >
> > > Status and Power leds exist on every Synology NAS model I am aware of.
> > > But there are models which have additionally a usb or alert led. The
> > > device nodes for those leds should only be present, if they exist
> > > physically on the device.
> >
> > Then help me to understand - are these different models?
> Yes, even with different CPU architectures.
> How much the "microp" device differs is not clear, but the
> communication protocol is the same.
> >
> > EC is not a generic purpose component and is tightly coupled with the
> > actual board it is being present on. Unless exactly same board is used
> > in different models (unlikely) then the compatible defines the LEDs and
> > they are not needed in DT.
> So for instance "synology,ds923p-microp", "synology,ds723p-microp" etc.
> ?
>
> I can do that, but that would be many.
How many is many?
> Having it generic seems more flexible.
Is there firmware for these ECs? If so is it the same or different
firmware for each device? If the former or the functionality is really
trivial, then I'd be more comfortable with 1 or a few compatibles.
Generic means you'll need to add quirk properties when there is some
difference the OS needs to handle which we'll reject. So stuck with one
compatible and no way to distinguish different ECs is anything but
flexible.
Rob