Skip to content

Commit 39b6213

Browse files
committed
some alternate SPI's for CPX
1 parent a89a0df commit 39b6213

File tree

2 files changed

+28
-4
lines changed

2 files changed

+28
-4
lines changed

variants/circuitplay/variant.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ const PinDescription g_APinDescription[]=
3535
{ PORTB, 3, PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_3 }, // GPIO D3 / A4 / SCL
3636
{ PORTA, 28, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // GPIO D4 / Left Button
3737
{ PORTA, 14, PIO_DIGITAL, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_14 }, // GPIO D5 / Right button
38-
{ PORTA, 5, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel5, PWM0_CH1, TCC0_CH1, EXTERNAL_INT_5 }, // GPIO D6 / A1
38+
{ PORTA, 5, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel5, PWM0_CH1, TCC0_CH1, EXTERNAL_INT_5 }, // GPIO D6 / A1
3939
{ PORTA, 15, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM3_CH1, TC3_CH1, EXTERNAL_INT_15 }, // GPIO D7 / Slide Switch
4040

4141
// Digital High
4242
{ PORTB, 23, PIO_DIGITAL, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // GPIO D8 / NeoPixels
43-
{ PORTA, 6, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel6, PWM1_CH0, TCC1_CH0, EXTERNAL_INT_6 }, // GPIO D9 / A2
44-
{ PORTA, 7, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel7, PWM1_CH1, TCC1_CH1, EXTERNAL_INT_7 }, // GPIO D10 / A3
43+
{ PORTA, 6, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel6, PWM1_CH0, TCC1_CH0, EXTERNAL_INT_6 }, // GPIO D9 / A2
44+
{ PORTA, 7, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel7, PWM1_CH1, TCC1_CH1, EXTERNAL_INT_7 }, // GPIO D10 / A3
4545
{ PORTA, 30, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // GPIO D11 / Speaker Shutdown
4646
{ PORTA, 2, PIO_DIGITAL, (PIN_ATTR_DIGITAL|PIN_ATTR_ANALOG), ADC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // GPIO D12 / VOut / A0
4747
// 13 (LED)

variants/circuitplay/variant.h

+25-1
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,9 @@ static const uint8_t DAC0 = PIN_DAC0;
111111
/*
112112
* SPI Interfaces
113113
*/
114-
#define SPI_INTERFACES_COUNT 2
114+
#define SPI_INTERFACES_COUNT 3
115115

116+
// SPI interface for QSPI flash
116117
#define PIN_SPI_MISO (30u)
117118
#define PIN_SPI_SCK (31u)
118119
#define PIN_SPI_MOSI (32u)
@@ -139,6 +140,29 @@ static const uint8_t MOSI1 = PIN_SPI_MOSI ;
139140
static const uint8_t MISO1 = PIN_SPI_MISO ;
140141
static const uint8_t SCK1 = PIN_SPI_SCK ;
141142

143+
144+
// Extra hardware for SD card
145+
#define PIN_SPI2_SCK (10u)
146+
#define PIN_SPI2_MOSI (9u)
147+
#define PIN_SPI2_MISO (6u)
148+
#define PIN_SPI2_SS (5u)
149+
#define PERIPH_SPI2 sercom0
150+
#define PAD_SPI2_TX SPI_PAD_2_SCK_3 // MOSI / SCK
151+
#define PAD_SPI2_RX SERCOM_RX_PAD_1 // MISO not avail
152+
153+
static const uint8_t SS2 = 5 ;
154+
static const uint8_t MOSI2 = PIN_SPI2_MOSI ;
155+
static const uint8_t MISO2 = PIN_SPI2_MISO ;
156+
static const uint8_t SCK2 = PIN_SPI2_SCK ;
157+
158+
159+
// Needed for SD library
160+
#define SDCARD_SPI SPI2
161+
#define SDCARD_MISO_PIN PIN_SPI2_MISO
162+
#define SDCARD_MOSI_PIN PIN_SPI2_MOSI
163+
#define SDCARD_SCK_PIN PIN_SPI2_SCK
164+
#define SDCARD_SS_PIN PIN_SPI2_SS
165+
142166
/*
143167
* Wire Interfaces
144168
*/

0 commit comments

Comments
 (0)