• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2017-2024, STMicroelectronics - All Rights Reserved
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef STM32MP_PMIC_H
8 #define STM32MP_PMIC_H
9 
10 #include <stdbool.h>
11 
12 #include <platform_def.h>
13 
14 /*
15  * dt_pmic_status - Check PMIC status from device tree
16  *
17  * Returns the status of the PMIC (secure, non-secure), or a negative value on
18  * error
19  */
20 int dt_pmic_status(void);
21 
22 /*
23  * initialize_pmic_i2c - Initialize I2C for the PMIC control
24  *
25  * Returns true if PMIC is available, false if not found, panics on errors
26  */
27 bool initialize_pmic_i2c(void);
28 
29 /*
30  * initialize_pmic - Main PMIC initialization function, called at platform init
31  *
32  * Panics on errors
33  */
34 void initialize_pmic(void);
35 
36 #if DEBUG
37 void print_pmic_info_and_debug(void);
38 #else
print_pmic_info_and_debug(void)39 static inline void print_pmic_info_and_debug(void)
40 {
41 }
42 #endif
43 
44 /*
45  * pmic_voltages_init - Update voltages for platform init
46  *
47  * Returns 0 on success, and negative values on errors
48  */
49 int pmic_voltages_init(void);
50 
51 #endif /* STM32MP_PMIC_H */
52