blob: ac943d74664bf852cf49a5faec484b92665187c2 [file] [log] [blame]
/*
* 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 <zephyr/device.h>
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_ */