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 Bayonstatic 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