Commit bbfb635f6e4fddb14c068e04665d4629cd1e3297

Authored by BJ DevOps Team
Exists in emb_lf_v2022.04

Merge remote-tracking branch 'origin/imx_v2022.04' into lf_v2022.04

* origin/imx_v2022.04:
  MA-20814 add fastboot command to erase u-boot env

Showing 51 changed files Side-by-side Diff

configs/imx8mm_ddr4_evk_android_defconfig
... ... @@ -170,4 +170,5 @@
170 170 CONFIG_VIRTUAL_AB_SUPPORT=y
171 171 CONFIG_ANDROID_SUPPORT=y
172 172 CONFIG_ANDROID_AB_SUPPORT=y
  173 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_ddr4_evk_android_uuu_defconfig
... ... @@ -165,4 +165,5 @@
165 165 CONFIG_ANDROID_SUPPORT=y
166 166 CONFIG_ANDROID_AB_SUPPORT=y
167 167 CONFIG_CMD_BOOTA=n
  168 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_evk_1g_ddr_android_defconfig
... ... @@ -204,4 +204,5 @@
204 204 CONFIG_AVB_WARNING_LOGO_ROWS=0xc0
205 205 CONFIG_VIRTUAL_AB_SUPPORT=y
206 206 CONFIG_IMX8M_1G_MEMORY=y
  207 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_evk_4g_android_defconfig
... ... @@ -204,4 +204,5 @@
204 204 CONFIG_AVB_WARNING_LOGO_ROWS=0xc0
205 205 CONFIG_VIRTUAL_AB_SUPPORT=y
206 206 CONFIG_IMX8M_4G_LPDDR4=y
  207 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_evk_4g_android_trusty_defconfig
... ... @@ -210,4 +210,5 @@
210 210 CONFIG_ATTESTATION_ID_PRODUCT="evk_8mm"
211 211 CONFIG_ATTESTATION_ID_MANUFACTURER="nxp"
212 212 CONFIG_ATTESTATION_ID_MODEL="EVK_8MM"
  213 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_evk_4g_android_uuu_defconfig
... ... @@ -199,4 +199,5 @@
199 199 CONFIG_ANDROID_AB_SUPPORT=y
200 200 CONFIG_CMD_BOOTA=n
201 201 CONFIG_IMX8M_4G_LPDDR4=y
  202 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_evk_android_defconfig
... ... @@ -203,4 +203,5 @@
203 203 CONFIG_AVB_WARNING_LOGO_COLS=0x320
204 204 CONFIG_AVB_WARNING_LOGO_ROWS=0xc0
205 205 CONFIG_VIRTUAL_AB_SUPPORT=y
  206 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_evk_android_dual_defconfig
... ... @@ -204,4 +204,5 @@
204 204 CONFIG_AVB_WARNING_LOGO_ROWS=0xc0
205 205 CONFIG_VIRTUAL_AB_SUPPORT=y
206 206 CONFIG_DUAL_BOOTLOADER=y
  207 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_evk_android_trusty_defconfig
... ... @@ -209,4 +209,5 @@
209 209 CONFIG_ATTESTATION_ID_PRODUCT="evk_8mm"
210 210 CONFIG_ATTESTATION_ID_MANUFACTURER="nxp"
211 211 CONFIG_ATTESTATION_ID_MODEL="EVK_8MM"
  212 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_evk_android_trusty_dual_defconfig
... ... @@ -210,4 +210,5 @@
210 210 CONFIG_ATTESTATION_ID_MANUFACTURER="nxp"
211 211 CONFIG_ATTESTATION_ID_MODEL="EVK_8MM"
212 212 CONFIG_DUAL_BOOTLOADER=y
  213 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_evk_android_trusty_secure_unlock_dual_defconfig
... ... @@ -212,4 +212,5 @@
212 212 CONFIG_DUAL_BOOTLOADER=y
213 213 CONFIG_SECURE_UNLOCK=y
214 214 CONFIG_IMX_HAB=y
  215 +CONFIG_CMD_ERASEENV=y
configs/imx8mm_evk_android_uuu_defconfig
... ... @@ -198,4 +198,5 @@
198 198 CONFIG_ANDROID_SUPPORT=y
199 199 CONFIG_ANDROID_AB_SUPPORT=y
200 200 CONFIG_CMD_BOOTA=n
  201 +CONFIG_CMD_ERASEENV=y
configs/imx8mq_evk_android_defconfig
... ... @@ -167,4 +167,5 @@
167 167 CONFIG_VIRTUAL_AB_SUPPORT=y
168 168 CONFIG_ANDROID_SUPPORT=y
169 169 CONFIG_ANDROID_AB_SUPPORT=y
  170 +CONFIG_CMD_ERASEENV=y
