@@ -79,16 +79,15 @@ struct spi_struct_t {
79
79
80
80
#if CONFIG_IDF_TARGET_ESP32S2
81
81
// ESP32S2
82
- #define SPI_COUNT (3 )
82
+ #define SPI_COUNT (2 )
83
83
84
- #define SPI_CLK_IDX (p ) ((p == 0) ? SPICLK_OUT_MUX_IDX : ((p == 1) ? FSPICLK_OUT_MUX_IDX : ((p == 2) ? SPI3_CLK_OUT_MUX_IDX : 0) ))
85
- #define SPI_MISO_IDX (p ) ((p == 0) ? SPIQ_OUT_IDX : ((p == 1) ? FSPIQ_OUT_IDX : ((p == 2) ? SPI3_Q_OUT_IDX : 0) ))
86
- #define SPI_MOSI_IDX (p ) ((p == 0) ? SPID_IN_IDX : ((p == 1) ? FSPID_IN_IDX : ((p == 2) ? SPI3_D_IN_IDX : 0) ))
84
+ #define SPI_CLK_IDX (p ) ((p == 0) ? FSPICLK_OUT_MUX_IDX : ((p == 1) ? SPI3_CLK_OUT_MUX_IDX : 0))
85
+ #define SPI_MISO_IDX (p ) ((p == 0) ? FSPIQ_OUT_IDX : ((p == 1) ? SPI3_Q_OUT_IDX : 0))
86
+ #define SPI_MOSI_IDX (p ) ((p == 0) ? FSPID_IN_IDX : ((p == 1) ? SPI3_D_IN_IDX : 0))
87
87
88
- #define SPI_SPI_SS_IDX (n ) ((n == 0) ? SPICS0_OUT_IDX : ((n == 1) ? SPICS1_OUT_IDX : 0))
89
- #define SPI_HSPI_SS_IDX (n ) ((n == 0) ? SPI3_CS0_OUT_IDX : ((n == 1) ? SPI3_CS1_OUT_IDX : ((n == 2) ? SPI3_CS2_OUT_IDX : SPI3_CS0_OUT_IDX)))
90
- #define SPI_FSPI_SS_IDX (n ) ((n == 0) ? FSPICS0_OUT_IDX : ((n == 1) ? FSPICS1_OUT_IDX : ((n == 2) ? FSPICS2_OUT_IDX : FSPICS0_OUT_IDX)))
91
- #define SPI_SS_IDX (p , n ) ((p == 0) ? SPI_SPI_SS_IDX(n) : ((p == 1) ? SPI_SPI_SS_IDX(n) : ((p == 2) ? SPI_HSPI_SS_IDX(n) : 0)))
88
+ #define SPI_HSPI_SS_IDX (n ) ((n == 0) ? SPI3_CS0_OUT_IDX : ((n == 1) ? SPI3_CS1_OUT_IDX : ((n == 2) ? SPI3_CS2_OUT_IDX : 0)))
89
+ #define SPI_FSPI_SS_IDX (n ) ((n == 0) ? FSPICS0_OUT_IDX : ((n == 1) ? FSPICS1_OUT_IDX : ((n == 2) ? FSPICS2_OUT_IDX : 0)))
90
+ #define SPI_SS_IDX (p , n ) ((p == 0) ? SPI_FSPI_SS_IDX(n) : ((p == 1) ? SPI_HSPI_SS_IDX(n) : 0))
92
91
93
92
#elif CONFIG_IDF_TARGET_ESP32S3
94
93
// ESP32S3
@@ -98,8 +97,8 @@ struct spi_struct_t {
98
97
#define SPI_MISO_IDX (p ) ((p == 0) ? FSPIQ_OUT_IDX : ((p == 1) ? SPI3_Q_OUT_IDX : 0))
99
98
#define SPI_MOSI_IDX (p ) ((p == 0) ? FSPID_IN_IDX : ((p == 1) ? SPI3_D_IN_IDX : 0))
100
99
101
- #define SPI_HSPI_SS_IDX (n ) ((n == 0) ? SPI3_CS0_OUT_IDX : ((n == 1) ? SPI3_CS1_OUT_IDX : 0 ))
102
- #define SPI_FSPI_SS_IDX (n ) ((n == 0) ? FSPICS0_OUT_IDX : ((n == 1) ? FSPICS1_OUT_IDX : 0 ))
100
+ #define SPI_HSPI_SS_IDX (n ) ((n == 0) ? SPI3_CS0_OUT_IDX : ((n == 1) ? SPI3_CS1_OUT_IDX : ((n == 2) ? SPI3_CS2_OUT_IDX : 0) ))
101
+ #define SPI_FSPI_SS_IDX (n ) ((n == 0) ? FSPICS0_OUT_IDX : ((n == 1) ? FSPICS1_OUT_IDX : ((n == 2) ? FSPICS2_OUT_IDX : 0) ))
103
102
#define SPI_SS_IDX (p , n ) ((p == 0) ? SPI_FSPI_SS_IDX(n) : ((p == 1) ? SPI_HSPI_SS_IDX(n) : 0))
104
103
105
104
#elif CONFIG_IDF_TARGET_ESP32P4
@@ -151,11 +150,7 @@ struct spi_struct_t {
151
150
#define SPI_MUTEX_UNLOCK ()
152
151
// clang-format off
153
152
static spi_t _spi_bus_array [] = {
154
- #if CONFIG_IDF_TARGET_ESP32S2
155
- {(volatile spi_dev_t * )(DR_REG_SPI1_BASE ), 0 , -1 , -1 , -1 , -1 , false},
156
- {(volatile spi_dev_t * )(DR_REG_SPI2_BASE ), 1 , -1 , -1 , -1 , -1 , false},
157
- {(volatile spi_dev_t * )(DR_REG_SPI3_BASE ), 2 , -1 , -1 , -1 , -1 , false}
158
- #elif CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32P4
153
+ #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32P4
159
154
{(volatile spi_dev_t * )(DR_REG_SPI2_BASE ), 0 , -1 , -1 , -1 , -1 , false},
160
155
{(volatile spi_dev_t * )(DR_REG_SPI3_BASE ), 1 , -1 , -1 , -1 , -1 , false}
161
156
#elif CONFIG_IDF_TARGET_ESP32C2
@@ -179,11 +174,7 @@ static spi_t _spi_bus_array[] = {
179
174
#define SPI_MUTEX_UNLOCK () xSemaphoreGive(spi->lock)
180
175
181
176
static spi_t _spi_bus_array [] = {
182
- #if CONFIG_IDF_TARGET_ESP32S2
183
- {(volatile spi_dev_t * )(DR_REG_SPI1_BASE ), NULL , 0 , -1 , -1 , -1 , -1 , false},
184
- {(volatile spi_dev_t * )(DR_REG_SPI2_BASE ), NULL , 1 , -1 , -1 , -1 , -1 , false},
185
- {(volatile spi_dev_t * )(DR_REG_SPI3_BASE ), NULL , 2 , -1 , -1 , -1 , -1 , false}
186
- #elif CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32P4
177
+ #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32P4
187
178
{(volatile spi_dev_t * )(DR_REG_SPI2_BASE ), NULL , 0 , -1 , -1 , -1 , -1 , false}, {(volatile spi_dev_t * )(DR_REG_SPI3_BASE ), NULL , 1 , -1 , -1 , -1 , -1 , false}
188
179
#elif CONFIG_IDF_TARGET_ESP32C2
189
180
{(volatile spi_dev_t * )(DR_REG_SPI2_BASE ), NULL , 0 , -1 , -1 , -1 , -1 , false}
@@ -621,6 +612,7 @@ void spiStopBus(spi_t *spi) {
621
612
622
613
spi_t * spiStartBus (uint8_t spi_num , uint32_t clockDiv , uint8_t dataMode , uint8_t bitOrder ) {
623
614
if (spi_num >= SPI_COUNT ) {
615
+ log_e ("SPI bus index %d is out of range" , spi_num );
624
616
return NULL ;
625
617
}
626
618
0 commit comments