On Tue, Nov 12, 2024 at 09:19:59AM +0100, Alexander Wilhelm wrote: > Am Wed, Dec 16, 2020 at 11:41:19PM +0100 schrieb Pavel Machek: > > Hi! > > > > > In KSZ9131 PHY it is possible to control LEDs blink behavior via > > > LED mode behavior and select registers. Add DTS properties plus handles > > > of them inside micrel PHY driver. > > > > > > I've some concerns about passing raw register values into LED mode > > > select and behavior. It can be passed via array like in microchip > > > driver(Documentation/devicetree/bindings/net/microchip,lan78xx.txt). > > > There is the problem in this particular driver - there is a lot of other PHYs > > > and led mode behavior/select states may intersect, that's the reason why > > > I did it this way. Is there any good ways to make it look more > > > properly? > > > > Lets... not do this? > > > > We have a LED subsystem which should probably control the LEDs... so > > user can specify behaviours at run-time, instead of them being > > hard-coded in the device tree. > > > > Plus, LED subsystem will use same interface for networks LEDs as for > > ... other LEDs. > > Hi Pavel, > > I would also like to control the LEDs via subsystem interface, but how I can > configure those to be visible in 'sys/class/leds'? My LEDs are connected > directly to KSZ9131RNX phy device and not to any of GPIO available on the CPU. > Am I missing some DTS entries therefore? The KSZ9131RNX driver needs to implement some LED methods, like .led_brightness_set(), .led_blink_set(), .led_hw_is_supported(), .led_hw_control_set(), .led_hw_control_get(). Look for example at marvell.c driver, or broadcom.c. Regarding DTS, look at linux/arch/arm/boot/dts/marvell/armada-370-rd.dts. The ethernet-phy@0 node has leds subnode, describing the LEDs. Marek