xref: /rk3399_ARM-atf/include/drivers/st/stm32mp_pmic.h (revision eaaf26e3e6ac347cbfda00b6ba7d327e715d68f0)
123684d0eSYann Gautier /*
2*47e62314SPatrick Delaunay  * Copyright (c) 2017-2024, STMicroelectronics - All Rights Reserved
323684d0eSYann Gautier  *
423684d0eSYann Gautier  * SPDX-License-Identifier: BSD-3-Clause
523684d0eSYann Gautier  */
623684d0eSYann Gautier 
723684d0eSYann Gautier #ifndef STM32MP_PMIC_H
823684d0eSYann Gautier #define STM32MP_PMIC_H
923684d0eSYann Gautier 
1023684d0eSYann Gautier #include <stdbool.h>
1123684d0eSYann Gautier 
1223684d0eSYann Gautier #include <platform_def.h>
1323684d0eSYann Gautier 
14d82d4ff0SYann Gautier /*
15d82d4ff0SYann Gautier  * dt_pmic_status - Check PMIC status from device tree
16d82d4ff0SYann Gautier  *
17d82d4ff0SYann Gautier  * Returns the status of the PMIC (secure, non-secure), or a negative value on
18d82d4ff0SYann Gautier  * error
19d82d4ff0SYann Gautier  */
20d82d4ff0SYann Gautier int dt_pmic_status(void);
21d82d4ff0SYann Gautier 
22d82d4ff0SYann Gautier /*
23d82d4ff0SYann Gautier  * initialize_pmic_i2c - Initialize I2C for the PMIC control
24d82d4ff0SYann Gautier  *
25d82d4ff0SYann Gautier  * Returns true if PMIC is available, false if not found, panics on errors
26d82d4ff0SYann Gautier  */
27d82d4ff0SYann Gautier bool initialize_pmic_i2c(void);
28d82d4ff0SYann Gautier 
29d82d4ff0SYann Gautier /*
30d82d4ff0SYann Gautier  * initialize_pmic - Main PMIC initialization function, called at platform init
31d82d4ff0SYann Gautier  *
32d82d4ff0SYann Gautier  * Panics on errors
33d82d4ff0SYann Gautier  */
3423684d0eSYann Gautier void initialize_pmic(void);
35d82d4ff0SYann Gautier 
36ae7792e0SNicolas Le Bayon #if DEBUG
37ae7792e0SNicolas Le Bayon void print_pmic_info_and_debug(void);
38ae7792e0SNicolas Le Bayon #else
print_pmic_info_and_debug(void)39ae7792e0SNicolas Le Bayon static inline void print_pmic_info_and_debug(void)
40ae7792e0SNicolas Le Bayon {
41ae7792e0SNicolas Le Bayon }
42ae7792e0SNicolas Le Bayon #endif
43ae7792e0SNicolas Le Bayon 
44d82d4ff0SYann Gautier /*
455278ec3fSYann Gautier  * pmic_voltages_init - Update voltages for platform init
465278ec3fSYann Gautier  *
475278ec3fSYann Gautier  * Returns 0 on success, and negative values on errors
485278ec3fSYann Gautier  */
495278ec3fSYann Gautier int pmic_voltages_init(void);
505278ec3fSYann Gautier 
5123684d0eSYann Gautier #endif /* STM32MP_PMIC_H */
52