1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* Copyright (c) 2022 Linaro. All rights reserved. |
3 | * Author: Caleb Connolly <caleb.connolly@linaro.org> |
4 | */ |
5 | |
6 | #ifndef __QCOM_SPMI_PMIC_H__ |
7 | #define __QCOM_SPMI_PMIC_H__ |
8 | |
9 | #include <linux/device.h> |
10 | |
11 | #define COMMON_SUBTYPE 0x00 |
12 | #define PM8941_SUBTYPE 0x01 |
13 | #define PM8841_SUBTYPE 0x02 |
14 | #define PM8019_SUBTYPE 0x03 |
15 | #define PM8226_SUBTYPE 0x04 |
16 | #define PM8110_SUBTYPE 0x05 |
17 | #define PMA8084_SUBTYPE 0x06 |
18 | #define PMI8962_SUBTYPE 0x07 |
19 | #define PMD9635_SUBTYPE 0x08 |
20 | #define PM8994_SUBTYPE 0x09 |
21 | #define PMI8994_SUBTYPE 0x0a |
22 | #define PM8916_SUBTYPE 0x0b |
23 | #define PM8004_SUBTYPE 0x0c |
24 | #define PM8909_SUBTYPE 0x0d |
25 | #define PM8028_SUBTYPE 0x0e |
26 | #define PM8901_SUBTYPE 0x0f |
27 | #define PM8950_SUBTYPE 0x10 |
28 | #define PMI8950_SUBTYPE 0x11 |
29 | #define PMK8001_SUBTYPE 0x12 |
30 | #define PMI8996_SUBTYPE 0x13 |
31 | #define PM8998_SUBTYPE 0x14 |
32 | #define PMI8998_SUBTYPE 0x15 |
33 | #define PM8005_SUBTYPE 0x18 |
34 | #define PM8937_SUBTYPE 0x19 |
35 | #define PM660L_SUBTYPE 0x1a |
36 | #define PM660_SUBTYPE 0x1b |
37 | #define PM8150_SUBTYPE 0x1e |
38 | #define PM8150L_SUBTYPE 0x1f |
39 | #define PM8150B_SUBTYPE 0x20 |
40 | #define PMK8002_SUBTYPE 0x21 |
41 | #define PM8009_SUBTYPE 0x24 |
42 | #define PMI632_SUBTYPE 0x25 |
43 | #define PM8150C_SUBTYPE 0x26 |
44 | #define PM6150_SUBTYPE 0x28 |
45 | #define SMB2351_SUBTYPE 0x29 |
46 | #define PM8008_SUBTYPE 0x2c |
47 | #define PM6125_SUBTYPE 0x2d |
48 | #define PM7250B_SUBTYPE 0x2e |
49 | #define PMK8350_SUBTYPE 0x2f |
50 | #define PMR735B_SUBTYPE 0x34 |
51 | #define PM6350_SUBTYPE 0x36 |
52 | #define PM4125_SUBTYPE 0x37 |
53 | |
54 | #define PMI8998_FAB_ID_SMIC 0x11 |
55 | #define PMI8998_FAB_ID_GF 0x30 |
56 | |
57 | #define PM660_FAB_ID_GF 0x0 |
58 | #define PM660_FAB_ID_TSMC 0x2 |
59 | #define PM660_FAB_ID_MX 0x3 |
60 | |
61 | struct qcom_spmi_pmic { |
62 | unsigned int type; |
63 | unsigned int subtype; |
64 | unsigned int major; |
65 | unsigned int minor; |
66 | unsigned int rev2; |
67 | unsigned int fab_id; |
68 | const char *name; |
69 | }; |
70 | |
71 | const struct qcom_spmi_pmic *qcom_pmic_get(struct device *dev); |
72 | |
73 | #endif /* __QCOM_SPMI_PMIC_H__ */ |
74 | |