Browse Source

Add and use I2C address defines for ISSI LED drivers (#22008)

Ryan 2 years ago
parent
commit
8f22105289
100 changed files with 273 additions and 288 deletions
  1. 17 15
      docs/feature_led_matrix.md
  2. 36 33
      docs/feature_rgb_matrix.md
  3. 5 0
      drivers/led/ckled2001-simple.h
  4. 5 0
      drivers/led/ckled2001.h
  5. 0 9
      drivers/led/issi/is31fl3731-simple.c
  6. 5 0
      drivers/led/issi/is31fl3731-simple.h
  7. 0 9
      drivers/led/issi/is31fl3731.c
  8. 5 0
      drivers/led/issi/is31fl3731.h
  9. 0 12
      drivers/led/issi/is31fl3733-simple.c
  10. 17 0
      drivers/led/issi/is31fl3733-simple.h
  11. 0 12
      drivers/led/issi/is31fl3733.c
  12. 17 0
      drivers/led/issi/is31fl3733.h
  13. 0 12
      drivers/led/issi/is31fl3736.c
  14. 17 0
      drivers/led/issi/is31fl3736.h
  15. 0 12
      drivers/led/issi/is31fl3737.c
  16. 8 3
      drivers/led/issi/is31fl3737.h
  17. 0 12
      drivers/led/issi/is31fl3741.c
  18. 5 0
      drivers/led/issi/is31fl3741.h
  19. 1 1
      keyboards/4pplet/perk60_iso/rev_a/config.h
  20. 2 2
      keyboards/abko/ak84bt/config.h
  21. 1 1
      keyboards/acheron/apollo/87h/gamma/config.h
  22. 2 2
      keyboards/aeboards/satellite/rev1/config.h
  23. 1 1
      keyboards/axolstudio/yeti/hotswap/config.h
  24. 1 1
      keyboards/canary/canary60rgb/v1/config.h
  25. 1 8
      keyboards/clueboard/66_hotswap/gen1/config.h
  26. 2 2
      keyboards/dp60/config.h
  27. 2 2
      keyboards/drop/alt/v2/config.h
  28. 2 2
      keyboards/drop/ctrl/v2/config.h
  29. 2 2
      keyboards/drop/sense75/config.h
  30. 3 3
      keyboards/drop/shift/v2/config.h
  31. 2 13
      keyboards/durgod/dgk6x/config.h
  32. 1 1
      keyboards/dztech/dz60rgb/v1/config.h
  33. 1 1
      keyboards/dztech/dz60rgb/v2/config.h
  34. 1 1
      keyboards/dztech/dz60rgb/v2_1/config.h
  35. 1 1
      keyboards/dztech/dz60rgb_ansi/v1/config.h
  36. 1 1
      keyboards/dztech/dz60rgb_ansi/v2/config.h
  37. 1 1
      keyboards/dztech/dz60rgb_ansi/v2_1/config.h
  38. 1 1
      keyboards/dztech/dz60rgb_wkl/v1/config.h
  39. 1 1
      keyboards/dztech/dz60rgb_wkl/v2/config.h
  40. 1 1
      keyboards/dztech/dz60rgb_wkl/v2_1/config.h
  41. 1 1
      keyboards/dztech/dz64rgb/config.h
  42. 2 2
      keyboards/dztech/dz65rgb/v1/config.h
  43. 2 2
      keyboards/dztech/dz65rgb/v2/config.h
  44. 1 1
      keyboards/dztech/dz65rgb/v3/config.h
  45. 2 2
      keyboards/dztech/tofu/ii/v1/config.h
  46. 2 2
      keyboards/dztech/tofu/jr/v1/config.h
  47. 2 2
      keyboards/ergodox_ez/config.h
  48. 1 11
      keyboards/evyd13/atom47/rev5/config.h
  49. 1 1
      keyboards/exclusive/e6_rgb/config.h
  50. 1 1
      keyboards/fallacy/config.h
  51. 2 2
      keyboards/feker/ik75/config.h
  52. 2 2
      keyboards/ferris/0_2/bling/config.h
  53. 1 1
      keyboards/flashquark/horizon_z/config.h
  54. 1 1
      keyboards/frooastboard/walnut/config.h
  55. 2 2
      keyboards/geekboards/tester/config.h
  56. 2 2
      keyboards/gizmo_engineering/gk6/config.h
  57. 1 1
      keyboards/handwired/orbweaver/config.h
  58. 2 2
      keyboards/hs60/v1/config.h
  59. 1 1
      keyboards/ilumkb/simpler61/config.h
  60. 1 1
      keyboards/ilumkb/simpler64/config.h
  61. 2 2
      keyboards/inett_studio/sqx/hotswap/config.h
  62. 2 2
      keyboards/inett_studio/sqx/universal/config.h
  63. 1 1
      keyboards/input_club/ergodox_infinity/config.h
  64. 2 2
      keyboards/input_club/k_type/config.h
  65. 0 12
      keyboards/input_club/k_type/is31fl3733-dual.c
  66. 17 0
      keyboards/input_club/k_type/is31fl3733-dual.h
  67. 1 1
      keyboards/input_club/whitefox/config.h
  68. 1 1
      keyboards/kbdcraft/adam64/config.h
  69. 1 1
      keyboards/kbdfans/bella/rgb/config.h
  70. 1 1
      keyboards/kbdfans/bella/rgb_iso/config.h
  71. 1 1
      keyboards/kbdfans/boop65/rgb/config.h
  72. 2 2
      keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
  73. 2 2
      keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
  74. 1 1
      keyboards/kbdfans/kbd67/mkiirgb/v3/config.h
  75. 1 1
      keyboards/kbdfans/kbdmini/config.h
  76. 2 2
      keyboards/kbdfans/maja/config.h
  77. 2 2
      keyboards/keychron/c1_pro/ansi/rgb/config.h
  78. 1 1
      keyboards/keychron/c1_pro/ansi/white/config.h
  79. 2 2
      keyboards/keychron/c2_pro/ansi/rgb/config.h
  80. 1 1
      keyboards/keychron/c2_pro/ansi/white/config.h
  81. 1 1
      keyboards/keychron/q0/rev_0130/config.h
  82. 1 1
      keyboards/keychron/q0/rev_0131/config.h
  83. 2 2
      keyboards/keychron/q1/config.h
  84. 2 2
      keyboards/keychron/q10/config.h
  85. 1 1
      keyboards/keychron/q11/config.h
  86. 2 2
      keyboards/keychron/q12/config.h
  87. 2 2
      keyboards/keychron/q2/config.h
  88. 2 2
      keyboards/keychron/q3/config.h
  89. 2 2
      keyboards/keychron/q4/ansi_v1/config.h
  90. 1 1
      keyboards/keychron/q4/ansi_v2/config.h
  91. 1 1
      keyboards/keychron/q4/iso/config.h
  92. 2 2
      keyboards/keychron/q5/config.h
  93. 2 2
      keyboards/keychron/q6/config.h
  94. 1 1
      keyboards/keychron/q60/config.h
  95. 2 2
      keyboards/keychron/q65/config.h
  96. 2 2
      keyboards/keychron/q7/config.h
  97. 2 2
      keyboards/keychron/q8/config.h
  98. 1 1
      keyboards/keychron/q9/config.h
  99. 2 2
      keyboards/keychron/s1/ansi/rgb/config.h
  100. 1 1
      keyboards/keychron/s1/ansi/white/config.h

+ 17 - 15
docs/feature_led_matrix.md

@@ -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
 };
 ```

+ 36 - 33
docs/feature_rgb_matrix.md

@@ -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

+ 5 - 0
drivers/led/ckled2001-simple.h

@@ -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;

+ 5 - 0
drivers/led/ckled2001.h

@@ -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;

+ 0 - 9
drivers/led/issi/is31fl3731-simple.c

@@ -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

+ 5 - 0
drivers/led/issi/is31fl3731-simple.h

@@ -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;

+ 0 - 9
drivers/led/issi/is31fl3731.c

@@ -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

+ 5 - 0
drivers/led/issi/is31fl3731.h

@@ -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;

+ 0 - 12
drivers/led/issi/is31fl3733-simple.c

@@ -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

+ 17 - 0
drivers/led/issi/is31fl3733-simple.h

@@ -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;

+ 0 - 12
drivers/led/issi/is31fl3733.c

@@ -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

+ 17 - 0
drivers/led/issi/is31fl3733.h

@@ -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;

+ 0 - 12
drivers/led/issi/is31fl3736.c

@@ -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

+ 17 - 0
drivers/led/issi/is31fl3736.h

@@ -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;

+ 0 - 12
drivers/led/issi/is31fl3737.c

@@ -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

+ 8 - 3
drivers/led/issi/is31fl3737.h

@@ -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;

+ 0 - 12
drivers/led/issi/is31fl3741.c

@@ -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

+ 5 - 0
drivers/led/issi/is31fl3741.h

@@ -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;

+ 1 - 1
keyboards/4pplet/perk60_iso/rev_a/config.h

@@ -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

+ 2 - 2
keyboards/abko/ak84bt/config.h

@@ -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

+ 1 - 1
keyboards/acheron/apollo/87h/gamma/config.h

@@ -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

+ 2 - 2
keyboards/aeboards/satellite/rev1/config.h

@@ -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

+ 1 - 1
keyboards/axolstudio/yeti/hotswap/config.h

@@ -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

+ 1 - 1
keyboards/canary/canary60rgb/v1/config.h

@@ -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

+ 1 - 8
keyboards/clueboard/66_hotswap/gen1/config.h

@@ -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
 

+ 2 - 2
keyboards/dp60/config.h

@@ -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

+ 2 - 2
keyboards/drop/alt/v2/config.h

@@ -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

+ 2 - 2
keyboards/drop/ctrl/v2/config.h

@@ -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

+ 2 - 2
keyboards/drop/sense75/config.h

@@ -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

+ 3 - 3
keyboards/drop/shift/v2/config.h

@@ -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

+ 2 - 13
keyboards/durgod/dgk6x/config.h

@@ -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)

+ 1 - 1
keyboards/dztech/dz60rgb/v1/config.h

@@ -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

+ 1 - 1
keyboards/dztech/dz60rgb/v2/config.h

@@ -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

+ 1 - 1
keyboards/dztech/dz60rgb/v2_1/config.h

@@ -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

+ 1 - 1
keyboards/dztech/dz60rgb_ansi/v1/config.h

@@ -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

+ 1 - 1
keyboards/dztech/dz60rgb_ansi/v2/config.h

@@ -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

+ 1 - 1
keyboards/dztech/dz60rgb_ansi/v2_1/config.h

@@ -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

+ 1 - 1
keyboards/dztech/dz60rgb_wkl/v1/config.h

@@ -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

+ 1 - 1
keyboards/dztech/dz60rgb_wkl/v2/config.h

@@ -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

+ 1 - 1
keyboards/dztech/dz60rgb_wkl/v2_1/config.h

@@ -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

+ 1 - 1
keyboards/dztech/dz64rgb/config.h

@@ -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

+ 2 - 2
keyboards/dztech/dz65rgb/v1/config.h

@@ -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

+ 2 - 2
keyboards/dztech/dz65rgb/v2/config.h

@@ -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

+ 1 - 1
keyboards/dztech/dz65rgb/v3/config.h

@@ -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

+ 2 - 2
keyboards/dztech/tofu/ii/v1/config.h

@@ -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

+ 2 - 2
keyboards/dztech/tofu/jr/v1/config.h

@@ -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

+ 2 - 2
keyboards/ergodox_ez/config.h

@@ -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

+ 1 - 11
keyboards/evyd13/atom47/rev5/config.h

@@ -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
 

+ 1 - 1
keyboards/exclusive/e6_rgb/config.h

@@ -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

+ 1 - 1
keyboards/fallacy/config.h

@@ -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
 

+ 2 - 2
keyboards/feker/ik75/config.h

@@ -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

+ 2 - 2
keyboards/ferris/0_2/bling/config.h

@@ -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

+ 1 - 1
keyboards/flashquark/horizon_z/config.h

@@ -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

+ 1 - 1
keyboards/frooastboard/walnut/config.h

@@ -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
 

+ 2 - 2
keyboards/geekboards/tester/config.h

@@ -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

+ 2 - 2
keyboards/gizmo_engineering/gk6/config.h

@@ -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

+ 1 - 1
keyboards/handwired/orbweaver/config.h

@@ -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 }

+ 2 - 2
keyboards/hs60/v1/config.h

@@ -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

+ 1 - 1
keyboards/ilumkb/simpler61/config.h

@@ -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

+ 1 - 1
keyboards/ilumkb/simpler64/config.h

@@ -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

+ 2 - 2
keyboards/inett_studio/sqx/hotswap/config.h

@@ -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)
 

+ 2 - 2
keyboards/inett_studio/sqx/universal/config.h

@@ -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)
 

+ 1 - 1
keyboards/input_club/ergodox_infinity/config.h

@@ -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 }

+ 2 - 2
keyboards/input_club/k_type/config.h

@@ -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

+ 0 - 12
keyboards/input_club/k_type/is31fl3733-dual.c

@@ -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

+ 17 - 0
keyboards/input_club/k_type/is31fl3733-dual.h

@@ -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;

+ 1 - 1
keyboards/input_club/whitefox/config.h

@@ -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

+ 1 - 1
keyboards/kbdcraft/adam64/config.h

@@ -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 */

+ 1 - 1
keyboards/kbdfans/bella/rgb/config.h

@@ -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

+ 1 - 1
keyboards/kbdfans/bella/rgb_iso/config.h

@@ -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

+ 1 - 1
keyboards/kbdfans/boop65/rgb/config.h

@@ -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

+ 2 - 2
keyboards/kbdfans/kbd67/mkiirgb/v1/config.h

@@ -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

+ 2 - 2
keyboards/kbdfans/kbd67/mkiirgb/v2/config.h

@@ -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

+ 1 - 1
keyboards/kbdfans/kbd67/mkiirgb/v3/config.h

@@ -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

+ 1 - 1
keyboards/kbdfans/kbdmini/config.h

@@ -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

+ 2 - 2
keyboards/kbdfans/maja/config.h

@@ -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

+ 2 - 2
keyboards/keychron/c1_pro/ansi/rgb/config.h

@@ -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

+ 1 - 1
keyboards/keychron/c1_pro/ansi/white/config.h

@@ -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

+ 2 - 2
keyboards/keychron/c2_pro/ansi/rgb/config.h

@@ -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 \

+ 1 - 1
keyboards/keychron/c2_pro/ansi/white/config.h

@@ -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 \

+ 1 - 1
keyboards/keychron/q0/rev_0130/config.h

@@ -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

+ 1 - 1
keyboards/keychron/q0/rev_0131/config.h

@@ -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

+ 2 - 2
keyboards/keychron/q1/config.h

@@ -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} }

+ 2 - 2
keyboards/keychron/q10/config.h

@@ -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

+ 1 - 1
keyboards/keychron/q11/config.h

@@ -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

+ 2 - 2
keyboards/keychron/q12/config.h

@@ -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

+ 2 - 2
keyboards/keychron/q2/config.h

@@ -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
 

+ 2 - 2
keyboards/keychron/q3/config.h

@@ -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

+ 2 - 2
keyboards/keychron/q4/ansi_v1/config.h

@@ -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

+ 1 - 1
keyboards/keychron/q4/ansi_v2/config.h

@@ -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

+ 1 - 1
keyboards/keychron/q4/iso/config.h

@@ -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

+ 2 - 2
keyboards/keychron/q5/config.h

@@ -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 }

+ 2 - 2
keyboards/keychron/q6/config.h

@@ -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 }

+ 1 - 1
keyboards/keychron/q60/config.h

@@ -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

+ 2 - 2
keyboards/keychron/q65/config.h

@@ -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

+ 2 - 2
keyboards/keychron/q7/config.h

@@ -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

+ 2 - 2
keyboards/keychron/q8/config.h

@@ -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

+ 1 - 1
keyboards/keychron/q9/config.h

@@ -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

+ 2 - 2
keyboards/keychron/s1/ansi/rgb/config.h

@@ -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)

+ 1 - 1
keyboards/keychron/s1/ansi/white/config.h

@@ -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
 

Some files were not shown because too many files changed in this diff