/* * Copyright (c) 2023 SILA Embedded Solutions GmbH * * SPDX-License-Identifier: Apache-2.0 * */ #ifndef ZEPHYR_INCLUDE_DRIVERS_I2C_STM32_H_ #define ZEPHYR_INCLUDE_DRIVERS_I2C_STM32_H_ #include enum i2c_stm32_mode { I2CSTM32MODE_I2C, I2CSTM32MODE_SMBUSHOST, I2CSTM32MODE_SMBUSDEVICE, I2CSTM32MODE_SMBUSDEVICEARP, }; void i2c_stm32_set_smbus_mode(const struct device *dev, enum i2c_stm32_mode mode); #ifdef CONFIG_SMBUS_STM32_SMBALERT typedef void (*i2c_stm32_smbalert_cb_func_t)(const struct device *dev); void i2c_stm32_smbalert_set_callback(const struct device *dev, i2c_stm32_smbalert_cb_func_t func, const struct device *cb_dev); void i2c_stm32_smbalert_enable(const struct device *dev); void i2c_stm32_smbalert_disable(const struct device *dev); #endif /* CONFIG_SMBUS_STM32_SMBALERT */ #endif /* ZEPHYR_INCLUDE_DRIVERS_I2C_STM32_H_ */