mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-18 21:48:13 +00:00
trezorhal: enable BOR level 3, PVD level 5, turn off display in PVD handler
This commit is contained in:
parent
e4360a7296
commit
d9574bf131
@ -13,7 +13,7 @@
|
|||||||
#define WANT_WRP_SECTORS (0)
|
#define WANT_WRP_SECTORS (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define WANT_BOR_LEVEL (OB_BOR_LEVEL2)
|
#define WANT_BOR_LEVEL (OB_BOR_LEVEL3)
|
||||||
|
|
||||||
// reference RM0090 section 3.9.10; SPRMOD is 0 meaning PCROP disabled.; DB1M is 0 because we use 2MB dual-bank; BFB2 is 0 allowing boot from flash;
|
// reference RM0090 section 3.9.10; SPRMOD is 0 meaning PCROP disabled.; DB1M is 0 because we use 2MB dual-bank; BFB2 is 0 allowing boot from flash;
|
||||||
#define FLASH_OPTCR_VALUE ( (((~WANT_WRP_SECTORS) << FLASH_OPTCR_nWRP_Pos) & FLASH_OPTCR_nWRP_Msk) | \
|
#define FLASH_OPTCR_VALUE ( (((~WANT_WRP_SECTORS) << FLASH_OPTCR_nWRP_Pos) & FLASH_OPTCR_nWRP_Msk) | \
|
||||||
@ -120,12 +120,12 @@ void periph_init(void)
|
|||||||
__HAL_RCC_GPIOD_CLK_ENABLE();
|
__HAL_RCC_GPIOD_CLK_ENABLE();
|
||||||
|
|
||||||
// enable the PVD (programmable voltage detector).
|
// enable the PVD (programmable voltage detector).
|
||||||
// select the "2.6V" threshold (level 4).
|
// select the "2.7V" threshold (level 5).
|
||||||
// this detector will be active regardless of the
|
// this detector will be active regardless of the
|
||||||
// flash option byte BOR setting.
|
// flash option byte BOR setting.
|
||||||
__HAL_RCC_PWR_CLK_ENABLE();
|
__HAL_RCC_PWR_CLK_ENABLE();
|
||||||
PWR_PVDTypeDef pvd_config;
|
PWR_PVDTypeDef pvd_config;
|
||||||
pvd_config.PVDLevel = PWR_PVDLEVEL_4;
|
pvd_config.PVDLevel = PWR_PVDLEVEL_5;
|
||||||
pvd_config.Mode = PWR_PVD_MODE_IT_RISING_FALLING;
|
pvd_config.Mode = PWR_PVD_MODE_IT_RISING_FALLING;
|
||||||
HAL_PWR_ConfigPVD(&pvd_config);
|
HAL_PWR_ConfigPVD(&pvd_config);
|
||||||
HAL_PWR_EnablePVD();
|
HAL_PWR_EnablePVD();
|
||||||
|
@ -51,3 +51,11 @@ void SysTick_Handler(void)
|
|||||||
// 49.71 days = (0xffffffff / (24 * 60 * 60 * 1000))
|
// 49.71 days = (0xffffffff / (24 * 60 * 60 * 1000))
|
||||||
uwTick++;
|
uwTick++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern void shutdown(void);
|
||||||
|
|
||||||
|
void PVD_IRQHandler(void)
|
||||||
|
{
|
||||||
|
TIM1->CCR1 = 0; // turn off display backlight
|
||||||
|
shutdown();
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user