Source
32
32
#define PM8226_SUBTYPE 0x04
33
33
#define PM8110_SUBTYPE 0x05
34
34
#define PMA8084_SUBTYPE 0x06
35
35
#define PMI8962_SUBTYPE 0x07
36
36
#define PMD9635_SUBTYPE 0x08
37
37
#define PM8994_SUBTYPE 0x09
38
38
#define PMI8994_SUBTYPE 0x0a
39
39
#define PM8916_SUBTYPE 0x0b
40
40
#define PM8004_SUBTYPE 0x0c
41
41
#define PM8909_SUBTYPE 0x0d
42
+
#define PM8998_SUBTYPE 0x14
43
+
#define PMI8998_SUBTYPE 0x15
44
+
#define PM8005_SUBTYPE 0x18
42
45
43
46
static const struct of_device_id pmic_spmi_id_table[] = {
44
47
{ .compatible = "qcom,spmi-pmic", .data = (void *)COMMON_SUBTYPE },
45
48
{ .compatible = "qcom,pm8941", .data = (void *)PM8941_SUBTYPE },
46
49
{ .compatible = "qcom,pm8841", .data = (void *)PM8841_SUBTYPE },
47
50
{ .compatible = "qcom,pm8019", .data = (void *)PM8019_SUBTYPE },
48
51
{ .compatible = "qcom,pm8226", .data = (void *)PM8226_SUBTYPE },
49
52
{ .compatible = "qcom,pm8110", .data = (void *)PM8110_SUBTYPE },
50
53
{ .compatible = "qcom,pma8084", .data = (void *)PMA8084_SUBTYPE },
51
54
{ .compatible = "qcom,pmi8962", .data = (void *)PMI8962_SUBTYPE },
52
55
{ .compatible = "qcom,pmd9635", .data = (void *)PMD9635_SUBTYPE },
53
56
{ .compatible = "qcom,pm8994", .data = (void *)PM8994_SUBTYPE },
54
57
{ .compatible = "qcom,pmi8994", .data = (void *)PMI8994_SUBTYPE },
55
58
{ .compatible = "qcom,pm8916", .data = (void *)PM8916_SUBTYPE },
56
59
{ .compatible = "qcom,pm8004", .data = (void *)PM8004_SUBTYPE },
57
60
{ .compatible = "qcom,pm8909", .data = (void *)PM8909_SUBTYPE },
61
+
{ .compatible = "qcom,pm8998", .data = (void *)PM8998_SUBTYPE },
62
+
{ .compatible = "qcom,pmi8998", .data = (void *)PMI8998_SUBTYPE },
63
+
{ .compatible = "qcom,pm8005", .data = (void *)PM8005_SUBTYPE },
58
64
{ }
59
65
};
60
66
61
67
static void pmic_spmi_show_revid(struct regmap *map, struct device *dev)
62
68
{
63
69
unsigned int rev2, minor, major, type, subtype;
64
70
const char *name = "unknown";
65
71
int ret, i;
66
72
67
73
ret = regmap_read(map, PMIC_TYPE, &type);