1 /* 2 * Copyright (c) 2023 SILA Embedded Solutions GmbH 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 */ 7 8 #ifndef ZEPHYR_INCLUDE_DRIVERS_I2C_STM32_H_ 9 #define ZEPHYR_INCLUDE_DRIVERS_I2C_STM32_H_ 10 11 #include <zephyr/device.h> 12 13 enum i2c_stm32_mode { 14 I2CSTM32MODE_I2C, 15 I2CSTM32MODE_SMBUSHOST, 16 I2CSTM32MODE_SMBUSDEVICE, 17 I2CSTM32MODE_SMBUSDEVICEARP, 18 }; 19 20 void i2c_stm32_set_smbus_mode(const struct device *dev, enum i2c_stm32_mode mode); 21 22 #ifdef CONFIG_SMBUS_STM32_SMBALERT 23 typedef void (*i2c_stm32_smbalert_cb_func_t)(const struct device *dev); 24 25 void i2c_stm32_smbalert_set_callback(const struct device *dev, i2c_stm32_smbalert_cb_func_t func, 26 const struct device *cb_dev); 27 void i2c_stm32_smbalert_enable(const struct device *dev); 28 void i2c_stm32_smbalert_disable(const struct device *dev); 29 #endif /* CONFIG_SMBUS_STM32_SMBALERT */ 30 31 #endif /* ZEPHYR_INCLUDE_DRIVERS_I2C_STM32_H_ */ 32