1// +build metro_m4_airlift
2
3package machine
4
5// used to reset into bootloader
6const RESET_MAGIC_VALUE = 0xf01669ef
7
8// GPIO Pins
9const (
10	D0 = PA23 // UART0 RX/PWM available
11	D1 = PA22 // UART0 TX/PWM available
12	D2 = PB17 // PWM available
13	D3 = PB16 // PWM available
14	D4 = PB13 // PWM available
15	D5 = PB14 // PWM available
16	D6 = PB15 // PWM available
17	D7 = PB12 // PWM available
18
19	D8  = PA21 // PWM available
20	D9  = PA20 // PWM available
21	D10 = PA18 // can be used for PWM or UART1 TX
22	D11 = PA19 // can be used for PWM or UART1 RX
23	D12 = PA17 // PWM available
24	D13 = PA16 // PWM available
25
26	D40 = PB22 // built-in neopixel
27)
28
29// Analog pins
30const (
31	A0 = PA02 // ADC/AIN[0]
32	A1 = PA05 // ADC/AIN[2]
33	A2 = PB06 // ADC/AIN[3]
34	A3 = PB00 // ADC/AIN[4] // NOTE: different between "airlift" and non-airlift versions
35	A4 = PB08 // ADC/AIN[5]
36	A5 = PB09 // ADC/AIN[10]
37)
38
39const (
40	LED = D13
41)
42
43// UART0 aka USBCDC pins
44const (
45	USBCDC_DM_PIN = PA24
46	USBCDC_DP_PIN = PA25
47)
48
49const (
50	UART_TX_PIN = D1
51	UART_RX_PIN = D0
52)
53
54const (
55	UART2_TX_PIN = PA04
56	UART2_RX_PIN = PA07
57)
58
59const (
60	NINA_CS     = PA15
61	NINA_ACK    = PB04
62	NINA_GPIO0  = PB01
63	NINA_RESETN = PB05
64
65	NINA_TX  = PA04
66	NINA_RX  = PA07
67	NINA_RTS = PB23
68)
69
70// I2C pins
71const (
72	SDA_PIN = PB02 // SDA: SERCOM5/PAD[0]
73	SCL_PIN = PB03 // SCL: SERCOM5/PAD[1]
74)
75
76// SPI pins
77const (
78	SPI0_SCK_PIN = PA13 // SCK:  SERCOM2/PAD[1]
79	SPI0_SDO_PIN = PA12 // SDO: SERCOM2/PAD[0]
80	SPI0_SDI_PIN = PA14 // SDI: SERCOM2/PAD[2]
81
82	NINA_SDO = SPI0_SDO_PIN
83	NINA_SDI = SPI0_SDI_PIN
84	NINA_SCK = SPI0_SCK_PIN
85)
86
87const (
88	SPI1_SCK_PIN = D12 // SDI: SERCOM1/PAD[1]
89	SPI1_SDO_PIN = D11 // SDO: SERCOM1/PAD[3]
90	SPI1_SDI_PIN = D13 // SCK:  SERCOM1/PAD[0]
91)
92
93// USB CDC identifiers
94const (
95	usb_STRING_PRODUCT      = "Adafruit Metro M4 Airlift Lite"
96	usb_STRING_MANUFACTURER = "Adafruit"
97)
98
99var (
100	usb_VID uint16 = 0x239A
101	usb_PID uint16 = 0x8037
102)
103