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 */
16struct 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

source code of linux/include/linux/soc/qcom/socinfo.h