diff --git a/src/FSCommon.cpp b/src/FSCommon.cpp index f23a51780..53db97bb4 100644 --- a/src/FSCommon.cpp +++ b/src/FSCommon.cpp @@ -23,7 +23,11 @@ SPIClass SDHandler = SPIClass(HSPI); SPIClass SDHandler = SPIClass(VSPI); #endif #elif defined(ARCH_NRF52) +#if defined(SDCARD_USE_SPI1) +#define SDHandler SPI1 // only used for esp32, SPI selection for NRF52 happens in variant.h (for now) +#elif defined(SDCARD_USE_SPI) #define SDHandler SPI // only used for esp32 +#endif // NRF52 SPI or SPI1 #endif // ESP32/NRF52 #ifndef SD_SPI_FREQUENCY #define SD_SPI_FREQUENCY 4000000U @@ -399,4 +403,4 @@ void setupSDCard() #endif #endif #endif -} +} \ No newline at end of file diff --git a/variants/mesh-tab/variant.h b/variants/mesh-tab/variant.h index a912aa3af..533c931bc 100644 --- a/variants/mesh-tab/variant.h +++ b/variants/mesh-tab/variant.h @@ -25,7 +25,6 @@ #define GPS_TX_PIN 17 // #define HAS_SDCARD 1 -// #define SDCARD_USE_HSPI #define SPI_MOSI 13 #define SPI_SCK 12 #define SPI_MISO 11 diff --git a/variants/my_esp32s3_diy_oled/variant.h b/variants/my_esp32s3_diy_oled/variant.h index dcaabe64d..8a3a39003 100644 --- a/variants/my_esp32s3_diy_oled/variant.h +++ b/variants/my_esp32s3_diy_oled/variant.h @@ -4,7 +4,7 @@ // #define HAS_SCREEN 0 // #define HAS_SDCARD -// #define SDCARD_USE_HSPI +// #define SDCARD_USE_SPI1 #define USE_SSD1306 diff --git a/variants/rak4631/variant.h b/variants/rak4631/variant.h index 907234b5c..ac8130943 100644 --- a/variants/rak4631/variant.h +++ b/variants/rak4631/variant.h @@ -108,11 +108,14 @@ static const uint8_t AREF = PIN_AREF; * SPI Interfaces */ #define SPI_INTERFACES_COUNT 2 +#define SPI_32MHZ_INTERFACE 0 // 0: use SPIM3 for SPI and SPIM2 for SPI1; 1: the opposite +// SPI pins for SX1262 #define PIN_SPI_MISO (45) #define PIN_SPI_MOSI (44) #define PIN_SPI_SCK (43) +// SPI1 pins for external(rak4630) spi (incl. SDCard) #define PIN_SPI1_MISO (29) // (0 + 29) #define PIN_SPI1_MOSI (30) // (0 + 30) #define PIN_SPI1_SCK (3) // (0 + 3) @@ -125,9 +128,14 @@ static const uint8_t SCK = PIN_SPI_SCK; // SD card SPI pin definitions #define HAS_SDCARD 1 -#define SPI_MOSI PIN_SPI_MOSI -#define SPI_SCK PIN_SPI_SCK -#define SPI_MISO PIN_SPI_MISO +#define SDCARD_USE_SPI1 1 + +#ifdef SDCARD_USE_SPI1 +#define SDCARD_SPI SPI1 +#endif +#define SPI_MOSI PIN_SPI1_MOSI +#define SPI_SCK PIN_SPI1_SCK +#define SPI_MISO PIN_SPI1_MISO #define SDCARD_CS (26) /* diff --git a/variants/t-deck/variant.h b/variants/t-deck/variant.h index 859e086d3..8ffc4ea44 100644 --- a/variants/t-deck/variant.h +++ b/variants/t-deck/variant.h @@ -43,7 +43,6 @@ // Have SPI interface SD card slot #define HAS_SDCARD 1 -#define SDCARD_USE_HSPI #define SPI_MOSI (41) #define SPI_SCK (40) #define SPI_MISO (38) diff --git a/variants/tlora_t3s3_v1/variant.h b/variants/tlora_t3s3_v1/variant.h index 06ee0292a..63caaaf12 100644 --- a/variants/tlora_t3s3_v1/variant.h +++ b/variants/tlora_t3s3_v1/variant.h @@ -74,3 +74,6 @@ #define LR11X0_DIO3_TCXO_VOLTAGE 3.0 #define LR11X0_DIO_AS_RF_SWITCH #endif + +#define HAS_SDCARD // Have SPI interface SD card slot +#define SDCARD_USE_HSPI \ No newline at end of file