openwrt/package
Roland Reinl c439003497 filogic: Add LED driver for GCA230718
Add basic support for the LED driver for GCA230718.

 - I didn't find any documentation or driver for it, so the information below is purely based on my investigations
 - If there is already I driver for it, please tell me. Maybe I didn't search enough
 - I implemented a kernel module (leds-gca230718) to access the LEDs via DTS
 - The LED controller supports PWM for brightness control and ramp control for smooth blinking. This is not implemented in the driver
 - The LED controller supports toggling (on -> off -> on -> off) where the brightness of the LEDs can be set individually for each on cycle
 - Until now, only simple active/inactive control is implemented (like when the LEDs would have been connected via GPIO)
 - Controlling the LEDs requires three sequences sent to the chip. Each sequence consists of
   - A reset command (0x81 0xE4) written to register 0x00
   - A control command (for example 0x0C 0x02 0x01 0x00 0x00 0x00 0xFF 0x01 0x00 0x00 0x00 0xFF 0x87 written to register 0x03)
 - The reset command is always the same
 - In the control command
   - byte 0 is always the same
   - byte 1 (0x02 in the example above) must be changed in every sequence: 0x02 -> 0x01 -> 0x03)
   - byte 2 is set to 0x01 which disables toggling. 0x02 would be LED toggling without ramp control, 0x03 would be toggling with ramp control
   - byte 3 to 6 define the brightness values for the LEDs (R,G,B,W) for the first on cycle when toggling
   - byte 7 defines the toggling frequency (if toggling enabled)
   - byte 8 to 11 define the brightness values for the LEDs (R,G,B,W) for the second on cycle when toggling
   - byte 12 is constant 0x87

Signed-off-by: Roland Reinl <reinlroland+github@gmail.com>
(cherry picked from commit 0682974aa8)
2024-07-08 22:51:11 +02:00
..
base-files base-files: fix uid/gid auto-enumeration to avoid 16-bit limit 2024-07-08 21:13:26 +02:00
boot uboot-mediatek: add Netcore N60 support 2024-07-08 12:00:39 +02:00
devel perf: opt-out of lto usage 2023-08-11 12:53:34 +02:00
firmware linux-firmware: package Intel AX201 firmware 2024-07-08 21:13:27 +02:00
kernel filogic: Add LED driver for GCA230718 2024-07-08 22:51:11 +02:00
libs libxml2: add host build dependency on libiconv-full 2024-07-08 21:13:26 +02:00
network hostapd: fix a crash corner case 2024-07-08 21:13:26 +02:00
system procd: make mDNS TXT record parsing more solid 2024-04-29 23:30:04 +02:00
utils uencrypt: Fix compile warnings 2024-07-08 21:13:26 +02:00
Makefile build: do not depend on $(STAGING_DIR)/.prepared when in SDK 2024-03-04 23:59:24 +01:00