1 /* SPDX-License-Identifier: GPL-2.0 */ 2 3 #ifndef __QCOM_SOCINFO_H__ 4 #define __QCOM_SOCINFO_H__ 5 6 /* 7 * SMEM item id, used to acquire handles to respective 8 * SMEM region. 9 */ 10 #define SMEM_HW_SW_BUILD_ID 137 11 12 #define SMEM_SOCINFO_BUILD_ID_LENGTH 32 13 #define SMEM_SOCINFO_CHIP_ID_LENGTH 32 14 15 /* Socinfo SMEM item structure */ 16 struct socinfo { 17 __le32 fmt; 18 __le32 id; 19 __le32 ver; 20 char build_id[SMEM_SOCINFO_BUILD_ID_LENGTH]; 21 /* Version 2 */ 22 __le32 raw_id; 23 __le32 raw_ver; 24 /* Version 3 */ 25 __le32 hw_plat; 26 /* Version 4 */ 27 __le32 plat_ver; 28 /* Version 5 */ 29 __le32 accessory_chip; 30 /* Version 6 */ 31 __le32 hw_plat_subtype; 32 /* Version 7 */ 33 __le32 pmic_model; 34 __le32 pmic_die_rev; 35 /* Version 8 */ 36 __le32 pmic_model_1; 37 __le32 pmic_die_rev_1; 38 __le32 pmic_model_2; 39 __le32 pmic_die_rev_2; 40 /* Version 9 */ 41 __le32 foundry_id; 42 /* Version 10 */ 43 __le32 serial_num; 44 /* Version 11 */ 45 __le32 num_pmics; 46 __le32 pmic_array_offset; 47 /* Version 12 */ 48 __le32 chip_family; 49 __le32 raw_device_family; 50 __le32 raw_device_num; 51 /* Version 13 */ 52 __le32 nproduct_id; 53 char chip_id[SMEM_SOCINFO_CHIP_ID_LENGTH]; 54 /* Version 14 */ 55 __le32 num_clusters; 56 __le32 ncluster_array_offset; 57 __le32 num_subset_parts; 58 __le32 nsubset_parts_array_offset; 59 /* Version 15 */ 60 __le32 nmodem_supported; 61 /* Version 16 */ 62 __le32 feature_code; 63 __le32 pcode; 64 __le32 npartnamemap_offset; 65 __le32 nnum_partname_mapping; 66 /* Version 17 */ 67 __le32 oem_variant; 68 /* Version 18 */ 69 __le32 num_kvps; 70 __le32 kvps_offset; 71 /* Version 19 */ 72 __le32 num_func_clusters; 73 __le32 boot_cluster; 74 __le32 boot_core; 75 }; 76 77 #endif 78