Merge "msm_shared: smem: Add support for new format of smem info"
diff --git a/platform/msm_shared/smem.h b/platform/msm_shared/smem.h
index 58ca387..7dfce1d 100755
--- a/platform/msm_shared/smem.h
+++ b/platform/msm_shared/smem.h
@@ -33,6 +33,10 @@
#include <sys/types.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
+
struct smem_proc_comm {
unsigned command;
unsigned status;
@@ -91,8 +95,18 @@
PMIC_IS_PM8038,
PMIC_IS_PM8922,
PMIC_IS_PM8917,
- PMIC_IS_INVALID = 0xffffffff,
-} pm_model_type;
+ PMIC_IS_INVALID = 0x7fffffff,
+} pm_model_type_afly;
+
+typedef enum
+{
+ PMIC_IS_UNKNOWN = 0,
+ PMIC_IS_PM8941 = 1,
+ PMIC_IS_PM8841 = 2,
+ PMIC_IS_PM8019 = 3,
+ PMIC_IS_PM8026 = 4,
+ PMIC_IS_PM8110 = 5,
+} pm_model_type_bfly;
struct smem_board_info_v3 {
unsigned format;
@@ -134,6 +148,24 @@
unsigned buffer_align; //Need for 8 bytes alignment while reading from shared memory.
};
+struct smem_pmic_info {
+ unsigned pmic_type;
+ unsigned pmic_version;
+};
+
+struct smem_board_info_v8 {
+ 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];
+ /*
+ * Need for 8 bytes alignment
+ * while reading from shared memory
+ */
+ unsigned buffer_align;
+};
+
typedef struct {
unsigned key_len;
unsigned iv_len;