c988584fc181c2d59e71600ddbff73a99ba7be7f
- Author
- Andrew Kannan <andrew.kannan@gmail.com>
- Committer
- GitHub <noreply@github.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/keyboards/cannonkeys/reverie/config.h b/keyboards/cannonkeys/reverie/config.h
2new file mode 100644
3index 0000000000000000000000000000000000000000..ea5c26b6c72f8ecf861f659c3e2d09cf85a3ae8f
4--- /dev/null
5+++ b/keyboards/cannonkeys/reverie/config.h
6@@ -0,0 +1,9 @@
7+// Copyright 2024 Andrew Kannan
8+// SPDX-License-Identifier: GPL-2.0-or-later
9+
10+#pragma once
11+
12+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
13+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
14+
15+#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64
16diff --git a/keyboards/cannonkeys/reverie/hotswap/keyboard.json b/keyboards/cannonkeys/reverie/hotswap/keyboard.json
17new file mode 100644
18index 0000000000000000000000000000000000000000..4a2101f9de297aeb775d4afd59e63c90d5ad54ce
19--- /dev/null
20+++ b/keyboards/cannonkeys/reverie/hotswap/keyboard.json
21@@ -0,0 +1,296 @@
22+{
23+ "keyboard_name": "Reverie HS",
24+ "usb": {
25+ "pid": "0x0033"
26+ },
27+ "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs"],
28+ "layout_aliases": {
29+ "LAYOUT_65_ansi_blocker_split_bs": "LAYOUT_all"
30+ },
31+ "layouts": {
32+ "LAYOUT_65_ansi_blocker": {
33+ "layout": [
34+ {"matrix": [0, 0], "x": 0, "y": 0},
35+ {"matrix": [0, 1], "x": 1, "y": 0},
36+ {"matrix": [0, 2], "x": 2, "y": 0},
37+ {"matrix": [0, 3], "x": 3, "y": 0},
38+ {"matrix": [0, 4], "x": 4, "y": 0},
39+ {"matrix": [0, 5], "x": 5, "y": 0},
40+ {"matrix": [0, 6], "x": 6, "y": 0},
41+ {"matrix": [0, 7], "x": 7, "y": 0},
42+ {"matrix": [0, 8], "x": 8, "y": 0},
43+ {"matrix": [0, 9], "x": 9, "y": 0},
44+ {"matrix": [0, 10], "x": 10, "y": 0},
45+ {"matrix": [0, 11], "x": 11, "y": 0},
46+ {"matrix": [0, 12], "x": 12, "y": 0},
47+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
48+ {"matrix": [0, 14], "x": 15, "y": 0},
49+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
50+ {"matrix": [1, 1], "x": 1.5, "y": 1},
51+ {"matrix": [1, 2], "x": 2.5, "y": 1},
52+ {"matrix": [1, 3], "x": 3.5, "y": 1},
53+ {"matrix": [1, 4], "x": 4.5, "y": 1},
54+ {"matrix": [1, 5], "x": 5.5, "y": 1},
55+ {"matrix": [1, 6], "x": 6.5, "y": 1},
56+ {"matrix": [1, 7], "x": 7.5, "y": 1},
57+ {"matrix": [1, 8], "x": 8.5, "y": 1},
58+ {"matrix": [1, 9], "x": 9.5, "y": 1},
59+ {"matrix": [1, 10], "x": 10.5, "y": 1},
60+ {"matrix": [1, 11], "x": 11.5, "y": 1},
61+ {"matrix": [1, 12], "x": 12.5, "y": 1},
62+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
63+ {"matrix": [1, 14], "x": 15, "y": 1},
64+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
65+ {"matrix": [2, 1], "x": 1.75, "y": 2},
66+ {"matrix": [2, 2], "x": 2.75, "y": 2},
67+ {"matrix": [2, 3], "x": 3.75, "y": 2},
68+ {"matrix": [2, 4], "x": 4.75, "y": 2},
69+ {"matrix": [2, 5], "x": 5.75, "y": 2},
70+ {"matrix": [2, 6], "x": 6.75, "y": 2},
71+ {"matrix": [2, 7], "x": 7.75, "y": 2},
72+ {"matrix": [2, 8], "x": 8.75, "y": 2},
73+ {"matrix": [2, 9], "x": 9.75, "y": 2},
74+ {"matrix": [2, 10], "x": 10.75, "y": 2},
75+ {"matrix": [2, 11], "x": 11.75, "y": 2},
76+ {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
77+ {"matrix": [2, 14], "x": 15, "y": 2},
78+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
79+ {"matrix": [3, 2], "x": 2.25, "y": 3},
80+ {"matrix": [3, 3], "x": 3.25, "y": 3},
81+ {"matrix": [3, 4], "x": 4.25, "y": 3},
82+ {"matrix": [3, 5], "x": 5.25, "y": 3},
83+ {"matrix": [3, 6], "x": 6.25, "y": 3},
84+ {"matrix": [3, 7], "x": 7.25, "y": 3},
85+ {"matrix": [3, 8], "x": 8.25, "y": 3},
86+ {"matrix": [3, 9], "x": 9.25, "y": 3},
87+ {"matrix": [3, 10], "x": 10.25, "y": 3},
88+ {"matrix": [3, 11], "x": 11.25, "y": 3},
89+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
90+ {"matrix": [3, 13], "x": 14, "y": 3},
91+ {"matrix": [3, 14], "x": 15, "y": 3},
92+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
93+ {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
94+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
95+ {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
96+ {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
97+ {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
98+ {"matrix": [4, 12], "x": 13, "y": 4},
99+ {"matrix": [4, 13], "x": 14, "y": 4},
100+ {"matrix": [4, 14], "x": 15, "y": 4}
101+ ]
102+ },
103+ "LAYOUT_65_ansi_blocker_tsangan": {
104+ "layout": [
105+ {"matrix": [0, 0], "x": 0, "y": 0},
106+ {"matrix": [0, 1], "x": 1, "y": 0},
107+ {"matrix": [0, 2], "x": 2, "y": 0},
108+ {"matrix": [0, 3], "x": 3, "y": 0},
109+ {"matrix": [0, 4], "x": 4, "y": 0},
110+ {"matrix": [0, 5], "x": 5, "y": 0},
111+ {"matrix": [0, 6], "x": 6, "y": 0},
112+ {"matrix": [0, 7], "x": 7, "y": 0},
113+ {"matrix": [0, 8], "x": 8, "y": 0},
114+ {"matrix": [0, 9], "x": 9, "y": 0},
115+ {"matrix": [0, 10], "x": 10, "y": 0},
116+ {"matrix": [0, 11], "x": 11, "y": 0},
117+ {"matrix": [0, 12], "x": 12, "y": 0},
118+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
119+ {"matrix": [0, 14], "x": 15, "y": 0},
120+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
121diff --git a/keyboards/cannonkeys/reverie/hotswap/keymaps/default/keymap.c b/keyboards/cannonkeys/reverie/hotswap/keymaps/default/keymap.c
122new file mode 100644
123index 0000000000000000000000000000000000000000..e1081d169cbe6cca56f9eaeed28eafb54a964945
124--- /dev/null
125+++ b/keyboards/cannonkeys/reverie/hotswap/keymaps/default/keymap.c
126@@ -0,0 +1,27 @@
127+// Copyright 2024 Andrew Kannan
128+// SPDX-License-Identifier: GPL-2.0-or-later
129+
130+#include QMK_KEYBOARD_H
131+
132+enum layer_names {
133+ _BASE,
134+ _FN1
135+};
136+
137+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
138+ [_BASE] = LAYOUT_all(
139+ QK_GESC, 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_BSPC, KC_DEL, KC_HOME,
140+ 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_END,
141+ 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_PGUP,
142+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
143+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT
144+ ),
145+
146+ [_FN1] = LAYOUT_all(
147+ QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
148+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
149+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
150+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
151+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
152+ )
153+};
154diff --git a/keyboards/cannonkeys/reverie/info.json b/keyboards/cannonkeys/reverie/info.json
155new file mode 100644
156index 0000000000000000000000000000000000000000..1e2a885781b841c6d9cb292f17962562caefef0c
157--- /dev/null
158+++ b/keyboards/cannonkeys/reverie/info.json
159@@ -0,0 +1,24 @@
160+{
161+ "manufacturer": "CannonKeys",
162+ "maintainer": "awkannan",
163+ "bootloader": "rp2040",
164+ "diode_direction": "COL2ROW",
165+ "features": {
166+ "bootmagic": true,
167+ "command": false,
168+ "console": false,
169+ "extrakey": true,
170+ "mousekey": true,
171+ "nkro": true
172+ },
173+ "matrix_pins": {
174+ "cols": ["GP28", "GP8", "GP14", "GP13", "GP12", "GP11", "GP10", "GP9", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"],
175+ "rows": ["GP26", "GP27", "GP15", "GP16", "GP17"]
176+ },
177+ "processor": "RP2040",
178+ "url": "https://cannonkeys.com",
179+ "usb": {
180+ "device_version": "0.0.1",
181+ "vid": "0xCA04"
182+ }
183+}
184diff --git a/keyboards/cannonkeys/reverie/readme.md b/keyboards/cannonkeys/reverie/readme.md
185new file mode 100644
186index 0000000000000000000000000000000000000000..8647bc0dade6a464563da1c07228fae9c767da4e
187--- /dev/null
188+++ b/keyboards/cannonkeys/reverie/readme.md
189@@ -0,0 +1,30 @@
190+# Reverie PCBs
191+
192+Reverie PCBs from CannonKeys
193+
194+This folder is for both the solderable and hotswap versions of this PCB.
195+
196+The hotswap version does not support per-key LEDs and has reduced layout support (no ISO)
197+
198+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
199+* Hardware Supported: RP2040
200+* Hardware Availability: [CannonKeys](https://cannonkeys.com)
201+
202+
203+Make example for this keyboard (after setting up your build environment):
204+
205+ make cannonkeys/reverie/solderable:default
206+
207+Flashing example for this keyboard:
208+
209+ make cannonkeys/reverie/solderable:default:flash
210+
211diff --git a/keyboards/cannonkeys/reverie/solderable/config.h b/keyboards/cannonkeys/reverie/solderable/config.h
212new file mode 100644
213index 0000000000000000000000000000000000000000..9a8669d7a85646d72083eaeedef1757cfceb0386
214--- /dev/null
215+++ b/keyboards/cannonkeys/reverie/solderable/config.h
216@@ -0,0 +1,7 @@
217+// Copyright 2024 Andrew Kannan
218+// SPDX-License-Identifier: GPL-2.0-or-later
219+
220+#pragma once
221+
222+#define BACKLIGHT_PWM_DRIVER PWMD3
223+#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_A
224diff --git a/keyboards/cannonkeys/reverie/solderable/halconf.h b/keyboards/cannonkeys/reverie/solderable/halconf.h
225new file mode 100644
226index 0000000000000000000000000000000000000000..0536c37ff34834a0b14476dcd2beb0c78dbd9bb8
227--- /dev/null
228+++ b/keyboards/cannonkeys/reverie/solderable/halconf.h
229@@ -0,0 +1,8 @@
230+// Copyright 2024 Andrew Kannan
231+// SPDX-License-Identifier: GPL-2.0-or-later
232+
233+#pragma once
234+
235+#define HAL_USE_PWM TRUE
236+
237+#include_next <halconf.h>
238diff --git a/keyboards/cannonkeys/reverie/solderable/keyboard.json b/keyboards/cannonkeys/reverie/solderable/keyboard.json
239new file mode 100644
240index 0000000000000000000000000000000000000000..b1d909cb855a5bbfbbef95cc4998d019c775b222
241--- /dev/null
242+++ b/keyboards/cannonkeys/reverie/solderable/keyboard.json
243@@ -0,0 +1,672 @@
244+{
245+ "keyboard_name": "Reverie",
246+ "backlight": {
247+ "breathing": true,
248+ "breathing_period": 5,
249+ "levels": 15,
250+ "pin": "GP22"
251+ },
252+ "features": {
253+ "backlight": true
254+ },
255+ "indicators": {
256+ "caps_lock": "GP29",
257+ "on_state": 0
258+ },
259+ "usb": {
260+ "pid": "0x0030"
261+ },
262+ "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs", "65_iso_blocker", "65_iso_blocker_split_bs", "65_iso_blocker_tsangan", "65_iso_blocker_tsangan_split_bs"],
263+ "layout_aliases": {
264+ "LAYOUT": "LAYOUT_all"
265+ },
266+ "layouts": {
267+ "LAYOUT_65_ansi_blocker": {
268+ "layout": [
269+ {"matrix": [0, 0], "x": 0, "y": 0},
270+ {"matrix": [0, 1], "x": 1, "y": 0},
271+ {"matrix": [0, 2], "x": 2, "y": 0},
272+ {"matrix": [0, 3], "x": 3, "y": 0},
273+ {"matrix": [0, 4], "x": 4, "y": 0},
274+ {"matrix": [0, 5], "x": 5, "y": 0},
275+ {"matrix": [0, 6], "x": 6, "y": 0},
276+ {"matrix": [0, 7], "x": 7, "y": 0},
277+ {"matrix": [0, 8], "x": 8, "y": 0},
278+ {"matrix": [0, 9], "x": 9, "y": 0},
279+ {"matrix": [0, 10], "x": 10, "y": 0},
280+ {"matrix": [0, 11], "x": 11, "y": 0},
281+ {"matrix": [0, 12], "x": 12, "y": 0},
282+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
283+ {"matrix": [0, 14], "x": 15, "y": 0},
284+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
285+ {"matrix": [1, 1], "x": 1.5, "y": 1},
286+ {"matrix": [1, 2], "x": 2.5, "y": 1},
287+ {"matrix": [1, 3], "x": 3.5, "y": 1},
288+ {"matrix": [1, 4], "x": 4.5, "y": 1},
289+ {"matrix": [1, 5], "x": 5.5, "y": 1},
290+ {"matrix": [1, 6], "x": 6.5, "y": 1},
291+ {"matrix": [1, 7], "x": 7.5, "y": 1},
292+ {"matrix": [1, 8], "x": 8.5, "y": 1},
293+ {"matrix": [1, 9], "x": 9.5, "y": 1},
294+ {"matrix": [1, 10], "x": 10.5, "y": 1},
295+ {"matrix": [1, 11], "x": 11.5, "y": 1},
296+ {"matrix": [1, 12], "x": 12.5, "y": 1},
297+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
298+ {"matrix": [1, 14], "x": 15, "y": 1},
299+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
300+ {"matrix": [2, 1], "x": 1.75, "y": 2},
301+ {"matrix": [2, 2], "x": 2.75, "y": 2},
302+ {"matrix": [2, 3], "x": 3.75, "y": 2},
303+ {"matrix": [2, 4], "x": 4.75, "y": 2},
304+ {"matrix": [2, 5], "x": 5.75, "y": 2},
305+ {"matrix": [2, 6], "x": 6.75, "y": 2},
306+ {"matrix": [2, 7], "x": 7.75, "y": 2},
307+ {"matrix": [2, 8], "x": 8.75, "y": 2},
308+ {"matrix": [2, 9], "x": 9.75, "y": 2},
309+ {"matrix": [2, 10], "x": 10.75, "y": 2},
310+ {"matrix": [2, 11], "x": 11.75, "y": 2},
311+ {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
312+ {"matrix": [2, 14], "x": 15, "y": 2},
313+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
314+ {"matrix": [3, 2], "x": 2.25, "y": 3},
315+ {"matrix": [3, 3], "x": 3.25, "y": 3},
316+ {"matrix": [3, 4], "x": 4.25, "y": 3},
317+ {"matrix": [3, 5], "x": 5.25, "y": 3},
318+ {"matrix": [3, 6], "x": 6.25, "y": 3},
319+ {"matrix": [3, 7], "x": 7.25, "y": 3},
320+ {"matrix": [3, 8], "x": 8.25, "y": 3},
321+ {"matrix": [3, 9], "x": 9.25, "y": 3},
322+ {"matrix": [3, 10], "x": 10.25, "y": 3},
323+ {"matrix": [3, 11], "x": 11.25, "y": 3},
324+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
325+ {"matrix": [3, 13], "x": 14, "y": 3},
326+ {"matrix": [3, 14], "x": 15, "y": 3},
327+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
328+ {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
329+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
330+ {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
331+ {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
332+ {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
333+ {"matrix": [4, 12], "x": 13, "y": 4},
334+ {"matrix": [4, 13], "x": 14, "y": 4},
335+ {"matrix": [4, 14], "x": 15, "y": 4}
336+ ]
337+ },
338+ "LAYOUT_65_ansi_blocker_split_bs": {
339+ "layout": [
340+ {"matrix": [0, 0], "x": 0, "y": 0},
341+ {"matrix": [0, 1], "x": 1, "y": 0},
342+ {"matrix": [0, 2], "x": 2, "y": 0},
343diff --git a/keyboards/cannonkeys/reverie/solderable/keymaps/default/keymap.c b/keyboards/cannonkeys/reverie/solderable/keymaps/default/keymap.c
344new file mode 100644
345index 0000000000000000000000000000000000000000..0a256ac40643aae306b63d9aadc30c7bfe3a9fc8
346--- /dev/null
347+++ b/keyboards/cannonkeys/reverie/solderable/keymaps/default/keymap.c
348@@ -0,0 +1,27 @@
349+// Copyright 2024 Andrew Kannan
350+// SPDX-License-Identifier: GPL-2.0-or-later
351+
352+#include QMK_KEYBOARD_H
353+
354+enum layer_names {
355+ _BASE,
356+ _FN1
357+};
358+
359+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
360+ [_BASE] = LAYOUT_all(
361+ QK_GESC, 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_BSPC, KC_DEL, KC_HOME,
362+ 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_END,
363+ 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_PGUP,
364+ KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
365+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT
366+ ),
367+
368+ [_FN1] = LAYOUT_all(
369+ QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
370+ _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
371+ BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
372+ BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
373+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
374+ )
375+};
376diff --git a/keyboards/cannonkeys/reverie/solderable/matrix_diagram.md b/keyboards/cannonkeys/reverie/solderable/matrix_diagram.md
377new file mode 100644
378index 0000000000000000000000000000000000000000..c74adfdb7c1b53c03aa9d1b68d4533fb313f6bbe
379--- /dev/null
380+++ b/keyboards/cannonkeys/reverie/solderable/matrix_diagram.md
381@@ -0,0 +1,27 @@
382+# Matrix Diagram for CannonKeys Reverie
383+
384+```
385+ ┌───────┐
386+ 2u Backspace │0D │
387+ └───────┘
388+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
389+│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2C │0E │
390+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐
391+│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │ │
392+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ ISO Enter
393+│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ │1D │ │
394+├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘
395+│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │
396+├────┴┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤
397+│40 │41 │42 │45 │46 │49 │4B │ │4C │4D │4E │
398+└─────┴───┴─────┴───────────┴───┴───────────┴─────┘ └───┴───┴───┘
399+┌────────┐
400+│30 │ 2.25u LShift
401+└────────┘
402+┌─────┬───┬─────┬───────────────────────────┬─────┐
403+│40 │41 │42 │46 │4B │ Blocker Tsangan
404+└─────┴───┴─────┴───────────────────────────┴─────┘
405+┌────┬────┬────┬────────────────────────┬────┬────┐
406+│40 │41 │42 │46 │4A │4B │ Blocker
407+└────┴────┴────┴────────────────────────┴────┴────┘
408+```
409diff --git a/keyboards/cannonkeys/reverie/solderable/mcuconf.h b/keyboards/cannonkeys/reverie/solderable/mcuconf.h
410new file mode 100644
411index 0000000000000000000000000000000000000000..200f75c11b4e7b7f92a1d09c8044f19e634b8ae0
412--- /dev/null
413+++ b/keyboards/cannonkeys/reverie/solderable/mcuconf.h
414@@ -0,0 +1,9 @@
415+// Copyright 2024 Andrew Kannan
416+// SPDX-License-Identifier: GPL-2.0-or-later
417+
418+#pragma once
419+
420+#include_next <mcuconf.h>
421+
422+#undef RP_PWM_USE_PWM3
423+#define RP_PWM_USE_PWM3 TRUE