summaryrefslogtreecommitdiff
path: root/drivers/led/ckled2001.c
diff options
context:
space:
mode:
authorlokher <lokher@gmail.com>2022-08-13 21:39:06 +0800
committerGitHub <noreply@github.com>2022-08-13 14:39:06 +0100
commita02aff9c77c15ca9e248f84b09a88386a8f4b0a6 (patch)
treec37116d7c427cc40e61f87110f1f351b564e3676 /drivers/led/ckled2001.c
parentee664e0960f912876c19675b61219985abb11d0e (diff)
Add led matrix support for CKLED2001 (#17643)
Diffstat (limited to 'drivers/led/ckled2001.c')
-rw-r--r--drivers/led/ckled2001.c21
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/led/ckled2001.c b/drivers/led/ckled2001.c
index 8d71805a24..b7e7db06cc 100644
--- a/drivers/led/ckled2001.c
+++ b/drivers/led/ckled2001.c
@@ -30,6 +30,11 @@
# define PHASE_CHANNEL MSKPHASE_12CHANNEL
#endif
+#ifndef CKLED2001_CURRENT_TUNE
+# define CKLED2001_CURRENT_TUNE \
+ { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
+#endif
+
// Transfer buffer for TWITransmitData()
uint8_t g_twi_transfer_buffer[20];
@@ -123,18 +128,10 @@ void CKLED2001_init(uint8_t addr) {
}
// Set CURRENT PAGE (Page 4)
+ uint8_t current_tuen_reg_list[LED_CURRENT_TUNE_LENGTH] = CKLED2001_CURRENT_TUNE;
CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, CURRENT_TUNE_PAGE);
for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) {
- switch (i) {
- case 2:
- case 5:
- case 8:
- case 11:
- CKLED2001_write_register(addr, i, 0xA0);
- break;
- default:
- CKLED2001_write_register(addr, i, 0xFF);
- }
+ CKLED2001_write_register(addr, i, current_tuen_reg_list[i]);
}
// Enable LEDs ON/OFF
@@ -220,14 +217,14 @@ void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index) {
g_led_control_registers_update_required[index] = false;
}
-void CKLED2001_return_normal(uint8_t addr) {
+void CKLED2001_sw_return_normal(uint8_t addr) {
// Select to function page
CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE);
// Setting LED driver to normal mode
CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE);
}
-void CKLED2001_shutdown(uint8_t addr) {
+void CKLED2001_sw_shutdown(uint8_t addr) {
// Select to function page
CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE);
// Setting LED driver to shutdown mode