From: Keith Packard Date: Tue, 6 Dec 2022 03:29:28 +0000 (-0800) Subject: altos/stm: Add ao_spi_put_pins for MS5607 driver X-Git-Tag: 1.9.13~1^2~23 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=2ea3f551b3c4649320efe2fd999f01012bca03bd;p=fw%2Faltos altos/stm: Add ao_spi_put_pins for MS5607 driver This function re-configures the GPIO mux to disconnect the SPI block from the pins driving the MS5607. Signed-off-by: Keith Packard --- diff --git a/src/stm/ao_arch_funcs.h b/src/stm/ao_arch_funcs.h index 9f31a36f..9922513b 100644 --- a/src/stm/ao_arch_funcs.h +++ b/src/stm/ao_arch_funcs.h @@ -92,6 +92,9 @@ ao_spi_get(uint8_t spi_index, uint32_t speed); void ao_spi_put(uint8_t spi_index); +void +ao_spi_put_pins(uint8_t spi_index); + void ao_spi_send(const void *block, uint16_t len, uint8_t spi_index); diff --git a/src/stm/ao_spi_stm.c b/src/stm/ao_spi_stm.c index 0215f03e..ad8f55b5 100644 --- a/src/stm/ao_spi_stm.c +++ b/src/stm/ao_spi_stm.c @@ -427,6 +427,16 @@ ao_spi_put(uint8_t spi_index) ao_mutex_put(&ao_spi_mutex[id]); } +void +ao_spi_put_pins(uint8_t spi_index) +{ + uint8_t id = AO_SPI_INDEX(spi_index); + + ao_spi_disable_pin_config(ao_spi_pin_config[id]); + ao_spi_pin_config[id] = AO_SPI_CONFIG_NONE; + ao_spi_put(spi_index); +} + static void ao_spi_channel_init(uint8_t spi_index) {