TT Zephyr Platforms 18.11.99
Tenstorrent Firmware
Loading...
Searching...
No Matches
tt_stm32.h
Go to the documentation of this file.
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 <stdint.h>
12
13#include <zephyr/device.h>
14#include <zephyr/drivers/i2c.h>
15
22
23void tt_stm32_i2c_set_abort_ptr(const struct device *dev, unsigned int *abort);
24void tt_stm32_i2c_set_smbus_mode(const struct device *dev, enum i2c_stm32_mode mode);
25
26/* Raw i2c transfer function (be very careful you MUST call start and stop to ensure you don't */
27/* deadlock your bus) */
28void tt_stm32_i2c_start_transfer(const struct device *dev);
29int tt_stm32_i2c_send_message(const struct device *dev, uint16_t slave, struct i2c_msg msg,
30 bool start, bool cont);
31void tt_stm32_i2c_stop_transfer(const struct device *dev);
32
33#ifdef CONFIG_SMBUS_STM32_SMBALERT
34typedef void (*tt_stm32_i2c_smbalert_cb_func_t)(const struct device *dev);
35
36void tt_stm32_i2c_smbalert_set_callback(const struct device *dev, i2c_stm32_smbalert_cb_func_t func,
37 const struct device *cb_dev);
38void tt_stm32_i2c_smbalert_enable(const struct device *dev);
39void tt_stm32_i2c_smbalert_disable(const struct device *dev);
40#endif /* CONFIG_SMBUS_STM32_SMBALERT */
41
42#endif /* ZEPHYR_INCLUDE_DRIVERS_I2C_STM32_H_ */
__UINT16_TYPE__ uint16_t
FUNC_NORETURN void abort(void)
i2c_stm32_mode
I2CSTM32MODE_SMBUSHOST
I2CSTM32MODE_SMBUSDEVICE
I2CSTM32MODE_SMBUSDEVICEARP
I2CSTM32MODE_I2C
int tt_stm32_i2c_send_message(const struct device *dev, uint16_t slave, struct i2c_msg msg, bool start, bool cont)
void tt_stm32_i2c_set_abort_ptr(const struct device *dev, unsigned int *abort)
void tt_stm32_i2c_start_transfer(const struct device *dev)
void tt_stm32_i2c_stop_transfer(const struct device *dev)
void tt_stm32_i2c_set_smbus_mode(const struct device *dev, enum i2c_stm32_mode mode)