summaryrefslogtreecommitdiffstats
path: root/keyboards/matrix/abelx
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/matrix/abelx')
-rw-r--r--keyboards/matrix/abelx/abelx.c104
-rw-r--r--keyboards/matrix/abelx/abelx.h61
-rw-r--r--keyboards/matrix/abelx/aw9523b.c100
-rw-r--r--keyboards/matrix/abelx/aw9523b.h62
-rw-r--r--keyboards/matrix/abelx/boards/abelx_bd/board.c265
-rw-r--r--keyboards/matrix/abelx/boards/abelx_bd/board.h1299
-rw-r--r--keyboards/matrix/abelx/boards/abelx_bd/board.mk9
-rw-r--r--keyboards/matrix/abelx/chconf.h27
-rw-r--r--keyboards/matrix/abelx/halconf.h31
-rw-r--r--keyboards/matrix/abelx/info.json19
-rw-r--r--keyboards/matrix/abelx/ld/abelx_boot.ld85
-rw-r--r--keyboards/matrix/abelx/matrix.c108
-rw-r--r--keyboards/matrix/abelx/mcuconf.h252
-rw-r--r--keyboards/matrix/abelx/readme.md11
-rw-r--r--keyboards/matrix/abelx/rules.mk48
-rw-r--r--keyboards/matrix/abelx/tca6424.c117
-rw-r--r--keyboards/matrix/abelx/tca6424.h42
17 files changed, 0 insertions, 2640 deletions
diff --git a/keyboards/matrix/abelx/abelx.c b/keyboards/matrix/abelx/abelx.c
deleted file mode 100644
index 9585948e0c..0000000000
--- a/keyboards/matrix/abelx/abelx.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- * abelx.c
- *
- * Copyright 2020 astro <yuleiz@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "abelx.h"
-#include "tca6424.h"
-#include "aw9523b.h"
-
-void set_pin(uint16_t pin)
-{
- uint8_t data = tca6424_read_port(GET_PORT(pin));
- data |= ( 1 << GET_PIN(pin));
- tca6424_write_port(GET_PORT(pin), data);
-}
-
-void clear_pin(uint16_t pin)
-{
- uint8_t data = tca6424_read_port(GET_PORT(pin));
- data &= ~( 1 << GET_PIN(pin));
- tca6424_write_port(GET_PORT(pin), data);
-}
-
-uint8_t read_pin(uint16_t pin)
-{
- uint8_t data = tca6424_read_port(GET_PORT(pin));
- return (data & (1<<GET_PIN(pin))) ? 1 : 0;
-}
-
-void matrix_init_kb(void) {
-#ifdef RGBLIGHT_ENABLE
- aw9523b_init(AW9523B_ADDR);
-#endif
- matrix_init_user();
-}
-
-
-void housekeeping_task_kb(void) {
-#ifdef RGBLIGHT_ENABLE
- aw9523b_update_pwm_buffers(AW9523B_ADDR);
-#endif
-}
-
-#ifdef RGBLIGHT_ENABLE
-#include "rgblight.h"
-#include "i2c_master.h"
-
-const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM] = {
- {AW9523B_P12_PWM, AW9523B_P11_PWM, AW9523B_P10_PWM},
- {AW9523B_P01_PWM, AW9523B_P00_PWM, AW9523B_P13_PWM},
- {AW9523B_P04_PWM, AW9523B_P03_PWM, AW9523B_P02_PWM},
- {AW9523B_P07_PWM, AW9523B_P06_PWM, AW9523B_P05_PWM},
-};
-
-void rgblight_call_driver(LED_TYPE *start_led, uint8_t num_leds)
-{
- uint8_t num = num_leds < AW9523B_RGB_NUM ? num_leds : AW9523B_RGB_NUM;
-
- ws2812_setleds(start_led, num);
-
- for (int i = 0; i < num; i++) {
- aw9523b_set_color(i, start_led[i].r, start_led[i].g, start_led[i].b);
- }
-}
-
-#endif
-
-static uint16_t caps_lock_pin = DEF_PIN(TCA6424_PORT2, 3);
-static uint16_t scroll_lock_pin = DEF_PIN(TCA6424_PORT0, 0);
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- led_state.caps_lock ? set_pin(caps_lock_pin) : clear_pin(caps_lock_pin);
- led_state.scroll_lock ? set_pin(scroll_lock_pin) : clear_pin(scroll_lock_pin);
- }
- return res;
-}
-
-#define REBOOT_MAGIC 0x41544B42
-void shutdown_user(void)
-{
- // set the magic number for resetting to the bootloader
- *(uint32_t *)(&(RTCD1.rtc->BKP0R)) = REBOOT_MAGIC;
-}
-
-void bootloader_jump(void) {
- shutdown_user();
- NVIC_SystemReset();
-}
diff --git a/keyboards/matrix/abelx/abelx.h b/keyboards/matrix/abelx/abelx.h
deleted file mode 100644
index b5a1cc7aa7..0000000000
--- a/keyboards/matrix/abelx/abelx.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * abelx.h
- *
- * Copyright 2020 astro <yuleiz@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-
-#define LAYOUT_tkl_iso( \
- K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
- \
- K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \
- K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, \
- K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \
- K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, \
- K500, K501, K502, K506, K509, K510, K511, K512, K513, K514, K515\
-) { \
- { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015}, \
- { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115}, \
- { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K116}, \
- { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K215, K216}, \
- { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K413,KC_NO}, \
- { K500, K501, K502, KC_NO, KC_NO, KC_NO, K506, K509, K510, K511, K512, K513, K514, KC_NO, K515,KC_NO}, \
-}
-
-#define LAYOUT_tkl_ansi( \
- K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
- \
- K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \
- K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \
- K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
- K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, \
- K500, K501, K502, K506, K509, K510, K511, K512, K513, K514, K515\
-) { \
- { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015}, \
- { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115}, \
- { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K116}, \
- { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K215, K216}, \
- { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K413,KC_NO}, \
- { K500, K501, K502, KC_NO, KC_NO, KC_NO, K506, K509, K510, K511, K512, K513, K514, KC_NO, K515,KC_NO}, \
-}
-
-void set_pin(uint16_t pin);
-void clear_pin(uint16_t pin);
-uint8_t read_pin(uint16_t pin);
diff --git a/keyboards/matrix/abelx/aw9523b.c b/keyboards/matrix/abelx/aw9523b.c
deleted file mode 100644
index 8c6e8eaccf..0000000000
--- a/keyboards/matrix/abelx/aw9523b.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/**
- * @file aw9523b.c
- * @brief driver implementation of aw9523b
- *
- * Copyright 2020 astro <yuleiz@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdbool.h>
-#include "aw9523b.h"
-#include "wait.h"
-#include "i2c_master.h"
-
-#define AW9523B_P0_INPUT 0x00
-#define AW9523B_P1_INPUT 0x01
-#define AW9523B_P0_OUTPUT 0x02
-#define AW9523B_P1_OUTPUT 0x03
-#define AW9523B_P0_CONF 0x04
-#define AW9523B_P1_CONF 0x05
-#define AW9523B_P0_INT 0x06
-#define AW9523B_P1_INT 0x07
-
-#define AW9523B_ID 0x10
-#define AW9523B_CTL 0x11
-#define AW9523B_P0_LED 0x12
-#define AW9523B_P1_LED 0x13
-
-
-#define AW9523B_RESET 0x7F
-
-#define TIMEOUT 100
-
-#define PWM2BUF(x) ((x) - AW9523B_PWM_BASE)
-static uint8_t aw9523b_pwm_buf[AW9523B_PWM_SIZE];
-static bool aw9523b_pwm_dirty = false;
-
-void aw9523b_init(uint8_t addr)
-{
- i2c_init();
- // reset chip
- uint8_t data = 0;
- i2c_writeReg(addr, AW9523B_RESET, &data, 1, TIMEOUT);
- wait_ms(1);
- // set max led current
- data = 0x03; // 37mA/4
- i2c_writeReg(addr, AW9523B_CTL, &data, 1, TIMEOUT);
- // set port to led mode
- data = 0;
- i2c_writeReg(addr, AW9523B_P0_LED, &data, 1, TIMEOUT);
- i2c_writeReg(addr, AW9523B_P1_LED, &data, 1, TIMEOUT);
- // clear pwm buff
- for (uint8_t i = 0; i < 16; i++) {
- aw9523b_pwm_buf[i] = 0;
- }
- aw9523b_pwm_dirty = false;
-}
-
-void aw9523b_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)
-{
- if (index >= AW9523B_RGB_NUM) return;
-
- aw9523b_led led = g_aw9523b_leds[index];
- aw9523b_pwm_buf[PWM2BUF(led.r)] = red;
- aw9523b_pwm_buf[PWM2BUF(led.g)] = green;
- aw9523b_pwm_buf[PWM2BUF(led.b)] = blue;
- aw9523b_pwm_dirty = true;
-}
-
-void aw9523b_set_color_all(uint8_t red, uint8_t green, uint8_t blue)
-{
- for (uint8_t i = 0; i < AW9523B_RGB_NUM; i++) {
- aw9523b_set_color(i, red, green, blue);
- }
- aw9523b_pwm_dirty = true;
-}
-
-void aw9523b_update_pwm_buffers(uint8_t addr)
-{
- if (aw9523b_pwm_dirty) {
- for (uint8_t i = 0; i < AW9523B_RGB_NUM; i++){
- aw9523b_led led = g_aw9523b_leds[i];
- i2c_writeReg(addr, led.r, &aw9523b_pwm_buf[PWM2BUF(led.r)], 1, TIMEOUT);
- i2c_writeReg(addr, led.g, &aw9523b_pwm_buf[PWM2BUF(led.g)], 1, TIMEOUT);
- i2c_writeReg(addr, led.b, &aw9523b_pwm_buf[PWM2BUF(led.b)], 1, TIMEOUT);
- }
- aw9523b_pwm_dirty = false;
- }
-}
diff --git a/keyboards/matrix/abelx/aw9523b.h b/keyboards/matrix/abelx/aw9523b.h
deleted file mode 100644
index daee0c8558..0000000000
--- a/keyboards/matrix/abelx/aw9523b.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * @file aw9523b.h
- * @brief driver for aw9523b
- *
- * Copyright 2020 astro <yuleiz@gmail.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-#include <stdint.h>
-
-#ifndef AW9523B_ADDR
- #define AW9523B_ADDR 0xB6
-#endif
-
-#define AW9523B_PWM_BASE 0x20
-
-#define AW9523B_P10_PWM 0x20
-#define AW9523B_P11_PWM 0x21
-#define AW9523B_P12_PWM 0x22
-#define AW9523B_P13_PWM 0x23
-#define AW9523B_P00_PWM 0x24
-#define AW9523B_P01_PWM 0x25
-#define AW9523B_P02_PWM 0x26
-#define AW9523B_P03_PWM 0x27
-#define AW9523B_P04_PWM 0x28
-#define AW9523B_P05_PWM 0x29
-#define AW9523B_P06_PWM 0x2A
-#define AW9523B_P07_PWM 0x2B
-#define AW9523B_P14_PWM 0x2C
-#define AW9523B_P15_PWM 0x2D
-#define AW9523B_P16_PWM 0x2E
-#define AW9523B_P17_PWM 0x2F
-
-#define AW9523B_PWM_SIZE 16
-
-typedef struct {
- uint8_t r;
- uint8_t g;
- uint8_t b;
-} aw9523b_led;
-
-extern const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM];
-
-void aw9523b_init(uint8_t addr);
-
-void aw9523b_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
-void aw9523b_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
-void aw9523b_update_pwm_buffers(uint8_t addr);
diff --git a/keyboards/matrix/abelx/boards/abelx_bd/board.c b/keyboards/matrix/abelx/boards/abelx_bd/board.c
deleted file mode 100644
index db40a8e37b..0000000000
--- a/keyboards/matrix/abelx/boards/abelx_bd/board.c
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2018 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.
-*/
-
-/*
- * This file has been automatically generated using ChibiStudio board
- * generator plugin. Do not edit manually.
- */
-
-#include "hal.h"
-#include "stm32_gpio.h"
-
-/*===========================================================================*/
-/* Driver local definitions. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver exported variables. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver local variables and types. */
-/*===========================================================================*/
-
-/**
- * @brief Type of STM32 GPIO port setup.
- */
-typedef struct {
- uint32_t moder;
- uint32_t otyper;
- uint32_t ospeedr;
- uint32_t pupdr;
- uint32_t odr;
- uint32_t afrl;
- uint32_t afrh;
-} gpio_setup_t;
-
-/**
- * @brief Type of STM32 GPIO initialization data.
- */
-typedef struct {
-#if STM32_HAS_GPIOA || defined(__DOXYGEN__)
- gpio_setup_t PAData;
-#endif
-#if STM32_HAS_GPIOB || defined(__DOXYGEN__)
- gpio_setup_t PBData;
-#endif
-#if STM32_HAS_GPIOC || defined(__DOXYGEN__)
- gpio_setup_t PCData;
-#endif
-#if STM32_HAS_GPIOD || defined(__DOXYGEN__)
- gpio_setup_t PDData;
-#endif
-#if STM32_HAS_GPIOE || defined(__DOXYGEN__)
- gpio_setup_t PEData;
-#endif
-#if STM32_HAS_GPIOF || defined(__DOXYGEN__)
- gpio_setup_t PFData;
-#endif
-#if STM32_HAS_GPIOG || defined(__DOXYGEN__)
- gpio_setup_t PGData;
-#endif
-#if STM32_HAS_GPIOH || defined(__DOXYGEN__)
- gpio_setup_t PHData;
-#endif
-#if STM32_HAS_GPIOI || defined(__DOXYGEN__)
- gpio_setup_t PIData;
-#endif
-#if STM32_HAS_GPIOJ || defined(__DOXYGEN__)
- gpio_setup_t PJData;
-#endif
-#if STM32_HAS_GPIOK || defined(__DOXYGEN__)
- gpio_setup_t PKData;
-#endif
-} gpio_config_t;
-
-/**
- * @brief STM32 GPIO static initialization data.
- */
-static const gpio_config_t gpio_default_config = {
-#if STM32_HAS_GPIOA
- {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
- VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
-#endif
-#if STM32_HAS_GPIOB
- {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
- VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
-#endif
-#if STM32_HAS_GPIOC
- {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
- VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
-#endif
-#if STM32_HAS_GPIOD
- {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
- VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
-#endif
-#if STM32_HAS_GPIOE
- {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
- VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
-#endif
-#if STM32_HAS_GPIOF
- {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
- VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH},
-#endif
-#if STM32_HAS_GPIOG
- {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
- VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH},
-#endif
-#if STM32_HAS_GPIOH
- {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
- VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH},
-#endif
-#if STM32_HAS_GPIOI
- {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
- VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH},
-#endif
-#if STM32_HAS_GPIOJ
- {VAL_GPIOJ_MODER, VAL_GPIOJ_OTYPER, VAL_GPIOJ_OSPEEDR, VAL_GPIOJ_PUPDR,
- VAL_GPIOJ_ODR, VAL_GPIOJ_AFRL, VAL_GPIOJ_AFRH},
-#endif
-#if STM32_HAS_GPIOK
- {VAL_GPIOK_MODER, VAL_GPIOK_OTYPER, VAL_GPIOK_OSPEEDR, VAL_GPIOK_PUPDR,
- VAL_GPIOK_ODR, VAL_GPIOK_AFRL, VAL_GPIOK_AFRH}
-#endif
-};
-
-/*===========================================================================*/
-/* Driver local functions. */
-/*===========================================================================*/
-
-static void gpio_init(stm32_gpio_t *gpiop, const gpio_setup_t *config) {
-
- gpiop->OTYPER = config->otyper;
- gpiop->OSPEEDR = config->ospeedr;
- gpiop->PUPDR = config->pupdr;
- gpiop->ODR = config->odr;
- gpiop->AFRL = config->afrl;
- gpiop->AFRH = config->afrh;
- gpiop->MODER = config->moder;
-}
-
-static void stm32_gpio_init(void) {
-
- /* Enabling GPIO-related clocks, the mask comes from the
- registry header file.*/
- rccResetAHB1(STM32_GPIO_EN_MASK);
- rccEnableAHB1(STM32_GPIO_EN_MASK, true);
-
- /* Initializing all the defined GPIO ports.*/
-#if STM32_HAS_GPIOA
- gpio_init(GPIOA, &gpio_default_config.PAData);
-#endif
-#if STM32_HAS_GPIOB
- gpio_init(GPIOB, &gpio_default_config.PBData);
-#endif
-#if STM32_HAS_GPIOC
- gpio_init(GPIOC, &gpio_default_config.PCData);
-#endif
-#if STM32_HAS_GPIOD
- gpio_init(GPIOD, &gpio_default_config.PDData);
-#endif
-#if STM32_HAS_GPIOE
- gpio_init(GPIOE, &gpio_default_config.PEData);
-#endif
-#if STM32_HAS_GPIOF
- gpio_init(GPIOF, &gpio_default_config.PFData);
-#endif
-#if STM32_HAS_GPIOG
- gpio_init(GPIOG, &gpio_default_config.PGData);
-#endif
-#if STM32_HAS_GPIOH
- gpio_init(GPIOH, &gpio_default_config.PHData);
-#endif
-#if STM32_HAS_GPIOI
- gpio_init(GPIOI, &gpio_default_config.PIData);
-#endif
-#if STM32_HAS_GPIOJ
- gpio_init(GPIOJ, &gpio_default_config.PJData);
-#endif
-#if STM32_HAS_GPIOK
- gpio_init(GPIOK, &gpio_default_config.PKData);
-#endif
-}
-
-/*===========================================================================*/
-/* Driver interrupt handlers. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver exported functions. */
-/*===========================================================================*/
-
-/**
- * @brief Early initialization code.
- * @details GPIO ports and system clocks are initialized before everything
- * else.
- */
-void __early_init(void) {
- stm32_gpio_init();
- stm32_clock_init();
-}
-
-#if HAL_USE_SDC || defined(__DOXYGEN__)
-/**
- * @brief SDC card detection.
- */
-bool sdc_lld_is_card_inserted(SDCDriver *sdcp) {
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return true;
-}
-
-/**
- * @brief SDC card write protection detection.
- */
-bool sdc_lld_is_write_protected(SDCDriver *sdcp) {
-
- (void)sdcp;
- /* TODO: Fill the implementation.*/
- return false;
-}
-#endif /* HAL_USE_SDC */
-
-#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
-/**
- * @brief MMC_SPI card detection.
- */
-bool mmc_lld_is_card_inserted(MMCDriver *mmcp) {
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return true;
-}
-
-/**
- * @brief MMC_SPI card write protection detection.
- */
-bool mmc_lld_is_write_protected(MMCDriver *mmcp) {
-
- (void)mmcp;
- /* TODO: Fill the implementation.*/
- return false;
-}
-#endif
-
-/**
- * @brief Board-specific initialization code.
- * @todo Add your board-specific code, if any.
- */
-void boardInit(void) {
-
-}
diff --git a/keyboards/matrix/abelx/boards/abelx_bd/board.h b/keyboards/matrix/abelx/boards/abelx_bd/board.h
deleted file mode 100644
index e57147fab8..0000000000
--- a/keyboards/matrix/abelx/boards/abelx_bd/board.h
+++ /dev/null
@@ -1,1299 +0,0 @@
-/*
- ChibiOS - Copyright (C) 2006..2016 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.
-*/
-
-/*
- * This file has been automatically generated using ChibiStudio board
- * generator plugin. Do not edit manually.
- */
-
-#ifndef BOARD_H
-#define BOARD_H
-
-/*
- * Board identifier.
- */
-#define BOARD_MATRIX_ABELX
-#define BOARD_NAME "Matrix ABELX keyboard"
-#define BOARD_OTG_NOVBUSSENS
-
-/*
- * Board oscillators-related settings.
- * NOTE: LSE not fitted.
- */
-#if !defined(STM32_LSECLK)
-#define STM32_LSECLK 0U
-#endif
-
-#if !defined(STM32_HSECLK)
-#define STM32_HSECLK 8000000U
-#endif
-
-//#define STM32_HSE_BYPASS
-
-/*
- * Board voltages.
- * Required for performance limits calculation.
- */
-#define STM32_VDD 300U
-
-/*
- * MCU type as defined in the ST header.
- */
-#define STM32F411xE
-
-/*
- * IO pins assignments.
- */
-#define GPIOA_PIN0 0U
-#define GPIOA_PIN1 1U
-#define GPIOA_PIN2 2U
-#define GPIOA_PIN3 3U
-#define GPIOA_PIN4 4U
-#define GPIOA_SCK 5U
-#define GPIOA_MISO 6U
-#define GPIOA_MOSI 7U
-#define GPIOA_PIN8 8U
-#define GPIOA_PIN9 9U
-#define GPIOA_PIN10 10U
-#define GPIOA_OTG_FS_DM 11U
-#define GPIOA_OTG_FS_DP 12U
-#define GPIOA_SWDIO 13U
-#define GPIOA_SWCLK 14U
-#define GPIOA_PIN15 15U
-
-#define GPIOB_PIN0 0U
-#define GPIOB_PIN1 1U
-#define GPIOB_PIN2 2U
-#define GPIOB_SWO 3U
-#define GPIOB_PIN4 4U
-#define GPIOB_PIN5 5U
-#define GPIOB_UART_TX 6U
-#define GPIOB_UART_RX 7U
-#define GPIOB_PIN8 8U
-#define GPIOB_PIN9 9U
-#define GPIOB_PIN10 10U
-#define GPIOB_PIN11 11U
-#define GPIOB_PIN12 12U
-#define GPIOB_PIN13 13U
-#define GPIOB_PIN14 14U
-#define GPIOB_PIN15 15U
-
-#define GPIOC_PIN0 0U
-#define GPIOC_PIN1 1U
-#define GPIOC_PIN2 2U
-#define GPIOC_PIN3 3U
-#define GPIOC_PIN4 4U
-#define GPIOC_PIN5 5U
-#define GPIOC_PIN6 6U
-#define GPIOC_PIN7 7U
-#define GPIOC_PIN8 8U
-#define GPIOC_PIN9 9U
-#define GPIOC_PIN10 10U
-#define GPIOC_PIN11 11U
-#define GPIOC_PIN12 12U
-#define GPIOC_PIN13 13U
-#define GPIOC_PIN14 14U
-#define GPIOC_PIN15 15U
-
-#define GPIOD_PIN0 0U
-#define GPIOD_PIN1 1U
-#define GPIOD_PIN2 2U
-#define GPIOD_PIN3 3U
-#define GPIOD_PIN4 4U
-#define GPIOD_PIN5 5U
-#define GPIOD_PIN6 6U
-#define GPIOD_PIN7 7U
-#define GPIOD_PIN8 8U
-#define GPIOD_PIN9 9U
-#define GPIOD_PIN10 10U
-#define GPIOD_PIN11 11U
-#define GPIOD_PIN12 12U
-#define GPIOD_PIN13 13U
-#define GPIOD_PIN14 14U
-#define GPIOD_PIN15 15U
-
-#define GPIOE_PIN0 0U
-#define GPIOE_PIN1 1U
-#define GPIOE_PIN2 2U
-#define GPIOE_PIN3 3U
-#define GPIOE_PIN4 4U
-#define GPIOE_PIN5 5U
-#define GPIOE_PIN6 6U
-#define GPIOE_PIN7 7U
-#define GPIOE_PIN8 8U
-#define GPIOE_PIN9 9U
-#define GPIOE_PIN10 10U
-#define GPIOE_PIN11 11U
-#define GPIOE_PIN12 12U
-#define GPIOE_PIN13 13U
-#define GPIOE_PIN14 14U
-#define GPIOE_PIN15 15U
-
-#define GPIOF_PIN0 0U
-#define GPIOF_PIN1 1U
-#define GPIOF_PIN2 2U
-#define GPIOF_PIN3 3U
-#define GPIOF_PIN4 4U
-#define GPIOF_PIN5 5U
-#define GPIOF_PIN6 6U
-#define GPIOF_PIN7 7U
-#define GPIOF_PIN8 8U
-#define GPIOF_PIN9 9U
-#define GPIOF_PIN10 10U
-#define GPIOF_PIN11 11U
-#define GPIOF_PIN12 12U
-#define GPIOF_PIN13 13U
-#define GPIOF_PIN14 14U
-#define GPIOF_PIN15 15U
-
-#define GPIOG_PIN0 0U
-#define GPIOG_PIN1 1U
-#define GPIOG_PIN2 2U
-#define GPIOG_PIN3 3U
-#define GPIOG_PIN4 4U
-#define GPIOG_PIN5 5U
-#define GPIOG_PIN6 6U
-#define GPIOG_PIN7 7U
-#define GPIOG_PIN8 8U
-#define GPIOG_PIN9 9U
-#define GPIOG_PIN10 10U
-#define GPIOG_PIN11 11U
-#define GPIOG_PIN12 12U
-#define GPIOG_PIN13 13U
-#define GPIOG_PIN14 14U
-#define GPIOG_PIN15 15U
-
-#define GPIOH_OSC_IN 0U
-#define GPIOH_OSC_OUT 1U
-#define GPIOH_PIN2 2U
-#define GPIOH_PIN3 3U
-#define GPIOH_PIN4 4U
-#define GPIOH_PIN5 5U
-#define GPIOH_PIN6 6U
-#define GPIOH_PIN7 7U
-#define GPIOH_PIN8 8U
-#define GPIOH_PIN9 9U
-#define GPIOH_PIN10 10U
-#define GPIOH_PIN11 11U
-#define GPIOH_PIN12 12U
-#define GPIOH_PIN13 13U
-#define GPIOH_PIN14 14U
-#define GPIOH_PIN15 15U
-
-#define GPIOI_PIN0 0U
-#define GPIOI_PIN1 1U
-#define GPIOI_PIN2 2U
-#define GPIOI_PIN3 3U
-#define GPIOI_PIN4 4U
-#define GPIOI_PIN5 5U
-#define GPIOI_PIN6 6U
-#define GPIOI_PIN7 7U
-#define GPIOI_PIN8 8U
-#define GPIOI_PIN9 9U
-#define GPIOI_PIN10 10U
-#define GPIOI_PIN11 11U
-#define GPIOI_PIN12 12U
-#define GPIOI_PIN13 13U
-#define GPIOI_PIN14 14U
-#define GPIOI_PIN15 15U
-
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- * Please refer to the STM32 Reference Manual for details.
- */
-#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
-#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
-#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
-#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
-#define PIN_ODR_LOW(n) (0U << (n))
-#define PIN_ODR_HIGH(n) (1U << (n))
-#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
-#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
-#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
-#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
-#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
-#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
-#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
-#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
-#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
-#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
-
-/*
- * GPIOA setup:
- *
- * PA0 - (input pullup).
- * PA1 - (input pullup).
- * PA2 - (input pullup).
- * PA3 - (input pullup).
- * PA4 - (input pullup).
- * PA5 - SPI SCK (alternate 5).
- * PA6 - SPI MISO (alternate 5).
- * PA7 - SPI MOSI (alternate 5).
- * PA8 - (input pullup).
- * PA9 - (input pullup).
- * PA10 - (input pullup).
- * PA11 - OTG_FS_DM (alternate 10).
- * PA12 - OTG_FS_DP (alternate 10).
- * PA13 - SWDIO (alternate 0).
- * PA14 - SWCLK (alternate 0).
- * PA15 - (input pullup).
- */
-#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_PIN0) | \
- PIN_MODE_INPUT(GPIOA_PIN1) | \
- PIN_MODE_INPUT(GPIOA_PIN2) | \
- PIN_MODE_INPUT(GPIOA_PIN3) | \
- PIN_MODE_INPUT(GPIOA_PIN4) | \
- PIN_MODE_ALTERNATE(GPIOA_SCK) | \
- PIN_MODE_ALTERNATE(GPIOA_MISO) | \
- PIN_MODE_ALTERNATE(GPIOA_MOSI) | \
- PIN_MODE_INPUT(GPIOA_PIN8) | \
- PIN_MODE_INPUT(GPIOA_PIN9) | \
- PIN_MODE_INPUT(GPIOA_PIN10) | \
- PIN_MODE_ALTERNATE(GPIOA_OTG_FS_DM) | \
- PIN_MODE_ALTERNATE(GPIOA_OTG_FS_DP) | \
- PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \
-