Line data Source code
1 0 : /*
2 : * Copyright (c) 2024 SILA Embedded Solutions GmbH
3 : * SPDX-License-Identifier: Apache-2.0
4 : */
5 :
6 : #ifndef ZEPHYR_INCLUDE_DRIVERS_MFD_BD8LB600FS_H_
7 : #define ZEPHYR_INCLUDE_DRIVERS_MFD_BD8LB600FS_H_
8 :
9 : #ifdef __cplusplus
10 : extern "C" {
11 : #endif
12 :
13 : #include <zephyr/device.h>
14 :
15 : /**
16 : * @defgroup mdf_interface_bd8lb600fs MFD BD8LB600FS interface
17 : * @ingroup mfd_interfaces
18 : * @{
19 : */
20 :
21 : /**
22 : * @brief set outputs
23 : *
24 : * @param[in] dev instance of BD8LB600FS MFD
25 : * @param[in] values values for outputs, one bit per output
26 : *
27 : * @retval 0 if successful
28 : */
29 1 : int mfd_bd8lb600fs_set_outputs(const struct device *dev, uint32_t values);
30 : /**
31 : * @brief get output diagnostics
32 : *
33 : * Fetch the current diagnostics from all instances, as multiple
34 : * instances might be daisy chained together. Each bit in old
35 : * and ocp_or_tsd corresponds to one output. A set bit means that the
36 : * function is active, therefore either there is an open load, an over
37 : * current or a too high temperature.
38 : *
39 : * OLD - open load
40 : * OCP - over current protection
41 : * TSD - thermal shutdown
42 : *
43 : * @param[in] dev instance of BD8LB600FS MFD
44 : * @param[out] old open load values
45 : * @param[out] ocp_or_tsd over current protection or thermal shutdown values
46 : *
47 : * @retval 0 if successful
48 : */
49 1 : int mfd_bd8lb600fs_get_output_diagnostics(const struct device *dev, uint32_t *old,
50 : uint32_t *ocp_or_tsd);
51 :
52 : /**
53 : * @}
54 : */
55 :
56 : #ifdef __cplusplus
57 : }
58 : #endif
59 :
60 : #endif /* ZEPHYR_INCLUDE_DRIVERS_MFD_BD8LB600FS_H_ */
|