configs/imx8mq_evk_android_dual_defconfig
... ... @@ -168,4 +168,5 @@
168 168 CONFIG_ANDROID_SUPPORT=y
169 169 CONFIG_ANDROID_AB_SUPPORT=y
170 170 CONFIG_DUAL_BOOTLOADER=y
  171 +CONFIG_CMD_ERASEENV=y
configs/imx8mq_evk_android_trusty_defconfig
... ... @@ -173,4 +173,5 @@
173 173 CONFIG_ATTESTATION_ID_PRODUCT="evk_8mq"
174 174 CONFIG_ATTESTATION_ID_MANUFACTURER="nxp"
175 175 CONFIG_ATTESTATION_ID_MODEL="EVK_8MQ"
  176 +CONFIG_CMD_ERASEENV=y
configs/imx8mq_evk_android_trusty_dual_defconfig
... ... @@ -172,4 +172,5 @@
172 172 CONFIG_ATTESTATION_ID_MANUFACTURER="nxp"
173 173 CONFIG_ATTESTATION_ID_MODEL="EVK_8MQ"
174 174 CONFIG_DUAL_BOOTLOADER=y
  175 +CONFIG_CMD_ERASEENV=y
configs/imx8mq_evk_android_trusty_secure_unlock_dual_defconfig
... ... @@ -176,4 +176,5 @@
176 176 CONFIG_DUAL_BOOTLOADER=y
177 177 CONFIG_SECURE_UNLOCK=y
178 178 CONFIG_IMX_HAB=y
  179 +CONFIG_CMD_ERASEENV=y
configs/imx8mq_evk_android_uuu_defconfig
... ... @@ -161,4 +161,5 @@
161 161 CONFIG_ANDROID_SUPPORT=y
162 162 CONFIG_ANDROID_AB_SUPPORT=y
163 163 CONFIG_CMD_BOOTA=n
  164 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_android_defconfig
... ... @@ -206,4 +206,5 @@
206 206 CONFIG_VIRTUAL_AB_SUPPORT=y
207 207 CONFIG_ANDROID_SUPPORT=y
208 208 CONFIG_ANDROID_AB_SUPPORT=y
  209 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_android_dual_defconfig
... ... @@ -207,4 +207,5 @@
207 207 CONFIG_ANDROID_SUPPORT=y
208 208 CONFIG_ANDROID_AB_SUPPORT=y
209 209 CONFIG_DUAL_BOOTLOADER=y
  210 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_android_hdmi_defconfig
... ... @@ -208,4 +208,5 @@
208 208 CONFIG_ANDROID_AB_SUPPORT=y
209 209 CONFIG_IMX_LOAD_HDMI_FIMRWARE_TX=y
210 210 CONFIG_IMX_LOAD_HDMI_FIMRWARE_RX=y
  211 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_android_trusty_defconfig
... ... @@ -213,4 +213,5 @@
213 213 CONFIG_ATTESTATION_ID_MANUFACTURER="nxp"
214 214 CONFIG_ATTESTATION_ID_MODEL="MEK-MX8Q"
215 215 CONFIG_SHA256=y
  216 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_android_trusty_dual_defconfig
... ... @@ -214,4 +214,5 @@
214 214 CONFIG_ATTESTATION_ID_MODEL="MEK-MX8Q"
215 215 CONFIG_SHA256=y
216 216 CONFIG_DUAL_BOOTLOADER=y
  217 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_android_trusty_secure_unlock_dual_defconfig
... ... @@ -216,4 +216,5 @@
216 216 CONFIG_DUAL_BOOTLOADER=y
217 217 CONFIG_SECURE_UNLOCK=y
218 218 CONFIG_AHAB_BOOT=y
  219 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_android_uuu_defconfig
... ... @@ -200,4 +200,5 @@
200 200 CONFIG_ANDROID_SUPPORT=y
201 201 CONFIG_ANDROID_AB_SUPPORT=y
202 202 CONFIG_CMD_BOOTA=n
  203 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_androidauto2_trusty_defconfig
... ... @@ -211,4 +211,5 @@
211 211 CONFIG_ATTESTATION_ID_MODEL="MEK-MX8Q"
212 212 CONFIG_ANDROID_AUTO_SUPPORT=y
213 213 CONFIG_LOAD_KEY_FROM_RPMB=n
  214 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_androidauto2_trusty_md_defconfig
... ... @@ -212,4 +212,5 @@
212 212 CONFIG_ANDROID_AUTO_SUPPORT=y
213 213 CONFIG_LOAD_KEY_FROM_RPMB=n
214 214 CONFIG_IMX_LOAD_HDMI_FIMRWARE_TX=y
  215 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_androidauto_trusty_defconfig
