diff options
Diffstat (limited to 'keyboards/splitkb/elora/rev1/myriad.h')
-rw-r--r-- | keyboards/splitkb/elora/rev1/myriad.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/keyboards/splitkb/elora/rev1/myriad.h b/keyboards/splitkb/elora/rev1/myriad.h new file mode 100644 index 0000000000..03fe2b5e6b --- /dev/null +++ b/keyboards/splitkb/elora/rev1/myriad.h @@ -0,0 +1,52 @@ +// Copyright 2024 splitkb.com ([email protected]) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include <stdint.h> +#include <stdbool.h> +#include "matrix.h" + +typedef enum { UNINITIALIZED, NONE, INVALID, UNKNOWN, SKB_SWITCHES, SKB_ENCODER, SKB_JOYSTICK } myriad_card_t; + +bool myriad_hook_matrix(matrix_row_t current_matrix[]); +uint8_t myriad_hook_encoder(uint8_t index, bool pad_b); +myriad_card_t detect_myriad(void); + +//// Elora-specific pinout + +// Control signals +#define MYRIAD_PRESENT GP3 +#define MYRIAD_MCU_OVERRIDE GP2 + +// General I/O +#define MYRIAD_ADC1 GP26 +#define MYRIAD_ADC2 GP27 +#define MYRIAD_ADC1_CHANNEL 0 +#define MYRIAD_ADC2_CHANNEL 1 +#define MYRIAD_PWM1 GP23 +#define MYRIAD_PWM2 GP24 +#define MYRIAD_GPIO1 GP4 +#define MYRIAD_GPIO2 GP5 +#define MYRIAD_GPIO3 GP6 +#define MYRIAD_GPIO4 GP8 + +// UART +#define MYRIAD_RX GP17 +#define MYRIAD_TX GP16 +#define MYRIAD_CTS GP18 +#define MYRIAD_RTS GP19 + +// SPI +#define MYRIAD_MISO GP12 +#define MYRIAD_MOSI GP11 +#define MYRIAD_SCK GP10 +#define MYRIAD_MODULE_CS GP9 +#define MYRIAD_MATRIX_CS GP13 + +// I2C +#define MYRIAD_SDA GP0 +#define MYRIAD_SCL GP1 + +// RGB +#define MYRIAD_RGB GP15 |