mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
expo: cedit: Support writing settings to CMOS RAM
Add a command to write cedit settings to CMOS RAM so that it can be preserved across a reboot. This uses a simple bit-encoding, where each field has a 'bit position' and a 'bit length' in the schema. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -155,3 +155,33 @@ static int cedit_env(struct unit_test_state *uts)
|
||||
return 0;
|
||||
}
|
||||
BOOTSTD_TEST(cedit_env, 0);
|
||||
|
||||
/* Check the cedit write_cmos and read_cmos commands */
|
||||
static int cedit_cmos(struct unit_test_state *uts)
|
||||
{
|
||||
struct scene_obj_menu *menu, *menu2;
|
||||
struct video_priv *vid_priv;
|
||||
extern struct expo *cur_exp;
|
||||
struct scene *scn;
|
||||
|
||||
console_record_reset_enable();
|
||||
ut_assertok(run_command("cedit load hostfs - cedit.dtb", 0));
|
||||
|
||||
ut_asserteq(ID_SCENE1, cedit_prepare(cur_exp, &vid_priv, &scn));
|
||||
|
||||
/* get the menus to fiddle with */
|
||||
menu = scene_obj_find(scn, ID_CPU_SPEED, SCENEOBJT_MENU);
|
||||
ut_assertnonnull(menu);
|
||||
menu->cur_item_id = ID_CPU_SPEED_2;
|
||||
|
||||
menu2 = scene_obj_find(scn, ID_POWER_LOSS, SCENEOBJT_MENU);
|
||||
ut_assertnonnull(menu2);
|
||||
menu2->cur_item_id = ID_AC_MEMORY;
|
||||
|
||||
ut_assertok(run_command("cedit write_cmos -v", 0));
|
||||
ut_assert_nextlinen("Write 2 bytes from offset 80 to 84");
|
||||
ut_assert_console_end();
|
||||
|
||||
return 0;
|
||||
}
|
||||
BOOTSTD_TEST(cedit_cmos, 0);
|
||||
|
||||
@@ -38,6 +38,9 @@
|
||||
/* IDs for the menu items */
|
||||
item-id = <ID_CPU_SPEED_1 ID_CPU_SPEED_2
|
||||
ID_CPU_SPEED_3>;
|
||||
|
||||
start-bit = <0x400>;
|
||||
bit-length = <2>;
|
||||
};
|
||||
|
||||
power-loss {
|
||||
@@ -49,6 +52,8 @@
|
||||
"Memory";
|
||||
|
||||
item-id = <ID_AC_OFF ID_AC_ON ID_AC_MEMORY>;
|
||||
start-bit = <0x422>;
|
||||
bit-length = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user