diff options
Diffstat (limited to 'components')
| -rw-r--r-- | components/drivers/spi/spi-bit-ops.c | 5 | ||||
| -rw-r--r-- | components/drivers/spi/spi-bit-ops.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/components/drivers/spi/spi-bit-ops.c b/components/drivers/spi/spi-bit-ops.c index d03e5007cf..f551741873 100644 --- a/components/drivers/spi/spi-bit-ops.c +++ b/components/drivers/spi/spi-bit-ops.c @@ -384,6 +384,11 @@ rt_err_t spi_bit_configure(struct rt_spi_device *device, struct rt_spi_configura RT_ASSERT(device != RT_NULL); RT_ASSERT(configuration != RT_NULL); + if(ops->pin_init != RT_NULL) + { + ops->pin_init(); + } + if (configuration->mode & RT_SPI_SLAVE) { return -RT_EIO; diff --git a/components/drivers/spi/spi-bit-ops.h b/components/drivers/spi/spi-bit-ops.h index b536b3d81e..d1e83cdedd 100644 --- a/components/drivers/spi/spi-bit-ops.h +++ b/components/drivers/spi/spi-bit-ops.h @@ -21,6 +21,7 @@ extern "C" { struct rt_spi_bit_ops { void *data; /* private data for lowlevel routines */ + void (*const pin_init)(void); void (*const tog_sclk)(void *data); void (*const set_sclk)(void *data, rt_int32_t state); void (*const set_mosi)(void *data, rt_int32_t state); |
