Line data Source code
1 0 : /* 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 0 : enum i2c_stm32_mode { 14 : I2CSTM32MODE_I2C, 15 : I2CSTM32MODE_SMBUSHOST, 16 : I2CSTM32MODE_SMBUSDEVICE, 17 : I2CSTM32MODE_SMBUSDEVICEARP, 18 : }; 19 : 20 0 : 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_ */