... ... @@ -210,4 +210,5 @@
210 210 CONFIG_ATTESTATION_ID_MANUFACTURER="nxp"
211 211 CONFIG_ATTESTATION_ID_MODEL="MEK-MX8Q"
212 212 CONFIG_ANDROID_AUTO_SUPPORT=y
  213 +CONFIG_CMD_ERASEENV=y
configs/imx8qm_mek_androidauto_trusty_secure_unlock_defconfig
... ... @@ -212,4 +212,5 @@
212 212 CONFIG_ANDROID_AUTO_SUPPORT=y
213 213 CONFIG_SECURE_UNLOCK=y
214 214 CONFIG_AHAB_BOOT=y
  215 +CONFIG_CMD_ERASEENV=y
configs/imx8qxp_mek_android_defconfig
... ... @@ -204,4 +204,5 @@
204 204 CONFIG_VIRTUAL_AB_SUPPORT=y
205 205 CONFIG_ANDROID_SUPPORT=y
206 206 CONFIG_ANDROID_AB_SUPPORT=y
  207 +CONFIG_CMD_ERASEENV=y
configs/imx8qxp_mek_android_dual_defconfig
... ... @@ -205,4 +205,5 @@
205 205 CONFIG_ANDROID_SUPPORT=y
206 206 CONFIG_ANDROID_AB_SUPPORT=y
207 207 CONFIG_DUAL_BOOTLOADER=y
  208 +CONFIG_CMD_ERASEENV=y
configs/imx8qxp_mek_android_trusty_dual_defconfig
... ... @@ -212,4 +212,5 @@
212 212 CONFIG_ATTESTATION_ID_MANUFACTURER="nxp"
213 213 CONFIG_ATTESTATION_ID_MODEL="MEK-MX8Q"
214 214 CONFIG_DUAL_BOOTLOADER=y
  215 +CONFIG_CMD_ERASEENV=y
configs/imx8qxp_mek_android_trusty_secure_unlock_dual_defconfig
... ... @@ -214,4 +214,5 @@
214 214 CONFIG_DUAL_BOOTLOADER=y
215 215 CONFIG_SECURE_UNLOCK=y
216 216 CONFIG_AHAB_BOOT=y
  217 +CONFIG_CMD_ERASEENV=y
configs/imx8qxp_mek_android_uuu_defconfig
... ... @@ -198,4 +198,5 @@
198 198 CONFIG_ANDROID_SUPPORT=y
199 199 CONFIG_ANDROID_AB_SUPPORT=y
200 200 CONFIG_CMD_BOOTA=n
  201 +CONFIG_CMD_ERASEENV=y
configs/imx8qxp_mek_androidauto2_trusty_defconfig
... ... @@ -210,4 +210,5 @@
210 210 CONFIG_ATTESTATION_ID_MODEL="MEK-MX8Q"
211 211 CONFIG_ANDROID_AUTO_SUPPORT=y
212 212 CONFIG_LOAD_KEY_FROM_RPMB=n
  213 +CONFIG_CMD_ERASEENV=y
configs/imx8qxp_mek_androidauto_trusty_defconfig
... ... @@ -209,4 +209,5 @@
209 209 CONFIG_ATTESTATION_ID_MANUFACTURER="nxp"
210 210 CONFIG_ATTESTATION_ID_MODEL="MEK-MX8Q"
211 211 CONFIG_ANDROID_AUTO_SUPPORT=y
  212 +CONFIG_CMD_ERASEENV=y
configs/imx8qxp_mek_androidauto_trusty_secure_unlock_defconfig
... ... @@ -211,4 +211,5 @@
211 211 CONFIG_ANDROID_AUTO_SUPPORT=y
212 212 CONFIG_SECURE_UNLOCK=y
213 213 CONFIG_AHAB_BOOT=y
  214 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_9x9_evk_android_defconfig
... ... @@ -150,4 +150,5 @@
150 150 CONFIG_AVB_WARNING_LOGO_ROWS=0xC0
151 151 CONFIG_AHAB_BOOT=y
152 152 CONFIG_LMB_MAX_REGIONS=9
  153 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_9x9_evk_android_trusty_dual_defconfig
... ... @@ -157,4 +157,5 @@
157 157 CONFIG_DUAL_BOOTLOADER=y
158 158 CONFIG_AHAB_BOOT=y
159 159 CONFIG_LMB_MAX_REGIONS=9
  160 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_9x9_evk_android_uuu_defconfig
... ... @@ -144,4 +144,5 @@
144 144 CONFIG_ANDROID_AB_SUPPORT=y
145 145 CONFIG_CMD_BOOTA=n
146 146 CONFIG_AHAB_BOOT=y
  147 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_evk_android_defconfig
