summary refs log tree commit diff
diff options
context:
space:
mode:
authorDrashna Jael're <drashna@live.com>2022-08-14 01:54:23 -0700
committerDrashna Jael're <drashna@live.com>2022-08-14 01:54:23 -0700
commitac31e429741a640b0d03d2ebd76554b7fe9247e0 (patch)
tree8d21aa6f2b7e0c3ee75b37e4f2edb1ae010db525
parente948fa6f6e184a3c9a317a7aa680e33e7629b0d4 (diff)
parent4195eb8fe1de39855b622ee282950c10fdbf0988 (diff)
Merge remote-tracking branch 'origin/master' into develop
-rw-r--r--keyboards/basekeys/slice/rev1/config.h7
-rw-r--r--keyboards/basekeys/slice/rev1/info.json8
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/config.h7
-rw-r--r--keyboards/basekeys/slice/rev1_rgb/info.json8
-rw-r--r--keyboards/bastardkb/charybdis/3x5/config.h2
-rw-r--r--keyboards/bastardkb/charybdis/3x5/info.json2
-rw-r--r--keyboards/bastardkb/charybdis/4x6/config.h2
-rw-r--r--keyboards/bastardkb/charybdis/4x6/info.json2
-rw-r--r--keyboards/bear_face/config.h6
-rw-r--r--keyboards/bear_face/info.json10
-rw-r--r--keyboards/bear_face/v1/config.h19
-rw-r--r--keyboards/bear_face/v1/info.json6
-rw-r--r--keyboards/bear_face/v2/config.h19
-rw-r--r--keyboards/bear_face/v2/info.json6
-rwxr-xr-xkeyboards/bemeier/bmek/config.h6
-rwxr-xr-xkeyboards/bemeier/bmek/info.json7
-rwxr-xr-xkeyboards/bemeier/bmek/rev1/config.h2
-rw-r--r--keyboards/bemeier/bmek/rev1/info.json5
-rwxr-xr-xkeyboards/bemeier/bmek/rev2/config.h2
-rw-r--r--keyboards/bemeier/bmek/rev2/info.json5
-rwxr-xr-xkeyboards/bemeier/bmek/rev3/config.h2
-rw-r--r--keyboards/bemeier/bmek/rev3/info.json5
-rw-r--r--keyboards/biacco42/ergo42/rev1/config.h7
-rw-r--r--keyboards/biacco42/ergo42/rev1/info.json (renamed from keyboards/biacco42/ergo42/info.json)6
-rw-r--r--keyboards/boardsource/microdox/config.h77
-rw-r--r--keyboards/boston_meetup/2019/config.h3
-rw-r--r--keyboards/boston_meetup/2019/info.json10
-rw-r--r--keyboards/boston_meetup/config.h6
-rw-r--r--keyboards/boston_meetup/info.json14
-rw-r--r--keyboards/bpiphany/frosty_flake/config.h7
-rw-r--r--keyboards/bpiphany/frosty_flake/info.json6
-rw-r--r--keyboards/bpiphany/pegasushoof/2013/config.h8
-rw-r--r--keyboards/bpiphany/pegasushoof/2013/info.json3
-rw-r--r--keyboards/bpiphany/pegasushoof/2015/config.h8
-rw-r--r--keyboards/bpiphany/pegasushoof/2015/info.json3
-rw-r--r--keyboards/bpiphany/pegasushoof/info.json7
-rw-r--r--keyboards/buzzard/rev1/config.h7
-rw-r--r--keyboards/buzzard/rev1/info.json (renamed from keyboards/buzzard/info.json)6
-rw-r--r--keyboards/canary/canary60rgb/info.json6
-rw-r--r--keyboards/canary/canary60rgb/v1/config.h7
-rw-r--r--keyboards/cannonkeys/db60/config.h6
-rw-r--r--keyboards/cannonkeys/db60/hotswap/config.h21
-rw-r--r--keyboards/cannonkeys/db60/hotswap/info.json6
-rw-r--r--keyboards/cannonkeys/db60/info.json6
-rw-r--r--keyboards/cannonkeys/db60/j02/config.h21
-rw-r--r--keyboards/cannonkeys/db60/j02/info.json6
-rw-r--r--keyboards/cannonkeys/db60/rev2/config.h21
-rw-r--r--keyboards/cannonkeys/db60/rev2/info.json6
-rw-r--r--keyboards/cannonkeys/satisfaction75/config.h7
-rw-r--r--keyboards/cannonkeys/satisfaction75/info.json11
-rw-r--r--keyboards/cannonkeys/satisfaction75/prototype/info.json3
-rw-r--r--keyboards/cannonkeys/satisfaction75/rev1/info.json3
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/base/info.json6
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/base/rules.mk0
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/info.json2
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h4
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json1
-rw-r--r--keyboards/capsunlocked/cu80/v2_ansi/rules.mk11
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/base/info.json6
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/base/rules.mk0
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/info.json2
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/rgb/config.h4
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/rgb/info.json1
-rw-r--r--keyboards/capsunlocked/cu80/v2_iso/rules.mk11
-rw-r--r--keyboards/chavdai40/info.json6
-rw-r--r--keyboards/chavdai40/rev1/config.h7
-rw-r--r--keyboards/chavdai40/rev1/info.json6
-rw-r--r--keyboards/chavdai40/rev2/config.h7
-rw-r--r--keyboards/chavdai40/rev2/info.json6
-rw-r--r--keyboards/chocofly/v1/config.h6
-rw-r--r--keyboards/chocofly/v1/info.json8
-rw-r--r--keyboards/clickety_split/leeloo/info.json6
-rw-r--r--keyboards/clickety_split/leeloo/rev1/config.h7
-rw-r--r--keyboards/converter/a1200/info.json1
-rw-r--r--keyboards/converter/a1200/miss1200/config.h7
-rw-r--r--keyboards/converter/a1200/miss1200/info.json9
-rw-r--r--keyboards/converter/a1200/mistress1200/config.h7
-rw-r--r--keyboards/converter/a1200/mistress1200/info.json9
-rw-r--r--keyboards/converter/a1200/teensy2pp/config.h7
-rw-r--r--keyboards/converter/a1200/teensy2pp/info.json9
-rw-r--r--keyboards/converter/adb_usb/config.h6
-rw-r--r--keyboards/converter/adb_usb/info.json6
-rw-r--r--keyboards/converter/hp_46010a/config.h6
-rw-r--r--keyboards/converter/hp_46010a/info.json8
-rw-r--r--keyboards/converter/ibm_terminal/config.h7
-rw-r--r--keyboards/converter/ibm_terminal/info.json8
-rw-r--r--keyboards/converter/m0110_usb/config.h6
-rw-r--r--keyboards/converter/m0110_usb/info.json8
-rw-r--r--keyboards/converter/modelm101/config.h7
-rw-r--r--keyboards/converter/modelm101/info.json8
-rw-r--r--keyboards/converter/modelm101_teensy2/config.h7
-rw-r--r--keyboards/converter/modelm101_teensy2/info.json8
-rw-r--r--keyboards/converter/modelm_ssk/config.h7
-rw-r--r--keyboards/converter/modelm_ssk/info.json6
-rw-r--r--keyboards/converter/numeric_keypad_IIe/config.h7
-rw-r--r--keyboards/converter/numeric_keypad_IIe/info.json6
-rw-r--r--keyboards/converter/palm_usb/config.h6
-rw-r--r--keyboards/converter/palm_usb/info.json11
-rw-r--r--keyboards/converter/palm_usb/stowaway/info.json3
-rw-r--r--keyboards/converter/periboard_512/config.h7
-rw-r--r--keyboards/converter/periboard_512/info.json8
-rw-r--r--keyboards/converter/siemens_tastatur/config.h8
-rw-r--r--keyboards/converter/siemens_tastatur/info.json6
-rw-r--r--keyboards/converter/sun_usb/config.h6
-rw-r--r--keyboards/converter/sun_usb/info.json11
-rw-r--r--keyboards/converter/sun_usb/type3/info.json3
-rw-r--r--keyboards/converter/sun_usb/type5/info.json3
-rw-r--r--keyboards/converter/usb_usb/ble/config.h3
-rw-r--r--keyboards/converter/usb_usb/config.h7
-rw-r--r--keyboards/converter/usb_usb/info.json8
-rw-r--r--keyboards/converter/xt_usb/config.h7
-rw-r--r--keyboards/converter/xt_usb/info.json8
-rw-r--r--keyboards/cozykeys/bloomer/config.h6
-rw-r--r--keyboards/cozykeys/bloomer/info.json10
-rw-r--r--keyboards/cozykeys/bloomer/v2/config.h3
-rw-r--r--keyboards/cozykeys/bloomer/v2/info.json6
-rw-r--r--keyboards/cozykeys/bloomer/v3/config.h3
-rw-r--r--keyboards/cozykeys/bloomer/v3/info.json6
-rw-r--r--keyboards/cozykeys/speedo/v2/config.h7
-rw-r--r--keyboards/cozykeys/speedo/v2/info.json6
-rw-r--r--keyboards/cozykeys/speedo/v3/config.h7
-rw-r--r--keyboards/cozykeys/speedo/v3/info.json6
-rw-r--r--keyboards/crkbd/config.h7
-rw-r--r--keyboards/crkbd/info.json8
-rw-r--r--keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c2
-rw-r--r--keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c2
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/chconf.h (renamed from keyboards/xelus/valor_frl_tkl/chconf.h)0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/config.h (renamed from keyboards/xelus/valor_frl_tkl/config.h)0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/halconf.h (renamed from keyboards/xelus/valor_frl_tkl/halconf.h)0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/mcuconf.h (renamed from keyboards/xelus/valor_frl_tkl/mcuconf.h)0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/readme.md (renamed from keyboards/xelus/valor_frl_tkl/readme.md)2
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/rev1.c24
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/rev1.h35
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev1/rules.mk (renamed from keyboards/xelus/valor_frl_tkl/rules.mk)0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/.noci0
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/config.h44
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h34
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/readme.md79
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk23
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/config.h44
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h34
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/readme.md14
-rw-r--r--keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk23
-rw-r--r--keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c5
-rw-r--r--keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h2
145 files changed, 789 insertions, 471 deletions
diff --git a/keyboards/basekeys/slice/rev1/config.h b/keyboards/basekeys/slice/rev1/config.h
index 08c929b7b5..6239da2c82 100644
--- a/keyboards/basekeys/slice/rev1/config.h
+++ b/keyboards/basekeys/slice/rev1/config.h
@@ -17,13 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x04D8
-#define PRODUCT_ID      0xEC17
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    2Moons
-#define PRODUCT         Slice
-
 /* key matrix size */
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 9
diff --git a/keyboards/basekeys/slice/rev1/info.json b/keyboards/basekeys/slice/rev1/info.json
index f4e0d4505e..614b8ecac7 100644
--- a/keyboards/basekeys/slice/rev1/info.json
+++ b/keyboards/basekeys/slice/rev1/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "slice", 
+    "keyboard_name": "Slice", 
+    "manufacturer": "2Moons",
     "url": "https://www.basekeys.com", 
     "maintainer": "2Moons", 
