[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>
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
// Copyright 2022 Stefan Kerkmann
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
/**======================
|
||||
** I2C Driver
|
||||
*========================**/
|
||||
|
||||
#if !defined(I2C_DRIVER)
|
||||
# define I2C_DRIVER I2CD2
|
||||
#endif
|
||||
|
||||
#if !defined(I2C1_SDA_PIN)
|
||||
# define I2C1_SDA_PIN GP2
|
||||
#endif
|
||||
|
||||
#if !defined(I2C1_SCL_PIN)
|
||||
# define I2C1_SCL_PIN GP3
|
||||
#endif
|
||||
|
||||
/**======================
|
||||
** SPI Driver
|
||||
*========================**/
|
||||
|
||||
#if !defined(SPI_DRIVER)
|
||||
# define SPI_DRIVER SPID0
|
||||
#endif
|
||||
|
||||
#if !defined(SPI_SCK_PIN)
|
||||
# define SPI_SCK_PIN GP18
|
||||
#endif
|
||||
|
||||
#if !defined(SPI_MISO_PIN)
|
||||
# define SPI_MISO_PIN GP20
|
||||
#endif
|
||||
|
||||
#if !defined(SPI_MOSI_PIN)
|
||||
# define SPI_MOSI_PIN GP19
|
||||
#endif
|
||||
|
||||
/**======================
|
||||
** SERIAL Driver
|
||||
*========================**/
|
||||
|
||||
#if !defined(SERIAL_USART_DRIVER)
|
||||
# define SERIAL_USART_DRIVER SIOD0
|
||||
#endif
|
||||
|
||||
#if !defined(SERIAL_USART_TX_PIN) && !defined(SOFT_SERIAL_PIN)
|
||||
# define SERIAL_USART_TX_PIN GP0
|
||||
#endif
|
||||
|
||||
#if !defined(SERIAL_USART_RX_PIN)
|
||||
# define SERIAL_USART_RX_PIN GP1
|
||||
#endif
|
||||
|
||||
/**======================
|
||||
** Double-tap
|
||||
*========================**/
|
||||
|
||||
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
Reference in New Issue
Block a user