xref: /rk3399_ARM-atf/include/drivers/st/stm32mp_pmic.h (revision d82d4ff0666711067328d2d34e2bdc009e84969f)
123684d0eSYann Gautier /*
223684d0eSYann Gautier  * Copyright (c) 2017-2019, 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 
14*d82d4ff0SYann Gautier /*
15*d82d4ff0SYann Gautier  * dt_pmic_status - Check PMIC status from device tree
16*d82d4ff0SYann Gautier  *
17*d82d4ff0SYann Gautier  * Returns the status of the PMIC (secure, non-secure), or a negative value on
18*d82d4ff0SYann Gautier  * error
19*d82d4ff0SYann Gautier  */
20*d82d4ff0SYann Gautier int dt_pmic_status(void);
21*d82d4ff0SYann Gautier 
22*d82d4ff0SYann Gautier /*
23*d82d4ff0SYann Gautier  * dt_pmic_configure_boot_on_regulators - Configure boot-on and always-on
24*d82d4ff0SYann Gautier  * regulators from device tree configuration
25*d82d4ff0SYann Gautier  *
26*d82d4ff0SYann Gautier  * Returns 0 on success, and negative values on errors
27*d82d4ff0SYann Gautier  */
28*d82d4ff0SYann Gautier int dt_pmic_configure_boot_on_regulators(void);
29*d82d4ff0SYann Gautier 
30*d82d4ff0SYann Gautier /*
31*d82d4ff0SYann Gautier  * initialize_pmic_i2c - Initialize I2C for the PMIC control
32*d82d4ff0SYann Gautier  *
33*d82d4ff0SYann Gautier  * Returns true if PMIC is available, false if not found, panics on errors
34*d82d4ff0SYann Gautier  */
35*d82d4ff0SYann Gautier bool initialize_pmic_i2c(void);
36*d82d4ff0SYann Gautier 
37*d82d4ff0SYann Gautier /*
38*d82d4ff0SYann Gautier  * initialize_pmic - Main PMIC initialization function, called at platform init
39*d82d4ff0SYann Gautier  *
40*d82d4ff0SYann Gautier  * Panics on errors
41*d82d4ff0SYann Gautier  */
4223684d0eSYann Gautier void initialize_pmic(void);
43*d82d4ff0SYann Gautier 
44*d82d4ff0SYann Gautier /*
45*d82d4ff0SYann Gautier  * pmic_ddr_power_init - Initialize regulators required for DDR
46*d82d4ff0SYann Gautier  *
47*d82d4ff0SYann Gautier  * Returns 0 on success, and negative values on errors
48*d82d4ff0SYann Gautier  */
4923684d0eSYann Gautier int pmic_ddr_power_init(enum ddr_type ddr_type);
5023684d0eSYann Gautier 
5123684d0eSYann Gautier #endif /* STM32MP_PMIC_H */
52