+    "usb": {
+        "vid": "0x04D8",
+        "pid": "0xEC17",
+        "device_version": "0.0.2"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.6600000000000001, "y":0}, {"label":"!", "x":2.66, "y":0}, {"label":"@", "x":3.66, "y":0}, {"label":"#", "x":4.66, "y":0}, {"label":"$", "x":5.66, "y":0}, {"label":"%", "x":6.66, "y":0}, {"label":"^", "x":7.66, "y":0}, {"label":"&", "x":9.32, "y":0}, {"label":"*", "x":10.32, "y":0}, {"label":"(", "x":11.32, "y":0}, {"label":")", "x":12.32, "y":0}, {"label":"_", "x":13.32, "y":0}, {"label":"+", "x":14.32, "y":0}, {"label":"Backspace", "x":15.32, "y":0, "w":2}, {"x":0, "y":1}, {"label":"Tab", "x":1.53, "y":1, "w":1.5}, {"label":"Q", "x":3.03, "y":1}, {"label":"W", "x":4.03, "y":1}, {"label":"E", "x":5.03, "y":1}, {"label":"R", "x":6.03, "y":1}, {"label":"T", "x":7.03, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15.05, "y":1}, {"label":"|", "x":16.1, "y":1, "w":1.5}, {"x":0, "y":2}, {"label":"Caps Lock", "x":1.3900000000000001, "y":2, "w":1.75}, {"label":"A", "x":3.14, "y":2}, {"label":"S", "x":4.14, "y":2}, {"label":"D", "x":5.14, "y":2}, {"label":"F", "x":6.14, "y":2}, {"label":"G", "x":7.14, "y":2}, {"label":"H", "x":9.34, "y":2}, {"label":"J", "x":10.34, "y":2}, {"label":"K", "x":11.34, "y":2}, {"label":"L", "x":12.34, "y":2}, {"label":":", "x":13.34, "y":2}, {"label":"\"", "x":14.34, "y":2}, {"label":"Enter", "x":15.34, "y":2, "w":2.25}, {"x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"B", "x":8.97, "y":3}, {"label":"N", "x":9.97, "y":3}, {"label":"M", "x":10.97, "y":3}, {"label":"<", "x":11.97, "y":3}, {"label":">", "x":12.97, "y":3}, {"label":"?", "x":13.97, "y":3}, {"label":"Shift", "x":14.97, "y":3, "w":1.75}, {"label":"Shift", "x":16.72, "y":3}, {"x":0, "y":4}, {"label":"Ctrl", "x":1.5, "y":4, "w":1.25}, {"label":"Alt", "x":2.75, "y":4, "w":1.25}, {"label":"\u21d3", "x":4.75, "y":4}, {"x":5.75, "y":4, "w":2.75}, {"x":8.97, "y":4, "w":2.25}, {"label":"\u21d1", "x":11.22, "y":4}, {"label":"Alt", "x":13.98, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.23, "y":4, "w":1.25}, {"label":"Fn", "x":16.48, "y":4}]
diff --git a/keyboards/basekeys/slice/rev1_rgb/config.h b/keyboards/basekeys/slice/rev1_rgb/config.h
index 9f503a5826..f839bfa5b3 100644
--- a/keyboards/basekeys/slice/rev1_rgb/config.h
+++ b/keyboards/basekeys/slice/rev1_rgb/config.h
@@ -16,13 +16,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x04D8
-#define PRODUCT_ID      0xEC15
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    2Moons
-#define PRODUCT         Slice RGB
-
 /* key matrix size */
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 9
diff --git a/keyboards/basekeys/slice/rev1_rgb/info.json b/keyboards/basekeys/slice/rev1_rgb/info.json
index 6344dc8aa0..ece3b72561 100644
--- a/keyboards/basekeys/slice/rev1_rgb/info.json
+++ b/keyboards/basekeys/slice/rev1_rgb/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "slice",
+    "keyboard_name": "Slice RGB",
+    "manufacturer": "2Moons",
     "url": "https://www.basekeys.com",
     "maintainer": "2Moons",
+    "usb": {
+        "vid": "0x04D8",
+        "pid": "0xEC15",
+        "device_version": "0.0.2"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"~", "x":1.660, "y":0}, {"label":"!", "x":2.66, "y":0}, {"label":"@", "x":3.66, "y":0}, {"label":"#", "x":4.66, "y":0}, {"label":"$", "x":5.66, "y":0}, {"label":"%", "x":6.66, "y":0}, {"label":"^", "x":7.66, "y":0}, {"label":"&", "x":9.32, "y":0}, {"label":"*", "x":10.32, "y":0}, {"label":"(", "x":11.32, "y":0}, {"label":")", "x":12.32, "y":0}, {"label":"_", "x":13.32, "y":0}, {"label":"+", "x":14.32, "y":0}, {"label":"Backspace", "x":15.32, "y":0, "w":2}, {"x":0, "y":1}, {"label":"Tab", "x":1.53, "y":1, "w":1.5}, {"label":"Q", "x":3.03, "y":1}, {"label":"W", "x":4.03, "y":1}, {"label":"E", "x":5.03, "y":1}, {"label":"R", "x":6.03, "y":1}, {"label":"T", "x":7.03, "y":1}, {"label":"Y", "x":9, "y":1}, {"label":"U", "x":10, "y":1}, {"label":"I", "x":11, "y":1}, {"label":"O", "x":12, "y":1}, {"label":"P", "x":13, "y":1}, {"label":"{", "x":14, "y":1}, {"label":"}", "x":15.05, "y":1}, {"label":"|", "x":16.1, "y":1, "w":1.5}, {"x":0, "y":2}, {"label":"Caps Lock", "x":1.390, "y":2, "w":1.75}, {"label":"A", "x":3.14, "y":2}, {"label":"S", "x":4.14, "y":2}, {"label":"D", "x":5.14, "y":2}, {"label":"F", "x":6.14, "y":2}, {"label":"G", "x":7.14, "y":2}, {"label":"H", "x":9.34, "y":2}, {"label":"J", "x":10.34, "y":2}, {"label":"K", "x":11.34, "y":2}, {"label":"L", "x":12.34, "y":2}, {"label":":", "x":13.34, "y":2}, {"label":"\"", "x":14.34, "y":2}, {"label":"Enter", "x":15.34, "y":2, "w":2.25}, {"x":0, "y":3}, {"label":"Shift", "x":1.25, "y":3, "w":2.25}, {"label":"Z", "x":3.5, "y":3}, {"label":"X", "x":4.5, "y":3}, {"label":"C", "x":5.5, "y":3}, {"label":"V", "x":6.5, "y":3}, {"label":"B", "x":7.5, "y":3}, {"label":"B", "x":8.97, "y":3}, {"label":"N", "x":9.97, "y":3}, {"label":"M", "x":10.97, "y":3}, {"label":"<", "x":11.97, "y":3}, {"label":">", "x":12.97, "y":3}, {"label":"?", "x":13.97, "y":3}, {"label":"Shift", "x":14.97, "y":3, "w":1.75}, {"label":"Shift", "x":16.72, "y":3}, {"x":0, "y":4}, {"label":"Ctrl", "x":1.5, "y":4, "w":1.25}, {"label":"Alt", "x":2.75, "y":4, "w":1.25}, {"label":"\u21d3", "x":4.75, "y":4}, {"x":5.75, "y":4, "w":2.75}, {"x":8.97, "y":4, "w":2.25}, {"label":"\u21d1", "x":11.22, "y":4}, {"label":"Alt", "x":13.98, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.23, "y":4, "w":1.25}, {"label":"Fn", "x":16.48, "y":4}]
diff --git a/keyboards/bastardkb/charybdis/3x5/config.h b/keyboards/bastardkb/charybdis/3x5/config.h
index 57634258be..6e3b8a7124 100644
--- a/keyboards/bastardkb/charybdis/3x5/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/config.h
@@ -18,8 +18,6 @@
 
 #pragma once
 
-#include "config_common.h"
-
 /* Key matrix configuration. */
 #define MATRIX_ROWS 8 // Rows are doubled-up.
 #define MATRIX_COLS 5
