mirror of
https://github.com/qmk/qmk_firmware
synced 2024-11-17 17:35:30 +00:00
Add kb2040 and sparkfun rp2040 converters (#17514)
This commit is contained in:
parent
29a2bac469
commit
744af003be
12 changed files with 265 additions and 1 deletions
|
@ -16,6 +16,18 @@
|
|||
"board": "QMK_PROTON_C",
|
||||
"pin_compatible": "promicro"
|
||||
},
|
||||
"kb2040": {
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"board": "QMK_PM2040",
|
||||
"pin_compatible": "promicro"
|
||||
},
|
||||
"promicro_rp2040": {
|
||||
"processor": "RP2040",
|
||||
"bootloader": "rp2040",
|
||||
"board": "QMK_PM2040",
|
||||
"pin_compatible": "promicro"
|
||||
},
|
||||
"bluepill": {
|
||||
"processor": "STM32F103",
|
||||
"bootloader": "stm32duino",
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
},
|
||||
"development_board": {
|
||||
"type": "string",
|
||||
"enum": ["promicro", "elite_c", "proton_c", "bluepill", "blackpill_f401", "blackpill_f411"]
|
||||
"enum": ["promicro", "elite_c", "proton_c", "kb2040", "promicro_rp2040", "bluepill", "blackpill_f401", "blackpill_f411"]
|
||||
},
|
||||
"pin_compatible": {
|
||||
"type": "string",
|
||||
|
|
9
platforms/chibios/boards/QMK_PM2040/board/board.mk
Normal file
9
platforms/chibios/boards/QMK_PM2040/board/board.mk
Normal file
|
@ -0,0 +1,9 @@
|
|||
# List of all the board related files.
|
||||
BOARDSRC = $(CHIBIOS)/os/hal/boards/RP_PICO_RP2040/board.c
|
||||
|
||||
# Required include directories
|
||||
BOARDINC = $(CHIBIOS)/os/hal/boards/RP_PICO_RP2040
|
||||
|
||||
# Shared variables
|
||||
ALLCSRC += $(BOARDSRC)
|
||||
ALLINC += $(BOARDINC)
|
12
platforms/chibios/boards/QMK_PM2040/configs/board.h
Normal file
12
platforms/chibios/boards/QMK_PM2040/configs/board.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
// Copyright 2022 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include_next "board.h"
|
||||
|
||||
#undef BOARD_RP_PICO_RP2040
|
||||
#define BOARD_PM2040
|
||||
|
||||
#undef BOARD_NAME
|
||||
#define BOARD_NAME "Pro Micro RP2040"
|
13
platforms/chibios/boards/QMK_PM2040/configs/chconf.h
Normal file
13
platforms/chibios/boards/QMK_PM2040/configs/chconf.h
Normal file
|
@ -0,0 +1,13 @@
|
|||
// Copyright 2022 Stefan Kerkmann
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define CH_CFG_SMP_MODE TRUE
|
||||
#define CH_CFG_ST_RESOLUTION 32
|
||||
#define CH_CFG_ST_FREQUENCY 1000000
|
||||
#define CH_CFG_INTERVALS_SIZE 32
|
||||
#define CH_CFG_TIME_TYPES_SIZE 32
|
||||
#define CH_CFG_ST_TIMEDELTA 20
|
||||
|
||||
#include_next <chconf.h>
|
21
platforms/chibios/boards/QMK_PM2040/configs/config.h
Normal file
21
platforms/chibios/boards/QMK_PM2040/configs/config.h
Normal file
|
@ -0,0 +1,21 @@
|
|||
// Copyright 2022 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef I2C_DRIVER
|
||||
# define I2C_DRIVER I2CD2
|
||||
#endif
|
||||
#ifndef I2C1_SDA_PIN
|
||||
# define I2C1_SDA_PIN D2
|
||||
#endif
|
||||
#ifndef I2C1_SCL_PIN
|
||||
# define I2C1_SCL_PIN D3
|
||||
#endif
|
||||
|
||||
#ifndef RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
# define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||
#endif
|
||||
#ifndef RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT
|
||||
# define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
|
||||
#endif
|
9
platforms/chibios/boards/QMK_PM2040/configs/halconf.h
Normal file
9
platforms/chibios/boards/QMK_PM2040/configs/halconf.h
Normal file
|
@ -0,0 +1,9 @@
|
|||
// Copyright 2022 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define HAL_USE_I2C TRUE
|
||||
#define HAL_USE_SPI TRUE
|
||||
|
||||
#include_next <halconf.h>
|
98
platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h
Normal file
98
platforms/chibios/boards/QMK_PM2040/configs/mcuconf.h
Normal file
|
@ -0,0 +1,98 @@
|
|||
/*
|
||||
ChibiOS - Copyright (C) 2006..2021 Giovanni Di Sirio
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef MCUCONF_H
|
||||
#define MCUCONF_H
|
||||
|
||||
/*
|
||||
* RP2040_MCUCONF drivers configuration.
|
||||
*
|
||||
* IRQ priorities:
|
||||
* 3...0 Lowest...Highest.
|
||||
*
|
||||
* DMA priorities:
|
||||
* 0...1 Lowest...Highest.
|
||||
*/
|
||||
|
||||
#define RP2040_MCUCONF
|
||||
|
||||
/*
|
||||
* HAL driver system settings.
|
||||
*/
|
||||
#define RP_NO_INIT FALSE
|
||||
#define RP_CORE1_START FALSE
|
||||
#define RP_CORE1_VECTORS_TABLE _vectors
|
||||
#define RP_CORE1_ENTRY_POINT _crt0_c1_entry
|
||||
#define RP_CORE1_STACK_END __c1_main_stack_end__
|
||||
|
||||
/*
|
||||
* IRQ system settings.
|
||||
*/
|
||||
#define RP_IRQ_SYSTICK_PRIORITY 2
|
||||
#define RP_IRQ_TIMER_ALARM0_PRIORITY 2
|
||||
#define RP_IRQ_TIMER_ALARM1_PRIORITY 2
|
||||
#define RP_IRQ_TIMER_ALARM2_PRIORITY 2
|
||||
#define RP_IRQ_TIMER_ALARM3_PRIORITY 2
|
||||
#define RP_IRQ_UART0_PRIORITY 3
|
||||
#define RP_IRQ_UART1_PRIORITY 3
|
||||
#define RP_IRQ_SPI0_PRIORITY 2
|
||||
#define RP_IRQ_SPI1_PRIORITY 2
|
||||
#define RP_IRQ_USB0_PRIORITY 3
|
||||
#define RP_IRQ_I2C0_PRIORITY 2
|
||||
#define RP_IRQ_I2C1_PRIORITY 2
|
||||
|
||||
/*
|
||||
* ADC driver system settings.
|
||||
*/
|
||||
#define RP_ADC_USE_ADC1 FALSE
|
||||
|
||||
/*
|
||||
* SIO driver system settings.
|
||||
*/
|
||||
#define RP_SIO_USE_UART0 FALSE
|
||||
#define RP_SIO_USE_UART1 FALSE
|
||||
|
||||
/*
|
||||
* SPI driver system settings.
|
||||
*/
|
||||
#define RP_SPI_USE_SPI0 TRUE
|
||||
#define RP_SPI_USE_SPI1 FALSE
|
||||
#define RP_SPI_SPI0_RX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
|
||||
#define RP_SPI_SPI0_TX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
|
||||
#define RP_SPI_SPI1_RX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
|
||||
#define RP_SPI_SPI1_TX_DMA_CHANNEL RP_DMA_CHANNEL_ID_ANY
|
||||
#define RP_SPI_SPI0_DMA_PRIORITY 1
|
||||
#define RP_SPI_SPI1_DMA_PRIORITY 1
|
||||
#define RP_SPI_DMA_ERROR_HOOK(spip)
|
||||
|
||||
/*
|
||||
* I2C driver system settings.
|
||||
*/
|
||||
#define RP_I2C_USE_I2C0 FALSE
|
||||
#define RP_I2C_USE_I2C1 TRUE
|
||||
#define RP_I2C_BUSY_TIMEOUT 50
|
||||
#define RP_I2C_ADDRESS_MODE_10BIT FALSE
|
||||
|
||||
/*
|
||||
* USB driver system settings.
|
||||
*/
|
||||
#define RP_USB_USE_USBD0 TRUE
|
||||
#define RP_USB_FORCE_VBUS_DETECT TRUE
|
||||
#define RP_USE_EXTERNAL_VBUS_DETECT FALSE
|
||||
#define RP_USB_USE_SOF_INTR TRUE
|
||||
#define RP_USB_USE_ERROR_DATA_SEQ_INTR FALSE
|
||||
|
||||
#endif /* MCUCONF_H */
|
36
platforms/chibios/converters/promicro_to_kb2040/_pin_defs.h
Normal file
36
platforms/chibios/converters/promicro_to_kb2040/_pin_defs.h
Normal file
|
@ -0,0 +1,36 @@
|
|||
// Copyright 2022 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
// Left side (front)
|
||||
#define D3 0U
|
||||
#define D2 1U
|
||||
// GND
|
||||
// GND
|
||||
#define D1 2U
|
||||
#define D0 3U
|
||||
#define D4 4U
|
||||
#define C6 5U
|
||||
#define D7 6U
|
||||
#define E6 7U
|
||||
#define B4 8U
|
||||
#define B5 9U
|
||||
|
||||
// Right side (front)
|
||||
// RAW
|
||||
// GND
|
||||
// RESET
|
||||
// VCC
|
||||
#define F4 29U
|
||||
#define F5 28U
|
||||
#define F6 27U
|
||||
#define F7 26U
|
||||
#define B1 18U
|
||||
#define B3 20U
|
||||
#define B2 19U
|
||||
#define B6 10U
|
||||
|
||||
// LEDs (Mapped to QT connector to avoid collisions with button/neopixel)
|
||||
#define D5 12U
|
||||
#define B0 13U
|
|
@ -0,0 +1,9 @@
|
|||
# Adafruit KB2040 MCU settings for converting AVR projects
|
||||
MCU := RP2040
|
||||
BOARD := QMK_PM2040
|
||||
BOOTLOADER := rp2040
|
||||
|
||||
# These are defaults based on what has been implemented for RP2040 boards
|
||||
SERIAL_DRIVER ?= vendor
|
||||
WS2812_DRIVER ?= vendor
|
||||
BACKLIGHT_DRIVER ?= software
|
|
@ -0,0 +1,36 @@
|
|||
// Copyright 2022 QMK
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
// Left side (front)
|
||||
#define D3 0U
|
||||
#define D2 1U
|
||||
// GND
|
||||
// GND
|
||||
#define D1 2U
|
||||
#define D0 3U
|
||||
#define D4 4U
|
||||
#define C6 5U
|
||||
#define D7 6U
|
||||
#define E6 7U
|
||||
#define B4 8U
|
||||
#define B5 9U
|
||||
|
||||
// Right side (front)
|
||||
// RAW
|
||||
// GND
|
||||
// RESET
|
||||
// VCC
|
||||
#define F4 29U
|
||||
#define F5 28U
|
||||
#define F6 27U
|
||||
#define F7 26U
|
||||
#define B1 22U
|
||||
#define B3 20U
|
||||
#define B2 23U
|
||||
#define B6 21U
|
||||
|
||||
// LEDs (Mapped to QT connector to avoid collisions with button/neopixel)
|
||||
#define D5 17U
|
||||
#define B0 16U
|
|
@ -0,0 +1,9 @@
|
|||
# Sparkfun Pro Micro RP2040 MCU settings for converting AVR projects
|
||||
MCU := RP2040
|
||||
BOARD := QMK_PM2040
|
||||
BOOTLOADER := rp2040
|
||||
|
||||
# These are defaults based on what has been implemented for RP2040 boards
|
||||
SERIAL_DRIVER ?= vendor
|
||||
WS2812_DRIVER ?= vendor
|
||||
BACKLIGHT_DRIVER ?= software
|
Loading…
Reference in a new issue