Thread (53 messages) 53 messages, 9 authors, 2023-01-30

Re: [PATCH v7 11/11] dt-bindings: net: dsa: qca8k: add LEDs definition example

From: Andrew Lunn <andrew@lunn.ch>
Date: 2023-01-29 22:02:40
Also in: linux-devicetree, linux-doc, linux-leds, lkml

quoted
This is an example of the dt implemented on a real device.

                mdio {
                        #address-cells = <1>;
                        #size-cells = <0>;

                        phy_port1: phy@0 {
                                reg = <0>;

                                leds {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
[...]
quoted
                                };
                        };
[...]
quoted
                };

In the following implementation. Each port have 2 leds attached (out of
3) one white and one amber. The driver parse the reg and calculate the
offset to set the correct option with the regs by also checking the phy
number.
With switch silicon allowing user control of the LEDs, vendors can (and will)
use the switch's LED peripheral to drive other LEDs (or worse). E.g. on a Cisco
SG220-26 switch, using a Realtek RTL8382 SoC, the LEDs associated with some
unused switch ports are used to display a global device status. My concern here
is that one would have to specify switch ports, that aren't connected to
anything, just to describe those non-ethernet LEDs.
Note that the binding is adding properties to the PHY nodes, not the
switch port nodes. Is this how the RTL8382 works? Marvell Switches
have LED registers which are not in the PHY register space.

But the point is, the PHYs will probe if listed. They don't have to
have a MAC pointing to them with a phandle. So the phydev will exist,
and that should be enough to get the LED class device registered. If
there is basic on/off support, that should be enough for you to attach
the Morse code panic trigger, the heartbeat handler, or any other LED
trigger.

	Andrew
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help