diff --git a/keyboards/bastardkb/charybdis/3x5/info.json b/keyboards/bastardkb/charybdis/3x5/info.json
index ece533944e..41c80b457f 100644
--- a/keyboards/bastardkb/charybdis/3x5/info.json
+++ b/keyboards/bastardkb/charybdis/3x5/info.json
@@ -1,6 +1,8 @@
 {
     "url": "https://bastardkb.com/charybdis-nano",
+    "manufacturer": "Bastard Keyboards",
     "usb": {
+        "vid": "0xA8F8",
         "pid": "0x1832",
     },
     "layouts": {
diff --git a/keyboards/bastardkb/charybdis/4x6/config.h b/keyboards/bastardkb/charybdis/4x6/config.h
index f0c1f48cdf..f557089073 100644
--- a/keyboards/bastardkb/charybdis/4x6/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/config.h
@@ -18,8 +18,6 @@
 
 #pragma once
 
-#include "config_common.h"
-
 /* Key matrix configuration. */
 #define MATRIX_ROWS 10 // Rows are doubled-up.
 #define MATRIX_COLS 6
diff --git a/keyboards/bastardkb/charybdis/4x6/info.json b/keyboards/bastardkb/charybdis/4x6/info.json
index 4bd0983709..c95bf07516 100644
--- a/keyboards/bastardkb/charybdis/4x6/info.json
+++ b/keyboards/bastardkb/charybdis/4x6/info.json
@@ -1,6 +1,8 @@
 {
     "url": "https://bastardkb.com/charybdis",
+    "manufacturer": "Bastard Keyboards",
     "usb": {
+        "vid": "0xA8F8",
         "pid": "0x1833",
     },
     "layouts": {
diff --git a/keyboards/bear_face/config.h b/keyboards/bear_face/config.h
index c11f27db10..589ea350c1 100644
--- a/keyboards/bear_face/config.h
+++ b/keyboards/bear_face/config.h
@@ -19,12 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x09f5
-#define MANUFACTURER    chemicalwill
-#define PRODUCT         bear_face
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 15
diff --git a/keyboards/bear_face/info.json b/keyboards/bear_face/info.json
new file mode 100644
index 0000000000..e2589d91af
--- /dev/null
+++ b/keyboards/bear_face/info.json
@@ -0,0 +1,10 @@
+{
+    "keyboard_name": "bear_face",
+    "manufacturer": "chemicalwill",
+    "url": "https://github.com/chemicalwill/bear_face_pcb",
+    "maintainer": "chemicalwill",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x09F5"
+    }
+}
diff --git a/keyboards/bear_face/v1/config.h b/keyboards/bear_face/v1/config.h
deleted file mode 100644
index cf1de932c1..0000000000
--- a/keyboards/bear_face/v1/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2020 chemicalwill <https://github.com/chemicalwill>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/* USB Device descriptor parameter */
-#define DEVICE_VER      0x0100
diff --git a/keyboards/bear_face/v1/info.json b/keyboards/bear_face/v1/info.json
index 0435c5c229..8d3f685e91 100644
--- a/keyboards/bear_face/v1/info.json
+++ b/keyboards/bear_face/v1/info.json
@@ -1,7 +1,7 @@
 {
-    "keyboard_name": "bear_face",
-    "url": "https://github.com/chemicalwill/bear_face_pcb",
-    "maintainer": "chemicalwill",
+    "usb": {
+        "device_version": "1.0.0"
+    },
     "layouts": {
         "LAYOUT_83_ansi": {
             "layout": [
diff --git a/keyboards/bear_face/v2/config.h b/keyboards/bear_face/v2/config.h
deleted file mode 100644
index 6a7c8c6fb0..0000000000
--- a/keyboards/bear_face/v2/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-Copyright 2020 chemicalwill <https://github.com/chemicalwill>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/* USB Device descriptor parameter */
-#define DEVICE_VER      0x0200
diff --git a/keyboards/bear_face/v2/info.json b/keyboards/bear_face/v2/info.json
index 6d12f04d42..978ee59e49 100644
--- a/keyboards/bear_face/v2/info.json
+++ b/keyboards/bear_face/v2/info.json
@@ -1,7 +1,7 @@
 {
-    "keyboard_name": "bear_face",
-    "url": "https://github.com/chemicalwill/bear_face_pcb",
-    "maintainer": "chemicalwill",
+    "usb": {
+        "device_version": "2.0.0"
+    },
     "layouts": {
         "LAYOUT_83_ansi": {
             "layout": [
diff --git a/keyboards/bemeier/bmek/config.h b/keyboards/bemeier/bmek/config.h
index 1bd996d07a..b7cab6d1fe 100755
--- a/keyboards/bemeier/bmek/config.h
+++ b/keyboards/bemeier/bmek/config.h
@@ -17,12 +17,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x626D // BeMeier
-#define PRODUCT_ID 0x656B // ErgonomicKeyboard
-#define MANUFACTURER Bemeier
-#define PRODUCT BMEK
-
 #define DYNAMIC_KEYMAP_LAYER_COUNT 5
 #define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20 
 
diff --git a/keyboards/bemeier/bmek/info.json b/keyboards/bemeier/bmek/info.json
index 80e06d91fb..f547a7c2bb 100755
--- a/keyboards/bemeier/bmek/info.json
+++ b/keyboards/bemeier/bmek/info.json
@@ -1,7 +1,12 @@
 {
-    "keyboard_name": "bmek", 
+    "keyboard_name": "BMEK", 
+    "manufacturer": "Bemeier",
     "url": "https://github.com/Bemeier/bmek", 
     "maintainer": "Bemeier", 
+    "usb": {
+        "vid": "0x626D",
+        "pid": "0x656B"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/bemeier/bmek/rev1/config.h b/keyboards/bemeier/bmek/rev1/config.h
index 37f4025c22..e80742d6f2 100755
--- a/keyboards/bemeier/bmek/rev1/config.h
+++ b/keyboards/bemeier/bmek/rev1/config.h
@@ -17,8 +17,6 @@
 
 #include "config_common.h"
 
-#define DEVICE_VER      0x0001
-
 #define MATRIX_ROW_PINS \
     { D4, D7, B6, B4, B7 }
 #define MATRIX_COL_PINS \
diff --git a/keyboards/bemeier/bmek/rev1/info.json b/keyboards/bemeier/bmek/rev1/info.json
new file mode 100644
index 0000000000..90ac25f360
--- /dev/null
+++ b/keyboards/bemeier/bmek/rev1/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/bemeier/bmek/rev2/config.h b/keyboards/bemeier/bmek/rev2/config.h
index a478cfa951..ba1633f3c5 100755
--- a/keyboards/bemeier/bmek/rev2/config.h
+++ b/keyboards/bemeier/bmek/rev2/config.h
@@ -17,8 +17,6 @@
 
 #include "config_common.h"
 
-#define DEVICE_VER      0x0002
-
 #define MATRIX_ROW_PINS \
     { F4, F5, D7, B5, B4 }
 #define MATRIX_COL_PINS \
diff --git a/keyboards/bemeier/bmek/rev2/info.json b/keyboards/bemeier/bmek/rev2/info.json
new file mode 100644
index 0000000000..e557e4d307
--- /dev/null
+++ b/keyboards/bemeier/bmek/rev2/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/bemeier/bmek/rev3/config.h b/keyboards/bemeier/bmek/rev3/config.h
index 6171efc8c2..d5af11782d 100755
--- a/keyboards/bemeier/bmek/rev3/config.h
+++ b/keyboards/bemeier/bmek/rev3/config.h
@@ -17,8 +17,6 @@
 
 #include "config_common.h"
 
-#define DEVICE_VER      0x0003
-
 #define MATRIX_ROW_PINS \
     { F1, B4, B5, D6, D7 }
 #define MATRIX_COL_PINS \
diff --git a/keyboards/bemeier/bmek/rev3/info.json b/keyboards/bemeier/bmek/rev3/info.json
new file mode 100644
index 0000000000..b377cdff00
--- /dev/null
+++ b/keyboards/bemeier/bmek/rev3/info.json
@@ -0,0 +1,5 @@
+{
+    "usb": {
+        "device_version": "0.0.3"
+    }
+}
diff --git a/keyboards/biacco42/ergo42/rev1/config.h b/keyboards/biacco42/ergo42/rev1/config.h
index c8bfe1170f..9d1b7387b3 100644
--- a/keyboards/biacco42/ergo42/rev1/config.h
+++ b/keyboards/biacco42/ergo42/rev1/config.h
@@ -21,13 +21,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xBC42
-#define PRODUCT_ID      0x0042
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    Biacco42
-#define PRODUCT         Ergo42
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 8
diff --git a/keyboards/biacco42/ergo42/info.json b/keyboards/biacco42/ergo42/rev1/info.json
index a4c4f7fd18..3c21ef1b46 100644
--- a/keyboards/biacco42/ergo42/info.json
+++ b/keyboards/biacco42/ergo42/rev1/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Ergo42",
+  "manufacturer": "Biacco42",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xBC42",
+    "pid": "0x0042",
+    "device_version": "1.0.0"
+  },
   "layouts": {
     "LAYOUT_ortho_4x14": {
       "layout": [{"label":"L00", "x":0, "y":0}, {"label":"L01", "x":1, "y":0}, {"label":"L02", "x":2, "y":0}, {"label":"L03", "x":3, "y":0}, {"label":"L04", "x":4, "y":0}, {"label":"L05", "x":5, "y":0}, {"label":"L06", "x":6, "y":0}, {"label":"R00", "x":8, "y":0}, {"label":"R01", "x":9, "y":0}, {"label":"R02", "x":10, "y":0}, {"label":"R03", "x":11, "y":0}, {"label":"R04", "x":12, "y":0}, {"label":"R05", "x":13, "y":0}, {"label":"R06", "x":14, "y":0}, {"label":"L10", "x":0, "y":1}, {"label":"L11", "x":1, "y":1}, {"label":"L12", "x":2, "y":1}, {"label":"L13", "x":3, "y":1}, {"label":"L14", "x":4, "y":1}, {"label":"L15", "x":5, "y":1}, {"label":"L16", "x":6, "y":1}, {"label":"R10", "x":8, "y":1}, {"label":"R11", "x":9, "y":1}, {"label":"R12", "x":10, "y":1}, {"label":"R13", "x":11, "y":1}, {"label":"R14", "x":12, "y":1}, {"label":"R15", "x":13, "y":1}, {"label":"R16", "x":14, "y":1}, {"label":"L20", "x":0, "y":2}, {"label":"L21", "x":1, "y":2}, {"label":"L22", "x":2, "y":2}, {"label":"L23", "x":3, "y":2}, {"label":"L24", "x":4, "y":2}, {"label":"L25", "x":5, "y":2}, {"label":"L26", "x":6, "y":2}, {"label":"R20", "x":8, "y":2}, {"label":"R21", "x":9, "y":2}, {"label":"R22", "x":10, "y":2}, {"label":"R23", "x":11, "y":2}, {"label":"R24", "x":12, "y":2}, {"label":"R25", "x":13, "y":2}, {"label":"R26", "x":14, "y":2}, {"label":"L30", "x":0, "y":3}, {"label":"L31", "x":1, "y":3}, {"label":"L32", "x":2, "y":3}, {"label":"L33", "x":3, "y":3}, {"label":"L34", "x":4, "y":3}, {"label":"L35", "x":5, "y":3}, {"label":"L36", "x":6, "y":3}, {"label":"R30", "x":8, "y":3}, {"label":"R31", "x":9, "y":3}, {"label":"R32", "x":10, "y":3}, {"label":"R33", "x":11, "y":3}, {"label":"R34", "x":12, "y":3}, {"label":"R35", "x":13, "y":3}, {"label":"R36", "x":14, "y":3}]
diff --git a/keyboards/boardsource/microdox/config.h b/keyboards/boardsource/microdox/config.h
new file mode 100644
index 0000000000..517e0e7376
--- /dev/null
+++ b/keyboards/boardsource/microdox/config.h
@@ -0,0 +1,77 @@
+/*
+Copyright 2020 Cole Smith <cole@boadsource.xyz>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 5
+#define MATRIX_ROW_PINS \
+    { B2, B6, B4, B5 }
+
+// wiring of each half
+#define MATRIX_COL_PINS \
+    { F4, F5, F6, F7, B1 }
+#define USE_SERIAL
+#define SOFT_SERIAL_PIN D2
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+// #define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+//#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+//#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+#ifdef RGBLIGHT_ENABLE
+#    define RGBLED_NUM 12 // Number of LEDs
+#    define RGBLED_SPLIT \
+        { 6, 6 }
+#    define RGBLIGHT_EFFECT_BREATHING
+#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
+
+#endif
+
+/*
+ * Feature disable options
+ *  These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+// #define NO_DEBUG
+
+/* disable print */
+// #define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h
index 99ce9e85db..7429845958 100644
--- a/keyboards/boston_meetup/2019/config.h
+++ b/keyboards/boston_meetup/2019/config.h
@@ -1,8 +1,5 @@
 #pragma once
 
-/* USB Device descriptor parameter */
-#define DEVICE_VER 0x2019
-
 #undef MATRIX_ROWS
 #undef MATRIX_COLS
 /* key matrix size */
diff --git a/keyboards/boston_meetup/2019/info.json b/keyboards/boston_meetup/2019/info.json
index 53beef5a84..5f8f8c95f7 100644
--- a/keyboards/boston_meetup/2019/info.json
+++ b/keyboards/boston_meetup/2019/info.json
@@ -1,9 +1,5 @@
 {
-  "keyboard_name": "Boston Meetup 2019", 
-  "url": "", 
-  "maintainer": "qmk", 
-  "layouts": {
-    "LAYOUT": {
- "layout": [{"label":"K00", "x":0, "y":0}, {"label":"K10", "x":0, "y":1}, {"label":"K11", "x":1, "y":1}, {"label":"K12", "x":2, "y":1}, {"label":"K13", "x":3, "y":1}, {"label":"K20", "x":0, "y":2}, {"label":"K21", "x":1, "y":2}, {"label":"K22", "x":2, "y":2}, {"label":"K23", "x":3, "y":2}, {"label":"K30", "x":0, "y":3}, {"label":"K31", "x":1, "y":3}, {"label":"K32", "x":2, "y":3}, {"label":"K33", "x":3, "y":3}]    }
-  }
+    "usb": {
+        "device_version": "20.1.9"
+    }
 }
diff --git a/keyboards/boston_meetup/config.h b/keyboards/boston_meetup/config.h
index 60e490435f..8e9919c23a 100644
--- a/keyboards/boston_meetup/config.h
+++ b/keyboards/boston_meetup/config.h
@@ -19,12 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFB30
-#define PRODUCT_ID      0x26BE
-#define MANUFACTURER    ishtob
-#define PRODUCT         Boston Meetup Board
-
 //#define AUDIO_VOICES
 
 //#define BACKLIGHT_PIN B7
diff --git a/keyboards/boston_meetup/info.json b/keyboards/boston_meetup/info.json
new file mode 100644
index 0000000000..2c25d4ff06
--- /dev/null
+++ b/keyboards/boston_meetup/info.json
@@ -0,0 +1,14 @@
+{
+  "keyboard_name": "Boston Meetup Board", 
+  "manufacturer": "ishtob",
+  "url": "", 
+  "maintainer": "qmk", 
+  "usb": {
+    "vid": "0xFB30",
+    "pid": "0x26BE"
+  },
+  "layouts": {
+    "LAYOUT": {
+ "layout": [{"label":"K00", "x":0, "y":0}, {"label":"K10", "x":0, "y":1}, {"label":"K11", "x":1, "y":1}, {"label":"K12", "x":2, "y":1}, {"label":"K13", "x":3, "y":1}, {"label":"K20", "x":0, "y":2}, {"label":"K21", "x":1, "y":2}, {"label":"K22", "x":2, "y":2}, {"label":"K23", "x":3, "y":2}, {"label":"K30", "x":0, "y":3}, {"label":"K31", "x":1, "y":3}, {"label":"K32", "x":2, "y":3}, {"label":"K33", "x":3, "y":3}]    }
+  }
+}
diff --git a/keyboards/bpiphany/frosty_flake/config.h b/keyboards/bpiphany/frosty_flake/config.h
index a0f088802a..039152ac49 100644
--- a/keyboards/bpiphany/frosty_flake/config.h
+++ b/keyboards/bpiphany/frosty_flake/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Bathroom Epiphanies
-#define PRODUCT         frosty_flake
-
 /*
  * Frosty Flake Rev. 20140521 made by Bathroom Ephiphanies
  * Ported from the Bathroom Epiphanies TMK Firmware:
diff --git a/keyboards/bpiphany/frosty_flake/info.json b/keyboards/bpiphany/frosty_flake/info.json
index 9d5d6aace0..266c45c394 100644
--- a/keyboards/bpiphany/frosty_flake/info.json
+++ b/keyboards/bpiphany/frosty_flake/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Frosty Flake",
+  "manufacturer": "Bathroom Epiphanies",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x6060",
+    "device_version": "0.0.1"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/bpiphany/pegasushoof/2013/config.h b/keyboards/bpiphany/pegasushoof/2013/config.h
index 2573cecfca..33762f020d 100644
--- a/keyboards/bpiphany/pegasushoof/2013/config.h
+++ b/keyboards/bpiphany/pegasushoof/2013/config.h
@@ -17,14 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6050
-#define DEVICE_VER      0x0104
-#define MANUFACTURER    Filco
-#define PRODUCT         Majestouch TKL \\w The Pegasus Hoof 2013
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 18
diff --git a/keyboards/bpiphany/pegasushoof/2013/info.json b/keyboards/bpiphany/pegasushoof/2013/info.json
new file mode 100644
index 0000000000..c96b6ba06c
--- /dev/null
+++ b/keyboards/bpiphany/pegasushoof/2013/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Majestouch TKL \\\\w The Pegasus Hoof 2013"
+}
diff --git a/keyboards/bpiphany/pegasushoof/2015/config.h b/keyboards/bpiphany/pegasushoof/2015/config.h
index 479175c477..d1d52d3098 100644
--- a/keyboards/bpiphany/pegasushoof/2015/config.h
+++ b/keyboards/bpiphany/pegasushoof/2015/config.h
@@ -17,14 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6050
-#define DEVICE_VER      0x0104
-#define MANUFACTURER    Filco
-#define PRODUCT         Majestouch TKL \\w The Pegasus Hoof 2015
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 18
diff --git a/keyboards/bpiphany/pegasushoof/2015/info.json b/keyboards/bpiphany/pegasushoof/2015/info.json
new file mode 100644
index 0000000000..8af38d9501
--- /dev/null
+++ b/keyboards/bpiphany/pegasushoof/2015/info.json
@@ -0,0 +1,3 @@
+{
+    "keyboard_name": "Majestouch TKL \\\\w The Pegasus Hoof 2015"
+}
diff --git a/keyboards/bpiphany/pegasushoof/info.json b/keyboards/bpiphany/pegasushoof/info.json
index fb4d2479a5..2869e9f763 100644
--- a/keyboards/bpiphany/pegasushoof/info.json
+++ b/keyboards/bpiphany/pegasushoof/info.json
@@ -1,7 +1,12 @@
 {
-  "keyboard_name": "Pegasus Hoof",
+  "manufacturer": "Filco",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x6050",
+    "device_version": "1.0.4"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/buzzard/rev1/config.h b/keyboards/buzzard/rev1/config.h
index 7e4628c6ec..66c1a9a42e 100644
--- a/keyboards/buzzard/rev1/config.h
+++ b/keyboards/buzzard/rev1/config.h
@@ -3,13 +3,6 @@
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0xFEED 
-#define PRODUCT_ID   0xB077
-#define DEVICE_VER   0x0001
-#define MANUFACTURER crehmann
-#define PRODUCT      Buzzard
-
 /* key matrix size */
 /* Rows are doubled up */
 #define MATRIX_ROWS  8
diff --git a/keyboards/buzzard/info.json b/keyboards/buzzard/rev1/info.json
index a958ffdc94..6ee2226758 100644
--- a/keyboards/buzzard/info.json
+++ b/keyboards/buzzard/rev1/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Buzzard",
+    "manufacturer": "crehmann",
     "url": "https://github.com/crehmann/buzzard",
     "maintainer": "crehmann",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0xB077",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":16, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":15, "y":2}, {"x":16, "y":2}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}]
diff --git a/keyboards/canary/canary60rgb/info.json b/keyboards/canary/canary60rgb/info.json
index e8cc4c0fe5..4dd97319b3 100644
--- a/keyboards/canary/canary60rgb/info.json
+++ b/keyboards/canary/canary60rgb/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "CANARY60RGB",
+    "manufacturer": "CANARY",
     "url": "",
     "maintainer": "tuananhnguyen204",
+    "usb": {
+        "vid": "0x4341",
+        "pid": "0x0621",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/canary/canary60rgb/v1/config.h b/keyboards/canary/canary60rgb/v1/config.h
index 3d2dd81d88..8d3150a5d9 100644
--- a/keyboards/canary/canary60rgb/v1/config.h
+++ b/keyboards/canary/canary60rgb/v1/config.h
@@ -15,13 +15,6 @@
  */
  #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4341
-#define PRODUCT_ID      0x0621
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    CANARY
-#define PRODUCT         CANARY60RGB
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/cannonkeys/db60/config.h b/keyboards/cannonkeys/db60/config.h
index 6dd0d0d7f8..873ec24697 100644
--- a/keyboards/cannonkeys/db60/config.h
+++ b/keyboards/cannonkeys/db60/config.h
@@ -17,12 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xCA04
-#define DEVICE_VER      0x0001
-
-#define MANUFACTURER CannonKeys
-
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
 
diff --git a/keyboards/cannonkeys/db60/hotswap/config.h b/keyboards/cannonkeys/db60/hotswap/config.h
deleted file mode 100644
index 3ea9693404..0000000000
--- a/keyboards/cannonkeys/db60/hotswap/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Andrew Kannan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define PRODUCT_ID      0xDB62
-#define PRODUCT DB60 Hotswap
diff --git a/keyboards/cannonkeys/db60/hotswap/info.json b/keyboards/cannonkeys/db60/hotswap/info.json
new file mode 100644
index 0000000000..e0ced428b2
--- /dev/null
+++ b/keyboards/cannonkeys/db60/hotswap/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "DB60 Hotswap",
+    "usb": {
+        "pid": "0xDB62"
+    }
+}
diff --git a/keyboards/cannonkeys/db60/info.json b/keyboards/cannonkeys/db60/info.json
index 9c6461d9e2..bba9427caf 100644
--- a/keyboards/cannonkeys/db60/info.json
+++ b/keyboards/cannonkeys/db60/info.json
@@ -1,7 +1,11 @@
 {
-    "keyboard_name": "DB60",
+    "manufacturer": "CannonKeys",
     "url": "https://cannonkeys.com",
     "maintainer": "awkannan",
+    "usb": {
+        "vid": "0xCA04",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_60_ansi": {
             "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}]
diff --git a/keyboards/cannonkeys/db60/j02/config.h b/keyboards/cannonkeys/db60/j02/config.h
deleted file mode 100644
index 392cec3a55..0000000000
--- a/keyboards/cannonkeys/db60/j02/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Andrew Kannan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define PRODUCT_ID 0xDB60
-#define PRODUCT DB60
diff --git a/keyboards/cannonkeys/db60/j02/info.json b/keyboards/cannonkeys/db60/j02/info.json
new file mode 100644
index 0000000000..9f5c817112
--- /dev/null
+++ b/keyboards/cannonkeys/db60/j02/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "DB60",
+    "usb": {
+        "pid": "0xDB60"
+    }
+}
diff --git a/keyboards/cannonkeys/db60/rev2/config.h b/keyboards/cannonkeys/db60/rev2/config.h
deleted file mode 100644
index df3527b705..0000000000
--- a/keyboards/cannonkeys/db60/rev2/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Andrew Kannan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define PRODUCT_ID      0xDB61
-#define PRODUCT DB60v2
diff --git a/keyboards/cannonkeys/db60/rev2/info.json b/keyboards/cannonkeys/db60/rev2/info.json
new file mode 100644
index 0000000000..f5f3c8530d
--- /dev/null
+++ b/keyboards/cannonkeys/db60/rev2/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "DB60v2",
+    "usb": {
+        "pid": "0xDB61"
+    }
+}
diff --git a/keyboards/cannonkeys/satisfaction75/config.h b/keyboards/cannonkeys/satisfaction75/config.h
index 2a0ac91b2d..ef4123770d 100644
--- a/keyboards/cannonkeys/satisfaction75/config.h
+++ b/keyboards/cannonkeys/satisfaction75/config.h
@@ -23,13 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* LSE clock */
 #define STM32_LSECLK 32768
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xCA04
-#define PRODUCT_ID      0x57F5
-#define DEVICE_VER      0x0001
-#define MANUFACTURER CannonKeys
-#define PRODUCT Satisfaction75
-
 /* key matrix size */
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 16
diff --git a/keyboards/cannonkeys/satisfaction75/info.json b/keyboards/cannonkeys/satisfaction75/info.json
new file mode 100644
index 0000000000..692715124d
--- /dev/null
+++ b/keyboards/cannonkeys/satisfaction75/info.json
@@ -0,0 +1,11 @@
+{
+    "keyboard_name": "Satisfaction75",
+    "manufacturer": "CannonKeys",
+    "url": "",
+    "maintainer": "Cannon Keys",
+    "usb": {
+        "vid": "0xCA04",
+        "pid": "0x57F5",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/cannonkeys/satisfaction75/prototype/info.json b/keyboards/cannonkeys/satisfaction75/prototype/info.json
index 29e727835a..9fad4142aa 100644
--- a/keyboards/cannonkeys/satisfaction75/prototype/info.json
+++ b/keyboards/cannonkeys/satisfaction75/prototype/info.json
@@ -1,7 +1,4 @@
 {
-    "keyboard_name": "Satisfaction75 prototype", 
-    "url": "", 
-    "maintainer": "Cannon Keys", 
     "layouts": {
         "LAYOUT_default": {
             "layout": [{"x":0, "y":0}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.75, "y":0}, {"x":6.75, "y":0}, {"x":7.75, "y":0}, {"x":8.75, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15.5, "y":1}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.5, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":15.5, "y":3.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":1.75}, {"x":14.25, "y":4.5}, {"x":15.5, "y":4.25}, {"x":0, "y":5.25, "w":1.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25}, {"x":11, "y":5.25}, {"x":12, "y":5.25}, {"x":13.25, "y":5.5}, {"x":14.25, "y":5.5}, {"x":15.25, "y":5.5}]
diff --git a/keyboards/cannonkeys/satisfaction75/rev1/info.json b/keyboards/cannonkeys/satisfaction75/rev1/info.json
index b0e1716602..15986435c5 100644
--- a/keyboards/cannonkeys/satisfaction75/rev1/info.json
+++ b/keyboards/cannonkeys/satisfaction75/rev1/info.json
@@ -1,7 +1,4 @@
 {
-    "keyboard_name": "Satisfaction75 rev1", 
-    "url": "", 
-    "maintainer": "Cannon Keys", 
     "layouts": {
         "LAYOUT_default": {
             "layout": [{"x":0, "y":0}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.75, "y":0}, {"x":6.75, "y":0}, {"x":7.75, "y":0}, {"x":8.75, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":4, "y":1.25}, {"x":5, "y":1.25}, {"x":6, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.25}, {"x":9, "y":1.25}, {"x":10, "y":1.25}, {"x":11, "y":1.25}, {"x":12, "y":1.25}, {"x":13, "y":1.25, "w":2}, {"x":15.5, "y":1}, {"x":0, "y":2.25, "w":1.5}, {"x":1.5, "y":2.25}, {"x":2.5, "y":2.25}, {"x":3.5, "y":2.25}, {"x":4.5, "y":2.25}, {"x":5.5, "y":2.25}, {"x":6.5, "y":2.25}, {"x":7.5, "y":2.25}, {"x":8.5, "y":2.25}, {"x":9.5, "y":2.25}, {"x":10.5, "y":2.25}, {"x":11.5, "y":2.25}, {"x":12.5, "y":2.25}, {"x":13.5, "y":2.25, "w":1.5}, {"x":15.5, "y":2.25}, {"x":0, "y":3.25, "w":1.75}, {"x":1.75, "y":3.25}, {"x":2.75, "y":3.25}, {"x":3.75, "y":3.25}, {"x":4.75, "y":3.25}, {"x":5.75, "y":3.25}, {"x":6.75, "y":3.25}, {"x":7.75, "y":3.25}, {"x":8.75, "y":3.25}, {"x":9.75, "y":3.25}, {"x":10.75, "y":3.25}, {"x":11.75, "y":3.25}, {"x":12.75, "y":3.25, "w":2.25}, {"x":15.5, "y":3.25}, {"x":0, "y":4.25, "w":2.25}, {"x":2.25, "y":4.25}, {"x":3.25, "y":4.25}, {"x":4.25, "y":4.25}, {"x":5.25, "y":4.25}, {"x":6.25, "y":4.25}, {"x":7.25, "y":4.25}, {"x":8.25, "y":4.25}, {"x":9.25, "y":4.25}, {"x":10.25, "y":4.25}, {"x":11.25, "y":4.25}, {"x":12.25, "y":4.25, "w":1.75}, {"x":14.25, "y":4.5}, {"x":15.5, "y":4.25}, {"x":0, "y":5.25, "w":1.25}, {"x":1.25, "y":5.25, "w":1.25}, {"x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"x":10, "y":5.25}, {"x":11, "y":5.25}, {"x":12, "y":5.25}, {"x":13.25, "y":5.5}, {"x":14.25, "y":5.5}, {"x":15.25, "y":5.5}]
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/base/info.json b/keyboards/capsunlocked/cu80/v2_ansi/base/info.json
new file mode 100644
index 0000000000..9dc24b5e40
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi/base/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "CU80 v2 ANSI",
+    "usb": {
+        "pid": "0x0081"
+    }
+}
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/base/rules.mk b/keyboards/capsunlocked/cu80/v2_ansi/base/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_ansi/base/rules.mk
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/info.json b/keyboards/capsunlocked/cu80/v2_ansi/info.json
index 7615d9f029..96234185f6 100644
--- a/keyboards/capsunlocked/cu80/v2_ansi/info.json
+++ b/keyboards/capsunlocked/cu80/v2_ansi/info.json
@@ -1,6 +1,5 @@
 {
   "manufacturer": "CapsUnlocked",
-  "keyboard_name": "CapsUnlocked CU80 v2 ANSI",
   "maintainer": "rys / maz0r",
   "bootloader": "atmel-dfu",
   "debounce": 5,
@@ -38,7 +37,6 @@
   "url": "https://caps-unlocked.com/cu80-round-2/",
   "usb": {
     "device_version": "0.0.1",
-    "pid": "0x0081",
     "vid": "0x4355"
   },
   "community_layouts": ["tkl_ansi"],
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h b/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h
index 00a05ad7da..5789266397 100644
--- a/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h
+++ b/keyboards/capsunlocked/cu80/v2_ansi/rgb/config.h
@@ -19,10 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* enable RGB matrix */
 #define CU80_RGB
 
-/* update the product for RGB Matrix variant in VIA/VIAL and Remap-keys.app */
-#undef PRODUCT
-#define PRODUCT         CU80 v2 ANSI RGB
-
 /* moved to RGB specific */
 #define RGB_MATRIX_KEYPRESSES
 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json b/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json
index f97e203645..52676aa041 100644
--- a/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json
+++ b/keyboards/capsunlocked/cu80/v2_ansi/rgb/info.json
@@ -1,4 +1,5 @@
 {
+  "keyboard_name": "CU80 v2 ANSI RGB",
   "features": {
     "rgblight": false
   },
diff --git a/keyboards/capsunlocked/cu80/v2_ansi/rules.mk b/keyboards/capsunlocked/cu80/v2_ansi/rules.mk
index 7c5554a087..e96dd72928 100644
--- a/keyboards/capsunlocked/cu80/v2_ansi/rules.mk
+++ b/keyboards/capsunlocked/cu80/v2_ansi/rules.mk
@@ -1,10 +1,3 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-#   change yes to no to disable
-#
 NO_USB_STARTUP_CHECK = yes  # resolve possible sleep issue
+
+DEFAULT_FOLDER = capsunlocked/cu80/v2_ansi/base
diff --git a/keyboards/capsunlocked/cu80/v2_iso/base/info.json b/keyboards/capsunlocked/cu80/v2_iso/base/info.json
new file mode 100644
index 0000000000..636e6e2276
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_iso/base/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "CU80 v2 ISO",
+    "usb": {
+        "pid": "0x0080"
+    }
+}
diff --git a/keyboards/capsunlocked/cu80/v2_iso/base/rules.mk b/keyboards/capsunlocked/cu80/v2_iso/base/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/capsunlocked/cu80/v2_iso/base/rules.mk
diff --git a/keyboards/capsunlocked/cu80/v2_iso/info.json b/keyboards/capsunlocked/cu80/v2_iso/info.json
index 43f074f170..61e033c59f 100644
--- a/keyboards/capsunlocked/cu80/v2_iso/info.json
+++ b/keyboards/capsunlocked/cu80/v2_iso/info.json
@@ -1,6 +1,5 @@
 {
   "manufacturer": "CapsUnlocked",
-  "keyboard_name": "CapsUnlocked CU80 v2 ISO",
   "maintainer": "rys / maz0r",
   "bootloader": "atmel-dfu",
   "debounce": 5,
@@ -38,7 +37,6 @@
   "url": "https://caps-unlocked.com/cu80-round-2/",
   "usb": {
     "device_version": "0.0.1",
-    "pid": "0x0080",
     "vid": "0x4355"
   },
   "community_layouts": ["tkl_iso"],
diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h b/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h
index dbe9143b8b..41dbede767 100644
--- a/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h
+++ b/keyboards/capsunlocked/cu80/v2_iso/rgb/config.h
@@ -18,10 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* enable RGB matrix */
 #define CU80_RGB
 
-/* update the product for RGB Matrix variant in VIA/VIAL and Remap-keys.app */
-#undef PRODUCT
-#define PRODUCT         CU80 v2 ISO RGB
-
 /* moved to RGB specific */
 #define RGB_MATRIX_KEYPRESSES
 #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
diff --git a/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json b/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json
index 36748237c5..e04971c21a 100644
--- a/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json
+++ b/keyboards/capsunlocked/cu80/v2_iso/rgb/info.json
@@ -1,4 +1,5 @@
 {
+  "keyboard_name": "CU80 v2 ISO RGB",
   "features": {
     "rgblight": false
   },
diff --git a/keyboards/capsunlocked/cu80/v2_iso/rules.mk b/keyboards/capsunlocked/cu80/v2_iso/rules.mk
index 7c5554a087..c0feb35307 100644
--- a/keyboards/capsunlocked/cu80/v2_iso/rules.mk
+++ b/keyboards/capsunlocked/cu80/v2_iso/rules.mk
@@ -1,10 +1,3 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = atmel-dfu
-
-# Build Options
-#   change yes to no to disable
-#
 NO_USB_STARTUP_CHECK = yes  # resolve possible sleep issue
+
+DEFAULT_FOLDER = capsunlocked/cu80/v2_iso/base
diff --git a/keyboards/chavdai40/info.json b/keyboards/chavdai40/info.json
index 9c95d21239..36b8511bf1 100644
--- a/keyboards/chavdai40/info.json
+++ b/keyboards/chavdai40/info.json
@@ -1,7 +1,11 @@
 {
-    "keyboard_name": "chavdai40", 
+    "manufacturer": "t-miyajima",
     "url": "https://github.com/dvorak55/chavdai40", 
     "maintainer": "t-miyajima", 
+    "usb": {
+        "vid": "0x16D0",
+        "pid": "0x0F95"
+    },
     "layouts": {
         "LAYOUT_44key": {
             "layout": [
diff --git a/keyboards/chavdai40/rev1/config.h b/keyboards/chavdai40/rev1/config.h
index 47ec1ca1ff..c03bab0b57 100644
--- a/keyboards/chavdai40/rev1/config.h
+++ b/keyboards/chavdai40/rev1/config.h
@@ -21,13 +21,6 @@
 
 #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x16D0
-#define PRODUCT_ID      0x0F95
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    t-miyajima
-#define PRODUCT         Chavdai40
-
 /* usb power settings */
 #define USB_MAX_POWER_CONSUMPTION 100
 
diff --git a/keyboards/chavdai40/rev1/info.json b/keyboards/chavdai40/rev1/info.json
new file mode 100644
index 0000000000..c69c0e3460
--- /dev/null
+++ b/keyboards/chavdai40/rev1/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Chavdai40",
+    "usb": {
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/chavdai40/rev2/config.h b/keyboards/chavdai40/rev2/config.h
index 5f277415fa..1d72c5dc79 100644
--- a/keyboards/chavdai40/rev2/config.h
+++ b/keyboards/chavdai40/rev2/config.h
@@ -21,13 +21,6 @@
 
 #define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x16D0
-#define PRODUCT_ID      0x0F95
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    t-miyajima
-#define PRODUCT         Chavdai40 rev2
-
 /* usb power settings */
 #define USB_MAX_POWER_CONSUMPTION 100
 
diff --git a/keyboards/chavdai40/rev2/info.json b/keyboards/chavdai40/rev2/info.json
new file mode 100644
index 0000000000..458bcacf38
--- /dev/null
+++ b/keyboards/chavdai40/rev2/info.json
@@ -0,0 +1,6 @@
+{
+    "keyboard_name": "Chavdai40 rev2",
+    "usb": {
+        "device_version": "0.0.2"
+    }
+}
diff --git a/keyboards/chocofly/v1/config.h b/keyboards/chocofly/v1/config.h
index e5bedf80c6..053ca61362 100644
--- a/keyboards/chocofly/v1/config.h
+++ b/keyboards/chocofly/v1/config.h
@@ -3,12 +3,6 @@
 
 #pragma once
 
-#define VENDOR_ID       0xCEE2
-#define PRODUCT_ID      0x1001
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    vitvlkv
-#define PRODUCT         Chocofly
-
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 8
 
diff --git a/keyboards/chocofly/v1/info.json b/keyboards/chocofly/v1/info.json
index c56f7ae170..1372ce62f9 100644
--- a/keyboards/chocofly/v1/info.json
+++ b/keyboards/chocofly/v1/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Chocofly V1",
+    "keyboard_name": "Chocofly",
+    "manufacturer": "vitvlkv",
     "url": "https://github.com/vlkv/chocofly",
     "maintainer": "vlkv",
+    "usb": {
+        "vid": "0xCEE2",
+        "pid": "0x1001",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/clickety_split/leeloo/info.json b/keyboards/clickety_split/leeloo/info.json
index 5473292d14..b916866388 100644
--- a/keyboards/clickety_split/leeloo/info.json
+++ b/keyboards/clickety_split/leeloo/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Leeloo",
+  "manufacturer": "Clickety Split Ltd",
   "url": "https://clicketysplit.ca/pages/leeloo",
   "maintainer": "ClicketySplit",
+  "usb": {
+    "vid": "0x4013",
+    "pid": "0x2022",
+    "device_version": "0.1.3"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/clickety_split/leeloo/rev1/config.h b/keyboards/clickety_split/leeloo/rev1/config.h
index cf9c563f8f..88bab4ca98 100644
--- a/keyboards/clickety_split/leeloo/rev1/config.h
+++ b/keyboards/clickety_split/leeloo/rev1/config.h
@@ -19,13 +19,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x4013
-#define PRODUCT_ID      0x2022
-#define DEVICE_VER      0x0013
-#define MANUFACTURER    Clickety Split Ltd
-#define PRODUCT         Leeloo
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS 10
diff --git a/keyboards/converter/a1200/info.json b/keyboards/converter/a1200/info.json
index 41f328668e..1b46444ba8 100644
--- a/keyboards/converter/a1200/info.json
+++ b/keyboards/converter/a1200/info.json
@@ -1,5 +1,4 @@
 {
-    "keyboard_name": "Amiga 1200 Keyboard",  
     "maintainer": "8bits4ever", 
     "layouts": {
         "LAYOUT": {
diff --git a/keyboards/converter/a1200/miss1200/config.h b/keyboards/converter/a1200/miss1200/config.h
index 80053df0db..5faee6f45c 100644
--- a/keyboards/converter/a1200/miss1200/config.h
+++ b/keyboards/converter/a1200/miss1200/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFFFF
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    8bits4ever
-#define PRODUCT         MiSS-1200
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 16
diff --git a/keyboards/converter/a1200/miss1200/info.json b/keyboards/converter/a1200/miss1200/info.json
new file mode 100644
index 0000000000..3c97119dbd
--- /dev/null
+++ b/keyboards/converter/a1200/miss1200/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "MiSS-1200",
+    "manufacturer": "8bits4ever",
+    "usb": {
+        "vid": "0xFFFF",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/converter/a1200/mistress1200/config.h b/keyboards/converter/a1200/mistress1200/config.h
index 6e869e1db5..67a312d795 100644
--- a/keyboards/converter/a1200/mistress1200/config.h
+++ b/keyboards/converter/a1200/mistress1200/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFFFF
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    8bits4ever
-#define PRODUCT         MiSTress1200
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 16
diff --git a/keyboards/converter/a1200/mistress1200/info.json b/keyboards/converter/a1200/mistress1200/info.json
new file mode 100644
index 0000000000..1cdecf736e
--- /dev/null
+++ b/keyboards/converter/a1200/mistress1200/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "MiSTress1200",
+    "manufacturer": "8bits4ever",
+    "usb": {
+        "vid": "0xFFFF",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/converter/a1200/teensy2pp/config.h b/keyboards/converter/a1200/teensy2pp/config.h
index 9342bd344c..e9e961433f 100644
--- a/keyboards/converter/a1200/teensy2pp/config.h
+++ b/keyboards/converter/a1200/teensy2pp/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    8bits4ever
-#define PRODUCT         Amiga-1200
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 16
diff --git a/keyboards/converter/a1200/teensy2pp/info.json b/keyboards/converter/a1200/teensy2pp/info.json
new file mode 100644
index 0000000000..243b586c9f
--- /dev/null
+++ b/keyboards/converter/a1200/teensy2pp/info.json
@@ -0,0 +1,9 @@
+{
+    "keyboard_name": "Amiga-1200",
+    "manufacturer": "8bits4ever",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    }
+}
diff --git a/keyboards/converter/adb_usb/config.h b/keyboards/converter/adb_usb/config.h
index 92ce05f3d2..b6eb105bbd 100644
--- a/keyboards/converter/adb_usb/config.h
+++ b/keyboards/converter/adb_usb/config.h
@@ -19,12 +19,6 @@ Ported to QMK by Peter Roe <pete@13bit.me>
 
 #pragma once
 
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0ADB
-#define DEVICE_VER      0x0101
-#define MANUFACTURER    QMK
-#define PRODUCT         ADB keyboard converter
-
 /* matrix size */
 #define MATRIX_ROWS 16  // keycode bit: 3-0
 #define MATRIX_COLS 8   // keycode bit: 6-4
diff --git a/keyboards/converter/adb_usb/info.json b/keyboards/converter/adb_usb/info.json
index 45ae5e4f34..f64616e212 100644
--- a/keyboards/converter/adb_usb/info.json
+++ b/keyboards/converter/adb_usb/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "ADB to USB Keyboard Converter",
+  "manufacturer": "QMK",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x0ADB",
+    "device_version": "1.0.1"
+  },
   "layouts": {
     "LAYOUT_ext_ansi": {
       "layout": [
diff --git a/keyboards/converter/hp_46010a/config.h b/keyboards/converter/hp_46010a/config.h
index 91350bcb4f..e189b7d79a 100644
--- a/keyboards/converter/hp_46010a/config.h
+++ b/keyboards/converter/hp_46010a/config.h
@@ -19,12 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-#define VENDOR_ID         0xFEED
-#define PRODUCT_ID        0x6060
-#define DEVICE_VER        0x0001
-#define MANUFACTURER      QMK
-#define PRODUCT           46010A keyboard converter
-                          
 #define MATRIX_ROWS       14
 #define MATRIX_COLS       8
 
diff --git a/keyboards/converter/hp_46010a/info.json b/keyboards/converter/hp_46010a/info.json
index 01e9f4d25f..aa49bf11df 100644
--- a/keyboards/converter/hp_46010a/info.json
+++ b/keyboards/converter/hp_46010a/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "HP_46010A",
+  "keyboard_name": "HP 46010A to USB Keyboard Converter",
+  "manufacturer": "QMK",
   "url": "https://deskthority.net/wiki/HP_46010A",
   "maintainer": "listofoptions",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x6060",
+    "device_version": "0.0.1"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/converter/ibm_terminal/config.h b/keyboards/converter/ibm_terminal/config.h
index 2cd36c5fb0..9e7d140809 100644
--- a/keyboards/converter/ibm_terminal/config.h
+++ b/keyboards/converter/ibm_terminal/config.h
@@ -18,13 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6535
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    QMK
-#define PRODUCT         IBM Terminal Keyboard
-
-
 /* matrix size */
 #define MATRIX_ROWS 17  // keycode bit: 3-0
 #define MATRIX_COLS 8   // keycode bit: 6-4
diff --git a/keyboards/converter/ibm_terminal/info.json b/keyboards/converter/ibm_terminal/info.json
index 2c1a605ad9..9854d2759e 100644
--- a/keyboards/converter/ibm_terminal/info.json
+++ b/keyboards/converter/ibm_terminal/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "Keyboard converter for IBM terminal keyboard",
+  "keyboard_name": "IBM Terminal to USB Keyboard Converter",
+  "manufacturer": "QMK",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x6535",
+    "device_version": "1.0.0"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/converter/m0110_usb/config.h b/keyboards/converter/m0110_usb/config.h
index c612327ecf..0260bc6fb4 100644
--- a/keyboards/converter/m0110_usb/config.h
+++ b/keyboards/converter/m0110_usb/config.h
@@ -21,12 +21,6 @@ Ported to QMK by Techsock <info@techsock.com>
 
 #pragma once
 
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0110
-#define DEVICE_VER      0x0101
-#define MANUFACTURER    Apple
-#define PRODUCT         M0110(A)
-
 /* matrix size */
 #define MATRIX_ROWS 14
 #define MATRIX_COLS 8
diff --git a/keyboards/converter/m0110_usb/info.json b/keyboards/converter/m0110_usb/info.json
index 278b98781a..f1db7083de 100644
--- a/keyboards/converter/m0110_usb/info.json
+++ b/keyboards/converter/m0110_usb/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "M0110(A) keyboard converter",
+  "keyboard_name": "Apple M0110(A) to USB Keyboard Converter",
+  "manufacturer": "QMK",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x0110",
+    "device_version": "1.0.1"
+  },
   "layouts": {
     "LAYOUT_ansi": {
       "layout": [
diff --git a/keyboards/converter/modelm101/config.h b/keyboards/converter/modelm101/config.h
index b3f03979bc..2102d2d489 100644
--- a/keyboards/converter/modelm101/config.h
+++ b/keyboards/converter/modelm101/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    iw0rm3r
-#define PRODUCT         IBM Model M 101/102
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 16
diff --git a/keyboards/converter/modelm101/info.json b/keyboards/converter/modelm101/info.json
index ffc679dbbb..b769ec2539 100644
--- a/keyboards/converter/modelm101/info.json
+++ b/keyboards/converter/modelm101/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "IBM Model M 101 ANSI/102 ISO", 
+    "keyboard_name": "IBM Model M 101/102", 
+    "manufacturer": "iw0rm3r",
     "url": "https://github.com/iw0rm3r/qmk_firmware/tree/modelm101/keyboards/converter/modelm101", 
     "maintainer": "iw0rm3r", 
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Num Lock", "x":18.5, "y":1.5}, {"label":"/", "x":19.5, "y":1.5}, {"label":"*", "x":20.5, "y":1.5}, {"label":"-", "x":21.5, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"7", "x":18.5, "y":2.5}, {"label":"8", "x":19.5, "y":2.5}, {"label":"9", "x":20.5, "y":2.5}, {"label":"+", "x":21.5, "y":2.5, "h":2}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.5}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"~", "x":12.75, "y":3.5}, {"label":"Enter", "x":13.75, "y":3.5, "w":1.25}, {"label":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"1", "x":18.5, "y":4.5}, {"label":"2", "x":19.5, "y":4.5}, {"label":"3", "x":20.5, "y":4.5}, {"label":"Enter", "x":21.5, "y":4.5, "h":2}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}, {"label":"0", "x":18.5, "y":5.5, "w":2}, {"label":".", "x":20.5, "y":5.5}]
diff --git a/keyboards/converter/modelm101_teensy2/config.h b/keyboards/converter/modelm101_teensy2/config.h
index 99eae26e01..8bdf1be975 100644
--- a/keyboards/converter/modelm101_teensy2/config.h
+++ b/keyboards/converter/modelm101_teensy2/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    wangfuco
-#define PRODUCT         IBM Model M 101/102
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 16
diff --git a/keyboards/converter/modelm101_teensy2/info.json b/keyboards/converter/modelm101_teensy2/info.json
index 1da0a88738..617f893242 100644
--- a/keyboards/converter/modelm101_teensy2/info.json
+++ b/keyboards/converter/modelm101_teensy2/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "IBM Model M 101 ANSI/102 ISO", 
+    "keyboard_name": "IBM Model M 101/102", 
+    "manufacturer": "wangfuco",
     "url": "https://github.com/wangfuco/qmk_firmware/tree/modelm101_teensy2/keyboards/converter/modelm101_teensy2", 
     "maintainer": "wangfuco", 
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Num Lock", "x":18.5, "y":1.5}, {"label":"/", "x":19.5, "y":1.5}, {"label":"*", "x":20.5, "y":1.5}, {"label":"-", "x":21.5, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"7", "x":18.5, "y":2.5}, {"label":"8", "x":19.5, "y":2.5}, {"label":"9", "x":20.5, "y":2.5}, {"label":"+", "x":21.5, "y":2.5, "h":2}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.5}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"~", "x":12.75, "y":3.5}, {"label":"Enter", "x":13.75, "y":3.5, "w":1.25}, {"label":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"1", "x":18.5, "y":4.5}, {"label":"2", "x":19.5, "y":4.5}, {"label":"3", "x":20.5, "y":4.5}, {"label":"Enter", "x":21.5, "y":4.5, "h":2}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.5}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Alt", "x":11, "y":5.5, "w":1.5}, {"label":"Ctrl", "x":13.5, "y":5.5, "w":1.5}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}, {"label":"0", "x":18.5, "y":5.5, "w":2}, {"label":".", "x":20.5, "y":5.5}]
diff --git a/keyboards/converter/modelm_ssk/config.h b/keyboards/converter/modelm_ssk/config.h
index aed3761091..6623eef167 100644
--- a/keyboards/converter/modelm_ssk/config.h
+++ b/keyboards/converter/modelm_ssk/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    tiltowait
-#define PRODUCT         IBM Model M Space-Saving Keyboard
-
 /* key matrix size */
 #define MATRIX_ROWS 8
 #define MATRIX_COLS 16
diff --git a/keyboards/converter/modelm_ssk/info.json b/keyboards/converter/modelm_ssk/info.json
index 78d75c8d17..22d2981943 100644
--- a/keyboards/converter/modelm_ssk/info.json
+++ b/keyboards/converter/modelm_ssk/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "IBM Model M Space-Saving Keyboard",
+    "manufacturer": "tiltowait",
     "url": "https://github.com/tiltowait/qmk_firmware/tree/modelm_ssk/keyboards/converter/modelm_ssk",
     "maintainer": "tiltowait",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts":
     {
         "LAYOUT":
diff --git a/keyboards/converter/numeric_keypad_IIe/config.h b/keyboards/converter/numeric_keypad_IIe/config.h
index 27ad0610b5..f9fd26163d 100644
--- a/keyboards/converter/numeric_keypad_IIe/config.h
+++ b/keyboards/converter/numeric_keypad_IIe/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Apple Inc.
-#define PRODUCT         Numeric Keypad IIe
-
 /*
 
 Pin Mappings
diff --git a/keyboards/converter/numeric_keypad_IIe/info.json b/keyboards/converter/numeric_keypad_IIe/info.json
index 97e40bbad3..77b3c38227 100644
--- a/keyboards/converter/numeric_keypad_IIe/info.json
+++ b/keyboards/converter/numeric_keypad_IIe/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Numeric Keypad IIe", 
+    "manufacturer": "Apple Inc.",
     "url": "", 
     "maintainer": "qmk", 
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"7", "x":2, "y":0}, {"label":"8", "x":3, "y":0}, {"label":"9", "x":4, "y":0}, {"label":"(", "x":5.5, "y":0}, {"label":")", "x":6.5, "y":0}, {"label":"\u2190", "x":0, "y":1}, {"label":"4", "x":2, "y":1}, {"label":"5", "x":3, "y":1}, {"label":"6", "x":4, "y":1}, {"label":"\u2212", "x":5.5, "y":1}, {"label":"\u00f7", "x":6.5, "y":1}, {"label":"\u2192", "x":0, "y":2}, {"label":"1", "x":2, "y":2}, {"label":"2", "x":3, "y":2}, {"label":"3", "x":4, "y":2}, {"label":"+", "x":5.5, "y":2}, {"label":"\u00d7", "x":6.5, "y":2}, {"label":"Space", "x":0, "y":3}, {"label":"0", "x":1.5, "y":3, "w":1.5}, {"label":",", "x":3, "y":3}, {"label":".", "x":4, "y":3}, {"label":"Ret", "x":5.5, "y":3}, {"label":"Print", "x":6.5, "y":3}]
diff --git a/keyboards/converter/palm_usb/config.h b/keyboards/converter/palm_usb/config.h
index 35032835cd..f6e933ad2c 100644
--- a/keyboards/converter/palm_usb/config.h
+++ b/keyboards/converter/palm_usb/config.h
@@ -23,12 +23,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0001
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    QMK
-#define PRODUCT         Stowaway converter
-
 // IO pins to serial
 // https://deskthority.net/wiki/Arduino_Pro_Micro for pin lookup
 #define VCC_PIN D1 // pro micro 2
diff --git a/keyboards/converter/palm_usb/info.json b/keyboards/converter/palm_usb/info.json
new file mode 100644
index 0000000000..ed4895ecfd
--- /dev/null
+++ b/keyboards/converter/palm_usb/info.json
@@ -0,0 +1,11 @@
+{
+    "keyboard_name": "Stowaway Converter",
+    "manufacturer": "QMK",
+    "url": "",
+    "maintainer": "qmk",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0001",
+        "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/converter/palm_usb/stowaway/info.json b/keyboards/converter/palm_usb/stowaway/info.json
index c3c520f260..34b1e1f83f 100644
--- a/keyboards/converter/palm_usb/stowaway/info.json
+++ b/keyboards/converter/palm_usb/stowaway/info.json
@@ -1,7 +1,4 @@
 {
-  "keyboard_name": "Palm Stowaway Serial",
-  "url": "",
-  "maintainer": "qmk",
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/converter/periboard_512/config.h b/keyboards/converter/periboard_512/config.h
index e2fdc74358..b93af8c954 100644
--- a/keyboards/converter/periboard_512/config.h
+++ b/keyboards/converter/periboard_512/config.h
@@ -18,13 +18,6 @@
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x0000
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    Sife
-#define PRODUCT         Periboard 512
-
 /* matrix properties */
 #define MATRIX_COLS 19
 #define MATRIX_ROWS 8
diff --git a/keyboards/converter/periboard_512/info.json b/keyboards/converter/periboard_512/info.json
index 7c178418c8..eea7c6598a 100644
--- a/keyboards/converter/periboard_512/info.json
+++ b/keyboards/converter/periboard_512/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "Perixx Periboard-512",
+    "keyboard_name": "Periboard 512",
+    "manufacturer": "Sife",
     "url": "https://github.com/Sife-ops/qmk_firmware/tree/periboard_512/keyboards/converter/periboard_512",
     "maintainer": "Sife-ops",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x0000",
+        "device_version": "0.0.1"
+    },
     "diode_direction": "ROW2COL",
     "matrix_pins": {
         "cols": ["B7", "D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "E0", "E1", "C0", "C1", "C2", "C3", "C4", "C5", "C6", "C7"],
diff --git a/keyboards/converter/siemens_tastatur/config.h b/keyboards/converter/siemens_tastatur/config.h
index 86fe59fbd5..93fca2962a 100644
--- a/keyboards/converter/siemens_tastatur/config.h
+++ b/keyboards/converter/siemens_tastatur/config.h
@@ -17,14 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0x8968
-#define PRODUCT_ID      0x4353
-#define DEVICE_VER      0x0001
-
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Siemens Tastatur
-
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 19
diff --git a/keyboards/converter/siemens_tastatur/info.json b/keyboards/converter/siemens_tastatur/info.json
index 7c4ebe769b..2e537b78d4 100644
--- a/keyboards/converter/siemens_tastatur/info.json
+++ b/keyboards/converter/siemens_tastatur/info.json
@@ -1,7 +1,13 @@
 {
     "keyboard_name": "Siemens Tastatur",
+    "manufacturer": "Yiancar-Designs",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0x8968",
+        "pid": "0x4353",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT": {
             "layout": [
diff --git a/keyboards/converter/sun_usb/config.h b/keyboards/converter/sun_usb/config.h
index 0a4aa019f7..9d948b4cbd 100644
--- a/keyboards/converter/sun_usb/config.h
+++ b/keyboards/converter/sun_usb/config.h
@@ -17,12 +17,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #pragma once
 
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x3333
-#define DEVICE_VER      0x0100
-#define MANUFACTURER    QMK
-#define PRODUCT         Sun keyboard converter
-
 /* matrix size */
 #define MATRIX_ROWS 16
 #define MATRIX_COLS 8
diff --git a/keyboards/converter/sun_usb/info.json b/keyboards/converter/sun_usb/info.json
new file mode 100644
index 0000000000..691d0d1953
--- /dev/null
+++ b/keyboards/converter/sun_usb/info.json
@@ -0,0 +1,11 @@
+{
+    "keyboard_name": "Sun Keyboard Converter",
+    "manufacturer": "QMK",
+    "url": "",
+    "maintainer": "qmk",
+    "usb": {
+      "vid": "0xFEED",
+      "pid": "0x3333",
+      "device_version": "1.0.0"
+    }
+}
diff --git a/keyboards/converter/sun_usb/type3/info.json b/keyboards/converter/sun_usb/type3/info.json
index 9a60b09607..383d7d65e5 100644
--- a/keyboards/converter/sun_usb/type3/info.json
+++ b/keyboards/converter/sun_usb/type3/info.json
@@ -1,7 +1,4 @@
 {
-  "keyboard_name": "Sun Type 3",
-  "url": "",
-  "maintainer": "qmk",
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/converter/sun_usb/type5/info.json b/keyboards/converter/sun_usb/type5/info.json
index 9613d46e50..23d80c4121 100644
--- a/keyboards/converter/sun_usb/type5/info.json
+++ b/keyboards/converter/sun_usb/type5/info.json
@@ -1,7 +1,4 @@
 {
-  "keyboard_name": "Sun Type 5",
-  "url": "",
-  "maintainer": "qmk",
   "layouts": {
     "LAYOUT_jp_unix": {
       "layout": [
diff --git a/keyboards/converter/usb_usb/ble/config.h b/keyboards/converter/usb_usb/ble/config.h
index 675183f082..b4ee0992fe 100644
--- a/keyboards/converter/usb_usb/ble/config.h
+++ b/keyboards/converter/usb_usb/ble/config.h
@@ -1,6 +1,3 @@
 #pragma once
 
-#undef PRODUCT
-#define PRODUCT QMK BLE Adapter
-
 #define NO_ACTION_ONESHOT
diff --git a/keyboards/converter/usb_usb/config.h b/keyboards/converter/usb_usb/config.h
index 5f791eaa34..145a9e595f 100644
--- a/keyboards/converter/usb_usb/config.h
+++ b/keyboards/converter/usb_usb/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x005B
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    QMK
-#define PRODUCT         QMK USB-USB Converter
-
 /* size of virtual matrix */
 #define MATRIX_ROWS 16
 #define MATRIX_COLS 16
diff --git a/keyboards/converter/usb_usb/info.json b/keyboards/converter/usb_usb/info.json
index 8df3bb3e76..1bacf928a3 100644
--- a/keyboards/converter/usb_usb/info.json
+++ b/keyboards/converter/usb_usb/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "converter/usb_usb",
+    "keyboard_name": "USB to USB Converter",
+    "manufacturer": "QMK",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x005B",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_all": {
             "layout": [
diff --git a/keyboards/converter/xt_usb/config.h b/keyboards/converter/xt_usb/config.h
index 5f93fbfc6d..8aaf920578 100644
--- a/keyboards/converter/xt_usb/config.h
+++ b/keyboards/converter/xt_usb/config.h
@@ -19,13 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0xFEED
-#define PRODUCT_ID   0x6512
-#define DEVICE_VER   0x0001
-#define MANUFACTURER QMK
-#define PRODUCT      XT keyboard converter
-
 /* key matrix size */
 #define MATRIX_ROWS 16  // keycode bit: 3-0
 #define MATRIX_COLS 8   // keycode bit: 6-4
diff --git a/keyboards/converter/xt_usb/info.json b/keyboards/converter/xt_usb/info.json
index 4dbe14b6fa..c6ea00cc09 100644
--- a/keyboards/converter/xt_usb/info.json
+++ b/keyboards/converter/xt_usb/info.json
@@ -1,7 +1,13 @@
 {
-    "keyboard_name": "IBM PC XT",
+    "keyboard_name": "IBM PC XT Keyboard Converter",
+    "manufacturer": "QMK",
     "url": "",
     "maintainer": "qmk",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x6512",
+        "device_version": "0.0.1"
+    },
     "layouts": {
         "LAYOUT_xt": {
             "layout": [
diff --git a/keyboards/cozykeys/bloomer/config.h b/keyboards/cozykeys/bloomer/config.h
index 0f285b4d0e..461f289918 100644
--- a/keyboards/cozykeys/bloomer/config.h
+++ b/keyboards/cozykeys/bloomer/config.h
@@ -18,12 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-// USB Device descriptor parameter
-#define VENDOR_ID    0xFEED
-#define PRODUCT_ID   0x1191
-#define MANUFACTURER CozyKeys
-#define PRODUCT      Bloomer
-
 // Key matrix size
 #define MATRIX_ROWS 6
 #define MATRIX_COLS 15
diff --git a/keyboards/cozykeys/bloomer/info.json b/keyboards/cozykeys/bloomer/info.json
new file mode 100644
index 0000000000..ed0bb78867
--- /dev/null
+++ b/keyboards/cozykeys/bloomer/info.json
@@ -0,0 +1,10 @@
+{
+    "keyboard_name": "Bloomer",
+    "manufacturer": "CozyKeys",
+    "url": "https://github.com/cozykeys/bloomer",
+    "maintainer": "pcewing",
+    "usb": {
+        "vid": "0xFEED",
+        "pid": "0x1191"
+    }
+}
diff --git a/keyboards/cozykeys/bloomer/v2/config.h b/keyboards/cozykeys/bloomer/v2/config.h
index 4cbe7025db..8eb3ab52c9 100644
--- a/keyboards/cozykeys/bloomer/v2/config.h
+++ b/keyboards/cozykeys/bloomer/v2/config.h
@@ -18,9 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-// USB Device descriptor parameter
-#define DEVICE_VER   0x0002
-
 // Keyboard Matrix Assignments
 #define MATRIX_ROW_PINS { D0, D1, D3, D2, D4, B2 }
 #define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B1, B4, C6, E6, B5, B6, B7, D6, C7 }
diff --git a/keyboards/cozykeys/bloomer/v2/info.json b/keyboards/cozykeys/bloomer/v2/info.json
index 7e268a4640..9cd8e532cf 100644
--- a/keyboards/cozykeys/bloomer/v2/info.json
+++ b/keyboards/cozykeys/bloomer/v2/info.json
@@ -1,7 +1,7 @@
 {
-  "keyboard_name": "Bloomer",
-  "url": "https://github.com/cozykeys/bloomer",
-  "maintainer": "pcewing",
+  "usb": {
+    "device_version": "0.0.2"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/cozykeys/bloomer/v3/config.h b/keyboards/cozykeys/bloomer/v3/config.h
index 222afaf7dc..8eb3ab52c9 100644
--- a/keyboards/cozykeys/bloomer/v3/config.h
+++ b/keyboards/cozykeys/bloomer/v3/config.h
@@ -18,9 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-// USB Device descriptor parameter
-#define DEVICE_VER   0x0003
-
 // Keyboard Matrix Assignments
 #define MATRIX_ROW_PINS { D0, D1, D3, D2, D4, B2 }
 #define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, B1, B4, C6, E6, B5, B6, B7, D6, C7 }
diff --git a/keyboards/cozykeys/bloomer/v3/info.json b/keyboards/cozykeys/bloomer/v3/info.json
index 47d74269d2..6b782663d8 100644
--- a/keyboards/cozykeys/bloomer/v3/info.json
+++ b/keyboards/cozykeys/bloomer/v3/info.json
@@ -1,7 +1,7 @@
 {
-  "keyboard_name": "Bloomer",
-  "url": "https://github.com/cozykeys/bloomer",
-  "maintainer": "pcewing",
+  "usb": {
+    "device_version": "0.0.3"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/cozykeys/speedo/v2/config.h b/keyboards/cozykeys/speedo/v2/config.h
index 52ef4bed87..e5e7597f72 100644
--- a/keyboards/cozykeys/speedo/v2/config.h
+++ b/keyboards/cozykeys/speedo/v2/config.h
@@ -18,13 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-// USB Device descriptor parameter
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x1192
-#define DEVICE_VER      0x0002
-#define MANUFACTURER    CozyKeys
-#define PRODUCT         Speedo
-
 // Key matrix size
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/cozykeys/speedo/v2/info.json b/keyboards/cozykeys/speedo/v2/info.json
index 775511dda1..8de425ede1 100644
--- a/keyboards/cozykeys/speedo/v2/info.json
+++ b/keyboards/cozykeys/speedo/v2/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Speedo",
+  "manufacturer": "CozyKeys",
   "url": "https://github.com/cozykeys/speedo",
   "maintainer": "pcewing",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x1192",
+    "device_version": "0.0.2"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/cozykeys/speedo/v3/config.h b/keyboards/cozykeys/speedo/v3/config.h
index 39aa73adc8..8590a45efc 100644
--- a/keyboards/cozykeys/speedo/v3/config.h
+++ b/keyboards/cozykeys/speedo/v3/config.h
@@ -18,13 +18,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-// USB Device descriptor parameter
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x1192
-#define DEVICE_VER      0x0003
-#define MANUFACTURER    CozyKeys
-#define PRODUCT         Speedo
-
 // Key matrix size
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 14
diff --git a/keyboards/cozykeys/speedo/v3/info.json b/keyboards/cozykeys/speedo/v3/info.json
index 8f2e2674bf..49a5b94f06 100644
--- a/keyboards/cozykeys/speedo/v3/info.json
+++ b/keyboards/cozykeys/speedo/v3/info.json
@@ -1,7 +1,13 @@
 {
   "keyboard_name": "Speedo",
+  "manufacturer": "CozyKeys",
   "url": "https://github.com/cozykeys/speedo",
   "maintainer": "pcewing",
+  "usb": {
+    "vid": "0xFEED",
+    "pid": "0x1192",
+    "device_version": "0.0.3"
+  },
   "layouts": {
     "LAYOUT": {
       "layout": [
diff --git a/keyboards/crkbd/config.h b/keyboards/crkbd/config.h
index 02732819f9..21f3aa0ab4 100644
--- a/keyboards/crkbd/config.h
+++ b/keyboards/crkbd/config.h
@@ -20,13 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* USB Device descriptor parameter */
-#define VENDOR_ID    0x4653
-#define PRODUCT_ID   0x0001
-#define DEVICE_VER   0x0001
-#define MANUFACTURER foostan
-#define PRODUCT      Corne
-
 /* key matrix size */
 // Rows are doubled-up
 #define MATRIX_ROWS  8
diff --git a/keyboards/crkbd/info.json b/keyboards/crkbd/info.json
index 9a73ec68e9..354d33618c 100644
--- a/keyboards/crkbd/info.json
+++ b/keyboards/crkbd/info.json
@@ -1,7 +1,13 @@
 {
-  "keyboard_name": "crkbd rev. 1",
+  "keyboard_name": "Corne",
+  "manufacturer": "foostan",
   "url": "",
   "maintainer": "qmk",
+  "usb": {
+    "vid": "0x4653",
+    "pid": "0x0001",
+    "device_version": "0.0.1"
+  },
   "layouts": {
     "LAYOUT_split_3x6_3": {
       "layout": [
diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c b/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c
index 24c1571995..c7b3a1818f 100644
--- a/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c
+++ b/keyboards/xelus/valor_frl_tkl/keymaps/default/keymap.c
@@ -17,7 +17,7 @@
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [0] = LAYOUT_all(
-    KC_TILD, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_DEL,  KC_BSPC,  KC_INS,  KC_HOME, KC_PGUP,
+    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_DEL,  KC_BSPC,  KC_INS,  KC_HOME, KC_PGUP,
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,           KC_DEL,  KC_END,  KC_PGDN,
     KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,
     KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RGUI,                    KC_UP,
diff --git a/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c b/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c
index 24d2627272..d73d3c646f 100644
--- a/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c
+++ b/keyboards/xelus/valor_frl_tkl/keymaps/via/keymap.c
@@ -17,7 +17,7 @@
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   [0] = LAYOUT_all(
-    KC_TILD, KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_DEL,  KC_BSPC,  KC_INS,  KC_HOME, KC_PGUP,
+    KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_DEL,  KC_BSPC,  KC_INS,  KC_HOME, KC_PGUP,
     KC_TAB,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,    KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS,           KC_DEL,  KC_END,  KC_PGDN,
     KC_CAPS, KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_ENT,
     KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, KC_RGUI,                    KC_UP,
diff --git a/keyboards/xelus/valor_frl_tkl/chconf.h b/keyboards/xelus/valor_frl_tkl/rev1/chconf.h
index 5b1d65cb74..5b1d65cb74 100644
--- a/keyboards/xelus/valor_frl_tkl/chconf.h
+++ b/keyboards/xelus/valor_frl_tkl/rev1/chconf.h
diff --git a/keyboards/xelus/valor_frl_tkl/config.h b/keyboards/xelus/valor_frl_tkl/rev1/config.h
index 46c598c637..46c598c637 100644
--- a/keyboards/xelus/valor_frl_tkl/config.h
+++ b/keyboards/xelus/valor_frl_tkl/rev1/config.h
diff --git a/keyboards/xelus/valor_frl_tkl/halconf.h b/keyboards/xelus/valor_frl_tkl/rev1/halconf.h
index 1dbf1a4fe0..1dbf1a4fe0 100644
--- a/keyboards/xelus/valor_frl_tkl/halconf.h
+++ b/keyboards/xelus/valor_frl_tkl/rev1/halconf.h
diff --git a/keyboards/xelus/valor_frl_tkl/mcuconf.h b/keyboards/xelus/valor_frl_tkl/rev1/mcuconf.h
index 6013ff13fb..6013ff13fb 100644
--- a/keyboards/xelus/valor_frl_tkl/mcuconf.h
+++ b/keyboards/xelus/valor_frl_tkl/rev1/mcuconf.h
diff --git a/keyboards/xelus/valor_frl_tkl/readme.md b/keyboards/xelus/valor_frl_tkl/rev1/readme.md
index da85ebbd47..7069a57f06 100644
--- a/keyboards/xelus/valor_frl_tkl/readme.md
+++ b/keyboards/xelus/valor_frl_tkl/rev1/readme.md
@@ -8,6 +8,6 @@ An Alice-esque FRL TKL keyboard PCB.
 
 Make example for this keyboard (after setting up your build environment):
 
-    make xelus/valor_frl_tkl:default
+    make xelus/valor_frl_tkl/rev1:default
 
 See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/xelus/valor_frl_tkl/rev1/rev1.c b/keyboards/xelus/valor_frl_tkl/rev1/rev1.c
new file mode 100644
index 0000000000..d26d2021f9
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev1/rev1.c
@@ -0,0 +1,24 @@
+/* Copyright 2020 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// Nothing to see here, move along... ;-)
+
+#include "rev1.h"
+
+void board_init(void) {
+  SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
+  SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
+}
diff --git a/keyboards/xelus/valor_frl_tkl/rev1/rev1.h b/keyboards/xelus/valor_frl_tkl/rev1/rev1.h
new file mode 100644
index 0000000000..94ae0fcbab
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev1/rev1.h
@@ -0,0 +1,35 @@
+/* Copyright 2020 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define ____ KC_NO
+
+#define LAYOUT_all( \
+  K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213,   K014, K015, K016, \
+  K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113,         K114, K115, K116, \
+  K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212,                                 \
+  K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313,               K315,       \
+  K400,       K402,       K404, K405,       K407,       K409,             K412,               K414, K415, K416  \
+) { \
+  { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \
+  { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \
+  { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, ____, ____ }, \
+  { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, ____, K315, ____ }, \
+  { K400, ____, K402, ____, K404, K405, ____, K407, ____, K409, ____, ____, K412, ____, K414, K415, K416 }  \
+}
diff --git a/keyboards/xelus/valor_frl_tkl/rules.mk b/keyboards/xelus/valor_frl_tkl/rev1/rules.mk
index 1c71897c3e..1c71897c3e 100644
--- a/keyboards/xelus/valor_frl_tkl/rules.mk
+++ b/keyboards/xelus/valor_frl_tkl/rev1/rules.mk
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/.noci b/keyboards/xelus/valor_frl_tkl/rev2_0/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/.noci
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/config.h b/keyboards/xelus/valor_frl_tkl/rev2_0/config.h
new file mode 100644
index 0000000000..04dbefb537
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/config.h
@@ -0,0 +1,44 @@
+/* Copyright 2022 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define DEVICE_VER      0x0002
+#define PRODUCT         Xelus Valor FRL TKL Rev2.0
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 17
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { A15, A14, A10, B3, B4 }
+#define MATRIX_COL_PINS { A9, A8, B15, B14, B13, B12, B9, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+#define STM32_HSECLK 16000000
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h b/keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h
new file mode 100644
index 0000000000..d7550e5c76
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/mcuconf.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PLLM_VALUE
+#undef STM32_PLLN_VALUE
+#undef STM32_PLLP_VALUE
+#undef STM32_PLLQ_VALUE
+#undef STM32_PPRE1
+#undef STM32_PPRE2
+
+// 96MHz core
+#define STM32_PLLM_VALUE    8
+#define STM32_PLLN_VALUE    96
+#define STM32_PLLP_VALUE    2
+#define STM32_PLLQ_VALUE    4
+#define STM32_PPRE1         STM32_PPRE1_DIV2
+#define STM32_PPRE2         STM32_PPRE1_DIV1
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/readme.md b/keyboards/xelus/valor_frl_tkl/rev2_0/readme.md
new file mode 100644
index 0000000000..3a1b4d53b5
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/readme.md
@@ -0,0 +1,79 @@
+# Valor FRL TKL Rev2.0
+
+An Alice-esque FRL TKL keyboard PCB.
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: Valor FRL TKL
+* Hardware Availability: Custom keyboard group buys
+
+### Important Note
+This version uses the pin PA9 which is un-usable with the current ChibiOS. The first column will be disabled if this firmware is compiled normally.
+A patch is required locally to use this version. 
+Please use this patch:
+```diff --git a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c
+index 0f48d1fd0..38aff8554 100644
+--- a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c
++++ b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.c
+@@ -40,18 +40,18 @@
+ 
+ #if STM32_OTG_STEPPING == 1
+ #if defined(BOARD_OTG_NOVBUSSENS)
+-#define GCCFG_INIT_VALUE        (GCCFG_NOVBUSSENS | GCCFG_VBUSASEN |        \
+-                                 GCCFG_VBUSBSEN | GCCFG_PWRDWN)
++#define GCCFG_INIT_VALUE        (GCCFG_NOVBUSSENS |        \
++                                 GCCFG_PWRDWN)
+ #else
+-#define GCCFG_INIT_VALUE        (GCCFG_VBUSASEN | GCCFG_VBUSBSEN |          \
++#define GCCFG_INIT_VALUE        (GCCFG_NOVBUSSENS |          \
+                                  GCCFG_PWRDWN)
+ #endif
+ 
+ #elif STM32_OTG_STEPPING == 2
+ #if defined(BOARD_OTG_NOVBUSSENS)
+-#define GCCFG_INIT_VALUE        GCCFG_PWRDWN
++#define GCCFG_INIT_VALUE        (GCCFG_NOVBUSSENS | GCCFG_PWRDWN)
+ #else
+-#define GCCFG_INIT_VALUE        (GCCFG_VBDEN | GCCFG_PWRDWN)
++#define GCCFG_INIT_VALUE        (GCCFG_NOVBUSSENS | GCCFG_VBDEN | GCCFG_PWRDWN)
+ #endif
+ 
+ #endif
+@@ -815,7 +815,7 @@ void usb_lld_start(USBDriver *usbp) {
+     otgp->PCGCCTL = 0;
+ 
+     /* VBUS sensing and transceiver enabled.*/
+-    otgp->GOTGCTL = GOTGCTL_BVALOEN | GOTGCTL_BVALOVAL;
++    // otgp->GOTGCTL = GOTGCTL_BVALOEN | GOTGCTL_BVALOVAL;
+ 
+ #if defined(BOARD_OTG2_USES_ULPI)
+ #if STM32_USB_USE_OTG1
+diff --git a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h
+index 69a5ab603..200b4b91a 100644
+--- a/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h
++++ b/os/hal/ports/STM32/LLD/OTGv1/hal_usb_lld.h
+@@ -534,7 +534,7 @@ struct USBDriver {
+  * @notapi
+  */
+ #if (STM32_OTG_STEPPING == 1) || defined(__DOXYGEN__)
+-#define usb_lld_connect_bus(usbp) ((usbp)->otg->GCCFG |= GCCFG_VBUSBSEN)
++#define usb_lld_connect_bus(usbp)
+ #else
+ #define usb_lld_connect_bus(usbp) ((usbp)->otg->DCTL &= ~DCTL_SDIS)
+ #endif
+@@ -545,7 +545,7 @@ struct USBDriver {
+  * @notapi
+  */
+ #if (STM32_OTG_STEPPING == 1) || defined(__DOXYGEN__)
+-#define usb_lld_disconnect_bus(usbp) ((usbp)->otg->GCCFG &= ~GCCFG_VBUSBSEN)
++#define usb_lld_disconnect_bus(usbp)
+ #else
+ #define usb_lld_disconnect_bus(usbp) ((usbp)->otg->DCTL |= DCTL_SDIS)
+ #endif
+```
+
+Make example for this keyboard (after setting up your build environment):
+
+    make xelus/valor_frl_tkl/rev2_0:default
+    make xelus/valor_frl_tkl/rev2_0:via
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk b/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk
new file mode 100644
index 0000000000..ba22afdc26
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_0/rules.mk
@@ -0,0 +1,23 @@
+# MCU name
+MCU = STM32F411
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes       # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = no         # Console for debug
+COMMAND_ENABLE = no         # Commands for debug and configuration
+NKRO_ENABLE = yes           # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
+AUDIO_ENABLE = no           # Audio output
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/config.h b/keyboards/xelus/valor_frl_tkl/rev2_1/config.h
new file mode 100644
index 0000000000..1cbd3e29f6
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/config.h
@@ -0,0 +1,44 @@
+/* Copyright 2022 Harrison Chan (Xelus)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#define DEVICE_VER      0x0003
+#define PRODUCT         Xelus Valor FRL TKL Rev2.1
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 17
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { A15, A14, A13, B3, B4 }
+#define MATRIX_COL_PINS { A10, A8, B15, B14, B13, B12, B9, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+#define STM32_HSECLK 16000000
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h b/keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h
new file mode 100644
index 0000000000..f25665e06e
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/mcuconf.h
@@ -0,0 +1,34 @@
+/* Copyright 2022 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_PLLM_VALUE
+#undef STM32_PLLN_VALUE
+#undef STM32_PLLP_VALUE
+#undef STM32_PLLQ_VALUE
+#undef STM32_PPRE1
+#undef STM32_PPRE2
+
+// 84MHz core
+#define STM32_PLLM_VALUE    8
+#define STM32_PLLN_VALUE    168
+#define STM32_PLLP_VALUE    4
+#define STM32_PLLQ_VALUE    7
+#define STM32_PPRE1         STM32_PPRE1_DIV2
+#define STM32_PPRE2         STM32_PPRE1_DIV1
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/readme.md b/keyboards/xelus/valor_frl_tkl/rev2_1/readme.md
new file mode 100644
index 0000000000..c0f409b3ae
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/readme.md
@@ -0,0 +1,14 @@
+# Valor FRL TKL Rev2.1
+
+An Alice-esque FRL TKL keyboard PCB.
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: Valor FRL TKL
+* Hardware Availability: Custom keyboard group buys
+
+Make example for this keyboard (after setting up your build environment):
+
+    make xelus/valor_frl_tkl/rev2_1:default
+    make xelus/valor_frl_tkl/rev2_1:via
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk b/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk
new file mode 100644
index 0000000000..72dda3e6f8
--- /dev/null
+++ b/keyboards/xelus/valor_frl_tkl/rev2_1/rules.mk
@@ -0,0 +1,23 @@
+# MCU name
+MCU = STM32F401
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = yes       # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = no         # Console for debug
+COMMAND_ENABLE = no         # Commands for debug and configuration
+NKRO_ENABLE = yes           # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
+AUDIO_ENABLE = no           # Audio output
+
+# Enter lower-power sleep mode when on the ChibiOS idle thread
+OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
+
+KEYBOARD_SHARED_EP = yes
diff --git a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c
index 08e08068b9..b5eca9abde 100644
--- a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c
+++ b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.c
@@ -17,8 +17,3 @@
 // Nothing to see here, move along... ;-)
 
 #include "valor_frl_tkl.h"
-
-void board_init(void) {
-  SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
-  SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
-}
diff --git a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h
index 757f64adf9..94ae0fcbab 100644
--- a/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h
+++ b/keyboards/xelus/valor_frl_tkl/valor_frl_tkl.h
@@ -17,7 +17,7 @@
 #pragma once
 
 #include "quantum.h"
-  
+
 #define ____ KC_NO
 
 #define LAYOUT_all( \