Re: [RESEND PATCH v6 2/3] leds: Add driver for the TLC5925 LED controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 04/08/2022 23:04, Pavel Machek wrote:
On Thu 2022-08-04 22:23:00, Jean-Jacques Hiblot wrote:
On 31/07/2022 21:28, Andy Shevchenko wrote:
On Fri, Jul 22, 2022 at 10:14 AM Jean-Jacques Hiblot
<jjhiblot@xxxxxxxxxxxxxxx> wrote:
The TLC5925 is a 16-channels constant-current LED sink driver.
It is controlled via SPI but doesn't offer a register-based interface.
Instead it contains a shift register and latches that convert the
serial input into a parallel output.

Datasheet: https://www.ti.com/lit/ds/symlink/tlc5925.pdf
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@xxxxxxxxxxxxxxx>
Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
Sorry for my slowpokeness, but I just realized that this driver may
not be needed. What is the difference to existing gpio-74x164?
It might work. However it might not be as practical and efficient as the
dedicated LED driver.

I'll give a try.
It is certainly preffered solution. If you decide to re-submit the
driver anyway, please mention that we already have GPIO driver for
compatible chip, and explain why this is superior.

Hi all,

sorry for the delay. I tried with the  74x164 gpio driver and it works as expected.

The only drawbacks are:

- as-is the 74x164 gpio driver supports only one output-enable gpio. However in practice I don't think multiple OE GPIOs will ever be used.

- with this approach, every time a LED status is changed the whole register has to be sent on the SPI bus. In other words, changes cannot be coalesced.


I don't know if this is enough to make a dedicated TLC5925 driver desirable in the kernel.

JJ


Thanks,
								Pavel




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux