summaryrefslogtreecommitdiff
path: root/keyboards/handwired/onekey/rp2040
diff options
context:
space:
mode:
authorStefan Kerkmann <karlk90@pm.me>2022-06-30 13:19:27 +0200
committerGitHub <noreply@github.com>2022-06-30 13:19:27 +0200
commitd7173967087e022d20d1f9c812b1b668e9d3f71b (patch)
tree68198271dd5125193795c399c6478ead0a71b09f /keyboards/handwired/onekey/rp2040
parentd206c1791e5858323cff0664f39f95edc1381ac5 (diff)
downloadqmk_firmware-d7173967087e022d20d1f9c812b1b668e9d3f71b.tar.gz
qmk_firmware-d7173967087e022d20d1f9c812b1b668e9d3f71b.zip
[Core] Add Raspberry Pi RP2040 support (#14877)
* Disable RESET keycode because of naming conflicts * Add Pico SDK as submodule * Add RP2040 build support to QMK * Adjust USB endpoint structs for RP2040 * Add RP2040 bootloader and double-tap reset routine * Add generic and pro micro RP2040 boards * Add RP2040 onekey keyboard * Add WS2812 PIO DMA enabled driver and documentation Supports regular and open-drain output configuration. RP2040 GPIOs are sadly not 5V tolerant, so this is a bit use-less or needs extra hardware or you take the risk to fry your hardware. * Adjust SIO Driver for RP2040 * Adjust I2C Driver for RP2040 * Adjust SPI Driver for RP2040 * Add PIO serial driver and documentation * Add general RP2040 documentation * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'keyboards/handwired/onekey/rp2040')
-rw-r--r--keyboards/handwired/onekey/rp2040/config.h17
-rw-r--r--keyboards/handwired/onekey/rp2040/readme.md12
-rw-r--r--keyboards/handwired/onekey/rp2040/rules.mk3
3 files changed, 32 insertions, 0 deletions
diff --git a/keyboards/handwired/onekey/rp2040/config.h b/keyboards/handwired/onekey/rp2040/config.h
new file mode 100644
index 0000000000..f5a122e91b
--- /dev/null
+++ b/keyboards/handwired/onekey/rp2040/config.h
@@ -0,0 +1,17 @@
+// Copyright 2022 Stefan Kerkmann
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "config_common.h"
+
+#define PRODUCT Onekey Raspberry Pi RP2040
+#define MATRIX_COL_PINS { GP4 }
+#define MATRIX_ROW_PINS { GP5 }
+#define DEBUG_MATRIX_SCAN_RATE
+
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP25
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
+
+#define RGB_DI_PIN A1
diff --git a/keyboards/handwired/onekey/rp2040/readme.md b/keyboards/handwired/onekey/rp2040/readme.md
new file mode 100644
index 0000000000..9014479f8d
--- /dev/null
+++ b/keyboards/handwired/onekey/rp2040/readme.md
@@ -0,0 +1,12 @@
+# Raspberry Pi 2040 onekey
+
+To trigger keypress, short together pins *GP4* and *GP5*.
+
+Double-tap reset to enter bootloader mode. Copy the built uf2 file to the device by dragging the file to the new USB disk.
+
+## Supported Hardware
+
+* Raspberry Pi Pico
+* SparkFun Pro Micro - RP2040
+* Adafruit KB2040 - RP2040 Kee Boar
+* ...and many more RP2040 based development boards
diff --git a/keyboards/handwired/onekey/rp2040/rules.mk b/keyboards/handwired/onekey/rp2040/rules.mk
new file mode 100644
index 0000000000..646402d0bb
--- /dev/null
+++ b/keyboards/handwired/onekey/rp2040/rules.mk
@@ -0,0 +1,3 @@
+# MCU name
+MCU = RP2040
+BOOTLOADER = rp2040