diff options
author | David Hoelscher <[email protected]> | 2023-07-07 09:31:47 -0500 |
---|---|---|
committer | GitHub <[email protected]> | 2023-07-08 00:31:47 +1000 |
commit | 9f4f1de0019fe04354643c3719d273af436db525 (patch) | |
tree | 2397659ef5406a1e63fe3ebff33ff2a5c9765263 /keyboards/custommk/evo70_r2/config.h | |
parent | a70aa8671c8aa7cea1ebfa9c782fa00f84f00164 (diff) | |
download | qmk_firmware-9f4f1de0019fe04354643c3719d273af436db525.tar.gz qmk_firmware-9f4f1de0019fe04354643c3719d273af436db525.zip |
Add EVO70 R2 Keyboard (#21321)
Diffstat (limited to 'keyboards/custommk/evo70_r2/config.h')
-rw-r--r-- | keyboards/custommk/evo70_r2/config.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/keyboards/custommk/evo70_r2/config.h b/keyboards/custommk/evo70_r2/config.h new file mode 100644 index 0000000000..25ab789d75 --- /dev/null +++ b/keyboards/custommk/evo70_r2/config.h @@ -0,0 +1,90 @@ +/* Copyright 2023 David Hoelscher (@customMK) + * + * 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 + +// No VBUS sense needed +#define BOARD_OTG_NOVBUSSENS 1 + +#define STM32_LSECLK 32768 + +#define MATRIX_ROWS 5 +#define MATRIX_COLS 16 +#define MATRIX_ROW_PINS { A8, A1, A2, B1, A7 } + +// FRAM configuration +#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A0 +#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 4 // 48MHz / 4 = 12MHz; max supported by MB85R64 is 20MHz + +// External flash configuration +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B12 +#define EXTERNAL_FLASH_SPI_CLOCK_DIVISOR 1 // 48MHz; max supported by W25Q128JV is 133MHz +#define EXTERNAL_FLASH_SIZE (16 * 1024 * 1024) //128Mbit or 16MByte +#define EXTERNAL_FLASH_SPI_TIMEOUT 200000 //datasheet max is 200seconds for flash chip erase + +// SPI Configuration +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN B3 +#define SPI_SCK_PAL_MODE 5 +#define SPI_MOSI_PIN B5 +#define SPI_MOSI_PAL_MODE 5 +#define SPI_MISO_PIN B4 +#define SPI_MISO_PAL_MODE 5 + + +// SPI LCD Configuration +#define LCD_RST_PIN B2 +#define LCD_CS_PIN A9 +#define LCD_DC_PIN B0 +#ifndef LCD_ACTIVITY_TIMEOUT + #define LCD_ACTIVITY_TIMEOUT 30000 +#endif + +// I2C OLED Configuration +#define I2C1_SCL_PIN B6 +#define I2C1_SDA_PIN B9 + +#define I2C1_CLOCK_SPEED 400000 +#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2 + +#define OLED_DISABLE_TIMEOUT + +#define COL_SHIFT_IN_PIN B14 +#define COL_SHIFT_CLK_PIN B15 + +#define QUANTUM_PAINTER_SUPPORTS_256_PALETTE TRUE +#define QUANTUM_PAINTER_SUPPORTS_NATIVE_COLORS TRUE + +#define OLED_UPDATE_INTERVAL 66 + +#define BACKLIGHT_PWM_DRIVER PWMD3 +#define BACKLIGHT_PWM_CHANNEL 1 +#define BACKLIGHT_PAL_MODE 2 + +#define WS2812_PWM_DRIVER PWMD1 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 +#define WS2812_DMA_CHANNEL 6 + +#define TAP_CODE_DELAY 10 + +#define AUDIO_PIN B8 +#define AUDIO_PWM_DRIVER PWMD4 +#define AUDIO_PWM_CHANNEL 3 +#define AUDIO_PWM_PAL_MODE 2 +#define AUDIO_STATE_TIMER GPTD5 +#define AUDIO_INIT_DELAY |