bbram: fix bbram dead code issue

Clear the whole 192 bytes of bbram, before writing the magic value to it.
test pass "west twister -cviG -T tests/drivers/bbram/".

Fixes #69119

Signed-off-by: Ruibin Chang <Ruibin.Chang@ite.com.tw>
This commit is contained in:
Ruibin Chang 2024-02-20 16:54:49 +08:00 committed by Fabio Baltieri
parent b7b5cf4053
commit 19a23d5190

View file

@ -81,6 +81,7 @@ static int bbram_it8xxx2_init(const struct device *dev)
uint8_t *bram_valid_flag1 = base_addr + BRAM_IDX_VALID_FLAGS1;
uint8_t *bram_valid_flag2 = base_addr + BRAM_IDX_VALID_FLAGS2;
uint8_t *bram_valid_flag3 = base_addr + BRAM_IDX_VALID_FLAGS3;
int size = config->size;
if ((*bram_valid_flag0 != BRAM_VALID_MAGIC_FIELD0) ||
(*bram_valid_flag1 != BRAM_VALID_MAGIC_FIELD1) ||
@ -88,9 +89,9 @@ static int bbram_it8xxx2_init(const struct device *dev)
(*bram_valid_flag3 != BRAM_VALID_MAGIC_FIELD3)) {
/*
* Magic does not match, so BRAM must be uninitialized. Clear
* entire Bank0 BRAM, and set magic value.
* entire Bank0 and Bank1 BRAM, and set magic value.
*/
for (int i = 0; i < BRAM_IDX_VALID_FLAGS0; i++) {
for (int i = 0; i < size; i++) {
*(base_addr + i) = 0;
}