Line data Source code
1 0 : /*
2 : * Copyright (c) 2024 Gergo Vari <work@gergovari.com>
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : #ifndef ZEPHYR_INCLUDE_DRIVERS_MFD_DS3231_H_
8 : #define ZEPHYR_INCLUDE_DRIVERS_MFD_DS3231_H_
9 :
10 : #include <zephyr/drivers/i2c.h>
11 :
12 : /**
13 : * @brief Get specified number of registers from an I2C device
14 : * starting at the given register address.
15 : *
16 : * @param dev ds3231 mfd device
17 : * @param start_reg The register address to start at.
18 : * @param buf The buffer array pointer to store results in.
19 : * @param buf_size The amount of register values to return.
20 : * @retval 0 on success
21 : * @retval -errno in case of any bus error
22 : */
23 1 : int mfd_ds3231_i2c_get_registers(const struct device *dev, uint8_t start_reg, uint8_t *buf,
24 : const size_t buf_size);
25 :
26 : /**
27 : * @brief Set a register on an I2C device at the given register address.
28 : *
29 : * @param dev ds3231 mfd device
30 : * @param start_reg The register address to set.
31 : * @param buf The value to write to the given address.
32 : * @param buf_size The size of the buffer to be written to the given address.
33 : * @retval 0 on success
34 : * @retval -errno in case of any bus error
35 : */
36 1 : int mfd_ds3231_i2c_set_registers(const struct device *dev, uint8_t start_reg, const uint8_t *buf,
37 : const size_t buf_size);
38 :
39 : #endif /* ZEPHYR_INCLUDE_DRIVERS_MFD_DS3231_H_ */
|