Files
libretiny/boards/variants/generic-rtl8720cf-2mb-992k.h
2023-10-28 14:58:52 +02:00

168 lines
5.5 KiB
C

/* This file was auto-generated from generic-rtl8720cf-2mb-992k.json using boardgen */
#pragma once
// clang-format off
// Pins
// ----
#define PINS_COUNT 20 // Total GPIO count
#define NUM_DIGITAL_PINS 20 // Digital inputs/outputs
#define NUM_ANALOG_INPUTS 0 // ADC inputs
#define NUM_ANALOG_OUTPUTS 16 // PWM & DAC outputs
#define PINS_GPIO_MAX 23 // Last usable GPIO number
// SPI Interfaces
// --------------
#define PIN_SPI0_CS_0 2u // PIN_A2
#define PIN_SPI0_CS_1 7u // PIN_A7
#define PIN_SPI0_CS_2 15u // PIN_A15
#define PIN_SPI0_MISO_0 10u // PIN_A10
#define PIN_SPI0_MISO_1 20u // PIN_A20
#define PIN_SPI0_MOSI_0 4u // PIN_A4
#define PIN_SPI0_MOSI_1 9u // PIN_A9
#define PIN_SPI0_MOSI_2 19u // PIN_A19
#define PIN_SPI0_SCK_0 3u // PIN_A3
#define PIN_SPI0_SCK_1 8u // PIN_A8
#define PIN_SPI0_SCK_2 16u // PIN_A16
#define PINS_SPI0_CS (pin_size_t[]){2u, 7u, 15u}
#define PINS_SPI0_MISO (pin_size_t[]){10u, 20u}
#define PINS_SPI0_MOSI (pin_size_t[]){4u, 9u, 19u}
#define PINS_SPI0_SCK (pin_size_t[]){3u, 8u, 16u}
// Wire Interfaces
// ---------------
#define PIN_WIRE0_SCL_0 2u // PIN_A2
#define PIN_WIRE0_SCL_1 11u // PIN_A11
#define PIN_WIRE0_SCL_2 15u // PIN_A15
#define PIN_WIRE0_SCL_3 19u // PIN_A19
#define PIN_WIRE0_SDA_0 3u // PIN_A3
#define PIN_WIRE0_SDA_1 12u // PIN_A12
#define PIN_WIRE0_SDA_2 16u // PIN_A16
#define PIN_WIRE0_SDA_3 20u // PIN_A20
#define PINS_WIRE0_SCL (pin_size_t[]){2u, 11u, 15u, 19u}
#define PINS_WIRE0_SDA (pin_size_t[]){3u, 12u, 16u, 20u}
// Serial ports
// ------------
#define PIN_SERIAL0_CTS 10u // PIN_A10
#define PIN_SERIAL0_RTS 9u // PIN_A9
#define PIN_SERIAL0_RX_0 12u // PIN_A12
#define PIN_SERIAL0_RX_1 13u // PIN_A13
#define PIN_SERIAL0_TX_0 11u // PIN_A11
#define PIN_SERIAL0_TX_1 14u // PIN_A14
#define PIN_SERIAL1_CTS 4u // PIN_A4
#define PIN_SERIAL1_RX_0 0u // PIN_A0
#define PIN_SERIAL1_RX_1 2u // PIN_A2
#define PIN_SERIAL1_TX_0 1u // PIN_A1
#define PIN_SERIAL1_TX_1 3u // PIN_A3
#define PIN_SERIAL2_CTS 19u // PIN_A19
#define PIN_SERIAL2_RTS 20u // PIN_A20
#define PIN_SERIAL2_RX 15u // PIN_A15
#define PIN_SERIAL2_TX 16u // PIN_A16
#define PINS_SERIAL0_CTS (pin_size_t[]){10u}
#define PINS_SERIAL0_RTS (pin_size_t[]){9u}
#define PINS_SERIAL0_RX (pin_size_t[]){12u, 13u}
#define PINS_SERIAL0_TX (pin_size_t[]){11u, 14u}
#define PINS_SERIAL1_CTS (pin_size_t[]){4u}
#define PINS_SERIAL1_RX (pin_size_t[]){0u, 2u}
#define PINS_SERIAL1_TX (pin_size_t[]){1u, 3u}
#define PINS_SERIAL2_CTS (pin_size_t[]){19u}
#define PINS_SERIAL2_RTS (pin_size_t[]){20u}
#define PINS_SERIAL2_RX (pin_size_t[]){15u}
#define PINS_SERIAL2_TX (pin_size_t[]){16u}
// Pin function macros
// -------------------
#define PIN_CS0 15u // PIN_A15
#define PIN_CTS0 10u // PIN_A10
#define PIN_CTS1 4u // PIN_A4
#define PIN_CTS2 19u // PIN_A19
#define PIN_MOSI0 19u // PIN_A19
#define PIN_PA00 0u // PIN_A0
#define PIN_PA01 1u // PIN_A1
#define PIN_PA02 2u // PIN_A2
#define PIN_PA03 3u // PIN_A3
#define PIN_PA04 4u // PIN_A4
#define PIN_PA07 7u // PIN_A7
#define PIN_PA08 8u // PIN_A8
#define PIN_PA09 9u // PIN_A9
#define PIN_PA10 10u // PIN_A10
#define PIN_PA11 11u // PIN_A11
#define PIN_PA12 12u // PIN_A12
#define PIN_PA13 13u // PIN_A13
#define PIN_PA14 14u // PIN_A14
#define PIN_PA15 15u // PIN_A15
#define PIN_PA16 16u // PIN_A16
#define PIN_PA17 17u // PIN_A17
#define PIN_PA18 18u // PIN_A18
#define PIN_PA19 19u // PIN_A19
#define PIN_PA20 20u // PIN_A20
#define PIN_PA23 23u // PIN_A23
#define PIN_PWM0 20u // PIN_A20
#define PIN_PWM5 17u // PIN_A17
#define PIN_PWM6 18u // PIN_A18
#define PIN_PWM7 23u // PIN_A23
#define PIN_RTS0 9u // PIN_A9
#define PIN_RTS2 20u // PIN_A20
#define PIN_RX2 15u // PIN_A15
#define PIN_SCK0 16u // PIN_A16
#define PIN_TX2 16u // PIN_A16
// Port availability
// -----------------
#define HAS_SERIAL0 1
#define HAS_SERIAL1 1
#define HAS_SERIAL2 1
#define HAS_SPI0 1
#define HAS_WIRE0 1
#define SERIAL_INTERFACES_COUNT 3
#define SPI_INTERFACES_COUNT 1
#define WIRE_INTERFACES_COUNT 1
// Arduino pin names
// -----------------
#define PIN_D0 0u // PIN_A0
#define PIN_D1 1u // PIN_A1
#define PIN_D2 2u // PIN_A2
#define PIN_D3 3u // PIN_A3
#define PIN_D4 4u // PIN_A4
#define PIN_D5 7u // PIN_A7
#define PIN_D6 8u // PIN_A8
#define PIN_D7 9u // PIN_A9
#define PIN_D8 10u // PIN_A10
#define PIN_D9 11u // PIN_A11
#define PIN_D10 12u // PIN_A12
#define PIN_D11 13u // PIN_A13
#define PIN_D12 14u // PIN_A14
#define PIN_D13 15u // PIN_A15
#define PIN_D14 16u // PIN_A16
#define PIN_D15 17u // PIN_A17
#define PIN_D16 18u // PIN_A18
#define PIN_D17 19u // PIN_A19
#define PIN_D18 20u // PIN_A20
#define PIN_D19 23u // PIN_A23
// Static pin names
// ----------------
static const unsigned char D0 = PIN_D0;
static const unsigned char D1 = PIN_D1;
static const unsigned char D2 = PIN_D2;
static const unsigned char D3 = PIN_D3;
static const unsigned char D4 = PIN_D4;
static const unsigned char D5 = PIN_D5;
static const unsigned char D6 = PIN_D6;
static const unsigned char D7 = PIN_D7;
static const unsigned char D8 = PIN_D8;
static const unsigned char D9 = PIN_D9;
static const unsigned char D10 = PIN_D10;
static const unsigned char D11 = PIN_D11;
static const unsigned char D12 = PIN_D12;
static const unsigned char D13 = PIN_D13;
static const unsigned char D14 = PIN_D14;
static const unsigned char D15 = PIN_D15;
static const unsigned char D16 = PIN_D16;
static const unsigned char D17 = PIN_D17;
static const unsigned char D18 = PIN_D18;
static const unsigned char D19 = PIN_D19;