From 37bdc4a33f858094da702721b002e5c59012b86e Mon Sep 17 00:00:00 2001 From: Liu_Weichao Date: Mon, 17 Oct 2022 16:57:18 +0800 Subject: [PATCH] fix spi CS init param error on aiit-riscv64\K210-emulator\kd233 board --- .../third_party_driver/spi/connect_spi.c | 24 ++++++++++++++----- .../third_party_driver/spi/connect_spi.c | 24 ++++++++++++++----- .../third_party_driver/spi/connect_spi.c | 24 ++++++++++++++----- 3 files changed, 54 insertions(+), 18 deletions(-) diff --git a/Ubiquitous/XiZi_IIoT/board/aiit-riscv64-board/third_party_driver/spi/connect_spi.c b/Ubiquitous/XiZi_IIoT/board/aiit-riscv64-board/third_party_driver/spi/connect_spi.c index c2a7ee5fb..8ca855855 100644 --- a/Ubiquitous/XiZi_IIoT/board/aiit-riscv64-board/third_party_driver/spi/connect_spi.c +++ b/Ubiquitous/XiZi_IIoT/board/aiit-riscv64-board/third_party_driver/spi/connect_spi.c @@ -394,9 +394,15 @@ static int BoardSpiDevBend(struct SpiDmaParam *spi_initparam) static struct SpiHardwareDevice spi_device2; memset(&spi_device2, 0, sizeof(struct SpiHardwareDevice)); - spi_initparam->spi_slave_id[SPI_DEVICE_SLAVE_ID_2] = SPI_DEVICE_SLAVE_ID_2; - spi_initparam->spi_cs_gpio_pin[SPI_DEVICE_SLAVE_ID_2] = SPI1_CS2_PIN; - spi_initparam->spi_cs_select_id[SPI_DEVICE_SLAVE_ID_2] = SPI_CHIP_SELECT_2; + static struct SpiSlaveParam spi_slaveparam2; + memset(&spi_slaveparam2, 0, sizeof(struct SpiSlaveParam)); + + spi_slaveparam2.spi_slave_id = SPI_DEVICE_SLAVE_ID_2; + spi_slaveparam2.spi_cs_gpio_pin = SPI1_CS2_PIN; + spi_slaveparam2.spi_cs_select_id = SPI_CHIP_SELECT_2; + + spi_device2.spi_param.spi_dma_param = spi_initparam; + spi_device2.spi_param.spi_slave_param = &spi_slaveparam2; spi_device2.spi_dev_done = &(spi_dev_done); @@ -417,9 +423,15 @@ static int BoardSpiDevBend(struct SpiDmaParam *spi_initparam) static struct SpiHardwareDevice spi_device3; memset(&spi_device3, 0, sizeof(struct SpiHardwareDevice)); - spi_initparam->spi_slave_id[SPI_DEVICE_SLAVE_ID_3] = SPI_DEVICE_SLAVE_ID_3; - spi_initparam->spi_cs_gpio_pin[SPI_DEVICE_SLAVE_ID_3] = SPI1_CS3_PIN; - spi_initparam->spi_cs_select_id[SPI_DEVICE_SLAVE_ID_3] = SPI_CHIP_SELECT_3; + static struct SpiSlaveParam spi_slaveparam3; + memset(&spi_slaveparam3, 0, sizeof(struct SpiSlaveParam)); + + spi_slaveparam3.spi_slave_id = SPI_DEVICE_SLAVE_ID_3; + spi_slaveparam3.spi_cs_gpio_pin = SPI1_CS3_PIN; + spi_slaveparam3.spi_cs_select_id = SPI_CHIP_SELECT_3; + + spi_device3.spi_param.spi_dma_param = spi_initparam; + spi_device3.spi_param.spi_slave_param = &spi_slaveparam3; spi_device3.spi_dev_done = &(spi_dev_done); diff --git a/Ubiquitous/XiZi_IIoT/board/k210-emulator/third_party_driver/spi/connect_spi.c b/Ubiquitous/XiZi_IIoT/board/k210-emulator/third_party_driver/spi/connect_spi.c index 1ddbda670..cb8f4afc6 100644 --- a/Ubiquitous/XiZi_IIoT/board/k210-emulator/third_party_driver/spi/connect_spi.c +++ b/Ubiquitous/XiZi_IIoT/board/k210-emulator/third_party_driver/spi/connect_spi.c @@ -391,9 +391,15 @@ static int BoardSpiDevBend(struct SpiDmaParam *spi_initparam) static struct SpiHardwareDevice spi_device2; memset(&spi_device2, 0, sizeof(struct SpiHardwareDevice)); - spi_initparam->spi_slave_id[SPI_DEVICE_SLAVE_ID_2] = SPI_DEVICE_SLAVE_ID_2; - spi_initparam->spi_cs_gpio_pin[SPI_DEVICE_SLAVE_ID_2] = SPI1_CS2_PIN; - spi_initparam->spi_cs_select_id[SPI_DEVICE_SLAVE_ID_2] = SPI_CHIP_SELECT_2; + static struct SpiSlaveParam spi_slaveparam2; + memset(&spi_slaveparam2, 0, sizeof(struct SpiSlaveParam)); + + spi_slaveparam2.spi_slave_id = SPI_DEVICE_SLAVE_ID_2; + spi_slaveparam2.spi_cs_gpio_pin = SPI1_CS2_PIN; + spi_slaveparam2.spi_cs_select_id = SPI_CHIP_SELECT_2; + + spi_device2.spi_param.spi_dma_param = spi_initparam; + spi_device2.spi_param.spi_slave_param = &spi_slaveparam2; spi_device2.spi_dev_done = &(spi_dev_done); @@ -414,9 +420,15 @@ static int BoardSpiDevBend(struct SpiDmaParam *spi_initparam) static struct SpiHardwareDevice spi_device3; memset(&spi_device3, 0, sizeof(struct SpiHardwareDevice)); - spi_initparam->spi_slave_id[SPI_DEVICE_SLAVE_ID_3] = SPI_DEVICE_SLAVE_ID_3; - spi_initparam->spi_cs_gpio_pin[SPI_DEVICE_SLAVE_ID_3] = SPI1_CS3_PIN; - spi_initparam->spi_cs_select_id[SPI_DEVICE_SLAVE_ID_3] = SPI_CHIP_SELECT_3; + static struct SpiSlaveParam spi_slaveparam3; + memset(&spi_slaveparam3, 0, sizeof(struct SpiSlaveParam)); + + spi_slaveparam3.spi_slave_id = SPI_DEVICE_SLAVE_ID_3; + spi_slaveparam3.spi_cs_gpio_pin = SPI1_CS3_PIN; + spi_slaveparam3.spi_cs_select_id = SPI_CHIP_SELECT_3; + + spi_device3.spi_param.spi_dma_param = spi_initparam; + spi_device3.spi_param.spi_slave_param = &spi_slaveparam3; spi_device3.spi_dev_done = &(spi_dev_done); diff --git a/Ubiquitous/XiZi_IIoT/board/kd233/third_party_driver/spi/connect_spi.c b/Ubiquitous/XiZi_IIoT/board/kd233/third_party_driver/spi/connect_spi.c index 2e74711eb..6a8148b7d 100644 --- a/Ubiquitous/XiZi_IIoT/board/kd233/third_party_driver/spi/connect_spi.c +++ b/Ubiquitous/XiZi_IIoT/board/kd233/third_party_driver/spi/connect_spi.c @@ -393,9 +393,15 @@ static int BoardSpiDevBend(struct SpiDmaParam *spi_initparam) static struct SpiHardwareDevice spi_device2; memset(&spi_device2, 0, sizeof(struct SpiHardwareDevice)); - spi_initparam->spi_slave_id[SPI_DEVICE_SLAVE_ID_2] = SPI_DEVICE_SLAVE_ID_2; - spi_initparam->spi_cs_gpio_pin[SPI_DEVICE_SLAVE_ID_2] = SPI1_CS2_PIN; - spi_initparam->spi_cs_select_id[SPI_DEVICE_SLAVE_ID_2] = SPI_CHIP_SELECT_2; + static struct SpiSlaveParam spi_slaveparam2; + memset(&spi_slaveparam2, 0, sizeof(struct SpiSlaveParam)); + + spi_slaveparam2.spi_slave_id = SPI_DEVICE_SLAVE_ID_2; + spi_slaveparam2.spi_cs_gpio_pin = SPI1_CS2_PIN; + spi_slaveparam2.spi_cs_select_id = SPI_CHIP_SELECT_2; + + spi_device2.spi_param.spi_dma_param = spi_initparam; + spi_device2.spi_param.spi_slave_param = &spi_slaveparam2; spi_device2.spi_dev_done = &(spi_dev_done); @@ -416,9 +422,15 @@ static int BoardSpiDevBend(struct SpiDmaParam *spi_initparam) static struct SpiHardwareDevice spi_device3; memset(&spi_device3, 0, sizeof(struct SpiHardwareDevice)); - spi_initparam->spi_slave_id[SPI_DEVICE_SLAVE_ID_3] = SPI_DEVICE_SLAVE_ID_3; - spi_initparam->spi_cs_gpio_pin[SPI_DEVICE_SLAVE_ID_3] = SPI1_CS3_PIN; - spi_initparam->spi_cs_select_id[SPI_DEVICE_SLAVE_ID_3] = SPI_CHIP_SELECT_3; + static struct SpiSlaveParam spi_slaveparam3; + memset(&spi_slaveparam3, 0, sizeof(struct SpiSlaveParam)); + + spi_slaveparam3.spi_slave_id = SPI_DEVICE_SLAVE_ID_3; + spi_slaveparam3.spi_cs_gpio_pin = SPI1_CS3_PIN; + spi_slaveparam3.spi_cs_select_id = SPI_CHIP_SELECT_3; + + spi_device3.spi_param.spi_dma_param = spi_initparam; + spi_device3.spi_param.spi_slave_param = &spi_slaveparam3; spi_device3.spi_dev_done = &(spi_dev_done);