summaryrefslogtreecommitdiff
authorwenbiao zhang <wenbiao.zhang@amlogic.com>2019-11-07 05:22:35 (GMT)
committer Wenbiao Zhang <wenbiao.zhang@amlogic.com>2019-12-09 03:40:57 (GMT)
commit5fe57d09a1de5f2da7ea3cf24de8ca9150ca92dc (patch)
treead8b4ae0cb78201e3c6722f1f88fd086ce5f5daf
parentebc132cc6131624d77835061462889717a2dd902 (diff)
downloaduboot-5fe57d09a1de5f2da7ea3cf24de8ca9150ca92dc.zip
uboot-5fe57d09a1de5f2da7ea3cf24de8ca9150ca92dc.tar.gz
uboot-5fe57d09a1de5f2da7ea3cf24de8ca9150ca92dc.tar.bz2
power: config for ffv wake [1/6]
PD#SWPL-16825 Problem: config for ffv wake Solution: config for ffv wake Verify: marconi Change-Id: Id7cf3bfa65205c723dfe93990b30e2840cc3e701 Signed-off-by: wenbiao zhang <wenbiao.zhang@amlogic.com>
Diffstat
-rw-r--r--board/amlogic/configs/tl1_skt_v1.h112
-rw-r--r--board/amlogic/configs/tl1_t309_v1.h126
-rw-r--r--board/amlogic/configs/tl1_x301_v1.h124
-rw-r--r--board/amlogic/configs/tm2_t962e2_ab311_v1.h101
-rw-r--r--board/amlogic/configs/tm2_t962e2_ab319_v1.h114
-rw-r--r--board/amlogic/configs/tm2_t962x3_ab301_v1.h101
-rw-r--r--board/amlogic/configs/tm2_t962x3_ab309_v1.h114
-rw-r--r--board/amlogic/configs/tm2_t962x3_t312_v1.h119
8 files changed, 730 insertions, 181 deletions
diff --git a/board/amlogic/configs/tl1_skt_v1.h b/board/amlogic/configs/tl1_skt_v1.h
index d1c80a5..4ee36f9 100644
--- a/board/amlogic/configs/tl1_skt_v1.h
+++ b/board/amlogic/configs/tl1_skt_v1.h
@@ -120,6 +120,8 @@
"boot_part=boot\0"\
"suspend=off\0"\
"powermode=on\0"\
+ "ffv_wake=off\0"\
+ "ffv_freeze=off\0"\
"edid_14_dir=/vendor/etc/tvconfig/hdmi/port_14.bin\0" \
"edid_20_dir=/vendor/etc/tvconfig/hdmi/port_20.bin\0" \
"edid_select=0\0" \
@@ -143,55 +145,83 @@
"setenv bootargs ${bootargs} androidboot.hardware=amlogic;"\
"run cmdline_keys;"\
"\0"\
+ "cec_init="\
+ "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
+ "if test ${cec_ac_wakeup} = 1; then "\
+ "cec ${logic_addr} ${cec_fun}; "\
+ "if test ${edid_select} = 1111; then "\
+ "hdmirx init ${port_map} ${edid_20_dir}; "\
+ "else "\
+ "hdmirx init ${port_map} ${edid_14_dir}; "\
+ "fi;"\
+ "fi;"\
+ "\0"\
+ "ffv_freeze_action="\
+ "run cec_init;"\
+ "setenv ffv_freeze on;"\
+ "setenv bootargs ${bootargs} ffv_freeze=on"\
+ "\0"\
+ "cold_boot_normal_check="\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ /*"run try_auto_burn;uboot wake up "*/\
+ "if test ${powermode} = on; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${powermode} = standby; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${suspend} = on; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "\0"\
"switch_bootmode="\
"get_rebootmode;"\
+ "setenv ffv_freeze off;"\
"if test ${reboot_mode} = factory_reset; then "\
"run recovery_from_flash;"\
"else if test ${reboot_mode} = update; then "\
"run update;"\
"else if test ${reboot_mode} = cold_boot; then "\
- /*"run try_auto_burn;uboot wake up "*/\
- "echo powermode=${powermode}; "\
- "if test ${powermode} = on; then "\
- /*"run try_auto_burn; "*/\
- "else if test ${powermode} = standby; then "\
- "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
- "if test ${cec_ac_wakeup} = 1; then "\
- "cec ${logic_addr} ${cec_fun}; "\
- "if test ${edid_select} = 1111; then "\
- "hdmirx init ${port_map} ${edid_20_dir}; "\
- "else if test ${edid_select} != 1111; then "\
- "hdmirx init ${port_map} ${edid_14_dir}; "\
- "fi;fi;"\
- "fi;"\
- "systemoff; "\
- "else if test ${powermode} = last; then "\
- "echo suspend=${suspend}; "\
- "if test ${suspend} = off; then "\
- /*"run try_auto_burn; "*/\
- "else if test ${suspend} = on; then "\
- "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
- "if test ${cec_ac_wakeup} = 1; then "\
- "cec ${logic_addr} ${cec_fun}; "\
- "if test ${edid_select} = 1111; then "\
- "hdmirx init ${port_map} ${edid_20_dir}; "\
- "else if test ${edid_select} != 1111; then "\
- "hdmirx init ${port_map} ${edid_14_dir}; "\
- "fi;fi;"\
- "fi;"\
- "systemoff; "\
- "else if test ${suspend} = shutdown; then "\
- "systemoff; "\
+ "echo cold boot: ffv_wake=${ffv_wake} powermode=${powermode} suspend=${suspend};"\
+ "if test ${ffv_wake} = on; then "\
+ "if test ${powermode} = on; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${powermode} = standby; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${powermode} = last; then "\
+ "if test ${suspend} = off; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${suspend} = on; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run ffv_freeze_action; "\
+ "fi; fi; fi; "\
"fi; fi; fi; "\
- "fi; fi; fi; "\
+ "else "\
+ "run cold_boot_normal_check;"\
+ "fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "run ffv_freeze_action; "\
+ "fi; "\
"else if test ${reboot_mode} = fastboot; then "\
"fastboot;"\
- "fi;fi;fi;fi;"\
+ "fi;fi;fi;fi;fi;"\
"\0" \
"reset_suspend="\
- "if test ${suspend} = on || test ${suspend} = shutdown; then "\
- "setenv ""suspend off"";"\
- "saveenv;"\
+ "if test ${ffv_freeze} != on; then "\
+ "if test ${suspend} = on || test ${suspend} = shutdown; then "\
+ "setenv ""suspend off"";"\
+ "saveenv;"\
+ "fi;"\
"fi;"\
"\0" \
"storeboot="\
@@ -308,9 +338,15 @@
"else "\
"run init_display; "\
"fi; fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "echo ffv reboot no display; "\
+ "else "\
+ "run init_display; "\
+ "fi; "\
"else "\
"run init_display; "\
- "fi; "\
+ "fi;fi; "\
"\0"\
"cmdline_keys="\
"if keyman init 0x1234; then "\
diff --git a/board/amlogic/configs/tl1_t309_v1.h b/board/amlogic/configs/tl1_t309_v1.h
index 08fef86..8786aa4 100644
--- a/board/amlogic/configs/tl1_t309_v1.h
+++ b/board/amlogic/configs/tl1_t309_v1.h
@@ -121,26 +121,28 @@
"boot_part=boot\0"\
"suspend=off\0"\
"powermode=on\0"\
- "edid_14_dir=/vendor/etc/tvconfig/hdmi/port_14.bin\0" \
- "edid_20_dir=/vendor/etc/tvconfig/hdmi/port_20.bin\0" \
- "edid_select=0\0" \
- "port_map=0x4321\0" \
- "cec_fun=0x2F\0" \
- "logic_addr=0x0\0" \
- "cec_ac_wakeup=1\0" \
+ "ffv_wake=off\0"\
+ "ffv_freeze=off\0"\
+ "edid_14_dir=/vendor/etc/tvconfig/hdmi/port_14.bin\0" \
+ "edid_20_dir=/vendor/etc/tvconfig/hdmi/port_20.bin\0" \
+ "edid_select=0\0" \
+ "port_map=0x4321\0" \
+ "cec_fun=0x2F\0" \
+ "logic_addr=0x0\0" \
+ "cec_ac_wakeup=1\0" \
"cec_init= "\
- "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
- "echo port_map=${port_map}; "\
- "echo cec_fun=${cec_fun}; "\
- "if test ${cec_ac_wakeup} = 1; then "\
- "cec ${logic_addr} ${cec_fun}; "\
- "if test ${edid_select} = 1111; then "\
- "hdmirx init ${port_map} ${edid_20_dir}; "\
- "else if test ${edid_select} != 1111; then "\
- "hdmirx init ${port_map} ${edid_14_dir}; "\
- "fi;fi; "\
- "fi; "\
- "\0"\
+ "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
+ "echo port_map=${port_map}; "\
+ "echo cec_fun=${cec_fun}; "\
+ "if test ${cec_ac_wakeup} = 1; then "\
+ "cec ${logic_addr} ${cec_fun}; "\
+ "if test ${edid_select} = 1111; then "\
+ "hdmirx init ${port_map} ${edid_20_dir}; "\
+ "else if test ${edid_select} != 1111; then "\
+ "hdmirx init ${port_map} ${edid_14_dir}; "\
+ "fi;fi; "\
+ "fi; "\
+ "\0"\
"Irq_check_en=0\0"\
"fs_type=""rootfstype=ramfs""\0"\
"mem_size=2g\0"\
@@ -158,40 +160,72 @@
"setenv bootargs ${bootargs} androidboot.hardware=amlogic;"\
"run cmdline_keys;"\
"\0"\
+ "ffv_freeze_action="\
+ "run cec_init;"\
+ "setenv ffv_freeze on;"\
+ "setenv bootargs ${bootargs} ffv_freeze=on"\
+ "\0"\
+ "cold_boot_normal_check="\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ /*"run try_auto_burn;uboot wake up "*/\
+ "if test ${powermode} = on; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${powermode} = standby; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${suspend} = on; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "\0"\
"switch_bootmode="\
"get_rebootmode;"\
+ "setenv ffv_freeze off;"\
"if test ${reboot_mode} = factory_reset; then "\
"run recovery_from_flash;"\
"else if test ${reboot_mode} = update; then "\
"run update;"\
"else if test ${reboot_mode} = cold_boot; then "\
- /*"run try_auto_burn;uboot wake up "*/\
- "echo powermode=${powermode}; "\
- "if test ${powermode} = on; then "\
- /*"run try_auto_burn; "*/\
- "else if test ${powermode} = standby; then "\
- "run cec_init; "\
- "systemoff; "\
- "else if test ${powermode} = last; then "\
- "echo suspend=${suspend}; "\
- "if test ${suspend} = off; then "\
- /*"run try_auto_burn; "*/\
- "else if test ${suspend} = on; then "\
- "run cec_init; "\
- "systemoff; "\
- "else if test ${suspend} = shutdown; then "\
- "run cec_init; "\
- "systemoff; "\
+ "echo cold boot: ffv_wake=${ffv_wake} powermode=${powermode} suspend=${suspend};"\
+ "if test ${ffv_wake} = on; then "\
+ "if test ${powermode} = on; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${powermode} = standby; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${powermode} = last; then "\
+ "if test ${suspend} = off; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${suspend} = on; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run ffv_freeze_action; "\
+ "fi; fi; fi; "\
"fi; fi; fi; "\
- "fi; fi; fi; "\
+ "else "\
+ "run cold_boot_normal_check;"\
+ "fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "run ffv_freeze_action; "\
+ "fi; "\
"else if test ${reboot_mode} = fastboot; then "\
"fastboot;"\
- "fi;fi;fi;fi;"\
+ "fi;fi;fi;fi;fi;"\
"\0" \
"reset_suspend="\
- "if test ${suspend} = on || test ${suspend} = shutdown; then "\
- "setenv ""suspend off"";"\
- "saveenv;"\
+ "if test ${ffv_freeze} != on; then "\
+ "if test ${suspend} = on || test ${suspend} = shutdown; then "\
+ "setenv ""suspend off"";"\
+ "saveenv;"\
+ "fi;"\
"fi;"\
"\0" \
"storeboot="\
@@ -303,14 +337,20 @@
"else if test ${suspend} = on; then "\
"echo not init_display; "\
"else if test ${suspend} = shutdown; then "\
- "echo not init_display; "\
+ "echo not init_display; "\
"fi; fi; fi; "\
"else "\
"run init_display; "\
"fi; fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "echo ffv reboot no display; "\
+ "else "\
+ "run init_display; "\
+ "fi; "\
"else "\
"run init_display; "\
- "fi; "\
+ "fi;fi; "\
"\0"\
"cmdline_keys="\
"if keyman init 0x1234; then "\
diff --git a/board/amlogic/configs/tl1_x301_v1.h b/board/amlogic/configs/tl1_x301_v1.h
index a88e4cd..a5cb171 100644
--- a/board/amlogic/configs/tl1_x301_v1.h
+++ b/board/amlogic/configs/tl1_x301_v1.h
@@ -124,26 +124,28 @@
"boot_part=boot\0"\
"suspend=off\0"\
"powermode=on\0"\
- "edid_14_dir=/vendor/etc/tvconfig/hdmi/port_14.bin\0" \
- "edid_20_dir=/vendor/etc/tvconfig/hdmi/port_20.bin\0" \
- "edid_select=0\0" \
- "port_map=0x4321\0" \
- "cec_fun=0x2F\0" \
- "logic_addr=0x0\0" \
- "cec_ac_wakeup=1\0" \
+ "ffv_wake=off\0"\
+ "ffv_freeze=off\0"\
+ "edid_14_dir=/vendor/etc/tvconfig/hdmi/port_14.bin\0" \
+ "edid_20_dir=/vendor/etc/tvconfig/hdmi/port_20.bin\0" \
+ "edid_select=0\0" \
+ "port_map=0x4321\0" \
+ "cec_fun=0x2F\0" \
+ "logic_addr=0x0\0" \
+ "cec_ac_wakeup=1\0" \
"cec_init= "\
- "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
- "echo port_map=${port_map}; "\
- "echo cec_fun=${cec_fun}; "\
- "if test ${cec_ac_wakeup} = 1; then "\
- "cec ${logic_addr} ${cec_fun}; "\
- "if test ${edid_select} = 1111; then "\
- "hdmirx init ${port_map} ${edid_20_dir}; "\
- "else if test ${edid_select} != 1111; then "\
- "hdmirx init ${port_map} ${edid_14_dir}; "\
- "fi;fi; "\
- "fi; "\
- "\0"\
+ "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
+ "echo port_map=${port_map}; "\
+ "echo cec_fun=${cec_fun}; "\
+ "if test ${cec_ac_wakeup} = 1; then "\
+ "cec ${logic_addr} ${cec_fun}; "\
+ "if test ${edid_select} = 1111; then "\
+ "hdmirx init ${port_map} ${edid_20_dir}; "\
+ "else"\
+ "hdmirx init ${port_map} ${edid_14_dir}; "\
+ "fi; "\
+ "fi; "\
+ "\0"\
"Irq_check_en=0\0"\
"fs_type=""rootfstype=ramfs""\0"\
"mem_size=1g\0"\
@@ -161,40 +163,72 @@
"setenv bootargs ${bootargs} androidboot.hardware=amlogic;"\
"run cmdline_keys;"\
"\0"\
+ "ffv_freeze_action="\
+ "run cec_init;"\
+ "setenv ffv_freeze on;"\
+ "setenv bootargs ${bootargs} ffv_freeze=on"\
+ "\0"\
+ "cold_boot_normal_check="\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ /*"run try_auto_burn;uboot wake up "*/\
+ "if test ${powermode} = on; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${powermode} = standby; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${suspend} = on; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "\0"\
"switch_bootmode="\
"get_rebootmode;"\
+ "setenv ffv_freeze off;"\
"if test ${reboot_mode} = factory_reset; then "\
"run recovery_from_flash;"\
"else if test ${reboot_mode} = update; then "\
"run update;"\
"else if test ${reboot_mode} = cold_boot; then "\
- /*"run try_auto_burn;uboot wake up "*/\
- "echo powermode=${powermode}; "\
- "if test ${powermode} = on; then "\
- /*"run try_auto_burn; "*/\
- "else if test ${powermode} = standby; then "\
- "run cec_init; "\
- "systemoff; "\
- "else if test ${powermode} = last; then "\
- "echo suspend=${suspend}; "\
- "if test ${suspend} = off; then "\
- /*"run try_auto_burn; "*/\
- "else if test ${suspend} = on; then "\
- "run cec_init; "\
- "systemoff; "\
- "else if test ${suspend} = shutdown; then "\
- "run cec_init; "\
- "systemoff; "\
+ "echo cold boot: ffv_wake=${ffv_wake} powermode=${powermode} suspend=${suspend};"\
+ "if test ${ffv_wake} = on; then "\
+ "if test ${powermode} = on; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${powermode} = standby; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${powermode} = last; then "\
+ "if test ${suspend} = off; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${suspend} = on; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run ffv_freeze_action; "\
+ "fi; fi; fi; "\
"fi; fi; fi; "\
- "fi; fi; fi; "\
+ "else "\
+ "run cold_boot_normal_check;"\
+ "fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "run ffv_freeze_action; "\
+ "fi; "\
"else if test ${reboot_mode} = fastboot; then "\
"fastboot;"\
- "fi;fi;fi;fi;"\
+ "fi;fi;fi;fi;fi;"\
"\0" \
"reset_suspend="\
- "if test ${suspend} = on || test ${suspend} = shutdown; then "\
- "setenv ""suspend off"";"\
- "saveenv;"\
+ "if test ${ffv_freeze} != on; then "\
+ "if test ${suspend} = on || test ${suspend} = shutdown; then "\
+ "setenv ""suspend off"";"\
+ "saveenv;"\
+ "fi;"\
"fi;"\
"\0" \
"storeboot="\
@@ -311,9 +345,15 @@
"else "\
"run init_display; "\
"fi; fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "echo ffv reboot no display; "\
+ "else "\
+ "run init_display; "\
+ "fi; "\
"else "\
"run init_display; "\
- "fi; "\
+ "fi;fi; "\
"\0"\
"cmdline_keys="\
"if keyman init 0x1234; then "\
diff --git a/board/amlogic/configs/tm2_t962e2_ab311_v1.h b/board/amlogic/configs/tm2_t962e2_ab311_v1.h
index 904f801..b142a96 100644
--- a/board/amlogic/configs/tm2_t962e2_ab311_v1.h
+++ b/board/amlogic/configs/tm2_t962e2_ab311_v1.h
@@ -125,6 +125,15 @@
"boot_part=boot\0"\
"suspend=off\0"\
"powermode=on\0"\
+ "ffv_wake=off\0"\
+ "ffv_freeze=off\0"\
+ "edid_14_dir=/vendor/etc/tvconfig/hdmi/port_14.bin\0" \
+ "edid_20_dir=/vendor/etc/tvconfig/hdmi/port_20.bin\0" \
+ "edid_select=0\0" \
+ "port_map=0x4321\0" \
+ "cec_fun=0x2F\0" \
+ "logic_addr=0x0\0" \
+ "cec_ac_wakeup=0\0" \
"Irq_check_en=0\0"\
"fs_type=""rootfstype=ramfs""\0"\
"initargs="\
@@ -142,37 +151,83 @@
"setenv bootargs ${bootargs} androidboot.hardware=amlogic androidboot.bootloader=${bootloader_version} androidboot.build.expect.baseband=N/A;"\
"run cmdline_keys;"\
"\0"\
+ "cec_init="\
+ "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
+ "if test ${cec_ac_wakeup} = 1; then "\
+ "cec ${logic_addr} ${cec_fun}; "\
+ "if test ${edid_select} = 1111; then "\
+ "hdmirx init ${port_map} ${edid_20_dir}; "\
+ "else "\
+ "hdmirx init ${port_map} ${edid_14_dir}; "\
+ "fi;"\
+ "fi;"\
+ "\0"\
+ "ffv_freeze_action="\
+ "run cec_init;"\
+ "setenv ffv_freeze on;"\
+ "setenv bootargs ${bootargs} ffv_freeze=on"\
+ "\0"\
+ "cold_boot_normal_check="\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ /*"run try_auto_burn;uboot wake up "*/\
+ "if test ${powermode} = on; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${powermode} = standby; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${suspend} = on; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "\0"\
"switch_bootmode="\
"get_rebootmode;"\
+ "setenv ffv_freeze off;"\
"if test ${reboot_mode} = factory_reset; then "\
"run recovery_from_flash;"\
"else if test ${reboot_mode} = update; then "\
"run update;"\
"else if test ${reboot_mode} = cold_boot; then "\
- /*"run try_auto_burn;uboot wake up "*/\
- "echo powermode=${powermode}; "\
- "if test ${powermode} = on; then "\
- /*"run try_auto_burn; "*/\
- "else if test ${powermode} = standby; then "\
- "systemoff; "\
- "else if test ${powermode} = last; then "\
- "echo suspend=${suspend}; "\
- "if test ${suspend} = off; then "\
- /*"run try_auto_burn; "*/\
- "else if test ${suspend} = on; then "\
- "systemoff; "\
- "else if test ${suspend} = shutdown; then "\
- "systemoff; "\
+ "echo cold boot: ffv_wake=${ffv_wake} powermode=${powermode} suspend=${suspend};"\
+ "if test ${ffv_wake} = on; then "\
+ "if test ${powermode} = on; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${powermode} = standby; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${powermode} = last; then "\
+ "if test ${suspend} = off; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${suspend} = on; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run ffv_freeze_action; "\
+ "fi; fi; fi; "\
"fi; fi; fi; "\
- "fi; fi; fi; "\
+ "else "\
+ "run cold_boot_normal_check;"\
+ "fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "run ffv_freeze_action; "\
+ "fi; "\
"else if test ${reboot_mode} = fastboot; then "\
"fastboot;"\
- "fi;fi;fi;fi;"\
+ "fi;fi;fi;fi;fi;"\
"\0" \
"reset_suspend="\
- "if test ${suspend} = on || test ${suspend} = shutdown; then "\
- "setenv ""suspend off"";"\
- "saveenv;"\
+ "if test ${ffv_freeze} != on; then "\
+ "if test ${suspend} = on || test ${suspend} = shutdown; then "\
+ "setenv ""suspend off"";"\
+ "saveenv;"\
+ "fi;"\
"fi;"\
"\0" \
"storeboot="\
@@ -286,9 +341,15 @@
"else "\
"run init_display; "\
"fi; fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "echo ffv reboot no display; "\
+ "else "\
+ "run init_display; "\
+ "fi; "\
"else "\
"run init_display; "\
- "fi; "\
+ "fi;fi; "\
"\0"\
"cmdline_keys="\
"if keyman init 0x1234; then "\
diff --git a/board/amlogic/configs/tm2_t962e2_ab319_v1.h b/board/amlogic/configs/tm2_t962e2_ab319_v1.h
index cd96231..1372c37 100644
--- a/board/amlogic/configs/tm2_t962e2_ab319_v1.h
+++ b/board/amlogic/configs/tm2_t962e2_ab319_v1.h
@@ -122,6 +122,17 @@
"video_reverse=0\0"\
"active_slot=normal\0"\
"boot_part=boot\0"\
+ "suspend=off\0"\
+ "powermode=on\0"\
+ "ffv_wake=off\0"\
+ "ffv_freeze=off\0"\
+ "edid_14_dir=/vendor/etc/tvconfig/hdmi/port_14.bin\0" \
+ "edid_20_dir=/vendor/etc/tvconfig/hdmi/port_20.bin\0" \
+ "edid_select=0\0" \
+ "port_map=0x4321\0" \
+ "cec_fun=0x2F\0" \
+ "logic_addr=0x0\0" \
+ "cec_ac_wakeup=0\0" \
"fs_type=""rootfstype=ramfs""\0"\
"initargs="\
"init=/init console=ttyS0,115200 no_console_suspend earlycon=aml-uart,0xff803000 printk.devkmsg=on ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 "\
@@ -138,17 +149,84 @@
"setenv bootargs ${bootargs} androidboot.hardware=amlogic androidboot.bootloader=${bootloader_version} androidboot.build.expect.baseband=N/A;"\
"run cmdline_keys;"\
"\0"\
+ "cec_init="\
+ "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
+ "if test ${cec_ac_wakeup} = 1; then "\
+ "cec ${logic_addr} ${cec_fun}; "\
+ "if test ${edid_select} = 1111; then "\
+ "hdmirx init ${port_map} ${edid_20_dir}; "\
+ "else "\
+ "hdmirx init ${port_map} ${edid_14_dir}; "\
+ "fi;"\
+ "fi;"\
+ "\0"\
+ "ffv_freeze_action="\
+ "run cec_init;"\
+ "setenv ffv_freeze on;"\
+ "setenv bootargs ${bootargs} ffv_freeze=on"\
+ "\0"\
+ "cold_boot_normal_check="\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ /*"run try_auto_burn;uboot wake up "*/\
+ "if test ${powermode} = on; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${powermode} = standby; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${suspend} = on; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "\0"\
"switch_bootmode="\
"get_rebootmode;"\
+ "setenv ffv_freeze off;"\
"if test ${reboot_mode} = factory_reset; then "\
"run recovery_from_flash;"\
"else if test ${reboot_mode} = update; then "\
"run update;"\
"else if test ${reboot_mode} = cold_boot; then "\
- /*"run try_auto_burn; "*/\
+ "echo cold boot: ffv_wake=${ffv_wake} powermode=${powermode} suspend=${suspend};"\
+ "if test ${ffv_wake} = on; then "\
+ "if test ${powermode} = on; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${powermode} = standby; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${powermode} = last; then "\
+ "if test ${suspend} = off; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${suspend} = on; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run ffv_freeze_action; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "else "\
+ "run cold_boot_normal_check;"\
+ "fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "run ffv_freeze_action; "\
+ "fi; "\
"else if test ${reboot_mode} = fastboot; then "\
"fastboot;"\
- "fi;fi;fi;fi;"\
+ "fi;fi;fi;fi;fi;"\
+ "\0" \
+ "reset_suspend="\
+ "if test ${ffv_freeze} != on; then "\
+ "if test ${suspend} = on || test ${suspend} = shutdown; then "\
+ "setenv ""suspend off"";"\
+ "saveenv;"\
+ "fi;"\
+ "fi;"\
"\0" \
"storeboot="\
"boot_cooling;"\
@@ -245,6 +323,32 @@
"init_display="\
"hdmitx hpd;osd open;osd clear;imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale;vout output ${outputmode}"\
"\0"\
+ "check_display="\
+ "if test ${reboot_mode} = cold_boot; then "\
+ "if test ${powermode} = standby; then "\
+ "echo not init_display; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ "run init_display; "\
+ "else if test ${suspend} = on; then "\
+ "echo not init_display; "\
+ "else if test ${suspend} = shutdown; then "\
+ "echo not init_display; "\
+ "fi; fi; fi; "\
+ "else "\
+ "run init_display; "\
+ "fi; fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "echo ffv reboot no display; "\
+ "else "\
+ "run init_display; "\
+ "fi; "\
+ "else "\
+ "run init_display; "\
+ "fi;fi; "\
+ "\0"\
"cmdline_keys="\
"if keyman init 0x1234; then "\
"if keyman read usid ${loadaddr} str; then "\
@@ -284,10 +388,12 @@
"run bcb_cmd; "\
"run factory_reset_poweroff_protect;"\
"run upgrade_check;"\
- "run init_display;"\
+ /* "run init_display;"\ */\
+ "run check_display;"\
"run storeargs;"\
"bcb uboot-command;"\
- "run switch_bootmode;"
+ "run switch_bootmode;"\
+ "run reset_suspend;"
#define CONFIG_BOOTCOMMAND "run storeboot"
diff --git a/board/amlogic/configs/tm2_t962x3_ab301_v1.h b/board/amlogic/configs/tm2_t962x3_ab301_v1.h
index b456259..b1b152c 100644
--- a/board/amlogic/configs/tm2_t962x3_ab301_v1.h
+++ b/board/amlogic/configs/tm2_t962x3_ab301_v1.h
@@ -125,6 +125,15 @@
"boot_part=boot\0"\
"suspend=off\0"\
"powermode=on\0"\
+ "ffv_wake=off\0"\
+ "ffv_freeze=off\0"\
+ "edid_14_dir=/vendor/etc/tvconfig/hdmi/port_14.bin\0" \
+ "edid_20_dir=/vendor/etc/tvconfig/hdmi/port_20.bin\0" \
+ "edid_select=0\0" \
+ "port_map=0x4321\0" \
+ "cec_fun=0x2F\0" \
+ "logic_addr=0x0\0" \
+ "cec_ac_wakeup=0\0" \
"Irq_check_en=0\0"\
"fs_type=""rootfstype=ramfs""\0"\
"initargs="\
@@ -141,37 +150,83 @@
"setenv bootargs ${bootargs} androidboot.hardware=amlogic;"\
"run cmdline_keys;"\
"\0"\
+ "cec_init="\
+ "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
+ "if test ${cec_ac_wakeup} = 1; then "\
+ "cec ${logic_addr} ${cec_fun}; "\
+ "if test ${edid_select} = 1111; then "\
+ "hdmirx init ${port_map} ${edid_20_dir}; "\
+ "else "\
+ "hdmirx init ${port_map} ${edid_14_dir}; "\
+ "fi;"\
+ "fi;"\
+ "\0"\
+ "ffv_freeze_action="\
+ "run cec_init;"\
+ "setenv ffv_freeze on;"\
+ "setenv bootargs ${bootargs} ffv_freeze=on"\
+ "\0"\
+ "cold_boot_normal_check="\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ /*"run try_auto_burn;uboot wake up "*/\
+ "if test ${powermode} = on; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${powermode} = standby; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${suspend} = on; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "\0"\
"switch_bootmode="\
"get_rebootmode;"\
+ "setenv ffv_freeze off;"\
"if test ${reboot_mode} = factory_reset; then "\
"run recovery_from_flash;"\
"else if test ${reboot_mode} = update; then "\
"run update;"\
"else if test ${reboot_mode} = cold_boot; then "\
- /*"run try_auto_burn;uboot wake up "*/\
- "echo powermode=${powermode}; "\
- "if test ${powermode} = on; then "\
- /*"run try_auto_burn; "*/\
- "else if test ${powermode} = standby; then "\
- "systemoff; "\
- "else if test ${powermode} = last; then "\
- "echo suspend=${suspend}; "\
- "if test ${suspend} = off; then "\
- /*"run try_auto_burn; "*/\
- "else if test ${suspend} = on; then "\
- "systemoff; "\
- "else if test ${suspend} = shutdown; then "\
- "systemoff; "\
+ "echo cold boot: ffv_wake=${ffv_wake} powermode=${powermode} suspend=${suspend};"\
+ "if test ${ffv_wake} = on; then "\
+ "if test ${powermode} = on; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${powermode} = standby; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${powermode} = last; then "\
+ "if test ${suspend} = off; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${suspend} = on; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run ffv_freeze_action; "\
+ "fi; fi; fi; "\
"fi; fi; fi; "\
- "fi; fi; fi; "\
+ "else "\
+ "run cold_boot_normal_check;"\
+ "fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "run ffv_freeze_action; "\
+ "fi; "\
"else if test ${reboot_mode} = fastboot; then "\
"fastboot;"\
- "fi;fi;fi;fi;"\
+ "fi;fi;fi;fi;fi;"\
"\0" \
"reset_suspend="\
- "if test ${suspend} = on || test ${suspend} = shutdown; then "\
- "setenv ""suspend off"";"\
- "saveenv;"\
+ "if test ${ffv_freeze} != on; then "\
+ "if test ${suspend} = on || test ${suspend} = shutdown; then "\
+ "setenv ""suspend off"";"\
+ "saveenv;"\
+ "fi;"\
"fi;"\
"\0" \
"storeboot="\
@@ -285,9 +340,15 @@
"else "\
"run init_display; "\
"fi; fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "echo ffv reboot no display; "\
+ "else "\
+ "run init_display; "\
+ "fi; "\
"else "\
"run init_display; "\
- "fi; "\
+ "fi;fi; "\
"\0"\
"cmdline_keys="\
"if keyman init 0x1234; then "\
diff --git a/board/amlogic/configs/tm2_t962x3_ab309_v1.h b/board/amlogic/configs/tm2_t962x3_ab309_v1.h
index e3ef273..6c8297d 100644
--- a/board/amlogic/configs/tm2_t962x3_ab309_v1.h
+++ b/board/amlogic/configs/tm2_t962x3_ab309_v1.h
@@ -122,6 +122,17 @@
"video_reverse=0\0"\
"active_slot=normal\0"\
"boot_part=boot\0"\
+ "suspend=off\0"\
+ "powermode=on\0"\
+ "ffv_wake=off\0"\
+ "ffv_freeze=off\0"\
+ "edid_14_dir=/vendor/etc/tvconfig/hdmi/port_14.bin\0" \
+ "edid_20_dir=/vendor/etc/tvconfig/hdmi/port_20.bin\0" \
+ "edid_select=0\0" \
+ "port_map=0x4321\0" \
+ "cec_fun=0x2F\0" \
+ "logic_addr=0x0\0" \
+ "cec_ac_wakeup=0\0" \
"fs_type=""rootfstype=ramfs""\0"\
"initargs="\
"init=/init console=ttyS0,115200 no_console_suspend earlycon=aml-uart,0xff803000 printk.devkmsg=on ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 "\
@@ -137,17 +148,84 @@
"setenv bootargs ${bootargs} androidboot.hardware=amlogic;"\
"run cmdline_keys;"\
"\0"\
+ "cec_init="\
+ "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
+ "if test ${cec_ac_wakeup} = 1; then "\
+ "cec ${logic_addr} ${cec_fun}; "\
+ "if test ${edid_select} = 1111; then "\
+ "hdmirx init ${port_map} ${edid_20_dir}; "\
+ "else "\
+ "hdmirx init ${port_map} ${edid_14_dir}; "\
+ "fi;"\
+ "fi;"\
+ "\0"\
+ "ffv_freeze_action="\
+ "run cec_init;"\
+ "setenv ffv_freeze on;"\
+ "setenv bootargs ${bootargs} ffv_freeze=on"\
+ "\0"\
+ "cold_boot_normal_check="\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ /*"run try_auto_burn;uboot wake up "*/\
+ "if test ${powermode} = on; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${powermode} = standby; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${suspend} = on; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "\0"\
"switch_bootmode="\
"get_rebootmode;"\
+ "setenv ffv_freeze off;"\
"if test ${reboot_mode} = factory_reset; then "\
"run recovery_from_flash;"\
"else if test ${reboot_mode} = update; then "\
"run update;"\
"else if test ${reboot_mode} = cold_boot; then "\
- /*"run try_auto_burn; "*/\
+ "echo cold boot: ffv_wake=${ffv_wake} powermode=${powermode} suspend=${suspend};"\
+ "if test ${ffv_wake} = on; then "\
+ "if test ${powermode} = on; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${powermode} = standby; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${powermode} = last; then "\
+ "if test ${suspend} = off; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${suspend} = on; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run ffv_freeze_action; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "else "\
+ "run cold_boot_normal_check;"\
+ "fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "run ffv_freeze_action; "\
+ "fi; "\
"else if test ${reboot_mode} = fastboot; then "\
"fastboot;"\
- "fi;fi;fi;fi;"\
+ "fi;fi;fi;fi;fi;"\
+ "\0" \
+ "reset_suspend="\
+ "if test ${ffv_freeze} != on; then "\
+ "if test ${suspend} = on || test ${suspend} = shutdown; then "\
+ "setenv ""suspend off"";"\
+ "saveenv;"\
+ "fi;"\
+ "fi;"\
"\0" \
"storeboot="\
"boot_cooling;"\
@@ -244,6 +322,32 @@
"init_display="\
"hdmitx hpd;osd open;osd clear;imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale;vout output ${outputmode}"\
"\0"\
+ "check_display="\
+ "if test ${reboot_mode} = cold_boot; then "\
+ "if test ${powermode} = standby; then "\
+ "echo not init_display; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ "run init_display; "\
+ "else if test ${suspend} = on; then "\
+ "echo not init_display; "\
+ "else if test ${suspend} = shutdown; then "\
+ "echo not init_display; "\
+ "fi; fi; fi; "\
+ "else "\
+ "run init_display; "\
+ "fi; fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "echo ffv reboot no display; "\
+ "else "\
+ "run init_display; "\
+ "fi; "\
+ "else "\
+ "run init_display; "\
+ "fi;fi; "\
+ "\0"\
"cmdline_keys="\
"if keyman init 0x1234; then "\
"if keyman read usid ${loadaddr} str; then "\
@@ -283,10 +387,12 @@
"run bcb_cmd; "\
"run factory_reset_poweroff_protect;"\
"run upgrade_check;"\
- "run init_display;"\
+ /* "run init_display;"\ */\
+ "run check_display;"\
"run storeargs;"\
"bcb uboot-command;"\
- "run switch_bootmode;"
+ "run switch_bootmode;"\
+ "run reset_suspend;"
#define CONFIG_BOOTCOMMAND "run storeboot"
diff --git a/board/amlogic/configs/tm2_t962x3_t312_v1.h b/board/amlogic/configs/tm2_t962x3_t312_v1.h
index 48821a3..e4f5ab1 100644
--- a/board/amlogic/configs/tm2_t962x3_t312_v1.h
+++ b/board/amlogic/configs/tm2_t962x3_t312_v1.h
@@ -123,7 +123,17 @@
"video_reverse=0\0"\
"active_slot=normal\0"\
"boot_part=boot\0"\
+ "suspend=off\0"\
"powermode=standby\0"\
+ "ffv_wake=off\0"\
+ "ffv_freeze=off\0"\
+ "edid_14_dir=/vendor/etc/tvconfig/hdmi/port_14.bin\0" \
+ "edid_20_dir=/vendor/etc/tvconfig/hdmi/port_20.bin\0" \
+ "edid_select=0\0" \
+ "port_map=0x4321\0" \
+ "cec_fun=0x2F\0" \
+ "logic_addr=0x0\0" \
+ "cec_ac_wakeup=0\0" \
"Irq_check_en=0\0"\
"fs_type=""rootfstype=ramfs""\0"\
"initargs="\
@@ -141,23 +151,84 @@
"setenv bootargs ${bootargs} androidboot.hardware=amlogic androidboot.bootloader=${bootloader_version} androidboot.build.expect.baseband=N/A;"\
"run cmdline_keys;"\
"\0"\
+ "cec_init="\
+ "echo cec_ac_wakeup=${cec_ac_wakeup}; "\
+ "if test ${cec_ac_wakeup} = 1; then "\
+ "cec ${logic_addr} ${cec_fun}; "\
+ "if test ${edid_select} = 1111; then "\
+ "hdmirx init ${port_map} ${edid_20_dir}; "\
+ "else "\
+ "hdmirx init ${port_map} ${edid_14_dir}; "\
+ "fi;"\
+ "fi;"\
+ "\0"\
+ "ffv_freeze_action="\
+ "run cec_init;"\
+ "setenv ffv_freeze on;"\
+ "setenv bootargs ${bootargs} ffv_freeze=on"\
+ "\0"\
+ "cold_boot_normal_check="\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ /*"run try_auto_burn;uboot wake up "*/\
+ "if test ${powermode} = on; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${powermode} = standby; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ /*"run try_auto_burn; "*/\
+ "else if test ${suspend} = on; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run cec_init;"\
+ "systemoff; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "\0"\
"switch_bootmode="\
"get_rebootmode;"\
+ "setenv ffv_freeze off;"\
"if test ${reboot_mode} = factory_reset; then "\
"run recovery_from_flash;"\
"else if test ${reboot_mode} = update; then "\
"run update;"\
"else if test ${reboot_mode} = cold_boot; then "\
- /*"run try_auto_burn;uboot wake up "*/\
- /*"echo powermode=${powermode}; "\
- "if test ${powermode} = standby; then "\
- "setMtkBT;systemoff; "\
- "else if test ${powermode} = on; then "\
- "run try_auto_burn; "\
- "fi; fi; "\*/\
+ "echo cold boot: ffv_wake=${ffv_wake} powermode=${powermode} suspend=${suspend};"\
+ "if test ${ffv_wake} = on; then "\
+ "if test ${powermode} = on; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${powermode} = standby; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${powermode} = last; then "\
+ "if test ${suspend} = off; then "\
+ "setenv bootargs ${bootargs} ffv_freeze=off; "\
+ "else if test ${suspend} = on; then "\
+ "run ffv_freeze_action; "\
+ "else if test ${suspend} = shutdown; then "\
+ "run ffv_freeze_action; "\
+ "fi; fi; fi; "\
+ "fi; fi; fi; "\
+ "else "\
+ "run cold_boot_normal_check;"\
+ "fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "run ffv_freeze_action; "\
+ "fi; "\
"else if test ${reboot_mode} = fastboot; then "\
"fastboot;"\
- "fi;fi;fi;fi;"\
+ "fi;fi;fi;fi;fi;"\
+ "\0" \
+ "reset_suspend="\
+ "if test ${ffv_freeze} != on; then "\
+ "if test ${suspend} = on || test ${suspend} = shutdown; then "\
+ "setenv ""suspend off"";"\
+ "saveenv;"\
+ "fi;"\
+ "fi;"\
"\0" \
"storeboot="\
"boot_cooling;"\
@@ -254,6 +325,32 @@
"init_display="\
"lcd enable;osd open;osd clear;imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale;vout output ${outputmode}"\
"\0"\
+ "check_display="\
+ "if test ${reboot_mode} = cold_boot; then "\
+ "if test ${powermode} = standby; then "\
+ "echo not init_display; "\
+ "else if test ${powermode} = last; then "\
+ "echo suspend=${suspend}; "\
+ "if test ${suspend} = off; then "\
+ "run init_display; "\
+ "else if test ${suspend} = on; then "\
+ "echo not init_display; "\
+ "else if test ${suspend} = shutdown; then "\
+ "echo not init_display; "\
+ "fi; fi; fi; "\
+ "else "\
+ "run init_display; "\
+ "fi; fi; "\
+ "else if test ${reboot_mode} = ffv_reboot; then "\
+ "if test ${ffv_wake} = on; then "\
+ "echo ffv reboot no display; "\
+ "else "\
+ "run init_display; "\
+ "fi; "\
+ "else "\
+ "run init_display; "\
+ "fi;fi; "\
+ "\0"\
"cmdline_keys="\
"if keyman init 0x1234; then "\
"if keyman read usid ${loadaddr} str; then "\
@@ -295,10 +392,12 @@
"run bcb_cmd; "\
"run factory_reset_poweroff_protect;"\
"run upgrade_check;"\
- "run init_display;"\
+ /* "run init_display;"\ */\
+ "run check_display;"\
"run storeargs;"\
"bcb uboot-command;"\
- "run switch_bootmode;"
+ "run switch_bootmode;"\
+ "run reset_suspend;"
#define CONFIG_BOOTCOMMAND "run storeboot"