summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--components/drivers/spi/Kconfig5
-rw-r--r--components/drivers/spi/SConscript4
-rw-r--r--components/drivers/spi/dev_soft_spi.c2
3 files changed, 9 insertions, 2 deletions
diff --git a/components/drivers/spi/Kconfig b/components/drivers/spi/Kconfig
index 37a6a9b943..e1568dd460 100644
--- a/components/drivers/spi/Kconfig
+++ b/components/drivers/spi/Kconfig
@@ -7,11 +7,16 @@ menuconfig RT_USING_SPI
menuconfig RT_USING_SPI_ISR
bool "Enable interrupt-safe SPI operations (using spinlocks in ISR context)"
default y
+
+ config RT_USING_SPI_BITOPS
+ bool "Enable SPI bit-bang operation functions"
+ default n
menuconfig RT_USING_SOFT_SPI
bool "Use GPIO to simulate SPI"
default n
select RT_USING_PIN
+ select RT_USING_SPI_BITOPS
if RT_USING_SOFT_SPI
menuconfig RT_USING_SOFT_SPI0
bool "Enable SPI0 Bus (software simulation)"
diff --git a/components/drivers/spi/SConscript b/components/drivers/spi/SConscript
index 94c78456dc..a48767cb25 100644
--- a/components/drivers/spi/SConscript
+++ b/components/drivers/spi/SConscript
@@ -7,8 +7,10 @@ src = ['dev_spi_core.c', 'dev_spi.c']
CPPPATH = [cwd, cwd + '/../include']
LOCAL_CFLAGS = ''
-if GetDepend('RT_USING_SOFT_SPI'):
+if GetDepend('RT_USING_SPI_BITOPS'):
src += ['dev_spi_bit_ops.c']
+
+if GetDepend('RT_USING_SOFT_SPI'):
src += ['dev_soft_spi.c']
if GetDepend('RT_USING_QSPI'):
diff --git a/components/drivers/spi/dev_soft_spi.c b/components/drivers/spi/dev_soft_spi.c
index a308299f6c..9cfca2039f 100644
--- a/components/drivers/spi/dev_soft_spi.c
+++ b/components/drivers/spi/dev_soft_spi.c
@@ -19,7 +19,7 @@
#error "Please define at least one RT_USING_SOFT_SPIx"
/*
This driver can be disabled at:
- menuconfig -> RT-Thread Components -> Device Drivers -> Using I2C device drivers
+ menuconfig -> RT-Thread Components -> Device Drivers -> Using SPI Bus/Device device drivers -> Use GPIO to simulate SPI
*/
#endif