summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjack <0x6A73@pm.me>2022-08-30 01:20:05 -0600
committerGitHub <noreply@github.com>2022-08-30 08:20:05 +0100
commit035e7fdb8ba2e4533c809b2dfe0f15ea7116c508 (patch)
tree58f925fbd255c8f385202a7c9b512a49d4407a83
parentf3d52d8fe81da5044db4bb675ae788393d7c06a5 (diff)
downloadqmk_firmware-035e7fdb8ba2e4533c809b2dfe0f15ea7116c508.tar.gz
qmk_firmware-035e7fdb8ba2e4533c809b2dfe0f15ea7116c508.zip
Add boardsource/lulu RP2040 support (#18200)
by waffle87
-rw-r--r--keyboards/boardsource/lulu/avr/info.json21
-rw-r--r--keyboards/boardsource/lulu/avr/rules.mk1
-rw-r--r--keyboards/boardsource/lulu/config.h2
-rw-r--r--keyboards/boardsource/lulu/info.json22
-rw-r--r--keyboards/boardsource/lulu/readme.md13
-rw-r--r--keyboards/boardsource/lulu/rp2040/config.h11
-rw-r--r--keyboards/boardsource/lulu/rp2040/halconf.h5
-rw-r--r--keyboards/boardsource/lulu/rp2040/info.json17
-rw-r--r--keyboards/boardsource/lulu/rp2040/mcuconf.h6
-rw-r--r--keyboards/boardsource/lulu/rp2040/rules.mk2
-rw-r--r--keyboards/boardsource/lulu/rules.mk2
11 files changed, 81 insertions, 21 deletions
diff --git a/keyboards/boardsource/lulu/avr/info.json b/keyboards/boardsource/lulu/avr/info.json
new file mode 100644
index 0000000000..ad7eefa77f
--- /dev/null
+++ b/keyboards/boardsource/lulu/avr/info.json
@@ -0,0 +1,21 @@
+{
+ "build": {
+ "lto": true
+ },
+ "development_board": "elite_c",
+ "matrix_pins": {
+ "cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
+ "rows": ["C6", "D7", "E6", "B4", "B5"]
+ },
+ "split": {
+ "soft_serial_pin": "D2"
+ },
+ "rgblight": {
+ "pin": "D3"
+ },
+ "encoder": {
+ "rotary": [
+ { "pin_a": "F0", "pin_b": "F1" }
+ ]
+ }
+}
diff --git a/keyboards/boardsource/lulu/avr/rules.mk b/keyboards/boardsource/lulu/avr/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/boardsource/lulu/avr/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/boardsource/lulu/config.h b/keyboards/boardsource/lulu/config.h
index f96a228429..8e635a24eb 100644
--- a/keyboards/boardsource/lulu/config.h
+++ b/keyboards/boardsource/lulu/config.h
@@ -2,8 +2,6 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#include "config_common.h"
-#define RGB_DI_PIN D3
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
#define DRIVER_LED_TOTAL 70
#define RGB_MATRIX_SPLIT { 35, 35 }
diff --git a/keyboards/boardsource/lulu/info.json b/keyboards/boardsource/lulu/info.json
index 5ee5c59c1a..3418cd6e7a 100644
--- a/keyboards/boardsource/lulu/info.json
+++ b/keyboards/boardsource/lulu/info.json
@@ -2,11 +2,7 @@
"manufacturer": "Boardsource",
"keyboard_name": "lulu",
"maintainer": "waffle87",
- "bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
- "build": {
- "lto": true
- },
"features": {
"bootmagic": true,
"extrakey": true,
@@ -15,11 +11,6 @@
"rgb_matrix": true,
"oled": true
},
- "matrix_pins": {
- "cols": ["F6", "F7", "B1", "B3", "B2", "B6"],
- "rows": ["C6", "D7", "E6", "B4", "B5"]
- },
- "processor": "atmega32u4",
"url": "https://boardsource.xyz/projects/60de24d6847112054777bbdd",
"usb": {
"device_version": "1.0.0",
@@ -27,16 +18,17 @@
"vid": "0x4273"
},
"split": {
- "enabled": true,
- "soft_serial_pin": "D2"
+ "enabled": true
},
"encoder": {
- "enabled": true,
- "rotary": [
- { "pin_a": "F0", "pin_b": "F1" }
- ]
+ "enabled": true
+ },
+ "matrix_size": {
+ "cols": 6,
+ "rows": 10
},
"rgb_matrix": {
+ "driver": "WS2812",
"layout": [
{ "flags": 2, "x": 86, "y": 55 },
{ "flags": 2, "x": 51, "y": 55 },
diff --git a/keyboards/boardsource/lulu/readme.md b/keyboards/boardsource/lulu/readme.md
index e7c530161b..a1c184eaac 100644
--- a/keyboards/boardsource/lulu/readme.md
+++ b/keyboards/boardsource/lulu/readme.md
@@ -12,13 +12,20 @@ The lulu is what the ergo community has needed for a long time, a high-end aesth
Make example for this keyboard (after setting up your build environment):
- make boardsource/lulu:default
+ make boardsource/lulu/rp2040:default
+ make boardsource/lulu/avr:default
Flashing example for this keyboard:
- make boardsource/lulu:default:flash
+ make boardsource/lulu/rp2040:default:flash
+ make boardsource/lulu/avr:default:flash
-Reset keyboard by holding down top left key while you plug in the usb cable. Or by pushing the reset switch on the pcb.
+
+Compile `rp2040` firmware if you purchased PCB in lulu group buy (integrated microcontroller).
+Compile `avr` firmware if your PCB uses a drop-in microcontroller like Pro Micro.
+
+
+Enter bootloader by holding down the upper outer key while you plug in the usb cable, or by pushing the reset switch on the pcb.
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/boardsource/lulu/rp2040/config.h b/keyboards/boardsource/lulu/rp2040/config.h
new file mode 100644
index 0000000000..2e02e03500
--- /dev/null
+++ b/keyboards/boardsource/lulu/rp2040/config.h
@@ -0,0 +1,11 @@
+// Copyright 2022 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U
+#define SERIAL_USART_FULL_DUPLEX
+#define SERIAL_USART_TX_PIN GP0
+#define SERIAL_USART_RX_PIN GP1
+#define I2C_DRIVER I2CD2
+#define I2C1_SDA_PIN GP22
+#define I2C1_SCL_PIN GP23
diff --git a/keyboards/boardsource/lulu/rp2040/halconf.h b/keyboards/boardsource/lulu/rp2040/halconf.h
new file mode 100644
index 0000000000..9b8ab5d023
--- /dev/null
+++ b/keyboards/boardsource/lulu/rp2040/halconf.h
@@ -0,0 +1,5 @@
+// Copyright 2022 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+#define HAL_USE_I2C TRUE
+#include_next <halconf.h>
diff --git a/keyboards/boardsource/lulu/rp2040/info.json b/keyboards/boardsource/lulu/rp2040/info.json
new file mode 100644
index 0000000000..a384241944
--- /dev/null
+++ b/keyboards/boardsource/lulu/rp2040/info.json
@@ -0,0 +1,17 @@
+{
+ "bootloader": "rp2040",
+ "matrix_pins": {
+ "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7"],
+ "rows": ["GP14", "GP15", "GP16", "GP17", "GP18"]
+ },
+ "processor": "RP2040",
+ "rgblight": {
+ "pin": "GP29",
+ "led_count": 70
+ },
+ "encoder": {
+ "rotary": [
+ { "pin_a": "GP8", "pin_b": "GP9" }
+ ]
+ }
+}
diff --git a/keyboards/boardsource/lulu/rp2040/mcuconf.h b/keyboards/boardsource/lulu/rp2040/mcuconf.h
new file mode 100644
index 0000000000..6f05b8bbe8
--- /dev/null
+++ b/keyboards/boardsource/lulu/rp2040/mcuconf.h
@@ -0,0 +1,6 @@
+// Copyright 2022 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+#include_next <mcuconf.h>
+#undef RP_I2C_USE_I2C1
+#define RP_I2C_USE_I2C1 TRUE
diff --git a/keyboards/boardsource/lulu/rp2040/rules.mk b/keyboards/boardsource/lulu/rp2040/rules.mk
new file mode 100644
index 0000000000..8fb51ec82d
--- /dev/null
+++ b/keyboards/boardsource/lulu/rp2040/rules.mk
@@ -0,0 +1,2 @@
+SERIAL_DRIVER = vendor
+WS2812_DRIVER = vendor
diff --git a/keyboards/boardsource/lulu/rules.mk b/keyboards/boardsource/lulu/rules.mk
index 32afd21635..6e7633bfe0 100644
--- a/keyboards/boardsource/lulu/rules.mk
+++ b/keyboards/boardsource/lulu/rules.mk
@@ -1 +1 @@
-RGB_MATRIX_DRIVER = WS2812
+# This file intentionally left blank