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_ */
|