blob: 7145e318b33d30c9ab3535fbd8b46063327d3aca [file] [log] [blame]
#pragma once
#ifdef SL_UART
#include "sl_device_registers.h"
#include "sl_uart.h"
#define DEFAULT_UART USART0
#define SL_UART_VCOM_PORT SL_GPIO_PORT_D
#define SL_UART_VCOM_PIN 4
static const sl_gpio_t vcom_enable_pin = { SL_UART_VCOM_PORT, SL_UART_VCOM_PIN };
#define DEFAULT_UART_PIN_CONFIG &default_uart_pin_configuration
// XXX: HACK to get things working
#define UART_CLOCK cmuClock_USART0
#define UART_RX_IRQ USART0_RX_IRQn
/* Note: This creates a static instance for each C file that includes this header and references the variable */
static const sl_uart_pin_configuration_t default_uart_pin_configuration = {
.tx_port = SL_GPIO_PORT_A,
.tx_pin = 5,
.rx_port = SL_GPIO_PORT_A,
.rx_pin = 6,
.cts_port = SL_GPIO_PORT_A,
.cts_pin = 4,
.rts_port = SL_GPIO_PORT_C,
.rts_pin = 1,
.uart_number = 0,
//.route_loc = USART_ROUTELOC0_RXLOC_LOC4 | USART_ROUTELOC0_TXLOC_LOC4,
};
#endif
typedef struct
{
unsigned char port;
unsigned char pin;
} sl_pin_t;
#define PIN(port_id, pin_id) \
(sl_pin_t) \
{ \
.port = gpioPort##port_id, .pin = pin_id \
}
#define SLEEP_CONFIRM_PIN PIN(D, 2)
#define WAKE_INDICATOR_PIN PIN(A, 5)
#define RESET_PIN PIN(A, 6)
#define INTERRUPT_PIN PIN(A, 7)
#define SPI_CLOCK_PIN PIN(C, 3)
#define SPI_MOSI_PIN PIN(C, 1)
#define SPI_MISO_PIN PIN(C, 2)
#define SPI_CS_PIN PIN(C, 0)
#define SPI_USART USART0
#define SPI_USART_CMU_CLOCK cmuClock_USART0
#define SPI_USART_LDMA_TX ldmaPeripheralSignal_USART0_TXBL
#define SPI_USART_LDMA_RX ldmaPeripheralSignal_USART0_RXDATAV
#define SPI_USART_ROUTE_INDEX 0
#define PACKET_PENDING_INT_PRI 3