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