Add tzarc/ghoul. (#18562)

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
Nick Brassel
2022-10-03 07:24:22 +11:00
committed by GitHub
parent 2b3f6d0ec6
commit 9ecd6eb9b9
27 changed files with 974 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
// Copyright 2018-2022 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include_next "board.h"
#ifdef BOARD_OTG_NOVBUSSENS
# undef BOARD_OTG_NOVBUSSENS
#endif

View File

@@ -0,0 +1,47 @@
// Copyright 2018-2022 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include "config_common.h"
// Matrix configuration
#define SPI_MATRIX_CHIP_SELECT_PIN C4
#define SPI_MATRIX_DIVISOR 32
// Encoder
#define ENCODER_PUSHBUTTON_PIN C1
// SPI Configuration
#define SPI_DRIVER SPID1
#define SPI_SCK_PIN A5
#define SPI_SCK_PAL_MODE 5
#define SPI_MOSI_PIN A6
#define SPI_MOSI_PAL_MODE 5
#define SPI_MISO_PIN A7
#define SPI_MISO_PAL_MODE 5
// EEPROM/Flash configuration
#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 16
#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN B3
#define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 16
#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN A4
// RGB configuration
#define RGB_DI_PIN C6
#define WS2812_PWM_DRIVER PWMD3
#define WS2812_PWM_CHANNEL 1
#define WS2812_PWM_PAL_MODE 2
#define WS2812_DMA_STREAM STM32_DMA1_STREAM2
#define WS2812_DMA_CHANNEL 5
#define RGB_ENABLE_PIN C0
// ADC Configuration
#define ADC_RESOLUTION ADC_CFGR1_RES_12BIT
#define ADC_SATURATION ((1 << 12) - 1)
#define ADC_CURRENT_PIN C5 // ADC12_IN15
#define ADC_VOLTAGE_PIN B0 // ADC12_IN8
// Display Configuration
#define OLED_CS_PIN D2
#define OLED_DC_PIN A8
#define OLED_RST_PIN A0

View File

@@ -0,0 +1,9 @@
// Copyright 2018-2022 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#define HAL_USE_ADC TRUE
#define HAL_USE_SPI TRUE
#define HAL_USE_PWM TRUE
#include_next <halconf.h>

View File

@@ -0,0 +1,15 @@
{
"keyboard_name": "Ghoul_STM32",
"processor": "STM32F405",
"bootloader": "stm32-dfu",
"bootloader_instructions": "Press the 5 keys on the bottom row of the left side, or hold the boot switch and tap the reset switch, or hold the top-left key when plugging in the board.",
"encoder": {
"rotary": [
{
"pin_a": "B10",
"pin_b": "B1",
"resolution": 2
}
]
}
}

View File

@@ -0,0 +1,17 @@
// Copyright 2018-2022 Nick Brassel (@tzarc)
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include_next <mcuconf.h>
// Used for RGB
#undef STM32_ADC_USE_ADC1
#define STM32_ADC_USE_ADC1 TRUE
// Used for EEPROM
#undef STM32_SPI_USE_SPI1
#define STM32_SPI_USE_SPI1 TRUE
// Used for RGB
#undef STM32_PWM_USE_TIM3
#define STM32_PWM_USE_TIM3 TRUE

View File

@@ -0,0 +1,2 @@
WS2812_DRIVER = pwm
SRC += analog.c