1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-08-02 20:08:31 +00:00

fix(core): fix styles

[no changelog]
This commit is contained in:
kopecdav 2025-04-30 20:36:34 +02:00 committed by kopecdav
parent 79f53f0c45
commit 68d26f0c79
4 changed files with 40 additions and 64 deletions

View File

@ -17,16 +17,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <sys/systick.h>
#include <trezor_bsp.h> #include <trezor_bsp.h>
#include <trezor_rtl.h> #include <trezor_rtl.h>
#include <sys/systick.h>
#include "power_manager_internal.h"
#include "../../powerctl/npm1300/npm1300.h" #include "../../powerctl/npm1300/npm1300.h"
#include "power_manager_internal.h"
pm_status_t pm_control_hibernate(){ pm_status_t pm_control_hibernate() {
// TEMPORARY FIX: // TEMPORARY FIX:
// Enable Backup domain retentaion in VBAT mode before entering the // Enable Backup domain retentaion in VBAT mode before entering the
// hiberbation. BREN bit can be accessed only in LDO mode. // hiberbation. BREN bit can be accessed only in LDO mode.
@ -48,5 +46,4 @@ pm_status_t pm_control_hibernate(){
systick_delay_ms(50); systick_delay_ms(50);
return PM_ERROR; return PM_ERROR;
} }

View File

@ -17,11 +17,11 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <sys/backup_ram.h>
#include <sys/irq.h> #include <sys/irq.h>
#include <sys/systick.h> #include <sys/systick.h>
#include <sys/systimer.h> #include <sys/systimer.h>
#include <trezor_rtl.h> #include <trezor_rtl.h>
#include <sys/backup_ram.h>
#include "../../powerctl/npm1300/npm1300.h" #include "../../powerctl/npm1300/npm1300.h"
#include "../../powerctl/stwlc38/stwlc38.h" #include "../../powerctl/stwlc38/stwlc38.h"
@ -59,41 +59,34 @@ pm_status_t pm_init(bool skip_bootup_sequence) {
PM_FUEL_GAUGE_R_AGGRESSIVE, PM_FUEL_GAUGE_Q_AGGRESSIVE, PM_FUEL_GAUGE_R_AGGRESSIVE, PM_FUEL_GAUGE_Q_AGGRESSIVE,
PM_FUEL_GAUGE_P_INIT); PM_FUEL_GAUGE_P_INIT);
if (skip_bootup_sequence) {
if(skip_bootup_sequence) {
// Skip bootup sequence and try to recover the power manages state left // Skip bootup sequence and try to recover the power manages state left
// by the bootloader in backup ram. // by the bootloader in backup ram.
backup_ram_power_manager_data_t pm_recovery_data; backup_ram_power_manager_data_t pm_recovery_data;
backup_ram_status_t status backup_ram_status_t status =
= backup_ram_read_power_manager_data(&pm_recovery_data); backup_ram_read_power_manager_data(&pm_recovery_data);
if (status != BACKUP_RAM_OK && if (status != BACKUP_RAM_OK &&
(pm_recovery_data.bootloader_exit_state != PM_STATE_POWER_SAVE && (pm_recovery_data.bootloader_exit_state != PM_STATE_POWER_SAVE &&
pm_recovery_data.bootloader_exit_state != PM_STATE_ACTIVE)) { pm_recovery_data.bootloader_exit_state != PM_STATE_ACTIVE)) {
drv->state = PM_STATE_POWER_SAVE; drv->state = PM_STATE_POWER_SAVE;
drv->fuel_gauge_request_new_guess = true; drv->fuel_gauge_request_new_guess = true;
}else{ } else {
// Backup RAM contain valid data // Backup RAM contain valid data
drv->state = pm_recovery_data.bootloader_exit_state; drv->state = pm_recovery_data.bootloader_exit_state;
drv->fuel_gauge.soc = pm_recovery_data.soc; drv->fuel_gauge.soc = pm_recovery_data.soc;
drv->fuel_gauge_request_new_guess = false; drv->fuel_gauge_request_new_guess = false;
} }
drv->fuel_gauge_initialized = true; drv->fuel_gauge_initialized = true;
}else{ } else {
// Start in lowest state and wait for the bootup sequence to // Start in lowest state and wait for the bootup sequence to
// finish (call of pm_turn_on()) // finish (call of pm_turn_on())
drv->state = PM_STATE_HIBERNATE; drv->state = PM_STATE_HIBERNATE;
drv->initialized = false; drv->initialized = false;
} }
// Disable charging by default // Disable charging by default
@ -243,7 +236,7 @@ pm_status_t pm_turn_on(void) {
backup_ram_status_t status = backup_ram_status_t status =
backup_ram_read_power_manager_data(&pm_recovery_data); backup_ram_read_power_manager_data(&pm_recovery_data);
if(status == BACKUP_RAM_OK && pm_recovery_data.soc != 0.0f) { if (status == BACKUP_RAM_OK && pm_recovery_data.soc != 0.0f) {
drv->fuel_gauge.soc = pm_recovery_data.soc; drv->fuel_gauge.soc = pm_recovery_data.soc;
} else { } else {
pm_battery_initial_soc_guess(); pm_battery_initial_soc_guess();
@ -314,7 +307,7 @@ pm_status_t pm_charging_disable(void) {
return PM_OK; return PM_OK;
} }
pm_status_t pm_store_data_to_backup_ram(void){ pm_status_t pm_store_data_to_backup_ram(void) {
pm_driver_t* drv = &g_pm; pm_driver_t* drv = &g_pm;
if (!drv->initialized) { if (!drv->initialized) {
@ -325,8 +318,7 @@ pm_status_t pm_store_data_to_backup_ram(void){
pm_data.bootloader_exit_state = drv->state; pm_data.bootloader_exit_state = drv->state;
pm_data.soc = drv->fuel_gauge.soc; pm_data.soc = drv->fuel_gauge.soc;
backup_ram_status_t status backup_ram_status_t status = backup_ram_store_power_manager_data(&pm_data);
= backup_ram_store_power_manager_data(&pm_data);
if (status != BACKUP_RAM_OK) { if (status != BACKUP_RAM_OK) {
return PM_ERROR; return PM_ERROR;
@ -345,5 +337,3 @@ static void pm_shutdown_timer_handler(void* context) {
drv->shutdown_timer_elapsed = true; drv->shutdown_timer_elapsed = true;
pm_process_state_machine(); pm_process_state_machine();
} }

View File

@ -18,9 +18,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <sys/backup_ram.h>
#include <sys/systick.h> #include <sys/systick.h>
#include <trezor_rtl.h> #include <trezor_rtl.h>
#include <sys/backup_ram.h>
#include "../../powerctl/fuel_gauge/fuel_gauge.h" #include "../../powerctl/fuel_gauge/fuel_gauge.h"
#include "../../powerctl/npm1300/npm1300.h" #include "../../powerctl/npm1300/npm1300.h"
@ -37,43 +37,36 @@ void pm_monitor_power_sources(void) {
// Update fuel gauge state // Update fuel gauge state
if (drv->fuel_gauge_initialized) { if (drv->fuel_gauge_initialized) {
if (drv->fuel_gauge_request_new_guess) {
if(drv->fuel_gauge_request_new_guess){
// Request new single SoC guess based on the latest measurements // Request new single SoC guess based on the latest measurements
fuel_gauge_initial_guess(&drv->fuel_gauge, drv->pmic_data.vbat, fuel_gauge_initial_guess(&drv->fuel_gauge, drv->pmic_data.vbat,
drv->pmic_data.ibat, drv->pmic_data.ntc_temp); drv->pmic_data.ibat, drv->pmic_data.ntc_temp);
drv->fuel_gauge_request_new_guess = false; drv->fuel_gauge_request_new_guess = false;
}else{ } else {
fuel_gauge_update(&drv->fuel_gauge, PM_BATTERY_SAMPLING_PERIOD_MS, fuel_gauge_update(&drv->fuel_gauge, PM_BATTERY_SAMPLING_PERIOD_MS,
drv->pmic_data.vbat, drv->pmic_data.ibat, drv->pmic_data.vbat, drv->pmic_data.ibat,
drv->pmic_data.ntc_temp); drv->pmic_data.ntc_temp);
// Ceil the float soc to user friendly integer // Ceil the float soc to user friendly integer
uint8_t soc_ceiled_temp = (int)(drv->fuel_gauge.soc_latched * 100 + 0.999f); uint8_t soc_ceiled_temp =
(int)(drv->fuel_gauge.soc_latched * 100 + 0.999f);
if (soc_ceiled_temp != drv->soc_ceiled) { if (soc_ceiled_temp != drv->soc_ceiled) {
drv->soc_ceiled = soc_ceiled_temp; drv->soc_ceiled = soc_ceiled_temp;
PM_SET_EVENT(drv->event_flags, PM_EVENT_SOC_UPDATED); PM_SET_EVENT(drv->event_flags, PM_EVENT_SOC_UPDATED);
} }
} }
} else { } else {
pm_battery_sampling(drv->pmic_data.vbat, drv->pmic_data.ibat, pm_battery_sampling(drv->pmic_data.vbat, drv->pmic_data.ibat,
drv->pmic_data.ntc_temp); drv->pmic_data.ntc_temp);
// Battery sampling period, collect data before initial guess is made. // Battery sampling period, collect data before initial guess is made.
fuel_gauge_initial_guess(&drv->fuel_gauge, drv->pmic_data.vbat, fuel_gauge_initial_guess(&drv->fuel_gauge, drv->pmic_data.vbat,
drv->pmic_data.ibat, drv->pmic_data.ntc_temp); drv->pmic_data.ibat, drv->pmic_data.ntc_temp);
} }
// Check USB power source status // Check USB power source status
if (drv->pmic_data.usb_status != 0x0) { if (drv->pmic_data.usb_status != 0x0) {
if (!drv->usb_connected) { if (!drv->usb_connected) {
@ -255,8 +248,7 @@ void pm_battery_initial_soc_guess(void) {
fuel_gauge_initial_guess(&drv->fuel_gauge, vbat_g, ibat_g, ntc_temp_g); fuel_gauge_initial_guess(&drv->fuel_gauge, vbat_g, ibat_g, ntc_temp_g);
} }
void pm_store_power_manager_data(pm_driver_t* drv){ void pm_store_power_manager_data(pm_driver_t* drv) {
backup_ram_power_manager_data_t pm_data = {0}; backup_ram_power_manager_data_t pm_data = {0};
// Store the current state of the power manager // Store the current state of the power manager
@ -265,6 +257,4 @@ void pm_store_power_manager_data(pm_driver_t* drv){
// Store the data in backup RAM // Store the data in backup RAM
backup_ram_store_power_manager_data(&pm_data); backup_ram_store_power_manager_data(&pm_data);
} }

View File

@ -309,7 +309,6 @@ void pm_enter_suspend(pm_driver_t* drv) {
} }
void pm_enter_hibernate(pm_driver_t* drv) { void pm_enter_hibernate(pm_driver_t* drv) {
pm_store_power_manager_data(drv); pm_store_power_manager_data(drv);
reboot_device(); reboot_device();