From af914a16907385c8498ee8d270f76ca677d6d387 Mon Sep 17 00:00:00 2001 From: Lu_Reaper Date: Fri, 14 Apr 2023 00:27:03 +0800 Subject: [PATCH] [bsp]: fix spi chipselect in Infineon (#7234) 1. compatible for HIGH ACTIVE SPI CHIP_SELECT --- bsp/Infineon/libraries/HAL_Drivers/drv_spi.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bsp/Infineon/libraries/HAL_Drivers/drv_spi.c b/bsp/Infineon/libraries/HAL_Drivers/drv_spi.c index 0d3c3f2cac..80448b19fc 100644 --- a/bsp/Infineon/libraries/HAL_Drivers/drv_spi.c +++ b/bsp/Infineon/libraries/HAL_Drivers/drv_spi.c @@ -180,7 +180,14 @@ static rt_ssize_t spixfer(struct rt_spi_device *device, struct rt_spi_message *m /* take CS */ if (message->cs_take && !(device->config.mode & RT_SPI_NO_CS) && (device->cs_pin != PIN_NONE)) { - cyhal_gpio_write(device->cs_pin, PIN_LOW); + if (device->config.mode & RT_SPI_CS_HIGH) + { + cyhal_gpio_write(device->cs_pin, PIN_HIGH); + } + else + { + cyhal_gpio_write(device->cs_pin, PIN_LOW); + } LOG_D("spi take cs\n"); }