summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/amd/cezanne/psp_verstage/chipset.c8
-rw-r--r--src/soc/amd/common/psp_verstage/include/psp_verstage.h1
-rw-r--r--src/soc/amd/common/psp_verstage/psp_verstage.c2
-rw-r--r--src/soc/amd/picasso/psp_verstage/chipset.c6
4 files changed, 17 insertions, 0 deletions
diff --git a/src/soc/amd/cezanne/psp_verstage/chipset.c b/src/soc/amd/cezanne/psp_verstage/chipset.c
index 183f1169cd..30f613a492 100644
--- a/src/soc/amd/cezanne/psp_verstage/chipset.c
+++ b/src/soc/amd/cezanne/psp_verstage/chipset.c
@@ -33,6 +33,14 @@ int platform_set_sha_op(enum vb2_hash_algorithm hash_alg,
return 0;
}
+void platform_report_mode(int developer_mode_enabled)
+{
+ if (developer_mode_enabled)
+ svc_set_platform_boot_mode(CHROME_BOOK_BOOT_MODE_DEVELOPER);
+ else
+ svc_set_platform_boot_mode(CHROME_BOOK_BOOT_MODE_PRODUCTION);
+}
+
/* Functions below are stub functions for not-yet-implemented PSP features.
* These functions should be replaced with proper implementations later.
diff --git a/src/soc/amd/common/psp_verstage/include/psp_verstage.h b/src/soc/amd/common/psp_verstage/include/psp_verstage.h
index 606b6a69cd..2e3b12fd31 100644
--- a/src/soc/amd/common/psp_verstage/include/psp_verstage.h
+++ b/src/soc/amd/common/psp_verstage/include/psp_verstage.h
@@ -65,5 +65,6 @@ uint32_t save_uapp_data(void *address, uint32_t size);
uint32_t get_bios_dir_addr(struct embedded_firmware *ef_table);
int platform_set_sha_op(enum vb2_hash_algorithm hash_alg,
struct sha_generic_data *sha_op);
+void platform_report_mode(int developer_mode_enabled);
#endif /* PSP_VERSTAGE_H */
diff --git a/src/soc/amd/common/psp_verstage/psp_verstage.c b/src/soc/amd/common/psp_verstage/psp_verstage.c
index 05c14d6808..9f347009a2 100644
--- a/src/soc/amd/common/psp_verstage/psp_verstage.c
+++ b/src/soc/amd/common/psp_verstage/psp_verstage.c
@@ -314,6 +314,8 @@ void Main(void)
if (retval)
reboot_into_recovery(ctx, retval);
+ platform_report_mode(vboot_developer_mode_enabled());
+
post_code(POSTCODE_UPDATE_BOOT_REGION);
/*
diff --git a/src/soc/amd/picasso/psp_verstage/chipset.c b/src/soc/amd/picasso/psp_verstage/chipset.c
index 9577a5b632..4bdb873b17 100644
--- a/src/soc/amd/picasso/psp_verstage/chipset.c
+++ b/src/soc/amd/picasso/psp_verstage/chipset.c
@@ -38,3 +38,9 @@ int platform_set_sha_op(enum vb2_hash_algorithm hash_alg,
}
return 0;
}
+
+void platform_report_mode(int developer_mode_enabled)
+{
+ /* Picasso PSP doesn't support this */
+ (void)developer_mode_enabled;
+}