[PATCH v4 07/13] mach-snapdragon: Add PBL shared data defines
Varadarajan Narayanan
varadarajan.narayanan at oss.qualcomm.com
Thu Jun 4 11:31:26 CEST 2026
Add structure and enum definitions to be able to parse the information
that is passed from boot ROM. This will be used to identify the boot
medium.
Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan at oss.qualcomm.com>
---
arch/arm/mach-snapdragon/qcom-priv.h | 52 ++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/arch/arm/mach-snapdragon/qcom-priv.h b/arch/arm/mach-snapdragon/qcom-priv.h
index b8bf574e8bb..8ebdcadc2ca 100644
--- a/arch/arm/mach-snapdragon/qcom-priv.h
+++ b/arch/arm/mach-snapdragon/qcom-priv.h
@@ -23,4 +23,56 @@ void qcom_configure_capsule_updates(void);
void qcom_configure_capsule_updates(void) {}
#endif /* EFI_HAVE_CAPSULE_SUPPORT */
+enum pbl_shared_data_param_id {
+ PSD_ID_PBL_FW_VERSION = 0x0, /* PBL firmware version */
+ PSD_ID_PBL_PATCH_VERSION = 0x1, /* Patch version */
+ PSD_ID_RMB_MBOX_BASE_ADDR = 0x2, /* Not used */
+ PSD_ID_CPU_BOOT_SPEED_HZ = 0x3, /* CPU boot speed (Hz) */
+ PSD_ID_BOOT_MEDIA_TYPE = 0x4, /* Boot media type */
+ PSD_ID_IS_EDL_MODE = 0x5, /* Emergency Download mode */
+ PSD_ID_DEV_PROG_ELF_ENTRY_ADDR = 0x6, /* Not used */
+ PSD_ID_XBL_CONFIG_ELF_ENTRY_ADDR = 0x7, /* Not used */
+ PSD_ID_XBL_SC_EXT_ELF_ENTRY_ADDR = 0x8, /* Not used */
+ PSD_ID_PBL_TIMESTAMPS_BUFFER_ADDR = 0x9, /* PBL logs address */
+ PSD_ID_PBL_TIMESTAMPS_BUFFER_SIZE = 0xa, /* PBL log size */
+ PSD_ID_PBL_DEBUG_SHARED_INFO_ADDR = 0xb, /* Debug info address */
+ PSD_ID_PBL_DEBUG_SHARED_INFO_SIZE = 0xc, /* Debug info size */
+ PSD_ID_TME_CPU_PBL_ROM_BYPASS_FUSE = 0xd, /* Secure boot status */
+ PSD_ID_XBL_SC_DEBUG_LOG_ADDR = 0xe, /* XBL SC debug log address */
+ PSD_ID_XBL_SC_DEBUG_LOG_SIZE = 0xf, /* XBL SC debug log size */
+ PSD_ID_CURRENT_IMAGE_SET = 0x10, /* Booted image set */
+ PSD_ID_MEDIA_DATA_INFO_ADDR = 0x11, /* Media info pointer */
+ PSD_ID_MEDIA_DATA_INFO_SIZE = 0x12, /* Media info size */
+ PBL_SHARED_DATA_PARAM_MAX,
+ PBL_SHARED_DATA_PARAM_SIZE = 0xffffffffu, /* to force 32 bits */
+};
+
+enum pbl_boot_flash_type {
+ PSD_NO_FLASH = 0,
+ PSD_NOR_FLASH = 1,
+ PSD_NAND_FLASH = 2,
+ PSD_ONENAND_FLASH = 3,
+ PSD_SDC_FLASH = 4,
+ PSD_MMC_FLASH = 5,
+ PSD_SPI_FLASH = 6,
+ PSD_PCIE_FLASH = 7,
+ PSD_UFS_FLASH = 8,
+ PSD_RSVD_1_FLASH = 9,
+ PSD_USB_FLASH = 10,
+ PSD_SPI_NAND_FLASH = 11,
+ PSD_SPI_FLASH_GPT = 12,
+};
+
+struct pbl_shared_data_entry {
+ u32 param_id;
+ ulong value;
+ bool valid;
+};
+
+struct pbl_shared_data {
+ u32 version;
+ u32 num_of_entries;
+ struct pbl_shared_data_entry entry[PBL_SHARED_DATA_PARAM_MAX];
+};
+
#endif /* __QCOM_PRIV_H__ */
--
2.34.1
More information about the U-Boot
mailing list