summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-08-23 10:00:03 +1000
committerGitHub <noreply@github.com>2023-08-23 01:00:03 +0100
commit37bc9499453f95e4e835faa751dbfffff9bfd644 (patch)
treedf976fa0c137564ace2a48caca69ea58e2ba6468
parentdfb6d38f08b3912baffbca23e351dd0ad836238c (diff)
RGB Matrix: driver naming cleanups (#21594)
-rw-r--r--builddefs/common_features.mk28
-rw-r--r--docs/feature_rgb_matrix.md14
-rw-r--r--drivers/led/aw20216.c48
-rw-r--r--drivers/led/aw20216.h8
-rw-r--r--drivers/led/ckled2001.c76
-rw-r--r--drivers/led/ckled2001.h20
-rw-r--r--drivers/led/issi/is31fl3218.c28
-rw-r--r--drivers/led/issi/is31fl3218.h8
-rw-r--r--drivers/led/issi/is31fl3731.c50
-rw-r--r--drivers/led/issi/is31fl3731.h16
-rw-r--r--drivers/led/issi/is31fl3733.c56
-rw-r--r--drivers/led/issi/is31fl3733.h16
-rw-r--r--drivers/led/issi/is31fl3736.c66
-rw-r--r--drivers/led/issi/is31fl3736.h22
-rw-r--r--drivers/led/issi/is31fl3737.c56
-rw-r--r--drivers/led/issi/is31fl3737.h16
-rw-r--r--drivers/led/issi/is31fl3741.c58
-rw-r--r--drivers/led/issi/is31fl3741.h20
-rw-r--r--keyboards/0xcb/splaytoraid/info.json2
-rw-r--r--keyboards/1upkeyboards/1upocarina/info.json2
-rw-r--r--keyboards/1upkeyboards/pi40/grid_v1_1/info.json2
-rw-r--r--keyboards/1upkeyboards/pi40/mit_v1_0/info.json2
-rw-r--r--keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk2
-rw-r--r--keyboards/1upkeyboards/pi40/mit_v1_1/info.json2
-rw-r--r--keyboards/1upkeyboards/pi50/info.json2
-rw-r--r--keyboards/1upkeyboards/pi60/info.json2
-rw-r--r--keyboards/1upkeyboards/pi60_hse/info.json2
-rw-r--r--keyboards/1upkeyboards/pi60_rgb/info.json2
-rw-r--r--keyboards/1upkeyboards/super16/info.json2
-rw-r--r--keyboards/1upkeyboards/super16v2/info.json2
-rw-r--r--keyboards/1upkeyboards/sweet16v2/kb2040/info.json2
-rw-r--r--keyboards/1upkeyboards/sweet16v2/pro_micro/info.json2
-rw-r--r--keyboards/25keys/zinc/info.json2
-rw-r--r--keyboards/3keyecosystem/2key2/info.json2
-rw-r--r--keyboards/4pplet/perk60_iso/rev_a/info.json2
-rw-r--r--keyboards/abatskeyboardclub/nayeon/info.json2
-rw-r--r--keyboards/abko/ak84bt/info.json2
-rw-r--r--keyboards/acheron/apollo/87h/delta/info.json2
-rw-r--r--keyboards/acheron/apollo/87h/gamma/info.json2
-rw-r--r--keyboards/acheron/apollo/87htsc/info.json2
-rw-r--r--keyboards/acheron/apollo/88htsc/info.json2
-rw-r--r--keyboards/adafruit/macropad/info.json2
-rw-r--r--keyboards/adm42/info.json2
-rw-r--r--keyboards/adpenrose/akemipad/info.json2
-rw-r--r--keyboards/aeboards/satellite/rev1/rev1.c18
-rw-r--r--keyboards/akko/5108/info.json2
-rw-r--r--keyboards/akko/acr87/info.json2
-rw-r--r--keyboards/akko/top40/info.json2
-rw-r--r--keyboards/aleblazer/zodiark/info.json2
-rw-r--r--keyboards/an_achronism/tetromino/info.json2
-rw-r--r--keyboards/atlantis/ak81_ve/info.json2
-rw-r--r--keyboards/atlantis/ps17/info.json2
-rw-r--r--keyboards/axolstudio/yeti/hotswap/info.json2
-rw-r--r--keyboards/bandominedoni/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x5/blackpill/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x6/blackpill/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/4x6/blackpill/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json2
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/info.json2
-rw-r--r--keyboards/bastardkb/scylla/blackpill/info.json2
-rw-r--r--keyboards/bastardkb/scylla/v1/elitec/info.json2
-rw-r--r--keyboards/bastardkb/scylla/v2/elitec/info.json2
-rw-r--r--keyboards/bastardkb/scylla/v2/splinky_2/info.json2
-rw-r--r--keyboards/bastardkb/scylla/v2/splinky_3/info.json2
-rw-r--r--keyboards/bastardkb/scylla/v2/stemcell/info.json2
-rw-r--r--keyboards/bastardkb/skeletyl/blackpill/info.json2
-rw-r--r--keyboards/bastardkb/skeletyl/v1/elitec/info.json2
-rw-r--r--keyboards/bastardkb/skeletyl/v2/elitec/info.json2
-rw-r--r--keyboards/bastardkb/skeletyl/v2/splinky_2/info.json2
-rw-r--r--keyboards/bastardkb/skeletyl/v2/splinky_3/info.json2
-rw-r--r--keyboards/bastardkb/skeletyl/v2/stemcell/info.json2
-rw-r--r--keyboards/bastardkb/tbkmini/blackpill/info.json2
-rw-r--r--keyboards/bastardkb/tbkmini/v1/elitec/info.json2
-rw-r--r--keyboards/bastardkb/tbkmini/v2/elitec/info.json2
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky_2/info.json2
-rw-r--r--keyboards/bastardkb/tbkmini/v2/splinky_3/info.json2
-rw-r--r--keyboards/bastardkb/tbkmini/v2/stemcell/info.json2
-rwxr-xr-xkeyboards/binepad/bn006/info.json2
-rw-r--r--keyboards/black_hellebore/info.json2
-rw-r--r--keyboards/blockboy/ac980mini/info.json2
-rw-r--r--keyboards/boardsource/beiwagon/info.json2
-rw-r--r--keyboards/boardsource/lulu/info.json2
-rw-r--r--keyboards/boardsource/microdox/v2/info.json2
-rw-r--r--keyboards/boardsource/technik_o/info.json2
-rw-r--r--keyboards/boardsource/technik_s/info.json2
-rw-r--r--keyboards/boardsource/the_mark/info.json2
-rw-r--r--keyboards/boardsource/unicorne/info.json2
-rw-r--r--keyboards/boston_meetup/2019/info.json2
-rw-r--r--keyboards/bubble75/hotswap/info.json2
-rw-r--r--keyboards/canary/canary60rgb/info.json2
-rw-r--r--keyboards/capsunlocked/cu80/v2/info.json2
-rw-r--r--keyboards/checkerboards/quark_lp/info.json2
-rw-r--r--keyboards/cherrybstudio/cb87rgb/info.json2
-rw-r--r--keyboards/chosfox/cf81/info.json2
-rw-r--r--keyboards/chromatonemini/info.json2
-rw-r--r--keyboards/churrosoft/deck8/rgb/info.json2
-rw-r--r--keyboards/controllerworks/mini36/info.json2
-rw-r--r--keyboards/controllerworks/mini42/info.json2
-rw-r--r--keyboards/crkbd/info.json2
-rw-r--r--keyboards/cxt_studio/info.json2
-rw-r--r--keyboards/dekunukem/duckypad/info.json2
-rw-r--r--keyboards/deng/djam/info.json2
-rw-r--r--keyboards/deng/thirty/info.json2
-rw-r--r--keyboards/doio/kb16/rev1/info.json2
-rw-r--r--keyboards/doio/kb16/rev2/info.json2
-rw-r--r--keyboards/doio/kb30/info.json2
-rw-r--r--keyboards/doio/kb38/info.json2
-rw-r--r--keyboards/doro67/rgb/info.json2
-rw-r--r--keyboards/dotmod/dymium65/info.json2
-rw-r--r--keyboards/dp3000/info.json2
-rw-r--r--keyboards/dp60/info.json2
-rw-r--r--keyboards/drop/sense75/info.json2
-rw-r--r--keyboards/dtisaac/dosa40rgb/info.json2
-rw-r--r--keyboards/dumbpad/v3x/info.json2
-rw-r--r--keyboards/durgod/dgk6x/info.json2
-rw-r--r--keyboards/dztech/dz60rgb/v1/info.json2
-rw-r--r--keyboards/dztech/dz60rgb/v2/info.json2
-rw-r--r--keyboards/dztech/dz60rgb/v2_1/info.json2
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v1/info.json2
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2/info.json2
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2_1/info.json2
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v1/info.json2
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2/info.json2
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2_1/info.json2
-rw-r--r--keyboards/dztech/dz64rgb/info.json2
-rw-r--r--keyboards/dztech/dz65rgb/v1/info.json2
-rw-r--r--keyboards/dztech/dz65rgb/v2/info.json2
-rw-r--r--keyboards/dztech/dz65rgb/v3/info.json2
-rw-r--r--keyboards/dztech/tofu/ii/v1/info.json2
-rw-r--r--keyboards/dztech/tofu/jr/v1/info.json2
-rw-r--r--keyboards/eek/info.json2
-rw-r--r--keyboards/eggsworks/egg58/info.json2
-rw-r--r--keyboards/ein_60/info.json2
-rw-r--r--keyboards/elephant42/info.json2
-rw-r--r--keyboards/ergodox_ez/info.json2
-rw-r--r--keyboards/evyd13/atom47/rev5/info.json2
-rw-r--r--keyboards/exclusive/e6_rgb/info.json2
-rw-r--r--keyboards/fancytech/fancyalice66/info.json2
-rw-r--r--keyboards/feker/ik75/info.json2
-rw-r--r--keyboards/ferris/0_2/bling/info.json2
-rwxr-xr-xkeyboards/flashquark/horizon_z/info.json2
-rw-r--r--keyboards/frooastboard/walnut/info.json2
-rw-r--r--keyboards/geekboards/macropad_v2/info.json2
-rw-r--r--keyboards/geekboards/tester/info.json2
-rw-r--r--keyboards/giabalanai/info.json2
-rw-r--r--keyboards/gizmo_engineering/gk6/info.json2
-rw-r--r--keyboards/gkeyboard/gpad8_2r/info.json2
-rw-r--r--keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk2
-rw-r--r--keyboards/gmmk/gmmk2/p65/ansi/info.json2
-rw-r--r--keyboards/gmmk/gmmk2/p65/iso/info.json2
-rw-r--r--keyboards/gmmk/gmmk2/p96/ansi/info.json2
-rw-r--r--keyboards/gmmk/gmmk2/p96/iso/info.json2
-rw-r--r--keyboards/gmmk/numpad/info.json2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/info.json2
-rw-r--r--keyboards/gmmk/pro/rev1/iso/info.json2
-rw-r--r--keyboards/gmmk/pro/rev2/ansi/info.json2
-rw-r--r--keyboards/gmmk/pro/rev2/iso/info.json2
-rw-r--r--keyboards/gopolar/gg86/info.json2
-rw-r--r--keyboards/hadron/ver3/info.json2
-rw-r--r--keyboards/handwired/6macro/info.json2
-rw-r--r--keyboards/handwired/alcor_dactyl/info.json2
-rw-r--r--keyboards/handwired/colorlice/info.json2
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk2
-rw-r--r--keyboards/handwired/dactyl_minidox/info.json2
-rw-r--r--keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk1
-rw-r--r--keyboards/handwired/hnah108/info.json2
-rw-r--r--keyboards/handwired/hnah40rgb/info.json2
-rw-r--r--keyboards/handwired/orbweaver/info.json2
-rw-r--r--keyboards/handwired/p65rgb/info.json2
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/info.json2
-rw-r--r--keyboards/heliotrope/info.json2
-rw-r--r--keyboards/helix/rev3_4rows/info.json2
-rw-r--r--keyboards/helix/rev3_5rows/info.json2
-rw-r--r--keyboards/hfdkb/ac001/info.json2
-rw-r--r--keyboards/horrortroll/chinese_pcb/devil68_pro/info.json2
-rw-r--r--keyboards/horrortroll/handwired_k552/info.json2
-rw-r--r--keyboards/hotdox76v2/info.json2
-rw-r--r--keyboards/hs60/v1/info.json2
-rw-r--r--keyboards/hub20/info.json2
-rw-r--r--keyboards/idobao/id42/info.json2
-rw-r--r--keyboards/idobao/id61/info.json2
-rw-r--r--keyboards/idobao/id63/info.json2
-rw-r--r--keyboards/idobao/id67/info.json2
-rw-r--r--keyboards/idobao/id75/v2/info.json2
-rw-r--r--keyboards/idobao/id80/v3/ansi/info.json2
-rw-r--r--keyboards/idobao/id87/v2/info.json2
-rwxr-xr-xkeyboards/idobao/montex/v1rgb/info.json2
-rwxr-xr-xkeyboards/idobao/montex/v2/info.json2
-rw-r--r--keyboards/idyllic/tinny50_rgb/info.json2
-rw-r--r--keyboards/ilumkb/simpler61/info.json2
-rw-r--r--keyboards/ilumkb/simpler64/info.json2
-rw-r--r--keyboards/inett_studio/sqx/hotswap/info.json2
-rw-r--r--keyboards/inett_studio/sqx/universal/info.json2
-rw-r--r--keyboards/inland/kb83/info.json2
-rw-r--r--keyboards/input_club/k_type/is31fl3733-dual.c52
-rw-r--r--keyboards/input_club/k_type/is31fl3733-dual.h16
-rw-r--r--keyboards/input_club/k_type/k_type-rgbdriver.c18
-rw-r--r--keyboards/jacky_studio/bear_65/rev1/info.json2
-rw-r--r--keyboards/jacky_studio/bear_65/rev2/info.json2
-rw-r--r--keyboards/jacky_studio/piggy60/rev2/info.json2
-rw-r--r--keyboards/jadookb/jkb65/info.json2
-rw-r--r--keyboards/jkeys_design/gentleman65/info.json2
-rw-r--r--keyboards/jkeys_design/gentleman65_se_s/info.json2
-rw-r--r--keyboards/junco/info.json2
-rw-r--r--keyboards/kapl/rev1/info.json2
-rw-r--r--keyboards/kbdcraft/adam64/info.json2
-rw-r--r--keyboards/kbdfans/baguette66/rgb/info.json2
-rw-r--r--keyboards/kbdfans/bella/rgb/info.json2
-rw-r--r--keyboards/kbdfans/bella/rgb_iso/info.json2
-rw-r--r--keyboards/kbdfans/boop65/rgb/info.json2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v1/info.json2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v2/info.json2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v3/info.json2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v4/info.json2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb_iso/info.json2
-rw-r--r--keyboards/kbdfans/kbd75rgb/info.json2
-rw-r--r--keyboards/kbdfans/kbdmini/info.json2
-rw-r--r--keyboards/kbdfans/kbdpad/mk3/info.json2
-rw-r--r--keyboards/kbdfans/maja/info.json2
-rw-r--r--keyboards/kbdfans/odin/rgb/info.json2
-rw-r--r--keyboards/keebio/bamfk4/info.json2
-rw-r--r--keyboards/keebio/bdn9/rev2/info.json2
-rw-r--r--keyboards/keebio/cepstrum/rev1/info.json2
-rw-r--r--keyboards/keebio/chocopad/rev2/info.json2
-rw-r--r--keyboards/keebio/convolution/rev1/info.json2
-rw-r--r--keyboards/keebio/iris/keymaps/johnstegeman/rules.mk2
-rw-r--r--keyboards/keebio/iris/rev6/info.json2
-rw-r--r--keyboards/keebio/iris/rev7/info.json2
-rw-r--r--keyboards/keebio/iris/rev8/info.json2
-rw-r--r--keyboards/keebio/nyquist/rev4/info.json2
-rw-r--r--keyboards/keebio/sinc/rev3/info.json2
-rw-r--r--keyboards/keebio/sinc/rev4/info.json2
-rw-r--r--keyboards/keebio/stick/info.json2
-rwxr-xr-xkeyboards/keebwerk/mega/ansi/ansi.c4
-rw-r--r--keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c20
-rw-r--r--keyboards/keybee/keybee65/info.json2
-rw-r--r--keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk2
-rw-r--r--keyboards/keychron/c1_pro/ansi/rgb/info.json2
-rw-r--r--keyboards/keychron/c2_pro/ansi/rgb/info.json2
-rw-r--r--keyboards/keychron/q0/rev_0130/info.json2
-rw-r--r--keyboards/keychron/q0/rev_0131/info.json2
-rw-r--r--keyboards/keychron/q1/ansi/info.json2
-rw-r--r--keyboards/keychron/q1/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/q1/iso/info.json2
-rw-r--r--keyboards/keychron/q1/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/q10/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/q10/iso_encoder/info.json2
-rwxr-xr-xkeyboards/keychron/q11/info.json2
-rw-r--r--keyboards/keychron/q12/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/q12/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/q2/ansi/info.json2
-rw-r--r--keyboards/keychron/q2/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/q2/iso/info.json2
-rw-r--r--keyboards/keychron/q2/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/q2/jis/info.json2
-rw-r--r--keyboards/keychron/q2/jis_encoder/info.json2
-rw-r--r--keyboards/keychron/q3/ansi/info.json2
-rw-r--r--keyboards/keychron/q3/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/q3/iso/info.json2
-rw-r--r--keyboards/keychron/q3/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/q3/jis/info.json2
-rw-r--r--keyboards/keychron/q3/jis_encoder/info.json2
-rw-r--r--keyboards/keychron/q4/ansi_v1/info.json2
-rw-r--r--keyboards/keychron/q4/ansi_v2/info.json2
-rw-r--r--keyboards/keychron/q4/iso/info.json2
-rw-r--r--keyboards/keychron/q5/ansi/info.json2
-rw-r--r--keyboards/keychron/q5/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/q5/iso/info.json2
-rw-r--r--keyboards/keychron/q5/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/q6/ansi/info.json2
-rw-r--r--keyboards/keychron/q6/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/q6/iso/info.json2
-rw-r--r--keyboards/keychron/q6/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/q60/ansi/info.json2
-rw-r--r--keyboards/keychron/q65/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/q7/ansi/info.json2
-rw-r--r--keyboards/keychron/q7/iso/info.json2
-rw-r--r--keyboards/keychron/q8/ansi/info.json2
-rw-r--r--keyboards/keychron/q8/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/q8/iso/info.json2
-rw-r--r--keyboards/keychron/q8/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/q9/ansi/info.json2
-rw-r--r--keyboards/keychron/q9/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/q9/iso/info.json2
-rw-r--r--keyboards/keychron/q9/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/s1/ansi/rgb/info.json2
-rw-r--r--keyboards/keychron/v1/ansi/info.json2
-rw-r--r--keyboards/keychron/v1/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/v1/iso/info.json2
-rw-r--r--keyboards/keychron/v1/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/v1/jis/info.json2
-rw-r--r--keyboards/keychron/v1/jis_encoder/info.json2
-rw-r--r--keyboards/keychron/v10/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/v10/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/v2/ansi/info.json2
-rw-r--r--keyboards/keychron/v2/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/v2/iso/info.json2
-rw-r--r--keyboards/keychron/v2/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/v2/jis/info.json2
-rw-r--r--keyboards/keychron/v2/jis_encoder/info.json2
-rw-r--r--keyboards/keychron/v3/ansi/info.json2
-rw-r--r--keyboards/keychron/v3/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/v3/iso/info.json2
-rw-r--r--keyboards/keychron/v3/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/v3/jis/info.json2
-rw-r--r--keyboards/keychron/v3/jis_encoder/info.json2
-rw-r--r--keyboards/keychron/v4/ansi/info.json2
-rw-r--r--keyboards/keychron/v4/iso/info.json2
-rw-r--r--keyboards/keychron/v5/ansi/info.json2
-rw-r--r--keyboards/keychron/v5/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/v5/iso/info.json2
-rw-r--r--keyboards/keychron/v5/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/v6/ansi/info.json2
-rw-r--r--keyboards/keychron/v6/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/v6/iso/info.json2
-rw-r--r--keyboards/keychron/v6/iso_encoder/info.json2
-rw-r--r--keyboards/keychron/v7/ansi/info.json2
-rw-r--r--keyboards/keychron/v7/iso/info.json2
-rw-r--r--keyboards/keychron/v8/ansi/info.json2
-rw-r--r--keyboards/keychron/v8/ansi_encoder/info.json2
-rw-r--r--keyboards/keychron/v8/iso/info.json2
-rw-r--r--keyboards/keychron/v8/iso_encoder/info.json2
-rw-r--r--keyboards/kprepublic/bm16a/v2/info.json2
-rw-r--r--keyboards/kprepublic/bm40hsrgb/info.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev1/info.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb/rev2/rev2.c12
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c12
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json2
-rw-r--r--keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c12
-rw-r--r--keyboards/kprepublic/bm65hsrgb/rev1/info.json2
-rw-r--r--keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json2
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev1/info.json2
-rw-r--r--keyboards/kprepublic/bm68hsrgb/rev2/info.json2
-rw-r--r--keyboards/kprepublic/bm80hsrgb/info.json2
-rw-r--r--keyboards/kprepublic/bm80v2/info.json2
-rw-r--r--keyboards/kprepublic/bm80v2_iso/info.json2
-rw-r--r--keyboards/kprepublic/bm980hsrgb/info.json2
-rw-r--r--keyboards/kuro/kuro65/info.json2
-rw-r--r--keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk2
-rw-r--r--keyboards/laser_ninja/pumpkin_pad/info.json2
-rw-r--r--keyboards/latincompass/latin17rgb/info.json2
-rw-r--r--keyboards/latincompass/latin60rgb/info.json2
-rw-r--r--keyboards/latincompass/latin6rgb/info.json2
-rw-r--r--keyboards/latincompass/latinpad/info.json2
-rw-r--r--keyboards/lily58/r2g/info.json2
-rw-r--r--keyboards/linworks/fave65h/info.json2
-rw-r--r--keyboards/linworks/fave84h/info.json2
-rw-r--r--keyboards/linworks/fave87h/info.json2
-rw-r--r--keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk2
-rw-r--r--keyboards/marksard/rhymestone/rev1/info.json2
-rw-r--r--keyboards/matrix/m20add/rgb_ring.c54
-rw-r--r--keyboards/matrix/noah/info.json2
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev1/info.json2
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/info.json2
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev3/info.json2
-rw-r--r--keyboards/mechlovin/delphine/rgb_led/info.json2
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev1/info.json2
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev2/info.json2
-rw-r--r--keyboards/mechlovin/infinity87/rgb_rev1/info.json2
-rw-r--r--keyboards/mechlovin/infinity875/info.json2
-rw-r--r--keyboards/melgeek/mach80/rev1/info.json2
-rwxr-xr-xkeyboards/melgeek/mach80/rev1/rev1.c16
-rw-r--r--keyboards/melgeek/mach80/rev2/info.json2
-rwxr-xr-xkeyboards/melgeek/mach80/rev2/rev2.c16
-rw-r--r--keyboards/melgeek/mj61/rev1/info.json2
-rw-r--r--keyboards/melgeek/mj61/rev2/info.json2
-rw-r--r--keyboards/melgeek/mj63/rev1/info.json2
-rw-r--r--keyboards/melgeek/mj63/rev2/info.json2
-rw-r--r--keyboards/melgeek/mj64/rev1/info.json2
-rw-r--r--keyboards/melgeek/mj64/rev2/info.json2
-rw-r--r--keyboards/melgeek/mj64/rev3/info.json2
-rw-r--r--keyboards/melgeek/mj65/info.json2
-rwxr-xr-xkeyboards/melgeek/mojo68/info.json2
-rwxr-xr-xkeyboards/melgeek/mojo68/rev1/rev1.c16
-rw-r--r--keyboards/melgeek/mojo75/info.json2
-rw-r--r--keyboards/melgeek/tegic/info.json2
-rw-r--r--keyboards/melgeek/z70ultra/info.json2
-rw-r--r--keyboards/melgeek/z70ultra/z70ultra.c28
-rw-r--r--keyboards/miller/gm862/info.json2
-rw-r--r--keyboards/ml/gas75/info.json2
-rw-r--r--keyboards/momokai/tap_duo/info.json2
-rw-r--r--keyboards/momokai/tap_trio/info.json2
-rw-r--r--keyboards/monsgeek/m5/info.json2
-rw-r--r--keyboards/monsgeek/m6/info.json2
-rw-r--r--keyboards/monstargear/xo87/rgb/info.json2
-rw-r--r--keyboards/moonlander/info.json2
-rw-r--r--keyboards/mss_studio/m63_rgb/info.json2
-rw-r--r--keyboards/mss_studio/m64_rgb/info.json2
-rw-r--r--keyboards/mt/mt64rgb/info.json2
-rw-r--r--keyboards/mt/mt84/info.json2
-rw-r--r--keyboards/mwstudio/mw65_rgb/info.json2
-rw-r--r--keyboards/mwstudio/mw75/info.json2
-rw-r--r--keyboards/mwstudio/mw75r2/info.json2
-rw-r--r--keyboards/nack/info.json2
-rw-r--r--keyboards/neson_design/700e/700e.c40
-rw-r--r--keyboards/neson_design/n6/n6.c40
-rw-r--r--keyboards/ning/tiny_board/tb16_rgb/info.json2
-rw-r--r--keyboards/novelkeys/nk20/info.json2
-rwxr-xr-xkeyboards/novelkeys/nk65/nk65.c6
-rwxr-xr-xkeyboards/novelkeys/nk65b/info.json2
-rwxr-xr-xkeyboards/novelkeys/nk87/nk87.c4
-rwxr-xr-xkeyboards/novelkeys/nk87b/info.json2
-rwxr-xr-xkeyboards/novelkeys/nk_plus/info.json2
-rw-r--r--keyboards/omkbd/runner3680/5x6_5x8/info.json2
-rw-r--r--keyboards/opendeck/32/rev1/info.json2
-rw-r--r--keyboards/owlab/voice65/hotswap/info.json2
-rw-r--r--keyboards/owlab/voice65/soldered/info.json2
-rw-r--r--keyboards/paprikman/albacore/info.json2
-rw-r--r--keyboards/percent/canoe_gen2/info.json2
-rw-r--r--keyboards/phage_studio/pila87/info.json2
-rw-r--r--keyboards/phase_studio/titan65/hotswap/info.json2
-rw-r--r--keyboards/planck/ez/info.json2
-rw-r--r--keyboards/planck/light/info.json2
-rw-r--r--keyboards/planck/rev6/info.json2
-rw-r--r--keyboards/planck/rev6_drop/info.json2
-rw-r--r--keyboards/planck/rev7/info.json2
-rw-r--r--keyboards/playkbtw/pk64rgb/info.json2
-rw-r--r--keyboards/plywrks/ply8x/info.json2
-rw-r--r--keyboards/preonic/rev3/info.json2
-rw-r--r--keyboards/preonic/rev3_drop/info.json2
-rw-r--r--keyboards/quarkeys/z40/info.json2
-rw-r--r--keyboards/rgbkb/mun/rev1/info.json2
-rw-r--r--keyboards/rgbkb/sol/rev1/info.json2
-rw-r--r--keyboards/rgbkb/sol/rev2/info.json2
-rw-r--r--keyboards/rgbkb/sol3/rev1/info.json2
-rw-r--r--keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk1
-rw-r--r--keyboards/rgbkb/zygomorph/rev1/info.json2
-rw-r--r--keyboards/rura66/rev1/info.json2
-rw-r--r--keyboards/ryanskidmore/rskeys100/info.json2
-rw-r--r--keyboards/s_ol/0xc_pad/info.json2
-rw-r--r--keyboards/saevus/cor_tkl/info.json2
-rw-r--r--keyboards/salicylic_acid3/naked48/rev1/info.json2
-rw-r--r--keyboards/salicylic_acid3/setta21/rev1/info.json2
-rw-r--r--keyboards/sawnsprojects/satxri6key/keymaps/default/rules.mk2
-rw-r--r--keyboards/senselessclay/ck60/info.json2
-rw-r--r--keyboards/silverbullet44/info.json2
-rw-r--r--keyboards/skeletonkbd/frost68/info.json2
-rw-r--r--keyboards/skmt/15k/info.json2
-rw-r--r--keyboards/skyloong/dt40/info.json2
-rw-r--r--keyboards/smallkeyboard/info.json2
-rw-r--r--keyboards/soda/mango/info.json2
-rw-r--r--keyboards/soda/pocket/info.json2
-rw-r--r--keyboards/sofle/keymaps/killmaster/rules.mk2
-rw-r--r--keyboards/sowbug/68keys/info.json2
-rw-r--r--keyboards/sowbug/ansi_tkl/info.json2
-rwxr-xr-xkeyboards/spaceholdings/nebula12b/info.json2
-rwxr-xr-xkeyboards/spaceholdings/nebula68b/info.json2
-rw-r--r--keyboards/splitkb/aurora/corne/rev1/info.json2
-rw-r--r--keyboards/splitkb/aurora/lily58/rev1/info.json2
-rw-r--r--keyboards/splitkb/aurora/sweep/rev1/info.json2
-rw-r--r--keyboards/splitkb/kyria/rev1/info.json2
-rw-r--r--keyboards/splitkb/kyria/rev2/info.json2
-rw-r--r--keyboards/splitkb/kyria/rev3/info.json2
-rw-r--r--keyboards/stront/info.json2
-rw-r--r--keyboards/synthlabs/060/info.json2
-rw-r--r--keyboards/system76/launch_1/info.json2
-rw-r--r--keyboards/teleport/native/info.json2
-rw-r--r--keyboards/tkc/portico/info.json2
-rw-r--r--keyboards/tkc/portico68v2/info.json2
-rw-r--r--keyboards/tkc/portico75/info.json2
-rw-r--r--keyboards/tominabox1/le_chiffre/info.json2
-rw-r--r--keyboards/tzarc/djinn/info.json2
-rw-r--r--keyboards/tzarc/ghoul/info.json2
-rw-r--r--keyboards/ungodly/launch_pad/info.json2
-rw-r--r--keyboards/wekey/we27/info.json2
-rw-r--r--keyboards/wilba_tech/wt_mono_backlight.c28
-rw-r--r--keyboards/wilba_tech/wt_rgb_backlight.c144
-rw-r--r--keyboards/winry/winry315/info.json2
-rw-r--r--keyboards/wolf/m60_b/info.json2
-rw-r--r--keyboards/work_louder/loop/info.json2
-rw-r--r--keyboards/work_louder/micro/info.json2
-rw-r--r--keyboards/work_louder/nano/info.json2
-rw-r--r--keyboards/work_louder/numpad/info.json2
-rw-r--r--keyboards/work_louder/work_board/info.json2
-rw-r--r--keyboards/xbows/knight/info.json2
-rw-r--r--keyboards/xbows/knight_plus/info.json2
-rw-r--r--keyboards/xbows/nature/info.json2
-rw-r--r--keyboards/xbows/numpad/info.json2
-rw-r--r--keyboards/xbows/ranger/info.json2
-rw-r--r--keyboards/xbows/woody/info.json2
-rw-r--r--keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c18
-rw-r--r--keyboards/xelus/la_plus/info.json2
-rw-r--r--keyboards/xelus/pachi/rgb/rev1/rev1.c12
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/rev2.c12
-rw-r--r--keyboards/xelus/valor/rev2/info.json2
-rw-r--r--keyboards/yandrstudio/nz64/info.json2
-rw-r--r--keyboards/yandrstudio/nz67v2/info.json2
-rw-r--r--keyboards/yandrstudio/tg67/info.json2
-rw-r--r--keyboards/yanghu/unicorne/info.json2
-rw-r--r--keyboards/ymdk/id75/info.json2
-rw-r--r--keyboards/ymdk/ymd09/info.json2
-rw-r--r--keyboards/ymdk/ymd40/air40/info.json2
-rw-r--r--keyboards/yncognito/batpad/info.json2
-rw-r--r--keyboards/yushakobo/quick17/info.json2
-rw-r--r--keyboards/zykrah/fuyu/info.json2
-rw-r--r--quantum/rgb_matrix/rgb_matrix_drivers.c192
513 files changed, 1166 insertions, 1170 deletions
diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk
index 63a69314e8..60fcdc6b93 100644
--- a/builddefs/common_features.mk
+++ b/builddefs/common_features.mk
@@ -416,7 +416,7 @@ endif
416 416
417RGB_MATRIX_ENABLE ?= no 417RGB_MATRIX_ENABLE ?= no
418 418
419VALID_RGB_MATRIX_TYPES := AW20216 IS31FL3731 IS31FL3733 IS31FL3736 IS31FL3737 IS31FL3741 IS31FL3742A IS31FL3743A IS31FL3745 IS31FL3746A CKLED2001 WS2812 custom 419VALID_RGB_MATRIX_TYPES := aw20216 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a ckled2001 ws2812 custom
420ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) 420ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
421 ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),) 421 ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),)
422 $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type) 422 $(call CATASTROPHIC_ERROR,Invalid RGB_MATRIX_DRIVER,RGB_MATRIX_DRIVER="$(RGB_MATRIX_DRIVER)" is not a valid matrix type)
@@ -437,89 +437,89 @@ endif
437 CIE1931_CURVE := yes 437 CIE1931_CURVE := yes
438 RGB_KEYCODES_ENABLE := yes 438 RGB_KEYCODES_ENABLE := yes
439 439
440 ifeq ($(strip $(RGB_MATRIX_DRIVER)), AW20216) 440 ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216)
441 OPT_DEFS += -DAW20216 -DSTM32_SPI -DHAL_USE_SPI=TRUE 441 OPT_DEFS += -DAW20216 -DSTM32_SPI -DHAL_USE_SPI=TRUE
442 COMMON_VPATH += $(DRIVER_PATH)/led 442 COMMON_VPATH += $(DRIVER_PATH)/led
443 SRC += aw20216.c 443 SRC += aw20216.c
444 QUANTUM_LIB_SRC += spi_master.c 444 QUANTUM_LIB_SRC += spi_master.c
445 endif 445 endif
446 446
447 ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3731) 447 ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3731)
448 OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE 448 OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE
449 COMMON_VPATH += $(DRIVER_PATH)/led/issi 449 COMMON_VPATH += $(DRIVER_PATH)/led/issi
450 SRC += is31fl3731.c 450 SRC += is31fl3731.c
451 QUANTUM_LIB_SRC += i2c_master.c 451 QUANTUM_LIB_SRC += i2c_master.c
452 endif 452 endif
453 453
454 ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3733) 454 ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3733)
455 OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE 455 OPT_DEFS += -DIS31FL3733 -DSTM32_I2C -DHAL_USE_I2C=TRUE
456 COMMON_VPATH += $(DRIVER_PATH)/led/issi 456 COMMON_VPATH += $(DRIVER_PATH)/led/issi
457 SRC += is31fl3733.c 457 SRC += is31fl3733.c
458 QUANTUM_LIB_SRC += i2c_master.c 458 QUANTUM_LIB_SRC += i2c_master.c
459 endif 459 endif
460 460
461 ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3736) 461 ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3736)
462 OPT_DEFS += -DIS31FL3736 -DSTM32_I2C -DHAL_USE_I2C=TRUE 462 OPT_DEFS += -DIS31FL3736 -DSTM32_I2C -DHAL_USE_I2C=TRUE
463 COMMON_VPATH += $(DRIVER_PATH)/led/issi 463 COMMON_VPATH += $(DRIVER_PATH)/led/issi
464 SRC += is31fl3736.c 464 SRC += is31fl3736.c
465 QUANTUM_LIB_SRC += i2c_master.c 465 QUANTUM_LIB_SRC += i2c_master.c
466 endif 466 endif
467 467
468 ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3737) 468 ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3737)
469 OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE 469 OPT_DEFS += -DIS31FL3737 -DSTM32_I2C -DHAL_USE_I2C=TRUE
470 COMMON_VPATH += $(DRIVER_PATH)/led/issi 470 COMMON_VPATH += $(DRIVER_PATH)/led/issi
471 SRC += is31fl3737.c 471 SRC += is31fl3737.c
472 QUANTUM_LIB_SRC += i2c_master.c 472 QUANTUM_LIB_SRC += i2c_master.c
473 endif 473 endif
474 474
475 ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3741) 475 ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3741)
476 OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE 476 OPT_DEFS += -DIS31FL3741 -DSTM32_I2C -DHAL_USE_I2C=TRUE
477 COMMON_VPATH += $(DRIVER_PATH)/led/issi 477 COMMON_VPATH += $(DRIVER_PATH)/led/issi
478 SRC += is31fl3741.c 478 SRC += is31fl3741.c
479 QUANTUM_LIB_SRC += i2c_master.c 479 QUANTUM_LIB_SRC += i2c_master.c
480 endif 480 endif
481 481
482 ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3742A) 482 ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a)
483 OPT_DEFS += -DIS31FLCOMMON -DIS31FL3742A -DSTM32_I2C -DHAL_USE_I2C=TRUE 483 OPT_DEFS += -DIS31FLCOMMON -DIS31FL3742A -DSTM32_I2C -DHAL_USE_I2C=TRUE
484 COMMON_VPATH += $(DRIVER_PATH)/led/issi 484 COMMON_VPATH += $(DRIVER_PATH)/led/issi
485 SRC += is31flcommon.c 485 SRC += is31flcommon.c
486 QUANTUM_LIB_SRC += i2c_master.c 486 QUANTUM_LIB_SRC += i2c_master.c
487 endif 487 endif
488 488
489 ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3743A) 489 ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a)
490 OPT_DEFS += -DIS31FLCOMMON -DIS31FL3743A -DSTM32_I2C -DHAL_USE_I2C=TRUE 490 OPT_DEFS += -DIS31FLCOMMON -DIS31FL3743A -DSTM32_I2C -DHAL_USE_I2C=TRUE
491 COMMON_VPATH += $(DRIVER_PATH)/led/issi 491 COMMON_VPATH += $(DRIVER_PATH)/led/issi
492 SRC += is31flcommon.c 492 SRC += is31flcommon.c
493 QUANTUM_LIB_SRC += i2c_master.c 493 QUANTUM_LIB_SRC += i2c_master.c
494 endif 494 endif
495 495
496 ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3745) 496 ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745)
497 OPT_DEFS += -DIS31FLCOMMON -DIS31FL3745 -DSTM32_I2C -DHAL_USE_I2C=TRUE 497 OPT_DEFS += -DIS31FLCOMMON -DIS31FL3745 -DSTM32_I2C -DHAL_USE_I2C=TRUE
498 COMMON_VPATH += $(DRIVER_PATH)/led/issi 498 COMMON_VPATH += $(DRIVER_PATH)/led/issi
499 SRC += is31flcommon.c 499 SRC += is31flcommon.c
500 QUANTUM_LIB_SRC += i2c_master.c 500 QUANTUM_LIB_SRC += i2c_master.c
501 endif 501 endif
502 502
503 ifeq ($(strip $(RGB_MATRIX_DRIVER)), IS31FL3746A) 503 ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a)
504 OPT_DEFS += -DIS31FLCOMMON -DIS31FL3746A -DSTM32_I2C -DHAL_USE_I2C=TRUE 504 OPT_DEFS += -DIS31FLCOMMON -DIS31FL3746A -DSTM32_I2C -DHAL_USE_I2C=TRUE
505 COMMON_VPATH += $(DRIVER_PATH)/led/issi 505 COMMON_VPATH += $(DRIVER_PATH)/led/issi
506 SRC += is31flcommon.c 506 SRC += is31flcommon.c
507 QUANTUM_LIB_SRC += i2c_master.c 507 QUANTUM_LIB_SRC += i2c_master.c
508 endif 508 endif
509 509
510 ifeq ($(strip $(RGB_MATRIX_DRIVER)), CKLED2001) 510 ifeq ($(strip $(RGB_MATRIX_DRIVER)), ckled2001)
511 OPT_DEFS += -DCKLED2001 -DSTM32_I2C -DHAL_USE_I2C=TRUE 511 OPT_DEFS += -DCKLED2001 -DSTM32_I2C -DHAL_USE_I2C=TRUE
512 COMMON_VPATH += $(DRIVER_PATH)/led 512 COMMON_VPATH += $(DRIVER_PATH)/led
513 SRC += ckled2001.c 513 SRC += ckled2001.c
514 QUANTUM_LIB_SRC += i2c_master.c 514 QUANTUM_LIB_SRC += i2c_master.c
515 endif 515 endif
516 516
517 ifeq ($(strip $(RGB_MATRIX_DRIVER)), WS2812) 517 ifeq ($(strip $(RGB_MATRIX_DRIVER)), ws2812)
518 OPT_DEFS += -DWS2812 518 OPT_DEFS += -DWS2812
519 WS2812_DRIVER_REQUIRED := yes 519 WS2812_DRIVER_REQUIRED := yes
520 endif 520 endif
521 521
522 ifeq ($(strip $(RGB_MATRIX_DRIVER)), APA102) 522 ifeq ($(strip $(RGB_MATRIX_DRIVER)), apa102)
523 OPT_DEFS += -DAPA102 523 OPT_DEFS += -DAPA102
524 APA102_DRIVER_REQUIRED := yes 524 APA102_DRIVER_REQUIRED := yes
525 endif 525 endif
diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md
index cc802056bd..44899d70d9 100644
--- a/docs/feature_rgb_matrix.md
+++ b/docs/feature_rgb_matrix.md
@@ -12,7 +12,7 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37
12 12
13```make 13```make
14RGB_MATRIX_ENABLE = yes 14RGB_MATRIX_ENABLE = yes
15RGB_MATRIX_DRIVER = IS31FL3731 15RGB_MATRIX_DRIVER = is31fl3731
16``` 16```
17 17
18You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_<N>` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: 18You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_<N>` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`:
@@ -76,7 +76,7 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37
76 76
77```make 77```make
78RGB_MATRIX_ENABLE = yes 78RGB_MATRIX_ENABLE = yes
79RGB_MATRIX_DRIVER = IS31FL3733 79RGB_MATRIX_DRIVER = is31fl3733
80``` 80```
81 81
82You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_<N>` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: 82You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_<N>` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`:
@@ -162,7 +162,7 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37
162 162
163```make 163```make
164RGB_MATRIX_ENABLE = yes 164RGB_MATRIX_ENABLE = yes
165RGB_MATRIX_DRIVER = IS31FL3736 165RGB_MATRIX_DRIVER = is31fl3736
166``` 166```
167You can use between 1 and 4 IS31FL3736 IC's. Do not specify `DRIVER_ADDR_<N>` defines for IC's that are not present on your keyboard. 167You can use between 1 and 4 IS31FL3736 IC's. Do not specify `DRIVER_ADDR_<N>` defines for IC's that are not present on your keyboard.
168 168
@@ -238,7 +238,7 @@ There is basic support for addressable RGB matrix lighting with the I2C IS31FL37
238 238
239```make 239```make
240RGB_MATRIX_ENABLE = yes 240RGB_MATRIX_ENABLE = yes
241RGB_MATRIX_DRIVER = IS31FL3737 241RGB_MATRIX_DRIVER = is31fl3737
242``` 242```
243You can use between 1 and 4 IS31FL3737 IC's. Do not specify `DRIVER_ADDR_<N>` defines for IC's that are not present on your keyboard. 243You can use between 1 and 4 IS31FL3737 IC's. Do not specify `DRIVER_ADDR_<N>` defines for IC's that are not present on your keyboard.
244 244
@@ -428,7 +428,7 @@ There is basic support for addressable RGB matrix lighting with a WS2811/WS2812{
428 428
429```make 429```make
430RGB_MATRIX_ENABLE = yes 430RGB_MATRIX_ENABLE = yes
431RGB_MATRIX_DRIVER = WS2812 431RGB_MATRIX_DRIVER = ws2812
432``` 432```
433 433
434Configure the hardware via your `config.h`: 434Configure the hardware via your `config.h`:
@@ -450,7 +450,7 @@ There is basic support for APA102 based addressable LED strands. To enable it, a
450 450
451```make 451```make
452RGB_MATRIX_ENABLE = yes 452RGB_MATRIX_ENABLE = yes
453RGB_MATRIX_DRIVER = APA102 453RGB_MATRIX_DRIVER = apa102
454``` 454```
455 455
456Configure the hardware via your `config.h`: 456Configure the hardware via your `config.h`:
@@ -470,7 +470,7 @@ There is basic support for addressable RGB matrix lighting with the SPI AW20216
470 470
471```make 471```make
472RGB_MATRIX_ENABLE = yes 472RGB_MATRIX_ENABLE = yes
473RGB_MATRIX_DRIVER = AW20216 473RGB_MATRIX_DRIVER = aw20216
474``` 474```
475 475
476You can use up to 2 AW20216 IC's. Do not specify `DRIVER_<N>_xxx` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`: 476You can use up to 2 AW20216 IC's. Do not specify `DRIVER_<N>_xxx` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`:
diff --git a/drivers/led/aw20216.c b/drivers/led/aw20216.c
index 5fd25eed88..479643add4 100644
--- a/drivers/led/aw20216.c
+++ b/drivers/led/aw20216.c
@@ -71,7 +71,7 @@
71uint8_t g_pwm_buffer[DRIVER_COUNT][AW_PWM_REGISTER_COUNT]; 71uint8_t g_pwm_buffer[DRIVER_COUNT][AW_PWM_REGISTER_COUNT];
72bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; 72bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
73 73
74bool AW20216_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8_t len) { 74bool aw20216_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8_t len) {
75 static uint8_t s_spi_transfer_buffer[2] = {0}; 75 static uint8_t s_spi_transfer_buffer[2] = {0};
76 76
77 if (!spi_start(cs_pin, false, AW_SPI_MODE, AW_SPI_DIVISOR)) { 77 if (!spi_start(cs_pin, false, AW_SPI_MODE, AW_SPI_DIVISOR)) {
@@ -96,52 +96,52 @@ bool AW20216_write(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t* data, uint8
96 return true; 96 return true;
97} 97}
98 98
99static inline bool AW20216_write_register(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t value) { 99static inline bool aw20216_write_register(pin_t cs_pin, uint8_t page, uint8_t reg, uint8_t value) {
100 // Little wrapper so callers need not care about sending a buffer 100 // Little wrapper so callers need not care about sending a buffer
101 return AW20216_write(cs_pin, page, reg, &value, 1); 101 return aw20216_write(cs_pin, page, reg, &value, 1);
102} 102}
103 103
104void AW20216_soft_reset(pin_t cs_pin) { 104void aw20216_soft_reset(pin_t cs_pin) {
105 AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_RESET, AW_RESET_CMD); 105 aw20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_RESET, AW_RESET_CMD);
106} 106}
107 107
108static void AW20216_init_scaling(pin_t cs_pin) { 108static void aw20216_init_scaling(pin_t cs_pin) {
109 // Set constant current to the max, control brightness with PWM 109 // Set constant current to the max, control brightness with PWM
110 for (uint8_t i = 0; i < AW_PWM_REGISTER_COUNT; i++) { 110 for (uint8_t i = 0; i < AW_PWM_REGISTER_COUNT; i++) {
111 AW20216_write_register(cs_pin, AW_PAGE_SCALING, i, AW_SCALING_MAX); 111 aw20216_write_register(cs_pin, AW_PAGE_SCALING, i, AW_SCALING_MAX);
112 } 112 }
113} 113}
114 114
115static inline void AW20216_init_current_limit(pin_t cs_pin) { 115static inline void aw20216_init_current_limit(pin_t cs_pin) {
116 // Push config 116 // Push config
117 AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_GLOBALCURRENT, AW_GLOBAL_CURRENT_MAX); 117 aw20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_GLOBALCURRENT, AW_GLOBAL_CURRENT_MAX);
118} 118}
119 119
120static inline void AW20216_soft_enable(pin_t cs_pin) { 120static inline void aw20216_soft_enable(pin_t cs_pin) {
121 // Push config 121 // Push config
122 AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_CONFIGURATION, AW_CONFIG_DEFAULT | AW_CHIPEN); 122 aw20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_CONFIGURATION, AW_CONFIG_DEFAULT | AW_CHIPEN);
123} 123}
124 124
125static inline void AW20216_auto_lowpower(pin_t cs_pin) { 125static inline void aw20216_auto_lowpower(pin_t cs_pin) {
126 AW20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_MIXFUNCTION, AW_MIXCR_DEFAULT | AW_LPEN); 126 aw20216_write_register(cs_pin, AW_PAGE_FUNCTION, AW_REG_MIXFUNCTION, AW_MIXCR_DEFAULT | AW_LPEN);
127} 127}
128 128
129void AW20216_init(pin_t cs_pin, pin_t en_pin) { 129void aw20216_init(pin_t cs_pin, pin_t en_pin) {
130 setPinOutput(en_pin); 130 setPinOutput(en_pin);
131 writePinHigh(en_pin); 131 writePinHigh(en_pin);
132 132
133 AW20216_soft_reset(cs_pin); 133 aw20216_soft_reset(cs_pin);
134 wait_ms(2); 134 wait_ms(2);
135 135
136 // Drivers should start with all scaling and PWM registers as off 136 // Drivers should start with all scaling and PWM registers as off
137 AW20216_init_current_limit(cs_pin); 137 aw20216_init_current_limit(cs_pin);
138 AW20216_init_scaling(cs_pin); 138 aw20216_init_scaling(cs_pin);
139 139
140 AW20216_soft_enable(cs_pin); 140 aw20216_soft_enable(cs_pin);
141 AW20216_auto_lowpower(cs_pin); 141 aw20216_auto_lowpower(cs_pin);
142} 142}
143 143
144void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 144void aw20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
145 aw_led led; 145 aw_led led;
146 memcpy_P(&led, (&g_aw_leds[index]), sizeof(led)); 146 memcpy_P(&led, (&g_aw_leds[index]), sizeof(led));
147 147
@@ -154,15 +154,15 @@ void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
154 g_pwm_buffer_update_required[led.driver] = true; 154 g_pwm_buffer_update_required[led.driver] = true;
155} 155}
156 156
157void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 157void aw20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
158 for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 158 for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
159 AW20216_set_color(i, red, green, blue); 159 aw20216_set_color(i, red, green, blue);
160 } 160 }
161} 161}
162 162
163void AW20216_update_pwm_buffers(pin_t cs_pin, uint8_t index) { 163void aw20216_update_pwm_buffers(pin_t cs_pin, uint8_t index) {
164 if (g_pwm_buffer_update_required[index]) { 164 if (g_pwm_buffer_update_required[index]) {
165 AW20216_write(cs_pin, AW_PAGE_PWM, 0, g_pwm_buffer[index], AW_PWM_REGISTER_COUNT); 165 aw20216_write(cs_pin, AW_PAGE_PWM, 0, g_pwm_buffer[index], AW_PWM_REGISTER_COUNT);
166 } 166 }
167 g_pwm_buffer_update_required[index] = false; 167 g_pwm_buffer_update_required[index] = false;
168} 168}
diff --git a/drivers/led/aw20216.h b/drivers/led/aw20216.h
index c6e71b4b4e..e342cb6bac 100644
--- a/drivers/led/aw20216.h
+++ b/drivers/led/aw20216.h
@@ -30,10 +30,10 @@ typedef struct aw_led {
30 30
31extern const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT]; 31extern const aw_led PROGMEM g_aw_leds[RGB_MATRIX_LED_COUNT];
32 32
33void AW20216_init(pin_t cs_pin, pin_t en_pin); 33void aw20216_init(pin_t cs_pin, pin_t en_pin);
34void AW20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); 34void aw20216_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
35void AW20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue); 35void aw20216_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
36void AW20216_update_pwm_buffers(pin_t cs_pin, uint8_t index); 36void aw20216_update_pwm_buffers(pin_t cs_pin, uint8_t index);
37 37
38#define CS1_SW1 0x00 38#define CS1_SW1 0x00
39#define CS2_SW1 0x01 39#define CS2_SW1 0x01
diff --git a/drivers/led/ckled2001.c b/drivers/led/ckled2001.c
index d0099163ee..6ababf55e9 100644
--- a/drivers/led/ckled2001.c
+++ b/drivers/led/ckled2001.c
@@ -42,7 +42,7 @@ uint8_t g_twi_transfer_buffer[65];
42// The control buffers match the PG0 LED On/Off registers. 42// The control buffers match the PG0 LED On/Off registers.
43// Storing them like this is optimal for I2C transfers to the registers. 43// Storing them like this is optimal for I2C transfers to the registers.
44// We could optimize this and take out the unused registers from these 44// We could optimize this and take out the unused registers from these
45// buffers and the transfers in CKLED2001_write_pwm_buffer() but it's 45// buffers and the transfers in ckled2001_write_pwm_buffer() but it's
46// probably not worth the extra complexity. 46// probably not worth the extra complexity.
47uint8_t g_pwm_buffer[DRIVER_COUNT][192]; 47uint8_t g_pwm_buffer[DRIVER_COUNT][192];
48bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; 48bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
@@ -50,7 +50,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
50uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; 50uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0};
51bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; 51bool g_led_control_registers_update_required[DRIVER_COUNT] = {false};
52 52
53bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) { 53bool ckled2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
54 // If the transaction fails function returns false. 54 // If the transaction fails function returns false.
55 g_twi_transfer_buffer[0] = reg; 55 g_twi_transfer_buffer[0] = reg;
56 g_twi_transfer_buffer[1] = data; 56 g_twi_transfer_buffer[1] = data;
@@ -69,7 +69,7 @@ bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
69 return true; 69 return true;
70} 70}
71 71
72bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { 72bool ckled2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
73 // Assumes PG1 is already selected. 73 // Assumes PG1 is already selected.
74 // If any of the transactions fails function returns false. 74 // If any of the transactions fails function returns false.
75 // Transmit PWM registers in 3 transfers of 64 bytes. 75 // Transmit PWM registers in 3 transfers of 64 bytes.
@@ -99,53 +99,53 @@ bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
99 return true; 99 return true;
100} 100}
101 101
102void CKLED2001_init(uint8_t addr) { 102void ckled2001_init(uint8_t addr) {
103 // Select to function page 103 // Select to function page
104 CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); 104 ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE);
105 // Setting LED driver to shutdown mode 105 // Setting LED driver to shutdown mode
106 CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); 106 ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE);
107 // Setting internal channel pulldown/pullup 107 // Setting internal channel pulldown/pullup
108 CKLED2001_write_register(addr, PDU_REG, MSKSET_CA_CB_CHANNEL); 108 ckled2001_write_register(addr, PDU_REG, MSKSET_CA_CB_CHANNEL);
109 // Select number of scan phase 109 // Select number of scan phase
110 CKLED2001_write_register(addr, SCAN_PHASE_REG, PHASE_CHANNEL); 110 ckled2001_write_register(addr, SCAN_PHASE_REG, PHASE_CHANNEL);
111 // Setting PWM Delay Phase 111 // Setting PWM Delay Phase
112 CKLED2001_write_register(addr, SLEW_RATE_CONTROL_MODE1_REG, MSKPWM_DELAY_PHASE_ENABLE); 112 ckled2001_write_register(addr, SLEW_RATE_CONTROL_MODE1_REG, MSKPWM_DELAY_PHASE_ENABLE);
113 // Setting Driving/Sinking Channel Slew Rate 113 // Setting Driving/Sinking Channel Slew Rate
114 CKLED2001_write_register(addr, SLEW_RATE_CONTROL_MODE2_REG, MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_ENABLE); 114 ckled2001_write_register(addr, SLEW_RATE_CONTROL_MODE2_REG, MSKDRIVING_SINKING_CHHANNEL_SLEWRATE_ENABLE);
115 // Setting Iref 115 // Setting Iref
116 CKLED2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_DISABLE); 116 ckled2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_DISABLE);
117 // Set LED CONTROL PAGE (Page 0) 117 // Set LED CONTROL PAGE (Page 0)
118 CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); 118 ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE);
119 for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) { 119 for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) {
120 CKLED2001_write_register(addr, i, 0x00); 120 ckled2001_write_register(addr, i, 0x00);
121 } 121 }
122 122
123 // Set PWM PAGE (Page 1) 123 // Set PWM PAGE (Page 1)
124 CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); 124 ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE);
125 for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { 125 for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) {
126 CKLED2001_write_register(addr, i, 0x00); 126 ckled2001_write_register(addr, i, 0x00);
127 } 127 }
128 128
129 // Set CURRENT PAGE (Page 4) 129 // Set CURRENT PAGE (Page 4)
130 uint8_t current_tuen_reg_list[LED_CURRENT_TUNE_LENGTH] = CKLED2001_CURRENT_TUNE; 130 uint8_t current_tuen_reg_list[LED_CURRENT_TUNE_LENGTH] = CKLED2001_CURRENT_TUNE;
131 CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, CURRENT_TUNE_PAGE); 131 ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, CURRENT_TUNE_PAGE);
132 for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) { 132 for (int i = 0; i < LED_CURRENT_TUNE_LENGTH; i++) {
133 CKLED2001_write_register(addr, i, current_tuen_reg_list[i]); 133 ckled2001_write_register(addr, i, current_tuen_reg_list[i]);
134 } 134 }
135 135
136 // Enable LEDs ON/OFF 136 // Enable LEDs ON/OFF
137 CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); 137 ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE);
138 for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) { 138 for (int i = 0; i < LED_CONTROL_ON_OFF_LENGTH; i++) {
139 CKLED2001_write_register(addr, i, 0xFF); 139 ckled2001_write_register(addr, i, 0xFF);
140 } 140 }
141 141
142 // Select to function page 142 // Select to function page
143 CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); 143 ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE);
144 // Setting LED driver to normal mode 144 // Setting LED driver to normal mode
145 CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); 145 ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE);
146} 146}
147 147
148void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 148void ckled2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
149 ckled2001_led led; 149 ckled2001_led led;
150 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { 150 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
151 memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); 151 memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led));
@@ -160,13 +160,13 @@ void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
160 } 160 }
161} 161}
162 162
163void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 163void ckled2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
164 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 164 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
165 CKLED2001_set_color(i, red, green, blue); 165 ckled2001_set_color(i, red, green, blue);
166 } 166 }
167} 167}
168 168
169void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { 169void ckled2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
170 ckled2001_led led; 170 ckled2001_led led;
171 memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led)); 171 memcpy_P(&led, (&g_ckled2001_leds[index]), sizeof(led));
172 172
@@ -196,41 +196,41 @@ void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, boo
196 g_led_control_registers_update_required[led.driver] = true; 196 g_led_control_registers_update_required[led.driver] = true;
197} 197}
198 198
199void CKLED2001_update_pwm_buffers(uint8_t addr, uint8_t index) { 199void ckled2001_update_pwm_buffers(uint8_t addr, uint8_t index) {
200 if (g_pwm_buffer_update_required[index]) { 200 if (g_pwm_buffer_update_required[index]) {
201 CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE); 201 ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_PWM_PAGE);
202 202
203 // If any of the transactions fail we risk writing dirty PG0, 203 // If any of the transactions fail we risk writing dirty PG0,
204 // refresh page 0 just in case. 204 // refresh page 0 just in case.
205 if (!CKLED2001_write_pwm_buffer(addr, g_pwm_buffer[index])) { 205 if (!ckled2001_write_pwm_buffer(addr, g_pwm_buffer[index])) {
206 g_led_control_registers_update_required[index] = true; 206 g_led_control_registers_update_required[index] = true;
207 } 207 }
208 } 208 }
209 g_pwm_buffer_update_required[index] = false; 209 g_pwm_buffer_update_required[index] = false;
210} 210}
211 211
212void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index) { 212void ckled2001_update_led_control_registers(uint8_t addr, uint8_t index) {
213 if (g_led_control_registers_update_required[index]) { 213 if (g_led_control_registers_update_required[index]) {
214 CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE); 214 ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, LED_CONTROL_PAGE);
215 for (int i = 0; i < 24; i++) { 215 for (int i = 0; i < 24; i++) {
216 CKLED2001_write_register(addr, i, g_led_control_registers[index][i]); 216 ckled2001_write_register(addr, i, g_led_control_registers[index][i]);
217 } 217 }
218 } 218 }
219 g_led_control_registers_update_required[index] = false; 219 g_led_control_registers_update_required[index] = false;
220} 220}
221 221
222void CKLED2001_sw_return_normal(uint8_t addr) { 222void ckled2001_sw_return_normal(uint8_t addr) {
223 // Select to function page 223 // Select to function page
224 CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); 224 ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE);
225 // Setting LED driver to normal mode 225 // Setting LED driver to normal mode
226 CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE); 226 ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_NORMAL_MODE);
227} 227}
228 228
229void CKLED2001_sw_shutdown(uint8_t addr) { 229void ckled2001_sw_shutdown(uint8_t addr) {
230 // Select to function page 230 // Select to function page
231 CKLED2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE); 231 ckled2001_write_register(addr, CONFIGURE_CMD_PAGE, FUNCTION_PAGE);
232 // Setting LED driver to shutdown mode 232 // Setting LED driver to shutdown mode
233 CKLED2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE); 233 ckled2001_write_register(addr, CONFIGURATION_REG, MSKSW_SHUT_DOWN_MODE);
234 // Write SW Sleep Register 234 // Write SW Sleep Register
235 CKLED2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_ENABLE); 235 ckled2001_write_register(addr, SOFTWARE_SLEEP_REG, MSKSLEEP_ENABLE);
236} 236}
diff --git a/drivers/led/ckled2001.h b/drivers/led/ckled2001.h
index aa70a0623f..32da137fb7 100644
--- a/drivers/led/ckled2001.h
+++ b/drivers/led/ckled2001.h
@@ -29,24 +29,24 @@ typedef struct ckled2001_led {
29 29
30extern const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT]; 30extern const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT];
31 31
32void CKLED2001_init(uint8_t addr); 32void ckled2001_init(uint8_t addr);
33bool CKLED2001_write_register(uint8_t addr, uint8_t reg, uint8_t data); 33bool ckled2001_write_register(uint8_t addr, uint8_t reg, uint8_t data);
34bool CKLED2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); 34bool ckled2001_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
35 35
36void CKLED2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); 36void ckled2001_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
37void CKLED2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue); 37void ckled2001_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
38 38
39void CKLED2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue); 39void ckled2001_set_led_control_register(uint8_t index, bool red, bool green, bool blue);
40 40
41// This should not be called from an interrupt 41// This should not be called from an interrupt
42// (eg. from a timer interrupt). 42// (eg. from a timer interrupt).
43// Call this while idle (in between matrix scans). 43// Call this while idle (in between matrix scans).
44// If the buffer is dirty, it will update the driver with the buffer. 44// If the buffer is dirty, it will update the driver with the buffer.
45void CKLED2001_update_pwm_buffers(uint8_t addr, uint8_t index); 45void ckled2001_update_pwm_buffers(uint8_t addr, uint8_t index);
46void CKLED2001_update_led_control_registers(uint8_t addr, uint8_t index); 46void ckled2001_update_led_control_registers(uint8_t addr, uint8_t index);
47 47
48void CKLED2001_sw_return_normal(uint8_t addr); 48void ckled2001_sw_return_normal(uint8_t addr);
49void CKLED2001_sw_shutdown(uint8_t addr); 49void ckled2001_sw_shutdown(uint8_t addr);
50 50
51// Registers Page Define 51// Registers Page Define
52#define CONFIGURE_CMD_PAGE 0xFD 52#define CONFIGURE_CMD_PAGE 0xFD
diff --git a/drivers/led/issi/is31fl3218.c b/drivers/led/issi/is31fl3218.c
index 1ed45c4558..970e9a0be9 100644
--- a/drivers/led/issi/is31fl3218.c
+++ b/drivers/led/issi/is31fl3218.c
@@ -37,41 +37,41 @@ uint8_t g_twi_transfer_buffer[20];
37uint8_t g_pwm_buffer[18]; 37uint8_t g_pwm_buffer[18];
38bool g_pwm_buffer_update_required = false; 38bool g_pwm_buffer_update_required = false;
39 39
40void IS31FL3218_write_register(uint8_t reg, uint8_t data) { 40void is31fl3218_write_register(uint8_t reg, uint8_t data) {
41 g_twi_transfer_buffer[0] = reg; 41 g_twi_transfer_buffer[0] = reg;
42 g_twi_transfer_buffer[1] = data; 42 g_twi_transfer_buffer[1] = data;
43 i2c_transmit(ISSI_ADDRESS, g_twi_transfer_buffer, 2, ISSI_TIMEOUT); 43 i2c_transmit(ISSI_ADDRESS, g_twi_transfer_buffer, 2, ISSI_TIMEOUT);
44} 44}
45 45
46void IS31FL3218_write_pwm_buffer(uint8_t *pwm_buffer) { 46void is31fl3218_write_pwm_buffer(uint8_t *pwm_buffer) {
47 g_twi_transfer_buffer[0] = ISSI_REG_PWM; 47 g_twi_transfer_buffer[0] = ISSI_REG_PWM;
48 memcpy(g_twi_transfer_buffer + 1, pwm_buffer, 18); 48 memcpy(g_twi_transfer_buffer + 1, pwm_buffer, 18);
49 49
50 i2c_transmit(ISSI_ADDRESS, g_twi_transfer_buffer, 19, ISSI_TIMEOUT); 50 i2c_transmit(ISSI_ADDRESS, g_twi_transfer_buffer, 19, ISSI_TIMEOUT);
51} 51}
52 52
53void IS31FL3218_init(void) { 53void is31fl3218_init(void) {
54 // In case we ever want to reinitialize (?) 54 // In case we ever want to reinitialize (?)
55 IS31FL3218_write_register(ISSI_REG_RESET, 0x00); 55 is31fl3218_write_register(ISSI_REG_RESET, 0x00);
56 56
57 // Turn off software shutdown 57 // Turn off software shutdown
58 IS31FL3218_write_register(ISSI_REG_SHUTDOWN, 0x01); 58 is31fl3218_write_register(ISSI_REG_SHUTDOWN, 0x01);
59 59
60 // Set all PWM values to zero 60 // Set all PWM values to zero
61 for (uint8_t i = 0; i < 18; i++) { 61 for (uint8_t i = 0; i < 18; i++) {
62 IS31FL3218_write_register(ISSI_REG_PWM + i, 0x00); 62 is31fl3218_write_register(ISSI_REG_PWM + i, 0x00);
63 } 63 }
64 64
65 // Enable all channels 65 // Enable all channels
66 for (uint8_t i = 0; i < 3; i++) { 66 for (uint8_t i = 0; i < 3; i++) {
67 IS31FL3218_write_register(ISSI_REG_CONTROL + i, 0b00111111); 67 is31fl3218_write_register(ISSI_REG_CONTROL + i, 0b00111111);
68 } 68 }
69 69
70 // Load PWM registers and LED Control register data 70 // Load PWM registers and LED Control register data
71 IS31FL3218_write_register(ISSI_REG_UPDATE, 0x01); 71 is31fl3218_write_register(ISSI_REG_UPDATE, 0x01);
72} 72}
73 73
74void IS31FL3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 74void is31fl3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
75 if (g_pwm_buffer[index * 3 + 0] == red && g_pwm_buffer[index * 3 + 1] == green && g_pwm_buffer[index * 3 + 2] == blue) { 75 if (g_pwm_buffer[index * 3 + 0] == red && g_pwm_buffer[index * 3 + 1] == green && g_pwm_buffer[index * 3 + 2] == blue) {
76 return; 76 return;
77 } 77 }
@@ -81,17 +81,17 @@ void IS31FL3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
81 g_pwm_buffer_update_required = true; 81 g_pwm_buffer_update_required = true;
82} 82}
83 83
84void IS31FL3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 84void is31fl3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
85 for (int i = 0; i < 6; i++) { 85 for (int i = 0; i < 6; i++) {
86 IS31FL3218_set_color(i, red, green, blue); 86 is31fl3218_set_color(i, red, green, blue);
87 } 87 }
88} 88}
89 89
90void IS31FL3218_update_pwm_buffers(void) { 90void is31fl3218_update_pwm_buffers(void) {
91 if (g_pwm_buffer_update_required) { 91 if (g_pwm_buffer_update_required) {
92 IS31FL3218_write_pwm_buffer(g_pwm_buffer); 92 is31fl3218_write_pwm_buffer(g_pwm_buffer);
93 // Load PWM registers and LED Control register data 93 // Load PWM registers and LED Control register data
94 IS31FL3218_write_register(ISSI_REG_UPDATE, 0x01); 94 is31fl3218_write_register(ISSI_REG_UPDATE, 0x01);
95 } 95 }
96 g_pwm_buffer_update_required = false; 96 g_pwm_buffer_update_required = false;
97} 97}
diff --git a/drivers/led/issi/is31fl3218.h b/drivers/led/issi/is31fl3218.h
index 26bb01a014..2fe3768432 100644
--- a/drivers/led/issi/is31fl3218.h
+++ b/drivers/led/issi/is31fl3218.h
@@ -20,7 +20,7 @@
20#include <stdbool.h> 20#include <stdbool.h>
21#include <string.h> 21#include <string.h>
22 22
23void IS31FL3218_init(void); 23void is31fl3218_init(void);
24void IS31FL3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); 24void is31fl3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
25void IS31FL3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue); 25void is31fl3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
26void IS31FL3218_update_pwm_buffers(void); 26void is31fl3218_update_pwm_buffers(void);
diff --git a/drivers/led/issi/is31fl3731.c b/drivers/led/issi/is31fl3731.c
index b8b520161e..15a01b6d75 100644
--- a/drivers/led/issi/is31fl3731.c
+++ b/drivers/led/issi/is31fl3731.c
@@ -63,7 +63,7 @@ uint8_t g_twi_transfer_buffer[20];
63// These buffers match the IS31FL3731 PWM registers 0x24-0xB3. 63// These buffers match the IS31FL3731 PWM registers 0x24-0xB3.
64// Storing them like this is optimal for I2C transfers to the registers. 64// Storing them like this is optimal for I2C transfers to the registers.
65// We could optimize this and take out the unused registers from these 65// We could optimize this and take out the unused registers from these
66// buffers and the transfers in IS31FL3731_write_pwm_buffer() but it's 66// buffers and the transfers in is31fl3731_write_pwm_buffer() but it's
67// probably not worth the extra complexity. 67// probably not worth the extra complexity.
68uint8_t g_pwm_buffer[DRIVER_COUNT][144]; 68uint8_t g_pwm_buffer[DRIVER_COUNT][144];
69bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; 69bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
@@ -85,7 +85,7 @@ bool g_led_control_registers_update_required[DRIVER_COUNT] = {false};
85// 0x0E - R17,G15,G14,G13,G12,G11,G10,G09 85// 0x0E - R17,G15,G14,G13,G12,G11,G10,G09
86// 0x10 - R16,R15,R14,R13,R12,R11,R10,R09 86// 0x10 - R16,R15,R14,R13,R12,R11,R10,R09
87 87
88void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) { 88void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
89 g_twi_transfer_buffer[0] = reg; 89 g_twi_transfer_buffer[0] = reg;
90 g_twi_transfer_buffer[1] = data; 90 g_twi_transfer_buffer[1] = data;
91 91
@@ -98,7 +98,7 @@ void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
98#endif 98#endif
99} 99}
100 100
101void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { 101void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
102 // assumes bank is already selected 102 // assumes bank is already selected
103 103
104 // transmit PWM registers in 9 transfers of 16 bytes 104 // transmit PWM registers in 9 transfers of 16 bytes
@@ -123,62 +123,62 @@ void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
123 } 123 }
124} 124}
125 125
126void IS31FL3731_init(uint8_t addr) { 126void is31fl3731_init(uint8_t addr) {
127 // In order to avoid the LEDs being driven with garbage data 127 // In order to avoid the LEDs being driven with garbage data
128 // in the LED driver's PWM registers, first enable software shutdown, 128 // in the LED driver's PWM registers, first enable software shutdown,
129 // then set up the mode and other settings, clear the PWM registers, 129 // then set up the mode and other settings, clear the PWM registers,
130 // then disable software shutdown. 130 // then disable software shutdown.
131 131
132 // select "function register" bank 132 // select "function register" bank
133 IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); 133 is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG);
134 134
135 // enable software shutdown 135 // enable software shutdown
136 IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00); 136 is31fl3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x00);
137#ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array 137#ifdef ISSI_3731_DEGHOST // set to enable de-ghosting of the array
138 IS31FL3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10); 138 is31fl3731_write_register(addr, ISSI_REG_GHOST_IMAGE_PREVENTION, 0x10);
139#endif 139#endif
140 140
141 // this delay was copied from other drivers, might not be needed 141 // this delay was copied from other drivers, might not be needed
142 wait_ms(10); 142 wait_ms(10);
143 143
144 // picture mode 144 // picture mode
145 IS31FL3731_write_register(addr, ISSI_REG_CONFIG, ISSI_REG_CONFIG_PICTUREMODE); 145 is31fl3731_write_register(addr, ISSI_REG_CONFIG, ISSI_REG_CONFIG_PICTUREMODE);
146 // display frame 0 146 // display frame 0
147 IS31FL3731_write_register(addr, ISSI_REG_PICTUREFRAME, 0x00); 147 is31fl3731_write_register(addr, ISSI_REG_PICTUREFRAME, 0x00);
148 // audio sync off 148 // audio sync off
149 IS31FL3731_write_register(addr, ISSI_REG_AUDIOSYNC, 0x00); 149 is31fl3731_write_register(addr, ISSI_REG_AUDIOSYNC, 0x00);
150 150
151 // select bank 0 151 // select bank 0
152 IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, 0); 152 is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, 0);
153 153
154 // turn off all LEDs in the LED control register 154 // turn off all LEDs in the LED control register
155 for (int i = 0x00; i <= 0x11; i++) { 155 for (int i = 0x00; i <= 0x11; i++) {
156 IS31FL3731_write_register(addr, i, 0x00); 156 is31fl3731_write_register(addr, i, 0x00);
157 } 157 }
158 158
159 // turn off all LEDs in the blink control register (not really needed) 159 // turn off all LEDs in the blink control register (not really needed)
160 for (int i = 0x12; i <= 0x23; i++) { 160 for (int i = 0x12; i <= 0x23; i++) {
161 IS31FL3731_write_register(addr, i, 0x00); 161 is31fl3731_write_register(addr, i, 0x00);
162 } 162 }
163 163
164 // set PWM on all LEDs to 0 164 // set PWM on all LEDs to 0
165 for (int i = 0x24; i <= 0xB3; i++) { 165 for (int i = 0x24; i <= 0xB3; i++) {
166 IS31FL3731_write_register(addr, i, 0x00); 166 is31fl3731_write_register(addr, i, 0x00);
167 } 167 }
168 168
169 // select "function register" bank 169 // select "function register" bank
170 IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG); 170 is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, ISSI_BANK_FUNCTIONREG);
171 171
172 // disable software shutdown 172 // disable software shutdown
173 IS31FL3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x01); 173 is31fl3731_write_register(addr, ISSI_REG_SHUTDOWN, 0x01);
174 174
175 // select bank 0 and leave it selected. 175 // select bank 0 and leave it selected.
176 // most usage after initialization is just writing PWM buffers in bank 0 176 // most usage after initialization is just writing PWM buffers in bank 0
177 // as there's not much point in double-buffering 177 // as there's not much point in double-buffering
178 IS31FL3731_write_register(addr, ISSI_COMMANDREGISTER, 0); 178 is31fl3731_write_register(addr, ISSI_COMMANDREGISTER, 0);
179} 179}
180 180
181void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 181void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
182 is31_led led; 182 is31_led led;
183 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { 183 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
184 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); 184 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
@@ -194,13 +194,13 @@ void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
194 } 194 }
195} 195}
196 196
197void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 197void is31fl3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
198 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 198 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
199 IS31FL3731_set_color(i, red, green, blue); 199 is31fl3731_set_color(i, red, green, blue);
200 } 200 }
201} 201}
202 202
203void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { 203void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
204 is31_led led; 204 is31_led led;
205 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); 205 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
206 206
@@ -230,17 +230,17 @@ void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bo
230 g_led_control_registers_update_required[led.driver] = true; 230 g_led_control_registers_update_required[led.driver] = true;
231} 231}
232 232
233void IS31FL3731_update_pwm_buffers(uint8_t addr, uint8_t index) { 233void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index) {
234 if (g_pwm_buffer_update_required[index]) { 234 if (g_pwm_buffer_update_required[index]) {
235 IS31FL3731_write_pwm_buffer(addr, g_pwm_buffer[index]); 235 is31fl3731_write_pwm_buffer(addr, g_pwm_buffer[index]);
236 } 236 }
237 g_pwm_buffer_update_required[index] = false; 237 g_pwm_buffer_update_required[index] = false;
238} 238}
239 239
240void IS31FL3731_update_led_control_registers(uint8_t addr, uint8_t index) { 240void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index) {
241 if (g_led_control_registers_update_required[index]) { 241 if (g_led_control_registers_update_required[index]) {
242 for (int i = 0; i < 18; i++) { 242 for (int i = 0; i < 18; i++) {
243 IS31FL3731_write_register(addr, i, g_led_control_registers[index][i]); 243 is31fl3731_write_register(addr, i, g_led_control_registers[index][i]);
244 } 244 }
245 } 245 }
246 g_led_control_registers_update_required[index] = false; 246 g_led_control_registers_update_required[index] = false;
diff --git a/drivers/led/issi/is31fl3731.h b/drivers/led/issi/is31fl3731.h
index 4c79cb8146..bdf03de1ee 100644
--- a/drivers/led/issi/is31fl3731.h
+++ b/drivers/led/issi/is31fl3731.h
@@ -31,21 +31,21 @@ typedef struct is31_led {
31 31
32extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; 32extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
33 33
34void IS31FL3731_init(uint8_t addr); 34void is31fl3731_init(uint8_t addr);
35void IS31FL3731_write_register(uint8_t addr, uint8_t reg, uint8_t data); 35void is31fl3731_write_register(uint8_t addr, uint8_t reg, uint8_t data);
36void IS31FL3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); 36void is31fl3731_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
37 37
38void IS31FL3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); 38void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
39void IS31FL3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue); 39void is31fl3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
40 40
41void IS31FL3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue); 41void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue);
42 42
43// This should not be called from an interrupt 43// This should not be called from an interrupt
44// (eg. from a timer interrupt). 44// (eg. from a timer interrupt).
45// Call this while idle (in between matrix scans). 45// Call this while idle (in between matrix scans).
46// If the buffer is dirty, it will update the driver with the buffer. 46// If the buffer is dirty, it will update the driver with the buffer.
47void IS31FL3731_update_pwm_buffers(uint8_t addr, uint8_t index); 47void is31fl3731_update_pwm_buffers(uint8_t addr, uint8_t index);
48void IS31FL3731_update_led_control_registers(uint8_t addr, uint8_t index); 48void is31fl3731_update_led_control_registers(uint8_t addr, uint8_t index);
49 49
50#define C1_1 0x24 50#define C1_1 0x24
51#define C1_2 0x25 51#define C1_2 0x25
diff --git a/drivers/led/issi/is31fl3733.c b/drivers/led/issi/is31fl3733.c
index b2b467ab9e..ca431838ef 100644
--- a/drivers/led/issi/is31fl3733.c
+++ b/drivers/led/issi/is31fl3733.c
@@ -80,7 +80,7 @@ uint8_t g_twi_transfer_buffer[20];
80// The control buffers match the PG0 LED On/Off registers. 80// The control buffers match the PG0 LED On/Off registers.
81// Storing them like this is optimal for I2C transfers to the registers. 81// Storing them like this is optimal for I2C transfers to the registers.
82// We could optimize this and take out the unused registers from these 82// We could optimize this and take out the unused registers from these
83// buffers and the transfers in IS31FL3733_write_pwm_buffer() but it's 83// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's
84// probably not worth the extra complexity. 84// probably not worth the extra complexity.
85uint8_t g_pwm_buffer[DRIVER_COUNT][192]; 85uint8_t g_pwm_buffer[DRIVER_COUNT][192];
86bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; 86bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
@@ -88,7 +88,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
88uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; 88uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0};
89bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; 89bool g_led_control_registers_update_required[DRIVER_COUNT] = {false};
90 90
91bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) { 91bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
92 // If the transaction fails function returns false. 92 // If the transaction fails function returns false.
93 g_twi_transfer_buffer[0] = reg; 93 g_twi_transfer_buffer[0] = reg;
94 g_twi_transfer_buffer[1] = data; 94 g_twi_transfer_buffer[1] = data;
@@ -107,7 +107,7 @@ bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
107 return true; 107 return true;
108} 108}
109 109
110bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { 110bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
111 // Assumes PG1 is already selected. 111 // Assumes PG1 is already selected.
112 // If any of the transactions fails function returns false. 112 // If any of the transactions fails function returns false.
113 // Transmit PWM registers in 12 transfers of 16 bytes. 113 // Transmit PWM registers in 12 transfers of 16 bytes.
@@ -138,7 +138,7 @@ bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
138 return true; 138 return true;
139} 139}
140 140
141void IS31FL3733_init(uint8_t addr, uint8_t sync) { 141void is31fl3733_init(uint8_t addr, uint8_t sync) {
142 // In order to avoid the LEDs being driven with garbage data 142 // In order to avoid the LEDs being driven with garbage data
143 // in the LED driver's PWM registers, shutdown is enabled last. 143 // in the LED driver's PWM registers, shutdown is enabled last.
144 // Set up the mode and other settings, clear the PWM registers, 144 // Set up the mode and other settings, clear the PWM registers,
@@ -146,45 +146,45 @@ void IS31FL3733_init(uint8_t addr, uint8_t sync) {
146 // Sync is passed so set it according to the datasheet. 146 // Sync is passed so set it according to the datasheet.
147 147
148 // Unlock the command register. 148 // Unlock the command register.
149 IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 149 is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
150 150
151 // Select PG0 151 // Select PG0
152 IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); 152 is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL);
153 // Turn off all LEDs. 153 // Turn off all LEDs.
154 for (int i = 0x00; i <= 0x17; i++) { 154 for (int i = 0x00; i <= 0x17; i++) {
155 IS31FL3733_write_register(addr, i, 0x00); 155 is31fl3733_write_register(addr, i, 0x00);
156 } 156 }
157 157
158 // Unlock the command register. 158 // Unlock the command register.
159 IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 159 is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
160 160
161 // Select PG1 161 // Select PG1
162 IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); 162 is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
163 // Set PWM on all LEDs to 0 163 // Set PWM on all LEDs to 0
164 // No need to setup Breath registers to PWM as that is the default. 164 // No need to setup Breath registers to PWM as that is the default.
165 for (int i = 0x00; i <= 0xBF; i++) { 165 for (int i = 0x00; i <= 0xBF; i++) {
166 IS31FL3733_write_register(addr, i, 0x00); 166 is31fl3733_write_register(addr, i, 0x00);
167 } 167 }
168 168
169 // Unlock the command register. 169 // Unlock the command register.
170 IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 170 is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
171 171
172 // Select PG3 172 // Select PG3
173 IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); 173 is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION);
174 // Set de-ghost pull-up resistors (SWx) 174 // Set de-ghost pull-up resistors (SWx)
175 IS31FL3733_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); 175 is31fl3733_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP);
176 // Set de-ghost pull-down resistors (CSx) 176 // Set de-ghost pull-down resistors (CSx)
177 IS31FL3733_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); 177 is31fl3733_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP);
178 // Set global current to maximum. 178 // Set global current to maximum.
179 IS31FL3733_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); 179 is31fl3733_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT);
180 // Disable software shutdown. 180 // Disable software shutdown.
181 IS31FL3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); 181 is31fl3733_write_register(addr, ISSI_REG_CONFIGURATION, ((sync & 0b11) << 6) | ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01);
182 182
183 // Wait 10ms to ensure the device has woken up. 183 // Wait 10ms to ensure the device has woken up.
184 wait_ms(10); 184 wait_ms(10);
185} 185}
186 186
187void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 187void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
188 is31_led led; 188 is31_led led;
189 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { 189 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
190 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); 190 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
@@ -199,13 +199,13 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
199 } 199 }
200} 200}
201 201
202void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 202void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
203 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 203 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
204 IS31FL3733_set_color(i, red, green, blue); 204 is31fl3733_set_color(i, red, green, blue);
205 } 205 }
206} 206}
207 207
208void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { 208void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
209 is31_led led; 209 is31_led led;
210 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); 210 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
211 211
@@ -235,28 +235,28 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bo
235 g_led_control_registers_update_required[led.driver] = true; 235 g_led_control_registers_update_required[led.driver] = true;
236} 236}
237 237
238void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) { 238void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) {
239 if (g_pwm_buffer_update_required[index]) { 239 if (g_pwm_buffer_update_required[index]) {
240 // Firstly we need to unlock the command register and select PG1. 240 // Firstly we need to unlock the command register and select PG1.
241 IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 241 is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
242 IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); 242 is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
243 243
244 // If any of the transactions fail we risk writing dirty PG0, 244 // If any of the transactions fail we risk writing dirty PG0,
245 // refresh page 0 just in case. 245 // refresh page 0 just in case.
246 if (!IS31FL3733_write_pwm_buffer(addr, g_pwm_buffer[index])) { 246 if (!is31fl3733_write_pwm_buffer(addr, g_pwm_buffer[index])) {
247 g_led_control_registers_update_required[index] = true; 247 g_led_control_registers_update_required[index] = true;
248 } 248 }
249 } 249 }
250 g_pwm_buffer_update_required[index] = false; 250 g_pwm_buffer_update_required[index] = false;
251} 251}
252 252
253void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index) { 253void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) {
254 if (g_led_control_registers_update_required[index]) { 254 if (g_led_control_registers_update_required[index]) {
255 // Firstly we need to unlock the command register and select PG0 255 // Firstly we need to unlock the command register and select PG0
256 IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 256 is31fl3733_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
257 IS31FL3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); 257 is31fl3733_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL);
258 for (int i = 0; i < 24; i++) { 258 for (int i = 0; i < 24; i++) {
259 IS31FL3733_write_register(addr, i, g_led_control_registers[index][i]); 259 is31fl3733_write_register(addr, i, g_led_control_registers[index][i]);
260 } 260 }
261 } 261 }
262 g_led_control_registers_update_required[index] = false; 262 g_led_control_registers_update_required[index] = false;
diff --git a/drivers/led/issi/is31fl3733.h b/drivers/led/issi/is31fl3733.h
index 29441846ac..f37a58de0f 100644
--- a/drivers/led/issi/is31fl3733.h
+++ b/drivers/led/issi/is31fl3733.h
@@ -32,21 +32,21 @@ typedef struct is31_led {
32 32
33extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; 33extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
34 34
35void IS31FL3733_init(uint8_t addr, uint8_t sync); 35void is31fl3733_init(uint8_t addr, uint8_t sync);
36bool IS31FL3733_write_register(uint8_t addr, uint8_t reg, uint8_t data); 36bool is31fl3733_write_register(uint8_t addr, uint8_t reg, uint8_t data);
37bool IS31FL3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); 37bool is31fl3733_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
38 38
39void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); 39void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
40void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); 40void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
41 41
42void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue); 42void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue);
43 43
44// This should not be called from an interrupt 44// This should not be called from an interrupt
45// (eg. from a timer interrupt). 45// (eg. from a timer interrupt).
46// Call this while idle (in between matrix scans). 46// Call this while idle (in between matrix scans).
47// If the buffer is dirty, it will update the driver with the buffer. 47// If the buffer is dirty, it will update the driver with the buffer.
48void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index); 48void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index);
49void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index); 49void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index);
50 50
51#define PUR_0R 0x00 // No PUR resistor 51#define PUR_0R 0x00 // No PUR resistor
52#define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL 52#define PUR_05KR 0x02 // 0.5k Ohm resistor in t_NOL
diff --git a/drivers/led/issi/is31fl3736.c b/drivers/led/issi/is31fl3736.c
index 45b34f2c8d..0de8b3bbae 100644
--- a/drivers/led/issi/is31fl3736.c
+++ b/drivers/led/issi/is31fl3736.c
@@ -74,7 +74,7 @@ uint8_t g_twi_transfer_buffer[20];
74// The control buffers match the PG0 LED On/Off registers. 74// The control buffers match the PG0 LED On/Off registers.
75// Storing them like this is optimal for I2C transfers to the registers. 75// Storing them like this is optimal for I2C transfers to the registers.
76// We could optimize this and take out the unused registers from these 76// We could optimize this and take out the unused registers from these
77// buffers and the transfers in IS31FL3736_write_pwm_buffer() but it's 77// buffers and the transfers in is31fl3736_write_pwm_buffer() but it's
78// probably not worth the extra complexity. 78// probably not worth the extra complexity.
79uint8_t g_pwm_buffer[DRIVER_COUNT][192]; 79uint8_t g_pwm_buffer[DRIVER_COUNT][192];
80bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; 80bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
@@ -82,7 +82,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
82uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}}; 82uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}};
83bool g_led_control_registers_update_required = false; 83bool g_led_control_registers_update_required = false;
84 84
85void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) { 85void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
86 g_twi_transfer_buffer[0] = reg; 86 g_twi_transfer_buffer[0] = reg;
87 g_twi_transfer_buffer[1] = data; 87 g_twi_transfer_buffer[1] = data;
88 88
@@ -95,7 +95,7 @@ void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
95#endif 95#endif
96} 96}
97 97
98void IS31FL3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { 98void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
99 // assumes PG1 is already selected 99 // assumes PG1 is already selected
100 100
101 // transmit PWM registers in 12 transfers of 16 bytes 101 // transmit PWM registers in 12 transfers of 16 bytes
@@ -119,52 +119,52 @@ void IS31FL3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
119 } 119 }
120} 120}
121 121
122void IS31FL3736_init(uint8_t addr) { 122void is31fl3736_init(uint8_t addr) {
123 // In order to avoid the LEDs being driven with garbage data 123 // In order to avoid the LEDs being driven with garbage data
124 // in the LED driver's PWM registers, shutdown is enabled last. 124 // in the LED driver's PWM registers, shutdown is enabled last.
125 // Set up the mode and other settings, clear the PWM registers, 125 // Set up the mode and other settings, clear the PWM registers,
126 // then disable software shutdown. 126 // then disable software shutdown.
127 127
128 // Unlock the command register. 128 // Unlock the command register.
129 IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 129 is31fl3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
130 130
131 // Select PG0 131 // Select PG0
132 IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); 132 is31fl3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL);
133 // Turn off all LEDs. 133 // Turn off all LEDs.
134 for (int i = 0x00; i <= 0x17; i++) { 134 for (int i = 0x00; i <= 0x17; i++) {
135 IS31FL3736_write_register(addr, i, 0x00); 135 is31fl3736_write_register(addr, i, 0x00);
136 } 136 }
137 137
138 // Unlock the command register. 138 // Unlock the command register.
139 IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 139 is31fl3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
140 140
141 // Select PG1 141 // Select PG1
142 IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); 142 is31fl3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
143 // Set PWM on all LEDs to 0 143 // Set PWM on all LEDs to 0
144 // No need to setup Breath registers to PWM as that is the default. 144 // No need to setup Breath registers to PWM as that is the default.
145 for (int i = 0x00; i <= 0xBF; i++) { 145 for (int i = 0x00; i <= 0xBF; i++) {
146 IS31FL3736_write_register(addr, i, 0x00); 146 is31fl3736_write_register(addr, i, 0x00);
147 } 147 }
148 148
149 // Unlock the command register. 149 // Unlock the command register.
150 IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 150 is31fl3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
151 151
152 // Select PG3 152 // Select PG3
153 IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); 153 is31fl3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION);
154 // Set de-ghost pull-up resistors (SWx) 154 // Set de-ghost pull-up resistors (SWx)
155 IS31FL3736_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); 155 is31fl3736_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP);
156 // Set de-ghost pull-down resistors (CSx) 156 // Set de-ghost pull-down resistors (CSx)
157 IS31FL3736_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); 157 is31fl3736_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP);
158 // Set global current to maximum. 158 // Set global current to maximum.
159 IS31FL3736_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); 159 is31fl3736_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT);
160 // Disable software shutdown. 160 // Disable software shutdown.
161 IS31FL3736_write_register(addr, ISSI_REG_CONFIGURATION, 0x01); 161 is31fl3736_write_register(addr, ISSI_REG_CONFIGURATION, 0x01);
162 162
163 // Wait 10ms to ensure the device has woken up. 163 // Wait 10ms to ensure the device has woken up.
164 wait_ms(10); 164 wait_ms(10);
165} 165}
166 166
167void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 167void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
168 is31_led led; 168 is31_led led;
169 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { 169 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
170 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); 170 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
@@ -179,13 +179,13 @@ void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
179 } 179 }
180} 180}
181 181
182void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 182void is31fl3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
183 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 183 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
184 IS31FL3736_set_color(i, red, green, blue); 184 is31fl3736_set_color(i, red, green, blue);
185 } 185 }
186} 186}
187 187
188void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { 188void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
189 is31_led led; 189 is31_led led;
190 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); 190 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
191 191
@@ -229,7 +229,7 @@ void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bo
229 g_led_control_registers_update_required = true; 229 g_led_control_registers_update_required = true;
230} 230}
231 231
232void IS31FL3736_mono_set_brightness(int index, uint8_t value) { 232void is31fl3736_mono_set_brightness(int index, uint8_t value) {
233 if (index >= 0 && index < 96) { 233 if (index >= 0 && index < 96) {
234 // Index in range 0..95 -> A1..A8, B1..B8, etc. 234 // Index in range 0..95 -> A1..A8, B1..B8, etc.
235 // Map index 0..95 to registers 0x00..0xBE (interleaved) 235 // Map index 0..95 to registers 0x00..0xBE (interleaved)
@@ -239,13 +239,13 @@ void IS31FL3736_mono_set_brightness(int index, uint8_t value) {
239 } 239 }
240} 240}
241 241
242void IS31FL3736_mono_set_brightness_all(uint8_t value) { 242void is31fl3736_mono_set_brightness_all(uint8_t value) {
243 for (int i = 0; i < 96; i++) { 243 for (int i = 0; i < 96; i++) {
244 IS31FL3736_mono_set_brightness(i, value); 244 is31fl3736_mono_set_brightness(i, value);
245 } 245 }
246} 246}
247 247
248void IS31FL3736_mono_set_led_control_register(uint8_t index, bool enabled) { 248void is31fl3736_mono_set_led_control_register(uint8_t index, bool enabled) {
249 // Index in range 0..95 -> A1..A8, B1..B8, etc. 249 // Index in range 0..95 -> A1..A8, B1..B8, etc.
250 250
251 // Map index 0..95 to registers 0x00..0xBE (interleaved) 251 // Map index 0..95 to registers 0x00..0xBE (interleaved)
@@ -263,25 +263,25 @@ void IS31FL3736_mono_set_led_control_register(uint8_t index, bool enabled) {
263 g_led_control_registers_update_required = true; 263 g_led_control_registers_update_required = true;
264} 264}
265 265
266void IS31FL3736_update_pwm_buffers(uint8_t addr, uint8_t index) { 266void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index) {
267 if (g_pwm_buffer_update_required[index]) { 267 if (g_pwm_buffer_update_required[index]) {
268 // Firstly we need to unlock the command register and select PG1 268 // Firstly we need to unlock the command register and select PG1
269 IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 269 is31fl3736_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
270 IS31FL3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); 270 is31fl3736_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
271 271
272 IS31FL3736_write_pwm_buffer(addr, g_pwm_buffer[index]); 272 is31fl3736_write_pwm_buffer(addr, g_pwm_buffer[index]);
273 } 273 }
274 g_pwm_buffer_update_required[index] = false; 274 g_pwm_buffer_update_required[index] = false;
275} 275}
276 276
277void IS31FL3736_update_led_control_registers(uint8_t addr1, uint8_t addr2) { 277void is31fl3736_update_led_control_registers(uint8_t addr1, uint8_t addr2) {
278 if (g_led_control_registers_update_required) { 278 if (g_led_control_registers_update_required) {
279 // Firstly we need to unlock the command register and select PG0 279 // Firstly we need to unlock the command register and select PG0
280 IS31FL3736_write_register(addr1, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 280 is31fl3736_write_register(addr1, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
281 IS31FL3736_write_register(addr1, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); 281 is31fl3736_write_register(addr1, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL);
282 for (int i = 0; i < 24; i++) { 282 for (int i = 0; i < 24; i++) {
283 IS31FL3736_write_register(addr1, i, g_led_control_registers[0][i]); 283 is31fl3736_write_register(addr1, i, g_led_control_registers[0][i]);
284 // IS31FL3736_write_register(addr2, i, g_led_control_registers[1][i]); 284 // is31fl3736_write_register(addr2, i, g_led_control_registers[1][i]);
285 } 285 }
286 g_led_control_registers_update_required = false; 286 g_led_control_registers_update_required = false;
287 } 287 }
diff --git a/drivers/led/issi/is31fl3736.h b/drivers/led/issi/is31fl3736.h
index 332b2035f3..32bdef4a80 100644
--- a/drivers/led/issi/is31fl3736.h
+++ b/drivers/led/issi/is31fl3736.h
@@ -42,25 +42,25 @@ typedef struct is31_led {
42 42
43extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; 43extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
44 44
45void IS31FL3736_init(uint8_t addr); 45void is31fl3736_init(uint8_t addr);
46void IS31FL3736_write_register(uint8_t addr, uint8_t reg, uint8_t data); 46void is31fl3736_write_register(uint8_t addr, uint8_t reg, uint8_t data);
47void IS31FL3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); 47void is31fl3736_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
48 48
49void IS31FL3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); 49void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
50void IS31FL3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue); 50void is31fl3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
51 51
52void IS31FL3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue); 52void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue);
53 53
54void IS31FL3736_mono_set_brightness(int index, uint8_t value); 54void is31fl3736_mono_set_brightness(int index, uint8_t value);
55void IS31FL3736_mono_set_brightness_all(uint8_t value); 55void is31fl3736_mono_set_brightness_all(uint8_t value);
56void IS31FL3736_mono_set_led_control_register(uint8_t index, bool enabled); 56void is31fl3736_mono_set_led_control_register(uint8_t index, bool enabled);
57 57
58// This should not be called from an interrupt 58// This should not be called from an interrupt
59// (eg. from a timer interrupt). 59// (eg. from a timer interrupt).
60// Call this while idle (in between matrix scans). 60// Call this while idle (in between matrix scans).
61// If the buffer is dirty, it will update the driver with the buffer. 61// If the buffer is dirty, it will update the driver with the buffer.
62void IS31FL3736_update_pwm_buffers(uint8_t addr, uint8_t index); 62void is31fl3736_update_pwm_buffers(uint8_t addr, uint8_t index);
63void IS31FL3736_update_led_control_registers(uint8_t addr, uint8_t index); 63void is31fl3736_update_led_control_registers(uint8_t addr, uint8_t index);
64 64
65#define PUR_0R 0x00 // No PUR resistor 65#define PUR_0R 0x00 // No PUR resistor
66#define PUR_05KR 0x01 // 0.5k Ohm resistor 66#define PUR_05KR 0x01 // 0.5k Ohm resistor
diff --git a/drivers/led/issi/is31fl3737.c b/drivers/led/issi/is31fl3737.c
index e5e6c66e5a..947c0a1d1a 100644
--- a/drivers/led/issi/is31fl3737.c
+++ b/drivers/led/issi/is31fl3737.c
@@ -80,7 +80,7 @@ uint8_t g_twi_transfer_buffer[20];
80// The control buffers match the PG0 LED On/Off registers. 80// The control buffers match the PG0 LED On/Off registers.
81// Storing them like this is optimal for I2C transfers to the registers. 81// Storing them like this is optimal for I2C transfers to the registers.
82// We could optimize this and take out the unused registers from these 82// We could optimize this and take out the unused registers from these
83// buffers and the transfers in IS31FL3737_write_pwm_buffer() but it's 83// buffers and the transfers in is31fl3737_write_pwm_buffer() but it's
84// probably not worth the extra complexity. 84// probably not worth the extra complexity.
85 85
86uint8_t g_pwm_buffer[DRIVER_COUNT][192]; 86uint8_t g_pwm_buffer[DRIVER_COUNT][192];
@@ -89,7 +89,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
89uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0}; 89uint8_t g_led_control_registers[DRIVER_COUNT][24] = {0};
90bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; 90bool g_led_control_registers_update_required[DRIVER_COUNT] = {false};
91 91
92void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) { 92void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
93 g_twi_transfer_buffer[0] = reg; 93 g_twi_transfer_buffer[0] = reg;
94 g_twi_transfer_buffer[1] = data; 94 g_twi_transfer_buffer[1] = data;
95 95
@@ -102,7 +102,7 @@ void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
102#endif 102#endif
103} 103}
104 104
105void IS31FL3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { 105void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
106 // assumes PG1 is already selected 106 // assumes PG1 is already selected
107 107
108 // transmit PWM registers in 12 transfers of 16 bytes 108 // transmit PWM registers in 12 transfers of 16 bytes
@@ -126,52 +126,52 @@ void IS31FL3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
126 } 126 }
127} 127}
128 128
129void IS31FL3737_init(uint8_t addr) { 129void is31fl3737_init(uint8_t addr) {
130 // In order to avoid the LEDs being driven with garbage data 130 // In order to avoid the LEDs being driven with garbage data
131 // in the LED driver's PWM registers, shutdown is enabled last. 131 // in the LED driver's PWM registers, shutdown is enabled last.
132 // Set up the mode and other settings, clear the PWM registers, 132 // Set up the mode and other settings, clear the PWM registers,
133 // then disable software shutdown. 133 // then disable software shutdown.
134 134
135 // Unlock the command register. 135 // Unlock the command register.
136 IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 136 is31fl3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
137 137
138 // Select PG0 138 // Select PG0
139 IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); 139 is31fl3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL);
140 // Turn off all LEDs. 140 // Turn off all LEDs.
141 for (int i = 0x00; i <= 0x17; i++) { 141 for (int i = 0x00; i <= 0x17; i++) {
142 IS31FL3737_write_register(addr, i, 0x00); 142 is31fl3737_write_register(addr, i, 0x00);
143 } 143 }
144 144
145 // Unlock the command register. 145 // Unlock the command register.
146 IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 146 is31fl3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
147 147
148 // Select PG1 148 // Select PG1
149 IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); 149 is31fl3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
150 // Set PWM on all LEDs to 0 150 // Set PWM on all LEDs to 0
151 // No need to setup Breath registers to PWM as that is the default. 151 // No need to setup Breath registers to PWM as that is the default.
152 for (int i = 0x00; i <= 0xBF; i++) { 152 for (int i = 0x00; i <= 0xBF; i++) {
153 IS31FL3737_write_register(addr, i, 0x00); 153 is31fl3737_write_register(addr, i, 0x00);
154 } 154 }
155 155
156 // Unlock the command register. 156 // Unlock the command register.
157 IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 157 is31fl3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
158 158
159 // Select PG3 159 // Select PG3
160 IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); 160 is31fl3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION);
161 // Set de-ghost pull-up resistors (SWx) 161 // Set de-ghost pull-up resistors (SWx)
162 IS31FL3737_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP); 162 is31fl3737_write_register(addr, ISSI_REG_SWPULLUP, ISSI_SWPULLUP);
163 // Set de-ghost pull-down resistors (CSx) 163 // Set de-ghost pull-down resistors (CSx)
164 IS31FL3737_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP); 164 is31fl3737_write_register(addr, ISSI_REG_CSPULLUP, ISSI_CSPULLUP);
165 // Set global current to maximum. 165 // Set global current to maximum.
166 IS31FL3737_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); 166 is31fl3737_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT);
167 // Disable software shutdown. 167 // Disable software shutdown.
168 IS31FL3737_write_register(addr, ISSI_REG_CONFIGURATION, ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01); 168 is31fl3737_write_register(addr, ISSI_REG_CONFIGURATION, ((ISSI_PWM_FREQUENCY & 0b111) << 3) | 0x01);
169 169
170 // Wait 10ms to ensure the device has woken up. 170 // Wait 10ms to ensure the device has woken up.
171 wait_ms(10); 171 wait_ms(10);
172} 172}
173 173
174void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 174void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
175 is31_led led; 175 is31_led led;
176 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { 176 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
177 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); 177 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
@@ -186,13 +186,13 @@ void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
186 } 186 }
187} 187}
188 188
189void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 189void is31fl3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
190 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 190 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
191 IS31FL3737_set_color(i, red, green, blue); 191 is31fl3737_set_color(i, red, green, blue);
192 } 192 }
193} 193}
194 194
195void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { 195void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
196 is31_led led; 196 is31_led led;
197 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); 197 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
198 198
@@ -222,24 +222,24 @@ void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bo
222 g_led_control_registers_update_required[led.driver] = true; 222 g_led_control_registers_update_required[led.driver] = true;
223} 223}
224 224
225void IS31FL3737_update_pwm_buffers(uint8_t addr, uint8_t index) { 225void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index) {
226 if (g_pwm_buffer_update_required[index]) { 226 if (g_pwm_buffer_update_required[index]) {
227 // Firstly we need to unlock the command register and select PG1 227 // Firstly we need to unlock the command register and select PG1
228 IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 228 is31fl3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
229 IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); 229 is31fl3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
230 230
231 IS31FL3737_write_pwm_buffer(addr, g_pwm_buffer[index]); 231 is31fl3737_write_pwm_buffer(addr, g_pwm_buffer[index]);
232 } 232 }
233 g_pwm_buffer_update_required[index] = false; 233 g_pwm_buffer_update_required[index] = false;
234} 234}
235 235
236void IS31FL3737_update_led_control_registers(uint8_t addr, uint8_t index) { 236void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index) {
237 if (g_led_control_registers_update_required[index]) { 237 if (g_led_control_registers_update_required[index]) {
238 // Firstly we need to unlock the command register and select PG0 238 // Firstly we need to unlock the command register and select PG0
239 IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 239 is31fl3737_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
240 IS31FL3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); 240 is31fl3737_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL);
241 for (int i = 0; i < 24; i++) { 241 for (int i = 0; i < 24; i++) {
242 IS31FL3737_write_register(addr, i, g_led_control_registers[index][i]); 242 is31fl3737_write_register(addr, i, g_led_control_registers[index][i]);
243 } 243 }
244 } 244 }
245 g_led_control_registers_update_required[index] = false; 245 g_led_control_registers_update_required[index] = false;
diff --git a/drivers/led/issi/is31fl3737.h b/drivers/led/issi/is31fl3737.h
index ca9a917ee2..e7fc97872c 100644
--- a/drivers/led/issi/is31fl3737.h
+++ b/drivers/led/issi/is31fl3737.h
@@ -33,21 +33,21 @@ typedef struct is31_led {
33 33
34extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; 34extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
35 35
36void IS31FL3737_init(uint8_t addr); 36void is31fl3737_init(uint8_t addr);
37void IS31FL3737_write_register(uint8_t addr, uint8_t reg, uint8_t data); 37void is31fl3737_write_register(uint8_t addr, uint8_t reg, uint8_t data);
38void IS31FL3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); 38void is31fl3737_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
39 39
40void IS31FL3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); 40void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
41void IS31FL3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue); 41void is31fl3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
42 42
43void IS31FL3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue); 43void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue);
44 44
45// This should not be called from an interrupt 45// This should not be called from an interrupt
46// (eg. from a timer interrupt). 46// (eg. from a timer interrupt).
47// Call this while idle (in between matrix scans). 47// Call this while idle (in between matrix scans).
48// If the buffer is dirty, it will update the driver with the buffer. 48// If the buffer is dirty, it will update the driver with the buffer.
49void IS31FL3737_update_pwm_buffers(uint8_t addr, uint8_t index); 49void is31fl3737_update_pwm_buffers(uint8_t addr, uint8_t index);
50void IS31FL3737_update_led_control_registers(uint8_t addr, uint8_t index); 50void is31fl3737_update_led_control_registers(uint8_t addr, uint8_t index);
51 51
52#define PUR_0R 0x00 // No PUR resistor 52#define PUR_0R 0x00 // No PUR resistor
53#define PUR_05KR 0x01 // 0.5k Ohm resistor in t_NOL 53#define PUR_05KR 0x01 // 0.5k Ohm resistor in t_NOL
diff --git a/drivers/led/issi/is31fl3741.c b/drivers/led/issi/is31fl3741.c
index 65f0c3640b..70671c2a40 100644
--- a/drivers/led/issi/is31fl3741.c
+++ b/drivers/led/issi/is31fl3741.c
@@ -82,7 +82,7 @@ uint8_t g_twi_transfer_buffer[20] = {0xFF};
82// The scaling buffers match the PG2 and PG3 LED On/Off registers. 82// The scaling buffers match the PG2 and PG3 LED On/Off registers.
83// Storing them like this is optimal for I2C transfers to the registers. 83// Storing them like this is optimal for I2C transfers to the registers.
84// We could optimize this and take out the unused registers from these 84// We could optimize this and take out the unused registers from these
85// buffers and the transfers in IS31FL3741_write_pwm_buffer() but it's 85// buffers and the transfers in is31fl3741_write_pwm_buffer() but it's
86// probably not worth the extra complexity. 86// probably not worth the extra complexity.
87uint8_t g_pwm_buffer[DRIVER_COUNT][ISSI_MAX_LEDS]; 87uint8_t g_pwm_buffer[DRIVER_COUNT][ISSI_MAX_LEDS];
88bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; 88bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
@@ -90,7 +90,7 @@ bool g_scaling_registers_update_required[DRIVER_COUNT] = {false};
90 90
91uint8_t g_scaling_registers[DRIVER_COUNT][ISSI_MAX_LEDS]; 91uint8_t g_scaling_registers[DRIVER_COUNT][ISSI_MAX_LEDS];
92 92
93void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) { 93void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
94 g_twi_transfer_buffer[0] = reg; 94 g_twi_transfer_buffer[0] = reg;
95 g_twi_transfer_buffer[1] = data; 95 g_twi_transfer_buffer[1] = data;
96 96
@@ -103,14 +103,14 @@ void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
103#endif 103#endif
104} 104}
105 105
106bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) { 106bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
107 // Assume PG0 is already selected 107 // Assume PG0 is already selected
108 108
109 for (int i = 0; i < 342; i += 18) { 109 for (int i = 0; i < 342; i += 18) {
110 if (i == 180) { 110 if (i == 180) {
111 // unlock the command register and select PG1 111 // unlock the command register and select PG1
112 IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 112 is31fl3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
113 IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM1); 113 is31fl3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM1);
114 } 114 }
115 115
116 g_twi_transfer_buffer[0] = i % 180; 116 g_twi_transfer_buffer[0] = i % 180;
@@ -148,7 +148,7 @@ bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer) {
148 return true; 148 return true;
149} 149}
150 150
151void IS31FL3741_init(uint8_t addr) { 151void is31fl3741_init(uint8_t addr) {
152 // In order to avoid the LEDs being driven with garbage data 152 // In order to avoid the LEDs being driven with garbage data
153 // in the LED driver's PWM registers, shutdown is enabled last. 153 // in the LED driver's PWM registers, shutdown is enabled last.
154 // Set up the mode and other settings, clear the PWM registers, 154 // Set up the mode and other settings, clear the PWM registers,
@@ -156,26 +156,26 @@ void IS31FL3741_init(uint8_t addr) {
156 // Unlock the command register. 156 // Unlock the command register.
157 157
158 // Unlock the command register. 158 // Unlock the command register.
159 IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 159 is31fl3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
160 160
161 // Select PG4 161 // Select PG4
162 IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); 162 is31fl3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION);
163 163
164 // Set to Normal operation 164 // Set to Normal operation
165 IS31FL3741_write_register(addr, ISSI_REG_CONFIGURATION, 0x01); 165 is31fl3741_write_register(addr, ISSI_REG_CONFIGURATION, 0x01);
166 166
167 // Set Golbal Current Control Register 167 // Set Golbal Current Control Register
168 IS31FL3741_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT); 168 is31fl3741_write_register(addr, ISSI_REG_GLOBALCURRENT, ISSI_GLOBALCURRENT);
169 // Set Pull up & Down for SWx CSy 169 // Set Pull up & Down for SWx CSy
170 IS31FL3741_write_register(addr, ISSI_REG_PULLDOWNUP, ((ISSI_CSPULLUP << 4) | ISSI_SWPULLUP)); 170 is31fl3741_write_register(addr, ISSI_REG_PULLDOWNUP, ((ISSI_CSPULLUP << 4) | ISSI_SWPULLUP));
171 171
172 // IS31FL3741_update_led_scaling_registers(addr, 0xFF, 0xFF, 0xFF); 172 // is31fl3741_update_led_scaling_registers(addr, 0xFF, 0xFF, 0xFF);
173 173
174 // Wait 10ms to ensure the device has woken up. 174 // Wait 10ms to ensure the device has woken up.
175 wait_ms(10); 175 wait_ms(10);
176} 176}
177 177
178void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 178void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
179 is31_led led; 179 is31_led led;
180 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { 180 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
181 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); 181 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
@@ -190,13 +190,13 @@ void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
190 } 190 }
191} 191}
192 192
193void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 193void is31fl3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
194 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 194 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
195 IS31FL3741_set_color(i, red, green, blue); 195 is31fl3741_set_color(i, red, green, blue);
196 } 196 }
197} 197}
198 198
199void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { 199void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
200 is31_led led; 200 is31_led led;
201 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led)); 201 memcpy_P(&led, (&g_is31_leds[index]), sizeof(led));
202 202
@@ -221,19 +221,19 @@ void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bo
221 g_scaling_registers_update_required[led.driver] = true; 221 g_scaling_registers_update_required[led.driver] = true;
222} 222}
223 223
224void IS31FL3741_update_pwm_buffers(uint8_t addr, uint8_t index) { 224void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index) {
225 if (g_pwm_buffer_update_required[index]) { 225 if (g_pwm_buffer_update_required[index]) {
226 // unlock the command register and select PG2 226 // unlock the command register and select PG2
227 IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 227 is31fl3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
228 IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM0); 228 is31fl3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM0);
229 229
230 IS31FL3741_write_pwm_buffer(addr, g_pwm_buffer[index]); 230 is31fl3741_write_pwm_buffer(addr, g_pwm_buffer[index]);
231 } 231 }
232 232
233 g_pwm_buffer_update_required[index] = false; 233 g_pwm_buffer_update_required[index] = false;
234} 234}
235 235
236void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) { 236void is31fl3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) {
237 g_pwm_buffer[pled->driver][pled->r] = red; 237 g_pwm_buffer[pled->driver][pled->r] = red;
238 g_pwm_buffer[pled->driver][pled->g] = green; 238 g_pwm_buffer[pled->driver][pled->g] = green;
239 g_pwm_buffer[pled->driver][pled->b] = blue; 239 g_pwm_buffer[pled->driver][pled->b] = blue;
@@ -241,31 +241,31 @@ void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green,
241 g_pwm_buffer_update_required[pled->driver] = true; 241 g_pwm_buffer_update_required[pled->driver] = true;
242} 242}
243 243
244void IS31FL3741_update_led_control_registers(uint8_t addr, uint8_t index) { 244void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index) {
245 if (g_scaling_registers_update_required[index]) { 245 if (g_scaling_registers_update_required[index]) {
246 // unlock the command register and select PG2 246 // unlock the command register and select PG2
247 IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 247 is31fl3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
248 IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_0); 248 is31fl3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_0);
249 249
250 // CS1_SW1 to CS30_SW6 are on PG2 250 // CS1_SW1 to CS30_SW6 are on PG2
251 for (int i = CS1_SW1; i <= CS30_SW6; ++i) { 251 for (int i = CS1_SW1; i <= CS30_SW6; ++i) {
252 IS31FL3741_write_register(addr, i, g_scaling_registers[index][i]); 252 is31fl3741_write_register(addr, i, g_scaling_registers[index][i]);
253 } 253 }
254 254
255 // unlock the command register and select PG3 255 // unlock the command register and select PG3
256 IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 256 is31fl3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
257 IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_1); 257 is31fl3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_1);
258 258
259 // CS1_SW7 to CS39_SW9 are on PG3 259 // CS1_SW7 to CS39_SW9 are on PG3
260 for (int i = CS1_SW7; i <= CS39_SW9; ++i) { 260 for (int i = CS1_SW7; i <= CS39_SW9; ++i) {
261 IS31FL3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]); 261 is31fl3741_write_register(addr, i - CS1_SW7, g_scaling_registers[index][i]);
262 } 262 }
263 263
264 g_scaling_registers_update_required[index] = false; 264 g_scaling_registers_update_required[index] = false;
265 } 265 }
266} 266}
267 267
268void IS31FL3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) { 268void is31fl3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) {
269 g_scaling_registers[pled->driver][pled->r] = red; 269 g_scaling_registers[pled->driver][pled->r] = red;
270 g_scaling_registers[pled->driver][pled->g] = green; 270 g_scaling_registers[pled->driver][pled->g] = green;
271 g_scaling_registers[pled->driver][pled->b] = blue; 271 g_scaling_registers[pled->driver][pled->b] = blue;
diff --git a/drivers/led/issi/is31fl3741.h b/drivers/led/issi/is31fl3741.h
index b0089ea5ba..4ae84dc3c6 100644
--- a/drivers/led/issi/is31fl3741.h
+++ b/drivers/led/issi/is31fl3741.h
@@ -32,24 +32,24 @@ typedef struct is31_led {
32 32
33extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; 33extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
34 34
35void IS31FL3741_init(uint8_t addr); 35void is31fl3741_init(uint8_t addr);
36void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data); 36void is31fl3741_write_register(uint8_t addr, uint8_t reg, uint8_t data);
37bool IS31FL3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer); 37bool is31fl3741_write_pwm_buffer(uint8_t addr, uint8_t *pwm_buffer);
38 38
39void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); 39void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
40void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue); 40void is31fl3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
41 41
42void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue); 42void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue);
43 43
44// This should not be called from an interrupt 44// This should not be called from an interrupt
45// (eg. from a timer interrupt). 45// (eg. from a timer interrupt).
46// Call this while idle (in between matrix scans). 46// Call this while idle (in between matrix scans).
47// If the buffer is dirty, it will update the driver with the buffer. 47// If the buffer is dirty, it will update the driver with the buffer.
48void IS31FL3741_update_pwm_buffers(uint8_t addr, uint8_t index); 48void is31fl3741_update_pwm_buffers(uint8_t addr, uint8_t index);
49void IS31FL3741_update_led_control_registers(uint8_t addr, uint8_t index); 49void is31fl3741_update_led_control_registers(uint8_t addr, uint8_t index);
50void IS31FL3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue); 50void is31fl3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue);
51 51
52void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue); 52void is31fl3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue);
53 53
54#define PUR_0R 0x00 // No PUR resistor 54#define PUR_0R 0x00 // No PUR resistor
55#define PUR_05KR 0x01 // 0.5k Ohm resistor 55#define PUR_05KR 0x01 // 0.5k Ohm resistor
diff --git a/keyboards/0xcb/splaytoraid/info.json b/keyboards/0xcb/splaytoraid/info.json
index 5b7334ff9d..c218d1ff78 100644
--- a/keyboards/0xcb/splaytoraid/info.json
+++ b/keyboards/0xcb/splaytoraid/info.json
@@ -36,7 +36,7 @@
36 ] 36 ]
37 }, 37 },
38 "rgb_matrix": { 38 "rgb_matrix": {
39 "driver": "WS2812", 39 "driver": "ws2812",
40 "layout": [ 40 "layout": [
41 {"flags": 4, "matrix": [0, 2], "x": 0, "y": 0}, 41 {"flags": 4, "matrix": [0, 2], "x": 0, "y": 0},
42 {"flags": 4, "matrix": [1, 0], "x": 20, "y": 0}, 42 {"flags": 4, "matrix": [1, 0], "x": 20, "y": 0},
diff --git a/keyboards/1upkeyboards/1upocarina/info.json b/keyboards/1upkeyboards/1upocarina/info.json
index 6b37eef2b5..fccf9d8899 100644
--- a/keyboards/1upkeyboards/1upocarina/info.json
+++ b/keyboards/1upkeyboards/1upocarina/info.json
@@ -40,7 +40,7 @@
40 "pin": "GP24" 40 "pin": "GP24"
41 }, 41 },
42 "rgb_matrix": { 42 "rgb_matrix": {
43 "driver": "WS2812", 43 "driver": "ws2812",
44 "layout": [ 44 "layout": [
45 { "flags": 4, "matrix": [0, 0], "x": 23, "y": 26 }, 45 { "flags": 4, "matrix": [0, 0], "x": 23, "y": 26 },
46 { "flags": 4, "matrix": [0, 1], "x": 62, "y": 26 }, 46 { "flags": 4, "matrix": [0, 1], "x": 62, "y": 26 },
diff --git a/keyboards/1upkeyboards/pi40/grid_v1_1/info.json b/keyboards/1upkeyboards/pi40/grid_v1_1/info.json
index 695d5cb9b7..c7028f4a4e 100644
--- a/keyboards/1upkeyboards/pi40/grid_v1_1/info.json
+++ b/keyboards/1upkeyboards/pi40/grid_v1_1/info.json
@@ -40,7 +40,7 @@
40 ] 40 ]
41 }, 41 },
42 "rgb_matrix": { 42 "rgb_matrix": {
43 "driver": "WS2812", 43 "driver": "ws2812",
44 "layout": [ 44 "layout": [
45 {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8}, 45 {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8},
46 {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8}, 46 {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8},
diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/info.json b/keyboards/1upkeyboards/pi40/mit_v1_0/info.json
index ebd5d64931..6b89f2c2ab 100644
--- a/keyboards/1upkeyboards/pi40/mit_v1_0/info.json
+++ b/keyboards/1upkeyboards/pi40/mit_v1_0/info.json
@@ -40,7 +40,7 @@
40 ] 40 ]
41 }, 41 },
42 "rgb_matrix": { 42 "rgb_matrix": {
43 "driver": "WS2812", 43 "driver": "ws2812",
44 "layout": [ 44 "layout": [
45 {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8}, 45 {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8},
46 {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8}, 46 {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8},
diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk
index e3e55077cb..b446776377 100644
--- a/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk
+++ b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk
@@ -17,8 +17,6 @@ MOUSEKEY_ENABLE = no # Mouse keys
17 17
18LEADER_ENABLE = yes 18LEADER_ENABLE = yes
19RGB_MATRIX_ENABLE = yes 19RGB_MATRIX_ENABLE = yes
20RGB_MATRIX_DRIVER = WS2812
21WS2812_DRIVER = vendor
22ENCODER_ENABLE = yes 20ENCODER_ENABLE = yes
23ENCODER_MAP_ENABLE = yes 21ENCODER_MAP_ENABLE = yes
24OLED_ENABLE = yes 22OLED_ENABLE = yes
diff --git a/keyboards/1upkeyboards/pi40/mit_v1_1/info.json b/keyboards/1upkeyboards/pi40/mit_v1_1/info.json
index 3ee2e738f1..f19ef235d5 100644
--- a/keyboards/1upkeyboards/pi40/mit_v1_1/info.json
+++ b/keyboards/1upkeyboards/pi40/mit_v1_1/info.json
@@ -40,7 +40,7 @@
40 ] 40 ]
41 }, 41 },
42 "rgb_matrix": { 42 "rgb_matrix": {
43 "driver": "WS2812", 43 "driver": "ws2812",
44 "layout": [ 44 "layout": [
45 {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8}, 45 {"flags": 1, "matrix": [0, 0], "x": 9, "y": 8},
46 {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8}, 46 {"flags": 4, "matrix": [0, 1], "x": 28, "y": 8},
diff --git a/keyboards/1upkeyboards/pi50/info.json b/keyboards/1upkeyboards/pi50/info.json
index 1880c78d44..17345284ca 100644
--- a/keyboards/1upkeyboards/pi50/info.json
+++ b/keyboards/1upkeyboards/pi50/info.json
@@ -38,7 +38,7 @@
38 ] 38 ]
39 }, 39 },
40 "rgb_matrix": { 40 "rgb_matrix": {
41 "driver": "WS2812", 41 "driver": "ws2812",
42 "max_brightness": 150, 42 "max_brightness": 150,
43 "animations": { 43 "animations": {
44 "solid_color": true, 44 "solid_color": true,
diff --git a/keyboards/1upkeyboards/pi60/info.json b/keyboards/1upkeyboards/pi60/info.json
index f599446e20..1f8bdb4592 100644
--- a/keyboards/1upkeyboards/pi60/info.json
+++ b/keyboards/1upkeyboards/pi60/info.json
@@ -41,7 +41,7 @@
41 ] 41 ]
42 }, 42 },
43 "rgb_matrix": { 43 "rgb_matrix": {
44 "driver": "WS2812", 44 "driver": "ws2812",
45 "layout": [ 45 "layout": [
46 {"flags": 2, "x": 17, "y": 50}, 46 {"flags": 2, "x": 17, "y": 50},
47 {"flags": 2, "x": 37, "y": 50}, 47 {"flags": 2, "x": 37, "y": 50},
diff --git a/keyboards/1upkeyboards/pi60_hse/info.json b/keyboards/1upkeyboards/pi60_hse/info.json
index 01b0236975..310ad3d94b 100644
--- a/keyboards/1upkeyboards/pi60_hse/info.json
+++ b/keyboards/1upkeyboards/pi60_hse/info.json
@@ -32,7 +32,7 @@
32 "rows": ["GP4", "GP3", "GP2", "GP1", "GP0", "GP21"] 32 "rows": ["GP4", "GP3", "GP2", "GP1", "GP0", "GP21"]
33 }, 33 },
34 "rgb_matrix": { 34 "rgb_matrix": {
35 "driver": "WS2812", 35 "driver": "ws2812",
36 "layout": [ 36 "layout": [
37 {"flags": 2, "x": 98, "y": 51}, 37 {"flags": 2, "x": 98, "y": 51},
38 {"flags": 2, "x": 68, "y": 51}, 38 {"flags": 2, "x": 68, "y": 51},
diff --git a/keyboards/1upkeyboards/pi60_rgb/info.json b/keyboards/1upkeyboards/pi60_rgb/info.json
index d78705352a..68634f4da1 100644
--- a/keyboards/1upkeyboards/pi60_rgb/info.json
+++ b/keyboards/1upkeyboards/pi60_rgb/info.json
@@ -38,7 +38,7 @@
38 "enabled": true 38 "enabled": true
39 }, 39 },
40 "rgb_matrix": { 40 "rgb_matrix": {
41 "driver": "WS2812", 41 "driver": "ws2812",
42 "layout": [ 42 "layout": [
43 {"flags": 1, "matrix": [5, 5], "x": 103, "y": 58}, 43 {"flags": 1, "matrix": [5, 5], "x": 103, "y": 58},
44 {"flags": 1, "matrix": [5, 10], "x": 159, "y": 58}, 44 {"flags": 1, "matrix": [5, 10], "x": 159, "y": 58},
diff --git a/keyboards/1upkeyboards/super16/info.json b/keyboards/1upkeyboards/super16/info.json
index 7937eff8da..3fd1e80a44 100644
--- a/keyboards/1upkeyboards/super16/info.json
+++ b/keyboards/1upkeyboards/super16/info.json
@@ -18,7 +18,7 @@
18 "sleep": true 18 "sleep": true
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "WS2812" 21 "driver": "ws2812"
22 }, 22 },
23 "matrix_pins": { 23 "matrix_pins": {
24 "cols": ["D4", "C6", "F6", "F7"], 24 "cols": ["D4", "C6", "F6", "F7"],
diff --git a/keyboards/1upkeyboards/super16v2/info.json b/keyboards/1upkeyboards/super16v2/info.json
index 39a8eefcc4..c4bdc441ee 100644
--- a/keyboards/1upkeyboards/super16v2/info.json
+++ b/keyboards/1upkeyboards/super16v2/info.json
@@ -12,7 +12,7 @@
12 "pin": "B5" 12 "pin": "B5"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["D5", "D6", "C2", "D0"], 18 "cols": ["D5", "D6", "C2", "D0"],
diff --git a/keyboards/1upkeyboards/sweet16v2/kb2040/info.json b/keyboards/1upkeyboards/sweet16v2/kb2040/info.json
index b8705866c8..f1ac861c8c 100644
--- a/keyboards/1upkeyboards/sweet16v2/kb2040/info.json
+++ b/keyboards/1upkeyboards/sweet16v2/kb2040/info.json
@@ -41,7 +41,7 @@
41 ] 41 ]
42 }, 42 },
43 "rgb_matrix": { 43 "rgb_matrix": {
44 "driver": "WS2812", 44 "driver": "ws2812",
45 "layout": [ 45 "layout": [
46 {"flags": 4, "matrix": [0, 0], "x": 28, "y": 12}, 46 {"flags": 4, "matrix": [0, 0], "x": 28, "y": 12},
47 {"flags": 4, "matrix": [0, 1], "x": 84, "y": 12}, 47 {"flags": 4, "matrix": [0, 1], "x": 84, "y": 12},
diff --git a/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json b/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json
index fa98b70fbc..a8696ab64c 100644
--- a/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json
+++ b/keyboards/1upkeyboards/sweet16v2/pro_micro/info.json
@@ -39,7 +39,7 @@
39 ] 39 ]
40 }, 40 },
41 "rgb_matrix": { 41 "rgb_matrix": {
42 "driver": "WS2812", 42 "driver": "ws2812",
43 "layout": [ 43 "layout": [
44 {"flags": 4, "matrix": [0, 0], "x": 28, "y": 12}, 44 {"flags": 4, "matrix": [0, 0], "x": 28, "y": 12},
45 {"flags": 4, "matrix": [0, 1], "x": 84, "y": 12}, 45 {"flags": 4, "matrix": [0, 1], "x": 84, "y": 12},
diff --git a/keyboards/25keys/zinc/info.json b/keyboards/25keys/zinc/info.json
index 1efe467be9..2350242316 100644
--- a/keyboards/25keys/zinc/info.json
+++ b/keyboards/25keys/zinc/info.json
@@ -8,7 +8,7 @@
8 "device_version": "0.0.1" 8 "device_version": "0.0.1"
9 }, 9 },
10 "rgb_matrix": { 10 "rgb_matrix": {
11 "driver": "WS2812" 11 "driver": "ws2812"
12 }, 12 },
13 "processor": "atmega32u4", 13 "processor": "atmega32u4",
14 "bootloader": "caterina" 14 "bootloader": "caterina"
diff --git a/keyboards/3keyecosystem/2key2/info.json b/keyboards/3keyecosystem/2key2/info.json
index f2d712072e..35cc3ee3c4 100644
--- a/keyboards/3keyecosystem/2key2/info.json
+++ b/keyboards/3keyecosystem/2key2/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F4", "D7"], 15 "cols": ["F4", "D7"],
diff --git a/keyboards/4pplet/perk60_iso/rev_a/info.json b/keyboards/4pplet/perk60_iso/rev_a/info.json
index e961253a23..527f3d5772 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/info.json
+++ b/keyboards/4pplet/perk60_iso/rev_a/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A1", "B12", "B14", "A2", "A0", "A3", "A4"], 15 "cols": ["A1", "B12", "B14", "A2", "A0", "A3", "A4"],
diff --git a/keyboards/abatskeyboardclub/nayeon/info.json b/keyboards/abatskeyboardclub/nayeon/info.json
index d7e3718c0b..7a3b650ff1 100644
--- a/keyboards/abatskeyboardclub/nayeon/info.json
+++ b/keyboards/abatskeyboardclub/nayeon/info.json
@@ -25,7 +25,7 @@
25 "driver": "vendor" 25 "driver": "vendor"
26 }, 26 },
27 "rgb_matrix": { 27 "rgb_matrix": {
28 "driver": "WS2812" 28 "driver": "ws2812"
29 }, 29 },
30 "processor": "RP2040", 30 "processor": "RP2040",
31 "bootloader": "rp2040", 31 "bootloader": "rp2040",
diff --git a/keyboards/abko/ak84bt/info.json b/keyboards/abko/ak84bt/info.json
index 30dd823575..657e17a90c 100644
--- a/keyboards/abko/ak84bt/info.json
+++ b/keyboards/abko/ak84bt/info.json
@@ -27,7 +27,7 @@
27 }, 27 },
28 "processor": "STM32F103", 28 "processor": "STM32F103",
29 "rgb_matrix": { 29 "rgb_matrix": {
30 "driver": "IS31FL3733", 30 "driver": "is31fl3733",
31 "layout": [ 31 "layout": [
32 {"matrix": [0, 0], "x": 7, "y": 2, "flags": 4}, 32 {"matrix": [0, 0], "x": 7, "y": 2, "flags": 4},
33 {"matrix": [0, 2], "x": 34, "y": 2, "flags": 4}, 33 {"matrix": [0, 2], "x": 34, "y": 2, "flags": 4},
diff --git a/keyboards/acheron/apollo/87h/delta/info.json b/keyboards/acheron/apollo/87h/delta/info.json
index c2a702781b..b5b935ab58 100644
--- a/keyboards/acheron/apollo/87h/delta/info.json
+++ b/keyboards/acheron/apollo/87h/delta/info.json
@@ -8,7 +8,7 @@
8 "pin": "B15" 8 "pin": "B15"
9 }, 9 },
10 "rgb_matrix": { 10 "rgb_matrix": {
11 "driver": "WS2812" 11 "driver": "ws2812"
12 }, 12 },
13 "matrix_pins": { 13 "matrix_pins": {
14 "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"], 14 "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"],
diff --git a/keyboards/acheron/apollo/87h/gamma/info.json b/keyboards/acheron/apollo/87h/gamma/info.json
index f10a6adb67..0a3b28e31f 100644
--- a/keyboards/acheron/apollo/87h/gamma/info.json
+++ b/keyboards/acheron/apollo/87h/gamma/info.json
@@ -5,7 +5,7 @@
5 "device_version": "0.0.3" 5 "device_version": "0.0.3"
6 }, 6 },
7 "rgb_matrix": { 7 "rgb_matrix": {
8 "driver": "IS31FL3741" 8 "driver": "is31fl3741"
9 }, 9 },
10 "matrix_pins": { 10 "matrix_pins": {
11 "cols": ["B3", "A15", "A10", "A8", "B14", "B12", "B10", "B1", "B0", "A7", "A4", "A5", "A6", "C15", "A0", "A1"], 11 "cols": ["B3", "A15", "A10", "A8", "B14", "B12", "B10", "B1", "B0", "A7", "A4", "A5", "A6", "C15", "A0", "A1"],
diff --git a/keyboards/acheron/apollo/87htsc/info.json b/keyboards/acheron/apollo/87htsc/info.json
index 5a140a7bdc..de0388176e 100644
--- a/keyboards/acheron/apollo/87htsc/info.json
+++ b/keyboards/acheron/apollo/87htsc/info.json
@@ -12,7 +12,7 @@
12 "pin": "B15" 12 "pin": "B15"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"], 18 "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"],
diff --git a/keyboards/acheron/apollo/88htsc/info.json b/keyboards/acheron/apollo/88htsc/info.json
index 9fc9210c80..adb2372e60 100644
--- a/keyboards/acheron/apollo/88htsc/info.json
+++ b/keyboards/acheron/apollo/88htsc/info.json
@@ -12,7 +12,7 @@
12 "pin": "B15" 12 "pin": "B15"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"], 18 "cols": ["C8", "C9", "A8", "A10", "C7", "C6", "B14", "B12", "B10", "B1", "C5", "C4", "A7", "B0", "C11", "A3", "B4"],
diff --git a/keyboards/adafruit/macropad/info.json b/keyboards/adafruit/macropad/info.json
index febf1e61f6..bac0061f3e 100644
--- a/keyboards/adafruit/macropad/info.json
+++ b/keyboards/adafruit/macropad/info.json
@@ -14,7 +14,7 @@
14 ] 14 ]
15 }, 15 },
16 "rgb_matrix": { 16 "rgb_matrix": {
17 "driver": "WS2812" 17 "driver": "ws2812"
18 }, 18 },
19 "bootmagic": { 19 "bootmagic": {
20 "matrix": [1, 2] 20 "matrix": [1, 2]
diff --git a/keyboards/adm42/info.json b/keyboards/adm42/info.json
index b305eb2067..b2bdbc4dad 100644
--- a/keyboards/adm42/info.json
+++ b/keyboards/adm42/info.json
@@ -13,7 +13,7 @@
13 "pin": "B7" 13 "pin": "B7"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812", 16 "driver": "ws2812",
17 "sat_steps": 24 17 "sat_steps": 24
18 }, 18 },
19 "qmk": { 19 "qmk": {
diff --git a/keyboards/adpenrose/akemipad/info.json b/keyboards/adpenrose/akemipad/info.json
index c1b6377e60..0484578571 100644
--- a/keyboards/adpenrose/akemipad/info.json
+++ b/keyboards/adpenrose/akemipad/info.json
@@ -11,7 +11,7 @@
11 "pin": "F4" 11 "pin": "F4"
12 }, 12 },
13 "rgb_matrix": { 13 "rgb_matrix": {
14 "driver": "WS2812" 14 "driver": "ws2812"
15 }, 15 },
16 "matrix_pins": { 16 "matrix_pins": {
17 "cols": ["D3", "D2", "F5", "F6", "B2"], 17 "cols": ["D3", "D2", "F5", "F6", "B2"],
diff --git a/keyboards/aeboards/satellite/rev1/rev1.c b/keyboards/aeboards/satellite/rev1/rev1.c
index aafd0e0848..785fa8af9f 100644
--- a/keyboards/aeboards/satellite/rev1/rev1.c
+++ b/keyboards/aeboards/satellite/rev1/rev1.c
@@ -145,30 +145,30 @@ led_config_t g_led_config = { {
145// Custom Driver 145// Custom Driver
146static void init(void) { 146static void init(void) {
147 i2c_init(); 147 i2c_init();
148 IS31FL3731_init(DRIVER_ADDR_1); 148 is31fl3731_init(DRIVER_ADDR_1);
149 IS31FL3731_init(DRIVER_ADDR_2); 149 is31fl3731_init(DRIVER_ADDR_2);
150 for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) { 150 for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) {
151 bool enabled = !( ( index == 18+5) || //B5 151 bool enabled = !( ( index == 18+5) || //B5
152 ( index == 36+17) || //C17 152 ( index == 36+17) || //C17
153 ( index == 54+13) //D13 153 ( index == 54+13) //D13
154 ); 154 );
155 IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); 155 is31fl3731_set_led_control_register(index, enabled, enabled, enabled);
156 } 156 }
157 IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); 157 is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0);
158 IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); 158 is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1);
159} 159}
160 160
161static void flush(void) { 161static void flush(void) {
162 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); 162 is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0);
163 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); 163 is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1);
164} 164}
165 165
166static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 166static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
167 IS31FL3731_set_color(index, red, green, blue); 167 is31fl3731_set_color(index, red, green, blue);
168} 168}
169 169
170static void set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 170static void set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
171 IS31FL3731_set_color_all( red, green, blue ); 171 is31fl3731_set_color_all( red, green, blue );
172} 172}
173 173
174 174
diff --git a/keyboards/akko/5108/info.json b/keyboards/akko/5108/info.json
index e9e99be69e..7049b20a64 100644
--- a/keyboards/akko/5108/info.json
+++ b/keyboards/akko/5108/info.json
@@ -31,7 +31,7 @@
31 "caps_lock": "C10" 31 "caps_lock": "C10"
32 }, 32 },
33 "rgb_matrix": { 33 "rgb_matrix": {
34 "driver": "IS31FL3733", 34 "driver": "is31fl3733",
35 "max_brightness": 180, 35 "max_brightness": 180,
36 "animations": { 36 "animations": {
37 "breathing": true, 37 "breathing": true,
diff --git a/keyboards/akko/acr87/info.json b/keyboards/akko/acr87/info.json
index bcc6b23cb0..5ff1926d0c 100644
--- a/keyboards/akko/acr87/info.json
+++ b/keyboards/akko/acr87/info.json
@@ -27,7 +27,7 @@
27 }, 27 },
28 "diode_direction": "ROW2COL", 28 "diode_direction": "ROW2COL",
29 "rgb_matrix": { 29 "rgb_matrix": {
30 "driver": "IS31FL3733", 30 "driver": "is31fl3733",
31 "max_brightness": 180, 31 "max_brightness": 180,
32 "animations": { 32 "animations": {
33 "breathing": true, 33 "breathing": true,
diff --git a/keyboards/akko/top40/info.json b/keyboards/akko/top40/info.json
index 8649ecb375..48252e6c77 100644
--- a/keyboards/akko/top40/info.json
+++ b/keyboards/akko/top40/info.json
@@ -27,7 +27,7 @@
27 }, 27 },
28 "diode_direction": "ROW2COL", 28 "diode_direction": "ROW2COL",
29 "rgb_matrix": { 29 "rgb_matrix": {
30 "driver": "IS31FL3733", 30 "driver": "is31fl3733",
31 "max_brightness": 180, 31 "max_brightness": 180,
32 "animations": { 32 "animations": {
33 "breathing": true, 33 "breathing": true,
diff --git a/keyboards/aleblazer/zodiark/info.json b/keyboards/aleblazer/zodiark/info.json
index 79f71d6ae8..7ad76758ff 100644
--- a/keyboards/aleblazer/zodiark/info.json
+++ b/keyboards/aleblazer/zodiark/info.json
@@ -19,7 +19,7 @@
19 "split_count": [34, 34] 19 "split_count": [34, 34]
20 }, 20 },
21 "rgb_matrix": { 21 "rgb_matrix": {
22 "driver": "WS2812", 22 "driver": "ws2812",
23 "sat_steps": 8, 23 "sat_steps": 8,
24 "val_steps": 8, 24 "val_steps": 8,
25 "speed_steps": 10 25 "speed_steps": 10
diff --git a/keyboards/an_achronism/tetromino/info.json b/keyboards/an_achronism/tetromino/info.json
index 6ff31fe1f4..8087c6489c 100644
--- a/keyboards/an_achronism/tetromino/info.json
+++ b/keyboards/an_achronism/tetromino/info.json
@@ -110,7 +110,7 @@
110 "led_count": 70 110 "led_count": 70
111 }, 111 },
112 "rgb_matrix": { 112 "rgb_matrix": {
113 "driver": "WS2812", 113 "driver": "ws2812",
114 "layout": [ 114 "layout": [
115 {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, 115 {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
116 {"flags": 4, "matrix": [0, 1], "x": 17, "y": 0}, 116 {"flags": 4, "matrix": [0, 1], "x": 17, "y": 0},
diff --git a/keyboards/atlantis/ak81_ve/info.json b/keyboards/atlantis/ak81_ve/info.json
index 434e10c81f..1a2d1eebe1 100644
--- a/keyboards/atlantis/ak81_ve/info.json
+++ b/keyboards/atlantis/ak81_ve/info.json
@@ -9,7 +9,7 @@
9 "force_nkro": true 9 "force_nkro": true
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "B2", "B7", "D3", "D2", "D1", "D0", "B3"], 15 "cols": ["F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "B2", "B7", "D3", "D2", "D1", "D0", "B3"],
diff --git a/keyboards/atlantis/ps17/info.json b/keyboards/atlantis/ps17/info.json
index 1b7ffa7785..5a85dec5b4 100644
--- a/keyboards/atlantis/ps17/info.json
+++ b/keyboards/atlantis/ps17/info.json
@@ -64,7 +64,7 @@
64 } 64 }
65 }, 65 },
66 "rgb_matrix": { 66 "rgb_matrix": {
67 "driver": "WS2812", 67 "driver": "ws2812",
68 "center_point": [126, 126], 68 "center_point": [126, 126],
69 "layout": [ 69 "layout": [
70 {"flags": 4, "matrix": [1, 0], "x": 74, "y": 165}, 70 {"flags": 4, "matrix": [1, 0], "x": 74, "y": 165},
diff --git a/keyboards/axolstudio/yeti/hotswap/info.json b/keyboards/axolstudio/yeti/hotswap/info.json
index 732e9075cd..9b782c88c9 100644
--- a/keyboards/axolstudio/yeti/hotswap/info.json
+++ b/keyboards/axolstudio/yeti/hotswap/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C7", "F7", "F6", "F5", "F4", "F1", "F0", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"], 15 "cols": ["C7", "F7", "F6", "F5", "F4", "F1", "F0", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"],
diff --git a/keyboards/bandominedoni/info.json b/keyboards/bandominedoni/info.json
index 9f069f771c..aa5b2f9a2f 100644
--- a/keyboards/bandominedoni/info.json
+++ b/keyboards/bandominedoni/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["D1", "E6", "F7", "B1", "B3", "B2", "D0"], 15 "cols": ["D1", "E6", "F7", "B1", "B3", "B2", "D0"],
diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/info.json b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json
index e5f0c233ba..89e181b8f9 100644
--- a/keyboards/bastardkb/charybdis/3x5/blackpill/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/blackpill/info.json
@@ -4,7 +4,7 @@
4 "device_version": "1.0.0" 4 "device_version": "1.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "A1", 10 "pin": "A1",
diff --git a/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json
index 80a68aea5d..bbb0fd66ba 100644
--- a/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/v1/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D3" 7 "pin": "D3"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["C7", "F0", "D7", "E6", "B4"], 13 "cols": ["C7", "F0", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json b/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json
index ee2692fa06..4b69b244fb 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D3" 7 "pin": "D3"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["F5", "B6", "D7", "E6", "B4"], 13 "cols": ["F5", "B6", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json
index 3feffac0ab..2c0faa9567 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_2/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"], 10 "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json
index c80cd648c3..0a88daf352 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/splinky_3/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"], 10 "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json
index d1d2d8a463..c119df524c 100644
--- a/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/v2/stemcell/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "D3", 10 "pin": "D3",
diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/info.json b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json
index 8ad00c2e52..5ac7a1cdca 100644
--- a/keyboards/bastardkb/charybdis/3x6/blackpill/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/blackpill/info.json
@@ -4,7 +4,7 @@
4 "device_version": "1.0.0" 4 "device_version": "1.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "A1", 10 "pin": "A1",
diff --git a/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json
index 8fba6b33cd..69c8bd6fb4 100644
--- a/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/v1/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D3" 7 "pin": "D3"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["D5", "C7", "F0", "D7", "E6", "B4"], 13 "cols": ["D5", "C7", "F0", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json b/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json
index 7822fbc36d..67ada55640 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D3" 7 "pin": "D3"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], 13 "cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json
index f4b25121ef..9b44b3f336 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_2/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], 10 "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json
index 8e9b413329..d1ac62e1ab 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/splinky_3/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], 10 "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json
index 42eb9e895f..85b66277cf 100644
--- a/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json
+++ b/keyboards/bastardkb/charybdis/3x6/v2/stemcell/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "D3", 10 "pin": "D3",
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/info.json b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json
index 41844167d4..b9fb103496 100644
--- a/keyboards/bastardkb/charybdis/4x6/blackpill/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/info.json
@@ -4,7 +4,7 @@
4 "device_version": "1.0.0" 4 "device_version": "1.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "A1", 10 "pin": "A1",
diff --git a/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json
index 36f341e0e7..161d36f45d 100644
--- a/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/v1/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D3" 7 "pin": "D3"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["D5", "C7", "F0", "D7", "E6", "B4"], 13 "cols": ["D5", "C7", "F0", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json b/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json
index 3043400b7b..2ee88c4f9e 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D3" 7 "pin": "D3"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], 13 "cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json
index e6b47c984e..961a0b1420 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_2/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], 10 "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json
index 7814c41976..28a1dee31f 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/splinky_3/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], 10 "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json
index cdf13d9fd2..cfae56715f 100644
--- a/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/v2/stemcell/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "D3", 10 "pin": "D3",
diff --git a/keyboards/bastardkb/dilemma/3x5_3/info.json b/keyboards/bastardkb/dilemma/3x5_3/info.json
index 2ee5d5ea4a..4ab43d6a8e 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/info.json
+++ b/keyboards/bastardkb/dilemma/3x5_3/info.json
@@ -5,7 +5,7 @@
5 "pid": "0x1835" 5 "pid": "0x1835"
6 }, 6 },
7 "rgb_matrix": { 7 "rgb_matrix": {
8 "driver": "WS2812" 8 "driver": "ws2812"
9 }, 9 },
10 "matrix_pins": { 10 "matrix_pins": {
11 "cols": ["GP8", "GP9", "GP7", "GP6", "GP28"], 11 "cols": ["GP8", "GP9", "GP7", "GP6", "GP28"],
diff --git a/keyboards/bastardkb/scylla/blackpill/info.json b/keyboards/bastardkb/scylla/blackpill/info.json
index e9b8601495..24fb8bc701 100644
--- a/keyboards/bastardkb/scylla/blackpill/info.json
+++ b/keyboards/bastardkb/scylla/blackpill/info.json
@@ -4,7 +4,7 @@
4 "device_version": "1.0.0" 4 "device_version": "1.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "A1", 10 "pin": "A1",
diff --git a/keyboards/bastardkb/scylla/v1/elitec/info.json b/keyboards/bastardkb/scylla/v1/elitec/info.json
index ffac558bbc..3984c69f2f 100644
--- a/keyboards/bastardkb/scylla/v1/elitec/info.json
+++ b/keyboards/bastardkb/scylla/v1/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D2" 7 "pin": "D2"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["B4", "E6", "C6", "B1", "B3", "B2"], 13 "cols": ["B4", "E6", "C6", "B1", "B3", "B2"],
diff --git a/keyboards/bastardkb/scylla/v2/elitec/info.json b/keyboards/bastardkb/scylla/v2/elitec/info.json
index 1a8643b27d..f9069afd91 100644
--- a/keyboards/bastardkb/scylla/v2/elitec/info.json
+++ b/keyboards/bastardkb/scylla/v2/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D3" 7 "pin": "D3"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], 13 "cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/scylla/v2/splinky_2/info.json b/keyboards/bastardkb/scylla/v2/splinky_2/info.json
index 8ba2d4d19a..0c7dc406b0 100644
--- a/keyboards/bastardkb/scylla/v2/splinky_2/info.json
+++ b/keyboards/bastardkb/scylla/v2/splinky_2/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], 10 "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/scylla/v2/splinky_3/info.json b/keyboards/bastardkb/scylla/v2/splinky_3/info.json
index c0cd88672b..377fd4424a 100644
--- a/keyboards/bastardkb/scylla/v2/splinky_3/info.json
+++ b/keyboards/bastardkb/scylla/v2/splinky_3/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], 10 "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/scylla/v2/stemcell/info.json b/keyboards/bastardkb/scylla/v2/stemcell/info.json
index 80a8b6d1dc..d463418cf1 100644
--- a/keyboards/bastardkb/scylla/v2/stemcell/info.json
+++ b/keyboards/bastardkb/scylla/v2/stemcell/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "D3", 10 "pin": "D3",
diff --git a/keyboards/bastardkb/skeletyl/blackpill/info.json b/keyboards/bastardkb/skeletyl/blackpill/info.json
index 8e735d7bf9..1d25639281 100644
--- a/keyboards/bastardkb/skeletyl/blackpill/info.json
+++ b/keyboards/bastardkb/skeletyl/blackpill/info.json
@@ -4,7 +4,7 @@
4 "device_version": "1.0.0" 4 "device_version": "1.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "A1", 10 "pin": "A1",
diff --git a/keyboards/bastardkb/skeletyl/v1/elitec/info.json b/keyboards/bastardkb/skeletyl/v1/elitec/info.json
index f81bca976e..f3eb68587d 100644
--- a/keyboards/bastardkb/skeletyl/v1/elitec/info.json
+++ b/keyboards/bastardkb/skeletyl/v1/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D2" 7 "pin": "D2"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["E6", "C6", "B1", "B3", "B2"], 13 "cols": ["E6", "C6", "B1", "B3", "B2"],
diff --git a/keyboards/bastardkb/skeletyl/v2/elitec/info.json b/keyboards/bastardkb/skeletyl/v2/elitec/info.json
index 2c43204ace..5e5ccd2545 100644
--- a/keyboards/bastardkb/skeletyl/v2/elitec/info.json
+++ b/keyboards/bastardkb/skeletyl/v2/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D3" 7 "pin": "D3"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["F5", "B6", "D7", "E6", "B4"], 13 "cols": ["F5", "B6", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json b/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json
index 023c4d553e..e9c2b34592 100644
--- a/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json
+++ b/keyboards/bastardkb/skeletyl/v2/splinky_2/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"], 10 "cols": ["GP28", "GP15", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json b/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json
index 56a00a3c3d..a47464720c 100644
--- a/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json
+++ b/keyboards/bastardkb/skeletyl/v2/splinky_3/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"], 10 "cols": ["GP28", "GP21", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/skeletyl/v2/stemcell/info.json b/keyboards/bastardkb/skeletyl/v2/stemcell/info.json
index b81ba9e943..b44d64a47a 100644
--- a/keyboards/bastardkb/skeletyl/v2/stemcell/info.json
+++ b/keyboards/bastardkb/skeletyl/v2/stemcell/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "D3", 10 "pin": "D3",
diff --git a/keyboards/bastardkb/tbkmini/blackpill/info.json b/keyboards/bastardkb/tbkmini/blackpill/info.json
index e96bbeeb77..dcdce8f63b 100644
--- a/keyboards/bastardkb/tbkmini/blackpill/info.json
+++ b/keyboards/bastardkb/tbkmini/blackpill/info.json
@@ -4,7 +4,7 @@
4 "device_version": "1.0.0" 4 "device_version": "1.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "A1", 10 "pin": "A1",
diff --git a/keyboards/bastardkb/tbkmini/v1/elitec/info.json b/keyboards/bastardkb/tbkmini/v1/elitec/info.json
index a5a90811ec..f246ce0e7c 100644
--- a/keyboards/bastardkb/tbkmini/v1/elitec/info.json
+++ b/keyboards/bastardkb/tbkmini/v1/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D2" 7 "pin": "D2"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["B4", "E6", "C6", "B1", "B3", "B2"], 13 "cols": ["B4", "E6", "C6", "B1", "B3", "B2"],
diff --git a/keyboards/bastardkb/tbkmini/v2/elitec/info.json b/keyboards/bastardkb/tbkmini/v2/elitec/info.json
index 28c30f9ab7..07bf99658b 100644
--- a/keyboards/bastardkb/tbkmini/v2/elitec/info.json
+++ b/keyboards/bastardkb/tbkmini/v2/elitec/info.json
@@ -7,7 +7,7 @@
7 "pin": "D3" 7 "pin": "D3"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["F6", "F5", "B6", "D7", "E6", "B4"], 13 "cols": ["F6", "F5", "B6", "D7", "E6", "B4"],
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json b/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json
index 1dc6607f3d..3bcae1df60 100644
--- a/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json
+++ b/keyboards/bastardkb/tbkmini/v2/splinky_2/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"], 10 "cols": ["GP27", "GP28", "GP15", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json b/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json
index 2c96b46c2a..e7f01c359d 100644
--- a/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json
+++ b/keyboards/bastardkb/tbkmini/v2/splinky_3/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"], 10 "cols": ["GP27", "GP28", "GP21", "GP6", "GP7", "GP8"],
diff --git a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json
index 3b5db93b05..a75db584e7 100644
--- a/keyboards/bastardkb/tbkmini/v2/stemcell/info.json
+++ b/keyboards/bastardkb/tbkmini/v2/stemcell/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "ws2812": { 9 "ws2812": {
10 "pin": "D3", 10 "pin": "D3",
diff --git a/keyboards/binepad/bn006/info.json b/keyboards/binepad/bn006/info.json
index 2c2aecbf82..756b82e330 100755
--- a/keyboards/binepad/bn006/info.json
+++ b/keyboards/binepad/bn006/info.json
@@ -28,7 +28,7 @@
28 "pin": "B15" 28 "pin": "B15"
29 }, 29 },
30 "rgb_matrix": { 30 "rgb_matrix": {
31 "driver": "WS2812", 31 "driver": "ws2812",
32 "layout": [ 32 "layout": [
33 {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, 33 {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
34 {"flags": 4, "matrix": [0, 1], "x": 112, "y": 0}, 34 {"flags": 4, "matrix": [0, 1], "x": 112, "y": 0},
diff --git a/keyboards/black_hellebore/info.json b/keyboards/black_hellebore/info.json
index 649bc63f23..bc70e3eb98 100644
--- a/keyboards/black_hellebore/info.json
+++ b/keyboards/black_hellebore/info.json
@@ -29,7 +29,7 @@
29 "vid": "0x3141" 29 "vid": "0x3141"
30 }, 30 },
31 "rgb_matrix": { 31 "rgb_matrix": {
32 "driver": "WS2812", 32 "driver": "ws2812",
33 "layout": [ 33 "layout": [
34 {"flags": 4, "matrix": [0, 0], "x": 7, "y": 5}, 34 {"flags": 4, "matrix": [0, 0], "x": 7, "y": 5},
35 {"flags": 4, "matrix": [0, 1], "x": 22, "y": 5}, 35 {"flags": 4, "matrix": [0, 1], "x": 22, "y": 5},
diff --git a/keyboards/blockboy/ac980mini/info.json b/keyboards/blockboy/ac980mini/info.json
index 1134d36aeb..36d6fe5ba9 100644
--- a/keyboards/blockboy/ac980mini/info.json
+++ b/keyboards/blockboy/ac980mini/info.json
@@ -19,7 +19,7 @@
19 "pin": "B7" 19 "pin": "B7"
20 }, 20 },
21 "rgb_matrix": { 21 "rgb_matrix": {
22 "driver": "WS2812", 22 "driver": "ws2812",
23 "sat_steps": 8, 23 "sat_steps": 8,
24 "val_steps": 8, 24 "val_steps": 8,
25 "speed_steps": 10 25 "speed_steps": 10
diff --git a/keyboards/boardsource/beiwagon/info.json b/keyboards/boardsource/beiwagon/info.json
index 08fcffc024..b02c528867 100644
--- a/keyboards/boardsource/beiwagon/info.json
+++ b/keyboards/boardsource/beiwagon/info.json
@@ -25,7 +25,7 @@
25 "vid": "0x4273" 25 "vid": "0x4273"
26 }, 26 },
27 "rgb_matrix": { 27 "rgb_matrix": {
28 "driver": "WS2812", 28 "driver": "ws2812",
29 "layout": [ 29 "layout": [
30 {"flags": 2, "x": 16, "y": 38}, 30 {"flags": 2, "x": 16, "y": 38},
31 {"flags": 2, "x": 16, "y": 113}, 31 {"flags": 2, "x": 16, "y": 113},
diff --git a/keyboards/boardsource/lulu/info.json b/keyboards/boardsource/lulu/info.json
index 8272c16300..f0eb661d7b 100644
--- a/keyboards/boardsource/lulu/info.json
+++ b/keyboards/boardsource/lulu/info.json
@@ -22,7 +22,7 @@
22 "enabled": true 22 "enabled": true
23 }, 23 },
24 "rgb_matrix": { 24 "rgb_matrix": {
25 "driver": "WS2812", 25 "driver": "ws2812",
26 "split_count": [35, 35], 26 "split_count": [35, 35],
27 "max_brightness": 150, 27 "max_brightness": 150,
28 "animations": { 28 "animations": {
diff --git a/keyboards/boardsource/microdox/v2/info.json b/keyboards/boardsource/microdox/v2/info.json
index 8d68b964c1..dccecb4980 100644
--- a/keyboards/boardsource/microdox/v2/info.json
+++ b/keyboards/boardsource/microdox/v2/info.json
@@ -35,7 +35,7 @@
35 } 35 }
36 }, 36 },
37 "rgb_matrix": { 37 "rgb_matrix": {
38 "driver": "WS2812", 38 "driver": "ws2812",
39 "layout": [ 39 "layout": [
40 {"flags": 2, "x": 12, "y": 11}, 40 {"flags": 2, "x": 12, "y": 11},
41 {"flags": 2, "x": 86, "y": 11}, 41 {"flags": 2, "x": 86, "y": 11},
diff --git a/keyboards/boardsource/technik_o/info.json b/keyboards/boardsource/technik_o/info.json
index 79ade753b1..91840eeb4f 100644
--- a/keyboards/boardsource/technik_o/info.json
+++ b/keyboards/boardsource/technik_o/info.json
@@ -26,7 +26,7 @@
26 "vid": "0x4273" 26 "vid": "0x4273"
27 }, 27 },
28 "rgb_matrix": { 28 "rgb_matrix": {
29 "driver": "WS2812", 29 "driver": "ws2812",
30 "layout": [ 30 "layout": [
31 {"flags": 2, "x": 220, "y": 17}, 31 {"flags": 2, "x": 220, "y": 17},
32 {"flags": 2, "x": 172, "y": 17}, 32 {"flags": 2, "x": 172, "y": 17},
diff --git a/keyboards/boardsource/technik_s/info.json b/keyboards/boardsource/technik_s/info.json
index 7c6086db74..0c8b101b20 100644
--- a/keyboards/boardsource/technik_s/info.json
+++ b/keyboards/boardsource/technik_s/info.json
@@ -26,7 +26,7 @@
26 "vid": "0x4273" 26 "vid": "0x4273"
27 }, 27 },
28 "rgb_matrix": { 28 "rgb_matrix": {
29 "driver": "WS2812", 29 "driver": "ws2812",
30 "layout": [ 30 "layout": [
31 {"flags": 2, "x": 220, "y": 17}, 31 {"flags": 2, "x": 220, "y": 17},
32 {"flags": 2, "x": 172, "y": 17}, 32 {"flags": 2, "x": 172, "y": 17},
diff --git a/keyboards/boardsource/the_mark/info.json b/keyboards/boardsource/the_mark/info.json
index be130dc94d..c574f7ab66 100644
--- a/keyboards/boardsource/the_mark/info.json
+++ b/keyboards/boardsource/the_mark/info.json
@@ -43,7 +43,7 @@
43 "pin": "C6" 43 "pin": "C6"
44 }, 44 },
45 "rgb_matrix": { 45 "rgb_matrix": {
46 "driver": "WS2812", 46 "driver": "ws2812",
47 "layout": [ 47 "layout": [
48 {"flags": 2, "x": 224, "y": 42}, 48 {"flags": 2, "x": 224, "y": 42},
49 {"flags": 2, "x": 224, "y": 21}, 49 {"flags": 2, "x": 224, "y": 21},
diff --git a/keyboards/boardsource/unicorne/info.json b/keyboards/boardsource/unicorne/info.json
index fe46ec13a6..aeeb348125 100644
--- a/keyboards/boardsource/unicorne/info.json
+++ b/keyboards/boardsource/unicorne/info.json
@@ -51,7 +51,7 @@
51 }, 51 },
52 "max_brightness": 150, 52 "max_brightness": 150,
53 "split_count": [27, 27], 53 "split_count": [27, 27],
54 "driver": "WS2812", 54 "driver": "ws2812",
55 "layout": [ 55 "layout": [
56 {"x": 85, "y": 16, "flags": 2}, 56 {"x": 85, "y": 16, "flags": 2},
57 {"x": 50, "y": 13, "flags": 2}, 57 {"x": 50, "y": 13, "flags": 2},
diff --git a/keyboards/boston_meetup/2019/info.json b/keyboards/boston_meetup/2019/info.json
index 5260ffabe1..0f22fb7976 100644
--- a/keyboards/boston_meetup/2019/info.json
+++ b/keyboards/boston_meetup/2019/info.json
@@ -3,7 +3,7 @@
3 "device_version": "20.1.9" 3 "device_version": "20.1.9"
4 }, 4 },
5 "rgb_matrix": { 5 "rgb_matrix": {
6 "driver": "WS2812" 6 "driver": "ws2812"
7 }, 7 },
8 "matrix_pins": { 8 "matrix_pins": {
9 "cols": ["A7", "A8", "B2", "B10"], 9 "cols": ["A7", "A8", "B2", "B10"],
diff --git a/keyboards/bubble75/hotswap/info.json b/keyboards/bubble75/hotswap/info.json
index a12e4ca794..c9757847b0 100644
--- a/keyboards/bubble75/hotswap/info.json
+++ b/keyboards/bubble75/hotswap/info.json
@@ -13,7 +13,7 @@
13 "pin": "B7" 13 "pin": "B7"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["B0", "B1", "B2", "B3", "E6", "F0", "D0", "D1", "D4", "D6", "D7", "B4", "B5", "B6", "C6"], 19 "cols": ["B0", "B1", "B2", "B3", "E6", "F0", "D0", "D1", "D4", "D6", "D7", "B4", "B5", "B6", "C6"],
diff --git a/keyboards/canary/canary60rgb/info.json b/keyboards/canary/canary60rgb/info.json
index fada3f56f0..1eb235d965 100644
--- a/keyboards/canary/canary60rgb/info.json
+++ b/keyboards/canary/canary60rgb/info.json
@@ -18,7 +18,7 @@
18 "pin": "B6" 18 "pin": "B6"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "IS31FL3733" 21 "driver": "is31fl3733"
22 }, 22 },
23 "matrix_pins": { 23 "matrix_pins": {
24 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], 24 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/capsunlocked/cu80/v2/info.json b/keyboards/capsunlocked/cu80/v2/info.json
index f7036daa7f..c21572be66 100644
--- a/keyboards/capsunlocked/cu80/v2/info.json
+++ b/keyboards/capsunlocked/cu80/v2/info.json
@@ -19,7 +19,7 @@
19 "rows": ["D3", "D2", "B7", "F1", "C7", "D5"] 19 "rows": ["D3", "D2", "B7", "F1", "C7", "D5"]
20 }, 20 },
21 "rgb_matrix": { 21 "rgb_matrix": {
22 "driver": "WS2812", 22 "driver": "ws2812",
23 "animations": { 23 "animations": {
24 "alphas_mods": true, 24 "alphas_mods": true,
25 "band_pinwheel_sat": true, 25 "band_pinwheel_sat": true,
diff --git a/keyboards/checkerboards/quark_lp/info.json b/keyboards/checkerboards/quark_lp/info.json
index 201de629da..9712b63a38 100644
--- a/keyboards/checkerboards/quark_lp/info.json
+++ b/keyboards/checkerboards/quark_lp/info.json
@@ -12,7 +12,7 @@
12 "pin": "C2" 12 "pin": "C2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812", 15 "driver": "ws2812",
16 "sat_steps": 8, 16 "sat_steps": 8,
17 "val_steps": 8, 17 "val_steps": 8,
18 "speed_steps": 10 18 "speed_steps": 10
diff --git a/keyboards/cherrybstudio/cb87rgb/info.json b/keyboards/cherrybstudio/cb87rgb/info.json
index 93eed31524..eefa7e73f0 100644
--- a/keyboards/cherrybstudio/cb87rgb/info.json
+++ b/keyboards/cherrybstudio/cb87rgb/info.json
@@ -12,7 +12,7 @@
12 "pin": "E6" 12 "pin": "E6"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "F5", "C6", "C7", "F7"], 18 "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "F5", "C6", "C7", "F7"],
diff --git a/keyboards/chosfox/cf81/info.json b/keyboards/chosfox/cf81/info.json
index 8b09d5daf6..db9f3e1d52 100644
--- a/keyboards/chosfox/cf81/info.json
+++ b/keyboards/chosfox/cf81/info.json
@@ -35,7 +35,7 @@
35 ] 35 ]
36 }, 36 },
37 "rgb_matrix": { 37 "rgb_matrix": {
38 "driver": "IS31FL3733", 38 "driver": "is31fl3733",
39 "animations": { 39 "animations": {
40 "breathing": true, 40 "breathing": true,
41 "cycle_all": true, 41 "cycle_all": true,
diff --git a/keyboards/chromatonemini/info.json b/keyboards/chromatonemini/info.json
index e6f4333133..3dd10d7381 100644
--- a/keyboards/chromatonemini/info.json
+++ b/keyboards/chromatonemini/info.json
@@ -21,7 +21,7 @@
21 "pin": "D3" 21 "pin": "D3"
22 }, 22 },
23 "rgb_matrix": { 23 "rgb_matrix": {
24 "driver": "WS2812" 24 "driver": "ws2812"
25 }, 25 },
26 "diode_direction": "COL2ROW", 26 "diode_direction": "COL2ROW",
27 "matrix_pins": { 27 "matrix_pins": {
diff --git a/keyboards/churrosoft/deck8/rgb/info.json b/keyboards/churrosoft/deck8/rgb/info.json
index 43f273be58..546c17ca13 100644
--- a/keyboards/churrosoft/deck8/rgb/info.json
+++ b/keyboards/churrosoft/deck8/rgb/info.json
@@ -11,7 +11,7 @@
11 "rgb_matrix": true 11 "rgb_matrix": true
12 }, 12 },
13 "rgb_matrix": { 13 "rgb_matrix": {
14 "driver": "WS2812", 14 "driver": "ws2812",
15 "max_brightness": 200, 15 "max_brightness": 200,
16 "layout": [ 16 "layout": [
17 {"flags": 4, "matrix": [0, 0], "x": 45, "y": 21}, 17 {"flags": 4, "matrix": [0, 0], "x": 45, "y": 21},
diff --git a/keyboards/controllerworks/mini36/info.json b/keyboards/controllerworks/mini36/info.json
index dcab8a1b97..534dee94f1 100644
--- a/keyboards/controllerworks/mini36/info.json
+++ b/keyboards/controllerworks/mini36/info.json
@@ -55,7 +55,7 @@
55 "oled": true 55 "oled": true
56 }, 56 },
57 "rgb_matrix": { 57 "rgb_matrix": {
58 "driver": "WS2812", 58 "driver": "ws2812",
59 "layout": [ 59 "layout": [
60 {"flags": 2, "x": 71, "y": 4}, 60 {"flags": 2, "x": 71, "y": 4},
61 {"flags": 2, "x": 32, "y": 2}, 61 {"flags": 2, "x": 32, "y": 2},
diff --git a/keyboards/controllerworks/mini42/info.json b/keyboards/controllerworks/mini42/info.json
index 4aa0b8eeaf..ae70408a9f 100644
--- a/keyboards/controllerworks/mini42/info.json
+++ b/keyboards/controllerworks/mini42/info.json
@@ -56,7 +56,7 @@
56 "oled": true 56 "oled": true
57 }, 57 },
58 "rgb_matrix": { 58 "rgb_matrix": {
59 "driver": "WS2812", 59 "driver": "ws2812",
60 "split_count": [27, 27], 60 "split_count": [27, 27],
61 "layout": [ 61 "layout": [
62 {"flags": 2, "x": 75, "y": 4}, 62 {"flags": 2, "x": 75, "y": 4},
diff --git a/keyboards/crkbd/info.json b/keyboards/crkbd/info.json
index 198ef51d5f..fa9abc574e 100644
--- a/keyboards/crkbd/info.json
+++ b/keyboards/crkbd/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "features": { 14 "features": {
15 "bootmagic": true, 15 "bootmagic": true,
diff --git a/keyboards/cxt_studio/info.json b/keyboards/cxt_studio/info.json
index 07b5ff17ea..6166ea2296 100644
--- a/keyboards/cxt_studio/info.json
+++ b/keyboards/cxt_studio/info.json
@@ -31,7 +31,7 @@
31 }, 31 },
32 "processor": "atmega32u4", 32 "processor": "atmega32u4",
33 "rgb_matrix": { 33 "rgb_matrix": {
34 "driver": "WS2812", 34 "driver": "ws2812",
35 "layout": [ 35 "layout": [
36 {"flags": 4, "matrix": [0, 3], "x": 3, "y": 0}, 36 {"flags": 4, "matrix": [0, 3], "x": 3, "y": 0},
37 {"flags": 4, "matrix": [0, 2], "x": 2, "y": 0}, 37 {"flags": 4, "matrix": [0, 2], "x": 2, "y": 0},
diff --git a/keyboards/dekunukem/duckypad/info.json b/keyboards/dekunukem/duckypad/info.json
index 1c702e1b1b..9ca8e7bc93 100644
--- a/keyboards/dekunukem/duckypad/info.json
+++ b/keyboards/dekunukem/duckypad/info.json
@@ -17,7 +17,7 @@
17 "pin": "A10" 17 "pin": "A10"
18 }, 18 },
19 "rgb_matrix": { 19 "rgb_matrix": {
20 "driver": "WS2812", 20 "driver": "ws2812",
21 "layout": [ 21 "layout": [
22 {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4}, 22 {"matrix": [0, 2], "x": 224, "y": 0, "flags": 4},
23 {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4}, 23 {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4},
diff --git a/keyboards/deng/djam/info.json b/keyboards/deng/djam/info.json
index c78e814505..c7fe59ff0a 100644
--- a/keyboards/deng/djam/info.json
+++ b/keyboards/deng/djam/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], 15 "cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
diff --git a/keyboards/deng/thirty/info.json b/keyboards/deng/thirty/info.json
index 59f3616215..8836273865 100644
--- a/keyboards/deng/thirty/info.json
+++ b/keyboards/deng/thirty/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B13", "B14", "B3", "A4", "A6"], 15 "cols": ["B13", "B14", "B3", "A4", "A6"],
diff --git a/keyboards/doio/kb16/rev1/info.json b/keyboards/doio/kb16/rev1/info.json
index 4d2852fe05..bcf2c2eb0e 100644
--- a/keyboards/doio/kb16/rev1/info.json
+++ b/keyboards/doio/kb16/rev1/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "WS2812" 13 "driver": "ws2812"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["F5", "F4", "F1", "F0", "B7"], 16 "cols": ["F5", "F4", "F1", "F0", "B7"],
diff --git a/keyboards/doio/kb16/rev2/info.json b/keyboards/doio/kb16/rev2/info.json
index 1e83ca77cc..c3cf6b9a12 100644
--- a/keyboards/doio/kb16/rev2/info.json
+++ b/keyboards/doio/kb16/rev2/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "WS2812" 13 "driver": "ws2812"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["B14", "B13", "B12", "B0", "A7"], 16 "cols": ["B14", "B13", "B12", "B0", "A7"],
diff --git a/keyboards/doio/kb30/info.json b/keyboards/doio/kb30/info.json
index 71a300b9cd..cd3c772994 100644
--- a/keyboards/doio/kb30/info.json
+++ b/keyboards/doio/kb30/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B14", "B13", "B12", "B0", "A7", "A9", "A8"], 15 "cols": ["B14", "B13", "B12", "B0", "A7", "A9", "A8"],
diff --git a/keyboards/doio/kb38/info.json b/keyboards/doio/kb38/info.json
index a0bbbae894..95d3be13d3 100644
--- a/keyboards/doio/kb38/info.json
+++ b/keyboards/doio/kb38/info.json
@@ -36,7 +36,7 @@
36 "pin": "F6" 36 "pin": "F6"
37 }, 37 },
38 "rgb_matrix": { 38 "rgb_matrix": {
39 "driver": "WS2812", 39 "driver": "ws2812",
40 "layout": [ 40 "layout": [
41 {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, 41 {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
42 {"flags": 4, "matrix": [0, 1], "x": 62.2, "y": 0}, 42 {"flags": 4, "matrix": [0, 1], "x": 62.2, "y": 0},
diff --git a/keyboards/doro67/rgb/info.json b/keyboards/doro67/rgb/info.json
index 83d642ab0b..ad7661830a 100644
--- a/keyboards/doro67/rgb/info.json
+++ b/keyboards/doro67/rgb/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B0", "B1", "B2", "B3", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F5", "F6", "F7"], 15 "cols": ["B0", "B1", "B2", "B3", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F5", "F6", "F7"],
diff --git a/keyboards/dotmod/dymium65/info.json b/keyboards/dotmod/dymium65/info.json
index 83e2951baa..650260483c 100644
--- a/keyboards/dotmod/dymium65/info.json
+++ b/keyboards/dotmod/dymium65/info.json
@@ -38,7 +38,7 @@
38 "pin": "D7" 38 "pin": "D7"
39 }, 39 },
40 "rgb_matrix": { 40 "rgb_matrix": {
41 "driver": "WS2812", 41 "driver": "ws2812",
42 "animations": { 42 "animations": {
43 "breathing": true, 43 "breathing": true,
44 "band_val": true, 44 "band_val": true,
diff --git a/keyboards/dp3000/info.json b/keyboards/dp3000/info.json
index c7348c81a8..cdb9fe4547 100644
--- a/keyboards/dp3000/info.json
+++ b/keyboards/dp3000/info.json
@@ -34,7 +34,7 @@
34 "pin": "B5" 34 "pin": "B5"
35 }, 35 },
36 "rgb_matrix":{ 36 "rgb_matrix":{
37 "driver":"WS2812", 37 "driver":"ws2812",
38 "max_brightness": 180, 38 "max_brightness": 180,
39 "animations": { 39 "animations": {
40 "alphas_mods": true, 40 "alphas_mods": true,
diff --git a/keyboards/dp60/info.json b/keyboards/dp60/info.json
index 4433544708..ffe613f66f 100644
--- a/keyboards/dp60/info.json
+++ b/keyboards/dp60/info.json
@@ -17,7 +17,7 @@
17 "pin": "D7" 17 "pin": "D7"
18 }, 18 },
19 "rgb_matrix": { 19 "rgb_matrix": {
20 "driver": "IS31FL3731" 20 "driver": "is31fl3731"
21 }, 21 },
22 "processor": "atmega32u4", 22 "processor": "atmega32u4",
23 "bootloader": "atmel-dfu", 23 "bootloader": "atmel-dfu",
diff --git a/keyboards/drop/sense75/info.json b/keyboards/drop/sense75/info.json
index d54c4eb656..2df7b0ae5a 100644
--- a/keyboards/drop/sense75/info.json
+++ b/keyboards/drop/sense75/info.json
@@ -116,7 +116,7 @@
116 } 116 }
117 }, 117 },
118 "rgb_matrix": { 118 "rgb_matrix": {
119 "driver": "IS31FL3733", 119 "driver": "is31fl3733",
120 "animations": { 120 "animations": {
121 "alphas_mods": true, 121 "alphas_mods": true,
122 "gradient_up_down": true, 122 "gradient_up_down": true,
diff --git a/keyboards/dtisaac/dosa40rgb/info.json b/keyboards/dtisaac/dosa40rgb/info.json
index 27b5240194..e90d21725a 100644
--- a/keyboards/dtisaac/dosa40rgb/info.json
+++ b/keyboards/dtisaac/dosa40rgb/info.json
@@ -15,7 +15,7 @@
15 "pin": "D0" 15 "pin": "D0"
16 }, 16 },
17 "rgb_matrix": { 17 "rgb_matrix": {
18 "driver": "WS2812" 18 "driver": "ws2812"
19 }, 19 },
20 "matrix_pins": { 20 "matrix_pins": {
21 "cols": ["D1", "D6", "D3", "D2", "B6", "C6", "C7", "F7", "F6", "F5", "F4"], 21 "cols": ["D1", "D6", "D3", "D2", "B6", "C6", "C7", "F7", "F6", "F5", "F4"],
diff --git a/keyboards/dumbpad/v3x/info.json b/keyboards/dumbpad/v3x/info.json
index 463fa5ec9c..24c16ac0af 100644
--- a/keyboards/dumbpad/v3x/info.json
+++ b/keyboards/dumbpad/v3x/info.json
@@ -6,7 +6,7 @@
6 "device_version": "0.1.0" 6 "device_version": "0.1.0"
7 }, 7 },
8 "rgb_matrix": { 8 "rgb_matrix": {
9 "driver": "WS2812", 9 "driver": "ws2812",
10 "timeout": 300000 10 "timeout": 300000
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
diff --git a/keyboards/durgod/dgk6x/info.json b/keyboards/durgod/dgk6x/info.json
index df4c004ab5..a52d0a9b8f 100644
--- a/keyboards/durgod/dgk6x/info.json
+++ b/keyboards/durgod/dgk6x/info.json
@@ -5,7 +5,7 @@
5 "on_state": 0 5 "on_state": 0
6 }, 6 },
7 "rgb_matrix": { 7 "rgb_matrix": {
8 "driver": "IS31FL3733" 8 "driver": "is31fl3733"
9 }, 9 },
10 "processor": "STM32F072", // F070 10 "processor": "STM32F072", // F070
11 "bootloader": "stm32-dfu", 11 "bootloader": "stm32-dfu",
diff --git a/keyboards/dztech/dz60rgb/v1/info.json b/keyboards/dztech/dz60rgb/v1/info.json
index 56a70183f5..0033c3acc7 100644
--- a/keyboards/dztech/dz60rgb/v1/info.json
+++ b/keyboards/dztech/dz60rgb/v1/info.json
@@ -4,7 +4,7 @@
4 "device_version": "1.0.0" 4 "device_version": "1.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3733" 7 "driver": "is31fl3733"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"], 10 "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"],
diff --git a/keyboards/dztech/dz60rgb/v2/info.json b/keyboards/dztech/dz60rgb/v2/info.json
index 0b263d8099..4801792d98 100644
--- a/keyboards/dztech/dz60rgb/v2/info.json
+++ b/keyboards/dztech/dz60rgb/v2/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3733" 7 "driver": "is31fl3733"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], 10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz60rgb/v2_1/info.json b/keyboards/dztech/dz60rgb/v2_1/info.json
index 796b1bc4a3..9028f69d4f 100644
--- a/keyboards/dztech/dz60rgb/v2_1/info.json
+++ b/keyboards/dztech/dz60rgb/v2_1/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.1.0" 4 "device_version": "2.1.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3733" 7 "driver": "is31fl3733"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], 10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz60rgb_ansi/v1/info.json b/keyboards/dztech/dz60rgb_ansi/v1/info.json
index 77a9e801c6..9c8b271cc9 100644
--- a/keyboards/dztech/dz60rgb_ansi/v1/info.json
+++ b/keyboards/dztech/dz60rgb_ansi/v1/info.json
@@ -4,7 +4,7 @@
4 "device_version": "1.0.0" 4 "device_version": "1.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3733" 7 "driver": "is31fl3733"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"], 10 "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"],
diff --git a/keyboards/dztech/dz60rgb_ansi/v2/info.json b/keyboards/dztech/dz60rgb_ansi/v2/info.json
index 734d07db31..cc239f74b3 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2/info.json
+++ b/keyboards/dztech/dz60rgb_ansi/v2/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3733" 7 "driver": "is31fl3733"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], 10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz60rgb_ansi/v2_1/info.json b/keyboards/dztech/dz60rgb_ansi/v2_1/info.json
index 1d72dc44ee..edd27d4577 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2_1/info.json
+++ b/keyboards/dztech/dz60rgb_ansi/v2_1/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.1.0" 4 "device_version": "2.1.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3733" 7 "driver": "is31fl3733"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], 10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz60rgb_wkl/v1/info.json b/keyboards/dztech/dz60rgb_wkl/v1/info.json
index 65bb086dc3..0a61ae0d83 100644
--- a/keyboards/dztech/dz60rgb_wkl/v1/info.json
+++ b/keyboards/dztech/dz60rgb_wkl/v1/info.json
@@ -4,7 +4,7 @@
4 "device_version": "1.0.0" 4 "device_version": "1.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3733" 7 "driver": "is31fl3733"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"], 10 "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14"],
diff --git a/keyboards/dztech/dz60rgb_wkl/v2/info.json b/keyboards/dztech/dz60rgb_wkl/v2/info.json
index b9a2126e3d..adc6fb3b4c 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2/info.json
+++ b/keyboards/dztech/dz60rgb_wkl/v2/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3733" 7 "driver": "is31fl3733"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], 10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz60rgb_wkl/v2_1/info.json b/keyboards/dztech/dz60rgb_wkl/v2_1/info.json
index ce830f6b01..cea77d59cf 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2_1/info.json
+++ b/keyboards/dztech/dz60rgb_wkl/v2_1/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.1.0" 4 "device_version": "2.1.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3733" 7 "driver": "is31fl3733"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], 10 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz64rgb/info.json b/keyboards/dztech/dz64rgb/info.json
index aa69238191..ca2dd46bd2 100644
--- a/keyboards/dztech/dz64rgb/info.json
+++ b/keyboards/dztech/dz64rgb/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.2" 9 "device_version": "0.0.2"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"], 15 "cols": ["C7", "F7", "F6", "F0", "B0", "B1", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "B7"],
diff --git a/keyboards/dztech/dz65rgb/v1/info.json b/keyboards/dztech/dz65rgb/v1/info.json
index 19279921a4..6b418b8cd6 100644
--- a/keyboards/dztech/dz65rgb/v1/info.json
+++ b/keyboards/dztech/dz65rgb/v1/info.json
@@ -4,7 +4,7 @@
4 "device_version": "1.0.0" 4 "device_version": "1.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3731" 7 "driver": "is31fl3731"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15"], 10 "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15"],
diff --git a/keyboards/dztech/dz65rgb/v2/info.json b/keyboards/dztech/dz65rgb/v2/info.json
index b449f4979a..e52584f724 100644
--- a/keyboards/dztech/dz65rgb/v2/info.json
+++ b/keyboards/dztech/dz65rgb/v2/info.json
@@ -4,7 +4,7 @@
4 "device_version": "2.0.0" 4 "device_version": "2.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3731" 7 "driver": "is31fl3731"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], 10 "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
diff --git a/keyboards/dztech/dz65rgb/v3/info.json b/keyboards/dztech/dz65rgb/v3/info.json
index e4e4dd6581..ccc24b724e 100644
--- a/keyboards/dztech/dz65rgb/v3/info.json
+++ b/keyboards/dztech/dz65rgb/v3/info.json
@@ -4,7 +4,7 @@
4 "device_version": "3.0.0" 4 "device_version": "3.0.0"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3741" 7 "driver": "is31fl3741"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], 10 "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
diff --git a/keyboards/dztech/tofu/ii/v1/info.json b/keyboards/dztech/tofu/ii/v1/info.json
index d8216891cd..2eac06f6fd 100644
--- a/keyboards/dztech/tofu/ii/v1/info.json
+++ b/keyboards/dztech/tofu/ii/v1/info.json
@@ -16,7 +16,7 @@
16 }, 16 },
17 "processor": "RP2040", 17 "processor": "RP2040",
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "IS31FL3737", 19 "driver": "is31fl3737",
20 "layout": [ 20 "layout": [
21 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, 21 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
22 {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0}, 22 {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0},
diff --git a/keyboards/dztech/tofu/jr/v1/info.json b/keyboards/dztech/tofu/jr/v1/info.json
index ef9bc6b903..1460350d73 100644
--- a/keyboards/dztech/tofu/jr/v1/info.json
+++ b/keyboards/dztech/tofu/jr/v1/info.json
@@ -16,7 +16,7 @@
16 "rows": ["GP29", "GP28", "GP27", "GP26", "GP22"] 16 "rows": ["GP29", "GP28", "GP27", "GP26", "GP22"]
17 }, 17 },
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "IS31FL3737", 19 "driver": "is31fl3737",
20 "layout": [ 20 "layout": [
21 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, 21 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
22 {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0}, 22 {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0},
diff --git a/keyboards/eek/info.json b/keyboards/eek/info.json
index 0a293c514d..fae5212543 100644
--- a/keyboards/eek/info.json
+++ b/keyboards/eek/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.4" 9 "device_version": "0.0.4"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["D4", "C6", "B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"], 15 "cols": ["D4", "C6", "B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"],
diff --git a/keyboards/eggsworks/egg58/info.json b/keyboards/eggsworks/egg58/info.json
index 14e62cdf59..6f3fa04a67 100644
--- a/keyboards/eggsworks/egg58/info.json
+++ b/keyboards/eggsworks/egg58/info.json
@@ -33,7 +33,7 @@
33 "pin": "D3" 33 "pin": "D3"
34 }, 34 },
35 "rgb_matrix": { 35 "rgb_matrix": {
36 "driver": "WS2812", 36 "driver": "ws2812",
37 "split": true, 37 "split": true,
38 "split_count": [29, 29], 38 "split_count": [29, 29],
39 "max_brightness": 160, 39 "max_brightness": 160,
diff --git a/keyboards/ein_60/info.json b/keyboards/ein_60/info.json
index a316542605..ccc0446043 100644
--- a/keyboards/ein_60/info.json
+++ b/keyboards/ein_60/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "rgblight": { 14 "rgblight": {
15 "hue_steps": 4, 15 "hue_steps": 4,
diff --git a/keyboards/elephant42/info.json b/keyboards/elephant42/info.json
index 005735556b..f71247caca 100644
--- a/keyboards/elephant42/info.json
+++ b/keyboards/elephant42/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812", 12 "driver": "ws2812",
13 "sat_steps": 8, 13 "sat_steps": 8,
14 "val_steps": 8, 14 "val_steps": 8,
15 "speed_steps": 8 15 "speed_steps": 8
diff --git a/keyboards/ergodox_ez/info.json b/keyboards/ergodox_ez/info.json
index 6a9541a426..4716c556b0 100644
--- a/keyboards/ergodox_ez/info.json
+++ b/keyboards/ergodox_ez/info.json
@@ -18,7 +18,7 @@
18 "pin": "D7" 18 "pin": "D7"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "IS31FL3731" 21 "driver": "is31fl3731"
22 }, 22 },
23 "processor": "atmega32u4", 23 "processor": "atmega32u4",
24 "bootloader": "halfkay", 24 "bootloader": "halfkay",
diff --git a/keyboards/evyd13/atom47/rev5/info.json b/keyboards/evyd13/atom47/rev5/info.json
index c442c74549..bb068b1536 100644
--- a/keyboards/evyd13/atom47/rev5/info.json
+++ b/keyboards/evyd13/atom47/rev5/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "E6", "D7", "B4", "B5", "B6", "C6", "C7"], 15 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "E6", "D7", "B4", "B5", "B6", "C6", "C7"],
diff --git a/keyboards/exclusive/e6_rgb/info.json b/keyboards/exclusive/e6_rgb/info.json
index 167ce46917..49e3337804 100644
--- a/keyboards/exclusive/e6_rgb/info.json
+++ b/keyboards/exclusive/e6_rgb/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.6.2" 9 "device_version": "0.6.2"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["D7", "B4", "B5", "B6", "C6", "C7", "F7", "F0", "B0", "B1", "D2", "D3", "B3", "B2"], 15 "cols": ["D7", "B4", "B5", "B6", "C6", "C7", "F7", "F0", "B0", "B1", "D2", "D3", "B3", "B2"],
diff --git a/keyboards/fancytech/fancyalice66/info.json b/keyboards/fancytech/fancyalice66/info.json
index 525a19d32c..21c89849fd 100644
--- a/keyboards/fancytech/fancyalice66/info.json
+++ b/keyboards/fancytech/fancyalice66/info.json
@@ -66,7 +66,7 @@
66 "solid_splash": true, 66 "solid_splash": true,
67 "splash": true 67 "splash": true
68 }, 68 },
69 "driver": "WS2812", 69 "driver": "ws2812",
70 "layout": [ 70 "layout": [
71 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, 71 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
72 {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0}, 72 {"flags": 4, "matrix": [0, 1], "x": 15, "y": 0},
diff --git a/keyboards/feker/ik75/info.json b/keyboards/feker/ik75/info.json
index 339a5cde50..0da1ff08ea 100644
--- a/keyboards/feker/ik75/info.json
+++ b/keyboards/feker/ik75/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["E6", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "E2"], 15 "cols": ["E6", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "E2"],
diff --git a/keyboards/ferris/0_2/bling/info.json b/keyboards/ferris/0_2/bling/info.json
index 28ed4f90e3..1e9703f599 100644
--- a/keyboards/ferris/0_2/bling/info.json
+++ b/keyboards/ferris/0_2/bling/info.json
@@ -4,6 +4,6 @@
4 "pid": "0x0002" 4 "pid": "0x0002"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3731" 7 "driver": "is31fl3731"
8 } 8 }
9} 9}
diff --git a/keyboards/flashquark/horizon_z/info.json b/keyboards/flashquark/horizon_z/info.json
index 3e299442c5..9127042f71 100755
--- a/keyboards/flashquark/horizon_z/info.json
+++ b/keyboards/flashquark/horizon_z/info.json
@@ -20,7 +20,7 @@
20 }, 20 },
21 "processor": "atmega32u4", 21 "processor": "atmega32u4",
22 "rgb_matrix": { 22 "rgb_matrix": {
23 "driver": "IS31FL3733", 23 "driver": "is31fl3733",
24 "layout": [ 24 "layout": [
25 { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 }, 25 { "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
26 { "flags": 4, "matrix": [0, 1], "x": 16, "y": 0 }, 26 { "flags": 4, "matrix": [0, 1], "x": 16, "y": 0 },
diff --git a/keyboards/frooastboard/walnut/info.json b/keyboards/frooastboard/walnut/info.json
index ee18003f57..fc8ca2130f 100644
--- a/keyboards/frooastboard/walnut/info.json
+++ b/keyboards/frooastboard/walnut/info.json
@@ -15,7 +15,7 @@
15 "nkro": true 15 "nkro": true
16 }, 16 },
17 "rgb_matrix": { 17 "rgb_matrix": {
18 "driver": "IS31FL3737" 18 "driver": "is31fl3737"
19 }, 19 },
20 "build": { 20 "build": {
21 "lto": true 21 "lto": true
diff --git a/keyboards/geekboards/macropad_v2/info.json b/keyboards/geekboards/macropad_v2/info.json
index 52db89c06a..95b1ca94d7 100644
--- a/keyboards/geekboards/macropad_v2/info.json
+++ b/keyboards/geekboards/macropad_v2/info.json
@@ -16,7 +16,7 @@
16 "driver": "pwm" 16 "driver": "pwm"
17 }, 17 },
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "WS2812" 19 "driver": "ws2812"
20 }, 20 },
21 "processor": "STM32F072", 21 "processor": "STM32F072",
22 "bootloader": "stm32-dfu", 22 "bootloader": "stm32-dfu",
diff --git a/keyboards/geekboards/tester/info.json b/keyboards/geekboards/tester/info.json
index 16f3496a13..363ab895a5 100644
--- a/keyboards/geekboards/tester/info.json
+++ b/keyboards/geekboards/tester/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F7", "F6", "D2", "D3"], 15 "cols": ["F7", "F6", "D2", "D3"],
diff --git a/keyboards/giabalanai/info.json b/keyboards/giabalanai/info.json
index 44482a2c0c..592d7a6966 100644
--- a/keyboards/giabalanai/info.json
+++ b/keyboards/giabalanai/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "rgblight": { 14 "rgblight": {
15 "led_count": 123, 15 "led_count": 123,
diff --git a/keyboards/gizmo_engineering/gk6/info.json b/keyboards/gizmo_engineering/gk6/info.json
index d738d31d3d..c958147971 100644
--- a/keyboards/gizmo_engineering/gk6/info.json
+++ b/keyboards/gizmo_engineering/gk6/info.json
@@ -9,7 +9,7 @@
9 "device_version": "30.3.1" 9 "device_version": "30.3.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B5", "C6", "C7", "F7", "F6", "D5", "D3", "D2", "F1", "F4", "B7", "F5"], 15 "cols": ["B5", "C6", "C7", "F7", "F6", "D5", "D3", "D2", "F1", "F4", "B7", "F5"],
diff --git a/keyboards/gkeyboard/gpad8_2r/info.json b/keyboards/gkeyboard/gpad8_2r/info.json
index 81ac15251f..2111d58cc4 100644
--- a/keyboards/gkeyboard/gpad8_2r/info.json
+++ b/keyboards/gkeyboard/gpad8_2r/info.json
@@ -33,7 +33,7 @@
33 ] 33 ]
34 }, 34 },
35 "rgb_matrix": { 35 "rgb_matrix": {
36 "driver": "WS2812", 36 "driver": "ws2812",
37 "layout": [ 37 "layout": [
38 {"flags": 4, "matrix": [1, 0], "x": 28, "y": 12}, 38 {"flags": 4, "matrix": [1, 0], "x": 28, "y": 12},
39 {"flags": 4, "matrix": [1, 1], "x": 84, "y": 12}, 39 {"flags": 4, "matrix": [1, 1], "x": 84, "y": 12},
diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk
index 294015d80b..d93c728213 100644
--- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk
+++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/rules.mk
@@ -1,6 +1,6 @@
1RGBLIGHT_ENABLE = no 1RGBLIGHT_ENABLE = no
2RGB_MATRIX_ENABLE = yes 2RGB_MATRIX_ENABLE = yes
3RGB_MATRIX_DRIVER = WS2812 3RGB_MATRIX_DRIVER = ws2812
4VIA_ENABLE = yes 4VIA_ENABLE = yes
5LTO_ENABLE = yes 5LTO_ENABLE = yes
6SPACE_CADET_ENABLE = no 6SPACE_CADET_ENABLE = no
diff --git a/keyboards/gmmk/gmmk2/p65/ansi/info.json b/keyboards/gmmk/gmmk2/p65/ansi/info.json
index 983bf8d6f2..902d1b6b5d 100644
--- a/keyboards/gmmk/gmmk2/p65/ansi/info.json
+++ b/keyboards/gmmk/gmmk2/p65/ansi/info.json
@@ -12,7 +12,7 @@
12 "tap_keycode_delay": 10 12 "tap_keycode_delay": 10
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "AW20216" 15 "driver": "aw20216"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], 18 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
diff --git a/keyboards/gmmk/gmmk2/p65/iso/info.json b/keyboards/gmmk/gmmk2/p65/iso/info.json
index c036ffa306..5abe800d2c 100644
--- a/keyboards/gmmk/gmmk2/p65/iso/info.json
+++ b/keyboards/gmmk/gmmk2/p65/iso/info.json
@@ -12,7 +12,7 @@
12 "tap_keycode_delay": 10 12 "tap_keycode_delay": 10
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "AW20216" 15 "driver": "aw20216"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], 18 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
diff --git a/keyboards/gmmk/gmmk2/p96/ansi/info.json b/keyboards/gmmk/gmmk2/p96/ansi/info.json
index 3b5caf5d54..5bc007f5db 100644
--- a/keyboards/gmmk/gmmk2/p96/ansi/info.json
+++ b/keyboards/gmmk/gmmk2/p96/ansi/info.json
@@ -12,7 +12,7 @@
12 "tap_keycode_delay": 10 12 "tap_keycode_delay": 10
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "AW20216" 15 "driver": "aw20216"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], 18 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
diff --git a/keyboards/gmmk/gmmk2/p96/iso/info.json b/keyboards/gmmk/gmmk2/p96/iso/info.json
index dd747478d9..6534d28027 100644
--- a/keyboards/gmmk/gmmk2/p96/iso/info.json
+++ b/keyboards/gmmk/gmmk2/p96/iso/info.json
@@ -12,7 +12,7 @@
12 "tap_keycode_delay": 10 12 "tap_keycode_delay": 10
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "AW20216" 15 "driver": "aw20216"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], 18 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
diff --git a/keyboards/gmmk/numpad/info.json b/keyboards/gmmk/numpad/info.json
index 195d4fa710..604a49b503 100644
--- a/keyboards/gmmk/numpad/info.json
+++ b/keyboards/gmmk/numpad/info.json
@@ -14,7 +14,7 @@
14 ] 14 ]
15 }, 15 },
16 "rgb_matrix": { 16 "rgb_matrix": {
17 "driver": "AW20216" 17 "driver": "aw20216"
18 }, 18 },
19 "processor": "WB32F3G71", 19 "processor": "WB32F3G71",
20 "bootloader": "wb32-dfu", 20 "bootloader": "wb32-dfu",
diff --git a/keyboards/gmmk/pro/rev1/ansi/info.json b/keyboards/gmmk/pro/rev1/ansi/info.json
index 80cab4dfe3..7e0adbdb05 100644
--- a/keyboards/gmmk/pro/rev1/ansi/info.json
+++ b/keyboards/gmmk/pro/rev1/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "AW20216" 12 "driver": "aw20216"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], 15 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
diff --git a/keyboards/gmmk/pro/rev1/iso/info.json b/keyboards/gmmk/pro/rev1/iso/info.json
index b1c17fe805..52ea4538c8 100644
--- a/keyboards/gmmk/pro/rev1/iso/info.json
+++ b/keyboards/gmmk/pro/rev1/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "AW20216" 12 "driver": "aw20216"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], 15 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
diff --git a/keyboards/gmmk/pro/rev2/ansi/info.json b/keyboards/gmmk/pro/rev2/ansi/info.json
index ae9086af43..082b5f8656 100644
--- a/keyboards/gmmk/pro/rev2/ansi/info.json
+++ b/keyboards/gmmk/pro/rev2/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.2" 9 "device_version": "0.0.2"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "AW20216" 12 "driver": "aw20216"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], 15 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
diff --git a/keyboards/gmmk/pro/rev2/iso/info.json b/keyboards/gmmk/pro/rev2/iso/info.json
index b1b85b7af5..a4aef24e65 100644
--- a/keyboards/gmmk/pro/rev2/iso/info.json
+++ b/keyboards/gmmk/pro/rev2/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.2" 9 "device_version": "0.0.2"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "AW20216" 12 "driver": "aw20216"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], 15 "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"],
diff --git a/keyboards/gopolar/gg86/info.json b/keyboards/gopolar/gg86/info.json
index dbdf673f3e..470709ca75 100644
--- a/keyboards/gopolar/gg86/info.json
+++ b/keyboards/gopolar/gg86/info.json
@@ -13,7 +13,7 @@
13 "pin": "E2" 13 "pin": "E2"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "C7", "E6", "D2", "D3"], 19 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "C7", "E6", "D2", "D3"],
diff --git a/keyboards/hadron/ver3/info.json b/keyboards/hadron/ver3/info.json
index 466dafbc53..45e92cbc71 100644
--- a/keyboards/hadron/ver3/info.json
+++ b/keyboards/hadron/ver3/info.json
@@ -3,7 +3,7 @@
3 "device_version": "0.0.3" 3 "device_version": "0.0.3"
4 }, 4 },
5 "rgb_matrix": { 5 "rgb_matrix": {
6 "driver": "WS2812" 6 "driver": "ws2812"
7 }, 7 },
8 "matrix_pins": { 8 "matrix_pins": {
9 "cols": ["B8", "B2", "B10", "A0", "A1", "A2", "B0", "A3", "B1", "A6", "A7", "B12", "C13", "B11", "B9"], 9 "cols": ["B8", "B2", "B10", "A0", "A1", "A2", "B0", "A3", "B1", "A6", "A7", "B12", "C13", "B11", "B9"],
diff --git a/keyboards/handwired/6macro/info.json b/keyboards/handwired/6macro/info.json
index 8f41316cd8..3e8c0afed6 100644
--- a/keyboards/handwired/6macro/info.json
+++ b/keyboards/handwired/6macro/info.json
@@ -16,7 +16,7 @@
16 "pin": "D2" 16 "pin": "D2"
17 }, 17 },
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "WS2812" 19 "driver": "ws2812"
20 }, 20 },
21 "matrix_pins": { 21 "matrix_pins": {
22 "cols": ["B0", "B1", "B2"], 22 "cols": ["B0", "B1", "B2"],
diff --git a/keyboards/handwired/alcor_dactyl/info.json b/keyboards/handwired/alcor_dactyl/info.json
index 8d59a107f7..405436b6f5 100644
--- a/keyboards/handwired/alcor_dactyl/info.json
+++ b/keyboards/handwired/alcor_dactyl/info.json
@@ -27,7 +27,7 @@
27 "rows": ["GP5", "GP4", "GP3", "GP2", "GP1", "GP0"] 27 "rows": ["GP5", "GP4", "GP3", "GP2", "GP1", "GP0"]
28 }, 28 },
29 "rgb_matrix": { 29 "rgb_matrix": {
30 "driver": "WS2812", 30 "driver": "ws2812",
31 "layout": [ 31 "layout": [
32 {"x": 0, "y": 0.375}, 32 {"x": 0, "y": 0.375},
33 {"x": 16.5, "y": 0.38} 33 {"x": 16.5, "y": 0.38}
diff --git a/keyboards/handwired/colorlice/info.json b/keyboards/handwired/colorlice/info.json
index 0cba448703..0f8383a2aa 100644
--- a/keyboards/handwired/colorlice/info.json
+++ b/keyboards/handwired/colorlice/info.json
@@ -12,7 +12,7 @@
12 "pin": "B1" 12 "pin": "B1"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B6", "B5", "B4", "D7", "D6", "D4", "E6", "B0", "B3"], 18 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "B6", "B5", "B4", "D7", "D6", "D4", "E6", "B0", "B3"],
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk
index 53ca4b51d0..09e4c42d69 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/thattolleyguy/rules.mk
@@ -1,5 +1,5 @@
1RGB_MATRIX_ENABLE = yes 1RGB_MATRIX_ENABLE = yes
2RGB_MATRIX_DRIVER = WS2812 2RGB_MATRIX_DRIVER = ws2812
3DYNAMIC_MACRO_ENABLE = yes 3DYNAMIC_MACRO_ENABLE = yes
4# CONSOLE_ENABLE = yes 4# CONSOLE_ENABLE = yes
5 5
diff --git a/keyboards/handwired/dactyl_minidox/info.json b/keyboards/handwired/dactyl_minidox/info.json
index 0a1c6a56bb..a0bb416ce4 100644
--- a/keyboards/handwired/dactyl_minidox/info.json
+++ b/keyboards/handwired/dactyl_minidox/info.json
@@ -12,7 +12,7 @@
12 "pin": "D3" 12 "pin": "D3"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["C6", "D7", "E6", "B4", "B5"], 18 "cols": ["C6", "D7", "E6", "B4", "B5"],
diff --git a/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk
index f40ace9606..d24f7a0cbd 100644
--- a/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk
+++ b/keyboards/handwired/dactyl_minidox/keymaps/dlford/rules.mk
@@ -6,7 +6,6 @@ SRC += features/caps_word.c
6# 6#
7# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 7# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
8DYNAMIC_MACRO_ENABLE = yes # Create macros on the fly 8DYNAMIC_MACRO_ENABLE = yes # Create macros on the fly
9RGB_MATRIX_DRIVER = WS2812
10INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc. 9INDICATOR_LIGHTS = yes # Enable indicator lights for caps lock, etc.
11# TAP_DANCE_ENABLE = yes # Send different keycodes if tapped multiple times 10# TAP_DANCE_ENABLE = yes # Send different keycodes if tapped multiple times
12# KEY_OVERRIDE_ENABLE = yes # Override key combos 11# KEY_OVERRIDE_ENABLE = yes # Override key combos
diff --git a/keyboards/handwired/hnah108/info.json b/keyboards/handwired/hnah108/info.json
index 4d7d3e0386..a399ffedf5 100644
--- a/keyboards/handwired/hnah108/info.json
+++ b/keyboards/handwired/hnah108/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.2" 9 "device_version": "0.0.2"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F0", "E6", "B0", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7"], 15 "cols": ["F0", "E6", "B0", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7"],
diff --git a/keyboards/handwired/hnah40rgb/info.json b/keyboards/handwired/hnah40rgb/info.json
index 9f952d685a..fce74cefef 100644
--- a/keyboards/handwired/hnah40rgb/info.json
+++ b/keyboards/handwired/hnah40rgb/info.json
@@ -12,7 +12,7 @@
12 "pin": "E2" 12 "pin": "E2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["D5", "D6", "D3", "D2", "B6", "C6", "C7", "F7", "F6", "F5", "F4"], 18 "cols": ["D5", "D6", "D3", "D2", "B6", "C6", "C7", "F7", "F6", "F5", "F4"],
diff --git a/keyboards/handwired/orbweaver/info.json b/keyboards/handwired/orbweaver/info.json
index 9db6243a69..489a7e2888 100644
--- a/keyboards/handwired/orbweaver/info.json
+++ b/keyboards/handwired/orbweaver/info.json
@@ -13,7 +13,7 @@
13 "nkro": true 13 "nkro": true
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "IS31FL3731" 16 "driver": "is31fl3731"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], 19 "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9"],
diff --git a/keyboards/handwired/p65rgb/info.json b/keyboards/handwired/p65rgb/info.json
index a9ec2634ef..2fa35c2cbf 100644
--- a/keyboards/handwired/p65rgb/info.json
+++ b/keyboards/handwired/p65rgb/info.json
@@ -12,7 +12,7 @@
12 "pin": "B4" 12 "pin": "B4"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "max_brightness": 180 18 "max_brightness": 180
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/info.json b/keyboards/handwired/tractyl_manuform/4x6_right/info.json
index 0a3a77c91d..9e172c8089 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/info.json
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/info.json
@@ -7,7 +7,7 @@
7 "device_version": "0.0.1" 7 "device_version": "0.0.1"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["C0", "C1", "C2", "C3", "C4", "C5"], 13 "cols": ["C0", "C1", "C2", "C3", "C4", "C5"],
diff --git a/keyboards/heliotrope/info.json b/keyboards/heliotrope/info.json
index b443c4d54c..3b382c7bc9 100644
--- a/keyboards/heliotrope/info.json
+++ b/keyboards/heliotrope/info.json
@@ -28,7 +28,7 @@
28 "pin": "A4" 28 "pin": "A4"
29 }, 29 },
30 "rgb_matrix": { 30 "rgb_matrix": {
31 "driver": "WS2812", 31 "driver": "ws2812",
32 "layout": [ 32 "layout": [
33 {"flags": 4, "matrix": [0, 0], "x": 7, "y": 5}, 33 {"flags": 4, "matrix": [0, 0], "x": 7, "y": 5},
34 {"flags": 4, "matrix": [0, 1], "x": 22, "y": 5}, 34 {"flags": 4, "matrix": [0, 1], "x": 22, "y": 5},
diff --git a/keyboards/helix/rev3_4rows/info.json b/keyboards/helix/rev3_4rows/info.json
index 7c8042bb5e..c18fc1bbd7 100644
--- a/keyboards/helix/rev3_4rows/info.json
+++ b/keyboards/helix/rev3_4rows/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812", 12 "driver": "ws2812",
13 "sat_steps": 8, 13 "sat_steps": 8,
14 "val_steps": 8, 14 "val_steps": 8,
15 "speed_steps": 10 15 "speed_steps": 10
diff --git a/keyboards/helix/rev3_5rows/info.json b/keyboards/helix/rev3_5rows/info.json
index 12a4b618e2..0ac2aa0f10 100644
--- a/keyboards/helix/rev3_5rows/info.json
+++ b/keyboards/helix/rev3_5rows/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812", 12 "driver": "ws2812",
13 "sat_steps": 8, 13 "sat_steps": 8,
14 "val_steps": 8, 14 "val_steps": 8,
15 "speed_steps": 10 15 "speed_steps": 10
diff --git a/keyboards/hfdkb/ac001/info.json b/keyboards/hfdkb/ac001/info.json
index 229bee6ff4..0a361d63ed 100644
--- a/keyboards/hfdkb/ac001/info.json
+++ b/keyboards/hfdkb/ac001/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "WS2812" 13 "driver": "ws2812"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["A5", "A6", "A7", "C4", "C5"], 16 "cols": ["A5", "A6", "A7", "C4", "C5"],
diff --git a/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json b/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json
index 192e9285fc..7f8a448d07 100644
--- a/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json
+++ b/keyboards/horrortroll/chinese_pcb/devil68_pro/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "WS2812" 13 "driver": "ws2812"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["B1", "B0", "B5", "B6", "C6", "C7", "E2", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], 16 "cols": ["B1", "B0", "B5", "B6", "C6", "C7", "E2", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
diff --git a/keyboards/horrortroll/handwired_k552/info.json b/keyboards/horrortroll/handwired_k552/info.json
index 6bdd2ee2fc..d137a03a52 100644
--- a/keyboards/horrortroll/handwired_k552/info.json
+++ b/keyboards/horrortroll/handwired_k552/info.json
@@ -13,7 +13,7 @@
13 "pin": "C14" 13 "pin": "C14"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["B15", "C6", "C7", "A3", "A1", "C3", "C1", "B14", "B13", "A9", "B3", "B4", "A0", "C11", "C4", "C0", "C2"], 19 "cols": ["B15", "C6", "C7", "A3", "A1", "C3", "C1", "B14", "B13", "A9", "B3", "B4", "A0", "C11", "C4", "C0", "C2"],
diff --git a/keyboards/hotdox76v2/info.json b/keyboards/hotdox76v2/info.json
index 007e7f2354..c66bd5eb8a 100644
--- a/keyboards/hotdox76v2/info.json
+++ b/keyboards/hotdox76v2/info.json
@@ -19,7 +19,7 @@
19 "lto": true 19 "lto": true
20 }, 20 },
21 "rgb_matrix": { 21 "rgb_matrix": {
22 "driver": "WS2812" 22 "driver": "ws2812"
23 }, 23 },
24 "matrix_pins": { 24 "matrix_pins": {
25 "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "E6"], 25 "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "E6"],
diff --git a/keyboards/hs60/v1/info.json b/keyboards/hs60/v1/info.json
index 798d889bd7..c87ca19e3b 100644
--- a/keyboards/hs60/v1/info.json
+++ b/keyboards/hs60/v1/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F1", "F4", "F5", "E6", "F0", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"], 15 "cols": ["F1", "F4", "F5", "E6", "F0", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
diff --git a/keyboards/hub20/info.json b/keyboards/hub20/info.json
index 3b9cec99c2..92aa3605a9 100644
--- a/keyboards/hub20/info.json
+++ b/keyboards/hub20/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A6", "A7", "B7", "B6"], 15 "cols": ["A6", "A7", "B7", "B6"],
diff --git a/keyboards/idobao/id42/info.json b/keyboards/idobao/id42/info.json
index 03a6f1724b..b874f51806 100644
--- a/keyboards/idobao/id42/info.json
+++ b/keyboards/idobao/id42/info.json
@@ -18,7 +18,7 @@
18 "pin": "B3" 18 "pin": "B3"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "WS2812" 21 "driver": "ws2812"
22 }, 22 },
23 "matrix_pins": { 23 "matrix_pins": {
24 "cols": ["B4", "D7", "D6", "D4", "B5", "C7", "F0", "F7", "F6", "F1", "F4", "F5"], 24 "cols": ["B4", "D7", "D6", "D4", "B5", "C7", "F0", "F7", "F6", "F1", "F4", "F5"],
diff --git a/keyboards/idobao/id61/info.json b/keyboards/idobao/id61/info.json
index 57f9e520a3..cf7892ec9f 100644
--- a/keyboards/idobao/id61/info.json
+++ b/keyboards/idobao/id61/info.json
@@ -18,7 +18,7 @@
18 "pin": "F0" 18 "pin": "F0"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "WS2812" 21 "driver": "ws2812"
22 }, 22 },
23 "matrix_pins": { 23 "matrix_pins": {
24 "cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7"], 24 "cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7"],
diff --git a/keyboards/idobao/id63/info.json b/keyboards/idobao/id63/info.json
index 048e187018..32651f918f 100644
--- a/keyboards/idobao/id63/info.json
+++ b/keyboards/idobao/id63/info.json
@@ -18,7 +18,7 @@
18 "pin": "B7" 18 "pin": "B7"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "WS2812" 21 "driver": "ws2812"
22 }, 22 },
23 "matrix_pins": { 23 "matrix_pins": {
24 "cols": ["C7", "F6", "F5", "F4", "F1", "B3", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7"], 24 "cols": ["C7", "F6", "F5", "F4", "F1", "B3", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7"],
diff --git a/keyboards/idobao/id67/info.json b/keyboards/idobao/id67/info.json
index 55f19ba9cc..eff8333a80 100644
--- a/keyboards/idobao/id67/info.json
+++ b/keyboards/idobao/id67/info.json
@@ -18,7 +18,7 @@
18 "pin": "F0" 18 "pin": "F0"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "WS2812" 21 "driver": "ws2812"
22 }, 22 },
23 "matrix_pins": { 23 "matrix_pins": {
24 "cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7", "B4"], 24 "cols": ["C7", "F6", "F5", "F4", "F1", "B7", "D5", "D1", "D2", "D3", "D4", "D0", "D6", "D7", "B4"],
diff --git a/keyboards/idobao/id75/v2/info.json b/keyboards/idobao/id75/v2/info.json
index 5275c54dbb..4cb46c2564 100644
--- a/keyboards/idobao/id75/v2/info.json
+++ b/keyboards/idobao/id75/v2/info.json
@@ -12,7 +12,7 @@
12 "pin": "F0" 12 "pin": "F0"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["F6", "F5", "F4", "F1", "E6", "D5", "D3", "D2", "D1", "D0", "D4", "D6", "D7", "B4", "B5"], 18 "cols": ["F6", "F5", "F4", "F1", "E6", "D5", "D3", "D2", "D1", "D0", "D4", "D6", "D7", "B4", "B5"],
diff --git a/keyboards/idobao/id80/v3/ansi/info.json b/keyboards/idobao/id80/v3/ansi/info.json
index 816e55208f..cf21d3abb1 100644
--- a/keyboards/idobao/id80/v3/ansi/info.json
+++ b/keyboards/idobao/id80/v3/ansi/info.json
@@ -15,7 +15,7 @@
15 "rgblight": false 15 "rgblight": false
16 }, 16 },
17 "rgb_matrix": { 17 "rgb_matrix": {
18 "driver": "WS2812" 18 "driver": "ws2812"
19 }, 19 },
20 "matrix_pins": { 20 "matrix_pins": {
21 "cols": ["B7", "B3", "B2", "B1", "B0", "E6", "F1", "F4", "F5", "F6", "F7"], 21 "cols": ["B7", "B3", "B2", "B1", "B0", "E6", "F1", "F4", "F5", "F6", "F7"],
diff --git a/keyboards/idobao/id87/v2/info.json b/keyboards/idobao/id87/v2/info.json
index aace4915a1..783cd04a03 100644
--- a/keyboards/idobao/id87/v2/info.json
+++ b/keyboards/idobao/id87/v2/info.json
@@ -18,7 +18,7 @@
18 "pin": "E2" 18 "pin": "E2"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "WS2812" 21 "driver": "ws2812"
22 }, 22 },
23 "matrix_pins": { 23 "matrix_pins": {
24 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], 24 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
diff --git a/keyboards/idobao/montex/v1rgb/info.json b/keyboards/idobao/montex/v1rgb/info.json
index 5980cab117..31c06d0809 100755
--- a/keyboards/idobao/montex/v1rgb/info.json
+++ b/keyboards/idobao/montex/v1rgb/info.json
@@ -7,7 +7,7 @@
7 "device_version": "0.0.1" 7 "device_version": "0.0.1"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "WS2812" 10 "driver": "ws2812"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["D5", "D3", "D2", "D1", "D0"], 13 "cols": ["D5", "D3", "D2", "D1", "D0"],
diff --git a/keyboards/idobao/montex/v2/info.json b/keyboards/idobao/montex/v2/info.json
index f034db3c03..74a69d60fe 100755
--- a/keyboards/idobao/montex/v2/info.json
+++ b/keyboards/idobao/montex/v2/info.json
@@ -18,7 +18,7 @@
18 "pin": "B1" 18 "pin": "B1"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "WS2812" 21 "driver": "ws2812"
22 }, 22 },
23 "matrix_pins": { 23 "matrix_pins": {
24 "cols": ["D5", "D3", "D2", "D1", "D0"], 24 "cols": ["D5", "D3", "D2", "D1", "D0"],
diff --git a/keyboards/idyllic/tinny50_rgb/info.json b/keyboards/idyllic/tinny50_rgb/info.json
index fad9c3c730..f02e88f459 100644
--- a/keyboards/idyllic/tinny50_rgb/info.json
+++ b/keyboards/idyllic/tinny50_rgb/info.json
@@ -27,7 +27,7 @@
27 "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP20", "GP19", "GP1", "GP6", "GP5"] 27 "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP20", "GP19", "GP1", "GP6", "GP5"]
28 }, 28 },
29 "rgb_matrix": { 29 "rgb_matrix": {
30 "driver": "WS2812" 30 "driver": "ws2812"
31 }, 31 },
32 "ws2812": { 32 "ws2812": {
33 "pin": "GP10", 33 "pin": "GP10",
diff --git a/keyboards/ilumkb/simpler61/info.json b/keyboards/ilumkb/simpler61/info.json
index 4b3a067522..80a738f4cf 100644
--- a/keyboards/ilumkb/simpler61/info.json
+++ b/keyboards/ilumkb/simpler61/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B0", "B1", "B2", "B3", "B7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], 15 "cols": ["B0", "B1", "B2", "B3", "B7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/ilumkb/simpler64/info.json b/keyboards/ilumkb/simpler64/info.json
index 0db9d79c22..a793907148 100644
--- a/keyboards/ilumkb/simpler64/info.json
+++ b/keyboards/ilumkb/simpler64/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B0", "B1", "B2", "B3", "B7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], 15 "cols": ["B0", "B1", "B2", "B3", "B7", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/inett_studio/sqx/hotswap/info.json b/keyboards/inett_studio/sqx/hotswap/info.json
index 271af5e5b0..305e9d15c7 100644
--- a/keyboards/inett_studio/sqx/hotswap/info.json
+++ b/keyboards/inett_studio/sqx/hotswap/info.json
@@ -12,7 +12,7 @@
12 "pin": "D7" 12 "pin": "D7"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "IS31FL3731" 15 "driver": "is31fl3731"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "saturation_steps": 8, 18 "saturation_steps": 8,
diff --git a/keyboards/inett_studio/sqx/universal/info.json b/keyboards/inett_studio/sqx/universal/info.json
index 8f574769f0..7234fec56c 100644
--- a/keyboards/inett_studio/sqx/universal/info.json
+++ b/keyboards/inett_studio/sqx/universal/info.json
@@ -12,7 +12,7 @@
12 "pin": "D7" 12 "pin": "D7"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "IS31FL3731" 15 "driver": "is31fl3731"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "saturation_steps": 8, 18 "saturation_steps": 8,
diff --git a/keyboards/inland/kb83/info.json b/keyboards/inland/kb83/info.json
index ecd274cef7..ce577fb029 100644
--- a/keyboards/inland/kb83/info.json
+++ b/keyboards/inland/kb83/info.json
@@ -9,7 +9,7 @@
9 "force_nkro": true 9 "force_nkro": true
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "processor": "WB32FQ95", 14 "processor": "WB32FQ95",
15 "bootloader": "wb32-dfu", 15 "bootloader": "wb32-dfu",
diff --git a/keyboards/input_club/k_type/is31fl3733-dual.c b/keyboards/input_club/k_type/is31fl3733-dual.c
index 3898016875..2dec2b0a26 100644
--- a/keyboards/input_club/k_type/is31fl3733-dual.c
+++ b/keyboards/input_club/k_type/is31fl3733-dual.c
@@ -65,7 +65,7 @@ uint8_t g_twi_transfer_buffer[20];
65// The control buffers match the PG0 LED On/Off registers. 65// The control buffers match the PG0 LED On/Off registers.
66// Storing them like this is optimal for I2C transfers to the registers. 66// Storing them like this is optimal for I2C transfers to the registers.
67// We could optimize this and take out the unused registers from these 67// We could optimize this and take out the unused registers from these
68// buffers and the transfers in IS31FL3733_write_pwm_buffer() but it's 68// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's
69// probably not worth the extra complexity. 69// probably not worth the extra complexity.
70uint8_t g_pwm_buffer[DRIVER_COUNT][192]; 70uint8_t g_pwm_buffer[DRIVER_COUNT][192];
71bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false}; 71bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
@@ -73,7 +73,7 @@ bool g_pwm_buffer_update_required[DRIVER_COUNT] = {false};
73uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}}; 73uint8_t g_led_control_registers[DRIVER_COUNT][24] = {{0}, {0}};
74bool g_led_control_registers_update_required[DRIVER_COUNT] = {false}; 74bool g_led_control_registers_update_required[DRIVER_COUNT] = {false};
75 75
76bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data) { 76bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data) {
77 // If the transaction fails function returns false. 77 // If the transaction fails function returns false.
78 g_twi_transfer_buffer[0] = reg; 78 g_twi_transfer_buffer[0] = reg;
79 g_twi_transfer_buffer[1] = data; 79 g_twi_transfer_buffer[1] = data;
@@ -92,7 +92,7 @@ bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t
92 return true; 92 return true;
93} 93}
94 94
95bool IS31FL3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer) { 95bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer) {
96 // Assumes PG1 is already selected. 96 // Assumes PG1 is already selected.
97 // If any of the transactions fails function returns false. 97 // If any of the transactions fails function returns false.
98 // Transmit PWM registers in 12 transfers of 16 bytes. 98 // Transmit PWM registers in 12 transfers of 16 bytes.
@@ -123,7 +123,7 @@ bool IS31FL3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffe
123 return true; 123 return true;
124} 124}
125 125
126void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync) { 126void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync) {
127 // In order to avoid the LEDs being driven with garbage data 127 // In order to avoid the LEDs being driven with garbage data
128 // in the LED driver's PWM registers, shutdown is enabled last. 128 // in the LED driver's PWM registers, shutdown is enabled last.
129 // Set up the mode and other settings, clear the PWM registers, 129 // Set up the mode and other settings, clear the PWM registers,
@@ -131,35 +131,35 @@ void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync) {
131 // Sync is passed so set it according to the datasheet. 131 // Sync is passed so set it according to the datasheet.
132 132
133 // Unlock the command register. 133 // Unlock the command register.
134 IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 134 is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
135 // Select PG0 135 // Select PG0
136 IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); 136 is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL);
137 // Turn off all LEDs. 137 // Turn off all LEDs.
138 for (int i = 0x00; i <= 0x17; i++) { 138 for (int i = 0x00; i <= 0x17; i++) {
139 IS31FL3733_write_register(bus, addr, i, 0x00); 139 is31fl3733_write_register(bus, addr, i, 0x00);
140 } 140 }
141 // Unlock the command register. 141 // Unlock the command register.
142 IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 142 is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
143 // Select PG1 143 // Select PG1
144 IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); 144 is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
145 // Set PWM on all LEDs to 0 145 // Set PWM on all LEDs to 0
146 // No need to setup Breath registers to PWM as that is the default. 146 // No need to setup Breath registers to PWM as that is the default.
147 for (int i = 0x00; i <= 0xBF; i++) { 147 for (int i = 0x00; i <= 0xBF; i++) {
148 IS31FL3733_write_register(bus, addr, i, 0x00); 148 is31fl3733_write_register(bus, addr, i, 0x00);
149 } 149 }
150 // Unlock the command register. 150 // Unlock the command register.
151 IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 151 is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
152 // Select PG3 152 // Select PG3
153 IS31FL3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION); 153 is31fl3733_write_register(bus, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_FUNCTION);
154 // Set global current to maximum. 154 // Set global current to maximum.
155 IS31FL3733_write_register(bus, addr, ISSI_REG_GLOBALCURRENT, 0xFF); 155 is31fl3733_write_register(bus, addr, ISSI_REG_GLOBALCURRENT, 0xFF);
156 // Disable software shutdown. 156 // Disable software shutdown.
157 IS31FL3733_write_register(bus, addr, ISSI_REG_CONFIGURATION, (sync << 6) | 0x01); 157 is31fl3733_write_register(bus, addr, ISSI_REG_CONFIGURATION, (sync << 6) | 0x01);
158 // Wait 10ms to ensure the device has woken up. 158 // Wait 10ms to ensure the device has woken up.
159 wait_ms(10); 159 wait_ms(10);
160} 160}
161 161
162void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 162void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
163 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) { 163 if (index >= 0 && index < RGB_MATRIX_LED_COUNT) {
164 is31_led led = g_is31_leds[index]; 164 is31_led led = g_is31_leds[index];
165 165
@@ -170,13 +170,13 @@ void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
170 } 170 }
171} 171}
172 172
173void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 173void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
174 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 174 for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
175 IS31FL3733_set_color(i, red, green, blue); 175 is31fl3733_set_color(i, red, green, blue);
176 } 176 }
177} 177}
178 178
179void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) { 179void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
180 is31_led led = g_is31_leds[index]; 180 is31_led led = g_is31_leds[index];
181 181
182 uint8_t control_register_r = led.r / 8; 182 uint8_t control_register_r = led.r / 8;
@@ -205,28 +205,28 @@ void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bo
205 g_led_control_registers_update_required[led.driver] = true; 205 g_led_control_registers_update_required[led.driver] = true;
206} 206}
207 207
208void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index) { 208void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) {
209 if (g_pwm_buffer_update_required[index]) { 209 if (g_pwm_buffer_update_required[index]) {
210 // Firstly we need to unlock the command register and select PG1. 210 // Firstly we need to unlock the command register and select PG1.
211 IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 211 is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
212 IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM); 212 is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_PWM);
213 213
214 // If any of the transactions fail we risk writing dirty PG0, 214 // If any of the transactions fail we risk writing dirty PG0,
215 // refresh page 0 just in case. 215 // refresh page 0 just in case.
216 if (!IS31FL3733_write_pwm_buffer(index, addr, g_pwm_buffer[index])) { 216 if (!is31fl3733_write_pwm_buffer(index, addr, g_pwm_buffer[index])) {
217 g_led_control_registers_update_required[index] = true; 217 g_led_control_registers_update_required[index] = true;
218 } 218 }
219 } 219 }
220 g_pwm_buffer_update_required[index] = false; 220 g_pwm_buffer_update_required[index] = false;
221} 221}
222 222
223void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index) { 223void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) {
224 if (g_led_control_registers_update_required[index]) { 224 if (g_led_control_registers_update_required[index]) {
225 // Firstly we need to unlock the command register and select PG0 225 // Firstly we need to unlock the command register and select PG0
226 IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5); 226 is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
227 IS31FL3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL); 227 is31fl3733_write_register(index, addr, ISSI_COMMANDREGISTER, ISSI_PAGE_LEDCONTROL);
228 for (int i = 0; i < 24; i++) { 228 for (int i = 0; i < 24; i++) {
229 IS31FL3733_write_register(index, addr, i, g_led_control_registers[index][i]); 229 is31fl3733_write_register(index, addr, i, g_led_control_registers[index][i]);
230 } 230 }
231 } 231 }
232 g_led_control_registers_update_required[index] = false; 232 g_led_control_registers_update_required[index] = false;
diff --git a/keyboards/input_club/k_type/is31fl3733-dual.h b/keyboards/input_club/k_type/is31fl3733-dual.h
index 16586714b8..1becefbf93 100644
--- a/keyboards/input_club/k_type/is31fl3733-dual.h
+++ b/keyboards/input_club/k_type/is31fl3733-dual.h
@@ -31,21 +31,21 @@ typedef struct is31_led {
31 31
32extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT]; 32extern const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT];
33 33
34void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync); 34void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync);
35bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data); 35bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data);
36bool IS31FL3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer); 36bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer);
37 37
38void IS31FL3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue); 38void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
39void IS31FL3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue); 39void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
40 40
41void IS31FL3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue); 41void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue);
42 42
43// This should not be called from an interrupt 43// This should not be called from an interrupt
44// (eg. from a timer interrupt). 44// (eg. from a timer interrupt).
45// Call this while idle (in between matrix scans). 45// Call this while idle (in between matrix scans).
46// If the buffer is dirty, it will update the driver with the buffer. 46// If the buffer is dirty, it will update the driver with the buffer.
47void IS31FL3733_update_pwm_buffers(uint8_t addr, uint8_t index); // index is the driver index 47void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index); // index is the driver index
48void IS31FL3733_update_led_control_registers(uint8_t addr, uint8_t index); 48void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index);
49 49
50#define A_1 0x00 50#define A_1 0x00
51#define A_2 0x01 51#define A_2 0x01
diff --git a/keyboards/input_club/k_type/k_type-rgbdriver.c b/keyboards/input_club/k_type/k_type-rgbdriver.c
index 6529f98201..dc5d4abd67 100644
--- a/keyboards/input_club/k_type/k_type-rgbdriver.c
+++ b/keyboards/input_club/k_type/k_type-rgbdriver.c
@@ -23,34 +23,34 @@
23 23
24static void init(void) { 24static void init(void) {
25 i2c_init(&I2CD1, I2C1_SCL_PIN, I2C1_SDA_PIN); 25 i2c_init(&I2CD1, I2C1_SCL_PIN, I2C1_SDA_PIN);
26 IS31FL3733_init(0, DRIVER_ADDR_1, 0); 26 is31fl3733_init(0, DRIVER_ADDR_1, 0);
27# ifdef USE_I2C2 27# ifdef USE_I2C2
28 i2c_init(&I2CD2, I2C2_SCL_PIN, I2C2_SDA_PIN); 28 i2c_init(&I2CD2, I2C2_SCL_PIN, I2C2_SDA_PIN);
29 IS31FL3733_init(1, DRIVER_ADDR_2, 0); 29 is31fl3733_init(1, DRIVER_ADDR_2, 0);
30# endif 30# endif
31 for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { 31 for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) {
32 bool enabled = true; 32 bool enabled = true;
33 // This only caches it for later 33 // This only caches it for later
34 IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); 34 is31fl3733_set_led_control_register(index, enabled, enabled, enabled);
35 } 35 }
36 IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); 36 is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0);
37# ifdef USE_I2C2 37# ifdef USE_I2C2
38 IS31FL3733_update_led_control_registers(DRIVER_ADDR_2, 1); 38 is31fl3733_update_led_control_registers(DRIVER_ADDR_2, 1);
39# endif 39# endif
40} 40}
41 41
42static void flush(void) { 42static void flush(void) {
43 IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); 43 is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0);
44# ifdef USE_I2C2 44# ifdef USE_I2C2
45 IS31FL3733_update_pwm_buffers(DRIVER_ADDR_2, 1); 45 is31fl3733_update_pwm_buffers(DRIVER_ADDR_2, 1);
46# endif 46# endif
47} 47}
48 48
49const rgb_matrix_driver_t rgb_matrix_driver = { 49const rgb_matrix_driver_t rgb_matrix_driver = {
50 .init = init, 50 .init = init,
51 .flush = flush, 51 .flush = flush,
52 .set_color = IS31FL3733_set_color, 52 .set_color = is31fl3733_set_color,
53 .set_color_all = IS31FL3733_set_color_all, 53 .set_color_all = is31fl3733_set_color_all,
54}; 54};
55 55
56#endif 56#endif
diff --git a/keyboards/jacky_studio/bear_65/rev1/info.json b/keyboards/jacky_studio/bear_65/rev1/info.json
index 42b397ce73..74446d8206 100644
--- a/keyboards/jacky_studio/bear_65/rev1/info.json
+++ b/keyboards/jacky_studio/bear_65/rev1/info.json
@@ -11,7 +11,7 @@
11 "device_version": "0.0.1" 11 "device_version": "0.0.1"
12 }, 12 },
13 "rgb_matrix": { 13 "rgb_matrix": {
14 "driver": "WS2812" 14 "driver": "ws2812"
15 }, 15 },
16 "matrix_pins": { 16 "matrix_pins": {
17 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0"], 17 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0"],
diff --git a/keyboards/jacky_studio/bear_65/rev2/info.json b/keyboards/jacky_studio/bear_65/rev2/info.json
index 50e53c3564..bad2fb0191 100644
--- a/keyboards/jacky_studio/bear_65/rev2/info.json
+++ b/keyboards/jacky_studio/bear_65/rev2/info.json
@@ -11,7 +11,7 @@
11 "device_version": "0.0.1" 11 "device_version": "0.0.1"
12 }, 12 },
13 "rgb_matrix": { 13 "rgb_matrix": {
14 "driver": "WS2812" 14 "driver": "ws2812"
15 }, 15 },
16 "matrix_pins": { 16 "matrix_pins": {
17 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0"], 17 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "F6", "F5", "F4", "F1", "F0"],
diff --git a/keyboards/jacky_studio/piggy60/rev2/info.json b/keyboards/jacky_studio/piggy60/rev2/info.json
index f824945aa0..50f2849e73 100644
--- a/keyboards/jacky_studio/piggy60/rev2/info.json
+++ b/keyboards/jacky_studio/piggy60/rev2/info.json
@@ -24,7 +24,7 @@
24 "driver": "pwm" 24 "driver": "pwm"
25 }, 25 },
26 "rgb_matrix": { 26 "rgb_matrix": {
27 "driver": "WS2812", 27 "driver": "ws2812",
28 "animations": { 28 "animations": {
29 "alphas_mods": true, 29 "alphas_mods": true,
30 "gradient_up_down": true, 30 "gradient_up_down": true,
diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json
index 46e499237a..e097b47ce5 100644
--- a/keyboards/jadookb/jkb65/info.json
+++ b/keyboards/jadookb/jkb65/info.json
@@ -10,7 +10,7 @@
10 "pin": "F0" 10 "pin": "F0"
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "WS2812", 13 "driver": "ws2812",
14 "timeout": 90000 14 "timeout": 90000
15 }, 15 },
16 "processor": "atmega32u4", 16 "processor": "atmega32u4",
diff --git a/keyboards/jkeys_design/gentleman65/info.json b/keyboards/jkeys_design/gentleman65/info.json
index 3586c8ed19..1af0527410 100644
--- a/keyboards/jkeys_design/gentleman65/info.json
+++ b/keyboards/jkeys_design/gentleman65/info.json
@@ -15,7 +15,7 @@
15 "pin": "F4" 15 "pin": "F4"
16 }, 16 },
17 "rgb_matrix": { 17 "rgb_matrix": {
18 "driver": "WS2812" 18 "driver": "ws2812"
19 }, 19 },
20 "matrix_pins": { 20 "matrix_pins": {
21 "cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "D5", "C7", "F0", "B2", "B1", "B3", "B0", "B7", "D0"], 21 "cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "D5", "C7", "F0", "B2", "B1", "B3", "B0", "B7", "D0"],
diff --git a/keyboards/jkeys_design/gentleman65_se_s/info.json b/keyboards/jkeys_design/gentleman65_se_s/info.json
index 2108bad6d2..0579d57b4f 100644
--- a/keyboards/jkeys_design/gentleman65_se_s/info.json
+++ b/keyboards/jkeys_design/gentleman65_se_s/info.json
@@ -15,7 +15,7 @@
15 "pin": "F7" 15 "pin": "F7"
16 }, 16 },
17 "rgb_matrix": { 17 "rgb_matrix": {
18 "driver": "WS2812" 18 "driver": "ws2812"
19 }, 19 },
20 "matrix_pins": { 20 "matrix_pins": {
21 "cols": ["D5", "D3", "D2", "D1", "D0", "B7", "B2", "B3", "D4", "D6", "D7", "C7", "C6", "B6", "B5", "B4"], 21 "cols": ["D5", "D3", "D2", "D1", "D0", "B7", "B2", "B3", "D4", "D6", "D7", "C7", "C6", "B6", "B5", "B4"],
diff --git a/keyboards/junco/info.json b/keyboards/junco/info.json
index 3762433765..4c9b3ae6ba 100644
--- a/keyboards/junco/info.json
+++ b/keyboards/junco/info.json
@@ -18,7 +18,7 @@
18 "driver": "vendor" 18 "driver": "vendor"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "WS2812" 21 "driver": "ws2812"
22 }, 22 },
23 "encoder": { 23 "encoder": {
24 "rotary": [ 24 "rotary": [
diff --git a/keyboards/kapl/rev1/info.json b/keyboards/kapl/rev1/info.json
index 07ab869a44..2f79c130ef 100644
--- a/keyboards/kapl/rev1/info.json
+++ b/keyboards/kapl/rev1/info.json
@@ -12,7 +12,7 @@
12 "pin": "D4" 12 "pin": "D4"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812", 15 "driver": "ws2812",
16 "speed_steps": 10 16 "speed_steps": 10
17 }, 17 },
18 "rgblight": { 18 "rgblight": {
diff --git a/keyboards/kbdcraft/adam64/info.json b/keyboards/kbdcraft/adam64/info.json
index cc33c26cc1..be24ef4c19 100644
--- a/keyboards/kbdcraft/adam64/info.json
+++ b/keyboards/kbdcraft/adam64/info.json
@@ -25,7 +25,7 @@
25 "rgb_matrix": true 25 "rgb_matrix": true
26 }, 26 },
27 "rgb_matrix": { 27 "rgb_matrix": {
28 "driver": "IS31FL3741", 28 "driver": "is31fl3741",
29 "max_brightness": 150, 29 "max_brightness": 150,
30 "animations": { 30 "animations": {
31 "alphas_mods": true, 31 "alphas_mods": true,
diff --git a/keyboards/kbdfans/baguette66/rgb/info.json b/keyboards/kbdfans/baguette66/rgb/info.json
index 9ac27f950a..519afbcc48 100644
--- a/keyboards/kbdfans/baguette66/rgb/info.json
+++ b/keyboards/kbdfans/baguette66/rgb/info.json
@@ -14,7 +14,7 @@
14 "pin": "E6" 14 "pin": "E6"
15 }, 15 },
16 "rgb_matrix": { 16 "rgb_matrix": {
17 "driver": "WS2812", 17 "driver": "ws2812",
18 "sat_steps": 8, 18 "sat_steps": 8,
19 "val_steps": 8, 19 "val_steps": 8,
20 "speed_steps": 10 20 "speed_steps": 10
diff --git a/keyboards/kbdfans/bella/rgb/info.json b/keyboards/kbdfans/bella/rgb/info.json
index ba39628688..b3b4e385f1 100644
--- a/keyboards/kbdfans/bella/rgb/info.json
+++ b/keyboards/kbdfans/bella/rgb/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"], 15 "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
diff --git a/keyboards/kbdfans/bella/rgb_iso/info.json b/keyboards/kbdfans/bella/rgb_iso/info.json
index ffdf11155a..d407cb0f7b 100644
--- a/keyboards/kbdfans/bella/rgb_iso/info.json
+++ b/keyboards/kbdfans/bella/rgb_iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"], 15 "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
diff --git a/keyboards/kbdfans/boop65/rgb/info.json b/keyboards/kbdfans/boop65/rgb/info.json
index 8f9028305e..cc780177dc 100644
--- a/keyboards/kbdfans/boop65/rgb/info.json
+++ b/keyboards/kbdfans/boop65/rgb/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], 15 "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
index 733d68cc59..7b6795f07f 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/info.json
@@ -5,7 +5,7 @@
5 "device_version": "0.0.1" 5 "device_version": "0.0.1"
6 }, 6 },
7 "rgb_matrix": { 7 "rgb_matrix": {
8 "driver": "IS31FL3731" 8 "driver": "is31fl3731"
9 }, 9 },
10 "matrix_pins": { 10 "matrix_pins": {
11 "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15"], 11 "cols": ["A6", "A7", "B0", "B13", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15"],
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
index 441c543913..e0fe90b6f3 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/info.json
@@ -5,7 +5,7 @@
5 "device_version": "0.0.2" 5 "device_version": "0.0.2"
6 }, 6 },
7 "rgb_matrix": { 7 "rgb_matrix": {
8 "driver": "IS31FL3731" 8 "driver": "is31fl3731"
9 }, 9 },
10 "matrix_pins": { 10 "matrix_pins": {
11 "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], 11 "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
index 378ffa7845..165db96293 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v3/info.json
@@ -5,7 +5,7 @@
5 "device_version": "0.0.3" 5 "device_version": "0.0.3"
6 }, 6 },
7 "rgb_matrix": { 7 "rgb_matrix": {
8 "driver": "IS31FL3741" 8 "driver": "is31fl3741"
9 }, 9 },
10 "matrix_pins": { 10 "matrix_pins": {
11 "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"], 11 "cols": ["F7", "F6", "F5", "C7", "B0", "B1", "B2", "B3", "B4", "D7", "D6", "D4", "D5", "D3", "D2"],
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
index f66a39d799..7a62b96488 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v4/info.json
@@ -11,7 +11,7 @@
11 "pin": "C7" 11 "pin": "C7"
12 }, 12 },
13 "rgb_matrix": { 13 "rgb_matrix": {
14 "driver": "WS2812", 14 "driver": "ws2812",
15 "sat_steps": 8, 15 "sat_steps": 8,
16 "val_steps": 8, 16 "val_steps": 8,
17 "speed_steps": 10 17 "speed_steps": 10
diff --git a/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json b/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json
index 222742ed8f..cb8912f9a4 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json
+++ b/keyboards/kbdfans/kbd67/mkiirgb_iso/info.json
@@ -12,7 +12,7 @@
12 "pin": "C7" 12 "pin": "C7"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812", 15 "driver": "ws2812",
16 "sat_steps": 8, 16 "sat_steps": 8,
17 "val_steps": 8, 17 "val_steps": 8,
18 "speed_steps": 10 18 "speed_steps": 10
diff --git a/keyboards/kbdfans/kbd75rgb/info.json b/keyboards/kbdfans/kbd75rgb/info.json
index bf2f596f3a..84b2a212d0 100644
--- a/keyboards/kbdfans/kbd75rgb/info.json
+++ b/keyboards/kbdfans/kbd75rgb/info.json
@@ -15,7 +15,7 @@
15 "pin": "C7" 15 "pin": "C7"
16 }, 16 },
17 "rgb_matrix": { 17 "rgb_matrix": {
18 "driver": "WS2812", 18 "driver": "ws2812",
19 "sat_steps": 8, 19 "sat_steps": 8,
20 "val_steps": 8, 20 "val_steps": 8,
21 "speed_steps": 10 21 "speed_steps": 10
diff --git a/keyboards/kbdfans/kbdmini/info.json b/keyboards/kbdfans/kbdmini/info.json
index 533f52f012..99aa4a4113 100644
--- a/keyboards/kbdfans/kbdmini/info.json
+++ b/keyboards/kbdfans/kbdmini/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B3", "B2", "B1", "B0", "F1", "F0", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], 15 "cols": ["B3", "B2", "B1", "B0", "F1", "F0", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
diff --git a/keyboards/kbdfans/kbdpad/mk3/info.json b/keyboards/kbdfans/kbdpad/mk3/info.json
index 01837a1d82..8ba02f8fa1 100644
--- a/keyboards/kbdfans/kbdpad/mk3/info.json
+++ b/keyboards/kbdfans/kbdpad/mk3/info.json
@@ -23,7 +23,7 @@
23 }, 23 },
24 "processor": "atmega32u4", 24 "processor": "atmega32u4",
25 "rgb_matrix": { 25 "rgb_matrix": {
26 "driver": "WS2812", 26 "driver": "ws2812",
27 "layout": [ 27 "layout": [
28 {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0}, 28 {"flags": 4, "matrix": [0, 0], "x": 0, "y": 0},
29 {"flags": 4, "matrix": [0, 1], "x": 75, "y": 0}, 29 {"flags": 4, "matrix": [0, 1], "x": 75, "y": 0},
diff --git a/keyboards/kbdfans/maja/info.json b/keyboards/kbdfans/maja/info.json
index 68dc1d16e6..8ee6118452 100644
--- a/keyboards/kbdfans/maja/info.json
+++ b/keyboards/kbdfans/maja/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"], 15 "cols": ["C6", "C7", "F7", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"],
diff --git a/keyboards/kbdfans/odin/rgb/info.json b/keyboards/kbdfans/odin/rgb/info.json
index 46d9756ae9..308e9870cc 100644
--- a/keyboards/kbdfans/odin/rgb/info.json
+++ b/keyboards/kbdfans/odin/rgb/info.json
@@ -12,7 +12,7 @@
12 "pin": "B15" 12 "pin": "B15"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B12", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "C13", "C14", "C15", "A0"], 18 "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B12", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "C13", "C14", "C15", "A0"],
diff --git a/keyboards/keebio/bamfk4/info.json b/keyboards/keebio/bamfk4/info.json
index 52e072dcf9..061eef9df2 100644
--- a/keyboards/keebio/bamfk4/info.json
+++ b/keyboards/keebio/bamfk4/info.json
@@ -12,7 +12,7 @@
12 "pin": "D3" 12 "pin": "D3"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "saturation_steps": 8, 18 "saturation_steps": 8,
diff --git a/keyboards/keebio/bdn9/rev2/info.json b/keyboards/keebio/bdn9/rev2/info.json
index c7dd5d6bcd..88d0083406 100644
--- a/keyboards/keebio/bdn9/rev2/info.json
+++ b/keyboards/keebio/bdn9/rev2/info.json
@@ -14,7 +14,7 @@
14 "pin": "B15" 14 "pin": "B15"
15 }, 15 },
16 "rgb_matrix": { 16 "rgb_matrix": {
17 "driver": "WS2812" 17 "driver": "ws2812"
18 }, 18 },
19 "encoder": { 19 "encoder": {
20 "rotary": [ 20 "rotary": [
diff --git a/keyboards/keebio/cepstrum/rev1/info.json b/keyboards/keebio/cepstrum/rev1/info.json
index df98f9f12e..b5bf188c92 100644
--- a/keyboards/keebio/cepstrum/rev1/info.json
+++ b/keyboards/keebio/cepstrum/rev1/info.json
@@ -124,7 +124,7 @@
124 "pin": "GP18" 124 "pin": "GP18"
125 }, 125 },
126 "rgb_matrix": { 126 "rgb_matrix": {
127 "driver": "WS2812", 127 "driver": "ws2812",
128 "split_count": [48, 48], 128 "split_count": [48, 48],
129 "layout": [ 129 "layout": [
130 {"flags":2, "x":46, "y":0}, 130 {"flags":2, "x":46, "y":0},
diff --git a/keyboards/keebio/chocopad/rev2/info.json b/keyboards/keebio/chocopad/rev2/info.json
index cb29d0e83c..a615aac7ad 100644
--- a/keyboards/keebio/chocopad/rev2/info.json
+++ b/keyboards/keebio/chocopad/rev2/info.json
@@ -21,7 +21,7 @@
21 "driver": "vendor" 21 "driver": "vendor"
22 }, 22 },
23 "rgb_matrix": { 23 "rgb_matrix": {
24 "driver": "WS2812", 24 "driver": "ws2812",
25 "animations": { 25 "animations": {
26 "alphas_mods": true, 26 "alphas_mods": true,
27 "gradient_up_down": true, 27 "gradient_up_down": true,
diff --git a/keyboards/keebio/convolution/rev1/info.json b/keyboards/keebio/convolution/rev1/info.json
index 7a8b88e7dc..5255f00ab9 100644
--- a/keyboards/keebio/convolution/rev1/info.json
+++ b/keyboards/keebio/convolution/rev1/info.json
@@ -29,7 +29,7 @@
29 "driver": "vendor" 29 "driver": "vendor"
30 }, 30 },
31 "rgb_matrix": { 31 "rgb_matrix": {
32 "driver": "WS2812", 32 "driver": "ws2812",
33 "layout": [ 33 "layout": [
34 {"flags": 2, "x": 12, "y": 13}, 34 {"flags": 2, "x": 12, "y": 13},
35 {"flags": 2, "x": 40, "y": 13}, 35 {"flags": 2, "x": 40, "y": 13},
diff --git a/keyboards/keebio/iris/keymaps/johnstegeman/rules.mk b/keyboards/keebio/iris/keymaps/johnstegeman/rules.mk
index 73761f8e6f..56c422e572 100644
--- a/keyboards/keebio/iris/keymaps/johnstegeman/rules.mk
+++ b/keyboards/keebio/iris/keymaps/johnstegeman/rules.mk
@@ -18,7 +18,7 @@ CONSOLE_ENABLE = no # Console for debug
18RGBLIGHT_ENABLE = yes 18RGBLIGHT_ENABLE = yes
19RGB_MATRIX_ENABLE = no 19RGB_MATRIX_ENABLE = no
20#RGB_MATRIX_ENABLE = yes 20#RGB_MATRIX_ENABLE = yes
21#RGB_MATRIX_DRIVER = WS2812 21#RGB_MATRIX_DRIVER = ws2812
22LTO_ENABLE = yes 22LTO_ENABLE = yes
23VIA_ENABLE = yes 23VIA_ENABLE = yes
24KEY_OVERRIDE_ENABLE = yes 24KEY_OVERRIDE_ENABLE = yes
diff --git a/keyboards/keebio/iris/rev6/info.json b/keyboards/keebio/iris/rev6/info.json
index c2e1d2158d..8a5072d39b 100644
--- a/keyboards/keebio/iris/rev6/info.json
+++ b/keyboards/keebio/iris/rev6/info.json
@@ -5,7 +5,7 @@
5 "device_version": "6.2.0" 5 "device_version": "6.2.0"
6 }, 6 },
7 "rgb_matrix": { 7 "rgb_matrix": {
8 "driver": "WS2812" 8 "driver": "ws2812"
9 }, 9 },
10 "matrix_pins": { 10 "matrix_pins": {
11 "cols": ["F1", "F4", "B5", "C7", "D4", "D6"], 11 "cols": ["F1", "F4", "B5", "C7", "D4", "D6"],
diff --git a/keyboards/keebio/iris/rev7/info.json b/keyboards/keebio/iris/rev7/info.json
index aa8e4ffc43..72b56ac8d3 100644
--- a/keyboards/keebio/iris/rev7/info.json
+++ b/keyboards/keebio/iris/rev7/info.json
@@ -5,7 +5,7 @@
5 "device_version": "7.0.0" 5 "device_version": "7.0.0"
6 }, 6 },
7 "rgb_matrix": { 7 "rgb_matrix": {
8 "driver": "WS2812" 8 "driver": "ws2812"
9 }, 9 },
10 "matrix_pins": { 10 "matrix_pins": {
11 "cols": ["F1", "F4", "B5", "C7", "D4", "D6"], 11 "cols": ["F1", "F4", "B5", "C7", "D4", "D6"],
diff --git a/keyboards/keebio/iris/rev8/info.json b/keyboards/keebio/iris/rev8/info.json
index 198e4fd56f..7d75640801 100644
--- a/keyboards/keebio/iris/rev8/info.json
+++ b/keyboards/keebio/iris/rev8/info.json
@@ -156,7 +156,7 @@
156 "solid_splash": true, 156 "solid_splash": true,
157 "solid_multisplash": true 157 "solid_multisplash": true
158 }, 158 },
159 "driver": "WS2812", 159 "driver": "ws2812",
160 "split_count": [34, 34], 160 "split_count": [34, 34],
161 "max_brightness": 120, 161 "max_brightness": 120,
162 "layout": [ 162 "layout": [
diff --git a/keyboards/keebio/nyquist/rev4/info.json b/keyboards/keebio/nyquist/rev4/info.json
index 1788f3427f..d18af71952 100644
--- a/keyboards/keebio/nyquist/rev4/info.json
+++ b/keyboards/keebio/nyquist/rev4/info.json
@@ -180,7 +180,7 @@
180 } 180 }
181 }, 181 },
182 "rgb_matrix": { 182 "rgb_matrix": {
183 "driver": "WS2812", 183 "driver": "ws2812",
184 "split_count": [36, 36], 184 "split_count": [36, 36],
185 "max_brightness": 120, 185 "max_brightness": 120,
186 "animations": { 186 "animations": {
diff --git a/keyboards/keebio/sinc/rev3/info.json b/keyboards/keebio/sinc/rev3/info.json
index 76dfd88b3e..8ba35fd158 100644
--- a/keyboards/keebio/sinc/rev3/info.json
+++ b/keyboards/keebio/sinc/rev3/info.json
@@ -44,7 +44,7 @@
44 "driver": "vendor" 44 "driver": "vendor"
45 }, 45 },
46 "rgb_matrix": { 46 "rgb_matrix": {
47 "driver": "WS2812", 47 "driver": "ws2812",
48 "split_count": [56, 57], 48 "split_count": [56, 57],
49 "layout": [ 49 "layout": [
50 {"flags": 4, "matrix": [5, 2], "x": 30, "y": 0}, 50 {"flags": 4, "matrix": [5, 2], "x": 30, "y": 0},
diff --git a/keyboards/keebio/sinc/rev4/info.json b/keyboards/keebio/sinc/rev4/info.json
index f985f64e48..31d402c42e 100644
--- a/keyboards/keebio/sinc/rev4/info.json
+++ b/keyboards/keebio/sinc/rev4/info.json
@@ -42,7 +42,7 @@
42 "driver": "vendor" 42 "driver": "vendor"
43 }, 43 },
44 "rgb_matrix": { 44 "rgb_matrix": {
45 "driver": "WS2812", 45 "driver": "ws2812",
46 "split_count": [58, 59], 46 "split_count": [58, 59],
47 "layout": [ 47 "layout": [
48 {"flags": 4, "matrix": [5, 2], "x": 30, "y": 0}, 48 {"flags": 4, "matrix": [5, 2], "x": 30, "y": 0},
diff --git a/keyboards/keebio/stick/info.json b/keyboards/keebio/stick/info.json
index c5d88a746c..08bf76423b 100644
--- a/keyboards/keebio/stick/info.json
+++ b/keyboards/keebio/stick/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keebwerk/mega/ansi/ansi.c b/keyboards/keebwerk/mega/ansi/ansi.c
index 532cdec9aa..4494ffd9ff 100755
--- a/keyboards/keebwerk/mega/ansi/ansi.c
+++ b/keyboards/keebwerk/mega/ansi/ansi.c
@@ -36,7 +36,7 @@ uint8_t B = 0;
36// } else { 36// } else {
37// G = 0; 37// G = 0;
38// } 38// }
39// IS31FL3733_set_color( 6+64-1, R, G, B ); 39// is31fl3733_set_color( 6+64-1, R, G, B );
40// } 40// }
41// return res; 41// return res;
42// } 42// }
@@ -54,6 +54,6 @@ __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
54 if (IS_LAYER_ON_STATE(layer_state, 3)) { 54 if (IS_LAYER_ON_STATE(layer_state, 3)) {
55 B = 255; 55 B = 255;
56 } 56 }
57 IS31FL3733_set_color( 6+64-1, R, G, B ); 57 is31fl3733_set_color( 6+64-1, R, G, B );
58 return state; 58 return state;
59} 59}
diff --git a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c b/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
index a9b1dec281..2b5d658f02 100644
--- a/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
+++ b/keyboards/keebwerk/mega/ansi/keymaps/jesusvallejo/keymap.c
@@ -77,25 +77,25 @@ bool bootAnimation(void){
77 G = 255; 77 G = 255;
78 R = 0; 78 R = 0;
79 B = 0; 79 B = 0;
80 IS31FL3733_set_color( 6+64-1, R, G, B ); 80 is31fl3733_set_color( 6+64-1, R, G, B );
81 } 81 }
82 if (timer_elapsed(ledTimer) > 300){ 82 if (timer_elapsed(ledTimer) > 300){
83 G = 255; 83 G = 255;
84 R = 255; 84 R = 255;
85 B = 0; 85 B = 0;
86 IS31FL3733_set_color( 6+64-1, R, G, B ); 86 is31fl3733_set_color( 6+64-1, R, G, B );
87 } 87 }
88 if (timer_elapsed(ledTimer) > 400){ 88 if (timer_elapsed(ledTimer) > 400){
89 G = 255; 89 G = 255;
90 R = 255; 90 R = 255;
91 B = 255; 91 B = 255;
92 IS31FL3733_set_color( 6+64-1, R, G, B ); 92 is31fl3733_set_color( 6+64-1, R, G, B );
93 } 93 }
94 if (timer_elapsed(ledTimer) > 500){ 94 if (timer_elapsed(ledTimer) > 500){
95 G = 0; 95 G = 0;
96 R = 0; 96 R = 0;
97 B = 0; 97 B = 0;
98 IS31FL3733_set_color( 6+64-1, R, G, B ); 98 is31fl3733_set_color( 6+64-1, R, G, B );
99 ledTimer = timer_read(); 99 ledTimer = timer_read();
100 bootFirst--; 100 bootFirst--;
101 } 101 }
@@ -105,13 +105,13 @@ bool bootAnimation(void){
105 G = 255; 105 G = 255;
106 R = 255; 106 R = 255;
107 B = 255; 107 B = 255;
108 IS31FL3733_set_color( 6+64-1, R, G, B ); 108 is31fl3733_set_color( 6+64-1, R, G, B );
109 } 109 }
110 if (timer_elapsed(ledTimer) > 400){ 110 if (timer_elapsed(ledTimer) > 400){
111 G = 0; 111 G = 0;
112 R = 0; 112 R = 0;
113 B = 0; 113 B = 0;
114 IS31FL3733_set_color( 6+64-1, R, G, B ); 114 is31fl3733_set_color( 6+64-1, R, G, B );
115 ledTimer = timer_read(); 115 ledTimer = timer_read();
116 bootSec--; 116 bootSec--;
117 } 117 }
@@ -129,7 +129,7 @@ void breathing(void) {
129 G+=fadeStep; 129 G+=fadeStep;
130 R+=fadeStep; 130 R+=fadeStep;
131 B+=fadeStep; 131 B+=fadeStep;
132 IS31FL3733_set_color( 6+64-1, R, G, B ); 132 is31fl3733_set_color( 6+64-1, R, G, B );
133 previousTime = time; 133 previousTime = time;
134 } 134 }
135 } 135 }
@@ -139,7 +139,7 @@ void breathing(void) {
139 G-=fadeStep; 139 G-=fadeStep;
140 R-=fadeStep; 140 R-=fadeStep;
141 B-=fadeStep; 141 B-=fadeStep;
142 IS31FL3733_set_color( 6+64-1, R, G, B ); 142 is31fl3733_set_color( 6+64-1, R, G, B );
143 previousTime = time; 143 previousTime = time;
144 } 144 }
145 } 145 }
@@ -147,7 +147,7 @@ void breathing(void) {
147 R=0; 147 R=0;
148 G=0; 148 G=0;
149 B=0; 149 B=0;
150 IS31FL3733_set_color( 6+64-1, R, G, B ); 150 is31fl3733_set_color( 6+64-1, R, G, B );
151 previousTime = 0; 151 previousTime = 0;
152 time = 0; 152 time = 0;
153 ledTimer=timer_read(); 153 ledTimer=timer_read();
@@ -169,7 +169,7 @@ void matrix_scan_user(void){
169 G = 0; 169 G = 0;
170 R = 0; 170 R = 0;
171 B = 0; 171 B = 0;
172 IS31FL3733_set_color( 6+64-1, R, G, B ); 172 is31fl3733_set_color( 6+64-1, R, G, B );
173 prevCapsState = capsState; 173 prevCapsState = capsState;
174 } 174 }
175 } 175 }
diff --git a/keyboards/keybee/keybee65/info.json b/keyboards/keybee/keybee65/info.json
index af92a14a68..7ec1979c08 100644
--- a/keyboards/keybee/keybee65/info.json
+++ b/keyboards/keybee/keybee65/info.json
@@ -12,7 +12,7 @@
12 "pin": "B0" 12 "pin": "B0"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "max_brightness": 96 18 "max_brightness": 96
diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk b/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk
index 96b99cdff0..46cb8d8a94 100644
--- a/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk
+++ b/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk
@@ -9,7 +9,7 @@ LTO_ENABLE = yes
9 9
10#ENABLE RGB MATRIX WITH DRIVER WS2812 10#ENABLE RGB MATRIX WITH DRIVER WS2812
11RGB_MATRIX_ENABLE = yes 11RGB_MATRIX_ENABLE = yes
12RGB_MATRIX_DRIVER = WS2812 12RGB_MATRIX_DRIVER = ws2812
13 13
14#DEFINE SPLIT KEYBOARD AND SPLIT TRANSPORT MIRROR 14#DEFINE SPLIT KEYBOARD AND SPLIT TRANSPORT MIRROR
15SPLIT_KEYBOARD = yes 15SPLIT_KEYBOARD = yes
diff --git a/keyboards/keychron/c1_pro/ansi/rgb/info.json b/keyboards/keychron/c1_pro/ansi/rgb/info.json
index e5f964a96a..c6011a2837 100644
--- a/keyboards/keychron/c1_pro/ansi/rgb/info.json
+++ b/keyboards/keychron/c1_pro/ansi/rgb/info.json
@@ -105,7 +105,7 @@
105 } 105 }
106 }, 106 },
107 "rgb_matrix": { 107 "rgb_matrix": {
108 "driver": "CKLED2001", 108 "driver": "ckled2001",
109 "animations": { 109 "animations": {
110 "breathing": true, 110 "breathing": true,
111 "band_spiral_val": true, 111 "band_spiral_val": true,
diff --git a/keyboards/keychron/c2_pro/ansi/rgb/info.json b/keyboards/keychron/c2_pro/ansi/rgb/info.json
index eab0e9bdc4..e527af3371 100644
--- a/keyboards/keychron/c2_pro/ansi/rgb/info.json
+++ b/keyboards/keychron/c2_pro/ansi/rgb/info.json
@@ -122,7 +122,7 @@
122 } 122 }
123 }, 123 },
124 "rgb_matrix": { 124 "rgb_matrix": {
125 "driver": "CKLED2001", 125 "driver": "ckled2001",
126 "animations": { 126 "animations": {
127 "breathing": true, 127 "breathing": true,
128 "band_spiral_val": true, 128 "band_spiral_val": true,
diff --git a/keyboards/keychron/q0/rev_0130/info.json b/keyboards/keychron/q0/rev_0130/info.json
index bb901c4220..f6225c884a 100644
--- a/keyboards/keychron/q0/rev_0130/info.json
+++ b/keyboards/keychron/q0/rev_0130/info.json
@@ -29,7 +29,7 @@
29 "processor": "STM32L432", 29 "processor": "STM32L432",
30 "bootloader": "stm32-dfu", 30 "bootloader": "stm32-dfu",
31 "rgb_matrix": { 31 "rgb_matrix": {
32 "driver": "CKLED2001", 32 "driver": "ckled2001",
33 "animations": { 33 "animations": {
34 "band_spiral_val": true, 34 "band_spiral_val": true,
35 "breathing": true, 35 "breathing": true,
diff --git a/keyboards/keychron/q0/rev_0131/info.json b/keyboards/keychron/q0/rev_0131/info.json
index 5f8d6219de..c569e498f4 100644
--- a/keyboards/keychron/q0/rev_0131/info.json
+++ b/keyboards/keychron/q0/rev_0131/info.json
@@ -38,7 +38,7 @@
38 "processor": "STM32L432", 38 "processor": "STM32L432",
39 "bootloader": "stm32-dfu", 39 "bootloader": "stm32-dfu",
40 "rgb_matrix": { 40 "rgb_matrix": {
41 "driver": "CKLED2001", 41 "driver": "ckled2001",
42 "animations": { 42 "animations": {
43 "band_spiral_val": true, 43 "band_spiral_val": true,
44 "breathing": true, 44 "breathing": true,
diff --git a/keyboards/keychron/q1/ansi/info.json b/keyboards/keychron/q1/ansi/info.json
index b48eaee03e..8ff2075747 100644
--- a/keyboards/keychron/q1/ansi/info.json
+++ b/keyboards/keychron/q1/ansi/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "IS31FL3733" 13 "driver": "is31fl3733"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], 16 "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"],
diff --git a/keyboards/keychron/q1/ansi_encoder/info.json b/keyboards/keychron/q1/ansi_encoder/info.json
index f520724989..ef361257f0 100644
--- a/keyboards/keychron/q1/ansi_encoder/info.json
+++ b/keyboards/keychron/q1/ansi_encoder/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "IS31FL3733" 13 "driver": "is31fl3733"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], 16 "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"],
diff --git a/keyboards/keychron/q1/iso/info.json b/keyboards/keychron/q1/iso/info.json
index 9caf6d6183..424ed021e1 100644
--- a/keyboards/keychron/q1/iso/info.json
+++ b/keyboards/keychron/q1/iso/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "IS31FL3733" 13 "driver": "is31fl3733"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], 16 "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"],
diff --git a/keyboards/keychron/q1/iso_encoder/info.json b/keyboards/keychron/q1/iso_encoder/info.json
index a3aba1aed3..250cd1ffb4 100644
--- a/keyboards/keychron/q1/iso_encoder/info.json
+++ b/keyboards/keychron/q1/iso_encoder/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "IS31FL3733" 13 "driver": "is31fl3733"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], 16 "cols": ["D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"],
diff --git a/keyboards/keychron/q10/ansi_encoder/info.json b/keyboards/keychron/q10/ansi_encoder/info.json
index 6b44fdbfdb..8a8a624154 100644
--- a/keyboards/keychron/q10/ansi_encoder/info.json
+++ b/keyboards/keychron/q10/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q10/iso_encoder/info.json b/keyboards/keychron/q10/iso_encoder/info.json
index 14910d2939..d7e1bf2885 100644
--- a/keyboards/keychron/q10/iso_encoder/info.json
+++ b/keyboards/keychron/q10/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q11/info.json b/keyboards/keychron/q11/info.json
index 43029ebbc3..cd2864979d 100755
--- a/keyboards/keychron/q11/info.json
+++ b/keyboards/keychron/q11/info.json
@@ -59,7 +59,7 @@
59 ] 59 ]
60 }, 60 },
61 "rgb_matrix": { 61 "rgb_matrix": {
62 "driver": "CKLED2001", 62 "driver": "ckled2001",
63 "animations": { 63 "animations": {
64 "breathing": true, 64 "breathing": true,
65 "band_spiral_val": true, 65 "band_spiral_val": true,
diff --git a/keyboards/keychron/q12/ansi_encoder/info.json b/keyboards/keychron/q12/ansi_encoder/info.json
index 007c2cafea..97c1334ffd 100644
--- a/keyboards/keychron/q12/ansi_encoder/info.json
+++ b/keyboards/keychron/q12/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q12/iso_encoder/info.json b/keyboards/keychron/q12/iso_encoder/info.json
index 33c719f26b..cd848c86b6 100644
--- a/keyboards/keychron/q12/iso_encoder/info.json
+++ b/keyboards/keychron/q12/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q2/ansi/info.json b/keyboards/keychron/q2/ansi/info.json
index 8683144f89..8ed601fe8f 100644
--- a/keyboards/keychron/q2/ansi/info.json
+++ b/keyboards/keychron/q2/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/q2/ansi_encoder/info.json b/keyboards/keychron/q2/ansi_encoder/info.json
index b05c2e68d2..c9587d20ea 100644
--- a/keyboards/keychron/q2/ansi_encoder/info.json
+++ b/keyboards/keychron/q2/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/q2/iso/info.json b/keyboards/keychron/q2/iso/info.json
index 17905eb872..e3cad79b14 100644
--- a/keyboards/keychron/q2/iso/info.json
+++ b/keyboards/keychron/q2/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/q2/iso_encoder/info.json b/keyboards/keychron/q2/iso_encoder/info.json
index f5a2976bd3..5030e6be42 100644
--- a/keyboards/keychron/q2/iso_encoder/info.json
+++ b/keyboards/keychron/q2/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/q2/jis/info.json b/keyboards/keychron/q2/jis/info.json
index 09092873eb..d0af24b29d 100644
--- a/keyboards/keychron/q2/jis/info.json
+++ b/keyboards/keychron/q2/jis/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/q2/jis_encoder/info.json b/keyboards/keychron/q2/jis_encoder/info.json
index af22479aa0..e409fb63a6 100644
--- a/keyboards/keychron/q2/jis_encoder/info.json
+++ b/keyboards/keychron/q2/jis_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/q3/ansi/info.json b/keyboards/keychron/q3/ansi/info.json
index 3f18242e45..124ac1bdcc 100644
--- a/keyboards/keychron/q3/ansi/info.json
+++ b/keyboards/keychron/q3/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/q3/ansi_encoder/info.json b/keyboards/keychron/q3/ansi_encoder/info.json
index b536bb235e..2dd2f18bf9 100644
--- a/keyboards/keychron/q3/ansi_encoder/info.json
+++ b/keyboards/keychron/q3/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q3/iso/info.json b/keyboards/keychron/q3/iso/info.json
index e858ee2245..c9618c5b47 100644
--- a/keyboards/keychron/q3/iso/info.json
+++ b/keyboards/keychron/q3/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/q3/iso_encoder/info.json b/keyboards/keychron/q3/iso_encoder/info.json
index 6790d8b06f..8571445087 100644
--- a/keyboards/keychron/q3/iso_encoder/info.json
+++ b/keyboards/keychron/q3/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q3/jis/info.json b/keyboards/keychron/q3/jis/info.json
index 772b8f4c18..6f17a7cf9d 100644
--- a/keyboards/keychron/q3/jis/info.json
+++ b/keyboards/keychron/q3/jis/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/q3/jis_encoder/info.json b/keyboards/keychron/q3/jis_encoder/info.json
index 2bb4242c1b..fd1f361f57 100644
--- a/keyboards/keychron/q3/jis_encoder/info.json
+++ b/keyboards/keychron/q3/jis_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q4/ansi_v1/info.json b/keyboards/keychron/q4/ansi_v1/info.json
index 4de9da9c8d..8ee286c481 100644
--- a/keyboards/keychron/q4/ansi_v1/info.json
+++ b/keyboards/keychron/q4/ansi_v1/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
diff --git a/keyboards/keychron/q4/ansi_v2/info.json b/keyboards/keychron/q4/ansi_v2/info.json
index 4de9da9c8d..8ee286c481 100644
--- a/keyboards/keychron/q4/ansi_v2/info.json
+++ b/keyboards/keychron/q4/ansi_v2/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
diff --git a/keyboards/keychron/q4/iso/info.json b/keyboards/keychron/q4/iso/info.json
index 5d675ff3b5..f8945cda61 100644
--- a/keyboards/keychron/q4/iso/info.json
+++ b/keyboards/keychron/q4/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
diff --git a/keyboards/keychron/q5/ansi/info.json b/keyboards/keychron/q5/ansi/info.json
index 7be2a38367..55d7ae0165 100644
--- a/keyboards/keychron/q5/ansi/info.json
+++ b/keyboards/keychron/q5/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/q5/ansi_encoder/info.json b/keyboards/keychron/q5/ansi_encoder/info.json
index a1a12f17ed..468261b1e9 100644
--- a/keyboards/keychron/q5/ansi_encoder/info.json
+++ b/keyboards/keychron/q5/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q5/iso/info.json b/keyboards/keychron/q5/iso/info.json
index 786fa4a67e..3b0b2ea1a0 100644
--- a/keyboards/keychron/q5/iso/info.json
+++ b/keyboards/keychron/q5/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/q5/iso_encoder/info.json b/keyboards/keychron/q5/iso_encoder/info.json
index 650af582af..eefa6dc693 100644
--- a/keyboards/keychron/q5/iso_encoder/info.json
+++ b/keyboards/keychron/q5/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q6/ansi/info.json b/keyboards/keychron/q6/ansi/info.json
index f12809d8d0..fdec220e80 100644
--- a/keyboards/keychron/q6/ansi/info.json
+++ b/keyboards/keychron/q6/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/q6/ansi_encoder/info.json b/keyboards/keychron/q6/ansi_encoder/info.json
index ce1ffbb294..df3902f44a 100644
--- a/keyboards/keychron/q6/ansi_encoder/info.json
+++ b/keyboards/keychron/q6/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q6/iso/info.json b/keyboards/keychron/q6/iso/info.json
index 77285ad1b9..dfaa20aa93 100644
--- a/keyboards/keychron/q6/iso/info.json
+++ b/keyboards/keychron/q6/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/q6/iso_encoder/info.json b/keyboards/keychron/q6/iso_encoder/info.json
index db795c312a..4590616831 100644
--- a/keyboards/keychron/q6/iso_encoder/info.json
+++ b/keyboards/keychron/q6/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q60/ansi/info.json b/keyboards/keychron/q60/ansi/info.json
index 5c915ea1a9..95b1c4e472 100644
--- a/keyboards/keychron/q60/ansi/info.json
+++ b/keyboards/keychron/q60/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
diff --git a/keyboards/keychron/q65/ansi_encoder/info.json b/keyboards/keychron/q65/ansi_encoder/info.json
index ce150f5a61..0f7679945a 100644
--- a/keyboards/keychron/q65/ansi_encoder/info.json
+++ b/keyboards/keychron/q65/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/q7/ansi/info.json b/keyboards/keychron/q7/ansi/info.json
index 6912d48a9e..2549e329f2 100644
--- a/keyboards/keychron/q7/ansi/info.json
+++ b/keyboards/keychron/q7/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
diff --git a/keyboards/keychron/q7/iso/info.json b/keyboards/keychron/q7/iso/info.json
index 6b5c9ec668..27262eb4f3 100644
--- a/keyboards/keychron/q7/iso/info.json
+++ b/keyboards/keychron/q7/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
diff --git a/keyboards/keychron/q8/ansi/info.json b/keyboards/keychron/q8/ansi/info.json
index 6ef7d5fee1..7ee5b6c21f 100644
--- a/keyboards/keychron/q8/ansi/info.json
+++ b/keyboards/keychron/q8/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/q8/ansi_encoder/info.json b/keyboards/keychron/q8/ansi_encoder/info.json
index a8838ae8d1..a4c3ac77e1 100644
--- a/keyboards/keychron/q8/ansi_encoder/info.json
+++ b/keyboards/keychron/q8/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/q8/iso/info.json b/keyboards/keychron/q8/iso/info.json
index bf7405cce2..03a6cd1fdd 100644
--- a/keyboards/keychron/q8/iso/info.json
+++ b/keyboards/keychron/q8/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/q8/iso_encoder/info.json b/keyboards/keychron/q8/iso_encoder/info.json
index f55ccaf202..eb9dc22503 100644
--- a/keyboards/keychron/q8/iso_encoder/info.json
+++ b/keyboards/keychron/q8/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/q9/ansi/info.json b/keyboards/keychron/q9/ansi/info.json
index 736467f42f..952d3158c8 100644
--- a/keyboards/keychron/q9/ansi/info.json
+++ b/keyboards/keychron/q9/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], 15 "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
diff --git a/keyboards/keychron/q9/ansi_encoder/info.json b/keyboards/keychron/q9/ansi_encoder/info.json
index 95e2a1a2fb..4fd5352638 100644
--- a/keyboards/keychron/q9/ansi_encoder/info.json
+++ b/keyboards/keychron/q9/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], 15 "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
diff --git a/keyboards/keychron/q9/iso/info.json b/keyboards/keychron/q9/iso/info.json
index a28b47dcf0..3e9a7690c1 100644
--- a/keyboards/keychron/q9/iso/info.json
+++ b/keyboards/keychron/q9/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], 15 "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
diff --git a/keyboards/keychron/q9/iso_encoder/info.json b/keyboards/keychron/q9/iso_encoder/info.json
index f7f1ed8529..ecf944744d 100644
--- a/keyboards/keychron/q9/iso_encoder/info.json
+++ b/keyboards/keychron/q9/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], 15 "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
diff --git a/keyboards/keychron/s1/ansi/rgb/info.json b/keyboards/keychron/s1/ansi/rgb/info.json
index de3fdef573..3bef5f343c 100644
--- a/keyboards/keychron/s1/ansi/rgb/info.json
+++ b/keyboards/keychron/s1/ansi/rgb/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], 15 "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"],
diff --git a/keyboards/keychron/v1/ansi/info.json b/keyboards/keychron/v1/ansi/info.json
index 696f434622..f4c526bfdc 100644
--- a/keyboards/keychron/v1/ansi/info.json
+++ b/keyboards/keychron/v1/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/v1/ansi_encoder/info.json b/keyboards/keychron/v1/ansi_encoder/info.json
index 6829cd7f76..9beffb9f6a 100644
--- a/keyboards/keychron/v1/ansi_encoder/info.json
+++ b/keyboards/keychron/v1/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v1/iso/info.json b/keyboards/keychron/v1/iso/info.json
index 871358a86b..5a4c74234c 100644
--- a/keyboards/keychron/v1/iso/info.json
+++ b/keyboards/keychron/v1/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/v1/iso_encoder/info.json b/keyboards/keychron/v1/iso_encoder/info.json
index bffa90acad..106b43b5e7 100644
--- a/keyboards/keychron/v1/iso_encoder/info.json
+++ b/keyboards/keychron/v1/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v1/jis/info.json b/keyboards/keychron/v1/jis/info.json
index 173794430c..16365ccd9e 100644
--- a/keyboards/keychron/v1/jis/info.json
+++ b/keyboards/keychron/v1/jis/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/v1/jis_encoder/info.json b/keyboards/keychron/v1/jis_encoder/info.json
index 73313eb64d..702e579758 100644
--- a/keyboards/keychron/v1/jis_encoder/info.json
+++ b/keyboards/keychron/v1/jis_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v10/ansi_encoder/info.json b/keyboards/keychron/v10/ansi_encoder/info.json
index 813a076bdc..2a7dc307cb 100644
--- a/keyboards/keychron/v10/ansi_encoder/info.json
+++ b/keyboards/keychron/v10/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v10/iso_encoder/info.json b/keyboards/keychron/v10/iso_encoder/info.json
index 9cf0add090..455b375472 100644
--- a/keyboards/keychron/v10/iso_encoder/info.json
+++ b/keyboards/keychron/v10/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v2/ansi/info.json b/keyboards/keychron/v2/ansi/info.json
index 7d844d0c1d..d07fba97b8 100644
--- a/keyboards/keychron/v2/ansi/info.json
+++ b/keyboards/keychron/v2/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/v2/ansi_encoder/info.json b/keyboards/keychron/v2/ansi_encoder/info.json
index 8de781ab9c..c733b389e6 100644
--- a/keyboards/keychron/v2/ansi_encoder/info.json
+++ b/keyboards/keychron/v2/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/v2/iso/info.json b/keyboards/keychron/v2/iso/info.json
index 45ba9503e4..0d8376f7b7 100644
--- a/keyboards/keychron/v2/iso/info.json
+++ b/keyboards/keychron/v2/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/v2/iso_encoder/info.json b/keyboards/keychron/v2/iso_encoder/info.json
index d517e341df..0241cdb21e 100644
--- a/keyboards/keychron/v2/iso_encoder/info.json
+++ b/keyboards/keychron/v2/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/v2/jis/info.json b/keyboards/keychron/v2/jis/info.json
index 6a705e7f8c..f65e2b51d2 100644
--- a/keyboards/keychron/v2/jis/info.json
+++ b/keyboards/keychron/v2/jis/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/v2/jis_encoder/info.json b/keyboards/keychron/v2/jis_encoder/info.json
index 028432f7f7..263e403167 100644
--- a/keyboards/keychron/v2/jis_encoder/info.json
+++ b/keyboards/keychron/v2/jis_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/v3/ansi/info.json b/keyboards/keychron/v3/ansi/info.json
index e0d7fdb63d..6572066329 100644
--- a/keyboards/keychron/v3/ansi/info.json
+++ b/keyboards/keychron/v3/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/v3/ansi_encoder/info.json b/keyboards/keychron/v3/ansi_encoder/info.json
index 3232da0fba..cffbc85158 100644
--- a/keyboards/keychron/v3/ansi_encoder/info.json
+++ b/keyboards/keychron/v3/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v3/iso/info.json b/keyboards/keychron/v3/iso/info.json
index 3ba7acb322..18c73a8f58 100644
--- a/keyboards/keychron/v3/iso/info.json
+++ b/keyboards/keychron/v3/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/v3/iso_encoder/info.json b/keyboards/keychron/v3/iso_encoder/info.json
index 5cd2631c12..60c56a6b87 100644
--- a/keyboards/keychron/v3/iso_encoder/info.json
+++ b/keyboards/keychron/v3/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v3/jis/info.json b/keyboards/keychron/v3/jis/info.json
index 4680d5e0b5..9b97707b2f 100644
--- a/keyboards/keychron/v3/jis/info.json
+++ b/keyboards/keychron/v3/jis/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/v3/jis_encoder/info.json b/keyboards/keychron/v3/jis_encoder/info.json
index 2cc5207006..585cf4519e 100644
--- a/keyboards/keychron/v3/jis_encoder/info.json
+++ b/keyboards/keychron/v3/jis_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v4/ansi/info.json b/keyboards/keychron/v4/ansi/info.json
index b55717243e..812aec53a7 100644
--- a/keyboards/keychron/v4/ansi/info.json
+++ b/keyboards/keychron/v4/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
diff --git a/keyboards/keychron/v4/iso/info.json b/keyboards/keychron/v4/iso/info.json
index 6c481ed18f..7d4a8eae1d 100644
--- a/keyboards/keychron/v4/iso/info.json
+++ b/keyboards/keychron/v4/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9"],
diff --git a/keyboards/keychron/v5/ansi/info.json b/keyboards/keychron/v5/ansi/info.json
index 7b087b7033..bc5eec2ca5 100644
--- a/keyboards/keychron/v5/ansi/info.json
+++ b/keyboards/keychron/v5/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/v5/ansi_encoder/info.json b/keyboards/keychron/v5/ansi_encoder/info.json
index 32824efe6b..8a4aec4e36 100644
--- a/keyboards/keychron/v5/ansi_encoder/info.json
+++ b/keyboards/keychron/v5/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v5/iso/info.json b/keyboards/keychron/v5/iso/info.json
index 0fac99cd38..02db87e9ac 100644
--- a/keyboards/keychron/v5/iso/info.json
+++ b/keyboards/keychron/v5/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/v5/iso_encoder/info.json b/keyboards/keychron/v5/iso_encoder/info.json
index 1c650cdf50..b0be43fc50 100644
--- a/keyboards/keychron/v5/iso_encoder/info.json
+++ b/keyboards/keychron/v5/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v6/ansi/info.json b/keyboards/keychron/v6/ansi/info.json
index 3c1a0eb817..3f12305f06 100644
--- a/keyboards/keychron/v6/ansi/info.json
+++ b/keyboards/keychron/v6/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/v6/ansi_encoder/info.json b/keyboards/keychron/v6/ansi_encoder/info.json
index 4f14dea8ca..ad0ea78318 100644
--- a/keyboards/keychron/v6/ansi_encoder/info.json
+++ b/keyboards/keychron/v6/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v6/iso/info.json b/keyboards/keychron/v6/iso/info.json
index adbebecda6..0840ee9cc8 100644
--- a/keyboards/keychron/v6/iso/info.json
+++ b/keyboards/keychron/v6/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "processor": "STM32L432", 14 "processor": "STM32L432",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/keychron/v6/iso_encoder/info.json b/keyboards/keychron/v6/iso_encoder/info.json
index 177c48b912..a40d4d66b6 100644
--- a/keyboards/keychron/v6/iso_encoder/info.json
+++ b/keyboards/keychron/v6/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "encoder": { 14 "encoder": {
15 "rotary": [ 15 "rotary": [
diff --git a/keyboards/keychron/v7/ansi/info.json b/keyboards/keychron/v7/ansi/info.json
index 6e831d2607..26f31786b5 100644
--- a/keyboards/keychron/v7/ansi/info.json
+++ b/keyboards/keychron/v7/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
diff --git a/keyboards/keychron/v7/iso/info.json b/keyboards/keychron/v7/iso/info.json
index d3ae4f75e5..f29d9d9a32 100644
--- a/keyboards/keychron/v7/iso/info.json
+++ b/keyboards/keychron/v7/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "A10", "B5"],
diff --git a/keyboards/keychron/v8/ansi/info.json b/keyboards/keychron/v8/ansi/info.json
index 38e8be2c00..02780ffcde 100644
--- a/keyboards/keychron/v8/ansi/info.json
+++ b/keyboards/keychron/v8/ansi/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/v8/ansi_encoder/info.json b/keyboards/keychron/v8/ansi_encoder/info.json
index c2325070aa..c3fc389780 100644
--- a/keyboards/keychron/v8/ansi_encoder/info.json
+++ b/keyboards/keychron/v8/ansi_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/v8/iso/info.json b/keyboards/keychron/v8/iso/info.json
index 585dcc979c..5f30af5b1a 100644
--- a/keyboards/keychron/v8/iso/info.json
+++ b/keyboards/keychron/v8/iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/keychron/v8/iso_encoder/info.json b/keyboards/keychron/v8/iso_encoder/info.json
index a0ddfcbeea..e13261a2d6 100644
--- a/keyboards/keychron/v8/iso_encoder/info.json
+++ b/keyboards/keychron/v8/iso_encoder/info.json
@@ -9,7 +9,7 @@
9 "device_version": "1.0.0" 9 "device_version": "1.0.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "CKLED2001" 12 "driver": "ckled2001"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"], 15 "cols": ["C14", "C15", "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "B0", "B1", "A8", "A9", "H3"],
diff --git a/keyboards/kprepublic/bm16a/v2/info.json b/keyboards/kprepublic/bm16a/v2/info.json
index 8d65ee51f4..e922d0b9ee 100644
--- a/keyboards/kprepublic/bm16a/v2/info.json
+++ b/keyboards/kprepublic/bm16a/v2/info.json
@@ -55,7 +55,7 @@
55 }, 55 },
56 "community_layouts": ["ortho_4x4"], 56 "community_layouts": ["ortho_4x4"],
57 "rgb_matrix": { 57 "rgb_matrix": {
58 "driver": "WS2812", 58 "driver": "ws2812",
59 "animations": { 59 "animations": {
60 "alphas_mods": true, 60 "alphas_mods": true,
61 "gradient_up_down": true, 61 "gradient_up_down": true,
diff --git a/keyboards/kprepublic/bm40hsrgb/info.json b/keyboards/kprepublic/bm40hsrgb/info.json
index 4007cc7360..c0ba89dbab 100644
--- a/keyboards/kprepublic/bm40hsrgb/info.json
+++ b/keyboards/kprepublic/bm40hsrgb/info.json
@@ -12,7 +12,7 @@
12 "pin": "E2" 12 "pin": "E2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "max_brightness": 180 18 "max_brightness": 180
diff --git a/keyboards/kprepublic/bm60hsrgb/rev1/info.json b/keyboards/kprepublic/bm60hsrgb/rev1/info.json
index f73af590d3..589f4310f7 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb/rev1/info.json
@@ -12,7 +12,7 @@
12 "pin": "E2" 12 "pin": "E2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "max_brightness": 180 18 "max_brightness": 180
diff --git a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c
index 869db0368a..bbc3e8db52 100644
--- a/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c
+++ b/keyboards/kprepublic/bm60hsrgb/rev2/rev2.c
@@ -153,16 +153,16 @@ LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
153 153
154static void rgb_matrix_driver_init(void) { 154static void rgb_matrix_driver_init(void) {
155 i2c_init(); 155 i2c_init();
156 IS31FL3733_init(DRIVER_ADDR_1, 0); 156 is31fl3733_init(DRIVER_ADDR_1, 0);
157 for (uint8_t index = 0; index < ISSI_LED_TOTAL; index++) { 157 for (uint8_t index = 0; index < ISSI_LED_TOTAL; index++) {
158 bool enabled = true; 158 bool enabled = true;
159 IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); 159 is31fl3733_set_led_control_register(index, enabled, enabled, enabled);
160 } 160 }
161 IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); 161 is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0);
162} 162}
163 163
164static void rgb_matrix_driver_flush(void) { 164static void rgb_matrix_driver_flush(void) {
165 IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); 165 is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0);
166# if WS2812_LED_TOTAL > 0 166# if WS2812_LED_TOTAL > 0
167 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); 167 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL);
168# endif 168# endif
@@ -170,7 +170,7 @@ static void rgb_matrix_driver_flush(void) {
170 170
171static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 171static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
172 if (index < ISSI_LED_TOTAL) { 172 if (index < ISSI_LED_TOTAL) {
173 IS31FL3733_set_color(index, red, green, blue); 173 is31fl3733_set_color(index, red, green, blue);
174 } else { 174 } else {
175# if WS2812_LED_TOTAL > 0 175# if WS2812_LED_TOTAL > 0
176 rgb_matrix_ws2812_array[index - ISSI_LED_TOTAL].r = red; 176 rgb_matrix_ws2812_array[index - ISSI_LED_TOTAL].r = red;
@@ -181,7 +181,7 @@ static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, u
181} 181}
182 182
183static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 183static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
184 IS31FL3733_set_color_all(red, green, blue); 184 is31fl3733_set_color_all(red, green, blue);
185# if WS2812_LED_TOTAL > 0 185# if WS2812_LED_TOTAL > 0
186 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { 186 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) {
187 rgb_matrix_ws2812_array[i].r = red; 187 rgb_matrix_ws2812_array[i].r = red;
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json
index 3849e5a338..a18aa9d4f5 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev1/info.json
@@ -12,7 +12,7 @@
12 "pin": "E2" 12 "pin": "E2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], 18 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json b/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json
index 0b0b5c749d..42ad9d6a6a 100644
--- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/info.json
@@ -12,7 +12,7 @@
12 "pin": "F0" 12 "pin": "F0"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "IS31FL3733" 15 "driver": "is31fl3733"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "saturation_steps": 8, 18 "saturation_steps": 8,
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json
index 800ff0de31..ad67cc28c3 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev1/info.json
@@ -12,7 +12,7 @@
12 "pin": "E2" 12 "pin": "E2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], 18 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c
index fb38180b4d..c4ac03e447 100644
--- a/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c
+++ b/keyboards/kprepublic/bm60hsrgb_iso/rev2/rev2.c
@@ -153,16 +153,16 @@ LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
153 153
154static void rgb_matrix_driver_init(void) { 154static void rgb_matrix_driver_init(void) {
155 i2c_init(); 155 i2c_init();
156 IS31FL3733_init(DRIVER_ADDR_1, 0); 156 is31fl3733_init(DRIVER_ADDR_1, 0);
157 for (uint8_t index = 0; index < ISSI_LED_TOTAL; index++) { 157 for (uint8_t index = 0; index < ISSI_LED_TOTAL; index++) {
158 bool enabled = true; 158 bool enabled = true;
159 IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); 159 is31fl3733_set_led_control_register(index, enabled, enabled, enabled);
160 } 160 }
161 IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); 161 is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0);
162} 162}
163 163
164static void rgb_matrix_driver_flush(void) { 164static void rgb_matrix_driver_flush(void) {
165 IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); 165 is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0);
166# if WS2812_LED_TOTAL > 0 166# if WS2812_LED_TOTAL > 0
167 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); 167 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL);
168# endif 168# endif
@@ -170,7 +170,7 @@ static void rgb_matrix_driver_flush(void) {
170 170
171static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 171static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
172 if (index < ISSI_LED_TOTAL) { 172 if (index < ISSI_LED_TOTAL) {
173 IS31FL3733_set_color(index, red, green, blue); 173 is31fl3733_set_color(index, red, green, blue);
174 } else { 174 } else {
175# if WS2812_LED_TOTAL > 0 175# if WS2812_LED_TOTAL > 0
176 rgb_matrix_ws2812_array[index - ISSI_LED_TOTAL].r = red; 176 rgb_matrix_ws2812_array[index - ISSI_LED_TOTAL].r = red;
@@ -181,7 +181,7 @@ static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, u
181} 181}
182 182
183static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 183static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
184 IS31FL3733_set_color_all(red, green, blue); 184 is31fl3733_set_color_all(red, green, blue);
185# if WS2812_LED_TOTAL > 0 185# if WS2812_LED_TOTAL > 0
186 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { 186 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) {
187 rgb_matrix_ws2812_array[i].r = red; 187 rgb_matrix_ws2812_array[i].r = red;
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json b/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
index c323a31dea..796792082d 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev1/info.json
@@ -12,7 +12,7 @@
12 "pin": "E2" 12 "pin": "E2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "saturation_steps": 8, 18 "saturation_steps": 8,
diff --git a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c
index ee95726e16..bd976f315a 100644
--- a/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c
+++ b/keyboards/kprepublic/bm60hsrgb_poker/rev2/rev2.c
@@ -149,16 +149,16 @@ LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
149 149
150static void rgb_matrix_driver_init(void) { 150static void rgb_matrix_driver_init(void) {
151 i2c_init(); 151 i2c_init();
152 IS31FL3733_init(DRIVER_ADDR_1, 0); 152 is31fl3733_init(DRIVER_ADDR_1, 0);
153 for (uint8_t index = 0; index < ISSI_LED_TOTAL; index++) { 153 for (uint8_t index = 0; index < ISSI_LED_TOTAL; index++) {
154 bool enabled = true; 154 bool enabled = true;
155 IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); 155 is31fl3733_set_led_control_register(index, enabled, enabled, enabled);
156 } 156 }
157 IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); 157 is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0);
158} 158}
159 159
160static void rgb_matrix_driver_flush(void) { 160static void rgb_matrix_driver_flush(void) {
161 IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); 161 is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0);
162# if WS2812_LED_TOTAL > 0 162# if WS2812_LED_TOTAL > 0
163 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); 163 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL);
164# endif 164# endif
@@ -166,7 +166,7 @@ static void rgb_matrix_driver_flush(void) {
166 166
167static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 167static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
168 if (index < ISSI_LED_TOTAL) { 168 if (index < ISSI_LED_TOTAL) {
169 IS31FL3733_set_color(index, red, green, blue); 169 is31fl3733_set_color(index, red, green, blue);
170 } else { 170 } else {
171# if WS2812_LED_TOTAL > 0 171# if WS2812_LED_TOTAL > 0
172 rgb_matrix_ws2812_array[index - ISSI_LED_TOTAL].r = red; 172 rgb_matrix_ws2812_array[index - ISSI_LED_TOTAL].r = red;
@@ -177,7 +177,7 @@ static void rgb_matrix_driver_set_color(int index, uint8_t red, uint8_t green, u
177} 177}
178 178
179static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 179static void rgb_matrix_driver_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
180 IS31FL3733_set_color_all(red, green, blue); 180 is31fl3733_set_color_all(red, green, blue);
181# if WS2812_LED_TOTAL > 0 181# if WS2812_LED_TOTAL > 0
182 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { 182 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) {
183 rgb_matrix_ws2812_array[i].r = red; 183 rgb_matrix_ws2812_array[i].r = red;
diff --git a/keyboards/kprepublic/bm65hsrgb/rev1/info.json b/keyboards/kprepublic/bm65hsrgb/rev1/info.json
index d88f3b8177..563d90ce32 100644
--- a/keyboards/kprepublic/bm65hsrgb/rev1/info.json
+++ b/keyboards/kprepublic/bm65hsrgb/rev1/info.json
@@ -12,7 +12,7 @@
12 "pin": "E2" 12 "pin": "E2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"], 18 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"],
diff --git a/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json
index c73c2cca8e..61bff7700d 100644
--- a/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json
+++ b/keyboards/kprepublic/bm65hsrgb_iso/rev1/info.json
@@ -19,7 +19,7 @@
19 "pin": "E2" 19 "pin": "E2"
20 }, 20 },
21 "rgb_matrix": { 21 "rgb_matrix": {
22 "driver": "WS2812" 22 "driver": "ws2812"
23 }, 23 },
24 "matrix_pins": { 24 "matrix_pins": {
25 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"], 25 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"],
diff --git a/keyboards/kprepublic/bm68hsrgb/rev1/info.json b/keyboards/kprepublic/bm68hsrgb/rev1/info.json
index a965121f64..ac3dcdf508 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev1/info.json
+++ b/keyboards/kprepublic/bm68hsrgb/rev1/info.json
@@ -12,7 +12,7 @@
12 "pin": "E2" 12 "pin": "E2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"], 18 "cols": ["D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"],
diff --git a/keyboards/kprepublic/bm68hsrgb/rev2/info.json b/keyboards/kprepublic/bm68hsrgb/rev2/info.json
index 7df0c1e4e3..a6d78da7e6 100644
--- a/keyboards/kprepublic/bm68hsrgb/rev2/info.json
+++ b/keyboards/kprepublic/bm68hsrgb/rev2/info.json
@@ -12,7 +12,7 @@
12 "pin": "E2" 12 "pin": "E2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "IS31FL3741" 15 "driver": "is31fl3741"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "saturation_steps": 8, 18 "saturation_steps": 8,
diff --git a/keyboards/kprepublic/bm80hsrgb/info.json b/keyboards/kprepublic/bm80hsrgb/info.json
index d3989e3615..0feaa9a99a 100644
--- a/keyboards/kprepublic/bm80hsrgb/info.json
+++ b/keyboards/kprepublic/bm80hsrgb/info.json
@@ -12,7 +12,7 @@
12 "pin": "E2" 12 "pin": "E2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["F0", "F1", "F4", "D7", "D6", "D4", "D5", "D3", "D2", "F5", "F6", "F7", "D1", "D0", "B4", "B5", "B6"], 18 "cols": ["F0", "F1", "F4", "D7", "D6", "D4", "D5", "D3", "D2", "F5", "F6", "F7", "D1", "D0", "B4", "B5", "B6"],
diff --git a/keyboards/kprepublic/bm80v2/info.json b/keyboards/kprepublic/bm80v2/info.json
index cbad2ee816..a30886a988 100644
--- a/keyboards/kprepublic/bm80v2/info.json
+++ b/keyboards/kprepublic/bm80v2/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.2" 9 "device_version": "0.0.2"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["E6", "F0", "F1", "F4", "D7", "D6", "B7", "B1", "B0", "B2", "B3", "D3", "D5", "D4", "D2", "B4", "B5"], 15 "cols": ["E6", "F0", "F1", "F4", "D7", "D6", "B7", "B1", "B0", "B2", "B3", "D3", "D5", "D4", "D2", "B4", "B5"],
diff --git a/keyboards/kprepublic/bm80v2_iso/info.json b/keyboards/kprepublic/bm80v2_iso/info.json
index 064af02128..6f8bdc5fd9 100644
--- a/keyboards/kprepublic/bm80v2_iso/info.json
+++ b/keyboards/kprepublic/bm80v2_iso/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.2" 9 "device_version": "0.0.2"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["E6", "F0", "F1", "F4", "D7", "D6", "B7", "B1", "B0", "B2", "B3", "D3", "D5", "D4", "D2", "B4", "B5"], 15 "cols": ["E6", "F0", "F1", "F4", "D7", "D6", "B7", "B1", "B0", "B2", "B3", "D3", "D5", "D4", "D2", "B4", "B5"],
diff --git a/keyboards/kprepublic/bm980hsrgb/info.json b/keyboards/kprepublic/bm980hsrgb/info.json
index badd7d6458..29944ba474 100644
--- a/keyboards/kprepublic/bm980hsrgb/info.json
+++ b/keyboards/kprepublic/bm980hsrgb/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "E6", "F0", "F1", "F4", "F5", "D6"], 15 "cols": ["B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "E6", "F0", "F1", "F4", "F5", "D6"],
diff --git a/keyboards/kuro/kuro65/info.json b/keyboards/kuro/kuro65/info.json
index eacb0a3ce6..c91a34f55c 100644
--- a/keyboards/kuro/kuro65/info.json
+++ b/keyboards/kuro/kuro65/info.json
@@ -115,7 +115,7 @@
115 } 115 }
116 }, 116 },
117 "rgb_matrix": { 117 "rgb_matrix": {
118 "driver": "WS2812", 118 "driver": "ws2812",
119 "layout": [ 119 "layout": [
120 {"flags": 4, "matrix": [4, 6], "x": 96, "y": 64}, 120 {"flags": 4, "matrix": [4, 6], "x": 96, "y": 64},
121 {"flags": 1, "matrix": [4, 10], "x": 150, "y": 64}, 121 {"flags": 1, "matrix": [4, 10], "x": 150, "y": 64},
diff --git a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk
index cfdb94059b..0a6437f0ef 100644
--- a/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk
+++ b/keyboards/labbe/labbeminiv1/keymaps/rgbmatrix/rules.mk
@@ -1,2 +1,2 @@
1RGB_MATRIX_ENABLE = yes 1RGB_MATRIX_ENABLE = yes
2RGB_MATRIX_DRIVER = WS2812 \ No newline at end of file 2RGB_MATRIX_DRIVER = ws2812 \ No newline at end of file
diff --git a/keyboards/laser_ninja/pumpkin_pad/info.json b/keyboards/laser_ninja/pumpkin_pad/info.json
index 9b11f873a1..cb76145388 100644
--- a/keyboards/laser_ninja/pumpkin_pad/info.json
+++ b/keyboards/laser_ninja/pumpkin_pad/info.json
@@ -46,7 +46,7 @@
46 } 46 }
47 }, 47 },
48 "rgb_matrix": { 48 "rgb_matrix": {
49 "driver": "WS2812", 49 "driver": "ws2812",
50 "layout": [ 50 "layout": [
51 {"flags": 2, "x": 36, "y": 3}, 51 {"flags": 2, "x": 36, "y": 3},
52 {"flags": 2, "x": 86, "y": 2}, 52 {"flags": 2, "x": 86, "y": 2},
diff --git a/keyboards/latincompass/latin17rgb/info.json b/keyboards/latincompass/latin17rgb/info.json
index ad61a4f354..5c8e869840 100644
--- a/keyboards/latincompass/latin17rgb/info.json
+++ b/keyboards/latincompass/latin17rgb/info.json
@@ -19,7 +19,7 @@
19 "pin": "B7" 19 "pin": "B7"
20 }, 20 },
21 "rgb_matrix": { 21 "rgb_matrix": {
22 "driver": "IS31FL3731" 22 "driver": "is31fl3731"
23 }, 23 },
24 "matrix_pins": { 24 "matrix_pins": {
25 "cols": ["F7", "F6", "F5", "F4"], 25 "cols": ["F7", "F6", "F5", "F4"],
diff --git a/keyboards/latincompass/latin60rgb/info.json b/keyboards/latincompass/latin60rgb/info.json
index 3c32ccf76b..f11f6ac3d5 100644
--- a/keyboards/latincompass/latin60rgb/info.json
+++ b/keyboards/latincompass/latin60rgb/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "E6", "B0", "B1", "B2", "B3", "D6", "D4", "D3"], 15 "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "E6", "B0", "B1", "B2", "B3", "D6", "D4", "D3"],
diff --git a/keyboards/latincompass/latin6rgb/info.json b/keyboards/latincompass/latin6rgb/info.json
index dd7cfc232d..0c43da36e4 100644
--- a/keyboards/latincompass/latin6rgb/info.json
+++ b/keyboards/latincompass/latin6rgb/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F7", "F6", "F5"], 15 "cols": ["F7", "F6", "F5"],
diff --git a/keyboards/latincompass/latinpad/info.json b/keyboards/latincompass/latinpad/info.json
index 3705550a60..6c54145723 100644
--- a/keyboards/latincompass/latinpad/info.json
+++ b/keyboards/latincompass/latinpad/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["D4", "C6", "D7", "E6"], 15 "cols": ["D4", "C6", "D7", "E6"],
diff --git a/keyboards/lily58/r2g/info.json b/keyboards/lily58/r2g/info.json
index e445d1d48f..c7fe3e011e 100644
--- a/keyboards/lily58/r2g/info.json
+++ b/keyboards/lily58/r2g/info.json
@@ -104,7 +104,7 @@
104 } 104 }
105 }, 105 },
106 "rgb_matrix": { 106 "rgb_matrix": {
107 "driver": "WS2812", 107 "driver": "ws2812",
108 "split_count": [37, 37], 108 "split_count": [37, 37],
109 "layout": [ 109 "layout": [
110 {"flags": 4, "matrix": [0, 5], "x": 72, "y": 4}, // L SW06 110 {"flags": 4, "matrix": [0, 5], "x": 72, "y": 4}, // L SW06
diff --git a/keyboards/linworks/fave65h/info.json b/keyboards/linworks/fave65h/info.json
index c0fbdd6903..3bcfcb0116 100644
--- a/keyboards/linworks/fave65h/info.json
+++ b/keyboards/linworks/fave65h/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], 15 "cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
diff --git a/keyboards/linworks/fave84h/info.json b/keyboards/linworks/fave84h/info.json
index 96e432e5ee..01619e7bc6 100644
--- a/keyboards/linworks/fave84h/info.json
+++ b/keyboards/linworks/fave84h/info.json
@@ -23,7 +23,7 @@
23 "rows": ["B1", "B2", "B3", "D3", "D1", "D0"] 23 "rows": ["B1", "B2", "B3", "D3", "D1", "D0"]
24 }, 24 },
25 "rgb_matrix": { 25 "rgb_matrix": {
26 "driver": "WS2812", 26 "driver": "ws2812",
27 "layout": [ 27 "layout": [
28 {"flags": 1, "matrix": [3, 13], "x": 190, "y": 40}, 28 {"flags": 1, "matrix": [3, 13], "x": 190, "y": 40},
29 {"flags": 4, "matrix": [3, 11], "x": 167, "y": 40}, 29 {"flags": 4, "matrix": [3, 11], "x": 167, "y": 40},
diff --git a/keyboards/linworks/fave87h/info.json b/keyboards/linworks/fave87h/info.json
index 4b7aff9ae3..c2008c4bb2 100644
--- a/keyboards/linworks/fave87h/info.json
+++ b/keyboards/linworks/fave87h/info.json
@@ -12,7 +12,7 @@
12 "pin": "D2" 12 "pin": "D2"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "B0", "B7", "E6"], 18 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "B0", "B7", "E6"],
diff --git a/keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk b/keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk
index c3b1e0a8b9..9fa73f2406 100644
--- a/keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk
+++ b/keyboards/maple_computing/launchpad/keymaps/drashna/rules.mk
@@ -4,4 +4,4 @@ RGBLIGHT_ENABLE = no
4AUDIO_ENABLE = no 4AUDIO_ENABLE = no
5BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite 5BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
6RGB_MATRIX_ENABLE = yes 6RGB_MATRIX_ENABLE = yes
7RGB_MATRIX_DRIVER = WS2812 7RGB_MATRIX_DRIVER = ws2812
diff --git a/keyboards/marksard/rhymestone/rev1/info.json b/keyboards/marksard/rhymestone/rev1/info.json
index ba13c35b88..17be92c44c 100644
--- a/keyboards/marksard/rhymestone/rev1/info.json
+++ b/keyboards/marksard/rhymestone/rev1/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.2.0" 9 "device_version": "0.2.0"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812", 12 "driver": "ws2812",
13 "sat_steps": 8, 13 "sat_steps": 8,
14 "val_steps": 8, 14 "val_steps": 8,
15 "speed_steps": 10 15 "speed_steps": 10
diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c
index 4466ec3bea..4567f0348d 100644
--- a/keyboards/matrix/m20add/rgb_ring.c
+++ b/keyboards/matrix/m20add/rgb_ring.c
@@ -135,13 +135,13 @@ static void testing_mode(void)
135 if (timer_elapsed(animation_status.last_timer) > EFFECT_TEST_INTERVAL) { 135 if (timer_elapsed(animation_status.last_timer) > EFFECT_TEST_INTERVAL) {
136 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; 136 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
137 RGB c = hsv_to_rgb(h); 137 RGB c = hsv_to_rgb(h);
138 //IS31FL3731_set_color_all(c.r, c.g, c.b); 138 //is31fl3731_set_color_all(c.r, c.g, c.b);
139 IS31FL3731_set_color_all(0, 0, 0); 139 is31fl3731_set_color_all(0, 0, 0);
140 IS31FL3731_set_color(rgb_ring.outer_index+RING_OUTER_BEGIN, c.r, c.g, c.b); 140 is31fl3731_set_color(rgb_ring.outer_index+RING_OUTER_BEGIN, c.r, c.g, c.b);
141 h.v = EFFECT_TEST_VAL_STEP*rgb_ring.outer_index; 141 h.v = EFFECT_TEST_VAL_STEP*rgb_ring.outer_index;
142 c = hsv_to_rgb(h); 142 c = hsv_to_rgb(h);
143 for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) { 143 for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) {
144 IS31FL3731_set_color(i, c.r, c.g, c.b); 144 is31fl3731_set_color(i, c.r, c.g, c.b);
145 } 145 }
146 rgb_ring.outer_index = (rgb_ring.outer_index + 1) % RING_OUTER_SIZE; 146 rgb_ring.outer_index = (rgb_ring.outer_index + 1) % RING_OUTER_SIZE;
147 //rgb_ring.inner_index = (rgb_ring.inner_index + 1) % RING_INNER_SIZE; 147 //rgb_ring.inner_index = (rgb_ring.inner_index + 1) % RING_INNER_SIZE;
@@ -183,7 +183,7 @@ static void ring_effect_no_1(void)
183 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; 183 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
184 for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) { 184 for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) {
185 RGB c = hsv_to_rgb(h); 185 RGB c = hsv_to_rgb(h);
186 IS31FL3731_set_color(i, c.r, c.g, c.b); 186 is31fl3731_set_color(i, c.r, c.g, c.b);
187 } 187 }
188 rgblight_config.hue += EFFECT_1_HUE_STEP; 188 rgblight_config.hue += EFFECT_1_HUE_STEP;
189 rgb_ring.effect_count++; 189 rgb_ring.effect_count++;
@@ -200,12 +200,12 @@ static void ring_effect_no_1(void)
200static void ring_effect_no_2(void) 200static void ring_effect_no_2(void)
201{ 201{
202 if (need_update(EFFECT_2_INTERVAL)) { 202 if (need_update(EFFECT_2_INTERVAL)) {
203 IS31FL3731_set_color_all(0, 0, 0); 203 is31fl3731_set_color_all(0, 0, 0);
204 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; 204 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
205 RGB c = hsv_to_rgb(h); 205 RGB c = hsv_to_rgb(h);
206 206
207 IS31FL3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); 207 is31fl3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b);
208 IS31FL3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); 208 is31fl3731_set_color(rgb_ring.led_end, c.r, c.g, c.b);
209 209
210 rgb_ring.led_begin = (rgb_ring.led_begin + 1) % RING_OUTER_SIZE; 210 rgb_ring.led_begin = (rgb_ring.led_begin + 1) % RING_OUTER_SIZE;
211 rgb_ring.led_end = (rgb_ring.led_end + RING_OUTER_SIZE - 1) % RING_OUTER_SIZE; 211 rgb_ring.led_end = (rgb_ring.led_end + RING_OUTER_SIZE - 1) % RING_OUTER_SIZE;
@@ -225,19 +225,19 @@ static void ring_effect_no_2(void)
225static void ring_effect_no_3(void) 225static void ring_effect_no_3(void)
226{ 226{
227 if (rgb_ring.effect_count == 0) { 227 if (rgb_ring.effect_count == 0) {
228 IS31FL3731_set_color_all(0, 0, 0); 228 is31fl3731_set_color_all(0, 0, 0);
229 } 229 }
230 230
231 if (need_update(EFFECT_3_INTERVAL)) { 231 if (need_update(EFFECT_3_INTERVAL)) {
232 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; 232 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
233 233
234 if (rgb_ring.led_clear) { 234 if (rgb_ring.led_clear) {
235 IS31FL3731_set_color(rgb_ring.led_begin, 0, 0, 0); 235 is31fl3731_set_color(rgb_ring.led_begin, 0, 0, 0);
236 IS31FL3731_set_color(rgb_ring.led_end, 0, 0, 0); 236 is31fl3731_set_color(rgb_ring.led_end, 0, 0, 0);
237 } else { 237 } else {
238 RGB c = hsv_to_rgb(h); 238 RGB c = hsv_to_rgb(h);
239 IS31FL3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); 239 is31fl3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b);
240 IS31FL3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); 240 is31fl3731_set_color(rgb_ring.led_end, c.r, c.g, c.b);
241 } 241 }
242 242
243 rgb_ring.led_begin = (rgb_ring.led_begin + 1) % RING_OUTER_SIZE; 243 rgb_ring.led_begin = (rgb_ring.led_begin + 1) % RING_OUTER_SIZE;
@@ -273,12 +273,12 @@ static void ring_effect_no_3(void)
273static void ring_effect_no_4(void) 273static void ring_effect_no_4(void)
274{ 274{
275 if (need_update(EFFECT_4_INTERVAL)) { 275 if (need_update(EFFECT_4_INTERVAL)) {
276 IS31FL3731_set_color_all(0, 0, 0); 276 is31fl3731_set_color_all(0, 0, 0);
277 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; 277 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
278 RGB c = hsv_to_rgb(h); 278 RGB c = hsv_to_rgb(h);
279 279
280 IS31FL3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b); 280 is31fl3731_set_color(rgb_ring.led_begin, c.r, c.g, c.b);
281 IS31FL3731_set_color(rgb_ring.led_end, c.r, c.g, c.b); 281 is31fl3731_set_color(rgb_ring.led_end, c.r, c.g, c.b);
282 282
283 rgb_ring.led_begin = (rgb_ring.led_begin + EFFECT_4_STEP) % RING_OUTER_SIZE; 283 rgb_ring.led_begin = (rgb_ring.led_begin + EFFECT_4_STEP) % RING_OUTER_SIZE;
284 rgb_ring.led_end = (rgb_ring.led_end + RING_OUTER_SIZE - EFFECT_4_STEP) % RING_OUTER_SIZE; 284 rgb_ring.led_end = (rgb_ring.led_end + RING_OUTER_SIZE - EFFECT_4_STEP) % RING_OUTER_SIZE;
@@ -297,16 +297,16 @@ static void ring_effect_no_4(void)
297static void ring_effect_no_5(void) 297static void ring_effect_no_5(void)
298{ 298{
299 if (need_update(EFFECT_5_INTERVAL)) { 299 if (need_update(EFFECT_5_INTERVAL)) {
300 IS31FL3731_set_color_all(0, 0, 0); 300 is31fl3731_set_color_all(0, 0, 0);
301 for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) { 301 for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) {
302 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val}; 302 HSV h = {rgblight_config.hue, rgblight_config.sat, rgblight_config.val};
303 RGB c = hsv_to_rgb(h); 303 RGB c = hsv_to_rgb(h);
304 IS31FL3731_set_color(i, c.r, c.g, c.b); 304 is31fl3731_set_color(i, c.r, c.g, c.b);
305 } 305 }
306 for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) { 306 for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) {
307 HSV h = {rgblight_config.hue+EFFECT_5_HUE_STEP, rgblight_config.sat, rgblight_config.val}; 307 HSV h = {rgblight_config.hue+EFFECT_5_HUE_STEP, rgblight_config.sat, rgblight_config.val};
308 RGB c = hsv_to_rgb(h); 308 RGB c = hsv_to_rgb(h);
309 IS31FL3731_set_color(i, c.r, c.g, c.b); 309 is31fl3731_set_color(i, c.r, c.g, c.b);
310 } 310 }
311 rgblight_config.hue += EFFECT_5_HUE_STEP; 311 rgblight_config.hue += EFFECT_5_HUE_STEP;
312 rgb_ring.effect_count++; 312 rgb_ring.effect_count++;
@@ -323,16 +323,16 @@ static void ring_effect_no_5(void)
323static void ring_effect_no_6(void) 323static void ring_effect_no_6(void)
324{ 324{
325 if (need_update(EFFECT_6_INTERVAL)) { 325 if (need_update(EFFECT_6_INTERVAL)) {
326 IS31FL3731_set_color_all(0, 0, 0); 326 is31fl3731_set_color_all(0, 0, 0);
327 for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) { 327 for (uint8_t i = RING_INNER_BEGIN; i <= RING_INNER_END; i++) {
328 HSV h = {rgblight_config.hue+i*EFFECT_I_HUE_STEP, rgblight_config.sat, rgblight_config.val}; 328 HSV h = {rgblight_config.hue+i*EFFECT_I_HUE_STEP, rgblight_config.sat, rgblight_config.val};
329 RGB c = hsv_to_rgb(h); 329 RGB c = hsv_to_rgb(h);
330 IS31FL3731_set_color(i, c.r, c.g, c.b); 330 is31fl3731_set_color(i, c.r, c.g, c.b);
331 } 331 }
332 for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) { 332 for (uint8_t i = RING_OUTER_BEGIN; i <= RING_OUTER_END; i++) {
333 HSV h = {rgblight_config.hue+i*EFFECT_O_HUE_STEP, rgblight_config.sat, rgblight_config.val}; 333 HSV h = {rgblight_config.hue+i*EFFECT_O_HUE_STEP, rgblight_config.sat, rgblight_config.val};
334 RGB c = hsv_to_rgb(h); 334 RGB c = hsv_to_rgb(h);
335 IS31FL3731_set_color(i, c.r, c.g, c.b); 335 is31fl3731_set_color(i, c.r, c.g, c.b);
336 } 336 }
337 rgblight_config.hue += EFFECT_I_HUE_STEP; 337 rgblight_config.hue += EFFECT_I_HUE_STEP;
338 rgb_ring.effect_count++; 338 rgb_ring.effect_count++;
@@ -364,7 +364,7 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds)
364 } 364 }
365 365
366 for (uint8_t i = 0; i < num_leds; i++) { 366 for (uint8_t i = 0; i < num_leds; i++) {
367 IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); 367 is31fl3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b);
368 } 368 }
369} 369}
370 370
@@ -372,12 +372,12 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds)
372void rgb_ring_init(void) 372void rgb_ring_init(void)
373{ 373{
374 i2c_init(); 374 i2c_init();
375 IS31FL3731_init(DRIVER_ADDR_1); 375 is31fl3731_init(DRIVER_ADDR_1);
376 for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { 376 for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) {
377 bool enabled = true; 377 bool enabled = true;
378 IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); 378 is31fl3731_set_led_control_register(index, enabled, enabled, enabled);
379 } 379 }
380 IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); 380 is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0);
381} 381}
382 382
383void rgb_ring_task(void) 383void rgb_ring_task(void)
@@ -396,7 +396,7 @@ void rgb_ring_task(void)
396 break; 396 break;
397 }; 397 };
398 398
399 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); 399 is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0);
400} 400}
401 401
402bool process_record_kb(uint16_t keycode, keyrecord_t *record) 402bool process_record_kb(uint16_t keycode, keyrecord_t *record)
diff --git a/keyboards/matrix/noah/info.json b/keyboards/matrix/noah/info.json
index 4550f7d70a..192be4a9b5 100644
--- a/keyboards/matrix/noah/info.json
+++ b/keyboards/matrix/noah/info.json
@@ -16,7 +16,7 @@
16 "pin": "B1" 16 "pin": "B1"
17 }, 17 },
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "IS31FL3731" 19 "driver": "is31fl3731"
20 }, 20 },
21 "community_layouts": ["65_iso_blocker"], 21 "community_layouts": ["65_iso_blocker"],
22 "layouts": { 22 "layouts": {
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/info.json b/keyboards/mechlovin/adelais/rgb_led/rev1/info.json
index 816b9414c1..bdf9e7fdf5 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev1/info.json
+++ b/keyboards/mechlovin/adelais/rgb_led/rev1/info.json
@@ -4,7 +4,7 @@
4 "pid": "0xAEC1" 4 "pid": "0xAEC1"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "WS2812" 7 "driver": "ws2812"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B8", "B4", "B5", "B3", "C14", "A15"], 10 "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B8", "B4", "B5", "B3", "C14", "A15"],
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/info.json b/keyboards/mechlovin/adelais/rgb_led/rev2/info.json
index c7e662c008..b086d9ce95 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev2/info.json
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/info.json
@@ -4,7 +4,7 @@
4 "pid": "0xAEC2" 4 "pid": "0xAEC2"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3731" 7 "driver": "is31fl3731"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B8", "B4", "B5", "B3", "C14", "A7"], 10 "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B8", "B4", "B5", "B3", "C14", "A7"],
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev3/info.json b/keyboards/mechlovin/adelais/rgb_led/rev3/info.json
index d745503c27..ba6f31b83e 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev3/info.json
+++ b/keyboards/mechlovin/adelais/rgb_led/rev3/info.json
@@ -4,7 +4,7 @@
4 "pid": "0xAEC3" 4 "pid": "0xAEC3"
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3741" 7 "driver": "is31fl3741"
8 }, 8 },
9 "matrix_pins": { 9 "matrix_pins": {
10 "cols": ["B10", "B11", "B2", "B1", "B0", "A6", "A5", "A10", "A9", "A15", "B3", "B4", "B5", "B8", "B9"], 10 "cols": ["B10", "B11", "B2", "B1", "B0", "A6", "A5", "A10", "A9", "A15", "B3", "B4", "B5", "B8", "B9"],
diff --git a/keyboards/mechlovin/delphine/rgb_led/info.json b/keyboards/mechlovin/delphine/rgb_led/info.json
index dc604d5382..6beba9038c 100644
--- a/keyboards/mechlovin/delphine/rgb_led/info.json
+++ b/keyboards/mechlovin/delphine/rgb_led/info.json
@@ -13,6 +13,6 @@
13 "pin": "E2" 13 "pin": "E2"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "IS31FL3731" 16 "driver": "is31fl3731"
17 } 17 }
18} 18}
diff --git a/keyboards/mechlovin/hannah60rgb/rev1/info.json b/keyboards/mechlovin/hannah60rgb/rev1/info.json
index 5e82c00c66..3eeba2ab7e 100644
--- a/keyboards/mechlovin/hannah60rgb/rev1/info.json
+++ b/keyboards/mechlovin/hannah60rgb/rev1/info.json
@@ -12,7 +12,7 @@
12 "pin": "A15" 12 "pin": "A15"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A0", "C15", "B4", "B5", "B3", "C13", "C14"], 18 "cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A0", "C15", "B4", "B5", "B3", "C13", "C14"],
diff --git a/keyboards/mechlovin/hannah60rgb/rev2/info.json b/keyboards/mechlovin/hannah60rgb/rev2/info.json
index c81c908174..b3ee526e1b 100644
--- a/keyboards/mechlovin/hannah60rgb/rev2/info.json
+++ b/keyboards/mechlovin/hannah60rgb/rev2/info.json
@@ -17,7 +17,7 @@
17 "pin": "A15" 17 "pin": "A15"
18 }, 18 },
19 "rgb_matrix": { 19 "rgb_matrix": {
20 "driver": "IS31FL3731" 20 "driver": "is31fl3731"
21 }, 21 },
22 "matrix_pins": { 22 "matrix_pins": {
23 "cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A0", "C15", "B4", "B5", "B3", "C13", "C14"], 23 "cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A0", "C15", "B4", "B5", "B3", "C13", "C14"],
diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/info.json b/keyboards/mechlovin/infinity87/rgb_rev1/info.json
index b3fc9f63d3..347ea1b311 100644
--- a/keyboards/mechlovin/infinity87/rgb_rev1/info.json
+++ b/keyboards/mechlovin/infinity87/rgb_rev1/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B12", "B13", "B14", "B15", "A8", "A9", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A2", "A1", "A0"], 15 "cols": ["B12", "B13", "B14", "B15", "A8", "A9", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A2", "A1", "A0"],
diff --git a/keyboards/mechlovin/infinity875/info.json b/keyboards/mechlovin/infinity875/info.json
index fcec3c2afa..bb249cf39b 100644
--- a/keyboards/mechlovin/infinity875/info.json
+++ b/keyboards/mechlovin/infinity875/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "indicators": { 14 "indicators": {
15 "caps_lock": "D6", 15 "caps_lock": "D6",
diff --git a/keyboards/melgeek/mach80/rev1/info.json b/keyboards/melgeek/mach80/rev1/info.json
index 3a1a27847d..1d7d87b76f 100644
--- a/keyboards/melgeek/mach80/rev1/info.json
+++ b/keyboards/melgeek/mach80/rev1/info.json
@@ -1,6 +1,6 @@
1{ 1{
2 "rgb_matrix": { 2 "rgb_matrix": {
3 "driver": "IS31FL3741" 3 "driver": "is31fl3741"
4 }, 4 },
5 "matrix_pins": { 5 "matrix_pins": {
6 "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "D3"], 6 "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "D3"],
diff --git a/keyboards/melgeek/mach80/rev1/rev1.c b/keyboards/melgeek/mach80/rev1/rev1.c
index bb04eddd5b..da4c6b73d8 100755
--- a/keyboards/melgeek/mach80/rev1/rev1.c
+++ b/keyboards/melgeek/mach80/rev1/rev1.c
@@ -153,21 +153,21 @@ const is31_led g_is31_indicator_leds[3] = {
153bool led_update_kb(led_t led_state) { 153bool led_update_kb(led_t led_state) {
154 if (led_update_user(led_state)) { 154 if (led_update_user(led_state)) {
155 if (led_state.caps_lock) { 155 if (led_state.caps_lock) {
156 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0xff); 156 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0xff);
157 } else { 157 } else {
158 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); 158 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00);
159 } 159 }
160 160
161 if (led_state.num_lock) { 161 if (led_state.num_lock) {
162 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0xff, 0x00, 0x00); 162 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0xff, 0x00, 0x00);
163 } else { 163 } else {
164 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); 164 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00);
165 } 165 }
166 166
167 if (led_state.scroll_lock) { 167 if (led_state.scroll_lock) {
168 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0xff, 0x00); 168 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0xff, 0x00);
169 } else { 169 } else {
170 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); 170 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00);
171 } 171 }
172 } 172 }
173 return true; 173 return true;
@@ -176,10 +176,10 @@ bool led_update_kb(led_t led_state) {
176void matrix_init_kb(void) { 176void matrix_init_kb(void) {
177 for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) { 177 for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) {
178 is31_led led = g_is31_indicator_leds[i]; 178 is31_led led = g_is31_indicator_leds[i];
179 IS31FL3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); 179 is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF);
180 } 180 }
181 181
182 IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); 182 is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0);
183 183
184 matrix_init_user(); 184 matrix_init_user();
185} 185}
diff --git a/keyboards/melgeek/mach80/rev2/info.json b/keyboards/melgeek/mach80/rev2/info.json
index 3a1a27847d..1d7d87b76f 100644
--- a/keyboards/melgeek/mach80/rev2/info.json
+++ b/keyboards/melgeek/mach80/rev2/info.json
@@ -1,6 +1,6 @@
1{ 1{
2 "rgb_matrix": { 2 "rgb_matrix": {
3 "driver": "IS31FL3741" 3 "driver": "is31fl3741"
4 }, 4 },
5 "matrix_pins": { 5 "matrix_pins": {
6 "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "D3"], 6 "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "D3"],
diff --git a/keyboards/melgeek/mach80/rev2/rev2.c b/keyboards/melgeek/mach80/rev2/rev2.c
index 7e578c78b5..632466376d 100755
--- a/keyboards/melgeek/mach80/rev2/rev2.c
+++ b/keyboards/melgeek/mach80/rev2/rev2.c
@@ -151,21 +151,21 @@ const is31_led g_is31_indicator_leds[3] = {
151bool led_update_kb(led_t led_state) { 151bool led_update_kb(led_t led_state) {
152 if (led_update_user(led_state)) { 152 if (led_update_user(led_state)) {
153 if (led_state.caps_lock) { 153 if (led_state.caps_lock) {
154 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0xff); 154 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0xff);
155 } else { 155 } else {
156 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); 156 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00);
157 } 157 }
158 158
159 if (led_state.num_lock) { 159 if (led_state.num_lock) {
160 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0xff, 0x00, 0x00); 160 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0xff, 0x00, 0x00);
161 } else { 161 } else {
162 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); 162 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00);
163 } 163 }
164 164
165 if (led_state.scroll_lock) { 165 if (led_state.scroll_lock) {
166 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0xff, 0x00); 166 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0xff, 0x00);
167 } else { 167 } else {
168 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); 168 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00);
169 } 169 }
170 } 170 }
171 return true; 171 return true;
@@ -174,10 +174,10 @@ bool led_update_kb(led_t led_state) {
174void matrix_init_kb(void) { 174void matrix_init_kb(void) {
175 for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) { 175 for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) {
176 is31_led led = g_is31_indicator_leds[i]; 176 is31_led led = g_is31_indicator_leds[i];
177 IS31FL3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); 177 is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF);
178 } 178 }
179 179
180 IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); 180 is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0);
181 181
182 matrix_init_user(); 182 matrix_init_user();
183} 183}
diff --git a/keyboards/melgeek/mj61/rev1/info.json b/keyboards/melgeek/mj61/rev1/info.json
index c146adef04..705023fb8e 100644
--- a/keyboards/melgeek/mj61/rev1/info.json
+++ b/keyboards/melgeek/mj61/rev1/info.json
@@ -1,6 +1,6 @@
1{ 1{
2 "rgb_matrix": { 2 "rgb_matrix": {
3 "driver": "IS31FL3741" 3 "driver": "is31fl3741"
4 }, 4 },
5 "matrix_pins": { 5 "matrix_pins": {
6 "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], 6 "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
diff --git a/keyboards/melgeek/mj61/rev2/info.json b/keyboards/melgeek/mj61/rev2/info.json
index 330137a02a..62b2c58f15 100644
--- a/keyboards/melgeek/mj61/rev2/info.json
+++ b/keyboards/melgeek/mj61/rev2/info.json
@@ -1,6 +1,6 @@
1{ 1{
2 "rgb_matrix": { 2 "rgb_matrix": {
3 "driver": "IS31FL3741" 3 "driver": "is31fl3741"
4 }, 4 },
5 "matrix_pins": { 5 "matrix_pins": {
6 "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], 6 "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
diff --git a/keyboards/melgeek/mj63/rev1/info.json b/keyboards/melgeek/mj63/rev1/info.json
index c146adef04..705023fb8e 100644
--- a/keyboards/melgeek/mj63/rev1/info.json
+++ b/keyboards/melgeek/mj63/rev1/info.json
@@ -1,6 +1,6 @@
1{ 1{
2 "rgb_matrix": { 2 "rgb_matrix": {
3 "driver": "IS31FL3741" 3 "driver": "is31fl3741"
4 }, 4 },
5 "matrix_pins": { 5 "matrix_pins": {
6 "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], 6 "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
diff --git a/keyboards/melgeek/mj63/rev2/info.json b/keyboards/melgeek/mj63/rev2/info.json
index 330137a02a..62b2c58f15 100644
--- a/keyboards/melgeek/mj63/rev2/info.json
+++ b/keyboards/melgeek/mj63/rev2/info.json
@@ -1,6 +1,6 @@
1{ 1{
2 "rgb_matrix": { 2 "rgb_matrix": {
3 "driver": "IS31FL3741" 3 "driver": "is31fl3741"
4 }, 4 },
5 "matrix_pins": { 5 "matrix_pins": {
6 "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], 6 "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
diff --git a/keyboards/melgeek/mj64/rev1/info.json b/keyboards/melgeek/mj64/rev1/info.json
index c146adef04..705023fb8e 100644
--- a/keyboards/melgeek/mj64/rev1/info.json
+++ b/keyboards/melgeek/mj64/rev1/info.json
@@ -1,6 +1,6 @@
1{ 1{
2 "rgb_matrix": { 2 "rgb_matrix": {
3 "driver": "IS31FL3741" 3 "driver": "is31fl3741"
4 }, 4 },
5 "matrix_pins": { 5 "matrix_pins": {
6 "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], 6 "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
diff --git a/keyboards/melgeek/mj64/rev2/info.json b/keyboards/melgeek/mj64/rev2/info.json
index c146adef04..705023fb8e 100644
--- a/keyboards/melgeek/mj64/rev2/info.json
+++ b/keyboards/melgeek/mj64/rev2/info.json
@@ -1,6 +1,6 @@
1{ 1{
2 "rgb_matrix": { 2 "rgb_matrix": {
3 "driver": "IS31FL3741" 3 "driver": "is31fl3741"
4 }, 4 },
5 "matrix_pins": { 5 "matrix_pins": {
6 "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], 6 "cols": ["B15", "A8", "A10", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
diff --git a/keyboards/melgeek/mj64/rev3/info.json b/keyboards/melgeek/mj64/rev3/info.json
index 330137a02a..62b2c58f15 100644
--- a/keyboards/melgeek/mj64/rev3/info.json
+++ b/keyboards/melgeek/mj64/rev3/info.json
@@ -1,6 +1,6 @@
1{ 1{
2 "rgb_matrix": { 2 "rgb_matrix": {
3 "driver": "IS31FL3741" 3 "driver": "is31fl3741"
4 }, 4 },
5 "matrix_pins": { 5 "matrix_pins": {
6 "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], 6 "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
diff --git a/keyboards/melgeek/mj65/info.json b/keyboards/melgeek/mj65/info.json
index 71fce4cf7a..061b4bc83e 100644
--- a/keyboards/melgeek/mj65/info.json
+++ b/keyboards/melgeek/mj65/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1", "B14"], 15 "cols": ["B15", "A8", "B13", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1", "B14"],
diff --git a/keyboards/melgeek/mojo68/info.json b/keyboards/melgeek/mojo68/info.json
index c5dcb5d410..7e160d0c59 100755
--- a/keyboards/melgeek/mojo68/info.json
+++ b/keyboards/melgeek/mojo68/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], 15 "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/melgeek/mojo68/rev1/rev1.c b/keyboards/melgeek/mojo68/rev1/rev1.c
index cadc625adb..bea523c84e 100755
--- a/keyboards/melgeek/mojo68/rev1/rev1.c
+++ b/keyboards/melgeek/mojo68/rev1/rev1.c
@@ -121,21 +121,21 @@ const is31_led g_is31_indicator_leds[3] = {
121bool led_update_kb(led_t led_state) { 121bool led_update_kb(led_t led_state) {
122 if (led_update_user(led_state)) { 122 if (led_update_user(led_state)) {
123 if (led_state.caps_lock) { 123 if (led_state.caps_lock) {
124 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0xff, 0x00, 0x00); 124 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0xff, 0x00, 0x00);
125 } else { 125 } else {
126 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); 126 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00);
127 } 127 }
128 128
129 if (led_state.num_lock) { 129 if (led_state.num_lock) {
130 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0xff, 0x00); 130 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0xff, 0x00);
131 } else { 131 } else {
132 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); 132 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00);
133 } 133 }
134 134
135 if (led_state.scroll_lock) { 135 if (led_state.scroll_lock) {
136 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0xff); 136 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0xff);
137 } else { 137 } else {
138 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); 138 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00);
139 } 139 }
140 } 140 }
141 return true; 141 return true;
@@ -144,10 +144,10 @@ bool led_update_kb(led_t led_state) {
144void matrix_init_kb(void) { 144void matrix_init_kb(void) {
145 for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) { 145 for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) {
146 is31_led led = g_is31_indicator_leds[i]; 146 is31_led led = g_is31_indicator_leds[i];
147 IS31FL3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); 147 is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF);
148 } 148 }
149 149
150 IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); 150 is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0);
151 151
152 matrix_init_user(); 152 matrix_init_user();
153} 153}
diff --git a/keyboards/melgeek/mojo75/info.json b/keyboards/melgeek/mojo75/info.json
index 7d7c6db3ff..c22c5710a5 100644
--- a/keyboards/melgeek/mojo75/info.json
+++ b/keyboards/melgeek/mojo75/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B12", "B13", "B14", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"], 15 "cols": ["B12", "B13", "B14", "B15", "A8", "A15", "B3", "B4", "B5", "B8", "B9", "C13", "C14", "C15", "A0", "A1"],
diff --git a/keyboards/melgeek/tegic/info.json b/keyboards/melgeek/tegic/info.json
index 31aa067323..c54f53ca61 100644
--- a/keyboards/melgeek/tegic/info.json
+++ b/keyboards/melgeek/tegic/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"], 15 "cols": ["B0", "B1", "B2", "B3", "D2", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7"],
diff --git a/keyboards/melgeek/z70ultra/info.json b/keyboards/melgeek/z70ultra/info.json
index 697d107a4f..ae555e046b 100644
--- a/keyboards/melgeek/z70ultra/info.json
+++ b/keyboards/melgeek/z70ultra/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B11", "B10", "B1", "A10", "B5", "B4", "B3", "A15", "A2", "A1", "A0", "C15", "C14", "C13"], 15 "cols": ["B11", "B10", "B1", "A10", "B5", "B4", "B3", "A15", "A2", "A1", "A0", "C15", "C14", "C13"],
diff --git a/keyboards/melgeek/z70ultra/z70ultra.c b/keyboards/melgeek/z70ultra/z70ultra.c
index 9ff2e778c6..d0b23c3bf8 100644
--- a/keyboards/melgeek/z70ultra/z70ultra.c
+++ b/keyboards/melgeek/z70ultra/z70ultra.c
@@ -129,27 +129,27 @@ const is31_led g_is31_indicator_leds[6] = {
129bool led_update_kb(led_t led_state) { 129bool led_update_kb(led_t led_state) {
130 if (led_update_user(led_state)) { 130 if (led_update_user(led_state)) {
131 if (led_state.caps_lock) { 131 if (led_state.caps_lock) {
132 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0xff, 0x00, 0x00); 132 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0xff, 0x00, 0x00);
133 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[3], 0xff, 0x00, 0x00); 133 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[3], 0xff, 0x00, 0x00);
134 } else { 134 } else {
135 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00); 135 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[2], 0x00, 0x00, 0x00);
136 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[3], 0x00, 0x00, 0x00); 136 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[3], 0x00, 0x00, 0x00);
137 } 137 }
138 138
139 if (led_state.num_lock) { 139 if (led_state.num_lock) {
140 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0xff, 0x00); 140 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0xff, 0x00);
141 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[4], 0x00, 0xff, 0x00); 141 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[4], 0x00, 0xff, 0x00);
142 } else { 142 } else {
143 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00); 143 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[1], 0x00, 0x00, 0x00);
144 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[4], 0x00, 0x00, 0x00); 144 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[4], 0x00, 0x00, 0x00);
145 } 145 }
146 146
147 if (led_state.scroll_lock) { 147 if (led_state.scroll_lock) {
148 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0xff); 148 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0xff);
149 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[5], 0x00, 0x00, 0xff); 149 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[5], 0x00, 0x00, 0xff);
150 } else { 150 } else {
151 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00); 151 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[0], 0x00, 0x00, 0x00);
152 IS31FL3741_set_pwm_buffer(&g_is31_indicator_leds[5], 0x00, 0x00, 0x00); 152 is31fl3741_set_pwm_buffer(&g_is31_indicator_leds[5], 0x00, 0x00, 0x00);
153 } 153 }
154 } 154 }
155 return true; 155 return true;
@@ -158,10 +158,10 @@ bool led_update_kb(led_t led_state) {
158void matrix_init_kb(void) { 158void matrix_init_kb(void) {
159 for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) { 159 for (int i = 0; i < DRIVER_INDICATOR_LED_TOTAL; ++i) {
160 is31_led led = g_is31_indicator_leds[i]; 160 is31_led led = g_is31_indicator_leds[i];
161 IS31FL3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF); 161 is31fl3741_set_scaling_registers(&led, 0xFF, 0xFF, 0xFF);
162 } 162 }
163 163
164 IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); 164 is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0);
165 165
166 matrix_init_user(); 166 matrix_init_user();
167} 167}
diff --git a/keyboards/miller/gm862/info.json b/keyboards/miller/gm862/info.json
index c66bba782f..952bb34397 100644
--- a/keyboards/miller/gm862/info.json
+++ b/keyboards/miller/gm862/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"], 15 "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5"],
diff --git a/keyboards/ml/gas75/info.json b/keyboards/ml/gas75/info.json
index a72db33f25..9831c7beb6 100644
--- a/keyboards/ml/gas75/info.json
+++ b/keyboards/ml/gas75/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "WS2812" 13 "driver": "ws2812"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["D1", "D2", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "E6", "B0", "B1", "B2", "B3"], 16 "cols": ["D1", "D2", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "E6", "B0", "B1", "B2", "B3"],
diff --git a/keyboards/momokai/tap_duo/info.json b/keyboards/momokai/tap_duo/info.json
index 96f600b3aa..262576b31a 100644
--- a/keyboards/momokai/tap_duo/info.json
+++ b/keyboards/momokai/tap_duo/info.json
@@ -12,7 +12,7 @@
12 "pin": "F0" 12 "pin": "F0"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["E6", "B2", "D1", "D2", "D3"], 18 "cols": ["E6", "B2", "D1", "D2", "D3"],
diff --git a/keyboards/momokai/tap_trio/info.json b/keyboards/momokai/tap_trio/info.json
index e3f2f2965e..afc5aa2015 100644
--- a/keyboards/momokai/tap_trio/info.json
+++ b/keyboards/momokai/tap_trio/info.json
@@ -12,7 +12,7 @@
12 "pin": "F0" 12 "pin": "F0"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["E6", "B2", "B7", "D1", "D2", "D3"], 18 "cols": ["E6", "B2", "B7", "D1", "D2", "D3"],
diff --git a/keyboards/monsgeek/m5/info.json b/keyboards/monsgeek/m5/info.json
index 03711c9a1b..4e504b8663 100644
--- a/keyboards/monsgeek/m5/info.json
+++ b/keyboards/monsgeek/m5/info.json
@@ -30,7 +30,7 @@
30 "caps_lock": "C10" 30 "caps_lock": "C10"
31 }, 31 },
32 "rgb_matrix": { 32 "rgb_matrix": {
33 "driver": "IS31FL3733", 33 "driver": "is31fl3733",
34 "max_brightness": 180, 34 "max_brightness": 180,
35 "animations": { 35 "animations": {
36 "breathing": true, 36 "breathing": true,
diff --git a/keyboards/monsgeek/m6/info.json b/keyboards/monsgeek/m6/info.json
index 78d6c1bf94..d23d2f8322 100644
--- a/keyboards/monsgeek/m6/info.json
+++ b/keyboards/monsgeek/m6/info.json
@@ -26,7 +26,7 @@
26 }, 26 },
27 "diode_direction": "ROW2COL", 27 "diode_direction": "ROW2COL",
28 "rgb_matrix": { 28 "rgb_matrix": {
29 "driver": "IS31FL3733", 29 "driver": "is31fl3733",
30 "max_brightness": 200, 30 "max_brightness": 200,
31 "val_steps": 20, 31 "val_steps": 20,
32 "animations": { 32 "animations": {
diff --git a/keyboards/monstargear/xo87/rgb/info.json b/keyboards/monstargear/xo87/rgb/info.json
index ebbfa848c1..96b0319945 100644
--- a/keyboards/monstargear/xo87/rgb/info.json
+++ b/keyboards/monstargear/xo87/rgb/info.json
@@ -12,7 +12,7 @@
12 "pin": "D7" 12 "pin": "D7"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "rgblight": { 17 "rgblight": {
18 "max_brightness": 100 18 "max_brightness": 100
diff --git a/keyboards/moonlander/info.json b/keyboards/moonlander/info.json
index fc09859f82..acbb278a33 100644
--- a/keyboards/moonlander/info.json
+++ b/keyboards/moonlander/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "processor": "STM32F303", 14 "processor": "STM32F303",
15 "bootloader": "stm32-dfu", 15 "bootloader": "stm32-dfu",
diff --git a/keyboards/mss_studio/m63_rgb/info.json b/keyboards/mss_studio/m63_rgb/info.json
index 16577a21e8..197a78a924 100644
--- a/keyboards/mss_studio/m63_rgb/info.json
+++ b/keyboards/mss_studio/m63_rgb/info.json
@@ -13,7 +13,7 @@
13 "pin": "B15" 13 "pin": "B15"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["B0", "B1", "B2", "B10", "A7", "A6", "A5", "A4", "B5", "B6", "A1", "B7", "B8", "B9"], 19 "cols": ["B0", "B1", "B2", "B10", "A7", "A6", "A5", "A4", "B5", "B6", "A1", "B7", "B8", "B9"],
diff --git a/keyboards/mss_studio/m64_rgb/info.json b/keyboards/mss_studio/m64_rgb/info.json
index 6f300fbbb2..c1850d1191 100644
--- a/keyboards/mss_studio/m64_rgb/info.json
+++ b/keyboards/mss_studio/m64_rgb/info.json
@@ -13,7 +13,7 @@
13 "pin": "B15" 13 "pin": "B15"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["B0", "B1", "B2", "B10", "A7", "A6", "A5", "A4", "B5", "B6", "A1", "B7", "B8", "B9"], 19 "cols": ["B0", "B1", "B2", "B10", "A7", "A6", "A5", "A4", "B5", "B6", "A1", "B7", "B8", "B9"],
diff --git a/keyboards/mt/mt64rgb/info.json b/keyboards/mt/mt64rgb/info.json
index fe3be4503c..baadcc0db7 100644
--- a/keyboards/mt/mt64rgb/info.json
+++ b/keyboards/mt/mt64rgb/info.json
@@ -19,7 +19,7 @@
19 "pin": "B0" 19 "pin": "B0"
20 }, 20 },
21 "rgb_matrix": { 21 "rgb_matrix": {
22 "driver": "IS31FL3733" 22 "driver": "is31fl3733"
23 }, 23 },
24 "matrix_pins": { 24 "matrix_pins": {
25 "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7"], 25 "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7"],
diff --git a/keyboards/mt/mt84/info.json b/keyboards/mt/mt84/info.json
index 95131d535a..4d934b97f2 100644
--- a/keyboards/mt/mt84/info.json
+++ b/keyboards/mt/mt84/info.json
@@ -18,7 +18,7 @@
18 "pin": "B0" 18 "pin": "B0"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "IS31FL3737" 21 "driver": "is31fl3737"
22 }, 22 },
23 "matrix_pins": { 23 "matrix_pins": {
24 "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7", "E6"], 24 "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7", "E6"],
diff --git a/keyboards/mwstudio/mw65_rgb/info.json b/keyboards/mwstudio/mw65_rgb/info.json
index cb2e62c6e9..73e3c0ea24 100644
--- a/keyboards/mwstudio/mw65_rgb/info.json
+++ b/keyboards/mwstudio/mw65_rgb/info.json
@@ -12,7 +12,7 @@
12 "pin": "B3" 12 "pin": "B3"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["C6", "B6", "B5", "B4", "D7", "D6", "D4", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "E6"], 18 "cols": ["C6", "B6", "B5", "B4", "D7", "D6", "D4", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "E6"],
diff --git a/keyboards/mwstudio/mw75/info.json b/keyboards/mwstudio/mw75/info.json
index 95e536a57e..197a58d7ab 100644
--- a/keyboards/mwstudio/mw75/info.json
+++ b/keyboards/mwstudio/mw75/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "E6"], 15 "cols": ["D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "E6"],
diff --git a/keyboards/mwstudio/mw75r2/info.json b/keyboards/mwstudio/mw75r2/info.json
index 44850a8655..8f9d19e016 100644
--- a/keyboards/mwstudio/mw75r2/info.json
+++ b/keyboards/mwstudio/mw75r2/info.json
@@ -18,7 +18,7 @@
18 "pin": "B3" 18 "pin": "B3"
19 }, 19 },
20 "rgb_matrix": { 20 "rgb_matrix": {
21 "driver": "WS2812" 21 "driver": "ws2812"
22 }, 22 },
23 "matrix_pins": { 23 "matrix_pins": {
24 "cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D4", "D6", "F7", "F6", "E6", "F0", "F1", "F4", "F5"], 24 "cols": ["C7", "C6", "B6", "B5", "B4", "D7", "D4", "D6", "F7", "F6", "E6", "F0", "F1", "F4", "F5"],
diff --git a/keyboards/nack/info.json b/keyboards/nack/info.json
index 0c65f81961..4fd9981145 100644
--- a/keyboards/nack/info.json
+++ b/keyboards/nack/info.json
@@ -13,7 +13,7 @@
13 "driver": "spi" 13 "driver": "spi"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812", 16 "driver": "ws2812",
17 "hue_steps": 10, 17 "hue_steps": 10,
18 "sat_steps": 10, 18 "sat_steps": 10,
19 "val_steps": 10 19 "val_steps": 10
diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c
index a5a5ad9120..cf31b6b72b 100644
--- a/keyboards/neson_design/700e/700e.c
+++ b/keyboards/neson_design/700e/700e.c
@@ -107,12 +107,12 @@ static void self_testing(void)
107 switch(rgb_state.testing) { 107 switch(rgb_state.testing) {
108 case ST_STAGE_1: 108 case ST_STAGE_1:
109 if (rgb_state.index !=0 ) { 109 if (rgb_state.index !=0 ) {
110 IS31FL3731_set_color_all(0, 0, 0); 110 is31fl3731_set_color_all(0, 0, 0);
111 } 111 }
112 112
113 if (rgb_state.index >= ST_LEFT_END) { 113 if (rgb_state.index >= ST_LEFT_END) {
114 for (int i = rgb_state.index - 1; i < RGB_MATRIX_LED_COUNT - rgb_state.index + 1; i++) { 114 for (int i = rgb_state.index - 1; i < RGB_MATRIX_LED_COUNT - rgb_state.index + 1; i++) {
115 IS31FL3731_set_color(i, led.r, led.g, led.b); 115 is31fl3731_set_color(i, led.r, led.g, led.b);
116 } 116 }
117 if (rgb_state.index == ST_LEFT_END) { 117 if (rgb_state.index == ST_LEFT_END) {
118 rgb_state.index = ST_LEFT_BEGIN; 118 rgb_state.index = ST_LEFT_BEGIN;
@@ -131,20 +131,20 @@ static void self_testing(void)
131 break; 131 break;
132 case ST_STAGE_2: { 132 case ST_STAGE_2: {
133 // clear all 133 // clear all
134 IS31FL3731_set_color_all(0, 0, 0); 134 is31fl3731_set_color_all(0, 0, 0);
135 int i = 0; 135 int i = 0;
136 // light left and right 136 // light left and right
137 for (i = 0; i < ST_LEFT_SIZE; i++) { 137 for (i = 0; i < ST_LEFT_SIZE; i++) {
138 IS31FL3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b); 138 is31fl3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b);
139 } 139 }
140 for (i = 0; i < ST_RIGHT_SIZE; i++) { 140 for (i = 0; i < ST_RIGHT_SIZE; i++) {
141 IS31FL3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b); 141 is31fl3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b);
142 142
143 } 143 }
144 if (rgb_state.dir) { 144 if (rgb_state.dir) {
145 // left to right 145 // left to right
146 for (int i = rgb_state.index; i < rgb_state.index+ST_LEFT_SIZE+ST_RIGHT_SIZE; i++) { 146 for (int i = rgb_state.index; i < rgb_state.index+ST_LEFT_SIZE+ST_RIGHT_SIZE; i++) {
147 IS31FL3731_set_color(i, led.r, led.g, led.b); 147 is31fl3731_set_color(i, led.r, led.g, led.b);
148 } 148 }
149 rgb_state.index += ST_LEFT_SIZE+ST_RIGHT_SIZE; 149 rgb_state.index += ST_LEFT_SIZE+ST_RIGHT_SIZE;
150 if (rgb_state.index == ST_RIGHT_BEGIN) { 150 if (rgb_state.index == ST_RIGHT_BEGIN) {
@@ -154,7 +154,7 @@ static void self_testing(void)
154 } else { 154 } else {
155 // right to left 155 // right to left
156 for (int i = rgb_state.index - ST_RIGHT_SIZE; i < rgb_state.index; i++) { 156 for (int i = rgb_state.index - ST_RIGHT_SIZE; i < rgb_state.index; i++) {
157 IS31FL3731_set_color(i, led.r, led.g, led.b); 157 is31fl3731_set_color(i, led.r, led.g, led.b);
158 } 158 }
159 rgb_state.index -= ST_LEFT_SIZE + ST_RIGHT_SIZE; 159 rgb_state.index -= ST_LEFT_SIZE + ST_RIGHT_SIZE;
160 if (rgb_state.index == ST_LEFT_BEGIN+ST_LEFT_SIZE) { 160 if (rgb_state.index == ST_LEFT_BEGIN+ST_LEFT_SIZE) {
@@ -174,7 +174,7 @@ static void self_testing(void)
174 break; 174 break;
175 case ST_STAGE_3: 175 case ST_STAGE_3:
176 if (rgb_state.index != RGB_MATRIX_LED_COUNT/2) { 176 if (rgb_state.index != RGB_MATRIX_LED_COUNT/2) {
177 IS31FL3731_set_color_all(0, 0, 0); 177 is31fl3731_set_color_all(0, 0, 0);
178 } 178 }
179 179
180 // light left and right 180 // light left and right
@@ -193,11 +193,11 @@ static void self_testing(void)
193 } else { 193 } else {
194 // left 194 // left
195 for (int i = 0; i < rgb_state.index+1; i++) { 195 for (int i = 0; i < rgb_state.index+1; i++) {
196 IS31FL3731_set_color(i, led.r, led.g, led.b); 196 is31fl3731_set_color(i, led.r, led.g, led.b);
197 } 197 }
198 // right 198 // right
199 for (int i = ST_RIGHT_END; i > ST_RIGHT_END - rgb_state.index - 1; i--) { 199 for (int i = ST_RIGHT_END; i > ST_RIGHT_END - rgb_state.index - 1; i--) {
200 IS31FL3731_set_color(i, led.r, led.g, led.b); 200 is31fl3731_set_color(i, led.r, led.g, led.b);
201 } 201 }
202 rgb_state.index ++; 202 rgb_state.index ++;
203 } 203 }
@@ -295,16 +295,16 @@ void matrix_init_kb(void)
295 writePinLow(LED_CAPS_LOCK_PIN); 295 writePinLow(LED_CAPS_LOCK_PIN);
296 296
297 i2c_init(); 297 i2c_init();
298 IS31FL3731_init(DRIVER_ADDR_1); 298 is31fl3731_init(DRIVER_ADDR_1);
299#ifdef DRIVER_ADDR_2 299#ifdef DRIVER_ADDR_2
300 IS31FL3731_init(DRIVER_ADDR_2); 300 is31fl3731_init(DRIVER_ADDR_2);
301#endif 301#endif
302 for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { 302 for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) {
303 IS31FL3731_set_led_control_register(index, true, true, true); 303 is31fl3731_set_led_control_register(index, true, true, true);
304 } 304 }
305 IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); 305 is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0);
306#ifdef DRIVER_ADDR_2 306#ifdef DRIVER_ADDR_2
307 IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); 307 is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1);
308#endif 308#endif
309 update_ticks(); 309 update_ticks();
310 matrix_init_user(); 310 matrix_init_user();
@@ -321,7 +321,7 @@ void housekeeping_task_kb(void)
321 self_testing(); 321 self_testing();
322 } else if (rgb_state.state == CAPS_ALERT) { 322 } else if (rgb_state.state == CAPS_ALERT) {
323 if (rgb_state.alert) { 323 if (rgb_state.alert) {
324 IS31FL3731_set_color_all(ALERM_LED_R, ALERM_LED_G, ALERM_LED_B); 324 is31fl3731_set_color_all(ALERM_LED_R, ALERM_LED_G, ALERM_LED_B);
325 LED_TYPE leds[4]; 325 LED_TYPE leds[4];
326 for (int i = 0; i < 4; i++) { 326 for (int i = 0; i < 4; i++) {
327 leds[i].r = ALERM_LED_G; 327 leds[i].r = ALERM_LED_G;
@@ -330,7 +330,7 @@ void housekeeping_task_kb(void)
330 } 330 }
331 ws2812_setleds(leds, 4); 331 ws2812_setleds(leds, 4);
332 } else { 332 } else {
333 IS31FL3731_set_color_all(0, 0, 0); 333 is31fl3731_set_color_all(0, 0, 0);
334 LED_TYPE leds[4] = {0}; 334 LED_TYPE leds[4] = {0};
335 ws2812_setleds(leds, 4); 335 ws2812_setleds(leds, 4);
336 } 336 }
@@ -341,9 +341,9 @@ void housekeeping_task_kb(void)
341 } 341 }
342 } 342 }
343 343
344 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); 344 is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0);
345#ifdef DRIVER_ADDR_2 345#ifdef DRIVER_ADDR_2
346 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); 346 is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1);
347#endif 347#endif
348 348
349 housekeeping_task_user(); 349 housekeeping_task_user();
@@ -354,7 +354,7 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds)
354 if (rgb_state.state != NORMAL) return; 354 if (rgb_state.state != NORMAL) return;
355 355
356 for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 356 for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
357 IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); 357 is31fl3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b);
358 } 358 }
359 LED_TYPE leds[4]; 359 LED_TYPE leds[4];
360 for (int i = 0; i < 4; i++) { 360 for (int i = 0; i < 4; i++) {
diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c
index 5727ab655f..cf99404641 100644
--- a/keyboards/neson_design/n6/n6.c
+++ b/keyboards/neson_design/n6/n6.c
@@ -111,12 +111,12 @@ static void self_testing(void)
111 switch(rgb_state.testing) { 111 switch(rgb_state.testing) {
112 case ST_STAGE_1: 112 case ST_STAGE_1:
113 if (rgb_state.index !=0 ) { 113 if (rgb_state.index !=0 ) {
114 IS31FL3731_set_color_all(0, 0, 0); 114 is31fl3731_set_color_all(0, 0, 0);
115 } 115 }
116 116
117 if (rgb_state.index >= ST_LEFT_END) { 117 if (rgb_state.index >= ST_LEFT_END) {
118 for (int i = rgb_state.index - 1; i < RGB_MATRIX_LED_COUNT - rgb_state.index + 1; i++) { 118 for (int i = rgb_state.index - 1; i < RGB_MATRIX_LED_COUNT - rgb_state.index + 1; i++) {
119 IS31FL3731_set_color(i, led.r, led.g, led.b); 119 is31fl3731_set_color(i, led.r, led.g, led.b);
120 } 120 }
121 if (rgb_state.index == ST_LEFT_END) { 121 if (rgb_state.index == ST_LEFT_END) {
122 rgb_state.index = ST_LEFT_BEGIN; 122 rgb_state.index = ST_LEFT_BEGIN;
@@ -135,20 +135,20 @@ static void self_testing(void)
135 break; 135 break;
136 case ST_STAGE_2: { 136 case ST_STAGE_2: {
137 // clear all 137 // clear all
138 IS31FL3731_set_color_all(0, 0, 0); 138 is31fl3731_set_color_all(0, 0, 0);
139 int i = 0; 139 int i = 0;
140 // light left and right 140 // light left and right
141 for (i = 0; i < ST_LEFT_SIZE; i++) { 141 for (i = 0; i < ST_LEFT_SIZE; i++) {
142 IS31FL3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b); 142 is31fl3731_set_color(ST_LEFT_BEGIN+i, led.r, led.g, led.b);
143 } 143 }
144 for (i = 0; i < ST_RIGHT_SIZE; i++) { 144 for (i = 0; i < ST_RIGHT_SIZE; i++) {
145 IS31FL3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b); 145 is31fl3731_set_color(ST_RIGHT_BEGIN+i, led.r, led.g, led.b);
146 146
147 } 147 }
148 if (rgb_state.dir) { 148 if (rgb_state.dir) {
149 // left to right 149 // left to right
150 for (int i = rgb_state.index; i < rgb_state.index+ST_LEFT_SIZE+ST_RIGHT_SIZE; i++) { 150 for (int i = rgb_state.index; i < rgb_state.index+ST_LEFT_SIZE+ST_RIGHT_SIZE; i++) {
151 IS31FL3731_set_color(i, led.r, led.g, led.b); 151 is31fl3731_set_color(i, led.r, led.g, led.b);
152 } 152 }
153 rgb_state.index += ST_LEFT_SIZE+ST_RIGHT_SIZE; 153 rgb_state.index += ST_LEFT_SIZE+ST_RIGHT_SIZE;
154 if (rgb_state.index == ST_RIGHT_BEGIN) { 154 if (rgb_state.index == ST_RIGHT_BEGIN) {
@@ -158,7 +158,7 @@ static void self_testing(void)
158 } else { 158 } else {
159 // right to left 159 // right to left
160 for (int i = rgb_state.index - ST_RIGHT_SIZE; i < rgb_state.index; i++) { 160 for (int i = rgb_state.index - ST_RIGHT_SIZE; i < rgb_state.index; i++) {
161 IS31FL3731_set_color(i, led.r, led.g, led.b); 161 is31fl3731_set_color(i, led.r, led.g, led.b);
162 } 162 }
163 rgb_state.index -= ST_LEFT_SIZE + ST_RIGHT_SIZE; 163 rgb_state.index -= ST_LEFT_SIZE + ST_RIGHT_SIZE;
164 if (rgb_state.index == ST_LEFT_BEGIN+ST_LEFT_SIZE) { 164 if (rgb_state.index == ST_LEFT_BEGIN+ST_LEFT_SIZE) {
@@ -178,7 +178,7 @@ static void self_testing(void)
178 break; 178 break;
179 case ST_STAGE_3: 179 case ST_STAGE_3:
180 if (rgb_state.index != RGB_MATRIX_LED_COUNT/2) { 180 if (rgb_state.index != RGB_MATRIX_LED_COUNT/2) {
181 IS31FL3731_set_color_all(0, 0, 0); 181 is31fl3731_set_color_all(0, 0, 0);
182 } 182 }
183 183
184 // light left and right 184 // light left and right
@@ -197,11 +197,11 @@ static void self_testing(void)
197 } else { 197 } else {
198 // left 198 // left
199 for (int i = 0; i < rgb_state.index+1; i++) { 199 for (int i = 0; i < rgb_state.index+1; i++) {
200 IS31FL3731_set_color(i, led.r, led.g, led.b); 200 is31fl3731_set_color(i, led.r, led.g, led.b);
201 } 201 }
202 // right 202 // right
203 for (int i = ST_RIGHT_END; i > ST_RIGHT_END - rgb_state.index - 1; i--) { 203 for (int i = ST_RIGHT_END; i > ST_RIGHT_END - rgb_state.index - 1; i--) {
204 IS31FL3731_set_color(i, led.r, led.g, led.b); 204 is31fl3731_set_color(i, led.r, led.g, led.b);
205 } 205 }
206 rgb_state.index ++; 206 rgb_state.index ++;
207 } 207 }
@@ -299,16 +299,16 @@ void matrix_init_kb(void)
299 writePinLow(LED_CAPS_LOCK_PIN); 299 writePinLow(LED_CAPS_LOCK_PIN);
300 300
301 i2c_init(); 301 i2c_init();
302 IS31FL3731_init(DRIVER_ADDR_1); 302 is31fl3731_init(DRIVER_ADDR_1);
303#ifdef DRIVER_ADDR_2 303#ifdef DRIVER_ADDR_2
304 IS31FL3731_init(DRIVER_ADDR_2); 304 is31fl3731_init(DRIVER_ADDR_2);
305#endif 305#endif
306 for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) { 306 for (int index = 0; index < RGB_MATRIX_LED_COUNT; index++) {
307 IS31FL3731_set_led_control_register(index, true, true, true); 307 is31fl3731_set_led_control_register(index, true, true, true);
308 } 308 }
309 IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); 309 is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0);
310#ifdef DRIVER_ADDR_2 310#ifdef DRIVER_ADDR_2
311 IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); 311 is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1);
312#endif 312#endif
313 update_ticks(); 313 update_ticks();
314 matrix_init_user(); 314 matrix_init_user();
@@ -327,13 +327,13 @@ void housekeeping_task_kb(void)
327 .b = 0x00, 327 .b = 0x00,
328 }; 328 };
329 if (rgb_state.alert) { 329 if (rgb_state.alert) {
330 IS31FL3731_set_color_all(led.r, led.g, led.b); 330 is31fl3731_set_color_all(led.r, led.g, led.b);
331 ws2812_setleds(&led, 1); 331 ws2812_setleds(&led, 1);
332 } else { 332 } else {
333 led.r = 0; 333 led.r = 0;
334 led.g = 0; 334 led.g = 0;
335 led.b = 0; 335 led.b = 0;
336 IS31FL3731_set_color_all(0, 0, 0); 336 is31fl3731_set_color_all(0, 0, 0);
337 ws2812_setleds(&led, 1); 337 ws2812_setleds(&led, 1);
338 } 338 }
339 339
@@ -343,9 +343,9 @@ void housekeeping_task_kb(void)
343 } 343 }
344 } 344 }
345 345
346 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); 346 is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0);
347#ifdef DRIVER_ADDR_2 347#ifdef DRIVER_ADDR_2
348 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); 348 is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1);
349#endif 349#endif
350 350
351 housekeeping_task_user(); 351 housekeeping_task_user();
@@ -356,7 +356,7 @@ void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds)
356 if (rgb_state.state != NORMAL) return; 356 if (rgb_state.state != NORMAL) return;
357 357
358 for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { 358 for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
359 IS31FL3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b); 359 is31fl3731_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b);
360 } 360 }
361 ws2812_setleds(start_led+RGB_MATRIX_LED_COUNT, 1); 361 ws2812_setleds(start_led+RGB_MATRIX_LED_COUNT, 1);
362} 362}
diff --git a/keyboards/ning/tiny_board/tb16_rgb/info.json b/keyboards/ning/tiny_board/tb16_rgb/info.json
index 3a6cfe3f77..337c61fabe 100644
--- a/keyboards/ning/tiny_board/tb16_rgb/info.json
+++ b/keyboards/ning/tiny_board/tb16_rgb/info.json
@@ -13,7 +13,7 @@
13 "rgb_matrix": true 13 "rgb_matrix": true
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["B6", "B1", "B3", "B2"], 19 "cols": ["B6", "B1", "B3", "B2"],
diff --git a/keyboards/novelkeys/nk20/info.json b/keyboards/novelkeys/nk20/info.json
index 2befadb5d0..3ad31f8a33 100644
--- a/keyboards/novelkeys/nk20/info.json
+++ b/keyboards/novelkeys/nk20/info.json
@@ -13,7 +13,7 @@
13 "driver": "pwm" 13 "driver": "pwm"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["B13", "B14", "B15", "A4"], 19 "cols": ["B13", "B14", "B15", "A4"],
diff --git a/keyboards/novelkeys/nk65/nk65.c b/keyboards/novelkeys/nk65/nk65.c
index 0e6fe08b5c..2c325e453a 100755
--- a/keyboards/novelkeys/nk65/nk65.c
+++ b/keyboards/novelkeys/nk65/nk65.c
@@ -27,9 +27,9 @@
27 */ 27 */
28void led_update_ports(led_t led_state) { 28void led_update_ports(led_t led_state) {
29 if (led_state.caps_lock) { 29 if (led_state.caps_lock) {
30 IS31FL3733_set_color( 7+64-1, 0, 255, 0 ); 30 is31fl3733_set_color( 7+64-1, 0, 255, 0 );
31 } else { 31 } else {
32 IS31FL3733_set_color( 7+64-1, 0, 0, 0 ); 32 is31fl3733_set_color( 7+64-1, 0, 0, 0 );
33 } 33 }
34} 34}
35 35
@@ -45,6 +45,6 @@ __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
45 G = 255; 45 G = 255;
46 } 46 }
47 47
48 IS31FL3733_set_color( 6+64-1, R, G, B ); 48 is31fl3733_set_color( 6+64-1, R, G, B );
49 return state; 49 return state;
50} 50}
diff --git a/keyboards/novelkeys/nk65b/info.json b/keyboards/novelkeys/nk65b/info.json
index 93700e6851..eb6565aea6 100755
--- a/keyboards/novelkeys/nk65b/info.json
+++ b/keyboards/novelkeys/nk65b/info.json
@@ -13,7 +13,7 @@
13 "driver": "pwm" 13 "driver": "pwm"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B12", "B13", "B14", "B15", "A8", "A9"], 19 "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B2", "B10", "B12", "B13", "B14", "B15", "A8", "A9"],
diff --git a/keyboards/novelkeys/nk87/nk87.c b/keyboards/novelkeys/nk87/nk87.c
index c90ba02ea4..c75fff450b 100755
--- a/keyboards/novelkeys/nk87/nk87.c
+++ b/keyboards/novelkeys/nk87/nk87.c
@@ -38,8 +38,8 @@ bool led_update_kb(led_t led_state) {
38 CAPS = 0; 38 CAPS = 0;
39 } 39 }
40 } 40 }
41 IS31FL3733_set_color( 63+64-1, FN1, FN1, CAPS ); 41 is31fl3733_set_color( 63+64-1, FN1, FN1, CAPS );
42 IS31FL3733_set_color( 48+64-1, 0, 0, FN2 ); 42 is31fl3733_set_color( 48+64-1, 0, 0, FN2 );
43 return res; 43 return res;
44} 44}
45 45
diff --git a/keyboards/novelkeys/nk87b/info.json b/keyboards/novelkeys/nk87b/info.json
index 965c2f8b04..269db89ed3 100755
--- a/keyboards/novelkeys/nk87b/info.json
+++ b/keyboards/novelkeys/nk87b/info.json
@@ -13,7 +13,7 @@
13 "driver": "pwm" 13 "driver": "pwm"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["B12", "B13", "B14", "B15", "A8", "A10", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "A0", "A1"], 19 "cols": ["B12", "B13", "B14", "B15", "A8", "A10", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "A0", "A1"],
diff --git a/keyboards/novelkeys/nk_plus/info.json b/keyboards/novelkeys/nk_plus/info.json
index 4fdbf80f5c..f6fad60b01 100755
--- a/keyboards/novelkeys/nk_plus/info.json
+++ b/keyboards/novelkeys/nk_plus/info.json
@@ -27,7 +27,7 @@
27 "processor": "STM32F072", 27 "processor": "STM32F072",
28 "bootloader": "stm32-dfu", 28 "bootloader": "stm32-dfu",
29 "rgb_matrix": { 29 "rgb_matrix": {
30 "driver": "WS2812", 30 "driver": "ws2812",
31 "layout": [ 31 "layout": [
32 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, 32 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
33 {"flags": 1, "matrix": [0, 1], "x": 13, "y": 0}, 33 {"flags": 1, "matrix": [0, 1], "x": 13, "y": 0},
diff --git a/keyboards/omkbd/runner3680/5x6_5x8/info.json b/keyboards/omkbd/runner3680/5x6_5x8/info.json
index 19430d76c9..7b717f7a3d 100644
--- a/keyboards/omkbd/runner3680/5x6_5x8/info.json
+++ b/keyboards/omkbd/runner3680/5x6_5x8/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.5" 9 "device_version": "0.0.5"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"], 15 "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"],
diff --git a/keyboards/opendeck/32/rev1/info.json b/keyboards/opendeck/32/rev1/info.json
index e2491c8ef1..2d72d9d0b4 100644
--- a/keyboards/opendeck/32/rev1/info.json
+++ b/keyboards/opendeck/32/rev1/info.json
@@ -4,7 +4,7 @@
4 "rows": ["C7", "C6", "B6", "B5"] 4 "rows": ["C7", "C6", "B6", "B5"]
5 }, 5 },
6 "rgb_matrix": { 6 "rgb_matrix": {
7 "driver": "IS31FL3731" 7 "driver": "is31fl3731"
8 }, 8 },
9 "diode_direction": "COL2ROW", 9 "diode_direction": "COL2ROW",
10 "processor": "atmega32u4", 10 "processor": "atmega32u4",
diff --git a/keyboards/owlab/voice65/hotswap/info.json b/keyboards/owlab/voice65/hotswap/info.json
index cf6c2503b6..3db8cc6d15 100644
--- a/keyboards/owlab/voice65/hotswap/info.json
+++ b/keyboards/owlab/voice65/hotswap/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "IS31FL3741" 13 "driver": "is31fl3741"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A15", "B8", "B9", "B12", "B13"], 16 "cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A15", "B8", "B9", "B12", "B13"],
diff --git a/keyboards/owlab/voice65/soldered/info.json b/keyboards/owlab/voice65/soldered/info.json
index 7e9d0be514..7cb5e3cdc3 100644
--- a/keyboards/owlab/voice65/soldered/info.json
+++ b/keyboards/owlab/voice65/soldered/info.json
@@ -10,7 +10,7 @@
10 "force_nkro": true 10 "force_nkro": true
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "IS31FL3741" 13 "driver": "is31fl3741"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A15", "B8", "B9", "B12", "B13"], 16 "cols": ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A9", "A10", "A15", "B8", "B9", "B12", "B13"],
diff --git a/keyboards/paprikman/albacore/info.json b/keyboards/paprikman/albacore/info.json
index 8d62d0a247..5fad6237fa 100644
--- a/keyboards/paprikman/albacore/info.json
+++ b/keyboards/paprikman/albacore/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["C6", "B6", "B5", "B4"], 15 "cols": ["C6", "B6", "B5", "B4"],
diff --git a/keyboards/percent/canoe_gen2/info.json b/keyboards/percent/canoe_gen2/info.json
index df0c309266..0cdb8f9819 100644
--- a/keyboards/percent/canoe_gen2/info.json
+++ b/keyboards/percent/canoe_gen2/info.json
@@ -12,7 +12,7 @@
12 "pin": "B7" 12 "pin": "B7"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["B0", "D0", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "F6", "F7"], 18 "cols": ["B0", "D0", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "F6", "F7"],
diff --git a/keyboards/phage_studio/pila87/info.json b/keyboards/phage_studio/pila87/info.json
index 522cd9c548..c7157bc573 100644
--- a/keyboards/phage_studio/pila87/info.json
+++ b/keyboards/phage_studio/pila87/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "processor": "STM32F103", 14 "processor": "STM32F103",
15 "bootloader": "stm32duino", 15 "bootloader": "stm32duino",
diff --git a/keyboards/phase_studio/titan65/hotswap/info.json b/keyboards/phase_studio/titan65/hotswap/info.json
index 380c0c271a..a455235168 100644
--- a/keyboards/phase_studio/titan65/hotswap/info.json
+++ b/keyboards/phase_studio/titan65/hotswap/info.json
@@ -12,7 +12,7 @@
12 "pin": "E6" 12 "pin": "E6"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["B0", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "F0", "F1", "C7", "F4", "F5", "F6"], 18 "cols": ["B0", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "F0", "F1", "C7", "F4", "F5", "F6"],
diff --git a/keyboards/planck/ez/info.json b/keyboards/planck/ez/info.json
index 0bb9d35ca2..6848239279 100644
--- a/keyboards/planck/ez/info.json
+++ b/keyboards/planck/ez/info.json
@@ -7,7 +7,7 @@
7 "device_version": "0.0.1" 7 "device_version": "0.0.1"
8 }, 8 },
9 "rgb_matrix": { 9 "rgb_matrix": {
10 "driver": "IS31FL3737" 10 "driver": "is31fl3737"
11 }, 11 },
12 "matrix_pins": { 12 "matrix_pins": {
13 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], 13 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
diff --git a/keyboards/planck/light/info.json b/keyboards/planck/light/info.json
index 64d9fdcd85..b6f3df8fe6 100644
--- a/keyboards/planck/light/info.json
+++ b/keyboards/planck/light/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["E6", "E3", "E4", "D3", "D4", "D5", "C0", "A7", "A6", "E1", "E0", "D7"], 15 "cols": ["E6", "E3", "E4", "D3", "D4", "D5", "C0", "A7", "A6", "E1", "E0", "D7"],
diff --git a/keyboards/planck/rev6/info.json b/keyboards/planck/rev6/info.json
index ac0691721c..59e7ba6635 100644
--- a/keyboards/planck/rev6/info.json
+++ b/keyboards/planck/rev6/info.json
@@ -16,7 +16,7 @@
16 "driver": "pwm" 16 "driver": "pwm"
17 }, 17 },
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "WS2812" 19 "driver": "ws2812"
20 }, 20 },
21 "matrix_pins": { 21 "matrix_pins": {
22 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], 22 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
diff --git a/keyboards/planck/rev6_drop/info.json b/keyboards/planck/rev6_drop/info.json
index c5450f45c0..d04bb0d6aa 100644
--- a/keyboards/planck/rev6_drop/info.json
+++ b/keyboards/planck/rev6_drop/info.json
@@ -16,7 +16,7 @@
16 "driver": "pwm" 16 "driver": "pwm"
17 }, 17 },
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "WS2812" 19 "driver": "ws2812"
20 }, 20 },
21 "matrix_pins": { 21 "matrix_pins": {
22 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], 22 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
diff --git a/keyboards/planck/rev7/info.json b/keyboards/planck/rev7/info.json
index e4d7433423..1d57732b4f 100644
--- a/keyboards/planck/rev7/info.json
+++ b/keyboards/planck/rev7/info.json
@@ -13,7 +13,7 @@
13 "driver": "pwm" 13 "driver": "pwm"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], 19 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
diff --git a/keyboards/playkbtw/pk64rgb/info.json b/keyboards/playkbtw/pk64rgb/info.json
index b37183af53..03bca52889 100644
--- a/keyboards/playkbtw/pk64rgb/info.json
+++ b/keyboards/playkbtw/pk64rgb/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3733" 12 "driver": "is31fl3733"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7"], 15 "cols": ["B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0", "B1", "B2", "B3", "B7"],
diff --git a/keyboards/plywrks/ply8x/info.json b/keyboards/plywrks/ply8x/info.json
index 8c5766e2c1..7c0717ade0 100644
--- a/keyboards/plywrks/ply8x/info.json
+++ b/keyboards/plywrks/ply8x/info.json
@@ -74,7 +74,7 @@
74 "solid_splash": true, 74 "solid_splash": true,
75 "solid_multisplash": true 75 "solid_multisplash": true
76 }, 76 },
77 "driver": "WS2812", 77 "driver": "ws2812",
78 "layout": [ 78 "layout": [
79 {"flags": 8, "matrix": [3, 0], "x":2, "y":27}, 79 {"flags": 8, "matrix": [3, 0], "x":2, "y":27},
80 {"flags": 8, "matrix": [0,15], "x":211, "y":0}, 80 {"flags": 8, "matrix": [0,15], "x":211, "y":0},
diff --git a/keyboards/preonic/rev3/info.json b/keyboards/preonic/rev3/info.json
index 05d9b1cbd9..69e09079d1 100644
--- a/keyboards/preonic/rev3/info.json
+++ b/keyboards/preonic/rev3/info.json
@@ -14,7 +14,7 @@
14 "driver": "pwm" 14 "driver": "pwm"
15 }, 15 },
16 "rgb_matrix": { 16 "rgb_matrix": {
17 "driver": "WS2812" 17 "driver": "ws2812"
18 }, 18 },
19 "matrix_pins": { 19 "matrix_pins": {
20 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], 20 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
diff --git a/keyboards/preonic/rev3_drop/info.json b/keyboards/preonic/rev3_drop/info.json
index f700d848bc..bfa5f8c895 100644
--- a/keyboards/preonic/rev3_drop/info.json
+++ b/keyboards/preonic/rev3_drop/info.json
@@ -14,7 +14,7 @@
14 "driver": "pwm" 14 "driver": "pwm"
15 }, 15 },
16 "rgb_matrix": { 16 "rgb_matrix": {
17 "driver": "WS2812" 17 "driver": "ws2812"
18 }, 18 },
19 "matrix_pins": { 19 "matrix_pins": {
20 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"], 20 "cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
diff --git a/keyboards/quarkeys/z40/info.json b/keyboards/quarkeys/z40/info.json
index 0ce1a64214..e61fad6d92 100644
--- a/keyboards/quarkeys/z40/info.json
+++ b/keyboards/quarkeys/z40/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812", 12 "driver": "ws2812",
13 "sat_steps": 8, 13 "sat_steps": 8,
14 "val_steps": 8, 14 "val_steps": 8,
15 "speed_steps": 10 15 "speed_steps": 10
diff --git a/keyboards/rgbkb/mun/rev1/info.json b/keyboards/rgbkb/mun/rev1/info.json
index e948f27a59..32d6c09e9b 100644
--- a/keyboards/rgbkb/mun/rev1/info.json
+++ b/keyboards/rgbkb/mun/rev1/info.json
@@ -17,7 +17,7 @@
17 "driver": "pwm" 17 "driver": "pwm"
18 }, 18 },
19 "rgb_matrix": { 19 "rgb_matrix": {
20 "driver": "WS2812" 20 "driver": "ws2812"
21 }, 21 },
22 "matrix_pins": { 22 "matrix_pins": {
23 "cols": ["A0", "B11", "B0", "B10", "B12", "B2", "A8"], 23 "cols": ["A0", "B11", "B0", "B10", "B12", "B2", "A8"],
diff --git a/keyboards/rgbkb/sol/rev1/info.json b/keyboards/rgbkb/sol/rev1/info.json
index ebd23f4e1d..e044c42cfe 100644
--- a/keyboards/rgbkb/sol/rev1/info.json
+++ b/keyboards/rgbkb/sol/rev1/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7"], 15 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7"],
diff --git a/keyboards/rgbkb/sol/rev2/info.json b/keyboards/rgbkb/sol/rev2/info.json
index 508ba1ea05..c852051504 100644
--- a/keyboards/rgbkb/sol/rev2/info.json
+++ b/keyboards/rgbkb/sol/rev2/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.2" 9 "device_version": "0.0.2"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7"], 15 "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7"],
diff --git a/keyboards/rgbkb/sol3/rev1/info.json b/keyboards/rgbkb/sol3/rev1/info.json
index 619acd4588..cce760792d 100644
--- a/keyboards/rgbkb/sol3/rev1/info.json
+++ b/keyboards/rgbkb/sol3/rev1/info.json
@@ -17,7 +17,7 @@
17 "driver": "pwm" 17 "driver": "pwm"
18 }, 18 },
19 "rgb_matrix": { 19 "rgb_matrix": {
20 "driver": "WS2812" 20 "driver": "ws2812"
21 }, 21 },
22 "matrix_pins": { 22 "matrix_pins": {
23 "cols": ["A6", "A7", "B0", "B2", "B1", "B9", "B3", "B4"], 23 "cols": ["A6", "A7", "B0", "B2", "B1", "B9", "B3", "B4"],
diff --git a/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk b/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk
index ca9d0bc9a5..69d469b1e9 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk
+++ b/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk
@@ -11,7 +11,6 @@ NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: ht
11RGBLIGHT_ENABLE = no # Enable global lighting effects. Do not enable with RGB Matrix 11RGBLIGHT_ENABLE = no # Enable global lighting effects. Do not enable with RGB Matrix
12RGBLIGHT_SPLIT_ENABLE = no # Split RGBLight Support 12RGBLIGHT_SPLIT_ENABLE = no # Split RGBLight Support
13RGB_MATRIX_ENABLE = yes # Enable per-key coordinate based RGB effects. Do not enable with RGBlight 13RGB_MATRIX_ENABLE = yes # Enable per-key coordinate based RGB effects. Do not enable with RGBlight
14RGB_MATRIX_DRIVER = WS2812
15RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects. 14RGB_MATRIX_KEYPRESSES = no # Enable reactive per-key effects.
16SPLIT_RGB_MATRIX_ENABLE = yes # For split RGB Matrix support 15SPLIT_RGB_MATRIX_ENABLE = yes # For split RGB Matrix support
17RGBLIGHT_FULL_POWER = yes # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port 16RGBLIGHT_FULL_POWER = yes # Allow maximum RGB brightness. Otherwise, limited to a safe level for a normal USB-A port
diff --git a/keyboards/rgbkb/zygomorph/rev1/info.json b/keyboards/rgbkb/zygomorph/rev1/info.json
index 893e5ff589..dd75bd1c99 100644
--- a/keyboards/rgbkb/zygomorph/rev1/info.json
+++ b/keyboards/rgbkb/zygomorph/rev1/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F4", "F6", "C7", "C6", "B6", "D4"], 15 "cols": ["F4", "F6", "C7", "C6", "B6", "D4"],
diff --git a/keyboards/rura66/rev1/info.json b/keyboards/rura66/rev1/info.json
index 4165a8abec..970308009a 100644
--- a/keyboards/rura66/rev1/info.json
+++ b/keyboards/rura66/rev1/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "rgblight": { 14 "rgblight": {
15 "saturation_steps": 8, 15 "saturation_steps": 8,
diff --git a/keyboards/ryanskidmore/rskeys100/info.json b/keyboards/ryanskidmore/rskeys100/info.json
index 90b739b7d1..1e7bf80828 100644
--- a/keyboards/ryanskidmore/rskeys100/info.json
+++ b/keyboards/ryanskidmore/rskeys100/info.json
@@ -11,7 +11,7 @@
11 "pin": "C7" 11 "pin": "C7"
12 }, 12 },
13 "rgb_matrix": { 13 "rgb_matrix": {
14 "driver": "WS2812" 14 "driver": "ws2812"
15 }, 15 },
16 "processor": "atmega32u4", 16 "processor": "atmega32u4",
17 "bootloader": "atmel-dfu", 17 "bootloader": "atmel-dfu",
diff --git a/keyboards/s_ol/0xc_pad/info.json b/keyboards/s_ol/0xc_pad/info.json
index a35c054900..9809230260 100644
--- a/keyboards/s_ol/0xc_pad/info.json
+++ b/keyboards/s_ol/0xc_pad/info.json
@@ -10,7 +10,7 @@
10 "pin": "C7" 10 "pin": "C7"
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "WS2812" 13 "driver": "ws2812"
14 }, 14 },
15 "layouts": { 15 "layouts": {
16 "LAYOUT": { 16 "LAYOUT": {
diff --git a/keyboards/saevus/cor_tkl/info.json b/keyboards/saevus/cor_tkl/info.json
index 54451c1077..98880e4834 100644
--- a/keyboards/saevus/cor_tkl/info.json
+++ b/keyboards/saevus/cor_tkl/info.json
@@ -35,7 +35,7 @@
35 "rows": ["GP0", "GP1", "GP2", "GP21", "GP3", "GP4"] 35 "rows": ["GP0", "GP1", "GP2", "GP21", "GP3", "GP4"]
36 }, 36 },
37 "rgb_matrix": { 37 "rgb_matrix": {
38 "driver": "WS2812" 38 "driver": "ws2812"
39 }, 39 },
40 "ws2812": { 40 "ws2812": {
41 "pin": "GP19", 41 "pin": "GP19",
diff --git a/keyboards/salicylic_acid3/naked48/rev1/info.json b/keyboards/salicylic_acid3/naked48/rev1/info.json
index d1209310c2..7fc4bddc09 100644
--- a/keyboards/salicylic_acid3/naked48/rev1/info.json
+++ b/keyboards/salicylic_acid3/naked48/rev1/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D7", "E6", "B4", "B5"], 15 "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D7", "E6", "B4", "B5"],
diff --git a/keyboards/salicylic_acid3/setta21/rev1/info.json b/keyboards/salicylic_acid3/setta21/rev1/info.json
index af491489d5..69829b6f02 100644
--- a/keyboards/salicylic_acid3/setta21/rev1/info.json
+++ b/keyboards/salicylic_acid3/setta21/rev1/info.json
@@ -16,7 +16,7 @@
16 "pin": "D3" 16 "pin": "D3"
17 }, 17 },
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "WS2812" 19 "driver": "ws2812"
20 }, 20 },
21 "matrix_pins": { 21 "matrix_pins": {
22 "cols": ["F4", "F5", "F6", "F7", "B1", "B3"], 22 "cols": ["F4", "F5", "F6", "F7", "B1", "B3"],
diff --git a/keyboards/sawnsprojects/satxri6key/keymaps/default/rules.mk b/keyboards/sawnsprojects/satxri6key/keymaps/default/rules.mk
index 70b7f6921f..3d821b064a 100644
--- a/keyboards/sawnsprojects/satxri6key/keymaps/default/rules.mk
+++ b/keyboards/sawnsprojects/satxri6key/keymaps/default/rules.mk
@@ -1,4 +1,4 @@
1VIA_ENABLE = no 1VIA_ENABLE = no
2RGBLIGHT_ENABLE = no 2RGBLIGHT_ENABLE = no
3RGB_MATRIX_ENABLE = yes 3RGB_MATRIX_ENABLE = yes
4RGB_MATRIX_DRIVER = WS2812 4RGB_MATRIX_DRIVER = ws2812
diff --git a/keyboards/senselessclay/ck60/info.json b/keyboards/senselessclay/ck60/info.json
index 0e27424dac..f05d94c9de 100644
--- a/keyboards/senselessclay/ck60/info.json
+++ b/keyboards/senselessclay/ck60/info.json
@@ -12,7 +12,7 @@
12 "pin": "B1" 12 "pin": "B1"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["F0", "D5", "D3", "D2", "D1", "D0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], 18 "cols": ["F0", "D5", "D3", "D2", "D1", "D0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
diff --git a/keyboards/silverbullet44/info.json b/keyboards/silverbullet44/info.json
index 11edcee166..e55a8ccc59 100644
--- a/keyboards/silverbullet44/info.json
+++ b/keyboards/silverbullet44/info.json
@@ -12,7 +12,7 @@
12 "pin": "D3" 12 "pin": "D3"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812", 15 "driver": "ws2812",
16 "sat_steps": 8, 16 "sat_steps": 8,
17 "val_steps": 8, 17 "val_steps": 8,
18 "speed_steps": 8 18 "speed_steps": 8
diff --git a/keyboards/skeletonkbd/frost68/info.json b/keyboards/skeletonkbd/frost68/info.json
index e609f8e191..742daf8d57 100644
--- a/keyboards/skeletonkbd/frost68/info.json
+++ b/keyboards/skeletonkbd/frost68/info.json
@@ -26,7 +26,7 @@
26 "pin": "GP0" 26 "pin": "GP0"
27 }, 27 },
28 "rgb_matrix": { 28 "rgb_matrix": {
29 "driver": "WS2812", 29 "driver": "ws2812",
30 "layout": [ 30 "layout": [
31 {"matrix": [0, 0], "x": 33.1, "y": 3.7, "flags": 4}, 31 {"matrix": [0, 0], "x": 33.1, "y": 3.7, "flags": 4},
32 {"matrix": [0, 1], "x": 45.7, "y": 3.7, "flags": 4}, 32 {"matrix": [0, 1], "x": 45.7, "y": 3.7, "flags": 4},
diff --git a/keyboards/skmt/15k/info.json b/keyboards/skmt/15k/info.json
index 38215ef661..0f33362092 100644
--- a/keyboards/skmt/15k/info.json
+++ b/keyboards/skmt/15k/info.json
@@ -47,7 +47,7 @@
47 } 47 }
48 }, 48 },
49 "rgb_matrix": { 49 "rgb_matrix": {
50 "driver": "WS2812", 50 "driver": "ws2812",
51 "layout": [ 51 "layout": [
52 {"flags": 4, "matrix": [2, 4], "x": 224, "y": 64}, 52 {"flags": 4, "matrix": [2, 4], "x": 224, "y": 64},
53 {"flags": 4, "matrix": [2, 3], "x": 168, "y": 64}, 53 {"flags": 4, "matrix": [2, 3], "x": 168, "y": 64},
diff --git a/keyboards/skyloong/dt40/info.json b/keyboards/skyloong/dt40/info.json
index 96c4131796..b6172465e6 100644
--- a/keyboards/skyloong/dt40/info.json
+++ b/keyboards/skyloong/dt40/info.json
@@ -48,7 +48,7 @@
48 "raindrops": true, 48 "raindrops": true,
49 "ranbow_beacon": true 49 "ranbow_beacon": true
50 }, 50 },
51 "driver": "WS2812", 51 "driver": "ws2812",
52 "hue_steps": 20, 52 "hue_steps": 20,
53 "layout": [ 53 "layout": [
54 {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, 54 {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
diff --git a/keyboards/smallkeyboard/info.json b/keyboards/smallkeyboard/info.json
index a19bf29597..9fb889d28e 100644
--- a/keyboards/smallkeyboard/info.json
+++ b/keyboards/smallkeyboard/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F7", "F6", "F5"], 15 "cols": ["F7", "F6", "F5"],
diff --git a/keyboards/soda/mango/info.json b/keyboards/soda/mango/info.json
index 1524d99da3..9de040efba 100644
--- a/keyboards/soda/mango/info.json
+++ b/keyboards/soda/mango/info.json
@@ -72,7 +72,7 @@
72 "solid_splash": true, 72 "solid_splash": true,
73 "solid_multisplash": true 73 "solid_multisplash": true
74 }, 74 },
75 "driver": "WS2812", 75 "driver": "ws2812",
76 "layout": [ 76 "layout": [
77 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, 77 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
78 {"flags": 1, "matrix": [0, 1], "x": 75, "y": 0}, 78 {"flags": 1, "matrix": [0, 1], "x": 75, "y": 0},
diff --git a/keyboards/soda/pocket/info.json b/keyboards/soda/pocket/info.json
index b15447c75e..9ae9f1b0de 100644
--- a/keyboards/soda/pocket/info.json
+++ b/keyboards/soda/pocket/info.json
@@ -16,7 +16,7 @@
16 "pin": "C15" 16 "pin": "C15"
17 }, 17 },
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "WS2812" 19 "driver": "ws2812"
20 }, 20 },
21 "matrix_pins": { 21 "matrix_pins": {
22 "cols": ["A2", "A1", "B14", "B4", "B5", "B6", "B7"], 22 "cols": ["A2", "A1", "B14", "B4", "B5", "B6", "B7"],
diff --git a/keyboards/sofle/keymaps/killmaster/rules.mk b/keyboards/sofle/keymaps/killmaster/rules.mk
index 38d6114506..95b415488c 100644
--- a/keyboards/sofle/keymaps/killmaster/rules.mk
+++ b/keyboards/sofle/keymaps/killmaster/rules.mk
@@ -1,4 +1,4 @@
1EXTRAKEY_ENABLE = yes 1EXTRAKEY_ENABLE = yes
2LTO_ENABLE = yes 2LTO_ENABLE = yes
3RGB_MATRIX_ENABLE = yes 3RGB_MATRIX_ENABLE = yes
4RGB_MATRIX_DRIVER = WS2812 4RGB_MATRIX_DRIVER = ws2812
diff --git a/keyboards/sowbug/68keys/info.json b/keyboards/sowbug/68keys/info.json
index 3b4525e9f8..641ed0aa06 100644
--- a/keyboards/sowbug/68keys/info.json
+++ b/keyboards/sowbug/68keys/info.json
@@ -12,7 +12,7 @@
12 "pin": "B9" 12 "pin": "B9"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"], 18 "cols": ["A3", "A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
diff --git a/keyboards/sowbug/ansi_tkl/info.json b/keyboards/sowbug/ansi_tkl/info.json
index 221c591738..39cc57a8f3 100644
--- a/keyboards/sowbug/ansi_tkl/info.json
+++ b/keyboards/sowbug/ansi_tkl/info.json
@@ -12,7 +12,7 @@
12 "pin": "B9" 12 "pin": "B9"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A15", "B3"], 18 "cols": ["A4", "A5", "A6", "A7", "B0", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A15", "B3"],
diff --git a/keyboards/spaceholdings/nebula12b/info.json b/keyboards/spaceholdings/nebula12b/info.json
index 9cbfcd1f86..f7ba574efc 100755
--- a/keyboards/spaceholdings/nebula12b/info.json
+++ b/keyboards/spaceholdings/nebula12b/info.json
@@ -12,7 +12,7 @@
12 "pin": "D5" 12 "pin": "D5"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["F4", "F5", "D7"], 18 "cols": ["F4", "F5", "D7"],
diff --git a/keyboards/spaceholdings/nebula68b/info.json b/keyboards/spaceholdings/nebula68b/info.json
index 89ee727172..8523662976 100755
--- a/keyboards/spaceholdings/nebula68b/info.json
+++ b/keyboards/spaceholdings/nebula68b/info.json
@@ -12,7 +12,7 @@
12 "pin": "B7" 12 "pin": "B7"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["D0", "D1", "D2", "D3", "D5", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"], 18 "cols": ["D0", "D1", "D2", "D3", "D5", "B5", "B6", "C6", "C7", "F7", "F6", "F5", "F4", "F1", "F0"],
diff --git a/keyboards/splitkb/aurora/corne/rev1/info.json b/keyboards/splitkb/aurora/corne/rev1/info.json
index b6f05cfbcb..7d82577b00 100644
--- a/keyboards/splitkb/aurora/corne/rev1/info.json
+++ b/keyboards/splitkb/aurora/corne/rev1/info.json
@@ -108,7 +108,7 @@
108 "pin": "D3" 108 "pin": "D3"
109 }, 109 },
110 "rgb_matrix": { 110 "rgb_matrix": {
111 "driver": "WS2812", 111 "driver": "ws2812",
112 "layout": [ 112 "layout": [
113 {"flags": 2, "x": 93, "y": 17}, // L RGB1 113 {"flags": 2, "x": 93, "y": 17}, // L RGB1
114 {"flags": 2, "x": 59, "y": 3}, // L RGB2 114 {"flags": 2, "x": 59, "y": 3}, // L RGB2
diff --git a/keyboards/splitkb/aurora/lily58/rev1/info.json b/keyboards/splitkb/aurora/lily58/rev1/info.json
index 76b0edc116..2d251b96b2 100644
--- a/keyboards/splitkb/aurora/lily58/rev1/info.json
+++ b/keyboards/splitkb/aurora/lily58/rev1/info.json
@@ -119,7 +119,7 @@
119 "pin": "D3" 119 "pin": "D3"
120 }, 120 },
121 "rgb_matrix": { 121 "rgb_matrix": {
122 "driver": "WS2812", 122 "driver": "ws2812",
123 "layout": [ 123 "layout": [
124 {"flags": 2, "x": 51, "y": 13}, // L RGB1 124 {"flags": 2, "x": 51, "y": 13}, // L RGB1
125 {"flags": 2, "x": 22, "y": 18}, // L RGB2 125 {"flags": 2, "x": 22, "y": 18}, // L RGB2
diff --git a/keyboards/splitkb/aurora/sweep/rev1/info.json b/keyboards/splitkb/aurora/sweep/rev1/info.json
index ec85447084..7d7fec921f 100644
--- a/keyboards/splitkb/aurora/sweep/rev1/info.json
+++ b/keyboards/splitkb/aurora/sweep/rev1/info.json
@@ -105,7 +105,7 @@
105 "pin": "D3" 105 "pin": "D3"
106 }, 106 },
107 "rgb_matrix": { 107 "rgb_matrix": {
108 "driver": "WS2812", 108 "driver": "ws2812",
109 "layout": [ 109 "layout": [
110 {"flags": 2, "x": 71, "y": 15}, 110 {"flags": 2, "x": 71, "y": 15},
111 {"flags": 2, "x": 51, "y": 8}, 111 {"flags": 2, "x": 51, "y": 8},
diff --git a/keyboards/splitkb/kyria/rev1/info.json b/keyboards/splitkb/kyria/rev1/info.json
index cf849b0430..aa38a7dd0c 100644
--- a/keyboards/splitkb/kyria/rev1/info.json
+++ b/keyboards/splitkb/kyria/rev1/info.json
@@ -9,7 +9,7 @@
9 "split_count": [10, 10] 9 "split_count": [10, 10]
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"], 15 "cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"],
diff --git a/keyboards/splitkb/kyria/rev2/info.json b/keyboards/splitkb/kyria/rev2/info.json
index b498147ffd..6e362d9548 100644
--- a/keyboards/splitkb/kyria/rev2/info.json
+++ b/keyboards/splitkb/kyria/rev2/info.json
@@ -9,7 +9,7 @@
9 "split_count": [10, 10] 9 "split_count": [10, 10]
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B2", "B6", "B5", "B4", "E6", "D7", "C6", "D4"], 15 "cols": ["B2", "B6", "B5", "B4", "E6", "D7", "C6", "D4"],
diff --git a/keyboards/splitkb/kyria/rev3/info.json b/keyboards/splitkb/kyria/rev3/info.json
index a6f6d8df0f..29bea95323 100644
--- a/keyboards/splitkb/kyria/rev3/info.json
+++ b/keyboards/splitkb/kyria/rev3/info.json
@@ -123,7 +123,7 @@
123 "pin": "D3" 123 "pin": "D3"
124 }, 124 },
125 "rgb_matrix": { 125 "rgb_matrix": {
126 "driver": "WS2812", 126 "driver": "ws2812",
127 "layout": [ 127 "layout": [
128 {"flags": 2, "x": 75, "y": 2}, // L RGB1 128 {"flags": 2, "x": 75, "y": 2}, // L RGB1
129 {"flags": 2, "x": 50, "y": 1}, // L RGB2 129 {"flags": 2, "x": 50, "y": 1}, // L RGB2
diff --git a/keyboards/stront/info.json b/keyboards/stront/info.json
index 97df3477af..c3435b1f5d 100644
--- a/keyboards/stront/info.json
+++ b/keyboards/stront/info.json
@@ -94,7 +94,7 @@
94 "split_count": [19, 19] 94 "split_count": [19, 19]
95 }, 95 },
96 "rgb_matrix": { 96 "rgb_matrix": {
97 "driver": "WS2812", 97 "driver": "ws2812",
98 "led_count": 38, 98 "led_count": 38,
99 "split_count": [19, 19], 99 "split_count": [19, 19],
100 "layout": [ 100 "layout": [
diff --git a/keyboards/synthlabs/060/info.json b/keyboards/synthlabs/060/info.json
index 1953af10e7..b816b18027 100644
--- a/keyboards/synthlabs/060/info.json
+++ b/keyboards/synthlabs/060/info.json
@@ -30,7 +30,7 @@
30 "force_nkro": true 30 "force_nkro": true
31 }, 31 },
32 "rgb_matrix": { 32 "rgb_matrix": {
33 "driver": "WS2812", 33 "driver": "ws2812",
34 "layout": [ 34 "layout": [
35 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, 35 {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0},
36 {"flags": 4, "matrix": [0, 1], "x": 16, "y": 0}, 36 {"flags": 4, "matrix": [0, 1], "x": 16, "y": 0},
diff --git a/keyboards/system76/launch_1/info.json b/keyboards/system76/launch_1/info.json
index 21a8c1fbd9..eba3a115b8 100644
--- a/keyboards/system76/launch_1/info.json
+++ b/keyboards/system76/launch_1/info.json
@@ -11,7 +11,7 @@
11 "pin": "E2" 11 "pin": "E2"
12 }, 12 },
13 "rgb_matrix": { 13 "rgb_matrix": {
14 "driver": "WS2812" 14 "driver": "ws2812"
15 }, 15 },
16 "matrix_pins": { 16 "matrix_pins": {
17 "cols": ["D7", "C7", "C6", "B6", "B5", "B4", "D6", "D4", "E6", "D5", "D3", "D2", "B7", "B0"], 17 "cols": ["D7", "C7", "C6", "B6", "B5", "B4", "D6", "D4", "E6", "D5", "D3", "D2", "B7", "B0"],
diff --git a/keyboards/teleport/native/info.json b/keyboards/teleport/native/info.json
index 9b27514e7d..7aec5f77ed 100644
--- a/keyboards/teleport/native/info.json
+++ b/keyboards/teleport/native/info.json
@@ -11,7 +11,7 @@
11 "force_nkro": true 11 "force_nkro": true
12 }, 12 },
13 "rgb_matrix": { 13 "rgb_matrix": {
14 "driver": "IS31FL3733" 14 "driver": "is31fl3733"
15 }, 15 },
16 "features": { 16 "features": {
17 "bootmagic": true, 17 "bootmagic": true,
diff --git a/keyboards/tkc/portico/info.json b/keyboards/tkc/portico/info.json
index f4f2e15e84..6eb15efb73 100644
--- a/keyboards/tkc/portico/info.json
+++ b/keyboards/tkc/portico/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3"], 15 "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3"],
diff --git a/keyboards/tkc/portico68v2/info.json b/keyboards/tkc/portico68v2/info.json
index b37f02ecc9..7a11cb6172 100644
--- a/keyboards/tkc/portico68v2/info.json
+++ b/keyboards/tkc/portico68v2/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3"], 15 "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "F6", "F5", "F4", "F1", "B0", "B1", "B2", "B3"],
diff --git a/keyboards/tkc/portico75/info.json b/keyboards/tkc/portico75/info.json
index 171228cb28..5a90036972 100644
--- a/keyboards/tkc/portico75/info.json
+++ b/keyboards/tkc/portico75/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3741" 12 "driver": "is31fl3741"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "B3", "B7"], 15 "cols": ["F4", "F5", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "B3", "B7"],
diff --git a/keyboards/tominabox1/le_chiffre/info.json b/keyboards/tominabox1/le_chiffre/info.json
index 688d9d8fa5..8ebc0778e6 100644
--- a/keyboards/tominabox1/le_chiffre/info.json
+++ b/keyboards/tominabox1/le_chiffre/info.json
@@ -31,7 +31,7 @@
31 "led_count": 11 31 "led_count": 11
32 }, 32 },
33 "rgb_matrix": { 33 "rgb_matrix": {
34 "driver": "WS2812", 34 "driver": "ws2812",
35 "animations": { 35 "animations": {
36 "gradient_up_down": true, 36 "gradient_up_down": true,
37 "gradient_left_right": true, 37 "gradient_left_right": true,
diff --git a/keyboards/tzarc/djinn/info.json b/keyboards/tzarc/djinn/info.json
index 2a50e5762d..f0904b8578 100644
--- a/keyboards/tzarc/djinn/info.json
+++ b/keyboards/tzarc/djinn/info.json
@@ -38,7 +38,7 @@
38 "driver": "pwm" 38 "driver": "pwm"
39 }, 39 },
40 "rgb_matrix": { 40 "rgb_matrix": {
41 "driver": "WS2812" 41 "driver": "ws2812"
42 }, 42 },
43 "split": { 43 "split": {
44 "enabled": true, 44 "enabled": true,
diff --git a/keyboards/tzarc/ghoul/info.json b/keyboards/tzarc/ghoul/info.json
index fe6de66470..bf07f122c3 100644
--- a/keyboards/tzarc/ghoul/info.json
+++ b/keyboards/tzarc/ghoul/info.json
@@ -16,7 +16,7 @@
16 "rgb_matrix": true 16 "rgb_matrix": true
17 }, 17 },
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "WS2812" 19 "driver": "ws2812"
20 }, 20 },
21 "matrix_pins": { 21 "matrix_pins": {
22 "rows": ["NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN"], 22 "rows": ["NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN", "NO_PIN"],
diff --git a/keyboards/ungodly/launch_pad/info.json b/keyboards/ungodly/launch_pad/info.json
index c94b2eb1c9..5474bc5279 100644
--- a/keyboards/ungodly/launch_pad/info.json
+++ b/keyboards/ungodly/launch_pad/info.json
@@ -9,7 +9,7 @@
9 "device_version": "99.9.9" 9 "device_version": "99.9.9"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812", 12 "driver": "ws2812",
13 "sat_steps": 8, 13 "sat_steps": 8,
14 "val_steps": 8, 14 "val_steps": 8,
15 "speed_steps": 10 15 "speed_steps": 10
diff --git a/keyboards/wekey/we27/info.json b/keyboards/wekey/we27/info.json
index 481546804c..4d4081faf0 100644
--- a/keyboards/wekey/we27/info.json
+++ b/keyboards/wekey/we27/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F4", "F5", "C7", "D6", "D4"], 15 "cols": ["F4", "F5", "C7", "D6", "D4"],
diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c
index c79fc02cd9..28ee5fae81 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.c
+++ b/keyboards/wilba_tech/wt_mono_backlight.c
@@ -64,12 +64,12 @@ void backlight_init_drivers(void)
64{ 64{
65 // Initialize I2C 65 // Initialize I2C
66 i2c_init(); 66 i2c_init();
67 IS31FL3736_init( ISSI_ADDR_DEFAULT ); 67 is31fl3736_init( ISSI_ADDR_DEFAULT );
68 68
69 for ( uint8_t index = 0; index < 96; index++ ) { 69 for ( uint8_t index = 0; index < 96; index++ ) {
70 IS31FL3736_mono_set_led_control_register( index, true ); 70 is31fl3736_mono_set_led_control_register( index, true );
71 } 71 }
72 IS31FL3736_update_led_control_registers( ISSI_ADDR_DEFAULT, 0x00 ); 72 is31fl3736_update_led_control_registers( ISSI_ADDR_DEFAULT, 0x00 );
73} 73}
74 74
75void backlight_set_key_hit(uint8_t row, uint8_t column) 75void backlight_set_key_hit(uint8_t row, uint8_t column)
@@ -119,17 +119,17 @@ void backlight_set_suspend_state(bool state)
119 119
120void backlight_set_brightness_all( uint8_t value ) 120void backlight_set_brightness_all( uint8_t value )
121{ 121{
122 IS31FL3736_mono_set_brightness_all( value ); 122 is31fl3736_mono_set_brightness_all( value );
123} 123}
124 124
125void backlight_effect_all_off(void) 125void backlight_effect_all_off(void)
126{ 126{
127 IS31FL3736_mono_set_brightness_all( 0 ); 127 is31fl3736_mono_set_brightness_all( 0 );
128} 128}
129 129
130void backlight_effect_all_on(void) 130void backlight_effect_all_on(void)
131{ 131{
132 IS31FL3736_mono_set_brightness_all( g_config.brightness ); 132 is31fl3736_mono_set_brightness_all( g_config.brightness );
133} 133}
134 134
135void backlight_effect_raindrops(bool initialize) 135void backlight_effect_raindrops(bool initialize)
@@ -143,7 +143,7 @@ void backlight_effect_raindrops(bool initialize)
143 // If not, all but one will stay the same as before. 143 // If not, all but one will stay the same as before.
144 if ( initialize || i == led_to_change ) 144 if ( initialize || i == led_to_change )
145 { 145 {
146 IS31FL3736_mono_set_brightness(i, rand() & 0xFF ); 146 is31fl3736_mono_set_brightness(i, rand() & 0xFF );
147 } 147 }
148 } 148 }
149} 149}
@@ -165,9 +165,9 @@ void backlight_effect_indicators(void)
165 // SW7,CS8 = (6*8+7) = 55 165 // SW7,CS8 = (6*8+7) = 55
166 // SW8,CS8 = (7*8+7) = 63 166 // SW8,CS8 = (7*8+7) = 63
167 // SW9,CS8 = (8*8+7) = 71 167 // SW9,CS8 = (8*8+7) = 71
168 IS31FL3736_mono_set_brightness(55, rgb.r); 168 is31fl3736_mono_set_brightness(55, rgb.r);
169 IS31FL3736_mono_set_brightness(63, rgb.g); 169 is31fl3736_mono_set_brightness(63, rgb.g);
170 IS31FL3736_mono_set_brightness(71, rgb.b); 170 is31fl3736_mono_set_brightness(71, rgb.b);
171#endif // MONO_BACKLIGHT_WT75_A 171#endif // MONO_BACKLIGHT_WT75_A
172 172
173// This pairs with "All Off" already setting zero brightness, 173// This pairs with "All Off" already setting zero brightness,
@@ -181,19 +181,19 @@ defined(MONO_BACKLIGHT_WT75_C) || \
181defined(MONO_BACKLIGHT_WT80_A) 181defined(MONO_BACKLIGHT_WT80_A)
182 if ( host_keyboard_led_state().caps_lock ) { 182 if ( host_keyboard_led_state().caps_lock ) {
183 // SW3,CS1 = (2*8+0) = 16 183 // SW3,CS1 = (2*8+0) = 16
184 IS31FL3736_mono_set_brightness(16, 255); 184 is31fl3736_mono_set_brightness(16, 255);
185 } 185 }
186#endif 186#endif
187#if defined(MONO_BACKLIGHT_WT80_A) 187#if defined(MONO_BACKLIGHT_WT80_A)
188 if ( host_keyboard_led_state().scroll_lock ) { 188 if ( host_keyboard_led_state().scroll_lock ) {
189 // SW7,CS7 = (6*8+6) = 54 189 // SW7,CS7 = (6*8+6) = 54
190 IS31FL3736_mono_set_brightness(54, 255); 190 is31fl3736_mono_set_brightness(54, 255);
191 } 191 }
192#endif 192#endif
193#if defined(MONO_BACKLIGHT_WT75_C) 193#if defined(MONO_BACKLIGHT_WT75_C)
194 if ( host_keyboard_led_state().scroll_lock ) { 194 if ( host_keyboard_led_state().scroll_lock ) {
195 // SW7,CS8 = (6*8+7) = 55 195 // SW7,CS8 = (6*8+7) = 55
196 IS31FL3736_mono_set_brightness(55, 255); 196 is31fl3736_mono_set_brightness(55, 255);
197 } 197 }
198#endif 198#endif
199} 199}
@@ -361,7 +361,7 @@ void backlight_config_save(void)
361 361
362void backlight_update_pwm_buffers(void) 362void backlight_update_pwm_buffers(void)
363{ 363{
364 IS31FL3736_update_pwm_buffers(ISSI_ADDR_DEFAULT,0x00); 364 is31fl3736_update_pwm_buffers(ISSI_ADDR_DEFAULT,0x00);
365} 365}
366 366
367bool process_record_backlight(uint16_t keycode, keyrecord_t *record) 367bool process_record_backlight(uint16_t keycode, keyrecord_t *record)
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c
index 1cd00ae41f..6c57416622 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.c
+++ b/keyboards/wilba_tech/wt_rgb_backlight.c
@@ -1771,36 +1771,36 @@ void map_row_column_to_led( uint8_t row, uint8_t column, uint8_t *led )
1771void backlight_update_pwm_buffers(void) 1771void backlight_update_pwm_buffers(void)
1772{ 1772{
1773#if defined(RGB_BACKLIGHT_M6_B) 1773#if defined(RGB_BACKLIGHT_M6_B)
1774 IS31FL3218_update_pwm_buffers(); 1774 is31fl3218_update_pwm_buffers();
1775#elif defined(RGB_BACKLIGHT_PORTICO75) 1775#elif defined(RGB_BACKLIGHT_PORTICO75)
1776 IS31FL3741_update_pwm_buffers( ISSI_ADDR_1, 0 ); 1776 is31fl3741_update_pwm_buffers( ISSI_ADDR_1, 0 );
1777 IS31FL3741_update_led_control_registers( ISSI_ADDR_1, 0 ); 1777 is31fl3741_update_led_control_registers( ISSI_ADDR_1, 0 );
1778#elif defined(RGB_BACKLIGHT_M10_C) 1778#elif defined(RGB_BACKLIGHT_M10_C)
1779 IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); 1779 is31fl3731_update_pwm_buffers( ISSI_ADDR_1, 0 );
1780 IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 ); 1780 is31fl3731_update_led_control_registers( ISSI_ADDR_1, 0 );
1781#elif defined(RGB_BACKLIGHT_HS60) 1781#elif defined(RGB_BACKLIGHT_HS60)
1782 IS31FL3733_update_pwm_buffers( ISSI_ADDR_1, 0 ); 1782 is31fl3733_update_pwm_buffers( ISSI_ADDR_1, 0 );
1783 IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); 1783 is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 );
1784#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_KW_MEGA) 1784#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_NK87) || defined(RGB_BACKLIGHT_KW_MEGA)
1785 IS31FL3733_update_pwm_buffers( ISSI_ADDR_1, 0 ); 1785 is31fl3733_update_pwm_buffers( ISSI_ADDR_1, 0 );
1786 IS31FL3733_update_pwm_buffers( ISSI_ADDR_2, 1 ); 1786 is31fl3733_update_pwm_buffers( ISSI_ADDR_2, 1 );
1787 IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); 1787 is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 );
1788 IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); 1788 is31fl3733_update_led_control_registers( ISSI_ADDR_2, 1 );
1789#elif defined(RGB_BACKLIGHT_NEBULA12) 1789#elif defined(RGB_BACKLIGHT_NEBULA12)
1790 IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); 1790 is31fl3731_update_pwm_buffers( ISSI_ADDR_1, 0 );
1791 IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 ); 1791 is31fl3731_update_led_control_registers( ISSI_ADDR_1, 0 );
1792#elif defined(RGB_BACKLIGHT_U80_A) 1792#elif defined(RGB_BACKLIGHT_U80_A)
1793 static uint8_t driver = 0; 1793 static uint8_t driver = 0;
1794 switch ( driver ) 1794 switch ( driver )
1795 { 1795 {
1796 case 0: 1796 case 0:
1797 IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); 1797 is31fl3731_update_pwm_buffers( ISSI_ADDR_1, 0 );
1798 break; 1798 break;
1799 case 1: 1799 case 1:
1800 IS31FL3731_update_pwm_buffers( ISSI_ADDR_2, 1 ); 1800 is31fl3731_update_pwm_buffers( ISSI_ADDR_2, 1 );
1801 break; 1801 break;
1802 case 2: 1802 case 2:
1803 IS31FL3731_update_pwm_buffers( ISSI_ADDR_3, 2 ); 1803 is31fl3731_update_pwm_buffers( ISSI_ADDR_3, 2 );
1804 break; 1804 break;
1805 } 1805 }
1806 if ( ++driver > 2 ) 1806 if ( ++driver > 2 )
@@ -1808,31 +1808,31 @@ void backlight_update_pwm_buffers(void)
1808 driver = 0; 1808 driver = 0;
1809 } 1809 }
1810#else 1810#else
1811 IS31FL3731_update_pwm_buffers( ISSI_ADDR_1, 0 ); 1811 is31fl3731_update_pwm_buffers( ISSI_ADDR_1, 0 );
1812 IS31FL3731_update_pwm_buffers( ISSI_ADDR_2, 1 ); 1812 is31fl3731_update_pwm_buffers( ISSI_ADDR_2, 1 );
1813 IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 ); 1813 is31fl3731_update_led_control_registers( ISSI_ADDR_1, 0 );
1814 IS31FL3731_update_led_control_registers( ISSI_ADDR_2, 1 ); 1814 is31fl3731_update_led_control_registers( ISSI_ADDR_2, 1 );
1815#endif 1815#endif
1816} 1816}
1817 1817
1818void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue ) 1818void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue )
1819{ 1819{
1820#if defined(RGB_BACKLIGHT_M6_B) 1820#if defined(RGB_BACKLIGHT_M6_B)
1821 IS31FL3218_set_color( index, red, green, blue ); 1821 is31fl3218_set_color( index, red, green, blue );
1822#elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_KW_MEGA) 1822#elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_KW_MEGA)
1823 IS31FL3733_set_color( index, red, green, blue ); 1823 is31fl3733_set_color( index, red, green, blue );
1824#elif defined (RGB_BACKLIGHT_PORTICO) 1824#elif defined (RGB_BACKLIGHT_PORTICO)
1825 IS31FL3731_set_color( index, red, green, blue ); 1825 is31fl3731_set_color( index, red, green, blue );
1826#elif defined (RGB_BACKLIGHT_PORTICO75) 1826#elif defined (RGB_BACKLIGHT_PORTICO75)
1827 IS31FL3741_set_color( index, red, green, blue ); 1827 is31fl3741_set_color( index, red, green, blue );
1828#elif defined(RGB_BACKLIGHT_NK87) 1828#elif defined(RGB_BACKLIGHT_NK87)
1829 // This is done to avoid indicator LEDs being set 1829 // This is done to avoid indicator LEDs being set
1830 if (( index != 63+64-1 ) && ( index != 48+64-1 )) { 1830 if (( index != 63+64-1 ) && ( index != 48+64-1 )) {
1831 IS31FL3733_set_color( index, red, green, blue ); 1831 is31fl3733_set_color( index, red, green, blue );
1832 } 1832 }
1833#elif defined(RGB_BACKLIGHT_DAWN60) 1833#elif defined(RGB_BACKLIGHT_DAWN60)
1834 if( index < RGB_MATRIX_LED_COUNT ) { 1834 if( index < RGB_MATRIX_LED_COUNT ) {
1835 IS31FL3731_set_color( index, red, green, blue ); 1835 is31fl3731_set_color( index, red, green, blue );
1836 } else { 1836 } else {
1837 g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].r = red; 1837 g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].r = red;
1838 g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].g = green; 1838 g_ws2812_leds[index - RGB_MATRIX_LED_COUNT].g = green;
@@ -1840,38 +1840,38 @@ void backlight_set_color( int index, uint8_t red, uint8_t green, uint8_t blue )
1840 ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL); 1840 ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL);
1841 } 1841 }
1842#else 1842#else
1843 IS31FL3731_set_color( index, red, green, blue ); 1843 is31fl3731_set_color( index, red, green, blue );
1844#endif 1844#endif
1845} 1845}
1846 1846
1847void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue ) 1847void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue )
1848{ 1848{
1849#if defined(RGB_BACKLIGHT_M6_B) 1849#if defined(RGB_BACKLIGHT_M6_B)
1850 IS31FL3218_set_color_all( red, green, blue ); 1850 is31fl3218_set_color_all( red, green, blue );
1851#elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_KW_MEGA) 1851#elif defined(RGB_BACKLIGHT_HS60) || defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_KW_MEGA)
1852 // This is done to avoid indicator LEDs being set 1852 // This is done to avoid indicator LEDs being set
1853 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { 1853 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) {
1854 IS31FL3733_set_color(i, red, green, blue); 1854 is31fl3733_set_color(i, red, green, blue);
1855 } 1855 }
1856#elif defined (RGB_BACKLIGHT_PORTICO) 1856#elif defined (RGB_BACKLIGHT_PORTICO)
1857 // This is done to avoid indicator LEDs being set 1857 // This is done to avoid indicator LEDs being set
1858 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { 1858 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) {
1859 IS31FL3731_set_color(i, red, green, blue); 1859 is31fl3731_set_color(i, red, green, blue);
1860 } 1860 }
1861#elif defined (RGB_BACKLIGHT_PORTICO75) 1861#elif defined (RGB_BACKLIGHT_PORTICO75)
1862 // This is done to avoid indicator LEDs being set 1862 // This is done to avoid indicator LEDs being set
1863 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { 1863 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) {
1864 IS31FL3741_set_color(i, red, green, blue); 1864 is31fl3741_set_color(i, red, green, blue);
1865 } 1865 }
1866#elif defined(RGB_BACKLIGHT_NK87) 1866#elif defined(RGB_BACKLIGHT_NK87)
1867 // This is done to avoid indicator LEDs being set 1867 // This is done to avoid indicator LEDs being set
1868 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) { 1868 for (int i = 0; i < BACKLIGHT_LED_COUNT; i++) {
1869 if (( i != 63+64-1 ) && ( i != 48+64-1 )) { 1869 if (( i != 63+64-1 ) && ( i != 48+64-1 )) {
1870 IS31FL3733_set_color(i, red, green, blue); 1870 is31fl3733_set_color(i, red, green, blue);
1871 } 1871 }
1872 } 1872 }
1873#elif defined(RGB_BACKLIGHT_DAWN60) 1873#elif defined(RGB_BACKLIGHT_DAWN60)
1874 IS31FL3731_set_color_all( red, green, blue ); 1874 is31fl3731_set_color_all( red, green, blue );
1875 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { 1875 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) {
1876 g_ws2812_leds[i].r = red; 1876 g_ws2812_leds[i].r = red;
1877 g_ws2812_leds[i].g = green; 1877 g_ws2812_leds[i].g = green;
@@ -1879,7 +1879,7 @@ void backlight_set_color_all( uint8_t red, uint8_t green, uint8_t blue )
1879 } 1879 }
1880 ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL); 1880 ws2812_setleds(g_ws2812_leds, WS2812_LED_TOTAL);
1881#else 1881#else
1882 IS31FL3731_set_color_all( red, green, blue ); 1882 is31fl3731_set_color_all( red, green, blue );
1883#endif 1883#endif
1884} 1884}
1885 1885
@@ -2914,9 +2914,9 @@ void backlight_init_drivers(void)
2914 i2c_init(); 2914 i2c_init();
2915 2915
2916#if defined(RGB_BACKLIGHT_M6_B) 2916#if defined(RGB_BACKLIGHT_M6_B)
2917 IS31FL3218_init(); 2917 is31fl3218_init();
2918#elif defined(RGB_BACKLIGHT_HS60) 2918#elif defined(RGB_BACKLIGHT_HS60)
2919 IS31FL3733_init( ISSI_ADDR_1, 0 ); 2919 is31fl3733_init( ISSI_ADDR_1, 0 );
2920 2920
2921 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) 2921 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
2922 { 2922 {
@@ -2932,28 +2932,28 @@ void backlight_init_drivers(void)
2932 ( index == 61-1 ) ); //LA61 2932 ( index == 61-1 ) ); //LA61
2933#endif 2933#endif
2934 // This only caches it for later 2934 // This only caches it for later
2935 IS31FL3733_set_led_control_register( index, enabled, enabled, enabled ); 2935 is31fl3733_set_led_control_register( index, enabled, enabled, enabled );
2936 } 2936 }
2937 // This actually updates the LED drivers 2937 // This actually updates the LED drivers
2938 IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); 2938 is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 );
2939#elif defined(RGB_BACKLIGHT_NK65) 2939#elif defined(RGB_BACKLIGHT_NK65)
2940 IS31FL3733_init( ISSI_ADDR_1, 0 ); 2940 is31fl3733_init( ISSI_ADDR_1, 0 );
2941 IS31FL3733_init( ISSI_ADDR_2, 0 ); 2941 is31fl3733_init( ISSI_ADDR_2, 0 );
2942 2942
2943 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) 2943 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
2944 { 2944 {
2945 bool enabled = !( ( index == 61-1 ) || //LA61 2945 bool enabled = !( ( index == 61-1 ) || //LA61
2946 ( index > 6+64-1 ) ); //LB7-LB64 2946 ( index > 6+64-1 ) ); //LB7-LB64
2947 // This only caches it for later 2947 // This only caches it for later
2948 IS31FL3733_set_led_control_register( index, enabled, enabled, enabled ); 2948 is31fl3733_set_led_control_register( index, enabled, enabled, enabled );
2949 } 2949 }
2950 IS31FL3733_set_led_control_register( 7+64-1, 0, 1, 0 ); //Enable LB7 green enable for indicators 2950 is31fl3733_set_led_control_register( 7+64-1, 0, 1, 0 ); //Enable LB7 green enable for indicators
2951 // This actually updates the LED drivers 2951 // This actually updates the LED drivers
2952 IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); 2952 is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 );
2953 IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); 2953 is31fl3733_update_led_control_registers( ISSI_ADDR_2, 1 );
2954#elif defined(RGB_BACKLIGHT_NK87) 2954#elif defined(RGB_BACKLIGHT_NK87)
2955 IS31FL3733_init( ISSI_ADDR_1, 0 ); 2955 is31fl3733_init( ISSI_ADDR_1, 0 );
2956 IS31FL3733_init( ISSI_ADDR_2, 0 ); 2956 is31fl3733_init( ISSI_ADDR_2, 0 );
2957 2957
2958 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) 2958 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
2959 { 2959 {
@@ -2975,59 +2975,59 @@ void backlight_init_drivers(void)
2975 ( index == 58+64-1 ) || 2975 ( index == 58+64-1 ) ||
2976 ( index == 62+64-1 ) ); 2976 ( index == 62+64-1 ) );
2977 // This only caches it for later 2977 // This only caches it for later
2978 IS31FL3733_set_led_control_register( index, enabled, enabled, enabled ); 2978 is31fl3733_set_led_control_register( index, enabled, enabled, enabled );
2979 } 2979 }
2980 IS31FL3733_set_led_control_register( 48+64-1, 0, 0, 1 ); //Enable LB48 blue enable for indicators 2980 is31fl3733_set_led_control_register( 48+64-1, 0, 0, 1 ); //Enable LB48 blue enable for indicators
2981 // This actually updates the LED drivers 2981 // This actually updates the LED drivers
2982 IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); 2982 is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 );
2983 IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); 2983 is31fl3733_update_led_control_registers( ISSI_ADDR_2, 1 );
2984#elif defined(RGB_BACKLIGHT_NEBULA68) 2984#elif defined(RGB_BACKLIGHT_NEBULA68)
2985 IS31FL3733_init( ISSI_ADDR_1, 0 ); 2985 is31fl3733_init( ISSI_ADDR_1, 0 );
2986 IS31FL3733_init( ISSI_ADDR_2, 0 ); 2986 is31fl3733_init( ISSI_ADDR_2, 0 );
2987 2987
2988 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) 2988 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
2989 { 2989 {
2990 bool enabled = !( ( index == 61-1 ) || //LA61 2990 bool enabled = !( ( index == 61-1 ) || //LA61
2991 ( index > 5+64-1 ) ); //LB6-LB64 2991 ( index > 5+64-1 ) ); //LB6-LB64
2992 // This only caches it for later 2992 // This only caches it for later
2993 IS31FL3733_set_led_control_register( index, enabled, enabled, enabled ); 2993 is31fl3733_set_led_control_register( index, enabled, enabled, enabled );
2994 } 2994 }
2995 // This actually updates the LED drivers 2995 // This actually updates the LED drivers
2996 IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); 2996 is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 );
2997 IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); 2997 is31fl3733_update_led_control_registers( ISSI_ADDR_2, 1 );
2998#elif defined(RGB_BACKLIGHT_PORTICO75) 2998#elif defined(RGB_BACKLIGHT_PORTICO75)
2999 IS31FL3741_init( ISSI_ADDR_1 ); 2999 is31fl3741_init( ISSI_ADDR_1 );
3000 bool enabled = true; 3000 bool enabled = true;
3001 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) 3001 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
3002 { 3002 {
3003 IS31FL3741_set_led_control_register( index, enabled, enabled, enabled ); 3003 is31fl3741_set_led_control_register( index, enabled, enabled, enabled );
3004 } 3004 }
3005 // This actually updates the LED drivers 3005 // This actually updates the LED drivers
3006 IS31FL3741_update_led_control_registers( ISSI_ADDR_1, 0 ); 3006 is31fl3741_update_led_control_registers( ISSI_ADDR_1, 0 );
3007#elif defined(RGB_BACKLIGHT_KW_MEGA) 3007#elif defined(RGB_BACKLIGHT_KW_MEGA)
3008 IS31FL3733_init( ISSI_ADDR_1, 0 ); 3008 is31fl3733_init( ISSI_ADDR_1, 0 );
3009 IS31FL3733_init( ISSI_ADDR_2, 0 ); 3009 is31fl3733_init( ISSI_ADDR_2, 0 );
3010 3010
3011 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ ) 3011 for ( int index = 0; index < RGB_MATRIX_LED_COUNT; index++ )
3012 { 3012 {
3013 bool enabled = !( ( index == 61-1 ) || //LA61 3013 bool enabled = !( ( index == 61-1 ) || //LA61
3014 ( index > 6+64-1 ) ); //LB7-LB64 3014 ( index > 6+64-1 ) ); //LB7-LB64
3015 // This only caches it for later 3015 // This only caches it for later
3016 IS31FL3733_set_led_control_register( index, enabled, enabled, enabled ); 3016 is31fl3733_set_led_control_register( index, enabled, enabled, enabled );
3017 } 3017 }
3018 // This actually updates the LED drivers 3018 // This actually updates the LED drivers
3019 IS31FL3733_update_led_control_registers( ISSI_ADDR_1, 0 ); 3019 is31fl3733_update_led_control_registers( ISSI_ADDR_1, 0 );
3020 IS31FL3733_update_led_control_registers( ISSI_ADDR_2, 1 ); 3020 is31fl3733_update_led_control_registers( ISSI_ADDR_2, 1 );
3021#else 3021#else
3022 // Init the #1 driver 3022 // Init the #1 driver
3023 IS31FL3731_init( ISSI_ADDR_1 ); 3023 is31fl3731_init( ISSI_ADDR_1 );
3024 // Init the #2 driver (if used) 3024 // Init the #2 driver (if used)
3025#if !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_M10_C) 3025#if !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_M10_C)
3026 IS31FL3731_init( ISSI_ADDR_2 ); 3026 is31fl3731_init( ISSI_ADDR_2 );
3027#endif 3027#endif
3028 // Init the #3 driver (if used) 3028 // Init the #3 driver (if used)
3029#if defined(RGB_BACKLIGHT_U80_A) 3029#if defined(RGB_BACKLIGHT_U80_A)
3030 IS31FL3731_init( ISSI_ADDR_3 ); 3030 is31fl3731_init( ISSI_ADDR_3 );
3031#endif 3031#endif
3032 3032
3033 // Experimental feature, not in configuration yet 3033 // Experimental feature, not in configuration yet
@@ -3156,16 +3156,16 @@ void backlight_init_drivers(void)
3156 bool enabled = true; 3156 bool enabled = true;
3157#endif 3157#endif
3158 // This only caches it for later 3158 // This only caches it for later
3159 IS31FL3731_set_led_control_register( index, enabled, enabled, enabled ); 3159 is31fl3731_set_led_control_register( index, enabled, enabled, enabled );
3160 } 3160 }
3161 // This actually updates the LED drivers 3161 // This actually updates the LED drivers
3162 // TODO: refactor this to use DRIVER_COUNT 3162 // TODO: refactor this to use DRIVER_COUNT
3163 IS31FL3731_update_led_control_registers( ISSI_ADDR_1, 0 ); 3163 is31fl3731_update_led_control_registers( ISSI_ADDR_1, 0 );
3164#if !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_M10_C) 3164#if !defined(RGB_BACKLIGHT_NEBULA12) && !defined(RGB_BACKLIGHT_M10_C)
3165 IS31FL3731_update_led_control_registers( ISSI_ADDR_2, 1 ); 3165 is31fl3731_update_led_control_registers( ISSI_ADDR_2, 1 );
3166#endif 3166#endif
3167#if defined(RGB_BACKLIGHT_U80_A) 3167#if defined(RGB_BACKLIGHT_U80_A)
3168 IS31FL3731_update_led_control_registers( ISSI_ADDR_3, 2 ); 3168 is31fl3731_update_led_control_registers( ISSI_ADDR_3, 2 );
3169#endif 3169#endif
3170#endif 3170#endif
3171 3171
@@ -3399,11 +3399,11 @@ void backlight_test_led( uint8_t index, bool red, bool green, bool blue )
3399 { 3399 {
3400 if ( i == index ) 3400 if ( i == index )
3401 { 3401 {
3402 IS31FL3731_set_led_control_register( i, red, green, blue ); 3402 is31fl3731_set_led_control_register( i, red, green, blue );
3403 } 3403 }
3404 else 3404 else
3405 { 3405 {
3406 IS31FL3731_set_led_control_register( i, false, false, false ); 3406 is31fl3731_set_led_control_register( i, false, false, false );
3407 } 3407 }
3408 } 3408 }
3409} 3409}
diff --git a/keyboards/winry/winry315/info.json b/keyboards/winry/winry315/info.json
index 2c98f3bd53..de600c3f01 100644
--- a/keyboards/winry/winry315/info.json
+++ b/keyboards/winry/winry315/info.json
@@ -9,7 +9,7 @@
9 "vid": "0xF1F1" 9 "vid": "0xF1F1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "rgblight": { 14 "rgblight": {
15 "saturation_steps": 8, 15 "saturation_steps": 8,
diff --git a/keyboards/wolf/m60_b/info.json b/keyboards/wolf/m60_b/info.json
index 87ec3f8900..2c3b4a3b0d 100644
--- a/keyboards/wolf/m60_b/info.json
+++ b/keyboards/wolf/m60_b/info.json
@@ -23,7 +23,7 @@
23 }, 23 },
24 "processor": "atmega32u4", 24 "processor": "atmega32u4",
25 "rgb_matrix": { 25 "rgb_matrix": {
26 "driver": "WS2812", 26 "driver": "ws2812",
27 "layout": [ 27 "layout": [
28 {"flags": 4, "matrix": [2, 0], "x": 7, "y": 32}, 28 {"flags": 4, "matrix": [2, 0], "x": 7, "y": 32},
29 {"flags": 4, "matrix": [1, 0], "x": 4, "y": 16}, 29 {"flags": 4, "matrix": [1, 0], "x": 4, "y": 16},
diff --git a/keyboards/work_louder/loop/info.json b/keyboards/work_louder/loop/info.json
index 458066fc15..19eef12c53 100644
--- a/keyboards/work_louder/loop/info.json
+++ b/keyboards/work_louder/loop/info.json
@@ -9,7 +9,7 @@
9 "max_power": 100 9 "max_power": 100
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B3", "B2", "B1", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"], 15 "cols": ["B3", "B2", "B1", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6"],
diff --git a/keyboards/work_louder/micro/info.json b/keyboards/work_louder/micro/info.json
index d003fcad38..d76e7aa049 100644
--- a/keyboards/work_louder/micro/info.json
+++ b/keyboards/work_louder/micro/info.json
@@ -44,7 +44,7 @@
44 "pin": "D1" 44 "pin": "D1"
45 }, 45 },
46 "rgb_matrix": { 46 "rgb_matrix": {
47 "driver": "WS2812" 47 "driver": "ws2812"
48 }, 48 },
49 "url": "https://worklouder.cc/", 49 "url": "https://worklouder.cc/",
50 "usb": { 50 "usb": {
diff --git a/keyboards/work_louder/nano/info.json b/keyboards/work_louder/nano/info.json
index 5b95e7d2aa..9056ac1f14 100644
--- a/keyboards/work_louder/nano/info.json
+++ b/keyboards/work_louder/nano/info.json
@@ -10,7 +10,7 @@
10 "max_power": 100 10 "max_power": 100
11 }, 11 },
12 "rgb_matrix": { 12 "rgb_matrix": {
13 "driver": "WS2812" 13 "driver": "ws2812"
14 }, 14 },
15 "matrix_pins": { 15 "matrix_pins": {
16 "cols": ["B5", "B6", "C6"], 16 "cols": ["B5", "B6", "C6"],
diff --git a/keyboards/work_louder/numpad/info.json b/keyboards/work_louder/numpad/info.json
index 4fa9c1442c..0fa2bf2565 100644
--- a/keyboards/work_louder/numpad/info.json
+++ b/keyboards/work_louder/numpad/info.json
@@ -29,7 +29,7 @@
29 "lto": true 29 "lto": true
30 }, 30 },
31 "rgb_matrix": { 31 "rgb_matrix": {
32 "driver": "WS2812", 32 "driver": "ws2812",
33 "layout": [ 33 "layout": [
34 {"flags": 1, "matrix": [3, 3], "x": 141, "y": 64}, 34 {"flags": 1, "matrix": [3, 3], "x": 141, "y": 64},
35 {"flags": 1, "matrix": [3, 2], "x": 122, "y": 64}, 35 {"flags": 1, "matrix": [3, 2], "x": 122, "y": 64},
diff --git a/keyboards/work_louder/work_board/info.json b/keyboards/work_louder/work_board/info.json
index 99ddfd5e65..c58df36de1 100644
--- a/keyboards/work_louder/work_board/info.json
+++ b/keyboards/work_louder/work_board/info.json
@@ -9,7 +9,7 @@
9 "max_power": 100 9 "max_power": 100
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "E6"], 15 "cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "E6"],
diff --git a/keyboards/xbows/knight/info.json b/keyboards/xbows/knight/info.json
index 3d507b38a9..7684ca6b39 100644
--- a/keyboards/xbows/knight/info.json
+++ b/keyboards/xbows/knight/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"], 15 "cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"],
diff --git a/keyboards/xbows/knight_plus/info.json b/keyboards/xbows/knight_plus/info.json
index 7aa1fe74f5..695ef03672 100644
--- a/keyboards/xbows/knight_plus/info.json
+++ b/keyboards/xbows/knight_plus/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"], 15 "cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"],
diff --git a/keyboards/xbows/nature/info.json b/keyboards/xbows/nature/info.json
index 0287c13ee4..892dda8878 100644
--- a/keyboards/xbows/nature/info.json
+++ b/keyboards/xbows/nature/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"], 15 "cols": ["B0", "B1", "B2", "B3", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6"],
diff --git a/keyboards/xbows/numpad/info.json b/keyboards/xbows/numpad/info.json
index 34744625d8..2f5f5f4cd8 100644
--- a/keyboards/xbows/numpad/info.json
+++ b/keyboards/xbows/numpad/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["D4", "D6", "B2", "B1"], 15 "cols": ["D4", "D6", "B2", "B1"],
diff --git a/keyboards/xbows/ranger/info.json b/keyboards/xbows/ranger/info.json
index ec3fcb0fb3..edbb5fc504 100644
--- a/keyboards/xbows/ranger/info.json
+++ b/keyboards/xbows/ranger/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B7", "B3", "B2", "B1", "B0", "E6", "F0", "F1", "F4", "F5", "D7", "F6", "F7", "D4", "D5", "D3"], 15 "cols": ["B7", "B3", "B2", "B1", "B0", "E6", "F0", "F1", "F4", "F5", "D7", "F6", "F7", "D4", "D5", "D3"],
diff --git a/keyboards/xbows/woody/info.json b/keyboards/xbows/woody/info.json
index 7e4e25357f..8212f31034 100644
--- a/keyboards/xbows/woody/info.json
+++ b/keyboards/xbows/woody/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "IS31FL3731" 12 "driver": "is31fl3731"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["B6", "C6", "C7", "F4", "F5", "F6", "F7", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4"], 15 "cols": ["B6", "C6", "C7", "F4", "F5", "F6", "F7", "B7", "D2", "D3", "D5", "D4", "D6", "D7", "B4"],
diff --git a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
index f153c9ef9d..7b77807326 100644
--- a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
+++ b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
@@ -167,28 +167,28 @@ led_config_t g_led_config = { {
167//Custom Driver 167//Custom Driver
168static void init(void) { 168static void init(void) {
169 i2c_init(); 169 i2c_init();
170 IS31FL3731_init(DRIVER_ADDR_1); 170 is31fl3731_init(DRIVER_ADDR_1);
171 IS31FL3731_init(DRIVER_ADDR_2); 171 is31fl3731_init(DRIVER_ADDR_2);
172 for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) { 172 for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) {
173 bool enabled = true; 173 bool enabled = true;
174 IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); 174 is31fl3731_set_led_control_register(index, enabled, enabled, enabled);
175 } 175 }
176 IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); 176 is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0);
177 IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); 177 is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1);
178 178
179 //RGB Underglow ws2812 179 //RGB Underglow ws2812
180 180
181} 181}
182 182
183static void flush(void) { 183static void flush(void) {
184 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); 184 is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0);
185 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); 185 is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1);
186 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL); 186 ws2812_setleds(rgb_matrix_ws2812_array, WS2812_LED_TOTAL);
187} 187}
188 188
189static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) { 189static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
190 if (index < ISSI_DRIVER_TOTAL) { 190 if (index < ISSI_DRIVER_TOTAL) {
191 IS31FL3731_set_color(index, red, green, blue); 191 is31fl3731_set_color(index, red, green, blue);
192 } else { 192 } else {
193 rgb_matrix_ws2812_array[index - ISSI_DRIVER_TOTAL].r = red; 193 rgb_matrix_ws2812_array[index - ISSI_DRIVER_TOTAL].r = red;
194 rgb_matrix_ws2812_array[index - ISSI_DRIVER_TOTAL].g = green; 194 rgb_matrix_ws2812_array[index - ISSI_DRIVER_TOTAL].g = green;
@@ -197,7 +197,7 @@ static void set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
197} 197}
198 198
199static void set_color_all(uint8_t red, uint8_t green, uint8_t blue) { 199static void set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
200 IS31FL3731_set_color_all( red, green, blue ); 200 is31fl3731_set_color_all( red, green, blue );
201 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) { 201 for (uint8_t i = 0; i < WS2812_LED_TOTAL; i++) {
202 rgb_matrix_ws2812_array[i].r = red; 202 rgb_matrix_ws2812_array[i].r = red;
203 rgb_matrix_ws2812_array[i].g = green; 203 rgb_matrix_ws2812_array[i].g = green;
diff --git a/keyboards/xelus/la_plus/info.json b/keyboards/xelus/la_plus/info.json
index 24f84a7d80..be1fa11584 100644
--- a/keyboards/xelus/la_plus/info.json
+++ b/keyboards/xelus/la_plus/info.json
@@ -12,7 +12,7 @@
12 "pin": "F1" 12 "pin": "F1"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["E6", "D5", "B2", "B3", "D3", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], 18 "cols": ["E6", "D5", "B2", "B3", "D3", "F6", "F7", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
diff --git a/keyboards/xelus/pachi/rgb/rev1/rev1.c b/keyboards/xelus/pachi/rgb/rev1/rev1.c
index 856cdc1302..156c5228da 100644
--- a/keyboards/xelus/pachi/rgb/rev1/rev1.c
+++ b/keyboards/xelus/pachi/rgb/rev1/rev1.c
@@ -188,7 +188,7 @@ led_config_t g_led_config = { {
188 188
189static void init(void) { 189static void init(void) {
190 i2c_init(); 190 i2c_init();
191 IS31FL3741_init(DRIVER_ADDR_1); 191 is31fl3741_init(DRIVER_ADDR_1);
192 for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) { 192 for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) {
193 bool enabled = !( ( index == -1+0+13) || //A13 193 bool enabled = !( ( index == -1+0+13) || //A13
194 ( index == -1+13+3) || //B3 194 ( index == -1+13+3) || //B3
@@ -221,19 +221,19 @@ static void init(void) {
221 ( index == -1+104+12) || //I12 221 ( index == -1+104+12) || //I12
222 ( index == -1+104+13) //I13 222 ( index == -1+104+13) //I13
223 ); 223 );
224 IS31FL3741_set_led_control_register(index, enabled, enabled, enabled); 224 is31fl3741_set_led_control_register(index, enabled, enabled, enabled);
225 } 225 }
226 IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); 226 is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0);
227} 227}
228 228
229static void flush(void) { 229static void flush(void) {
230 IS31FL3741_update_pwm_buffers(DRIVER_ADDR_1, 0); 230 is31fl3741_update_pwm_buffers(DRIVER_ADDR_1, 0);
231} 231}
232 232
233const rgb_matrix_driver_t rgb_matrix_driver = { 233const rgb_matrix_driver_t rgb_matrix_driver = {
234 .init = init, 234 .init = init,
235 .flush = flush, 235 .flush = flush,
236 .set_color = IS31FL3741_set_color, 236 .set_color = is31fl3741_set_color,
237 .set_color_all = IS31FL3741_set_color_all 237 .set_color_all = is31fl3741_set_color_all
238}; 238};
239#endif 239#endif
diff --git a/keyboards/xelus/pachi/rgb/rev2/rev2.c b/keyboards/xelus/pachi/rgb/rev2/rev2.c
index da5bb96a75..d7c74730f8 100644
--- a/keyboards/xelus/pachi/rgb/rev2/rev2.c
+++ b/keyboards/xelus/pachi/rgb/rev2/rev2.c
@@ -194,7 +194,7 @@ led_config_t g_led_config = { {
194 194
195static void init(void) { 195static void init(void) {
196 i2c_init(); 196 i2c_init();
197 IS31FL3741_init(DRIVER_ADDR_1); 197 is31fl3741_init(DRIVER_ADDR_1);
198 for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) { 198 for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) {
199 bool enabled = !( ( index == -1+0+13) || //A13 199 bool enabled = !( ( index == -1+0+13) || //A13
200 ( index == -1+13+3) || //B3 200 ( index == -1+13+3) || //B3
@@ -227,20 +227,20 @@ static void init(void) {
227 ( index == -1+104+12) || //I12 227 ( index == -1+104+12) || //I12
228 ( index == -1+104+13) //I13 228 ( index == -1+104+13) //I13
229 ); 229 );
230 IS31FL3741_set_led_control_register(index, enabled, enabled, enabled); 230 is31fl3741_set_led_control_register(index, enabled, enabled, enabled);
231 } 231 }
232 IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); 232 is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0);
233} 233}
234 234
235static void flush(void) { 235static void flush(void) {
236 IS31FL3741_update_pwm_buffers(DRIVER_ADDR_1, 0); 236 is31fl3741_update_pwm_buffers(DRIVER_ADDR_1, 0);
237} 237}
238 238
239const rgb_matrix_driver_t rgb_matrix_driver = { 239const rgb_matrix_driver_t rgb_matrix_driver = {
240 .init = init, 240 .init = init,
241 .flush = flush, 241 .flush = flush,
242 .set_color = IS31FL3741_set_color, 242 .set_color = is31fl3741_set_color,
243 .set_color_all = IS31FL3741_set_color_all 243 .set_color_all = is31fl3741_set_color_all
244}; 244};
245 245
246#ifdef VIA_ENABLE 246#ifdef VIA_ENABLE
diff --git a/keyboards/xelus/valor/rev2/info.json b/keyboards/xelus/valor/rev2/info.json
index d3f134fdf8..a8068eff89 100644
--- a/keyboards/xelus/valor/rev2/info.json
+++ b/keyboards/xelus/valor/rev2/info.json
@@ -13,7 +13,7 @@
13 "driver": "pwm" 13 "driver": "pwm"
14 }, 14 },
15 "rgb_matrix": { 15 "rgb_matrix": {
16 "driver": "WS2812" 16 "driver": "ws2812"
17 }, 17 },
18 "matrix_pins": { 18 "matrix_pins": {
19 "cols": ["B2", "B1", "B0", "A7", "A6", "A5", "A4", "A13", "B7", "B6", "B5", "B4", "B3", "A15", "A14"], 19 "cols": ["B2", "B1", "B0", "A7", "A6", "A5", "A4", "A13", "B7", "B6", "B5", "B4", "B3", "A15", "A14"],
diff --git a/keyboards/yandrstudio/nz64/info.json b/keyboards/yandrstudio/nz64/info.json
index 332f940305..1ac32fe9a4 100644
--- a/keyboards/yandrstudio/nz64/info.json
+++ b/keyboards/yandrstudio/nz64/info.json
@@ -12,7 +12,7 @@
12 "driver": "pwm" 12 "driver": "pwm"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["A15", "B3", "B4", "B6", "B7", "B5", "C13", "A5", "A4", "B14", "B15", "A8", "A9", "A10"], 18 "cols": ["A15", "B3", "B4", "B6", "B7", "B5", "C13", "A5", "A4", "B14", "B15", "A8", "A9", "A10"],
diff --git a/keyboards/yandrstudio/nz67v2/info.json b/keyboards/yandrstudio/nz67v2/info.json
index b351aed1ee..3cd784934a 100644
--- a/keyboards/yandrstudio/nz67v2/info.json
+++ b/keyboards/yandrstudio/nz67v2/info.json
@@ -11,7 +11,7 @@
11 "driver": "pwm" 11 "driver": "pwm"
12 }, 12 },
13 "rgb_matrix": { 13 "rgb_matrix": {
14 "driver": "WS2812" 14 "driver": "ws2812"
15 }, 15 },
16 "matrix_pins": { 16 "matrix_pins": {
17 "cols": ["B9", "A3", "A4", "A5", "A6", "A7", "B0", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8"], 17 "cols": ["B9", "A3", "A4", "A5", "A6", "A7", "B0", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8"],
diff --git a/keyboards/yandrstudio/tg67/info.json b/keyboards/yandrstudio/tg67/info.json
index 925d6c1d94..a82f58300b 100644
--- a/keyboards/yandrstudio/tg67/info.json
+++ b/keyboards/yandrstudio/tg67/info.json
@@ -11,7 +11,7 @@
11 "driver": "pwm" 11 "driver": "pwm"
12 }, 12 },
13 "rgb_matrix": { 13 "rgb_matrix": {
14 "driver": "WS2812" 14 "driver": "ws2812"
15 }, 15 },
16 "matrix_pins": { 16 "matrix_pins": {
17 "cols": ["B2", "B10", "B11", "A8", "A9", "A10", "B5", "A15", "B3", "A2", "A3", "B4", "A4", "A5", "A6"], 17 "cols": ["B2", "B10", "B11", "A8", "A9", "A10", "B5", "A15", "B3", "A2", "A3", "B4", "A4", "A5", "A6"],
diff --git a/keyboards/yanghu/unicorne/info.json b/keyboards/yanghu/unicorne/info.json
index 9a6f4c9e80..ff41bf8a5a 100644
--- a/keyboards/yanghu/unicorne/info.json
+++ b/keyboards/yanghu/unicorne/info.json
@@ -16,7 +16,7 @@
16 "driver": "pwm" 16 "driver": "pwm"
17 }, 17 },
18 "rgb_matrix": { 18 "rgb_matrix": {
19 "driver": "WS2812" 19 "driver": "ws2812"
20 }, 20 },
21 "matrix_pins": { 21 "matrix_pins": {
22 "cols": ["A14", "A15", "B13", "B14", "B15", "A13", "A0", "A1", "A2", "A3", "A6", "A7"], 22 "cols": ["A14", "A15", "B13", "B14", "B15", "A13", "A0", "A1", "A2", "A3", "A6", "A7"],
diff --git a/keyboards/ymdk/id75/info.json b/keyboards/ymdk/id75/info.json
index 17b50e8e46..692ef7e8b7 100644
--- a/keyboards/ymdk/id75/info.json
+++ b/keyboards/ymdk/id75/info.json
@@ -67,7 +67,7 @@
67 "solid_splash": true, 67 "solid_splash": true,
68 "solid_multisplash": true 68 "solid_multisplash": true
69 }, 69 },
70 "driver": "WS2812", 70 "driver": "ws2812",
71 "layout": [ 71 "layout": [
72 {"flags": 4, "matrix": [4, 14], "x": 224, "y": 64}, 72 {"flags": 4, "matrix": [4, 14], "x": 224, "y": 64},
73 {"flags": 4, "matrix": [4, 13], "x": 208, "y": 64}, 73 {"flags": 4, "matrix": [4, 13], "x": 208, "y": 64},
diff --git a/keyboards/ymdk/ymd09/info.json b/keyboards/ymdk/ymd09/info.json
index d9cb9f5086..11552ae5b2 100644
--- a/keyboards/ymdk/ymd09/info.json
+++ b/keyboards/ymdk/ymd09/info.json
@@ -46,7 +46,7 @@
46 } 46 }
47 }, 47 },
48 "rgb_matrix": { 48 "rgb_matrix": {
49 "driver": "WS2812", 49 "driver": "ws2812",
50 "layout": [ 50 "layout": [
51 {"flags": 4, "matrix": [0, 2], "x": 64, "y": 0}, //7 51 {"flags": 4, "matrix": [0, 2], "x": 64, "y": 0}, //7
52 {"flags": 4, "matrix": [0, 1], "x": 32, "y": 0}, //8 52 {"flags": 4, "matrix": [0, 1], "x": 32, "y": 0}, //8
diff --git a/keyboards/ymdk/ymd40/air40/info.json b/keyboards/ymdk/ymd40/air40/info.json
index cfa103de9a..daf104ebfe 100644
--- a/keyboards/ymdk/ymd40/air40/info.json
+++ b/keyboards/ymdk/ymd40/air40/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812" 12 "driver": "ws2812"
13 }, 13 },
14 "matrix_pins": { 14 "matrix_pins": {
15 "cols": ["F1", "F0", "B0", "C7", "F4", "F5", "F6", "F7", "D4", "D6", "B4", "D7"], 15 "cols": ["F1", "F0", "B0", "C7", "F4", "F5", "F6", "F7", "D4", "D6", "B4", "D7"],
diff --git a/keyboards/yncognito/batpad/info.json b/keyboards/yncognito/batpad/info.json
index ec57403a66..4ec1dc045f 100644
--- a/keyboards/yncognito/batpad/info.json
+++ b/keyboards/yncognito/batpad/info.json
@@ -12,7 +12,7 @@
12 "pin": "B5" 12 "pin": "B5"
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "driver": "WS2812" 15 "driver": "ws2812"
16 }, 16 },
17 "matrix_pins": { 17 "matrix_pins": {
18 "cols": ["F1", "F0", "D5", "D3"], 18 "cols": ["F1", "F0", "D5", "D3"],
diff --git a/keyboards/yushakobo/quick17/info.json b/keyboards/yushakobo/quick17/info.json
index aef48120bd..f6406acf94 100644
--- a/keyboards/yushakobo/quick17/info.json
+++ b/keyboards/yushakobo/quick17/info.json
@@ -9,7 +9,7 @@
9 "device_version": "0.0.1" 9 "device_version": "0.0.1"
10 }, 10 },
11 "rgb_matrix": { 11 "rgb_matrix": {
12 "driver": "WS2812", 12 "driver": "ws2812",
13 "sat_steps": 8, 13 "sat_steps": 8,
14 "val_steps": 8, 14 "val_steps": 8,
15 "speed_steps": 10 15 "speed_steps": 10
diff --git a/keyboards/zykrah/fuyu/info.json b/keyboards/zykrah/fuyu/info.json
index 5ac93424db..874114bfca 100644
--- a/keyboards/zykrah/fuyu/info.json
+++ b/keyboards/zykrah/fuyu/info.json
@@ -24,7 +24,7 @@
24 "cols": ["GP29", "GP28", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP27", "GP9", "GP1", "GP0"] 24 "cols": ["GP29", "GP28", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18", "GP17", "GP16", "GP27", "GP9", "GP1", "GP0"]
25 }, 25 },
26 "rgb_matrix": { 26 "rgb_matrix": {
27 "driver": "WS2812" 27 "driver": "ws2812"
28 }, 28 },
29 "ws2812": { 29 "ws2812": {
30 "pin": "GP2", 30 "pin": "GP2",
diff --git a/quantum/rgb_matrix/rgb_matrix_drivers.c b/quantum/rgb_matrix/rgb_matrix_drivers.c
index 7bd274ee99..695ecc78a4 100644
--- a/quantum/rgb_matrix/rgb_matrix_drivers.c
+++ b/quantum/rgb_matrix/rgb_matrix_drivers.c
@@ -38,13 +38,13 @@ static void init(void) {
38 i2c_init(); 38 i2c_init();
39 39
40# if defined(IS31FL3731) 40# if defined(IS31FL3731)
41 IS31FL3731_init(DRIVER_ADDR_1); 41 is31fl3731_init(DRIVER_ADDR_1);
42# if defined(DRIVER_ADDR_2) 42# if defined(DRIVER_ADDR_2)
43 IS31FL3731_init(DRIVER_ADDR_2); 43 is31fl3731_init(DRIVER_ADDR_2);
44# if defined(DRIVER_ADDR_3) 44# if defined(DRIVER_ADDR_3)
45 IS31FL3731_init(DRIVER_ADDR_3); 45 is31fl3731_init(DRIVER_ADDR_3);
46# if defined(DRIVER_ADDR_4) 46# if defined(DRIVER_ADDR_4)
47 IS31FL3731_init(DRIVER_ADDR_4); 47 is31fl3731_init(DRIVER_ADDR_4);
48# endif 48# endif
49# endif 49# endif
50# endif 50# endif
@@ -53,58 +53,58 @@ static void init(void) {
53# if !defined(DRIVER_SYNC_1) 53# if !defined(DRIVER_SYNC_1)
54# define DRIVER_SYNC_1 0 54# define DRIVER_SYNC_1 0
55# endif 55# endif
56 IS31FL3733_init(DRIVER_ADDR_1, DRIVER_SYNC_1); 56 is31fl3733_init(DRIVER_ADDR_1, DRIVER_SYNC_1);
57# if defined(DRIVER_ADDR_2) 57# if defined(DRIVER_ADDR_2)
58# if !defined(DRIVER_SYNC_2) 58# if !defined(DRIVER_SYNC_2)
59# define DRIVER_SYNC_2 0 59# define DRIVER_SYNC_2 0
60# endif 60# endif
61 IS31FL3733_init(DRIVER_ADDR_2, DRIVER_SYNC_2); 61 is31fl3733_init(DRIVER_ADDR_2, DRIVER_SYNC_2);
62# if defined(DRIVER_ADDR_3) 62# if defined(DRIVER_ADDR_3)
63# if !defined(DRIVER_SYNC_3) 63# if !defined(DRIVER_SYNC_3)
64# define DRIVER_SYNC_3 0 64# define DRIVER_SYNC_3 0
65# endif 65# endif
66 IS31FL3733_init(DRIVER_ADDR_3, DRIVER_SYNC_3); 66 is31fl3733_init(DRIVER_ADDR_3, DRIVER_SYNC_3);
67# if defined(DRIVER_ADDR_4) 67# if defined(DRIVER_ADDR_4)
68# if !defined(DRIVER_SYNC_4) 68# if !defined(DRIVER_SYNC_4)
69# define DRIVER_SYNC_4 0 69# define DRIVER_SYNC_4 0
70# endif 70# endif
71 IS31FL3733_init(DRIVER_ADDR_4, DRIVER_SYNC_4); 71 is31fl3733_init(DRIVER_ADDR_4, DRIVER_SYNC_4);
72# endif 72# endif
73# endif 73# endif
74# endif 74# endif
75 75
76# elif defined(IS31FL3736) 76# elif defined(IS31FL3736)
77 IS31FL3736_init(DRIVER_ADDR_1); 77 is31fl3736_init(DRIVER_ADDR_1);
78# if defined(DRIVER_ADDR_2) 78# if defined(DRIVER_ADDR_2)
79 IS31FL3736_init(DRIVER_ADDR_2); 79 is31fl3736_init(DRIVER_ADDR_2);
80# if defined(DRIVER_ADDR_3) 80# if defined(DRIVER_ADDR_3)
81 IS31FL3736_init(DRIVER_ADDR_3); 81 is31fl3736_init(DRIVER_ADDR_3);
82# if defined(DRIVER_ADDR_4) 82# if defined(DRIVER_ADDR_4)
83 IS31FL3736_init(DRIVER_ADDR_4); 83 is31fl3736_init(DRIVER_ADDR_4);
84# endif 84# endif
85# endif 85# endif
86# endif 86# endif
87 87
88# elif defined(IS31FL3737) 88# elif defined(IS31FL3737)
89 IS31FL3737_init(DRIVER_ADDR_1); 89 is31fl3737_init(DRIVER_ADDR_1);
90# if defined(DRIVER_ADDR_2) 90# if defined(DRIVER_ADDR_2)
91 IS31FL3737_init(DRIVER_ADDR_2); 91 is31fl3737_init(DRIVER_ADDR_2);
92# if defined(DRIVER_ADDR_3) 92# if defined(DRIVER_ADDR_3)
93 IS31FL3737_init(DRIVER_ADDR_3); 93 is31fl3737_init(DRIVER_ADDR_3);
94# if defined(DRIVER_ADDR_4) 94# if defined(DRIVER_ADDR_4)
95 IS31FL3737_init(DRIVER_ADDR_4); 95 is31fl3737_init(DRIVER_ADDR_4);
96# endif 96# endif
97# endif 97# endif
98# endif 98# endif
99 99
100# elif defined(IS31FL3741) 100# elif defined(IS31FL3741)
101 IS31FL3741_init(DRIVER_ADDR_1); 101 is31fl3741_init(DRIVER_ADDR_1);
102# if defined(DRIVER_ADDR_2) 102# if defined(DRIVER_ADDR_2)
103 IS31FL3741_init(DRIVER_ADDR_2); 103 is31fl3741_init(DRIVER_ADDR_2);
104# if defined(DRIVER_ADDR_3) 104# if defined(DRIVER_ADDR_3)
105 IS31FL3741_init(DRIVER_ADDR_3); 105 is31fl3741_init(DRIVER_ADDR_3);
106# if defined(DRIVER_ADDR_4) 106# if defined(DRIVER_ADDR_4)
107 IS31FL3741_init(DRIVER_ADDR_4); 107 is31fl3741_init(DRIVER_ADDR_4);
108# endif 108# endif
109# endif 109# endif
110# endif 110# endif
@@ -122,13 +122,13 @@ static void init(void) {
122# endif 122# endif
123 123
124# elif defined(CKLED2001) 124# elif defined(CKLED2001)
125 CKLED2001_init(DRIVER_ADDR_1); 125 ckled2001_init(DRIVER_ADDR_1);
126# if defined(DRIVER_ADDR_2) 126# if defined(DRIVER_ADDR_2)
127 CKLED2001_init(DRIVER_ADDR_2); 127 ckled2001_init(DRIVER_ADDR_2);
128# if defined(DRIVER_ADDR_3) 128# if defined(DRIVER_ADDR_3)
129 CKLED2001_init(DRIVER_ADDR_3); 129 ckled2001_init(DRIVER_ADDR_3);
130# if defined(DRIVER_ADDR_4) 130# if defined(DRIVER_ADDR_4)
131 CKLED2001_init(DRIVER_ADDR_4); 131 ckled2001_init(DRIVER_ADDR_4);
132# endif 132# endif
133# endif 133# endif
134# endif 134# endif
@@ -139,79 +139,79 @@ static void init(void) {
139 139
140 // This only caches it for later 140 // This only caches it for later
141# if defined(IS31FL3731) 141# if defined(IS31FL3731)
142 IS31FL3731_set_led_control_register(index, enabled, enabled, enabled); 142 is31fl3731_set_led_control_register(index, enabled, enabled, enabled);
143# elif defined(IS31FL3733) 143# elif defined(IS31FL3733)
144 IS31FL3733_set_led_control_register(index, enabled, enabled, enabled); 144 is31fl3733_set_led_control_register(index, enabled, enabled, enabled);
145# elif defined(IS31FL3736) 145# elif defined(IS31FL3736)
146 IS31FL3736_set_led_control_register(index, enabled, enabled, enabled); 146 is31fl3736_set_led_control_register(index, enabled, enabled, enabled);
147# elif defined(IS31FL3737) 147# elif defined(IS31FL3737)
148 IS31FL3737_set_led_control_register(index, enabled, enabled, enabled); 148 is31fl3737_set_led_control_register(index, enabled, enabled, enabled);
149# elif defined(IS31FL3741) 149# elif defined(IS31FL3741)
150 IS31FL3741_set_led_control_register(index, enabled, enabled, enabled); 150 is31fl3741_set_led_control_register(index, enabled, enabled, enabled);
151# elif defined(IS31FLCOMMON) 151# elif defined(IS31FLCOMMON)
152 IS31FL_RGB_set_scaling_buffer(index, enabled, enabled, enabled); 152 IS31FL_RGB_set_scaling_buffer(index, enabled, enabled, enabled);
153# elif defined(CKLED2001) 153# elif defined(CKLED2001)
154 CKLED2001_set_led_control_register(index, enabled, enabled, enabled); 154 ckled2001_set_led_control_register(index, enabled, enabled, enabled);
155# endif 155# endif
156 } 156 }
157 157
158 // This actually updates the LED drivers 158 // This actually updates the LED drivers
159# if defined(IS31FL3731) 159# if defined(IS31FL3731)
160 IS31FL3731_update_led_control_registers(DRIVER_ADDR_1, 0); 160 is31fl3731_update_led_control_registers(DRIVER_ADDR_1, 0);
161# if defined(DRIVER_ADDR_2) 161# if defined(DRIVER_ADDR_2)
162 IS31FL3731_update_led_control_registers(DRIVER_ADDR_2, 1); 162 is31fl3731_update_led_control_registers(DRIVER_ADDR_2, 1);
163# if defined(DRIVER_ADDR_3) 163# if defined(DRIVER_ADDR_3)
164 IS31FL3731_update_led_control_registers(DRIVER_ADDR_3, 2); 164 is31fl3731_update_led_control_registers(DRIVER_ADDR_3, 2);
165# if defined(DRIVER_ADDR_4) 165# if defined(DRIVER_ADDR_4)
166 IS31FL3731_update_led_control_registers(DRIVER_ADDR_4, 3); 166 is31fl3731_update_led_control_registers(DRIVER_ADDR_4, 3);
167# endif 167# endif
168# endif 168# endif
169# endif 169# endif
170 170
171# elif defined(IS31FL3733) 171# elif defined(IS31FL3733)
172 IS31FL3733_update_led_control_registers(DRIVER_ADDR_1, 0); 172 is31fl3733_update_led_control_registers(DRIVER_ADDR_1, 0);
173# if defined(DRIVER_ADDR_2) 173# if defined(DRIVER_ADDR_2)
174 IS31FL3733_update_led_control_registers(DRIVER_ADDR_2, 1); 174 is31fl3733_update_led_control_registers(DRIVER_ADDR_2, 1);
175# if defined(DRIVER_ADDR_3) 175# if defined(DRIVER_ADDR_3)
176 IS31FL3733_update_led_control_registers(DRIVER_ADDR_3, 2); 176 is31fl3733_update_led_control_registers(DRIVER_ADDR_3, 2);
177# if defined(DRIVER_ADDR_4) 177# if defined(DRIVER_ADDR_4)
178 IS31FL3733_update_led_control_registers(DRIVER_ADDR_4, 3); 178 is31fl3733_update_led_control_registers(DRIVER_ADDR_4, 3);
179# endif 179# endif
180# endif 180# endif
181# endif 181# endif
182 182
183# elif defined(IS31FL3736) 183# elif defined(IS31FL3736)
184 IS31FL3736_update_led_control_registers(DRIVER_ADDR_1, 0); 184 is31fl3736_update_led_control_registers(DRIVER_ADDR_1, 0);
185# if defined(DRIVER_ADDR_2) 185# if defined(DRIVER_ADDR_2)
186 IS31FL3736_update_led_control_registers(DRIVER_ADDR_2, 1); 186 is31fl3736_update_led_control_registers(DRIVER_ADDR_2, 1);
187# if defined(DRIVER_ADDR_3) 187# if defined(DRIVER_ADDR_3)
188 IS31FL3736_update_led_control_registers(DRIVER_ADDR_3, 2); 188 is31fl3736_update_led_control_registers(DRIVER_ADDR_3, 2);
189# if defined(DRIVER_ADDR_4) 189# if defined(DRIVER_ADDR_4)
190 IS31FL3736_update_led_control_registers(DRIVER_ADDR_4, 3); 190 is31fl3736_update_led_control_registers(DRIVER_ADDR_4, 3);
191# endif 191# endif
192# endif 192# endif
193# endif 193# endif
194 194
195# elif defined(IS31FL3737) 195# elif defined(IS31FL3737)
196 IS31FL3737_update_led_control_registers(DRIVER_ADDR_1, 0); 196 is31fl3737_update_led_control_registers(DRIVER_ADDR_1, 0);
197# if defined(DRIVER_ADDR_2) 197# if defined(DRIVER_ADDR_2)
198 IS31FL3737_update_led_control_registers(DRIVER_ADDR_2, 1); 198 is31fl3737_update_led_control_registers(DRIVER_ADDR_2, 1);
199# if defined(DRIVER_ADDR_3) 199# if defined(DRIVER_ADDR_3)
200 IS31FL3737_update_led_control_registers(DRIVER_ADDR_3, 2); 200 is31fl3737_update_led_control_registers(DRIVER_ADDR_3, 2);
201# if defined(DRIVER_ADDR_4) 201# if defined(DRIVER_ADDR_4)
202 IS31FL3737_update_led_control_registers(DRIVER_ADDR_4, 3); 202 is31fl3737_update_led_control_registers(DRIVER_ADDR_4, 3);
203# endif 203# endif
204# endif 204# endif
205# endif 205# endif
206 206
207# elif defined(IS31FL3741) 207# elif defined(IS31FL3741)
208 IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0); 208 is31fl3741_update_led_control_registers(DRIVER_ADDR_1, 0);
209# if defined(DRIVER_ADDR_2) 209# if defined(DRIVER_ADDR_2)
210 IS31FL3741_update_led_control_registers(DRIVER_ADDR_2, 1); 210 is31fl3741_update_led_control_registers(DRIVER_ADDR_2, 1);
211# if defined(DRIVER_ADDR_3) 211# if defined(DRIVER_ADDR_3)
212 IS31FL3741_update_led_control_registers(DRIVER_ADDR_3, 2); 212 is31fl3741_update_led_control_registers(DRIVER_ADDR_3, 2);
213# if defined(DRIVER_ADDR_4) 213# if defined(DRIVER_ADDR_4)
214 IS31FL3741_update_led_control_registers(DRIVER_ADDR_4, 3); 214 is31fl3741_update_led_control_registers(DRIVER_ADDR_4, 3);
215# endif 215# endif
216# endif 216# endif
217# endif 217# endif
@@ -232,13 +232,13 @@ static void init(void) {
232# endif 232# endif
233 233
234# elif defined(CKLED2001) 234# elif defined(CKLED2001)
235 CKLED2001_update_led_control_registers(DRIVER_ADDR_1, 0); 235 ckled2001_update_led_control_registers(DRIVER_ADDR_1, 0);
236# if defined(DRIVER_ADDR_2) 236# if defined(DRIVER_ADDR_2)
237 CKLED2001_update_led_control_registers(DRIVER_ADDR_2, 1); 237 ckled2001_update_led_control_registers(DRIVER_ADDR_2, 1);
238# if defined(DRIVER_ADDR_3) 238# if defined(DRIVER_ADDR_3)
239 CKLED2001_update_led_control_registers(DRIVER_ADDR_3, 2); 239 ckled2001_update_led_control_registers(DRIVER_ADDR_3, 2);
240# if defined(DRIVER_ADDR_4) 240# if defined(DRIVER_ADDR_4)
241 CKLED2001_update_led_control_registers(DRIVER_ADDR_4, 3); 241 ckled2001_update_led_control_registers(DRIVER_ADDR_4, 3);
242# endif 242# endif
243# endif 243# endif
244# endif 244# endif
@@ -247,13 +247,13 @@ static void init(void) {
247 247
248# if defined(IS31FL3731) 248# if defined(IS31FL3731)
249static void flush(void) { 249static void flush(void) {
250 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_1, 0); 250 is31fl3731_update_pwm_buffers(DRIVER_ADDR_1, 0);
251# if defined(DRIVER_ADDR_2) 251# if defined(DRIVER_ADDR_2)
252 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_2, 1); 252 is31fl3731_update_pwm_buffers(DRIVER_ADDR_2, 1);
253# if defined(DRIVER_ADDR_3) 253# if defined(DRIVER_ADDR_3)
254 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_3, 2); 254 is31fl3731_update_pwm_buffers(DRIVER_ADDR_3, 2);
255# if defined(DRIVER_ADDR_4) 255# if defined(DRIVER_ADDR_4)
256 IS31FL3731_update_pwm_buffers(DRIVER_ADDR_4, 3); 256 is31fl3731_update_pwm_buffers(DRIVER_ADDR_4, 3);
257# endif 257# endif
258# endif 258# endif
259# endif 259# endif
@@ -262,19 +262,19 @@ static void flush(void) {
262const rgb_matrix_driver_t rgb_matrix_driver = { 262const rgb_matrix_driver_t rgb_matrix_driver = {
263 .init = init, 263 .init = init,
264 .flush = flush, 264 .flush = flush,
265 .set_color = IS31FL3731_set_color, 265 .set_color = is31fl3731_set_color,
266 .set_color_all = IS31FL3731_set_color_all, 266 .set_color_all = is31fl3731_set_color_all,
267}; 267};
268 268
269# elif defined(IS31FL3733) 269# elif defined(IS31FL3733)
270static void flush(void) { 270static void flush(void) {
271 IS31FL3733_update_pwm_buffers(DRIVER_ADDR_1, 0); 271 is31fl3733_update_pwm_buffers(DRIVER_ADDR_1, 0);
272# if defined(DRIVER_ADDR_2) 272# if defined(DRIVER_ADDR_2)
273 IS31FL3733_update_pwm_buffers(DRIVER_ADDR_2, 1); 273 is31fl3733_update_pwm_buffers(DRIVER_ADDR_2, 1);
274# if defined(DRIVER_ADDR_3) 274# if defined(DRIVER_ADDR_3)
275 IS31FL3733_update_pwm_buffers(DRIVER_ADDR_3, 2); 275 is31fl3733_update_pwm_buffers(DRIVER_ADDR_3, 2);
276# if defined(DRIVER_ADDR_4) 276# if defined(DRIVER_ADDR_4)
277 IS31FL3733_update_pwm_buffers(DRIVER_ADDR_4, 3); 277 is31fl3733_update_pwm_buffers(DRIVER_ADDR_4, 3);
278# endif 278# endif
279# endif 279# endif
280# endif 280# endif
@@ -283,19 +283,19 @@ static void flush(void) {
283const rgb_matrix_driver_t rgb_matrix_driver = { 283const rgb_matrix_driver_t rgb_matrix_driver = {
284 .init = init, 284 .init = init,
285 .flush = flush, 285 .flush = flush,
286 .set_color = IS31FL3733_set_color, 286 .set_color = is31fl3733_set_color,
287 .set_color_all = IS31FL3733_set_color_all, 287 .set_color_all = is31fl3733_set_color_all,
288}; 288};
289 289
290# elif defined(IS31FL3736) 290# elif defined(IS31FL3736)
291static void flush(void) { 291static void flush(void) {
292 IS31FL3736_update_pwm_buffers(DRIVER_ADDR_1, 0); 292 is31fl3736_update_pwm_buffers(DRIVER_ADDR_1, 0);
293# if defined(DRIVER_ADDR_2) 293# if defined(DRIVER_ADDR_2)
294 IS31FL3736_update_pwm_buffers(DRIVER_ADDR_2, 1); 294 is31fl3736_update_pwm_buffers(DRIVER_ADDR_2, 1);
295# if defined(DRIVER_ADDR_3) 295# if defined(DRIVER_ADDR_3)
296 IS31FL3736_update_pwm_buffers(DRIVER_ADDR_3, 2); 296 is31fl3736_update_pwm_buffers(DRIVER_ADDR_3, 2);
297# if defined(DRIVER_ADDR_4) 297# if defined(DRIVER_ADDR_4)
298 IS31FL3736_update_pwm_buffers(DRIVER_ADDR_4, 3); 298 is31fl3736_update_pwm_buffers(DRIVER_ADDR_4, 3);
299# endif 299# endif
300# endif 300# endif
301# endif 301# endif
@@ -304,19 +304,19 @@ static void flush(void) {
304const rgb_matrix_driver_t rgb_matrix_driver = { 304const rgb_matrix_driver_t rgb_matrix_driver = {
305 .init = init, 305 .init = init,
306 .flush = flush, 306 .flush = flush,
307 .set_color = IS31FL3736_set_color, 307 .set_color = is31fl3736_set_color,
308 .set_color_all = IS31FL3736_set_color_all, 308 .set_color_all = is31fl3736_set_color_all,
309}; 309};
310 310
311# elif defined(IS31FL3737) 311# elif defined(IS31FL3737)
312static void flush(void) { 312static void flush(void) {
313 IS31FL3737_update_pwm_buffers(DRIVER_ADDR_1, 0); 313 is31fl3737_update_pwm_buffers(DRIVER_ADDR_1, 0);
314# if defined(DRIVER_ADDR_2) 314# if defined(DRIVER_ADDR_2)
315 IS31FL3737_update_pwm_buffers(DRIVER_ADDR_2, 1); 315 is31fl3737_update_pwm_buffers(DRIVER_ADDR_2, 1);
316# if defined(DRIVER_ADDR_3) 316# if defined(DRIVER_ADDR_3)
317 IS31FL3737_update_pwm_buffers(DRIVER_ADDR_3, 2); 317 is31fl3737_update_pwm_buffers(DRIVER_ADDR_3, 2);
318# if defined(DRIVER_ADDR_4) 318# if defined(DRIVER_ADDR_4)
319 IS31FL3737_update_pwm_buffers(DRIVER_ADDR_4, 3); 319 is31fl3737_update_pwm_buffers(DRIVER_ADDR_4, 3);
320# endif 320# endif
321# endif 321# endif
322# endif 322# endif
@@ -325,19 +325,19 @@ static void flush(void) {
325const rgb_matrix_driver_t rgb_matrix_driver = { 325const rgb_matrix_driver_t rgb_matrix_driver = {
326 .init = init, 326 .init = init,
327 .flush = flush, 327 .flush = flush,
328 .set_color = IS31FL3737_set_color, 328 .set_color = is31fl3737_set_color,
329 .set_color_all = IS31FL3737_set_color_all, 329 .set_color_all = is31fl3737_set_color_all,
330}; 330};
331 331
332# elif defined(IS31FL3741) 332# elif defined(IS31FL3741)
333static void flush(void) { 333static void flush(void) {
334 IS31FL3741_update_pwm_buffers(DRIVER_ADDR_1, 0); 334 is31fl3741_update_pwm_buffers(DRIVER_ADDR_1, 0);
335# if defined(DRIVER_ADDR_2) 335# if defined(DRIVER_ADDR_2)
336 IS31FL3741_update_pwm_buffers(DRIVER_ADDR_2, 1); 336 is31fl3741_update_pwm_buffers(DRIVER_ADDR_2, 1);
337# if defined(DRIVER_ADDR_3) 337# if defined(DRIVER_ADDR_3)
338 IS31FL3741_update_pwm_buffers(DRIVER_ADDR_3, 2); 338 is31fl3741_update_pwm_buffers(DRIVER_ADDR_3, 2);
339# if defined(DRIVER_ADDR_4) 339# if defined(DRIVER_ADDR_4)
340 IS31FL3741_update_pwm_buffers(DRIVER_ADDR_4, 3); 340 is31fl3741_update_pwm_buffers(DRIVER_ADDR_4, 3);
341# endif 341# endif
342# endif 342# endif
343# endif 343# endif
@@ -346,8 +346,8 @@ static void flush(void) {
346const rgb_matrix_driver_t rgb_matrix_driver = { 346const rgb_matrix_driver_t rgb_matrix_driver = {
347 .init = init, 347 .init = init,
348 .flush = flush, 348 .flush = flush,
349 .set_color = IS31FL3741_set_color, 349 .set_color = is31fl3741_set_color,
350 .set_color_all = IS31FL3741_set_color_all, 350 .set_color_all = is31fl3741_set_color_all,
351}; 351};
352 352
353# elif defined(IS31FLCOMMON) 353# elif defined(IS31FLCOMMON)
@@ -373,13 +373,13 @@ const rgb_matrix_driver_t rgb_matrix_driver = {
373 373
374# elif defined(CKLED2001) 374# elif defined(CKLED2001)
375static void flush(void) { 375static void flush(void) {
376 CKLED2001_update_pwm_buffers(DRIVER_ADDR_1, 0); 376 ckled2001_update_pwm_buffers(DRIVER_ADDR_1, 0);
377# if defined(DRIVER_ADDR_2) 377# if defined(DRIVER_ADDR_2)
378 CKLED2001_update_pwm_buffers(DRIVER_ADDR_2, 1); 378 ckled2001_update_pwm_buffers(DRIVER_ADDR_2, 1);
379# if defined(DRIVER_ADDR_3) 379# if defined(DRIVER_ADDR_3)
380 CKLED2001_update_pwm_buffers(DRIVER_ADDR_3, 2); 380 ckled2001_update_pwm_buffers(DRIVER_ADDR_3, 2);
381# if defined(DRIVER_ADDR_4) 381# if defined(DRIVER_ADDR_4)
382 CKLED2001_update_pwm_buffers(DRIVER_ADDR_4, 3); 382 ckled2001_update_pwm_buffers(DRIVER_ADDR_4, 3);
383# endif 383# endif
384# endif 384# endif
385# endif 385# endif
@@ -388,8 +388,8 @@ static void flush(void) {
388const rgb_matrix_driver_t rgb_matrix_driver = { 388const rgb_matrix_driver_t rgb_matrix_driver = {
389 .init = init, 389 .init = init,
390 .flush = flush, 390 .flush = flush,
391 .set_color = CKLED2001_set_color, 391 .set_color = ckled2001_set_color,
392 .set_color_all = CKLED2001_set_color_all, 392 .set_color_all = ckled2001_set_color_all,
393}; 393};
394# endif 394# endif
395 395
@@ -399,24 +399,24 @@ const rgb_matrix_driver_t rgb_matrix_driver = {
399static void init(void) { 399static void init(void) {
400 spi_init(); 400 spi_init();
401 401
402 AW20216_init(DRIVER_1_CS, DRIVER_1_EN); 402 aw20216_init(DRIVER_1_CS, DRIVER_1_EN);
403# if defined(DRIVER_2_CS) 403# if defined(DRIVER_2_CS)
404 AW20216_init(DRIVER_2_CS, DRIVER_2_EN); 404 aw20216_init(DRIVER_2_CS, DRIVER_2_EN);
405# endif 405# endif
406} 406}
407 407
408static void flush(void) { 408static void flush(void) {
409 AW20216_update_pwm_buffers(DRIVER_1_CS, 0); 409 aw20216_update_pwm_buffers(DRIVER_1_CS, 0);
410# if defined(DRIVER_2_CS) 410# if defined(DRIVER_2_CS)
411 AW20216_update_pwm_buffers(DRIVER_2_CS, 1); 411 aw20216_update_pwm_buffers(DRIVER_2_CS, 1);
412# endif 412# endif
413} 413}
414 414
415const rgb_matrix_driver_t rgb_matrix_driver = { 415const rgb_matrix_driver_t rgb_matrix_driver = {
416 .init = init, 416 .init = init,
417 .flush = flush, 417 .flush = flush,
418 .set_color = AW20216_set_color, 418 .set_color = aw20216_set_color,
419 .set_color_all = AW20216_set_color_all, 419 .set_color_all = aw20216_set_color_all,
420}; 420};
421 421
422#elif defined(WS2812) 422#elif defined(WS2812)