summaryrefslogtreecommitdiff
path: root/docs/flashing.md
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 /docs/flashing.md
parentd206c1791e5858323cff0664f39f95edc1381ac5 (diff)
[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 'docs/flashing.md')
-rw-r--r--docs/flashing.md39
1 files changed, 39 insertions, 0 deletions
diff --git a/docs/flashing.md b/docs/flashing.md
index dfb255f2dc..5e5dcb34e4 100644
--- a/docs/flashing.md
+++ b/docs/flashing.md
@@ -362,3 +362,42 @@ CLI Flashing sequence:
362### `make` Targets 362### `make` Targets
363 363
364* `:uf2-split-left` and `:uf2-split-right`: Flashes the firmware but also sets the handedness setting in EEPROM by generating a side specific firmware. 364* `:uf2-split-left` and `:uf2-split-right`: Flashes the firmware but also sets the handedness setting in EEPROM by generating a side specific firmware.
365
366## Raspberry Pi RP2040 UF2
367
368The `rules.mk` setting for this bootloader is `rp2040`, and can be specified at the keymap or user level.
369
370To ensure compatibility with the rp2040 bootloader, make sure this block is present in your `rules.mk`:
371
372```make
373# Bootloader selection
374BOOTLOADER = rp2040
375```
376
377Compatible flashers:
378
379* Any application able to copy a file from one place to another, such as _macOS Finder_ or _Windows Explorer_.
380
381Flashing sequence:
382
3831. Enter the bootloader using any of the following methods:
384 * Tap the `QK_BOOTLOADER` keycode
385 * Hold the `BOOTSEL` button on the PCB while plugin in the usb cable.
386 * Double-tap the `RESET` button on the PCB<sup>1</sup>.
3872. Wait for the OS to detect the device
3883. Copy the .uf2 file to the new USB disk
3894. Wait for the keyboard to become available
390
391or
392
393CLI Flashing sequence:
394
3951. Enter the bootloader using any of the following methods:
396 * Tap the `QK_BOOTLOADER` keycode
397 * Hold the `BOOTSEL` button on the PCB while plugin in the usb cable.
398 * Double-tap the `RESET` button on the PCB<sup>1</sup>.
3992. Wait for the OS to detect the device
4003. Flash via QMK CLI eg. `qmk flash --keyboard handwired/onekey/rpi_pico --keymap default`
4014. Wait for the keyboard to become available
402
403<sup>1</sup>: This works only if QMK was compiled with `RP2040_BOOTLOADER_DOUBLE_TAP_RESET` defined.