vendorcode/chromeos/vbnv: Add CMOS init function
Add cmos init helper function. This function saves the Vboot NV data, calls cmos init and restores the Vboot NV data. Change-Id: I8475f23d849fb5b5a2d16738b4d5e99f112883da Signed-off-by: Jagadish Krishnamoorthy <jagadish.krishnamoorthy@intel.com> Reviewed-on: https://review.coreboot.org/14898 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
parent
f8841120b2
commit
e2e561d31f
|
@ -29,6 +29,7 @@ int vboot_wants_oprom(void);
|
||||||
/* CMOS backend */
|
/* CMOS backend */
|
||||||
void read_vbnv_cmos(uint8_t *vbnv_copy);
|
void read_vbnv_cmos(uint8_t *vbnv_copy);
|
||||||
void save_vbnv_cmos(const uint8_t *vbnv_copy);
|
void save_vbnv_cmos(const uint8_t *vbnv_copy);
|
||||||
|
void init_vbnv_cmos(int rtc_fail);
|
||||||
|
|
||||||
/* Flash backend */
|
/* Flash backend */
|
||||||
void read_vbnv_flash(uint8_t *vbnv_copy);
|
void read_vbnv_flash(uint8_t *vbnv_copy);
|
||||||
|
|
|
@ -51,6 +51,19 @@ void save_vbnv_cmos(const uint8_t *vbnv_copy)
|
||||||
cmos_write(vbnv_copy[i], CONFIG_VBNV_OFFSET + 14 + i);
|
cmos_write(vbnv_copy[i], CONFIG_VBNV_OFFSET + 14 + i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void init_vbnv_cmos(int rtc_fail)
|
||||||
|
{
|
||||||
|
uint8_t vbnv[VBNV_BLOCK_SIZE];
|
||||||
|
|
||||||
|
if (rtc_fail)
|
||||||
|
read_vbnv_cmos(vbnv);
|
||||||
|
|
||||||
|
cmos_init(rtc_fail);
|
||||||
|
|
||||||
|
if (rtc_fail)
|
||||||
|
save_vbnv_cmos(vbnv);
|
||||||
|
}
|
||||||
|
|
||||||
#if IS_ENABLED(CONFIG_CHROMEOS_VBNV_CMOS_BACKUP_TO_FLASH)
|
#if IS_ENABLED(CONFIG_CHROMEOS_VBNV_CMOS_BACKUP_TO_FLASH)
|
||||||
static void back_up_vbnv_cmos(void *unused)
|
static void back_up_vbnv_cmos(void *unused)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue