[RFC PATCH 7/7] realtek: Netgear GS110TPPv1: define port LEDs

Sander Vanheule sander at svanheule.net
Fri Jul 29 06:31:14 PDT 2022


On Fri, 2022-07-29 at 14:58 +0200, Olliver Schinagl wrote:
> On 16-07-2022 21:09, Sander Vanheule wrote:
> > Add the port LEDs for lan1-lan8 to the device tree for the GS110TPP v1.
> > To reproduce the same behaviour as stock firmware, green should be
> > LINK/ACT 1G, and amber should be LINK/ACT 100M/10M:
> > 
> >      for i in $(seq 1 8); do
> >          echo 13 > /sys/class/leds/green:lan-$i/rtl_hw_trigger
> >          echo realtek-switchport > /sys/class/leds/green:lan-$i/trigger
> >          echo f > /sys/class/leds/amber:lan-$i/rtl_hw_trigger
> >          echo realtek-switchport > /sys/class/leds/amber:lan-$i/trigger
> >      done
> > 
> > Signed-off-by: Sander Vanheule <sander at svanheule.net>
> > ---
> >   .../dts-5.10/rtl8380_netgear_gs110tpp-v1.dts  | 30 +++++++++++++++++++
> >   1 file changed, 30 insertions(+)
> > 
> > diff --git a/target/linux/realtek/dts-5.10/rtl8380_netgear_gs110tpp-v1.dts
> > b/target/linux/realtek/dts-5.10/rtl8380_netgear_gs110tpp-v1.dts
> > index 1ff209cee363..897699bea2c3 100644
> > --- a/target/linux/realtek/dts-5.10/rtl8380_netgear_gs110tpp-v1.dts
> > +++ b/target/linux/realtek/dts-5.10/rtl8380_netgear_gs110tpp-v1.dts
> > @@ -43,3 +43,33 @@
> >   &uart1 {
> >         status = "okay";
> >   };
> > +
> > +#define LAN_LED_LABEL(p, n)    STRINGIZE(p ## n)
> > +#define LED_LABEL_GREEN(p)     LAN_LED_LABEL(green:lan-, p)
> > +#define LED_LABEL_AMBER(p)     LAN_LED_LABEL(amber:lan-, p)
> > +#define NETGEAR_LED(_phy, _port)                       \
> > +       led@ ## _phy ##.0 {                             \
> > +               reg = < _phy 0 >;                       \
> > +               label = LED_LABEL_GREEN(_port) ;        \
> > +       };                                              \
> > +       led@ ## _phy ## .1 {                            \
> > +               reg = < _phy 1 >;                       \
> > +               label = LED_LABEL_AMBER(_port) ;        \
> > +       }
> > +
> > +&switchcore {
> > +       port-leds {
> > +               compatible = "realtek,rtl8380-port-led";
> > +               #address-cells = <2>;
> > +               #size-cells = <0>;
> > +
> > +               NETGEAR_LED(8,1);
> > +               NETGEAR_LED(9,2);
> > +               NETGEAR_LED(10,3);
> > +               NETGEAR_LED(11,4);
> > +               NETGEAR_LED(12,5);
> > +               NETGEAR_LED(13,6);
> > +               NETGEAR_LED(14,7);
> > +               NETGEAR_LED(15,8);
> > +       };
> > +};
> ugh, is it relaly worth it to do this? can we not just write it out; yes 
> it's a lot of writing (you can use the define to generate it and copy 
> paste it ;p)

I agree it's a bit opaque, and it doesn't allow you to add a label to the second port LED.  But I
was writing this by hand and didn't want to do endless copy-pasting when modifying the LED list. 
The list also misses two LEDs, for device ports 10 and 11, so now I'm doubting if I actually tested
this...

Best,
Sander


More information about the openwrt-devel mailing list