summary refs log tree commit diff
path: root/drivers/led
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2021-10-30 15:13:40 +0100
committerGitHub <noreply@github.com>2021-10-30 15:13:40 +0100
commitfb739a67c92483f6c072886b9ffbb90e55b6582d (patch)
treee53e55a347ff44912ef47163e5b7f2547849c27b /drivers/led
parent5851ac1934a3948403cd1666f2b9b519224c51ca (diff)
Enable configuration of PWM frequency for IS31FL3733B (#14983)
* Enable PWM frequency for IS31FL3733B

* Document config option

* clang
Diffstat (limited to 'drivers/led')
-rw-r--r--drivers/led/issi/is31fl3733.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c
index d99e5339c9..4ddd827caf 100644
--- a/drivers/led/issi/is31fl3733.c
+++ b/drivers/led/issi/is31fl3733.c
@@ -56,6 +56,10 @@
 #    define ISSI_PERSISTENCE 0
 #endif
 
+#ifndef ISSI_PWM_FREQUENCY
+#    define ISSI_PWM_FREQUENCY 0b000  // PFS - IS31FL3733B only
+#endif
+
 // Transfer buffer for TWITransmitData()
 uint8_t g_twi_transfer_buffer[20];
 
@@ -157,7 +161,7 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) {
     // Set global current to maximum.
     IS31FL3733_write_register(addr, ISSI_REG_GLOBALCURRENT, 0xFF);
     // Disable software shutdown.
-    IS31FL3733_write_register(addr, ISSI_REG_CONFIGURATION, (sync << 6) | 0x01);
+    IS31FL3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01);
 
     // Wait 10ms to ensure the device has woken up.
     wait_ms(10);