@@ -118,6 +118,50 @@ static const struct regmap_access_table da9063_bb_volatile_table = {
118
118
.n_yes_ranges = ARRAY_SIZE (da9063_bb_volatile_ranges ),
119
119
};
120
120
121
+ static const struct regmap_range da9063l_bb_readable_ranges [] = {
122
+ regmap_reg_range (DA9063_REG_PAGE_CON , DA9063_REG_MON_A10_RES ),
123
+ regmap_reg_range (DA9063_REG_SEQ , DA9063_REG_ID_32_31 ),
124
+ regmap_reg_range (DA9063_REG_SEQ_A , DA9063_REG_AUTO3_LOW ),
125
+ regmap_reg_range (DA9063_REG_T_OFFSET , DA9063_BB_REG_GP_ID_19 ),
126
+ regmap_reg_range (DA9063_REG_CHIP_ID , DA9063_REG_CHIP_VARIANT ),
127
+ };
128
+
129
+ static const struct regmap_range da9063l_bb_writeable_ranges [] = {
130
+ regmap_reg_range (DA9063_REG_PAGE_CON , DA9063_REG_PAGE_CON ),
131
+ regmap_reg_range (DA9063_REG_FAULT_LOG , DA9063_REG_VSYS_MON ),
132
+ regmap_reg_range (DA9063_REG_SEQ , DA9063_REG_ID_32_31 ),
133
+ regmap_reg_range (DA9063_REG_SEQ_A , DA9063_REG_AUTO3_LOW ),
134
+ regmap_reg_range (DA9063_REG_CONFIG_I , DA9063_BB_REG_MON_REG_4 ),
135
+ regmap_reg_range (DA9063_BB_REG_GP_ID_0 , DA9063_BB_REG_GP_ID_19 ),
136
+ };
137
+
138
+ static const struct regmap_range da9063l_bb_volatile_ranges [] = {
139
+ regmap_reg_range (DA9063_REG_PAGE_CON , DA9063_REG_EVENT_D ),
140
+ regmap_reg_range (DA9063_REG_CONTROL_A , DA9063_REG_CONTROL_B ),
141
+ regmap_reg_range (DA9063_REG_CONTROL_E , DA9063_REG_CONTROL_F ),
142
+ regmap_reg_range (DA9063_REG_BCORE2_CONT , DA9063_REG_LDO11_CONT ),
143
+ regmap_reg_range (DA9063_REG_DVC_1 , DA9063_REG_ADC_MAN ),
144
+ regmap_reg_range (DA9063_REG_ADC_RES_L , DA9063_REG_MON_A10_RES ),
145
+ regmap_reg_range (DA9063_REG_SEQ , DA9063_REG_SEQ ),
146
+ regmap_reg_range (DA9063_REG_EN_32K , DA9063_REG_EN_32K ),
147
+ regmap_reg_range (DA9063_BB_REG_MON_REG_5 , DA9063_BB_REG_MON_REG_6 ),
148
+ };
149
+
150
+ static const struct regmap_access_table da9063l_bb_readable_table = {
151
+ .yes_ranges = da9063l_bb_readable_ranges ,
152
+ .n_yes_ranges = ARRAY_SIZE (da9063l_bb_readable_ranges ),
153
+ };
154
+
155
+ static const struct regmap_access_table da9063l_bb_writeable_table = {
156
+ .yes_ranges = da9063l_bb_writeable_ranges ,
157
+ .n_yes_ranges = ARRAY_SIZE (da9063l_bb_writeable_ranges ),
158
+ };
159
+
160
+ static const struct regmap_access_table da9063l_bb_volatile_table = {
161
+ .yes_ranges = da9063l_bb_volatile_ranges ,
162
+ .n_yes_ranges = ARRAY_SIZE (da9063l_bb_volatile_ranges ),
163
+ };
164
+
121
165
static const struct regmap_range_cfg da9063_range_cfg [] = {
122
166
{
123
167
.range_min = DA9063_REG_PAGE_CON ,
@@ -164,6 +208,10 @@ static int da9063_i2c_probe(struct i2c_client *i2c,
164
208
da9063_regmap_config .rd_table = & da9063_ad_readable_table ;
165
209
da9063_regmap_config .wr_table = & da9063_ad_writeable_table ;
166
210
da9063_regmap_config .volatile_table = & da9063_ad_volatile_table ;
211
+ } else if (da9063 -> type == PMIC_TYPE_DA9063L ) {
212
+ da9063_regmap_config .rd_table = & da9063l_bb_readable_table ;
213
+ da9063_regmap_config .wr_table = & da9063l_bb_writeable_table ;
214
+ da9063_regmap_config .volatile_table = & da9063l_bb_volatile_table ;
167
215
} else {
168
216
da9063_regmap_config .rd_table = & da9063_bb_readable_table ;
169
217
da9063_regmap_config .wr_table = & da9063_bb_writeable_table ;
0 commit comments