@@ -26,51 +26,51 @@ const PinDescription g_APinDescription[]=
26
26
// 0..13 - Digital pins
27
27
// ----------------------
28
28
// 0/1 - SERCOM/UART (Serial1)
29
- { PORTA, 23 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM) , No_ADC_Channel, PWM1_CH7, TCC1_CH7 , EXTERNAL_INT_7 }, // RX: SERCOM3/PAD[1]
30
- { PORTA, 22 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM) , No_ADC_Channel, PWM1_CH6, TCC1_CH6 , EXTERNAL_INT_6 }, // TX: SERCOM3/PAD[0]
29
+ { PORTA, 23 , PIO_SERCOM, PIN_ATTR_PWM_G , No_ADC_Channel, TCC0_CH3, TC4_CH1 , EXTERNAL_INT_7 }, // RX: SERCOM3/PAD[1]
30
+ { PORTA, 22 , PIO_SERCOM, PIN_ATTR_PWM_G , No_ADC_Channel, TCC0_CH2, TC4_CH0 , EXTERNAL_INT_6 }, // TX: SERCOM3/PAD[0]
31
31
32
32
// 2..12
33
33
// Digital Low
34
- { PORTB, 17 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER) , No_ADC_Channel, PWM0_CH5, TCC0_CH5 , EXTERNAL_INT_1 },
35
- { PORTB, 16 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER) , No_ADC_Channel, PWM0_CH4, TCC0_CH4 , EXTERNAL_INT_0 },
36
- { PORTB, 13 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER) , No_ADC_Channel, PWM0_CH1, TCC0_CH1 , EXTERNAL_INT_13 },
37
- { PORTB, 14 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER) , No_ADC_Channel, PWM0_CH2, TCC0_CH2 , EXTERNAL_INT_14 },
38
- { PORTB, 15 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER) , No_ADC_Channel, PWM0_CH3, TCC0_CH3 , EXTERNAL_INT_15 },
39
- { PORTB, 12 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER) , No_ADC_Channel, PWM0_CH0, TCC0_CH0 , EXTERNAL_INT_12 },
34
+ { PORTB, 17 , PIO_DIGITAL, PIN_ATTR_PWM_G , No_ADC_Channel, TCC0_CH5, NOT_ON_TIMER , EXTERNAL_INT_1 },
35
+ { PORTB, 16 , PIO_DIGITAL, PIN_ATTR_PWM_G , No_ADC_Channel, TCC0_CH4, NOT_ON_TIMER , EXTERNAL_INT_0 },
36
+ { PORTB, 13 , PIO_DIGITAL, PIN_ATTR_PWM_F , No_ADC_Channel, TCC3_CH1, TC4_CH1 , EXTERNAL_INT_13 },
37
+ { PORTB, 14 , PIO_DIGITAL, PIN_ATTR_PWM_F , No_ADC_Channel, TCC4_CH0, TC5_CH0 , EXTERNAL_INT_14 },
38
+ { PORTB, 15 , PIO_DIGITAL, PIN_ATTR_PWM_F , No_ADC_Channel, TCC4_CH1, TC5_CH1 , EXTERNAL_INT_15 },
39
+ { PORTB, 12 , PIO_DIGITAL, PIN_ATTR_PWM_F , No_ADC_Channel, TCC3_CH0, TC4_CH0 , EXTERNAL_INT_12 },
40
40
41
41
// Digital High
42
- { PORTA, 21 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM) , No_ADC_Channel, PWM1_CH5, TCC1_CH5 , EXTERNAL_INT_5 },
43
- { PORTA, 20 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM) , No_ADC_Channel, PWM1_CH4, TCC1_CH4 , EXTERNAL_INT_4 },
44
- { PORTA, 18 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM) , No_ADC_Channel, PWM1_CH2, TCC1_CH2 , EXTERNAL_INT_2 },
45
- { PORTA, 19 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM) , No_ADC_Channel, PWM1_CH3, TCC1_CH3 , EXTERNAL_INT_3 },
46
- { PORTA, 17 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM) , No_ADC_Channel, PWM1_CH1, TCC1_CH1 , EXTERNAL_INT_1 },
42
+ { PORTA, 21 , PIO_DIGITAL, PIN_ATTR_PWM_G , No_ADC_Channel, TCC0_CH1, NOT_ON_TIMER , EXTERNAL_INT_5 },
43
+ { PORTA, 20 , PIO_DIGITAL, PIN_ATTR_PWM_G , No_ADC_Channel, TCC0_CH0, NOT_ON_TIMER , EXTERNAL_INT_4 },
44
+ { PORTA, 18 , PIO_DIGITAL, PIN_ATTR_PWM_F , No_ADC_Channel, TCC1_CH2, TC3_CH0 , EXTERNAL_INT_2 },
45
+ { PORTA, 19 , PIO_DIGITAL, PIN_ATTR_PWM_F , No_ADC_Channel, TCC1_CH3, TC3_CH1 , EXTERNAL_INT_3 },
46
+ { PORTA, 17 , PIO_DIGITAL, PIN_ATTR_PWM_F , No_ADC_Channel, TCC1_CH1, TC2_CH1 , EXTERNAL_INT_1 },
47
47
48
48
// 13 (LED)
49
- { PORTA, 16 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM) , No_ADC_Channel, PWM1_CH0, TCC1_CH0 , EXTERNAL_INT_0 },
49
+ { PORTA, 16 , PIO_DIGITAL, PIN_ATTR_PWM_F , No_ADC_Channel, TCC1_CH0, TC2_CH0 , EXTERNAL_INT_0 },
50
50
51
51
// 14..19 - Analog pins
52
52
// --------------------
53
53
{ PORTA, 2 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 },
54
- { PORTA, 5 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel5, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_5 },
55
- { PORTA, 6 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel6, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_6 },
56
- { PORTA, 4 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel4, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_4 },
57
- { PORTB, 8 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel2, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_8 },
58
- { PORTB, 9 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel3, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_9 },
54
+ { PORTA, 5 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel5, NOT_ON_PWM, TC0_CH1 , EXTERNAL_INT_5 },
55
+ { PORTA, 6 , PIO_ANALOG, ( PIN_ATTR_ANALOG|PIN_ATTR_PWM_E) , ADC_Channel6, TC1_CH0, TC1_CH0 , EXTERNAL_INT_6 },
56
+ { PORTA, 4 , PIO_ANALOG, ( PIN_ATTR_ANALOG|PIN_ATTR_PWM_E) , ADC_Channel4, TC0_CH0, TC0_CH0 , EXTERNAL_INT_4 },
57
+ { PORTB, 8 , PIO_ANALOG, ( PIN_ATTR_ANALOG|PIN_ATTR_PWM_E) , ADC_Channel2, TC4_CH0, TC4_CH0 , EXTERNAL_INT_8 },
58
+ { PORTB, 9 , PIO_ANALOG, ( PIN_ATTR_ANALOG|PIN_ATTR_PWM_E) , ADC_Channel3, TC4_CH1, TC4_CH1 , EXTERNAL_INT_9 },
59
59
60
60
// Extra Analog pins! 20..21
61
61
{ PORTB, 2 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel14, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // same as sda
62
62
{ PORTB, 3 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel15, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_3 }, // same as scl
63
63
64
64
// 22..23 I2C pins (SDA/SCL)
65
65
// ----------------------
66
- { PORTB, 2 , PIO_SERCOM_ALT, PIN_ATTR_DIGITAL , No_ADC_Channel, NOT_ON_PWM , NOT_ON_TIMER, EXTERNAL_INT_2 }, // sda
66
+ { PORTB, 2 , PIO_SERCOM_ALT, PIN_ATTR_PWM_F , No_ADC_Channel, TCC2_CH2 , NOT_ON_TIMER, EXTERNAL_INT_2 }, // sda
67
67
{ PORTB, 3 , PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_3 }, // scl
68
68
69
69
// 24..26 - SPI pins (ICSP:MISO,SCK,MOSI)
70
70
// ----------------------
71
- { PORTA, 14 , PIO_SERCOM, PIN_ATTR_DIGITAL , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_14 },
72
- { PORTA, 13 , PIO_SERCOM, PIN_ATTR_DIGITAL , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_13 },
73
- { PORTA, 12 , PIO_SERCOM, PIN_ATTR_DIGITAL , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_12 },
71
+ { PORTA, 14 , PIO_SERCOM, PIN_ATTR_PWM_E , No_ADC_Channel, TC3_CH0, TC3_CH0 , EXTERNAL_INT_14 },
72
+ { PORTA, 13 , PIO_SERCOM, PIN_ATTR_PWM_E , No_ADC_Channel, TC2_CH1, TC2_CH1 , EXTERNAL_INT_13 },
73
+ { PORTA, 12 , PIO_SERCOM, PIN_ATTR_PWM_E , No_ADC_Channel, TC2_CH0, TC2_CH0 , EXTERNAL_INT_12 },
74
74
75
75
// 27..28 - RX/TX LEDS (PB06/PA27)
76
76
// --------------------
@@ -101,7 +101,7 @@ const PinDescription g_APinDescription[]=
101
101
{ PORTA, 5 , PIO_ANALOG, PIN_ATTR_ANALOG, DAC_Channel1, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 }, // DAC/VOUT[1]
102
102
103
103
// 39 - LED #13 duplicate placeholder
104
- { PORTA, 16 , PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM) , No_ADC_Channel, PWM1_CH0, NOT_ON_TIMER , EXTERNAL_INT_0 },
104
+ { PORTA, 16 , PIO_DIGITAL, PIN_ATTR_PWM_F , No_ADC_Channel, TCC1_CH0, TC2_CH0 , EXTERNAL_INT_0 },
105
105
106
106
// 40 - Internal NeoPixel
107
107
{ PORTB, 22 , PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_6 }, // used as output only
@@ -116,7 +116,9 @@ const PinDescription g_APinDescription[]=
116
116
{ PORTA, 11 , PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 },
117
117
} ;
118
118
119
- const void * g_apTCInstances[TCC_INST_NUM+TC_INST_NUM]={ TCC0, TCC1, TCC2, TCC3, TCC4, TC5 } ;
119
+ const void * g_apTCInstances[TCC_INST_NUM+TC_INST_NUM]={ TCC0, TCC1, TCC2, TCC3, TCC4, TC0, TC1, TC2, TC3, TC4, TC5 } ;
120
+ const uint32_t GCLK_CLKCTRL_IDs[TCC_INST_NUM+TC_INST_NUM] = { TCC0_GCLK_ID, TCC1_GCLK_ID, TCC2_GCLK_ID, TCC3_GCLK_ID, TCC4_GCLK_ID, TC0_GCLK_ID, TC1_GCLK_ID, TC2_GCLK_ID, TC3_GCLK_ID, TC4_GCLK_ID, TC5_GCLK_ID } ;
121
+
120
122
121
123
// Multi-serial objects instantiation
122
124
SERCOM sercom0 ( SERCOM0 ) ;
0 commit comments