~ruther/qmk_firmware

3969d7045e10026f4d9af2f65abfec620c546e12 — Joel Challis 2 years ago fb056c5
Duplicate board files for blok converter (#20629)

* Duplicate board files for blok converter

* Swap converters board file too

* Update platforms/chibios/boards/QMK_BLOK/configs/board.h
M data/mappings/defaults.hjson => data/mappings/defaults.hjson +1 -1
@@ 33,7 33,7 @@
        "blok": {
            "processor": "RP2040",
            "bootloader": "rp2040",
            "board": "QMK_PM2040"
            "board": "QMK_BLOK"
        },
        "michi": {
            "processor": "RP2040",

A platforms/chibios/boards/QMK_BLOK/board/board.mk => platforms/chibios/boards/QMK_BLOK/board/board.mk +9 -0
@@ 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)

A platforms/chibios/boards/QMK_BLOK/configs/board.h => platforms/chibios/boards/QMK_BLOK/configs/board.h +12 -0
@@ 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 "Blok"

A platforms/chibios/boards/QMK_BLOK/configs/chconf.h => platforms/chibios/boards/QMK_BLOK/configs/chconf.h +13 -0
@@ 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>

A platforms/chibios/boards/QMK_BLOK/configs/config.h => platforms/chibios/boards/QMK_BLOK/configs/config.h +21 -0
@@ 0,0 1,21 @@
// Copyright 2022 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#ifndef I2C_DRIVER
#    define I2C_DRIVER I2CD0
#endif
#ifndef I2C1_SDA_PIN
#    define I2C1_SDA_PIN D1
#endif
#ifndef I2C1_SCL_PIN
#    define I2C1_SCL_PIN D0
#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

A platforms/chibios/boards/QMK_BLOK/configs/halconf.h => platforms/chibios/boards/QMK_BLOK/configs/halconf.h +10 -0
@@ 0,0 1,10 @@
// Copyright 2022 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#define HAL_USE_ADC TRUE
#define HAL_USE_I2C TRUE
#define HAL_USE_SPI TRUE

#include_next <halconf.h>

A platforms/chibios/boards/QMK_BLOK/configs/mcuconf.h => platforms/chibios/boards/QMK_BLOK/configs/mcuconf.h +112 -0
@@ 0,0 1,112 @@
/*
    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_ADC1_PRIORITY                3
#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                     TRUE

/*
 * 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)

/*
 * PWM driver system settings.
 */
#define RP_PWM_USE_PWM0                     FALSE
#define RP_PWM_USE_PWM1                     FALSE
#define RP_PWM_USE_PWM2                     FALSE
#define RP_PWM_USE_PWM3                     FALSE
#define RP_PWM_USE_PWM4                     FALSE
#define RP_PWM_USE_PWM5                     FALSE
#define RP_PWM_USE_PWM6                     FALSE
#define RP_PWM_USE_PWM7                     FALSE
#define RP_PWM_IRQ_WRAP_NUMBER_PRIORITY     3

/*
 * I2C driver system settings.
 */
#define RP_I2C_USE_I2C0                     TRUE
#define RP_I2C_USE_I2C1                     FALSE
#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 */

M platforms/chibios/converters/promicro_to_blok/converter.mk => platforms/chibios/converters/promicro_to_blok/converter.mk +1 -1
@@ 1,6 1,6 @@
# Boardsource Blok MCU settings for converting AVR projects
MCU := RP2040
BOARD := QMK_PM2040
BOARD := QMK_BLOK
BOOTLOADER := rp2040

# These are defaults based on what has been implemented for RP2040 boards

Do not follow this link