Implement backup domain's data registers access

This commit is contained in:
Steins7 2024-09-01 22:43:14 +02:00
parent 92085aabb0
commit 449ec77f9f
2 changed files with 25 additions and 0 deletions

View File

@ -109,6 +109,15 @@ void bkp_reset(void)
rcc_regs->BDCR.BDRST = 0;
}
void bkp_write_data(enum BkpData data_index, uint16_t data)
{
bkp_regs->DR[data_index].D = data;
}
uint16_t bkp_read_data(enum BkpData data_index)
{
return bkp_regs->DR[data_index].D;
}
//--local functions-------------------------------------------------------------

View File

@ -39,6 +39,19 @@ enum BkpRtcIrq {
BKP_RTC_IRQ_OVERFLOW = 0x1 << 2,
};
enum BkpData {
BKP_DATA_LSI_CALIB,
BKP_DATA_1,
BKP_DATA_2,
BKP_DATA_3,
BKP_DATA_4,
BKP_DATA_5,
BKP_DATA_6,
BKP_DATA_7,
BKP_DATA_8,
BKP_DATA_9,
};
/**
* Prototype of the IRQ callbacks that the applicative code can provide
*/
@ -92,6 +105,9 @@ uint32_t bkp_read_rtc(void);
*/
void bkp_reset(void);
void bkp_write_data(enum BkpData data_index, uint16_t data);
uint16_t bkp_read_data(enum BkpData data_index);
//unimplemented functions
void bkp_configure_tamper();
void bkp_calibrate_lsi(void);