Lines Matching refs:di
113 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_suspend_voltage() local
116 if (di->sleep_vol_cache == uV) in fan53555_set_suspend_voltage()
121 ret = regmap_update_bits(rdev->regmap, di->sleep_reg, in fan53555_set_suspend_voltage()
122 di->desc.vsel_mask, ret); in fan53555_set_suspend_voltage()
127 di->sleep_vol_cache = uV; in fan53555_set_suspend_voltage()
134 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_suspend_enable() local
136 return regmap_update_bits(rdev->regmap, di->sleep_reg, in fan53555_set_suspend_enable()
142 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_suspend_disable() local
144 return regmap_update_bits(rdev->regmap, di->sleep_reg, in fan53555_set_suspend_disable()
150 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_mode() local
154 regmap_update_bits(rdev->regmap, di->mode_reg, in fan53555_set_mode()
155 di->mode_mask, di->mode_mask); in fan53555_set_mode()
158 regmap_update_bits(rdev->regmap, di->vol_reg, di->mode_mask, 0); in fan53555_set_mode()
168 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_get_mode() local
172 ret = regmap_read(rdev->regmap, di->mode_reg, &val); in fan53555_get_mode()
175 if (val & di->mode_mask) in fan53555_get_mode()
194 struct fan53555_device_info *di = rdev_get_drvdata(rdev); in fan53555_set_ramp() local
205 dev_err(di->dev, "unsupported ramp value %d\n", ramp); in fan53555_set_ramp()
230 static int fan53526_voltages_setup_fairchild(struct fan53555_device_info *di) in fan53526_voltages_setup_fairchild() argument
233 switch (di->chip_id) { in fan53526_voltages_setup_fairchild()
235 switch (di->chip_rev) { in fan53526_voltages_setup_fairchild()
237 di->vsel_min = 600000; in fan53526_voltages_setup_fairchild()
238 di->vsel_step = 6250; in fan53526_voltages_setup_fairchild()
241 dev_err(di->dev, in fan53526_voltages_setup_fairchild()
243 di->chip_id, di->chip_rev); in fan53526_voltages_setup_fairchild()
248 dev_err(di->dev, in fan53526_voltages_setup_fairchild()
249 "Chip ID %d not supported!\n", di->chip_id); in fan53526_voltages_setup_fairchild()
253 di->vsel_count = FAN53526_NVOLTAGES; in fan53526_voltages_setup_fairchild()
258 static int fan53555_voltages_setup_fairchild(struct fan53555_device_info *di) in fan53555_voltages_setup_fairchild() argument
261 switch (di->chip_id) { in fan53555_voltages_setup_fairchild()
263 switch (di->chip_rev) { in fan53555_voltages_setup_fairchild()
265 di->vsel_min = 600000; in fan53555_voltages_setup_fairchild()
266 di->vsel_step = 10000; in fan53555_voltages_setup_fairchild()
269 di->vsel_min = 800000; in fan53555_voltages_setup_fairchild()
270 di->vsel_step = 10000; in fan53555_voltages_setup_fairchild()
273 dev_err(di->dev, in fan53555_voltages_setup_fairchild()
275 di->chip_id, di->chip_rev); in fan53555_voltages_setup_fairchild()
283 di->vsel_min = 600000; in fan53555_voltages_setup_fairchild()
284 di->vsel_step = 10000; in fan53555_voltages_setup_fairchild()
287 di->vsel_min = 603000; in fan53555_voltages_setup_fairchild()
288 di->vsel_step = 12826; in fan53555_voltages_setup_fairchild()
291 dev_err(di->dev, in fan53555_voltages_setup_fairchild()
292 "Chip ID %d not supported!\n", di->chip_id); in fan53555_voltages_setup_fairchild()
296 di->vsel_count = FAN53555_NVOLTAGES; in fan53555_voltages_setup_fairchild()
301 static int fan53555_voltages_setup_silergy(struct fan53555_device_info *di) in fan53555_voltages_setup_silergy() argument
304 switch (di->chip_id) { in fan53555_voltages_setup_silergy()
307 di->vsel_min = 712500; in fan53555_voltages_setup_silergy()
308 di->vsel_step = 12500; in fan53555_voltages_setup_silergy()
311 dev_err(di->dev, in fan53555_voltages_setup_silergy()
312 "Chip ID %d not supported!\n", di->chip_id); in fan53555_voltages_setup_silergy()
316 di->vsel_count = FAN53555_NVOLTAGES; in fan53555_voltages_setup_silergy()
326 static int fan53555_device_setup(struct fan53555_device_info *di, in fan53555_device_setup() argument
334 di->sleep_reg = FAN53555_VSEL0; in fan53555_device_setup()
335 di->vol_reg = FAN53555_VSEL1; in fan53555_device_setup()
338 di->sleep_reg = FAN53555_VSEL1; in fan53555_device_setup()
339 di->vol_reg = FAN53555_VSEL0; in fan53555_device_setup()
342 dev_err(di->dev, "Invalid VSEL ID!\n"); in fan53555_device_setup()
347 switch (di->vendor) { in fan53555_device_setup()
349 di->mode_reg = FAN53555_CONTROL; in fan53555_device_setup()
353 di->mode_mask = CTL_MODE_VSEL1_MODE; in fan53555_device_setup()
356 di->mode_mask = CTL_MODE_VSEL0_MODE; in fan53555_device_setup()
362 di->mode_reg = di->vol_reg; in fan53555_device_setup()
363 di->mode_mask = VSEL_MODE; in fan53555_device_setup()
366 dev_err(di->dev, "vendor %d not supported!\n", di->vendor); in fan53555_device_setup()
371 switch (di->vendor) { in fan53555_device_setup()
373 ret = fan53526_voltages_setup_fairchild(di); in fan53555_device_setup()
376 ret = fan53555_voltages_setup_fairchild(di); in fan53555_device_setup()
379 ret = fan53555_voltages_setup_silergy(di); in fan53555_device_setup()
382 dev_err(di->dev, "vendor %d not supported!\n", di->vendor); in fan53555_device_setup()
389 static int fan53555_regulator_register(struct fan53555_device_info *di, in fan53555_regulator_register() argument
392 struct regulator_desc *rdesc = &di->desc; in fan53555_regulator_register()
399 rdesc->n_voltages = di->vsel_count; in fan53555_regulator_register()
400 rdesc->enable_reg = di->vol_reg; in fan53555_regulator_register()
402 rdesc->min_uV = di->vsel_min; in fan53555_regulator_register()
403 rdesc->uV_step = di->vsel_step; in fan53555_regulator_register()
404 rdesc->vsel_reg = di->vol_reg; in fan53555_regulator_register()
405 rdesc->vsel_mask = di->vsel_count - 1; in fan53555_regulator_register()
408 rdev = devm_regulator_register(di->dev, &di->desc, config); in fan53555_regulator_register()
461 struct fan53555_device_info *di; in fan53555_regulator_probe() local
468 di = devm_kzalloc(&client->dev, sizeof(struct fan53555_device_info), in fan53555_regulator_probe()
470 if (!di) in fan53555_regulator_probe()
475 pdata = fan53555_parse_dt(&client->dev, np, &di->desc); in fan53555_regulator_probe()
482 di->regulator = pdata->regulator; in fan53555_regulator_probe()
484 di->vendor = in fan53555_regulator_probe()
488 if (!di->regulator->constraints.ramp_delay) { in fan53555_regulator_probe()
494 di->regulator->constraints.ramp_delay in fan53555_regulator_probe()
498 di->vendor = id->driver_data; in fan53555_regulator_probe()
506 di->dev = &client->dev; in fan53555_regulator_probe()
507 i2c_set_clientdata(client, di); in fan53555_regulator_probe()
514 di->chip_id = val & DIE_ID; in fan53555_regulator_probe()
521 di->chip_rev = val & DIE_REV; in fan53555_regulator_probe()
523 di->chip_id, di->chip_rev); in fan53555_regulator_probe()
525 ret = fan53555_device_setup(di, pdata); in fan53555_regulator_probe()
531 config.dev = di->dev; in fan53555_regulator_probe()
532 config.init_data = di->regulator; in fan53555_regulator_probe()
534 config.driver_data = di; in fan53555_regulator_probe()
537 ret = fan53555_regulator_register(di, &config); in fan53555_regulator_probe()