drivers: i3c: Support I3C driver for STM32.
This commit introduces support for the I3C driver on STM32, enabling functionality APIs for I3C controllers. Signed-off-by: Mohammad Badawi <zephyr@exalt.ps> Signed-off-by: Sara Touqan <zephyr@exalt.ps>
This commit is contained in:
parent
3b33aa5450
commit
10ba888fda
4 changed files with 2213 additions and 0 deletions
|
|
@ -41,6 +41,11 @@ zephyr_library_sources_ifdef(
|
||||||
i3c_npcx.c
|
i3c_npcx.c
|
||||||
)
|
)
|
||||||
|
|
||||||
|
zephyr_library_sources_ifdef(
|
||||||
|
CONFIG_I3C_STM32
|
||||||
|
i3c_stm32.c
|
||||||
|
)
|
||||||
|
|
||||||
zephyr_library_sources_ifdef(
|
zephyr_library_sources_ifdef(
|
||||||
CONFIG_I3C_TEST
|
CONFIG_I3C_TEST
|
||||||
i3c_test.c
|
i3c_test.c
|
||||||
|
|
|
||||||
|
|
@ -123,5 +123,6 @@ rsource "Kconfig.nxp"
|
||||||
rsource "Kconfig.cdns"
|
rsource "Kconfig.cdns"
|
||||||
rsource "Kconfig.npcx"
|
rsource "Kconfig.npcx"
|
||||||
rsource "Kconfig.test"
|
rsource "Kconfig.test"
|
||||||
|
rsource "Kconfig.stm32"
|
||||||
|
|
||||||
endif # I3C
|
endif # I3C
|
||||||
|
|
|
||||||
36
drivers/i3c/Kconfig.stm32
Normal file
36
drivers/i3c/Kconfig.stm32
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
# Copyright (c) 2024 EXALT Technologies.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
module = I3C_STM32
|
||||||
|
module-str = i3c_stm32
|
||||||
|
|
||||||
|
source "subsys/logging/Kconfig.template.log_config"
|
||||||
|
config I3C_STM32
|
||||||
|
bool "STM32 I3C driver support"
|
||||||
|
depends on DT_HAS_ST_STM32_I3C_ENABLED
|
||||||
|
select I3C_IBI_WORKQUEUE if I3C_USE_IBI
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Enable support for I3C on STM32 microcontrollers.
|
||||||
|
|
||||||
|
if I3C_STM32
|
||||||
|
|
||||||
|
config I3C_STM32_DMA
|
||||||
|
bool "STM32 I3C DMA driver support"
|
||||||
|
select DMA
|
||||||
|
help
|
||||||
|
Enables support for I3C DMA mode on STM32 microcontrollers.
|
||||||
|
|
||||||
|
config I3C_STM32_DMA_FIFO_HEAP_SIZE
|
||||||
|
int "Status FIFO and control FIFO heap"
|
||||||
|
depends on I3C_STM32_DMA
|
||||||
|
default 2048
|
||||||
|
help
|
||||||
|
Configures the heap size for dynamically allocating the regions for
|
||||||
|
storing status FIFO and control FIFO words which will be used by the DMA.
|
||||||
|
This value depends on the maximum number of messages that will be sent
|
||||||
|
during a single transfer. 2KB guarantees enough heap size for sending 256
|
||||||
|
messages on a single transfer.
|
||||||
|
|
||||||
|
endif # I3C_STM32
|
||||||
2171
drivers/i3c/i3c_stm32.c
Normal file
2171
drivers/i3c/i3c_stm32.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue