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