add board definition for Metro M0

This commit is contained in:
joeycastillo 2024-10-13 10:52:20 -04:00
parent 81cf378fb8
commit 7317397502
2 changed files with 70 additions and 0 deletions

5
boards/metro_m0/board.mk Normal file
View File

@ -0,0 +1,5 @@
CHIP = samd21
LDSCRIPT = samd21j18
DEFINES += \
-D__SAMD21G18A__ \

65
boards/metro_m0/pins.h Normal file
View File

@ -0,0 +1,65 @@
#pragma once
#include "hal_gpio.h"
#include "spi.h"
#include "i2c.h"
#include "uart.h"
// Analog pins
HAL_GPIO_PIN(A0, A, 2)
HAL_GPIO_PIN(A1, B, 8)
HAL_GPIO_PIN(A2, B, 9)
HAL_GPIO_PIN(A3, A, 4)
HAL_GPIO_PIN(A4, A, 5)
HAL_GPIO_PIN(A5, B, 2)
// Digital pins
HAL_GPIO_PIN(D0, A, 11) // also RX below
HAL_GPIO_PIN(D1, A, 10) // also TX below
HAL_GPIO_PIN(D2, A, 14) // also TX below
HAL_GPIO_PIN(D3, A, 9) // also TX below
HAL_GPIO_PIN(D4, A, 8) // SDCS on Adalogger, RST on radio
HAL_GPIO_PIN(D5, A, 15)
HAL_GPIO_PIN(D6, A, 20)
HAL_GPIO_PIN(D7, A, 21)
HAL_GPIO_PIN(D8, A, 6)
HAL_GPIO_PIN(D9, A, 7)
HAL_GPIO_PIN(D10, A, 18)
HAL_GPIO_PIN(D11, A, 16)
HAL_GPIO_PIN(D12, A, 19)
HAL_GPIO_PIN(D13, A, 17)
HAL_GPIO_PIN(LED, A, 17)
// SPI
HAL_GPIO_PIN(SCK, B, 11)
HAL_GPIO_PIN(MOSI, B, 10)
HAL_GPIO_PIN(MISO, A, 12)
#define SPI_SERCOM 4
#define SPI_SERCOM_DOPO SPI_DOPO_2_SCK_3
#define SPI_SERCOM_DIPO SPI_DIPO_0
// I2C
HAL_GPIO_PIN(SDA, A, 22)
HAL_GPIO_PIN(SCL, A, 23)
#define I2C_SERCOM 5
// UART
HAL_GPIO_PIN(TX, A, 10)
HAL_GPIO_PIN(RX, A, 11)
#define UART_SERCOM 0
#define UART_SERCOM_TXPO UART_TXPO_2
#define UART_SERCOM_RXPO UART_RXPO_3
// SPI Flash
HAL_GPIO_PIN(FLASH_SCK, B, 23)
HAL_GPIO_PIN(FLASH_MOSI, B, 22)
HAL_GPIO_PIN(FLASH_MISO, B, 3)
HAL_GPIO_PIN(FLASH_CS, A, 13)
#define FLASH_SPI_SERCOM 5
#define FLASH_SPI_SERCOM_DOPO SPI_DOPO_2_SCK_3
#define FLASH_SPI_SERCOM_DIPO SPI_DIPO_1
// Bonus LEDs!
HAL_GPIO_PIN(NEOPIXEL, A, 30)
HAL_GPIO_PIN(TX_LED, A, 27)
HAL_GPIO_PIN(RX_LED, A, 31)