... ... @@ -150,4 +150,5 @@
150 150 CONFIG_AVB_WARNING_LOGO_ROWS=0xC0
151 151 CONFIG_AHAB_BOOT=y
152 152 CONFIG_LMB_MAX_REGIONS=9
  153 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_evk_android_dual_defconfig
... ... @@ -151,4 +151,5 @@
151 151 CONFIG_DUAL_BOOTLOADER=y
152 152 CONFIG_AHAB_BOOT=y
153 153 CONFIG_LMB_MAX_REGIONS=9
  154 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_evk_android_trusty_defconfig
... ... @@ -156,4 +156,5 @@
156 156 CONFIG_ATTESTATION_ID_MODEL="EVK_8ULP"
157 157 CONFIG_AHAB_BOOT=y
158 158 CONFIG_LMB_MAX_REGIONS=9
  159 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_evk_android_trusty_dual_defconfig
... ... @@ -157,4 +157,5 @@
157 157 CONFIG_DUAL_BOOTLOADER=y
158 158 CONFIG_AHAB_BOOT=y
159 159 CONFIG_LMB_MAX_REGIONS=9
  160 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_evk_android_trusty_secure_unlock_dual_defconfig
... ... @@ -158,4 +158,5 @@
158 158 CONFIG_SECURE_UNLOCK=y
159 159 CONFIG_AHAB_BOOT=y
160 160 CONFIG_LMB_MAX_REGIONS=9
  161 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_evk_android_uuu_defconfig
... ... @@ -144,4 +144,5 @@
144 144 CONFIG_ANDROID_AB_SUPPORT=y
145 145 CONFIG_CMD_BOOTA=n
146 146 CONFIG_AHAB_BOOT=y
  147 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_watch_android_defconfig
... ... @@ -137,4 +137,5 @@
137 137 CONFIG_AVB_WARNING_LOGO_COLS=0xC8
138 138 CONFIG_AVB_WARNING_LOGO_ROWS=0xC0
139 139 CONFIG_LMB_MAX_REGIONS=9
  140 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_watch_android_dual_defconfig
... ... @@ -138,4 +138,5 @@
138 138 CONFIG_AVB_WARNING_LOGO_ROWS=0xC0
139 139 CONFIG_DUAL_BOOTLOADER=y
140 140 CONFIG_LMB_MAX_REGIONS=9
  141 +CONFIG_CMD_ERASEENV=y
configs/imx8ulp_watch_android_uuu_defconfig
... ... @@ -131,4 +131,5 @@
131 131 CONFIG_ANDROID_SUPPORT=y
132 132 CONFIG_ANDROID_AB_SUPPORT=y
133 133 CONFIG_CMD_BOOTA=n
  134 +CONFIG_CMD_ERASEENV=y
drivers/fastboot/fb_fsl/fb_fsl_command.c
... ... @@ -472,6 +472,16 @@
472 472 return true;
473 473 }
474 474  
  475 +static bool erase_uboot_env(void) {
  476 + FbLockState status;
  477 + status = fastboot_get_lock_stat();
  478 + if (status == FASTBOOT_LOCK) {
  479 + printf("can not erase env when device is in locked state\n");
  480 + return false;
  481 + } else
  482 + return env_erase() ? false : true;
  483 +}
  484 +
475 485 static void flashing(char *cmd, char *response)
476 486 {
477 487 FbLockState status;
... ... @@ -726,7 +736,14 @@
726 736 }
727 737 #endif /* !CONFIG_AVB_ATX */
728 738 #endif /* CONFIG_IMX_TRUSTY_OS */
729   - else if (endswith(cmd, "unlock_critical")) {
  739 + else if (endswith(cmd, ERASE_UBOOT_ENV)) {
  740 + if(erase_uboot_env())
  741 + strcpy(response, "OKAY");
  742 + else {
  743 + printf("ERROR erase uboot environment variable failed!");
  744 + strcpy(response, "FAILerase uboot environment variable failed!");
  745 + }
  746 + } else if (endswith(cmd, "unlock_critical")) {
730 747 strcpy(response, "OKAY");
731 748 } else if (endswith(cmd, "unlock")) {
732 749 printf("flashing unlock.\n");
... ... @@ -51,6 +51,7 @@
51 51 #endif
52 52  
53 53 #define FASTBOOT_PARTITION_METADATA "metadata"
  54 +#define ERASE_UBOOT_ENV "erase_uboot_env"
54 55  
55 56 #ifdef CONFIG_ANDROID_AB_SUPPORT
56 57 #define FASTBOOT_PARTITION_BOOT_A "boot_a"