On Tue, Sep 12, 2023 at 03:44:30PM +0200, Linus Walleij wrote:
> We reuse the trigger-sources phandle to just point to
> GPIOs we may want to use as LED triggers.
>
> Example:
>
> gpio: gpio@0 {
> compatible "my-gpio";
> gpio-controller;
> #gpio-cells = <2>;
> interrupt-controller;
> #interrupt-cells = <2>;
> #trigger-source-cells = <2>;
BTW, this is not documented for any GPIO binding. If we want to specify
the cell size, then it has to be added to every GPIO controller binding.
If not, we then need to reference gpio.yaml in every GPIO controller
binding (along with unevaluatedProperties). Doesn't have to be done for
this patch to go in though.
> };
>
> leds {
> compatible = "gpio-leds";
> led-my-gpio {
> label = "device:blue:myled";
> gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
> default-state = "off";
> linux,default-trigger = "gpio";
> trigger-sources = <&gpio 1 GPIO_ACTIVE_HIGH>;
> };
> };
>
> Signed-off-by: Linus Walleij <[email protected]>
> ---
> Documentation/devicetree/bindings/leds/common.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/leds/common.yaml b/Documentation/devicetree/bindings/leds/common.yaml
> index 5fb7007f3618..b42950643b9d 100644
> --- a/Documentation/devicetree/bindings/leds/common.yaml
> +++ b/Documentation/devicetree/bindings/leds/common.yaml
> @@ -191,6 +191,8 @@ properties:
> each of them having its own LED assigned (assuming they are not
> hardwired). In such cases this property should contain phandle(s) of
> related source device(s).
> + Another example is a GPIO line that will be monitored and mirror the
> + state of the line (with or without inversion flags) to the LED.
> In many cases LED can be related to more than one device (e.g. one USB LED
> vs. multiple USB ports). Each source should be represented by a node in
> the device tree and be referenced by a phandle and a set of phandle
>
> --
> 2.34.1
>
On Wed, Sep 13, 2023 at 3:34 PM Rob Herring <[email protected]> wrote:
> On Tue, Sep 12, 2023 at 03:44:30PM +0200, Linus Walleij wrote:
> > We reuse the trigger-sources phandle to just point to
> > GPIOs we may want to use as LED triggers.
> >
> > Example:
> >
> > gpio: gpio@0 {
> > compatible "my-gpio";
> > gpio-controller;
> > #gpio-cells = <2>;
> > interrupt-controller;
> > #interrupt-cells = <2>;
> > #trigger-source-cells = <2>;
>
> BTW, this is not documented for any GPIO binding. If we want to specify
> the cell size, then it has to be added to every GPIO controller binding.
> If not, we then need to reference gpio.yaml in every GPIO controller
> binding (along with unevaluatedProperties). Doesn't have to be done for
> this patch to go in though.
Yeah I mean this trigger-sources = <...>; one-size-fits-all is a bit
weird in a way.
My other idea was to simply add trigger-gpios to the normal way
and be done with it, but now the trigger binding has this weird
thing.
Would trigger-gpios be better?
Yours,
Linus Walleij