Re: [PATCH v5 10/10] arm64: dts: lx2162a-clearfog: set sfp connector leds function and source
From: Josua Mayer
Date: Sun Mar 15 2026 - 08:31:01 EST
On 3/14/26 14:05, Josua Mayer wrote:
> LX2162A Clearfog has four LEDs attached physically to the 4-port SFP
> connector. They are intended to show information relating to network
> interface status.
>
> Select "netdev" as default trigger for each LED, and link each one to
> the respective dpmac instance as trigger-source.
>
> Signed-off-by: Josua Mayer <josua@xxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/freescale/fsl-lx2162a-clearfog.dts | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2162a-clearfog.dts b/arch/arm64/boot/dts/freescale/fsl-lx2162a-clearfog.dts
> index 8920326a06735..9d50d3e2761da 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-lx2162a-clearfog.dts
> +++ b/arch/arm64/boot/dts/freescale/fsl-lx2162a-clearfog.dts
> @@ -41,21 +41,29 @@ leds {
> led_sfp_at: led-sfp-at {
> gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; /* PROC_IRQ5 */
> default-state = "off";
> + linux,default-trigger = "netdev";
> + trigger-sources = <&dpmac3>;
Linking a dpmac as trigger-source doesn't actually work currently,
but the bindings allow it.
Any opinions on whether or not it is better to omit for now?
Note there are complications due to dpaa2 driver binding netdevs
to software-only dpni objects which are not listed in device-tree.
The dpmac objects however are hard-wired to specific physical signals,
and therefore suitable for mapping LEDs correctly.
Vendor BSP does this with udev rules for now:
SUBSYSTEM=="net", ACTION=="add",
ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@3",
RUN+="/bin/sh -c 'echo %k > /sys/class/leds/led-sfp-at/device_name &&
echo 1 > /sys/class/leds/led-sfp-at/link'"
SUBSYSTEM=="net", ACTION=="add",
ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@4",
RUN+="/bin/sh -c 'echo %k > /sys/class/leds/led-sfp-ab/device_name &&
echo 1 > /sys/class/leds/led-sfp-ab/link'"
SUBSYSTEM=="net", ACTION=="add",
ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@5",
RUN+="/bin/sh -c 'echo %k > /sys/class/leds/led-sfp-bt/device_name &&
echo 1 > /sys/class/leds/led-sfp-bt/link'"
SUBSYSTEM=="net", ACTION=="add",
ENV{OF_FULLNAME}=="/soc/fsl-mc@80c000000/dpmacs/ethernet@6",
RUN+="/bin/sh -c 'echo %k > /sys/class/leds/led-sfp-bb/device_name &&
echo 1 > /sys/class/leds/led-sfp-bb/link'"
> };
>
> led_sfp_ab: led-sfp-ab {
> gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>; /* PROC_IRQ11 */
> default-state = "off";
> + linux,default-trigger = "netdev";
> + trigger-sources = <&dpmac4>;
> };
>
> led_sfp_bt: led-sfp-bt {
> gpios = <&gpio2 13 GPIO_ACTIVE_HIGH>; /* EVT1_B */
> default-state = "off";
> + linux,default-trigger = "netdev";
> + trigger-sources = <&dpmac5>;
> };
>
> led_sfp_bb: led-sfp-bb {
> gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>; /* EVT2_B */
> default-state = "off";
> + linux,default-trigger = "netdev";
> + trigger-sources = <&dpmac6>;
> };
> };
>
>