diff options
Diffstat (limited to 'keyboards/matrix/abelx')
-rw-r--r-- | keyboards/matrix/abelx/abelx.c | 104 | ||||
-rw-r--r-- | keyboards/matrix/abelx/abelx.h | 61 | ||||
-rw-r--r-- | keyboards/matrix/abelx/aw9523b.c | 100 | ||||
-rw-r--r-- | keyboards/matrix/abelx/aw9523b.h | 62 | ||||
-rw-r--r-- | keyboards/matrix/abelx/boards/abelx_bd/board.c | 265 | ||||
-rw-r--r-- | keyboards/matrix/abelx/boards/abelx_bd/board.h | 1299 | ||||
-rw-r--r-- | keyboards/matrix/abelx/boards/abelx_bd/board.mk | 9 | ||||
-rw-r--r-- | keyboards/matrix/abelx/chconf.h | 27 | ||||
-rw-r--r-- | keyboards/matrix/abelx/halconf.h | 31 | ||||
-rw-r--r-- | keyboards/matrix/abelx/info.json | 19 | ||||
-rw-r--r-- | keyboards/matrix/abelx/ld/abelx_boot.ld | 85 | ||||
-rw-r--r-- | keyboards/matrix/abelx/matrix.c | 108 | ||||
-rw-r--r-- | keyboards/matrix/abelx/mcuconf.h | 252 | ||||
-rw-r--r-- | keyboards/matrix/abelx/readme.md | 11 | ||||
-rw-r--r-- | keyboards/matrix/abelx/rules.mk | 48 | ||||
-rw-r--r-- | keyboards/matrix/abelx/tca6424.c | 117 | ||||
-rw-r--r-- | keyboards/matrix/abelx/tca6424.h | 42 |
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) | \ - |