Skip to content

Commit 0aa85ab

Browse files
committed
backup ram: store MMC card status in backup register
1 parent 1fba190 commit 0aa85ab

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

firmware/hw_layer/backup_ram.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ enum class backup_ram_e {
2626
*/
2727
IgnCounter,
2828

29+
/**
30+
* MMC card status
31+
* 32 bits value, see mmc_card.c for details
32+
*/
33+
MccStatus,
34+
2935
/* The number of stored backup variables */
3036
BACKUP_RAM_NUM,
3137
};

firmware/hw_layer/ports/stm32/backup_ram.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ uint32_t backupRamLoad(backup_ram_e idx) {
1313
return RTCD1.rtc->BKP0R & 0xffff;
1414
case backup_ram_e::IgnCounter:
1515
return (RTCD1.rtc->BKP0R >> 16) & 0xff;
16+
case backup_ram_e::MccStatus:
17+
return RTCD1.rtc->BKP1R;
1618
default:
1719
criticalError("Invalid backup ram idx %d", (int)idx);
1820
return 0;
@@ -31,6 +33,9 @@ void backupRamSave(backup_ram_e idx, uint32_t value) {
3133
case backup_ram_e::IgnCounter:
3234
RTCD1.rtc->BKP0R = (RTCD1.rtc->BKP0R & ~0x00ff0000) | ((value & 0xff) << 16);
3335
break;
36+
case backup_ram_e::MccStatus:
37+
RTCD1.rtc->BKP1R = value;
38+
break;
3439
default:
3540
criticalError("Invalid backup ram idx %d, value %lx", (int)idx, value);
3641
break;

0 commit comments

Comments
 (0)