Skip to content

Commit 2d4ff30

Browse files
More pin def WIP
1 parent aaddcc7 commit 2d4ff30

File tree

1 file changed

+35
-30
lines changed

1 file changed

+35
-30
lines changed

variants/pyportal/variant.cpp

Lines changed: 35 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -18,42 +18,47 @@
1818

1919
#include "variant.h"
2020

21+
// PyPortal uses ATSAMD51J20 (64-pin), Metro & Feather M4 use J19, Trellis uses 51G
22+
// NOT SURE ABOUT PIN_ATTR_PWM_n VALUES, defaulting all to "E" for now, update as required
23+
// Also setting PWM and TIMER pins to same value to start, update as required
24+
// Is LIGHT pin connected/routed anywhere?
25+
2126
/* NEW PIN DEFS IN PROGRESS:
2227
23-
{ PORTA, 0, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_0 }, // TFT_RESET
24-
{ PORTA, 1, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_1 }, // CARDDET
28+
{ PORTA, 0, PIO_DIGITAL , PIN_ATTR_PWM_E , No_ADC_Channel, TC2_CH0 , TC2_CH0 , EXTERNAL_INT_0 }, // TFT_RESET
29+
{ PORTA, 1, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC2_CH1 , TC2_CH1 , EXTERNAL_INT_1 }, // CARDDET
2530
{ PORTA, 2, PIO_ANALOG , PIN_ATTR_ANALOG, DAC_Channel0 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // AUDIO_OUT
26-
{ PORTA, 3, PIO_ANALOG , PIN_ATTR_ANALOG, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_3 }, // AREF?
27-
{ PORTA, 4, PIO_ANALOG , PIN_ATTR_ANALOG, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_4 }, // TOUCH_YD
28-
{ PORTA, 5, PIO_ANALOG , PIN_ATTR_ANALOG, ADC_Channel0 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 }, // TOUCH_XL
29-
{ PORTA, 6, PIO_ANALOG , PIN_ATTR_ANALOG, ADC_Channel6 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_6 }, // TOUCH_YU
30-
{ PORTA, 7, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // TFT_WR1
31-
{ PORTA, 8, PIO_COM , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // QSPI_DATA0
31+
{ PORTA, 3, PIO_ANALOG , PIN_ATTR_ANALOG, ADC_Channel1 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_3 }, // AREF?
32+
{ PORTA, 4, PIO_ANALOG , PIN_ATTR_ANALOG, ADC_Channel4 , TC0_CH0 , TC0_CH0 , EXTERNAL_INT_4 }, // TOUCH_YD
33+
{ PORTA, 5, PIO_ANALOG , PIN_ATTR_ANALOG, ADC_Channel5 , TC0_CH1 , TC0_CH1 , EXTERNAL_INT_5 }, // TOUCH_XL
34+
{ PORTA, 6, PIO_ANALOG , PIN_ATTR_ANALOG, ADC_Channel6 , TC1_CH0 , TC1_CH0 , EXTERNAL_INT_6 }, // TOUCH_YU
35+
{ PORTA, 7, PIO_DIGITAL , PIN_ATTR_PWM_E , ADC_Channel7 , TC1_CH1 , TC1_CH1 , EXTERNAL_INT_7 }, // TFT_WR1
36+
{ PORTA, 8, PIO_COM , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NMI }, // QSPI_DATA0
3237
{ PORTA, 9, PIO_COM , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_9 }, // QSPI_DATA1
3338
{ PORTA, 10, PIO_COM , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_10 }, // QSPI_DATA2
3439
{ PORTA, 11, PIO_COM , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 }, // QSPI_DATA3
35-
{ PORTA, 12, PIO_SERCOM_ALT, PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_12 }, // MOSI
36-
{ PORTA, 13, PIO_SERCOM_ALT, PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_13 }, // SCK
37-
{ PORTA, 14, PIO_SERCOM_ALT, PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_14 }, // MISO
38-
{ PORTA, 15, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_15 }, // ESP_CS
39-
{ PORTA, 16, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_0 }, // LCD_DATA0
40-
{ PORTA, 17, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_1 }, // LCD_DATA1
41-
{ PORTA, 18, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // LCD_DATA2
42-
{ PORTA, 19, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_3 }, // LCD_DATA3
43-
{ PORTA, 20, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_4 }, // LCD_DATA4
44-
{ PORTA, 21, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 }, // LCD_DATA5
45-
{ PORTA, 22, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_6 }, // LCD_DATA6
46-
{ PORTA, 23, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_7 }, // LCD_DATA7
40+
{ PORTA, 12, PIO_SERCOM , PIN_ATTR_PWM_E , No_ADC_Channel, TC2_CH0 , TC2_CH0 , EXTERNAL_INT_12 }, // MOSI, SERCOM2/PAD[0]
41+
{ PORTA, 13, PIO_SERCOM , PIN_ATTR_PWM_E , No_ADC_Channel, TC2_CH1 , TC2_CH1 , EXTERNAL_INT_13 }, // SCK, SERCOM2/PAD[1]
42+
{ PORTA, 14, PIO_SERCOM , PIN_ATTR_PWM_E , No_ADC_Channel, TC3_CM0 , TC3_CH0 , EXTERNAL_INT_14 }, // MISO, SERCOM2/PAD[2]
43+
{ PORTA, 15, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC3_CH1 , TC3_CH1 , EXTERNAL_INT_15 }, // ESP_CS
44+
{ PORTA, 16, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC2_CH0 , TC2_CH0 , EXTERNAL_INT_0 }, // LCD_DATA0
45+
{ PORTA, 17, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC2_CH1 , TC2_CH1 , EXTERNAL_INT_1 }, // LCD_DATA1
46+
{ PORTA, 18, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC3_CH0 , TC3_CH0 , EXTERNAL_INT_2 }, // LCD_DATA2
47+
{ PORTA, 19, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC3_CH1 , TC3_CH1 , EXTERNAL_INT_3 }, // LCD_DATA3
48+
{ PORTA, 20, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC7_CH0 , TC7_CH0 , EXTERNAL_INT_4 }, // LCD_DATA4
49+
{ PORTA, 21, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC7_CH1 , TC7_CH1 , EXTERNAL_INT_5 }, // LCD_DATA5
50+
{ PORTA, 22, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC4_CH0 , TC4_CH0 , EXTERNAL_INT_6 }, // LCD_DATA6
51+
{ PORTA, 23, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC4_CH1 , TC4_CH1 , EXTERNAL_INT_7 }, // LCD_DATA7
4752
{ PORTA, 24, PIO_COM , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB D-
4853
{ PORTA, 25, PIO_COM , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB D+
49-
{ PORTA, 27, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 }, // D13
50-
{ PORTA, 30, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_14 }, // SWCLK
51-
{ PORTA, 31, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_15 }, // SWDIO
52-
53-
{ PORTB, 0, PIO_ANALOG , PIN_ATTR_ANALOG, ADC_Channel12 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_0 }, // D3 (mma)
54-
{ PORTB, 1, PIO_ANALOG , PIN_ATTR_ANALOG, ADC_Channel12 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_1 }, // D4 (mma)
55-
{ PORTB, 2, PIO_SERCOM_ALT, PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // SDA (mma)
56-
{ PORTB, 3, PIO_SERCOM_ALT, PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_3 }, // SCL (mma)
54+
{ PORTA, 27, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 }, // D13 (LED)
55+
{ PORTA, 30, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC6_CH0 , TC6_CH0 , EXTERNAL_INT_14 }, // SWCLK
56+
{ PORTA, 31, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, TC6_CH1 , TC6_CH1 , EXTERNAL_INT_15 }, // SWDIO
57+
58+
{ PORTB, 0, PIO_ANALOG , PIN_ATTR_ANALOG, ADC_Channel12 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_0 }, // D3 (SENSE JST)
59+
{ PORTB, 1, PIO_ANALOG , PIN_ATTR_ANALOG, ADC_Channel12 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_1 }, // D4 (NEOPIX JST)
60+
{ PORTB, 2, PIO_SERCOM_ALT, PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // SDA (JST)
61+
{ PORTB, 3, PIO_SERCOM_ALT, PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_3 }, // SCL (JST)
5762
{ PORTB, 4, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_4 }, // TFT_RD
5863
{ PORTB, 5, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 }, // TFT_RS
5964
{ PORTB, 6, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_6 }, // TFT_CS
@@ -62,8 +67,8 @@
6267
{ PORTB, 9, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_9 }, // TFT_WR (wr2)
6368
{ PORTB, 10, PIO_COM , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_10 }, // QSPI_SCK
6469
{ PORTB, 11, PIO_COM , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 }, // QSPI_CS
65-
{ PORTB, 12, PIO_SERCOM_ALT, PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_12 }, // TXD - pin 1 (to ESP32)
66-
{ PORTB, 13, PIO_SERCOM_ALT, PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_13 }, // RXD - pin 0 (to ESP32)
70+
{ PORTB, 12, PIO_SERCOM , PIN_ATTR_NONE , No_ADC_Channel, TC4_CH0 , TCC3_CH0 , EXTERNAL_INT_12 }, // TXD (pin 1, to ESP32), SERCOM4/PAD[0]
71+
{ PORTB, 13, PIO_SERCOM , PIN_ATTR_NONE , No_ADC_Channel, TC4_CH1 , TCC3_CH1 , EXTERNAL_INT_13 }, // RXD (pin 0, to ESP32), SERCOM4/PAD[1]
6772
{ PORTB, 14, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_14 }, // ESP_BUSY
6873
{ PORTB, 15, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_15 }, // ESP_GPIO0
6974
{ PORTB, 16, PIO_DIGITAL , PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_0 }, // ESP_RST

0 commit comments

Comments
 (0)