~ruther/qmk_firmware

327f7ee9a74f1740106d46e65e909208a1372ad3 — Nick Brassel 2 years ago 17c9388
Fixup ChibiOS header inclusion search ordering. (#19623)

* Add STM32F446-Nucleo onekey. 

* Fixup onekey build for F446, all keymaps.

* Fixup board inclusion search ordering.
100 files changed, 195 insertions(+), 91 deletions(-)

M keyboards/akb/vero/mcuconf.h
M keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h
M keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h
M keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h
M keyboards/bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h
M keyboards/bastardkb/charybdis/3x5/v2/splinky_3/mcuconf.h
M keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h
M keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h
M keyboards/bastardkb/charybdis/3x6/v2/splinky_2/mcuconf.h
M keyboards/bastardkb/charybdis/3x6/v2/splinky_3/mcuconf.h
M keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h
M keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h
M keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h
M keyboards/bastardkb/charybdis/4x6/v2/splinky_2/mcuconf.h
M keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h
M keyboards/bastardkb/dilemma/3x5_2/assembled/halconf.h
M keyboards/bastardkb/dilemma/3x5_2/assembled/mcuconf.h
M keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/halconf.h
M keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/mcuconf.h
M keyboards/bastardkb/dilemma/3x5_2/splinky/halconf.h
M keyboards/bastardkb/dilemma/3x5_2/splinky/mcuconf.h
M keyboards/bastardkb/dilemma/3x5_3/halconf.h
M keyboards/bastardkb/dilemma/3x5_3/mcuconf.h
M keyboards/controllerworks/mini36/halconf.h
M keyboards/controllerworks/mini36/mcuconf.h
M keyboards/controllerworks/mini42/halconf.h
M keyboards/controllerworks/mini42/mcuconf.h
M keyboards/drop/sense75/board.h
M keyboards/halokeys/elemental75/chconf.h
M keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h
M keyboards/handwired/macroboard/mcuconf.h
M keyboards/handwired/onekey/blackpill_f401/mcuconf.h
M keyboards/handwired/onekey/blackpill_f401_tinyuf2/mcuconf.h
M keyboards/handwired/onekey/blackpill_f411/mcuconf.h
M keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h
M keyboards/handwired/onekey/evb_wb32f3g71/mcuconf.h
M keyboards/handwired/onekey/evb_wb32fq95/mcuconf.h
M keyboards/handwired/onekey/keymaps/default/keymap.c
A keyboards/handwired/onekey/nucleo_f446re/board.h
A keyboards/handwired/onekey/nucleo_f446re/config.h
A keyboards/handwired/onekey/nucleo_f446re/halconf.h
A keyboards/handwired/onekey/nucleo_f446re/info.json
A keyboards/handwired/onekey/nucleo_f446re/mcuconf.h
A keyboards/handwired/onekey/nucleo_f446re/readme.md
A keyboards/handwired/onekey/nucleo_f446re/rules.mk
M keyboards/handwired/onekey/proton_c/mcuconf.h
M keyboards/handwired/onekey/rp2040/mcuconf.h
M keyboards/handwired/pill60/blackpill_f401/mcuconf.h
M keyboards/handwired/pill60/blackpill_f411/mcuconf.h
M keyboards/handwired/tractyl_manuform/5x6_right/f303/mcuconf.h
M keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h
M keyboards/handwired/uthol/rev3/mcuconf.h
M keyboards/keebio/sinc/rev3/halconf.h
M keyboards/keebio/sinc/rev3/mcuconf.h
M keyboards/kin80/blackpill401/mcuconf.h
M keyboards/kin80/blackpill411/mcuconf.h
M keyboards/linworks/whale75/chconf.h
M keyboards/linworks/whale75/mcuconf.h
M keyboards/mino_plus/soldered/mcuconf.h
M keyboards/moonlander/mcuconf.h
M keyboards/planck/ez/mcuconf.h
M keyboards/planck/rev6/mcuconf.h
M keyboards/planck/rev6_drop/mcuconf.h
M keyboards/preonic/rev3/mcuconf.h
M keyboards/preonic/rev3_drop/mcuconf.h
M keyboards/splitkb/kyria/rev1/proton_c/chconf.h
M keyboards/splitkb/kyria/rev2/proton_c/chconf.h
M keyboards/teleport/native/mcuconf.h
M keyboards/tzarc/ghoul/rev1/stm32/board.h
M keyboards/weirdo/geminate60/chconf.h
M keyboards/yandrstudio/buff67v3/board.h
M keyboards/yandrstudio/eau87/board.h
M keyboards/yandrstudio/eau_r2/board.h
M keyboards/yandrstudio/nightstar75/board.h
M keyboards/yandrstudio/nz64/board.h
M keyboards/yandrstudio/nz67v2/board.h
M keyboards/yandrstudio/tg67/board.h
M keyboards/yandrstudio/wave75/board.h
M keyboards/yandrstudio/yr6095/board.h
M keyboards/yandrstudio/yr80/board.h
M keyboards/yandrstudio/zhou65/board.h
M layouts/community/split_3x6_3/drashna/chconf.h
M lib/python/qmk/cli/lint.py
M platforms/chibios/boards/BLACKPILL_STM32_F401/configs/board.h
M platforms/chibios/boards/BLACKPILL_STM32_F411/configs/board.h
M platforms/chibios/boards/BONSAI_C4/configs/board.h
M platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/board.h
M platforms/chibios/boards/GENERIC_RP_RP2040/configs/board.h
M platforms/chibios/boards/GENERIC_STM32_F072XB/configs/board.h
M platforms/chibios/boards/GENERIC_STM32_F303XC/configs/board.h
M platforms/chibios/boards/GENERIC_STM32_F401XC/configs/board.h
M platforms/chibios/boards/GENERIC_STM32_F405XG/configs/board.h
M platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h
M platforms/chibios/boards/GENERIC_STM32_F411XE/configs/board.h
M platforms/chibios/boards/GENERIC_STM32_F446XE/configs/board.h
M platforms/chibios/boards/GENERIC_STM32_L412XB/configs/board.h
M platforms/chibios/boards/GENERIC_STM32_L433XC/configs/board.h
M platforms/chibios/boards/QMK_PM2040/configs/board.h
M platforms/chibios/boards/QMK_PROTON_C/configs/board.h
M platforms/chibios/boards/STEMCELL/configs/board.h
M keyboards/akb/vero/mcuconf.h => keyboards/akb/vero/mcuconf.h +1 -1
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include_next "mcuconf.h"
#include_next <mcuconf.h>
/* Set PLL M divider from 4 (F411 GENERIC default) to 8, because of 16 MHz crystal on board */
#undef STM32_PLLM_VALUE
#define STM32_PLLM_VALUE                    8

M keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h => keyboards/bastardkb/charybdis/3x5/blackpill/halconf.h +1 -1
@@ 24,4 24,4 @@
#define SPI_USE_WAIT TRUE
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD

#include_next "halconf.h"
#include_next <halconf.h>

M keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h => keyboards/bastardkb/charybdis/3x5/blackpill/mcuconf.h +1 -1
@@ 19,7 19,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_PWM_USE_TIM2
#define STM32_PWM_USE_TIM2 TRUE

M keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h => keyboards/bastardkb/charybdis/3x5/keymaps/drashna/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#if defined(KEYBOARD_bastardkb_charybdis_3x5_blackpill)
#    undef STM32_I2C_USE_I2C1

M keyboards/bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h => keyboards/bastardkb/charybdis/3x5/v2/splinky_2/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_SPI_USE_SPI0
#define RP_SPI_USE_SPI0 TRUE

M keyboards/bastardkb/charybdis/3x5/v2/splinky_3/mcuconf.h => keyboards/bastardkb/charybdis/3x5/v2/splinky_3/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_SPI_USE_SPI0
#define RP_SPI_USE_SPI0 TRUE

M keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h => keyboards/bastardkb/charybdis/3x6/blackpill/halconf.h +1 -1
@@ 24,4 24,4 @@
#define SPI_USE_WAIT TRUE
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD

#include_next "halconf.h"
#include_next <halconf.h>

M keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h => keyboards/bastardkb/charybdis/3x6/blackpill/mcuconf.h +1 -1
@@ 19,7 19,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_PWM_USE_TIM2
#define STM32_PWM_USE_TIM2 TRUE

M keyboards/bastardkb/charybdis/3x6/v2/splinky_2/mcuconf.h => keyboards/bastardkb/charybdis/3x6/v2/splinky_2/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_SPI_USE_SPI0
#define RP_SPI_USE_SPI0 TRUE

M keyboards/bastardkb/charybdis/3x6/v2/splinky_3/mcuconf.h => keyboards/bastardkb/charybdis/3x6/v2/splinky_3/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_SPI_USE_SPI0
#define RP_SPI_USE_SPI0 TRUE

M keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h => keyboards/bastardkb/charybdis/4x6/blackpill/halconf.h +1 -1
@@ 24,4 24,4 @@
#define SPI_USE_WAIT TRUE
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD

#include_next "halconf.h"
#include_next <halconf.h>

M keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h => keyboards/bastardkb/charybdis/4x6/blackpill/mcuconf.h +1 -1
@@ 19,7 19,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_PWM_USE_TIM2
#define STM32_PWM_USE_TIM2 TRUE

M keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h => keyboards/bastardkb/charybdis/4x6/keymaps/drashna/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#if defined(KEYBOARD_bastardkb_charybdis_4x6_blackpill)
#    undef STM32_PWM_USE_ADVANCED

M keyboards/bastardkb/charybdis/4x6/v2/splinky_2/mcuconf.h => keyboards/bastardkb/charybdis/4x6/v2/splinky_2/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_SPI_USE_SPI0
#define RP_SPI_USE_SPI0 TRUE

M keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h => keyboards/bastardkb/charybdis/4x6/v2/splinky_3/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_SPI_USE_SPI0
#define RP_SPI_USE_SPI0 TRUE

M keyboards/bastardkb/dilemma/3x5_2/assembled/halconf.h => keyboards/bastardkb/dilemma/3x5_2/assembled/halconf.h +1 -1
@@ 19,4 19,4 @@

#define HAL_USE_SPI TRUE

#include_next "halconf.h"
#include_next <halconf.h>

M keyboards/bastardkb/dilemma/3x5_2/assembled/mcuconf.h => keyboards/bastardkb/dilemma/3x5_2/assembled/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_SPI_USE_SPI1
#define RP_SPI_USE_SPI1 TRUE

M keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/halconf.h => keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/halconf.h +1 -1
@@ 20,4 20,4 @@
#define HAL_USE_SPI TRUE
#define HAL_USE_I2C TRUE

#include_next "halconf.h"
#include_next <halconf.h>

M keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/mcuconf.h => keyboards/bastardkb/dilemma/3x5_2/keymaps/drashna/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_SPI_USE_SPI1
#define RP_SPI_USE_SPI1 TRUE

M keyboards/bastardkb/dilemma/3x5_2/splinky/halconf.h => keyboards/bastardkb/dilemma/3x5_2/splinky/halconf.h +1 -1
@@ 18,4 18,4 @@

#define HAL_USE_I2C TRUE

#include_next "halconf.h"
#include_next <halconf.h>

M keyboards/bastardkb/dilemma/3x5_2/splinky/mcuconf.h => keyboards/bastardkb/dilemma/3x5_2/splinky/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_I2C_USE_I2C1
#define RP_I2C_USE_I2C1 TRUE

M keyboards/bastardkb/dilemma/3x5_3/halconf.h => keyboards/bastardkb/dilemma/3x5_3/halconf.h +1 -1
@@ 20,4 20,4 @@
#define HAL_USE_I2C TRUE
#define HAL_USE_SPI TRUE

#include_next "halconf.h"
#include_next <halconf.h>

M keyboards/bastardkb/dilemma/3x5_3/mcuconf.h => keyboards/bastardkb/dilemma/3x5_3/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_SPI_USE_SPI1
#define RP_SPI_USE_SPI1 TRUE

M keyboards/controllerworks/mini36/halconf.h => keyboards/controllerworks/mini36/halconf.h +1 -1
@@ 19,4 19,4 @@

#define HAL_USE_I2C TRUE

#include_next "halconf.h"
#include_next <halconf.h>

M keyboards/controllerworks/mini36/mcuconf.h => keyboards/controllerworks/mini36/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_I2C_USE_I2C0
#define RP_I2C_USE_I2C0 TRUE
\ No newline at end of file

M keyboards/controllerworks/mini42/halconf.h => keyboards/controllerworks/mini42/halconf.h +1 -1
@@ 19,4 19,4 @@

#define HAL_USE_I2C TRUE

#include_next "halconf.h"
#include_next <halconf.h>

M keyboards/controllerworks/mini42/mcuconf.h => keyboards/controllerworks/mini42/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_I2C_USE_I2C0
#define RP_I2C_USE_I2C0 TRUE
\ No newline at end of file

M keyboards/drop/sense75/board.h => keyboards/drop/sense75/board.h +1 -1
@@ 2,7 2,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000U

M keyboards/halokeys/elemental75/chconf.h => keyboards/halokeys/elemental75/chconf.h +1 -1
@@ 18,4 18,4 @@
// so we need to change resolution and frequency to match.
#define CH_CFG_ST_RESOLUTION 16
#define CH_CFG_ST_FREQUENCY 10000
#include_next "chconf.h"
#include_next <chconf.h>

M keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h => keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_SERIAL_USE_USART1
#define STM32_SERIAL_USE_USART1 TRUE

M keyboards/handwired/macroboard/mcuconf.h => keyboards/handwired/macroboard/mcuconf.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_PWM_USE_TIM2
#define STM32_PWM_USE_TIM2 TRUE

M keyboards/handwired/onekey/blackpill_f401/mcuconf.h => keyboards/handwired/onekey/blackpill_f401/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_ADC_USE_ADC1
#define STM32_ADC_USE_ADC1 TRUE

M keyboards/handwired/onekey/blackpill_f401_tinyuf2/mcuconf.h => keyboards/handwired/onekey/blackpill_f401_tinyuf2/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_ADC_USE_ADC1
#define STM32_ADC_USE_ADC1 TRUE

M keyboards/handwired/onekey/blackpill_f411/mcuconf.h => keyboards/handwired/onekey/blackpill_f411/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_ADC_USE_ADC1
#define STM32_ADC_USE_ADC1 TRUE

M keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h => keyboards/handwired/onekey/blackpill_f411_tinyuf2/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_ADC_USE_ADC1
#define STM32_ADC_USE_ADC1 TRUE

M keyboards/handwired/onekey/evb_wb32f3g71/mcuconf.h => keyboards/handwired/onekey/evb_wb32f3g71/mcuconf.h +1 -1
@@ 2,7 2,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef WB32_ADC_USE_ADC1
#define WB32_ADC_USE_ADC1 TRUE

M keyboards/handwired/onekey/evb_wb32fq95/mcuconf.h => keyboards/handwired/onekey/evb_wb32fq95/mcuconf.h +1 -1
@@ 2,7 2,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef WB32_ADC_USE_ADC1
#define WB32_ADC_USE_ADC1 TRUE

M keyboards/handwired/onekey/keymaps/default/keymap.c => keyboards/handwired/onekey/keymaps/default/keymap.c +2 -0
@@ 1,3 1,5 @@
// Copyright 2020 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

A keyboards/handwired/onekey/nucleo_f446re/board.h => keyboards/handwired/onekey/nucleo_f446re/board.h +9 -0
@@ 0,0 1,9 @@
// Copyright 2023 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 8000000U
#define STM32_HSE_BYPASS

A keyboards/handwired/onekey/nucleo_f446re/config.h => keyboards/handwired/onekey/nucleo_f446re/config.h +16 -0
@@ 0,0 1,16 @@
// Copyright 2021 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

#include "config_common.h"

#define BACKLIGHT_PWM_DRIVER  PWMD4
#define BACKLIGHT_PWM_CHANNEL 3
#define BACKLIGHT_PAL_MODE    2

#define RGB_CI_PIN B13

#define ADC_PIN A0

#define SOLENOID_PINS { B12, B13, B14, B15 }
#define SOLENOID_PINS_ACTIVE_STATE { high, high, low }

A keyboards/handwired/onekey/nucleo_f446re/halconf.h => keyboards/handwired/onekey/nucleo_f446re/halconf.h +10 -0
@@ 0,0 1,10 @@
// Copyright 2023 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

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

#include_next <halconf.h>

A keyboards/handwired/onekey/nucleo_f446re/info.json => keyboards/handwired/onekey/nucleo_f446re/info.json +15 -0
@@ 0,0 1,15 @@
{
    "keyboard_name": "Onekey Nucleo F446RE",
    "processor": "STM32F446",
    "bootloader": "stm32-dfu",
    "matrix_pins": {
        "cols": ["A2"],
        "rows": ["A1"]
    },
    "backlight": {
        "pin": "B8"
    },
    "rgblight": {
        "pin": "A0"
    }
}

A keyboards/handwired/onekey/nucleo_f446re/mcuconf.h => keyboards/handwired/onekey/nucleo_f446re/mcuconf.h +23 -0
@@ 0,0 1,23 @@
// Copyright 2023 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

#include_next <mcuconf.h>

#undef STM32_PLLM_VALUE
#define STM32_PLLM_VALUE 4

#undef STM32_PLLSAIM_VALUE
#define STM32_PLLSAIM_VALUE 4

#undef STM32_ADC_USE_ADC1
#define STM32_ADC_USE_ADC1 TRUE

#undef STM32_PWM_USE_TIM4
#define STM32_PWM_USE_TIM4 TRUE

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

#undef STM32_SPI_USE_SPI1
#define STM32_SPI_USE_SPI1 TRUE

A keyboards/handwired/onekey/nucleo_f446re/readme.md => keyboards/handwired/onekey/nucleo_f446re/readme.md +5 -0
@@ 0,0 1,5 @@
# STM32 Nucleo-L432 onekey

To trigger keypress, short together pins *A1* and *A2*.

You'll also need to connect `VIN`, `GND`, USB `D+` to `PA12`/`D2`, and USB `D-` to `PA11`/`D10`.

A keyboards/handwired/onekey/nucleo_f446re/rules.mk => keyboards/handwired/onekey/nucleo_f446re/rules.mk +1 -0
@@ 0,0 1,1 @@
SRC += analog.c

M keyboards/handwired/onekey/proton_c/mcuconf.h => keyboards/handwired/onekey/proton_c/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_ADC_USE_ADC1
#define STM32_ADC_USE_ADC1 TRUE

M keyboards/handwired/onekey/rp2040/mcuconf.h => keyboards/handwired/onekey/rp2040/mcuconf.h +1 -1
@@ 3,7 3,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_PWM_USE_PWM0
#define RP_PWM_USE_PWM0 TRUE

M keyboards/handwired/pill60/blackpill_f401/mcuconf.h => keyboards/handwired/pill60/blackpill_f401/mcuconf.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

M keyboards/handwired/pill60/blackpill_f411/mcuconf.h => keyboards/handwired/pill60/blackpill_f411/mcuconf.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

M keyboards/handwired/tractyl_manuform/5x6_right/f303/mcuconf.h => keyboards/handwired/tractyl_manuform/5x6_right/f303/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

M keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h => keyboards/handwired/tractyl_manuform/5x6_right/f411/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

M keyboards/handwired/uthol/rev3/mcuconf.h => keyboards/handwired/uthol/rev3/mcuconf.h +1 -1
@@ 16,7 16,7 @@
 */
#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

M keyboards/keebio/sinc/rev3/halconf.h => keyboards/keebio/sinc/rev3/halconf.h +1 -1
@@ 18,4 18,4 @@

#define HAL_USE_I2C TRUE

#include_next "halconf.h"
#include_next <halconf.h>

M keyboards/keebio/sinc/rev3/mcuconf.h => keyboards/keebio/sinc/rev3/mcuconf.h +1 -1
@@ 17,7 17,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef RP_I2C_USE_I2C1
#define RP_I2C_USE_I2C1 TRUE

M keyboards/kin80/blackpill401/mcuconf.h => keyboards/kin80/blackpill401/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

M keyboards/kin80/blackpill411/mcuconf.h => keyboards/kin80/blackpill411/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE

M keyboards/linworks/whale75/chconf.h => keyboards/linworks/whale75/chconf.h +1 -1
@@ 14,4 14,4 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include_next "chconf.h"
#include_next <chconf.h>

M keyboards/linworks/whale75/mcuconf.h => keyboards/linworks/whale75/mcuconf.h +1 -1
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include_next "mcuconf.h"
#include_next <mcuconf.h>

// Underglow uses TIM4, Backlight TIM1, so both are enabled here.
#undef STM32_PWM_USE_TIM1

M keyboards/mino_plus/soldered/mcuconf.h => keyboards/mino_plus/soldered/mcuconf.h +1 -1
@@ 2,7 2,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
\ No newline at end of file

M keyboards/moonlander/mcuconf.h => keyboards/moonlander/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

// for i2c expander, and ISSI
#undef STM32_I2C_USE_I2C1

M keyboards/planck/ez/mcuconf.h => keyboards/planck/ez/mcuconf.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "mcuconf.h"
#include_next <mcuconf.h>

// for i2c expander, and ISSI
#undef STM32_I2C_USE_I2C1

M keyboards/planck/rev6/mcuconf.h => keyboards/planck/rev6/mcuconf.h +1 -1
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include_next "mcuconf.h"
#include_next <mcuconf.h>

// The SysTick timer from the normal quantum/stm32 uses TIM2 -- the WS2812 pin used
// on the Planck requires the use of TIM2 to run PWM -- rework which timers are

M keyboards/planck/rev6_drop/mcuconf.h => keyboards/planck/rev6_drop/mcuconf.h +1 -1
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include_next "mcuconf.h"
#include_next <mcuconf.h>

// The SysTick timer from the normal quantum/stm32 uses TIM2 -- the WS2812 pin used
// on the Planck requires the use of TIM2 to run PWM -- rework which timers are

M keyboards/preonic/rev3/mcuconf.h => keyboards/preonic/rev3/mcuconf.h +1 -1
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include_next "mcuconf.h"
#include_next <mcuconf.h>

// The SysTick timer from the normal quantum/stm32 uses TIM2 -- the WS2812 pin used
// on the Planck requires the use of TIM2 to run PWM -- rework which timers are

M keyboards/preonic/rev3_drop/mcuconf.h => keyboards/preonic/rev3_drop/mcuconf.h +1 -1
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include_next "mcuconf.h"
#include_next <mcuconf.h>

// The SysTick timer from the normal quantum/stm32 uses TIM2 -- the WS2812 pin used
// on the Planck requires the use of TIM2 to run PWM -- rework which timers are

M keyboards/splitkb/kyria/rev1/proton_c/chconf.h => keyboards/splitkb/kyria/rev1/proton_c/chconf.h +1 -1
@@ 19,4 19,4 @@
#define CH_CFG_ST_RESOLUTION 16
#define CH_CFG_ST_FREQUENCY  10000

#include_next "chconf.h"
#include_next <chconf.h>

M keyboards/splitkb/kyria/rev2/proton_c/chconf.h => keyboards/splitkb/kyria/rev2/proton_c/chconf.h +1 -1
@@ 19,4 19,4 @@
#define CH_CFG_ST_RESOLUTION 16
#define CH_CFG_ST_FREQUENCY  10000

#include_next "chconf.h"
#include_next <chconf.h>

M keyboards/teleport/native/mcuconf.h => keyboards/teleport/native/mcuconf.h +1 -1
@@ 14,7 14,7 @@
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include_next "mcuconf.h"
#include_next <mcuconf.h>

/* Set PLL M divider from 4 (F411 GENERIC default) to 8, because of 16 MHz crystal on board */
#undef STM32_PLLM_VALUE

M keyboards/tzarc/ghoul/rev1/stm32/board.h => keyboards/tzarc/ghoul/rev1/stm32/board.h +1 -1
@@ 2,7 2,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once

#include_next "board.h"
#include_next <board.h>

#ifdef BOARD_OTG_NOVBUSSENS
#    undef BOARD_OTG_NOVBUSSENS

M keyboards/weirdo/geminate60/chconf.h => keyboards/weirdo/geminate60/chconf.h +1 -1
@@ 18,4 18,4 @@
// so we need to change resolution and frequency to match.
#define CH_CFG_ST_RESOLUTION 16
#define CH_CFG_ST_FREQUENCY 10000
#include_next "chconf.h"
#include_next <chconf.h>

M keyboards/yandrstudio/buff67v3/board.h => keyboards/yandrstudio/buff67v3/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M keyboards/yandrstudio/eau87/board.h => keyboards/yandrstudio/eau87/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M keyboards/yandrstudio/eau_r2/board.h => keyboards/yandrstudio/eau_r2/board.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M keyboards/yandrstudio/nightstar75/board.h => keyboards/yandrstudio/nightstar75/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M keyboards/yandrstudio/nz64/board.h => keyboards/yandrstudio/nz64/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M keyboards/yandrstudio/nz67v2/board.h => keyboards/yandrstudio/nz67v2/board.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M keyboards/yandrstudio/tg67/board.h => keyboards/yandrstudio/tg67/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M keyboards/yandrstudio/wave75/board.h => keyboards/yandrstudio/wave75/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M keyboards/yandrstudio/yr6095/board.h => keyboards/yandrstudio/yr6095/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M keyboards/yandrstudio/yr80/board.h => keyboards/yandrstudio/yr80/board.h +1 -1
@@ 16,7 16,7 @@

#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M keyboards/yandrstudio/zhou65/board.h => keyboards/yandrstudio/zhou65/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSECLK
#define STM32_HSECLK 16000000

M layouts/community/split_3x6_3/drashna/chconf.h => layouts/community/split_3x6_3/drashna/chconf.h +1 -1
@@ 7,5 7,5 @@
#if __has_include("platforms/chibios/common/configs/chconf.h")
#    include_next "platforms/chibios/common/configs/chconf.h"
#else
#    include_next "chconf.h"
#    include_next <chconf.h>
#endif

M lib/python/qmk/cli/lint.py => lib/python/qmk/cli/lint.py +23 -0
@@ 12,6 12,8 @@ from qmk.path import is_keyboard, keyboard
from qmk.git import git_get_ignored_files
from qmk.c_parse import c_source_files

CHIBIOS_CONF_CHECKS = ['chconf.h', 'halconf.h', 'mcuconf.h', 'board.h']


def _list_defaultish_keymaps(kb):
    """Return default like keymaps for a given keyboard


@@ 64,6 66,15 @@ def _handle_json_errors(kb, info):
    return ok


def _chibios_conf_includenext_check(target):
    """Check the ChibiOS conf.h for the correct inclusion of the next conf.h
    """
    for i, line in enumerate(target.open()):
        if f'#include_next "{target.name}"' in line:
            return f'Found `#include_next "{target.name}"` on line {i} of {target}, should be `#include_next <{target.name}>` (use angle brackets, not quotes)'
    return None


def _rules_mk_assignment_only(kb):
    """Check the keyboard-level rules.mk to ensure it only has assignments.
    """


@@ 121,6 132,12 @@ def keymap_check(kb, km):
            cli.log.error(f'{kb}/{km}: The file "{file}" does not have a license header!')
            ok = False

        if file.name in CHIBIOS_CONF_CHECKS:
            check_error = _chibios_conf_includenext_check(file)
            if check_error is not None:
                cli.log.error(f'{kb}/{km}: {check_error}')
                ok = False

    return ok




@@ 153,6 170,12 @@ def keyboard_check(kb):
            cli.log.error(f'{kb}: The file "{file}" does not have a license header!')
            ok = False

        if file.name in CHIBIOS_CONF_CHECKS:
            check_error = _chibios_conf_includenext_check(file)
            if check_error is not None:
                cli.log.error(f'{kb}: {check_error}')
                ok = False

    return ok



M platforms/chibios/boards/BLACKPILL_STM32_F401/configs/board.h => platforms/chibios/boards/BLACKPILL_STM32_F401/configs/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

// Force B9 as input to align with qmk defaults
#undef VAL_GPIOB_MODER

M platforms/chibios/boards/BLACKPILL_STM32_F411/configs/board.h => platforms/chibios/boards/BLACKPILL_STM32_F411/configs/board.h +1 -1
@@ 15,6 15,6 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSE_BYPASS

M platforms/chibios/boards/BONSAI_C4/configs/board.h => platforms/chibios/boards/BONSAI_C4/configs/board.h +1 -1
@@ 15,6 15,6 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSE_BYPASS
\ No newline at end of file

M platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/board.h => platforms/chibios/boards/GENERIC_PROMICRO_RP2040/configs/board.h +1 -1
@@ 3,7 3,7 @@

#pragma once

#include_next "board.h"
#include_next <board.h>

#undef BOARD_RP_PICO_RP2040
#define BOARD_GENERIC_PROMICRO_RP2040

M platforms/chibios/boards/GENERIC_RP_RP2040/configs/board.h => platforms/chibios/boards/GENERIC_RP_RP2040/configs/board.h +1 -1
@@ 3,7 3,7 @@

#pragma once

#include_next "board.h"
#include_next <board.h>

#undef BOARD_RP_PICO_RP2040
#define BOARD_GENERIC_RP2040

M platforms/chibios/boards/GENERIC_STM32_F072XB/configs/board.h => platforms/chibios/boards/GENERIC_STM32_F072XB/configs/board.h +1 -1
@@ 15,6 15,6 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSE_BYPASS

M platforms/chibios/boards/GENERIC_STM32_F303XC/configs/board.h => platforms/chibios/boards/GENERIC_STM32_F303XC/configs/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSE_BYPASS


M platforms/chibios/boards/GENERIC_STM32_F401XC/configs/board.h => platforms/chibios/boards/GENERIC_STM32_F401XC/configs/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

// Force B9 as input to align with qmk defaults
#undef VAL_GPIOB_MODER

M platforms/chibios/boards/GENERIC_STM32_F405XG/configs/board.h => platforms/chibios/boards/GENERIC_STM32_F405XG/configs/board.h +1 -1
@@ 19,7 19,7 @@
// The following is required to disable the pull-down on PA9, when PA9 is used for the keyboard matrix:
#define BOARD_OTG_NOVBUSSENS

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSE_BYPASS


M platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h => platforms/chibios/boards/GENERIC_STM32_F407XE/configs/board.h +1 -1
@@ 19,6 19,6 @@
// The following is required to disable the pull-down on PA9, when PA9 is used for the keyboard matrix:
#define BOARD_OTG_NOVBUSSENS

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSE_BYPASS
\ No newline at end of file

M platforms/chibios/boards/GENERIC_STM32_F411XE/configs/board.h => platforms/chibios/boards/GENERIC_STM32_F411XE/configs/board.h +1 -1
@@ 15,6 15,6 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSE_BYPASS

M platforms/chibios/boards/GENERIC_STM32_F446XE/configs/board.h => platforms/chibios/boards/GENERIC_STM32_F446XE/configs/board.h +1 -1
@@ 19,6 19,6 @@
// The following is required to disable the pull-down on PA9, when PA9 is used for the keyboard matrix:
#define BOARD_OTG_NOVBUSSENS

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSE_BYPASS

M platforms/chibios/boards/GENERIC_STM32_L412XB/configs/board.h => platforms/chibios/boards/GENERIC_STM32_L412XB/configs/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32L432xx
#define STM32L422xx

M platforms/chibios/boards/GENERIC_STM32_L433XC/configs/board.h => platforms/chibios/boards/GENERIC_STM32_L433XC/configs/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32L432xx


M platforms/chibios/boards/QMK_PM2040/configs/board.h => platforms/chibios/boards/QMK_PM2040/configs/board.h +1 -1
@@ 3,7 3,7 @@

#pragma once

#include_next "board.h"
#include_next <board.h>

#undef BOARD_RP_PICO_RP2040
#define BOARD_PM2040

M platforms/chibios/boards/QMK_PROTON_C/configs/board.h => platforms/chibios/boards/QMK_PROTON_C/configs/board.h +1 -1
@@ 15,7 15,7 @@
 */
#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSE_BYPASS


M platforms/chibios/boards/STEMCELL/configs/board.h => platforms/chibios/boards/STEMCELL/configs/board.h +1 -1
@@ 3,6 3,6 @@

#pragma once

#include_next "board.h"
#include_next <board.h>

#undef STM32_HSE_BYPASS