platform: msm_shared: Add support for smem v11
Add support for smem v11
Change-Id: Id9af92220695a0efb3bf6c4f80f5b8eaa91ee3c7
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index ceb25e6..5067b8a 100644
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -33,10 +33,13 @@
#include <sys/types.h>
#include <platform.h>
+#include <malloc.h>
+#include <string.h>
#define SMEM_V7_SMEM_MAX_PMIC_DEVICES 1
#define SMEM_V8_SMEM_MAX_PMIC_DEVICES 3
-#define SMEM_MAX_PMIC_DEVICES SMEM_V8_SMEM_MAX_PMIC_DEVICES
+#define SMEM_V11_SMEM_MAX_PMIC_DEVICES 4 // this is the max that device tree currently supports
+#define SMEM_MAX_PMIC_DEVICES SMEM_V11_SMEM_MAX_PMIC_DEVICES
#define SMEM_RAM_PTABLE_VERSION_OFFSET 8
@@ -207,6 +210,18 @@
uint32_t chip_serial; /* Used as serial number for v10 */
};
+struct smem_board_info_v11 {
+ struct smem_board_info_v3 board_info_v3;
+ unsigned platform_version;
+ unsigned fused_chip;
+ unsigned platform_subtype;
+ struct smem_pmic_info pmic_info[SMEM_V8_SMEM_MAX_PMIC_DEVICES]; // Depreciated
+ uint32_t foundry_id; /* Used as foundry_id only for v9 */
+ uint32_t chip_serial; /* Used as serial number for v10 */
+ uint32_t num_pmics; /* Number of pmics in array */
+ uint32_t pmic_array_offset; /* Offset from base of structure to array of pmic info types */
+};
+
typedef struct {
unsigned key_len;
unsigned iv_len;