~ruther/qmk_firmware

8f221052897754870e5c08a2de92c24d20cd307e — Ryan 1 year, 7 months ago 74360d0
Add and use I2C address defines for ISSI LED drivers (#22008)

166 files changed, 385 insertions(+), 496 deletions(-)

M docs/feature_led_matrix.md
M docs/feature_rgb_matrix.md
M drivers/led/ckled2001-simple.h
M drivers/led/ckled2001.h
M drivers/led/issi/is31fl3731-simple.c
M drivers/led/issi/is31fl3731-simple.h
M drivers/led/issi/is31fl3731.c
M drivers/led/issi/is31fl3731.h
M drivers/led/issi/is31fl3733-simple.c
M drivers/led/issi/is31fl3733-simple.h
M drivers/led/issi/is31fl3733.c
M drivers/led/issi/is31fl3733.h
M drivers/led/issi/is31fl3736.c
M drivers/led/issi/is31fl3736.h
M drivers/led/issi/is31fl3737.c
M drivers/led/issi/is31fl3737.h
M drivers/led/issi/is31fl3741.c
M drivers/led/issi/is31fl3741.h
M keyboards/4pplet/perk60_iso/rev_a/config.h
M keyboards/abko/ak84bt/config.h
M keyboards/acheron/apollo/87h/gamma/config.h
M keyboards/aeboards/satellite/rev1/config.h
M keyboards/axolstudio/yeti/hotswap/config.h
M keyboards/canary/canary60rgb/v1/config.h
M keyboards/clueboard/66_hotswap/gen1/config.h
M keyboards/dp60/config.h
M keyboards/drop/alt/v2/config.h
M keyboards/drop/ctrl/v2/config.h
M keyboards/drop/sense75/config.h
M keyboards/drop/shift/v2/config.h
M keyboards/durgod/dgk6x/config.h
M keyboards/dztech/dz60rgb/v1/config.h
M keyboards/dztech/dz60rgb/v2/config.h
M keyboards/dztech/dz60rgb/v2_1/config.h
M keyboards/dztech/dz60rgb_ansi/v1/config.h
M keyboards/dztech/dz60rgb_ansi/v2/config.h
M keyboards/dztech/dz60rgb_ansi/v2_1/config.h
M keyboards/dztech/dz60rgb_wkl/v1/config.h
M keyboards/dztech/dz60rgb_wkl/v2/config.h
M keyboards/dztech/dz60rgb_wkl/v2_1/config.h
M keyboards/dztech/dz64rgb/config.h
M keyboards/dztech/dz65rgb/v1/config.h
M keyboards/dztech/dz65rgb/v2/config.h
M keyboards/dztech/dz65rgb/v3/config.h
M keyboards/dztech/tofu/ii/v1/config.h
M keyboards/dztech/tofu/jr/v1/config.h
M keyboards/ergodox_ez/config.h
M keyboards/evyd13/atom47/rev5/config.h
M keyboards/exclusive/e6_rgb/config.h
M keyboards/fallacy/config.h
M keyboards/feker/ik75/config.h
M keyboards/ferris/0_2/bling/config.h
M keyboards/flashquark/horizon_z/config.h
M keyboards/frooastboard/walnut/config.h
M keyboards/geekboards/tester/config.h
M keyboards/gizmo_engineering/gk6/config.h
M keyboards/handwired/orbweaver/config.h
M keyboards/hs60/v1/config.h
M keyboards/ilumkb/simpler61/config.h
M keyboards/ilumkb/simpler64/config.h
M keyboards/inett_studio/sqx/hotswap/config.h
M keyboards/inett_studio/sqx/universal/config.h
M keyboards/input_club/ergodox_infinity/config.h
M keyboards/input_club/k_type/config.h
M keyboards/input_club/k_type/is31fl3733-dual.c
M keyboards/input_club/k_type/is31fl3733-dual.h
M keyboards/input_club/whitefox/config.h
M keyboards/kbdcraft/adam64/config.h
M keyboards/kbdfans/bella/rgb/config.h
M keyboards/kbdfans/bella/rgb_iso/config.h
M keyboards/kbdfans/boop65/rgb/config.h
M keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
M keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
M keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
M keyboards/kbdfans/kbdmini/config.h
M keyboards/kbdfans/maja/config.h
M keyboards/keychron/c1_pro/ansi/rgb/config.h
M keyboards/keychron/c1_pro/ansi/white/config.h
M keyboards/keychron/c2_pro/ansi/rgb/config.h
M keyboards/keychron/c2_pro/ansi/white/config.h
M keyboards/keychron/q0/rev_0130/config.h
M keyboards/keychron/q0/rev_0131/config.h
M keyboards/keychron/q1/config.h
M keyboards/keychron/q10/config.h
M keyboards/keychron/q11/config.h
M keyboards/keychron/q12/config.h
M keyboards/keychron/q2/config.h
M keyboards/keychron/q3/config.h
M keyboards/keychron/q4/ansi_v1/config.h
M keyboards/keychron/q4/ansi_v2/config.h
M keyboards/keychron/q4/iso/config.h
M keyboards/keychron/q5/config.h
M keyboards/keychron/q6/config.h
M keyboards/keychron/q60/config.h
M keyboards/keychron/q65/config.h
M keyboards/keychron/q7/config.h
M keyboards/keychron/q8/config.h
M keyboards/keychron/q9/config.h
M keyboards/keychron/s1/ansi/rgb/config.h
M keyboards/keychron/s1/ansi/white/config.h
M keyboards/keychron/v1/config.h
M keyboards/keychron/v10/config.h
M keyboards/keychron/v2/config.h
M keyboards/keychron/v3/config.h
M keyboards/keychron/v4/config.h
M keyboards/keychron/v5/config.h
M keyboards/keychron/v6/config.h
M keyboards/keychron/v7/config.h
M keyboards/keychron/v8/config.h
M keyboards/kprepublic/bm60hsrgb/rev2/config.h
M keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h
M keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h
M keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h
M keyboards/kprepublic/bm68hsrgb/rev2/config.h
M keyboards/kprepublic/bm80v2/config.h
M keyboards/kprepublic/bm80v2_iso/config.h
M keyboards/latincompass/latin17rgb/config.h
M keyboards/latincompass/latin60rgb/config.h
M keyboards/latincompass/latin6rgb/config.h
M keyboards/matrix/m20add/config.h
M keyboards/matrix/noah/config.h
M keyboards/mechlovin/adelais/rgb_led/rev2/config.h
M keyboards/mechlovin/adelais/rgb_led/rev3/config.h
M keyboards/mechlovin/delphine/rgb_led/config.h
M keyboards/mechlovin/hannah60rgb/rev2/config.h
M keyboards/mechlovin/infinity87/rgb_rev1/config.h
M keyboards/mechlovin/olly/octagon/config.h
M keyboards/mechlovin/zed65/mono_led/config.h
M keyboards/melgeek/mach80/config.h
M keyboards/melgeek/mj61/config.h
M keyboards/melgeek/mj63/config.h
M keyboards/melgeek/mj64/config.h
M keyboards/melgeek/mj65/config.h
M keyboards/melgeek/mojo68/config.h
M keyboards/melgeek/mojo75/config.h
M keyboards/melgeek/tegic/config.h
M keyboards/melgeek/z70ultra/config.h
M keyboards/miller/gm862/config.h
M keyboards/moonlander/config.h
M keyboards/mt/mt64rgb/config.h
M keyboards/mt/mt84/config.h
M keyboards/neson_design/700e/config.h
M keyboards/neson_design/n6/config.h
M keyboards/opendeck/32/rev1/config.h
M keyboards/owlab/voice65/hotswap/config.h
M keyboards/owlab/voice65/soldered/config.h
M keyboards/planck/ez/config.h
M keyboards/planck/light/config.h
M keyboards/playkbtw/pk64rgb/config.h
M keyboards/redragon/k667/config.h
M keyboards/smallkeyboard/config.h
M keyboards/teleport/native/config.h
M keyboards/terrazzo/config.h
M keyboards/tkc/portico/config.h
M keyboards/tkc/portico68v2/config.h
M keyboards/tkc/portico75/config.h
M keyboards/wilba_tech/wt_rgb_backlight.c
M keyboards/xbows/knight/config.h
M keyboards/xbows/knight_plus/config.h
M keyboards/xbows/nature/config.h
M keyboards/xbows/numpad/config.h
M keyboards/xbows/ranger/config.h
M keyboards/xbows/woody/config.h
M keyboards/xelus/dawn60/rev1_qmk/config.h
M keyboards/xelus/pachi/rgb/rev1/config.h
M keyboards/xelus/pachi/rgb/rev2/config.h
M docs/feature_led_matrix.md => docs/feature_led_matrix.md +17 -15
@@ 34,12 34,14 @@ Here is an example using 2 drivers.
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define LED_DRIVER_ADDR_1 0b1110100
#define LED_DRIVER_ADDR_2 0b1110110
// 00 AD <-> GND
// 01 AD <-> SCL
// 10 AD <-> SDA
// 11 AD <-> VCC
// ADDR represents A1:A0 of the 7-bit address.
// The result is: 0b11101(ADDR)
#define LED_DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define LED_DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA

#define IS31FL3731_DRIVER_COUNT 2
#define LED_DRIVER_1_LED_TOTAL 25


@@ 159,7 161,7 @@ Then Define the array listing all the LEDs you want to override in your `<keyboa

```c
const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = {
 *   LED Index
/*   LED Index
 *   |  Scaling
 *   |  | */
    {5, 120},


@@ 248,16 250,16 @@ enum led_matrix_effects {
    LED_MATRIX_CYCLE_OUT_IN,        // Full gradient scrolling out to in
    LED_MATRIX_DUAL_BEACON,         // Full gradient spinning around center of keyboard
    LED_MATRIX_SOLID_REACTIVE_SIMPLE,   // Pulses keys hit then fades out
    LED_MATRIX_SOLID_REACTIVE_WIDE       // Value pulses near a single key hit then fades out
    LED_MATRIX_SOLID_REACTIVE_MULTIWIDE  // Value pulses near multiple key hits then fades out
    LED_MATRIX_SOLID_REACTIVE_CROSS      // Value pulses the same column and row of a single key hit then fades out
    LED_MATRIX_SOLID_REACTIVE_MULTICROSS // Value pulses the same column and row of multiple key hits then fades out
    LED_MATRIX_SOLID_REACTIVE_NEXUS      // Value pulses away on the same column and row of a single key hit then fades out
    LED_MATRIX_SOLID_REACTIVE_MULTINEXUS // Value pulses away on the same column and row of multiple key hits then fades out
    LED_MATRIX_SOLID_REACTIVE_WIDE,       // Value pulses near a single key hit then fades out
    LED_MATRIX_SOLID_REACTIVE_MULTIWIDE,  // Value pulses near multiple key hits then fades out
    LED_MATRIX_SOLID_REACTIVE_CROSS,      // Value pulses the same column and row of a single key hit then fades out
    LED_MATRIX_SOLID_REACTIVE_MULTICROSS, // Value pulses the same column and row of multiple key hits then fades out
    LED_MATRIX_SOLID_REACTIVE_NEXUS,      // Value pulses away on the same column and row of a single key hit then fades out
    LED_MATRIX_SOLID_REACTIVE_MULTINEXUS, // Value pulses away on the same column and row of multiple key hits then fades out
    LED_MATRIX_SOLID_SPLASH,             // Value pulses away from a single key hit then fades out
    LED_MATRIX_SOLID_MULTISPLASH,        // Value pulses away from multiple key hits then fades out
    LED_MATRIX_WAVE_LEFT_RIGHT           // Sine wave scrolling from left to right
    LED_MATRIX_WAVE_UP_DOWN              // Sine wave scrolling from up to down
    LED_MATRIX_WAVE_LEFT_RIGHT,           // Sine wave scrolling from left to right
    LED_MATRIX_WAVE_UP_DOWN,              // Sine wave scrolling from up to down
    LED_MATRIX_EFFECT_MAX
};
```

M docs/feature_rgb_matrix.md => docs/feature_rgb_matrix.md +36 -33
@@ 35,12 35,14 @@ Here is an example using 2 drivers.
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110110
// 00 AD <-> GND
// 01 AD <-> SCL
// 10 AD <-> SDA
// 11 AD <-> VCC
// ADDR represents A1:A0 of the 7-bit address.
// The result is: 0b11101(ADDR)
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA

#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 25


@@ 118,15 120,15 @@ Here is an example using 2 drivers.
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// 00 ADDRn <-> GND
// 01 ADDRn <-> SCL
// 10 ADDRn <-> SDA
// 11 ADDRn <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010011
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_GND_VCC

#define IS31FL3733_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 58


@@ 202,14 204,15 @@ Here is an example using 2 drivers.
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0000 <-> GND
// 0101 <-> SCL
// 1010 <-> SDA
// 1111 <-> VCC
// ADDR represents A3:A0 of the 7-bit address.
// The result is: 0b101(ADDR)
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010001
// 00 ADDRn <-> GND
// 01 ADDRn <-> SCL
// 10 ADDRn <-> SDA
// 11 ADDRn <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define DRIVER_ADDR_1 IS31FL3736_I2C_ADDRESS_GND_GND
#define DRIVER_ADDR_2 IS31FL3736_I2C_ADDRESS_GND_SCL

#define IS31FL3736_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 30


@@ 278,14 281,14 @@ Here is an example using 2 drivers.
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0000 <-> GND
// 0101 <-> SCL
// 1010 <-> SDA
// 1111 <-> VCC
// 0000 ADDR <-> GND
// 0101 ADDR <-> SCL
// 1010 ADDR <-> SDA
// 1111 ADDR <-> VCC
// ADDR represents A3:A0 of the 7-bit address.
// The result is: 0b101(ADDR)
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010001
#define DRIVER_ADDR_1 IS31FL3737_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3737_I2C_ADDRESS_SCL

#define IS31FL3737_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 30


@@ 407,7 410,7 @@ Then Define the array listing all the LEDs you want to override in your `<keyboa

```c
const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = {
 *   LED Index
/*   LED Index
 *   |  R scaling
 *   |  |    G scaling
 *   |  |    |    B scaling


@@ 654,12 657,12 @@ enum rgb_matrix_effects {
    RGB_MATRIX_DIGITAL_RAIN,        // That famous computer simulation
    RGB_MATRIX_SOLID_REACTIVE_SIMPLE,   // Pulses keys hit to hue & value then fades value out
    RGB_MATRIX_SOLID_REACTIVE,      // Static single hue, pulses keys hit to shifted hue then fades to current hue
    RGB_MATRIX_SOLID_REACTIVE_WIDE       // Hue & value pulse near a single key hit then fades value out
    RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE  // Hue & value pulse near multiple key hits then fades value out
    RGB_MATRIX_SOLID_REACTIVE_CROSS      // Hue & value pulse the same column and row of a single key hit then fades value out
    RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
    RGB_MATRIX_SOLID_REACTIVE_NEXUS      // Hue & value pulse away on the same column and row of a single key hit then fades value out
    RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
    RGB_MATRIX_SOLID_REACTIVE_WIDE,       // Hue & value pulse near a single key hit then fades value out
    RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE,  // Hue & value pulse near multiple key hits then fades value out
    RGB_MATRIX_SOLID_REACTIVE_CROSS,      // Hue & value pulse the same column and row of a single key hit then fades value out
    RGB_MATRIX_SOLID_REACTIVE_MULTICROSS, // Hue & value pulse the same column and row of multiple key hits then fades value out
    RGB_MATRIX_SOLID_REACTIVE_NEXUS,      // Hue & value pulse away on the same column and row of a single key hit then fades value out
    RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS, // Hue & value pulse away on the same column and row of multiple key hits then fades value out
    RGB_MATRIX_SPLASH,              // Full gradient & value pulse away from a single key hit then fades value out
    RGB_MATRIX_MULTISPLASH,         // Full gradient & value pulse away from multiple key hits then fades value out
    RGB_MATRIX_SOLID_SPLASH,        // Hue & value pulse away from a single key hit then fades value out

M drivers/led/ckled2001-simple.h => drivers/led/ckled2001-simple.h +5 -0
@@ 48,6 48,11 @@
#define MSKPHASE_1CHANNEL CKLED2001_MSKPHASE_1CHANNEL
// ========

#define CKLED2001_I2C_ADDRESS_GND 0x74
#define CKLED2001_I2C_ADDRESS_SCL 0x75
#define CKLED2001_I2C_ADDRESS_SDA 0x76
#define CKLED2001_I2C_ADDRESS_VDDIO 0x77

typedef struct ckled2001_led {
    uint8_t driver : 2;
    uint8_t v;

M drivers/led/ckled2001.h => drivers/led/ckled2001.h +5 -0
@@ 48,6 48,11 @@
#define MSKPHASE_1CHANNEL CKLED2001_MSKPHASE_1CHANNEL
// ========

#define CKLED2001_I2C_ADDRESS_GND 0x74
#define CKLED2001_I2C_ADDRESS_SCL 0x75
#define CKLED2001_I2C_ADDRESS_SDA 0x76
#define CKLED2001_I2C_ADDRESS_VDDIO 0x77

typedef struct ckled2001_led {
    uint8_t driver : 2;
    uint8_t r;

M drivers/led/issi/is31fl3731-simple.c => drivers/led/issi/is31fl3731-simple.c +0 -9
@@ 22,15 22,6 @@
#include "i2c_master.h"
#include "wait.h"

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define IS31FL3731_I2C_ADDRESS_DEFAULT 0x74

#define IS31FL3731_REG_CONFIG 0x00
#define IS31FL3731_REG_CONFIG_PICTUREMODE 0x00
#define IS31FL3731_REG_CONFIG_AUTOPLAYMODE 0x08

M drivers/led/issi/is31fl3731-simple.h => drivers/led/issi/is31fl3731-simple.h +5 -0
@@ 37,6 37,11 @@
#endif
// ========

#define IS31FL3731_I2C_ADDRESS_GND 0x74
#define IS31FL3731_I2C_ADDRESS_SCL 0x75
#define IS31FL3731_I2C_ADDRESS_SDA 0x76
#define IS31FL3731_I2C_ADDRESS_VCC 0x77

typedef struct is31_led {
    uint8_t driver : 2;
    uint8_t v;

M drivers/led/issi/is31fl3731.c => drivers/led/issi/is31fl3731.c +0 -9
@@ 21,15 21,6 @@
#include "i2c_master.h"
#include "wait.h"

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define IS31FL3731_I2C_ADDRESS_DEFAULT 0x74

#define IS31FL3731_REG_CONFIG 0x00
#define IS31FL3731_REG_CONFIG_PICTUREMODE 0x00
#define IS31FL3731_REG_CONFIG_AUTOPLAYMODE 0x08

M drivers/led/issi/is31fl3731.h => drivers/led/issi/is31fl3731.h +5 -0
@@ 36,6 36,11 @@
#endif
// ========

#define IS31FL3731_I2C_ADDRESS_GND 0x74
#define IS31FL3731_I2C_ADDRESS_SCL 0x75
#define IS31FL3731_I2C_ADDRESS_SDA 0x76
#define IS31FL3731_I2C_ADDRESS_VCC 0x77

typedef struct is31_led {
    uint8_t driver : 2;
    uint8_t r;

M drivers/led/issi/is31fl3733-simple.c => drivers/led/issi/is31fl3733-simple.c +0 -12
@@ 23,18 23,6 @@
#include "i2c_master.h"
#include "wait.h"

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define IS31FL3733_I2C_ADDRESS_DEFAULT 0x50

#define IS31FL3733_COMMANDREGISTER 0xFD
#define IS31FL3733_COMMANDREGISTER_WRITELOCK 0xFE
#define IS31FL3733_INTERRUPTMASKREGISTER 0xF0

M drivers/led/issi/is31fl3733-simple.h => drivers/led/issi/is31fl3733-simple.h +17 -0
@@ 56,6 56,23 @@
#define PUR_32KR IS31FL3733_PUR_32KR
// ========

#define IS31FL3733_I2C_ADDRESS_GND_GND 0x50
#define IS31FL3733_I2C_ADDRESS_GND_SCL 0x51
#define IS31FL3733_I2C_ADDRESS_GND_SDA 0x52
#define IS31FL3733_I2C_ADDRESS_GND_VCC 0x53
#define IS31FL3733_I2C_ADDRESS_SCL_GND 0x54
#define IS31FL3733_I2C_ADDRESS_SCL_SCL 0x55
#define IS31FL3733_I2C_ADDRESS_SCL_SDA 0x56
#define IS31FL3733_I2C_ADDRESS_SCL_VCC 0x57
#define IS31FL3733_I2C_ADDRESS_SDA_GND 0x58
#define IS31FL3733_I2C_ADDRESS_SDA_SCL 0x59
#define IS31FL3733_I2C_ADDRESS_SDA_SDA 0x5A
#define IS31FL3733_I2C_ADDRESS_SDA_VCC 0x5B
#define IS31FL3733_I2C_ADDRESS_VCC_GND 0x5C
#define IS31FL3733_I2C_ADDRESS_VCC_SCL 0x5D
#define IS31FL3733_I2C_ADDRESS_VCC_SDA 0x5E
#define IS31FL3733_I2C_ADDRESS_VCC_VCC 0x5F

typedef struct is31_led {
    uint8_t driver : 2;
    uint8_t v;

M drivers/led/issi/is31fl3733.c => drivers/led/issi/is31fl3733.c +0 -12
@@ 22,18 22,6 @@
#include "i2c_master.h"
#include "wait.h"

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define IS31FL3733_I2C_ADDRESS_DEFAULT 0x50

#define IS31FL3733_COMMANDREGISTER 0xFD
#define IS31FL3733_COMMANDREGISTER_WRITELOCK 0xFE
#define IS31FL3733_INTERRUPTMASKREGISTER 0xF0

M drivers/led/issi/is31fl3733.h => drivers/led/issi/is31fl3733.h +17 -0
@@ 55,6 55,23 @@
#define PUR_32KR IS31FL3733_PUR_32KR
// ========

#define IS31FL3733_I2C_ADDRESS_GND_GND 0x50
#define IS31FL3733_I2C_ADDRESS_GND_SCL 0x51
#define IS31FL3733_I2C_ADDRESS_GND_SDA 0x52
#define IS31FL3733_I2C_ADDRESS_GND_VCC 0x53
#define IS31FL3733_I2C_ADDRESS_SCL_GND 0x54
#define IS31FL3733_I2C_ADDRESS_SCL_SCL 0x55
#define IS31FL3733_I2C_ADDRESS_SCL_SDA 0x56
#define IS31FL3733_I2C_ADDRESS_SCL_VCC 0x57
#define IS31FL3733_I2C_ADDRESS_SDA_GND 0x58
#define IS31FL3733_I2C_ADDRESS_SDA_SCL 0x59
#define IS31FL3733_I2C_ADDRESS_SDA_SDA 0x5A
#define IS31FL3733_I2C_ADDRESS_SDA_VCC 0x5B
#define IS31FL3733_I2C_ADDRESS_VCC_GND 0x5C
#define IS31FL3733_I2C_ADDRESS_VCC_SCL 0x5D
#define IS31FL3733_I2C_ADDRESS_VCC_SDA 0x5E
#define IS31FL3733_I2C_ADDRESS_VCC_VCC 0x5F

typedef struct is31_led {
    uint8_t driver : 2;
    uint8_t r;

M drivers/led/issi/is31fl3736.c => drivers/led/issi/is31fl3736.c +0 -12
@@ 20,18 20,6 @@
#include "i2c_master.h"
#include "wait.h"

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define IS31FL3736_I2C_ADDRESS_DEFAULT 0x50

#define IS31FL3736_COMMANDREGISTER 0xFD
#define IS31FL3736_COMMANDREGISTER_WRITELOCK 0xFE
#define IS31FL3736_INTERRUPTMASKREGISTER 0xF0

M drivers/led/issi/is31fl3736.h => drivers/led/issi/is31fl3736.h +17 -0
@@ 51,6 51,23 @@
#define PUR_32KR IS31FL3736_PUR_32KR
// ========

#define IS31FL3736_I2C_ADDRESS_GND_GND 0x50
#define IS31FL3736_I2C_ADDRESS_GND_SCL 0x51
#define IS31FL3736_I2C_ADDRESS_GND_SDA 0x52
#define IS31FL3736_I2C_ADDRESS_GND_VCC 0x53
#define IS31FL3736_I2C_ADDRESS_SCL_GND 0x54
#define IS31FL3736_I2C_ADDRESS_SCL_SCL 0x55
#define IS31FL3736_I2C_ADDRESS_SCL_SDA 0x56
#define IS31FL3736_I2C_ADDRESS_SCL_VCC 0x57
#define IS31FL3736_I2C_ADDRESS_SDA_GND 0x58
#define IS31FL3736_I2C_ADDRESS_SDA_SCL 0x59
#define IS31FL3736_I2C_ADDRESS_SDA_SDA 0x5A
#define IS31FL3736_I2C_ADDRESS_SDA_VCC 0x5B
#define IS31FL3736_I2C_ADDRESS_VCC_GND 0x5C
#define IS31FL3736_I2C_ADDRESS_VCC_SCL 0x5D
#define IS31FL3736_I2C_ADDRESS_VCC_SDA 0x5E
#define IS31FL3736_I2C_ADDRESS_VCC_VCC 0x5F

typedef struct is31_led {
    uint8_t driver : 2;
    uint8_t r;

M drivers/led/issi/is31fl3737.c => drivers/led/issi/is31fl3737.c +0 -12
@@ 22,18 22,6 @@
#include "i2c_master.h"
#include "wait.h"

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define IS31FL3737_I2C_ADDRESS_DEFAULT 0x50

#define IS31FL3737_COMMANDREGISTER 0xFD
#define IS31FL3737_COMMANDREGISTER_WRITELOCK 0xFE
#define IS31FL3737_INTERRUPTMASKREGISTER 0xF0

M drivers/led/issi/is31fl3737.h => drivers/led/issi/is31fl3737.h +8 -3
@@ 19,6 19,10 @@

#pragma once

#include <stdint.h>
#include <stdbool.h>
#include "progmem.h"

// ======== DEPRECATED DEFINES - DO NOT USE ========
#ifdef DRIVER_COUNT
#    define IS31FL3737_DRIVER_COUNT DRIVER_COUNT


@@ 52,9 56,10 @@
#define PUR_32KR IS31FL3737_PUR_32KR
// ========

#include <stdint.h>
#include <stdbool.h>
#include "progmem.h"
#define IS31FL3737_I2C_ADDRESS_GND 0x50
#define IS31FL3737_I2C_ADDRESS_SCL 0x55
#define IS31FL3737_I2C_ADDRESS_SDA 0x5A
#define IS31FL3737_I2C_ADDRESS_VCC 0x5F

typedef struct is31_led {
    uint8_t driver : 2;

M drivers/led/issi/is31fl3741.c => drivers/led/issi/is31fl3741.c +0 -12
@@ 22,18 22,6 @@
#include "i2c_master.h"
#include "wait.h"

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define IS31FL3741_I2C_ADDRESS_DEFAULT 0x60

#define IS31FL3741_COMMANDREGISTER 0xFD
#define IS31FL3741_COMMANDREGISTER_WRITELOCK 0xFE
#define IS31FL3741_INTERRUPTMASKREGISTER 0xF0

M drivers/led/issi/is31fl3741.h => drivers/led/issi/is31fl3741.h +5 -0
@@ 56,6 56,11 @@
#define PUR_32KR IS31FL3741_PUR_32KR
// ========

#define IS31FL3741_I2C_ADDRESS_GND 0x30
#define IS31FL3741_I2C_ADDRESS_SCL 0x31
#define IS31FL3741_I2C_ADDRESS_SDA 0x32
#define IS31FL3741_I2C_ADDRESS_VCC 0x33

typedef struct is31_led {
    uint32_t driver : 2;
    uint32_t r : 10;

M keyboards/4pplet/perk60_iso/rev_a/config.h => keyboards/4pplet/perk60_iso/rev_a/config.h +1 -1
@@ 21,7 21,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE

#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 62
#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ

M keyboards/abko/ak84bt/config.h => keyboards/abko/ak84bt/config.h +2 -2
@@ 17,8 17,8 @@
#pragma once


#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010011
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_GND_VCC

#define IS31FL3733_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 45

M keyboards/acheron/apollo/87h/gamma/config.h => keyboards/acheron/apollo/87h/gamma/config.h +1 -1
@@ 25,7 25,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE

// RGB Matrix defines
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND

#define IS31FL3741_DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 87

M keyboards/aeboards/satellite/rev1/config.h => keyboards/aeboards/satellite/rev1/config.h +2 -2
@@ 17,8 17,8 @@
#pragma once

//RGB Matrix defines
#define DRIVER_ADDR_1 0x74
#define DRIVER_ADDR_2 0x76
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA

#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 36

M keyboards/axolstudio/yeti/hotswap/config.h => keyboards/axolstudio/yeti/hotswap/config.h +1 -1
@@ 61,7 61,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    define RGB_MATRIX_LED_FLUSH_LIMIT 16       // 16 is equivalent to limiting to 60fps
#    define RGB_DISABLE_WHEN_USB_SUSPENDED      // turn off effects when suspended
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 64
#endif

M keyboards/canary/canary60rgb/v1/config.h => keyboards/canary/canary60rgb/v1/config.h +1 -1
@@ 33,7 33,7 @@
#    define DISABLE_RGB_MATRIX_MULTISPLASH
#    define DISABLE_RGB_MATRIX_SOLID_SPLASH
#    define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 63
#endif

M keyboards/clueboard/66_hotswap/gen1/config.h => keyboards/clueboard/66_hotswap/gen1/config.h +1 -8
@@ 33,14 33,7 @@
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define LED_DRIVER_ADDR_1 0b1110100
#define LED_DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define I2C1_SCL_PIN B8
#define I2C1_SDA_PIN B9


M keyboards/dp60/config.h => keyboards/dp60/config.h +2 -2
@@ 33,8 33,8 @@
//#define NO_PRINT

//rgb matrix setting
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 36
#define DRIVER_2_LED_TOTAL 36

M keyboards/drop/alt/v2/config.h => keyboards/drop/alt/v2/config.h +2 -2
@@ 14,8 14,8 @@
#define EXTERNAL_EEPROM_WP_PIN B5
#define EEPROM_I2C_24LC256

#define DRIVER_ADDR_1 0b1010011
#define DRIVER_ADDR_2 0b1011111
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_VCC
#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
#define IS31FL3733_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 111
#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ

M keyboards/drop/ctrl/v2/config.h => keyboards/drop/ctrl/v2/config.h +2 -2
@@ 14,8 14,8 @@
#define EXTERNAL_EEPROM_WP_PIN B5
#define EEPROM_I2C_24LC256

#define DRIVER_ADDR_1 0b1010011
#define DRIVER_ADDR_2 0b1011111
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_VCC
#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
#define IS31FL3733_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 119
#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ

M keyboards/drop/sense75/config.h => keyboards/drop/sense75/config.h +2 -2
@@ 9,8 9,8 @@
#define EXTERNAL_EEPROM_WP_PIN B7
#define EEPROM_I2C_24LC256

#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1011111
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
#define IS31FL3733_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT 111
#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ

M keyboards/drop/shift/v2/config.h => keyboards/drop/shift/v2/config.h +3 -3
@@ 14,9 14,9 @@
#define EXTERNAL_EEPROM_WP_PIN B5
#define EEPROM_I2C_24LC256

#define DRIVER_ADDR_1 0b1010011
#define DRIVER_ADDR_2 0b1011111
#define DRIVER_ADDR_3 0b1010000
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_VCC
#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_VCC_VCC
#define DRIVER_ADDR_3 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_DRIVER_COUNT 3
#define RGB_MATRIX_LED_COUNT 166
#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_26K7_HZ

M keyboards/durgod/dgk6x/config.h => keyboards/durgod/dgk6x/config.h +2 -13
@@ 34,19 34,8 @@
#define LED_MR_LOCK_PIN     LED_SCROLL_LOCK_PIN

#ifdef RGB_MATRIX_ENABLE
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)

#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010011
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_GND_VCC

#define IS31FL3733_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/dztech/dz60rgb/v1/config.h => keyboards/dztech/dz60rgb/v1/config.h +1 -1
@@ 55,7 55,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 63
#endif

M keyboards/dztech/dz60rgb/v2/config.h => keyboards/dztech/dz60rgb/v2/config.h +1 -1
@@ 53,7 53,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 63
#endif

M keyboards/dztech/dz60rgb/v2_1/config.h => keyboards/dztech/dz60rgb/v2_1/config.h +1 -1
@@ 69,7 69,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 63
#endif

M keyboards/dztech/dz60rgb_ansi/v1/config.h => keyboards/dztech/dz60rgb_ansi/v1/config.h +1 -1
@@ 55,7 55,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 61
#endif

M keyboards/dztech/dz60rgb_ansi/v2/config.h => keyboards/dztech/dz60rgb_ansi/v2/config.h +1 -1
@@ 53,7 53,7 @@
#    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 61
#endif

M keyboards/dztech/dz60rgb_ansi/v2_1/config.h => keyboards/dztech/dz60rgb_ansi/v2_1/config.h +1 -1
@@ 69,7 69,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 61
#endif

M keyboards/dztech/dz60rgb_wkl/v1/config.h => keyboards/dztech/dz60rgb_wkl/v1/config.h +1 -1
@@ 55,7 55,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 62
#endif

M keyboards/dztech/dz60rgb_wkl/v2/config.h => keyboards/dztech/dz60rgb_wkl/v2/config.h +1 -1
@@ 50,7 50,7 @@
#    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 62
#endif

M keyboards/dztech/dz60rgb_wkl/v2_1/config.h => keyboards/dztech/dz60rgb_wkl/v2_1/config.h +1 -1
@@ 69,7 69,7 @@
#    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define DRIVER_ADDR_1      0b1010000
#    define DRIVER_ADDR_1      IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT       1
#    define RGB_MATRIX_LED_COUNT   62
#endif

M keyboards/dztech/dz64rgb/config.h => keyboards/dztech/dz64rgb/config.h +1 -1
@@ 48,7 48,7 @@
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 64
#endif

M keyboards/dztech/dz65rgb/v1/config.h => keyboards/dztech/dz65rgb/v1/config.h +2 -2
@@ 70,8 70,8 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b1110100
#    define DRIVER_ADDR_2 0b1110111
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#    define IS31FL3731_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 35
#    define DRIVER_2_LED_TOTAL 33

M keyboards/dztech/dz65rgb/v2/config.h => keyboards/dztech/dz65rgb/v2/config.h +2 -2
@@ 70,8 70,8 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b1110100
#    define DRIVER_ADDR_2 0b1110111
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#    define IS31FL3731_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 35
#    define DRIVER_2_LED_TOTAL 33

M keyboards/dztech/dz65rgb/v3/config.h => keyboards/dztech/dz65rgb/v3/config.h +1 -1
@@ 72,7 72,7 @@
#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b0110000
#    define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#    define IS31FL3741_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 68
#    define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/dztech/tofu/ii/v1/config.h => keyboards/dztech/tofu/ii/v1/config.h +2 -2
@@ 79,8 79,8 @@
#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_2 0b1011111
#    define DRIVER_ADDR_1 IS31FL3737_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3737_I2C_ADDRESS_VCC
#    define IS31FL3737_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 46
#    define DRIVER_2_LED_TOTAL 20

M keyboards/dztech/tofu/jr/v1/config.h => keyboards/dztech/tofu/jr/v1/config.h +2 -2
@@ 79,8 79,8 @@
#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_2 0b1011111
#    define DRIVER_ADDR_1 IS31FL3737_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3737_I2C_ADDRESS_VCC
#    define IS31FL3737_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 48
#    define DRIVER_2_LED_TOTAL 20

M keyboards/ergodox_ez/config.h => keyboards/ergodox_ez/config.h +2 -2
@@ 91,8 91,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.


// RGB backlight
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 24
#define DRIVER_2_LED_TOTAL 24

M keyboards/evyd13/atom47/rev5/config.h => keyboards/evyd13/atom47/rev5/config.h +1 -11
@@ 38,17 38,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 64


M keyboards/exclusive/e6_rgb/config.h => keyboards/exclusive/e6_rgb/config.h +1 -1
@@ 4,7 4,7 @@
 */
#pragma once

#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND

#define IS31FL3733_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 63

M keyboards/fallacy/config.h => keyboards/fallacy/config.h +1 -1
@@ 18,7 18,7 @@
/* IS31FL3731 driver address (for status LEDs)
 * Using the default defines here, but using a custom implementation
 */
#define LED_DRIVER_ADDR_1 0b1110100
#define LED_DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_DRIVER_COUNT 1
#define LED_MATRIX_LED_COUNT 3


M keyboards/feker/ik75/config.h => keyboards/feker/ik75/config.h +2 -2
@@ 25,8 25,8 @@
    #define RGB_MATRIX_FRAMEBUFFER_EFFECTS

    /* RGB Matrix config */
    #define DRIVER_ADDR_1 0b1011111
    #define DRIVER_ADDR_2 0b1010000
    #define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_VCC_VCC
    #define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_GND_GND
    #define IS31FL3733_DRIVER_COUNT 2
    #define DRIVER_1_LED_TOTAL 63
    #define DRIVER_2_LED_TOTAL 64

M keyboards/ferris/0_2/bling/config.h => keyboards/ferris/0_2/bling/config.h +2 -2
@@ 18,8 18,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#pragma once

/* LED Drivers */
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110101
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SCL
#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 7
#define DRIVER_2_LED_TOTAL 7

M keyboards/flashquark/horizon_z/config.h => keyboards/flashquark/horizon_z/config.h +1 -1
@@ 72,7 72,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 62
#endif

M keyboards/frooastboard/walnut/config.h => keyboards/frooastboard/walnut/config.h +1 -1
@@ 6,7 6,7 @@
#define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_26K7_HZ
#define IS31FL3737_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 48
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_1 IS31FL3737_I2C_ADDRESS_GND

#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 191


M keyboards/geekboards/tester/config.h => keyboards/geekboards/tester/config.h +2 -2
@@ 55,8 55,8 @@
// #    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define DRIVER_ADDR_1 0b1110100
#    define DRIVER_ADDR_2 0b1110101
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SCL
#    define IS31FL3731_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 8
#    define DRIVER_2_LED_TOTAL 0

M keyboards/gizmo_engineering/gk6/config.h => keyboards/gizmo_engineering/gk6/config.h +2 -2
@@ 18,8 18,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#pragma once

// RGB Matrix
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC

#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 32

M keyboards/handwired/orbweaver/config.h => keyboards/handwired/orbweaver/config.h +1 -1
@@ 18,7 18,7 @@
#pragma once

#define IS31FL3731_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define RGB_MATRIX_LED_COUNT 20
#define I2C1_CLOCK_SPEED 100000
#define RGB_MATRIX_CENTER { 40, 30 }

M keyboards/hs60/v1/config.h => keyboards/hs60/v1/config.h +2 -2
@@ 41,8 41,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 215

#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110101
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SCL

#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 30

M keyboards/ilumkb/simpler61/config.h => keyboards/ilumkb/simpler61/config.h +1 -1
@@ 21,7 21,7 @@
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 61
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

M keyboards/ilumkb/simpler64/config.h => keyboards/ilumkb/simpler64/config.h +1 -1
@@ 21,7 21,7 @@
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 64
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

M keyboards/inett_studio/sqx/hotswap/config.h => keyboards/inett_studio/sqx/hotswap/config.h +2 -2
@@ 32,8 32,8 @@
//rgb matrix setting
#define DRIVER_1_LED_TOTAL 33
#define DRIVER_2_LED_TOTAL 31
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)


M keyboards/inett_studio/sqx/universal/config.h => keyboards/inett_studio/sqx/universal/config.h +2 -2
@@ 32,8 32,8 @@
//rgb matrix setting
#define DRIVER_1_LED_TOTAL 36
#define DRIVER_2_LED_TOTAL 36
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)


M keyboards/input_club/ergodox_infinity/config.h => keyboards/input_club/ergodox_infinity/config.h +1 -1
@@ 43,7 43,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define LED_BRIGHTNESS_HI       255

/* LED matrix driver */
#define LED_DRIVER_ADDR_1 0x74
#define LED_DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_DRIVER_COUNT 1
#define LED_MATRIX_LED_COUNT 76
#define LED_MATRIX_SPLIT { 38, 38 }

M keyboards/input_club/k_type/config.h => keyboards/input_club/k_type/config.h +2 -2
@@ 103,8 103,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define I2C2_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
#    define I2C2_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_2 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 64
#    define DRIVER_2_LED_TOTAL 55

M keyboards/input_club/k_type/is31fl3733-dual.c => keyboards/input_club/k_type/is31fl3733-dual.c +0 -12
@@ 20,18 20,6 @@
#include "i2c_master.h"
#include "wait.h"

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 00 <-> GND
// 01 <-> SCL
// 10 <-> SDA
// 11 <-> VCC
// ADDR1 represents A1:A0 of the 7-bit address.
// ADDR2 represents A3:A2 of the 7-bit address.
// The result is: 0b101(ADDR2)(ADDR1)
#define IS31FL3733_I2C_ADDRESS_DEFAULT 0x50

#define IS31FL3733_COMMANDREGISTER 0xFD
#define IS31FL3733_COMMANDREGISTER_WRITELOCK 0xFE
#define IS31FL3733_INTERRUPTMASKREGISTER 0xF0

M keyboards/input_club/k_type/is31fl3733-dual.h => keyboards/input_club/k_type/is31fl3733-dual.h +17 -0
@@ 22,6 22,23 @@
#include <stdbool.h>
#include "progmem.h"

#define IS31FL3733_I2C_ADDRESS_GND_GND 0x50
#define IS31FL3733_I2C_ADDRESS_GND_SCL 0x51
#define IS31FL3733_I2C_ADDRESS_GND_SDA 0x52
#define IS31FL3733_I2C_ADDRESS_GND_VCC 0x53
#define IS31FL3733_I2C_ADDRESS_SCL_GND 0x54
#define IS31FL3733_I2C_ADDRESS_SCL_SCL 0x55
#define IS31FL3733_I2C_ADDRESS_SCL_SDA 0x56
#define IS31FL3733_I2C_ADDRESS_SCL_VCC 0x57
#define IS31FL3733_I2C_ADDRESS_SDA_GND 0x58
#define IS31FL3733_I2C_ADDRESS_SDA_SCL 0x59
#define IS31FL3733_I2C_ADDRESS_SDA_SDA 0x5A
#define IS31FL3733_I2C_ADDRESS_SDA_VCC 0x5B
#define IS31FL3733_I2C_ADDRESS_VCC_GND 0x5C
#define IS31FL3733_I2C_ADDRESS_VCC_SCL 0x5D
#define IS31FL3733_I2C_ADDRESS_VCC_SDA 0x5E
#define IS31FL3733_I2C_ADDRESS_VCC_VCC 0x5F

typedef struct is31_led {
    uint8_t driver : 2;
    uint8_t r;

M keyboards/input_club/whitefox/config.h => keyboards/input_club/whitefox/config.h +1 -1
@@ 21,7 21,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#define LED_BRIGHTNESS_HI 255

/* LED matrix driver */
#define LED_DRIVER_ADDR_1 0x74
#define LED_DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_DRIVER_COUNT 1
#define LED_MATRIX_LED_COUNT 71
#define LED_DISABLE_WHEN_USB_SUSPENDED

M keyboards/kbdcraft/adam64/config.h => keyboards/kbdcraft/adam64/config.h +1 -1
@@ 24,7 24,7 @@
#define I2C1_DUTY_CYCLE	FAST_DUTY_CYCLE_16_9

#define IS31FL3741_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define RGB_MATRIX_LED_COUNT 64

/* turn off effects when suspended */

M keyboards/kbdfans/bella/rgb/config.h => keyboards/kbdfans/bella/rgb/config.h +1 -1
@@ 71,7 71,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 108
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/kbdfans/bella/rgb_iso/config.h => keyboards/kbdfans/bella/rgb_iso/config.h +1 -1
@@ 71,7 71,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 109
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/kbdfans/boop65/rgb/config.h => keyboards/kbdfans/boop65/rgb/config.h +1 -1
@@ 26,7 26,7 @@
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#    define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
#    define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#    define DRIVER_ADDR_1 0b0110000
#    define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#    define IS31FL3741_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 83
#    define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/kbdfans/kbd67/mkiirgb/v1/config.h => keyboards/kbdfans/kbd67/mkiirgb/v1/config.h +2 -2
@@ 55,8 55,8 @@

#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 35
#define DRIVER_2_LED_TOTAL 32

M keyboards/kbdfans/kbd67/mkiirgb/v2/config.h => keyboards/kbdfans/kbd67/mkiirgb/v2/config.h +2 -2
@@ 55,8 55,8 @@
// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
#    define DRIVER_ADDR_1 0b1110100
#    define DRIVER_ADDR_2 0b1110111
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#    define IS31FL3731_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 35
#    define DRIVER_2_LED_TOTAL 32

M keyboards/kbdfans/kbd67/mkiirgb/v3/config.h => keyboards/kbdfans/kbd67/mkiirgb/v3/config.h +1 -1
@@ 72,7 72,7 @@
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 67
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/kbdfans/kbdmini/config.h => keyboards/kbdfans/kbdmini/config.h +1 -1
@@ 53,7 53,7 @@
// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define IS31FL3733_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 52
#endif

M keyboards/kbdfans/maja/config.h => keyboards/kbdfans/maja/config.h +2 -2
@@ 54,8 54,8 @@
// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110110
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 36
#define DRIVER_2_LED_TOTAL 31

M keyboards/keychron/c1_pro/ansi/rgb/config.h => keyboards/keychron/c1_pro/ansi/rgb/config.h +2 -2
@@ 21,8 21,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 49

M keyboards/keychron/c1_pro/ansi/white/config.h => keyboards/keychron/c1_pro/ansi/white/config.h +1 -1
@@ 21,7 21,7 @@

/* LED Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_GND

/* LED Matrix Configuration */
#define LED_MATRIX_LED_COUNT 90

M keyboards/keychron/c2_pro/ansi/rgb/config.h => keyboards/keychron/c2_pro/ansi/rgb/config.h +2 -2
@@ 18,8 18,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Set LED driver current */
#define CKLED2001_CURRENT_TUNE \

M keyboards/keychron/c2_pro/ansi/white/config.h => keyboards/keychron/c2_pro/ansi/white/config.h +1 -1
@@ 18,7 18,7 @@

/* LED Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_GND

/* Set LED driver current */
#define CKLED2001_CURRENT_TUNE \

M keyboards/keychron/q0/rev_0130/config.h => keyboards/keychron/q0/rev_0130/config.h +1 -1
@@ 18,7 18,7 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_GND

/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 21

M keyboards/keychron/q0/rev_0131/config.h => keyboards/keychron/q0/rev_0131/config.h +1 -1
@@ 18,7 18,7 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO

/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 26

M keyboards/keychron/q1/config.h => keyboards/keychron/q1/config.h +2 -2
@@ 18,8 18,8 @@

/* RGB Matrix Driver Configuration */
#define IS31FL3733_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1011111
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_VCC_VCC

/* DIP switch */
#define DIP_SWITCH_MATRIX_GRID  { {0,1} }

M keyboards/keychron/q10/config.h => keyboards/keychron/q10/config.h +2 -2
@@ 31,8 31,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/q11/config.h => keyboards/keychron/q11/config.h +1 -1
@@ 28,7 28,7 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/q12/config.h => keyboards/keychron/q12/config.h +2 -2
@@ 27,8 27,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/q2/config.h => keyboards/keychron/q2/config.h +2 -2
@@ 23,8 23,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

#define CKLED2001_PHASE_CHANNEL CKLED2001_MSKPHASE_9CHANNEL


M keyboards/keychron/q3/config.h => keyboards/keychron/q3/config.h +2 -2
@@ 25,8 25,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/q4/ansi_v1/config.h => keyboards/keychron/q4/ansi_v1/config.h +2 -2
@@ 18,8 18,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 31

M keyboards/keychron/q4/ansi_v2/config.h => keyboards/keychron/q4/ansi_v2/config.h +1 -1
@@ 18,7 18,7 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_GND

/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 61

M keyboards/keychron/q4/iso/config.h => keyboards/keychron/q4/iso/config.h +1 -1
@@ 18,7 18,7 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_GND

/* RGB Matrix Configuration */
#define DRIVER_1_LED_TOTAL 62

M keyboards/keychron/q5/config.h => keyboards/keychron/q5/config.h +2 -2
@@ 31,8 31,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

#define CKLED2001_CURRENT_TUNE \
    { 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56, 0xB6, 0xB6, 0x56 }

M keyboards/keychron/q6/config.h => keyboards/keychron/q6/config.h +2 -2
@@ 25,8 25,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

#define CKLED2001_CURRENT_TUNE \
    { 0xA4, 0xA4, 0x52, 0xA4, 0xA4, 0x52, 0xA4, 0xA4, 0x52, 0xA4, 0xA4, 0x52 }

M keyboards/keychron/q60/config.h => keyboards/keychron/q60/config.h +1 -1
@@ 18,7 18,7 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/q65/config.h => keyboards/keychron/q65/config.h +2 -2
@@ 27,8 27,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/q7/config.h => keyboards/keychron/q7/config.h +2 -2
@@ 18,8 18,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/q8/config.h => keyboards/keychron/q8/config.h +2 -2
@@ 21,8 21,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/q9/config.h => keyboards/keychron/q9/config.h +1 -1
@@ 24,7 24,7 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/s1/ansi/rgb/config.h => keyboards/keychron/s1/ansi/rgb/config.h +2 -2
@@ 18,8 18,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND
#define DRIVER_1_LED_TOTAL 46
#define DRIVER_2_LED_TOTAL 38
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/keychron/s1/ansi/white/config.h => keyboards/keychron/s1/ansi/white/config.h +1 -1
@@ 18,7 18,7 @@

/* LED Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_GND
#define DRIVER_1_LED_TOTAL 84
#define LED_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL


M keyboards/keychron/v1/config.h => keyboards/keychron/v1/config.h +2 -2
@@ 33,8 33,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/v10/config.h => keyboards/keychron/v10/config.h +2 -2
@@ 32,8 32,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/v2/config.h => keyboards/keychron/v2/config.h +2 -2
@@ 21,8 21,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/v3/config.h => keyboards/keychron/v3/config.h +2 -2
@@ 21,8 21,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/v4/config.h => keyboards/keychron/v4/config.h +1 -1
@@ 18,7 18,7 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/v5/config.h => keyboards/keychron/v5/config.h +2 -2
@@ 27,8 27,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/v6/config.h => keyboards/keychron/v6/config.h +2 -2
@@ 21,8 21,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/v7/config.h => keyboards/keychron/v7/config.h +2 -2
@@ 18,8 18,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/keychron/v8/config.h => keyboards/keychron/v8/config.h +2 -2
@@ 21,8 21,8 @@

/* RGB Matrix Driver Configuration */
#define CKLED2001_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1110111
#define DRIVER_ADDR_2 0b1110100
#define DRIVER_ADDR_1 CKLED2001_I2C_ADDRESS_VDDIO
#define DRIVER_ADDR_2 CKLED2001_I2C_ADDRESS_GND

/* Increase I2C speed to 1000 KHz */
#define I2C1_TIMINGR_PRESC 0U

M keyboards/kprepublic/bm60hsrgb/rev2/config.h => keyboards/kprepublic/bm60hsrgb/rev2/config.h +1 -1
@@ 18,7 18,7 @@
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD

#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND

#define RGB_MATRIX_KEYPRESSES
// RGB Matrix Animation modes. Explicitly enabled

M keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h => keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h +1 -1
@@ 18,7 18,7 @@
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD

#    define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 63
#    define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

M keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h => keyboards/kprepublic/bm60hsrgb_iso/rev2/config.h +1 -1
@@ 26,7 26,7 @@
#    define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#    define DISABLE_RGB_MATRIX_RAINDROPS
#    define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define DRIVER_1_LED_TOTAL 64


M keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h => keyboards/kprepublic/bm60hsrgb_poker/rev2/config.h +1 -1
@@ 78,7 78,7 @@

// Configure the IS31FL3733 driver for per-key RGB LEDs
#define IS31FL3733_DRIVER_COUNT 1
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define DRIVER_1_LED_TOTAL 61

#define ISSI_LED_TOTAL DRIVER_1_LED_TOTAL

M keyboards/kprepublic/bm68hsrgb/rev2/config.h => keyboards/kprepublic/bm68hsrgb/rev2/config.h +1 -1
@@ 18,7 18,7 @@

#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD

#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND

#define IS31FL3741_DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 68

M keyboards/kprepublic/bm80v2/config.h => keyboards/kprepublic/bm80v2/config.h +1 -1
@@ 53,7 53,7 @@
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 87
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

M keyboards/kprepublic/bm80v2_iso/config.h => keyboards/kprepublic/bm80v2_iso/config.h +1 -1
@@ 54,7 54,7 @@
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 88
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

M keyboards/latincompass/latin17rgb/config.h => keyboards/latincompass/latin17rgb/config.h +2 -9
@@ 69,15 69,8 @@
// #    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

 // This is a 7-bit address, that gets left-shifted and bit 0
 // set to 0 for write, 1 for read (as per I2C protocol)
 // The address will vary depending on your wiring:
 // 0b1110100 AD <-> GND
 // 0b1110111 AD <-> VCC
 // 0b1110101 AD <-> SCL
 // 0b1110110 AD <-> SDA
#    define DRIVER_ADDR_1 0b1110100
#    define DRIVER_ADDR_2 0b1110110
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA

#    define IS31FL3731_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 25

M keyboards/latincompass/latin60rgb/config.h => keyboards/latincompass/latin60rgb/config.h +1 -1
@@ 67,7 67,7 @@
// #    define ENABLE_RGB_MATRIX_MULTISPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 60
#endif

M keyboards/latincompass/latin6rgb/config.h => keyboards/latincompass/latin6rgb/config.h +1 -8
@@ 70,14 70,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND

#define IS31FL3731_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 6

M keyboards/matrix/m20add/config.h => keyboards/matrix/m20add/config.h +1 -1
@@ 78,6 78,6 @@
#define I2C1_CLOCK_SPEED 400000
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2

#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 20

M keyboards/matrix/noah/config.h => keyboards/matrix/noah/config.h +2 -2
@@ 19,8 19,8 @@
#define PAL_MODE_STM32_ALTERNATE_OPENDRAIN (PAL_MODE_ALTERNATE(4) | PAL_STM32_OTYPE_OPENDRAIN)

// rgb matrix setting
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110110
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 36
#define DRIVER_2_LED_TOTAL 36

M keyboards/mechlovin/adelais/rgb_led/rev2/config.h => keyboards/mechlovin/adelais/rgb_led/rev2/config.h +2 -9
@@ 1,15 1,8 @@
#pragma once

//rgb matrix setting
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110110
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 32
#define DRIVER_2_LED_TOTAL 36

M keyboards/mechlovin/adelais/rgb_led/rev3/config.h => keyboards/mechlovin/adelais/rgb_led/rev3/config.h +1 -8
@@ 22,14 22,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#ifdef RGB_MATRIX_ENABLE
//rgb matrix setting
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b0110010
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_SDA
#define IS31FL3741_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 66


M keyboards/mechlovin/delphine/rgb_led/config.h => keyboards/mechlovin/delphine/rgb_led/config.h +2 -8
@@ 1,13 1,7 @@
#pragma once

//rgb matrix setting// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b1110110
//rgb matrix setting
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 25
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses

M keyboards/mechlovin/hannah60rgb/rev2/config.h => keyboards/mechlovin/hannah60rgb/rev2/config.h +3 -9
@@ 1,14 1,8 @@
#pragma once

//rgb matrix setting// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110110
//rgb matrix setting
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA
#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 44
#define DRIVER_2_LED_TOTAL 34

M keyboards/mechlovin/infinity87/rgb_rev1/config.h => keyboards/mechlovin/infinity87/rgb_rev1/config.h +1 -8
@@ 17,13 17,6 @@
#pragma once

//rgb matrix setting
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b0110000 AD <-> GND
// 0b0110011 AD <-> VCC
// 0b0110001 AD <-> SCL
// 0b0110010 AD <-> SDA
#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#undef ENABLE_RGB_MATRIX_SPLASH


@@ 80,7 73,7 @@
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define DRIVER_ADDR_1 0b0110010
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_SDA
#define IS31FL3741_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 91
#define DRIVER_INDICATOR_LED_TOTAL 0

M keyboards/mechlovin/olly/octagon/config.h => keyboards/mechlovin/olly/octagon/config.h +1 -8
@@ 18,14 18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#pragma once

#ifdef LED_MATRIX_ENABLE
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define LED_DRIVER_ADDR_1 0b1110110
#define LED_DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_SDA
#define I2C_DRIVER I2CD2
#define I2C1_SCL_PIN B10
#define I2C1_SDA_PIN B11

M keyboards/mechlovin/zed65/mono_led/config.h => keyboards/mechlovin/zed65/mono_led/config.h +1 -8
@@ 18,14 18,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#pragma once

#ifdef LED_MATRIX_ENABLE
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define LED_DRIVER_ADDR_1 0b1110110
#define LED_DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_SDA
#define I2C_DRIVER I2CD2
#define I2C1_SCL_PIN B10
#define I2C1_SDA_PIN B11

M keyboards/melgeek/mach80/config.h => keyboards/melgeek/mach80/config.h +1 -1
@@ 25,7 25,7 @@
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1

#define ENABLE_RGB_MATRIX_ALPHAS_MODS

M keyboards/melgeek/mj61/config.h => keyboards/melgeek/mj61/config.h +1 -1
@@ 70,5 70,5 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1

M keyboards/melgeek/mj63/config.h => keyboards/melgeek/mj63/config.h +1 -1
@@ 70,5 70,5 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1

M keyboards/melgeek/mj64/config.h => keyboards/melgeek/mj64/config.h +1 -1
@@ 70,5 70,5 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1

M keyboards/melgeek/mj65/config.h => keyboards/melgeek/mj65/config.h +1 -1
@@ 70,5 70,5 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1

M keyboards/melgeek/mojo68/config.h => keyboards/melgeek/mojo68/config.h +1 -1
@@ 69,5 69,5 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1

M keyboards/melgeek/mojo75/config.h => keyboards/melgeek/mojo75/config.h +1 -1
@@ 71,5 71,5 @@
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1

M keyboards/melgeek/tegic/config.h => keyboards/melgeek/tegic/config.h +1 -1
@@ 22,7 22,7 @@
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1

#define ENABLE_RGB_MATRIX_ALPHAS_MODS

M keyboards/melgeek/z70ultra/config.h => keyboards/melgeek/z70ultra/config.h +1 -1
@@ 70,7 70,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
//#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 69
#define DRIVER_INDICATOR_LED_TOTAL 6

M keyboards/miller/gm862/config.h => keyboards/miller/gm862/config.h +1 -1
@@ 53,7 53,7 @@
// #    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define DRIVER_ADDR_1 0b1010000
#    define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#    define IS31FL3733_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 62
#endif

M keyboards/moonlander/config.h => keyboards/moonlander/config.h +2 -2
@@ 65,8 65,8 @@
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT

#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC

#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 36

M keyboards/mt/mt64rgb/config.h => keyboards/mt/mt64rgb/config.h +1 -1
@@ 22,7 22,7 @@
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
#define RGB_MATRIX_LED_PROCESS_LIMIT 20
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND

#define IS31FL3733_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 64

M keyboards/mt/mt84/config.h => keyboards/mt/mt84/config.h +2 -2
@@ 22,8 22,8 @@
    #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL
	#define RGB_MATRIX_LED_PROCESS_LIMIT 20
	#define RGB_MATRIX_LED_FLUSH_LIMIT 26
	#define DRIVER_ADDR_1 0b1010000
	#define DRIVER_ADDR_2 0b1011111
	#define DRIVER_ADDR_1 IS31FL3737_I2C_ADDRESS_GND
	#define DRIVER_ADDR_2 IS31FL3737_I2C_ADDRESS_VCC




M keyboards/neson_design/700e/config.h => keyboards/neson_design/700e/config.h +2 -2
@@ 32,8 32,8 @@

#define DRIVER_1_LED_TOTAL 32
#define DRIVER_2_LED_TOTAL 32
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)


M keyboards/neson_design/n6/config.h => keyboards/neson_design/n6/config.h +2 -2
@@ 32,7 32,7 @@

#define DRIVER_1_LED_TOTAL 32
#define DRIVER_2_LED_TOTAL 32
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#define IS31FL3731_DRIVER_COUNT 2
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL)

M keyboards/opendeck/32/rev1/config.h => keyboards/opendeck/32/rev1/config.h +1 -1
@@ 16,7 16,7 @@
#pragma once

// RGB matrix
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT (4 * 8 * 3)
#define RGB_DISABLE_WHEN_USB_SUSPENDED

M keyboards/owlab/voice65/hotswap/config.h => keyboards/owlab/voice65/hotswap/config.h +1 -1
@@ 29,7 29,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define RGB_MATRIX_LED_FLUSH_LIMIT    26
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#    define RGB_MATRIX_DEFAULT_VAL        128
#    define DRIVER_ADDR_1                 0b0110000
#    define DRIVER_ADDR_1                 IS31FL3741_I2C_ADDRESS_GND
#    define IS31FL3741_DRIVER_COUNT                  1
#    define RGB_MATRIX_LED_COUNT              67
// RGB Matrix Animation modes. Explicitly enabled

M keyboards/owlab/voice65/soldered/config.h => keyboards/owlab/voice65/soldered/config.h +1 -1
@@ 29,7 29,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    define RGB_MATRIX_LED_FLUSH_LIMIT    26
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#    define RGB_MATRIX_DEFAULT_VAL        128
#    define DRIVER_ADDR_1                 0b0110000
#    define DRIVER_ADDR_1                 IS31FL3741_I2C_ADDRESS_GND
#    define IS31FL3741_DRIVER_COUNT                  1
#    define RGB_MATRIX_LED_COUNT              71


M keyboards/planck/ez/config.h => keyboards/planck/ez/config.h +1 -1
@@ 50,7 50,7 @@
//#define WS2812_DMA_CHANNEL 7                  // DMA channel for TIMx_UP
//#define WS2812_EXTERNAL_PULLUP

#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_1 IS31FL3737_I2C_ADDRESS_GND

#define IS31FL3737_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 47

M keyboards/planck/light/config.h => keyboards/planck/light/config.h +2 -9
@@ 7,15 7,8 @@

#define PLANCK_MIT_LAYOUT

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1      0b1110100
#define DRIVER_ADDR_2      0b1110110
#define DRIVER_ADDR_1      IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2      IS31FL3731_I2C_ADDRESS_SDA

#define IS31FL3731_DRIVER_COUNT       2
#define DRIVER_1_LED_TOTAL 25

M keyboards/playkbtw/pk64rgb/config.h => keyboards/playkbtw/pk64rgb/config.h +1 -1
@@ 23,7 23,7 @@
	#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 160
	#define RGB_MATRIX_LED_PROCESS_LIMIT 20
	#define RGB_MATRIX_LED_FLUSH_LIMIT 26
	#define DRIVER_ADDR_1 0b1010000
	#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
    #define IS31FL3733_DRIVER_COUNT 1
	#define RGB_MATRIX_LED_COUNT 64


M keyboards/redragon/k667/config.h => keyboards/redragon/k667/config.h +2 -2
@@ 17,8 17,8 @@
#pragma once


#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010011
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_GND_VCC

#define IS31FL3733_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 45

M keyboards/smallkeyboard/config.h => keyboards/smallkeyboard/config.h +1 -8
@@ 66,14 66,7 @@
// #define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
// 0b1110100 AD <-> GND
// 0b1110111 AD <-> VCC
// 0b1110101 AD <-> SCL
// 0b1110110 AD <-> SDA
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND

#define IS31FL3731_DRIVER_COUNT 1
#define RGB_MATRIX_LED_COUNT 6

M keyboards/teleport/native/config.h => keyboards/teleport/native/config.h +2 -2
@@ 30,8 30,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

/* RGB Matrix driver config */
#define IS31FL3733_DRIVER_COUNT 2
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010011
#define DRIVER_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define DRIVER_ADDR_2 IS31FL3733_I2C_ADDRESS_GND_VCC
#define DRIVER_1_LED_TOTAL 46
#define DRIVER_2_LED_TOTAL 39
#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

M keyboards/terrazzo/config.h => keyboards/terrazzo/config.h +1 -1
@@ 17,7 17,7 @@

#ifdef LED_MATRIX_ENABLE

#define LED_DRIVER_ADDR_1 0x74
#define LED_DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_DRIVER_COUNT 1
#define LED_MATRIX_LED_COUNT 105
#define LED_MATRIX_ROWS 15

M keyboards/tkc/portico/config.h => keyboards/tkc/portico/config.h +2 -2
@@ 39,8 39,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
#    undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#    undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#    define DRIVER_ADDR_1 0x74
#    define DRIVER_ADDR_2 0x77
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC
#    define IS31FL3731_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 36
#    define DRIVER_2_LED_TOTAL 31

M keyboards/tkc/portico68v2/config.h => keyboards/tkc/portico68v2/config.h +1 -1
@@ 17,7 17,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.

#pragma once

#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 82
#define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

M keyboards/tkc/portico75/config.h => keyboards/tkc/portico75/config.h +1 -1
@@ 72,7 72,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#    define DRIVER_ADDR_1 0b0110000
#    define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#    define IS31FL3741_DRIVER_COUNT 1
#    define DRIVER_1_LED_TOTAL 98
#    define RGB_MATRIX_LED_COUNT DRIVER_1_LED_TOTAL

M keyboards/wilba_tech/wt_rgb_backlight.c => keyboards/wilba_tech/wt_rgb_backlight.c +15 -36
@@ 155,11 155,7 @@ uint8_t g_key_hit[BACKLIGHT_LED_COUNT];
uint32_t g_any_key_hit = 0;

#if defined(RGB_BACKLIGHT_HS60)

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// ADDR_2 is not needed. it is here as a dummy
#define ISSI_ADDR_1 0x50
#define ISSI_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND

const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations


@@ 235,12 231,8 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
};

#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_KW_MEGA)

// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// ADDR_2 is not needed. it is here as a dummy
#define ISSI_ADDR_1 0x50
#define ISSI_ADDR_2 0x52
#define ISSI_ADDR_1 IS31FL3733_I2C_ADDRESS_GND_GND
#define ISSI_ADDR_2 IS31FL3733_I2C_ADDRESS_GND_SDA

const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations


@@ 381,9 373,7 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
};

#elif defined(RGB_BACKLIGHT_NEBULA12)
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_1 IS31FL3731_I2C_ADDRESS_GND

const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations


@@ 411,11 401,10 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
};

#elif defined(RGB_BACKLIGHT_U80_A)

// U80-A prototype uses 3 ISSI drivers
#define ISSI_ADDR_1 0x74  // 11101[00] <- GND
#define ISSI_ADDR_2 0x76  // 11101[10] <- SDA
#define ISSI_ADDR_3 0x75  // 11101[01] <- SCL
#define ISSI_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define ISSI_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA
#define ISSI_ADDR_3 IS31FL3731_I2C_ADDRESS_SCL

const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations


@@ 539,10 528,8 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {2, C8_16, C7_16, C6_16}, // LF17
};
#elif defined(RGB_BACKLIGHT_DAWN60)
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2 0x76
#define ISSI_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define ISSI_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA

const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations


@@ 620,10 607,8 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {1, C9_16,  C7_15,  C6_15}  //D16
};
#elif defined(RGB_BACKLIGHT_PORTICO)
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2 0x77
#define ISSI_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define ISSI_ADDR_2 IS31FL3731_I2C_ADDRESS_VCC

const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations


@@ 706,9 691,7 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
};

#elif defined(RGB_BACKLIGHT_PORTICO75)
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
#define ISSI_ADDR_1 0x30
#define ISSI_ADDR_1 IS31FL3741_I2C_ADDRESS_GND
#define ISSI_ADDR_2

const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {


@@ 843,9 826,7 @@ const is31fl3218_led_t PROGMEM g_is31fl3218_leds[RGB_MATRIX_LED_COUNT] = {
    {OUT16, OUT17, OUT18}
};
#elif defined(RGB_BACKLIGHT_M10_C)
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define ISSI_ADDR_2

const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {


@@ 863,10 844,8 @@ const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
    {0, C9_16, C7_15, C6_15}  // LB16
};
#else
// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2 0x76
#define ISSI_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define ISSI_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA

const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
/* Refer to IS31 manual for these locations

M keyboards/xbows/knight/config.h => keyboards/xbows/knight/config.h +3 -3
@@ 47,9 47,9 @@
#    define ENABLE_RGB_MATRIX_SPLASH                  // Full gradient & value pulse away from a single key hit then fades value out
#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH       // Hue & value pulse away from multiple key hits then fades value out

#    define DRIVER_ADDR_1 0b1110100
#    define DRIVER_ADDR_2 0b1110110
#    define DRIVER_ADDR_3 0b1110101
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA
#    define DRIVER_ADDR_3 IS31FL3731_I2C_ADDRESS_SCL
#    define IS31FL3731_DRIVER_COUNT 3
#    define DRIVER_1_LED_TOTAL 36
#    define DRIVER_2_LED_TOTAL 35

M keyboards/xbows/knight_plus/config.h => keyboards/xbows/knight_plus/config.h +3 -3
@@ 47,9 47,9 @@
#    define ENABLE_RGB_MATRIX_SPLASH                  // Full gradient & value pulse away from a single key hit then fades value out
#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH       // Hue & value pulse away from multiple key hits then fades value out

#    define DRIVER_ADDR_1 0b1110100
#    define DRIVER_ADDR_2 0b1110110
#    define DRIVER_ADDR_3 0b1110101
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA
#    define DRIVER_ADDR_3 IS31FL3731_I2C_ADDRESS_SCL
#    define IS31FL3731_DRIVER_COUNT 3
#    define DRIVER_1_LED_TOTAL 36
#    define DRIVER_2_LED_TOTAL 35

M keyboards/xbows/nature/config.h => keyboards/xbows/nature/config.h +3 -3
@@ 49,9 49,9 @@
#    define ENABLE_RGB_MATRIX_SPLASH                  // Full gradient & value pulse away from a single key hit then fades value out
#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH       // Hue & value pulse away from multiple key hits then fades value out

#    define DRIVER_ADDR_1 0b1110100
#    define DRIVER_ADDR_2 0b1110110
#    define DRIVER_ADDR_3 0b1110101
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA
#    define DRIVER_ADDR_3 IS31FL3731_I2C_ADDRESS_SCL
#    define IS31FL3731_DRIVER_COUNT 3
#    define DRIVER_1_LED_TOTAL 36
#    define DRIVER_2_LED_TOTAL 36

M keyboards/xbows/numpad/config.h => keyboards/xbows/numpad/config.h +1 -1
@@ 47,7 47,7 @@
#    define ENABLE_RGB_MATRIX_SPLASH                  // Full gradient & value pulse away from a single key hit then fades value out
#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH       // Hue & value pulse away from multiple key hits then fades value out

#    define DRIVER_ADDR_1 0b1110111
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_VCC
#    define IS31FL3731_DRIVER_COUNT 1
#    define RGB_MATRIX_LED_COUNT 22
#endif

M keyboards/xbows/ranger/config.h => keyboards/xbows/ranger/config.h +3 -3
@@ 46,9 46,9 @@
#    define ENABLE_RGB_MATRIX_SPLASH                  // Full gradient & value pulse away from a single key hit then fades value out
#    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH       // Hue & value pulse away from multiple key hits then fades value out

#    define DRIVER_ADDR_1 0b1110100
#    define DRIVER_ADDR_2 0b1110101
#    define DRIVER_ADDR_3 0b1110110
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SCL
#    define DRIVER_ADDR_3 IS31FL3731_I2C_ADDRESS_SDA
#    define IS31FL3731_DRIVER_COUNT 3
#    define DRIVER_1_LED_TOTAL 36
#    define DRIVER_2_LED_TOTAL 36

M keyboards/xbows/woody/config.h => keyboards/xbows/woody/config.h +2 -2
@@ 56,8 56,8 @@
// #    define ENABLE_RGB_MATRIX_SOLID_SPLASH
// #    define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

#    define DRIVER_ADDR_1 0b1110100
#    define DRIVER_ADDR_2 0b1110110
#    define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#    define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA
#    define IS31FL3731_DRIVER_COUNT 2
#    define DRIVER_1_LED_TOTAL 35
#    define DRIVER_2_LED_TOTAL 32

M keyboards/xelus/dawn60/rev1_qmk/config.h => keyboards/xelus/dawn60/rev1_qmk/config.h +2 -2
@@ 24,8 24,8 @@
#define WS2812_LED_TOTAL 20

//RGB Matrix defines
#define DRIVER_ADDR_1 0x74
#define DRIVER_ADDR_2 0x76
#define DRIVER_ADDR_1 IS31FL3731_I2C_ADDRESS_GND
#define DRIVER_ADDR_2 IS31FL3731_I2C_ADDRESS_SDA

#define IS31FL3731_DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 32

M keyboards/xelus/pachi/rgb/rev1/config.h => keyboards/xelus/pachi/rgb/rev1/config.h +1 -1
@@ 40,7 40,7 @@
#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 8191

// RGB Matrix defines
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND

#define IS31FL3741_DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 117

M keyboards/xelus/pachi/rgb/rev2/config.h => keyboards/xelus/pachi/rgb/rev2/config.h +1 -1
@@ 37,7 37,7 @@
#define EEPROM_I2C_24LC64

// RGB Matrix defines
#define DRIVER_ADDR_1 0b0110000
#define DRIVER_ADDR_1 IS31FL3741_I2C_ADDRESS_GND

#define IS31FL3741_DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL 117

Do not follow this link