mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-26 11:05:57 +00:00
Add an emulation controller which routes I2C traffic to attached emulators depending on the I2C address selected. This allows drivers for I2C peripherals to be tested on systems that don't have that peripheral attached, with the emulator handling the I2C traffic. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
54 lines
2.1 KiB
CMake
54 lines
2.1 KiB
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
zephyr_library()
|
|
|
|
zephyr_library_sources(i2c_common.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_SHELL i2c_shell.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_BITBANG i2c_bitbang.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_CC13XX_CC26XX i2c_cc13xx_cc26xx.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_CC32XX i2c_cc32xx.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_ESP32 i2c_esp32.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_GPIO i2c_gpio.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_IMX i2c_imx.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_LPC11U6X i2c_lpc11u6x.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_XEC i2c_mchp_xec.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_MCUX i2c_mcux.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_MCUX_FLEXCOMM i2c_mcux_flexcomm.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_MCUX_LPI2C i2c_mcux_lpi2c.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_EMUL i2c_emul.c)
|
|
zephyr_library_sources_ifdef(CONFIG_NRFX_TWI i2c_nrfx_twi.c)
|
|
zephyr_library_sources_ifdef(CONFIG_NRFX_TWIM i2c_nrfx_twim.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_SAM_TWI i2c_sam_twi.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_SAM_TWIHS i2c_sam_twihs.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_SBCON i2c_sbcon.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_SIFIVE i2c_sifive.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_NIOS2 i2c_nios2.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_GECKO i2c_gecko.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_RV32M1_LPI2C i2c_rv32m1_lpi2c.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_SAM0 i2c_sam0.c)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_LITEX i2c_litex.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_STM32_V1
|
|
i2c_ll_stm32_v1.c
|
|
i2c_ll_stm32.c
|
|
)
|
|
zephyr_library_sources_ifdef(CONFIG_I2C_STM32_V2
|
|
i2c_ll_stm32_v2.c
|
|
i2c_ll_stm32.c
|
|
)
|
|
|
|
if(CONFIG_I2C_DW)
|
|
zephyr_library_sources(i2c_dw.c)
|
|
foreach(NUM RANGE 0 7)
|
|
configure_file(
|
|
i2c_dw_port_x.h
|
|
${PROJECT_BINARY_DIR}/include/generated/i2c_dw_port_${NUM}.h
|
|
@ONLY
|
|
)
|
|
endforeach(NUM)
|
|
endif()
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_USERSPACE i2c_handlers.c)
|
|
|
|
add_subdirectory_ifdef(CONFIG_I2C_SLAVE slave)
|