Lines Matching full:pmic

3  * Driver for Regulator part of Palmas PMIC Chips
441 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_set_mode_smps() local
442 struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; in palmas_set_mode_smps()
447 ret = palmas_smps_read(pmic->palmas, rinfo->ctrl_addr, &reg); in palmas_set_mode_smps()
470 pmic->current_reg_mode[id] = reg & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_set_mode_smps()
472 palmas_smps_write(pmic->palmas, rinfo->ctrl_addr, reg); in palmas_set_mode_smps()
475 pmic->desc[id].enable_val = pmic->current_reg_mode[id]; in palmas_set_mode_smps()
482 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_get_mode_smps() local
486 reg = pmic->current_reg_mode[id] & PALMAS_SMPS12_CTRL_MODE_ACTIVE_MASK; in palmas_get_mode_smps()
504 struct palmas_pmic *pmic = rdev_get_drvdata(rdev); in palmas_smps_set_ramp_delay() local
505 struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; in palmas_smps_set_ramp_delay()
526 ret = palmas_smps_write(pmic->palmas, rinfo->tstep_addr, reg); in palmas_smps_set_ramp_delay()
528 dev_err(pmic->palmas->dev, "TSTEP write failed: %d\n", ret); in palmas_smps_set_ramp_delay()
532 pmic->ramp_delay[id] = palmas_smps_ramp_delay[reg]; in palmas_smps_set_ramp_delay()
598 struct palmas_pmic *pmic = rdev_get_drvdata(dev); in palmas_is_enabled_ldo() local
599 struct palmas_pmic_driver_data *ddata = pmic->palmas->pmic_ddata; in palmas_is_enabled_ldo()
603 palmas_ldo_read(pmic->palmas, rinfo->ctrl_addr, &reg); in palmas_is_enabled_ldo()
692 * pins on the PMIC such as PREQ, SYSEN, ...
889 static int palmas_ldo_registration(struct palmas_pmic *pmic, in palmas_ldo_registration() argument
913 desc = &pmic->desc[id]; in palmas_ldo_registration()
939 palmas_enable_ldo8_track(pmic->palmas); in palmas_ldo_registration()
980 rdev = devm_regulator_register(pmic->dev, desc, &config); in palmas_ldo_registration()
982 dev_err(pmic->dev, in palmas_ldo_registration()
993 ret = palmas_ldo_init(pmic->palmas, id, in palmas_ldo_registration()
996 ret = palmas_extreg_init(pmic->palmas, in palmas_ldo_registration()
1007 static int tps65917_ldo_registration(struct palmas_pmic *pmic, in tps65917_ldo_registration() argument
1031 desc = &pmic->desc[id]; in tps65917_ldo_registration()
1054 * To be confirmed. Discussion on going with PMIC Team. in tps65917_ldo_registration()
1087 rdev = devm_regulator_register(pmic->dev, desc, &config); in tps65917_ldo_registration()
1089 dev_err(pmic->dev, in tps65917_ldo_registration()
1100 ret = palmas_ldo_init(pmic->palmas, in tps65917_ldo_registration()
1103 ret = palmas_extreg_init(pmic->palmas, in tps65917_ldo_registration()
1114 static int palmas_smps_registration(struct palmas_pmic *pmic, in palmas_smps_registration() argument
1137 if (pmic->smps123) in palmas_smps_registration()
1143 if (!pmic->smps123) in palmas_smps_registration()
1149 if (pmic->smps457) in palmas_smps_registration()
1155 if (!pmic->smps457) in palmas_smps_registration()
1161 if (!PALMAS_PMIC_HAS(pmic->palmas, SMPS10_BOOST)) in palmas_smps_registration()
1165 desc = &pmic->desc[id]; in palmas_smps_registration()
1172 ret = palmas_smps_read(pmic->palmas, addr, &reg); in palmas_smps_registration()
1174 dev_err(pmic->dev, in palmas_smps_registration()
1179 pmic->ramp_delay[id] = desc->ramp_delay; in palmas_smps_registration()
1185 ret = palmas_smps_init(pmic->palmas, id, reg_init); in palmas_smps_registration()
1227 ret = palmas_smps_read(pmic->palmas, addr, &reg); in palmas_smps_registration()
1231 pmic->range[id] = 1; in palmas_smps_registration()
1232 if (pmic->range[id]) in palmas_smps_registration()
1248 ret = palmas_smps_read(pmic->palmas, addr, &reg); in palmas_smps_registration()
1251 pmic->current_reg_mode[id] = reg & in palmas_smps_registration()
1272 rdev = devm_regulator_register(pmic->dev, desc, &config); in palmas_smps_registration()
1274 dev_err(pmic->dev, in palmas_smps_registration()
1284 static int tps65917_smps_registration(struct palmas_pmic *pmic, in tps65917_smps_registration() argument
1302 desc = &pmic->desc[id]; in tps65917_smps_registration()
1305 pmic->smps12) in tps65917_smps_registration()
1311 ret = palmas_smps_init(pmic->palmas, id, reg_init); in tps65917_smps_registration()
1331 ret = palmas_smps_read(pmic->palmas, addr, &reg); in tps65917_smps_registration()
1335 pmic->range[id] = 1; in tps65917_smps_registration()
1337 if (pmic->range[id]) in tps65917_smps_registration()
1354 ret = palmas_smps_read(pmic->palmas, addr, &reg); in tps65917_smps_registration()
1357 pmic->current_reg_mode[id] = reg & in tps65917_smps_registration()
1376 rdev = devm_regulator_register(pmic->dev, desc, &config); in tps65917_smps_registration()
1378 dev_err(pmic->dev, in tps65917_smps_registration()
1556 .compatible = "ti,palmas-pmic",
1560 .compatible = "ti,twl6035-pmic",
1564 .compatible = "ti,twl6036-pmic",
1568 .compatible = "ti,twl6037-pmic",
1572 .compatible = "ti,tps65913-pmic",
1576 .compatible = "ti,tps65914-pmic",
1580 .compatible = "ti,tps80036-pmic",
1584 .compatible = "ti,tps659038-pmic",
1588 .compatible = "ti,tps65917-pmic",
1601 struct palmas_pmic *pmic; in palmas_regulators_probe() local
1614 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in palmas_regulators_probe()
1615 if (!pmic) in palmas_regulators_probe()
1618 if (of_device_is_compatible(node, "ti,tps659038-pmic")) { in palmas_regulators_probe()
1624 pmic->dev = &pdev->dev; in palmas_regulators_probe()
1625 pmic->palmas = palmas; in palmas_regulators_probe()
1626 palmas->pmic = pmic; in palmas_regulators_probe()
1627 platform_set_drvdata(pdev, pmic); in palmas_regulators_probe()
1628 pmic->palmas->pmic_ddata = driver_data; in palmas_regulators_probe()
1639 pmic->smps123 = 1; in palmas_regulators_probe()
1640 pmic->smps12 = 1; in palmas_regulators_probe()
1644 pmic->smps457 = 1; in palmas_regulators_probe()
1648 config.driver_data = pmic; in palmas_regulators_probe()
1651 ret = driver_data->smps_register(pmic, driver_data, pdata, pdev_name, in palmas_regulators_probe()
1656 ret = driver_data->ldo_register(pmic, driver_data, pdata, pdev_name, in palmas_regulators_probe()
1664 .name = "palmas-pmic",
1686 MODULE_ALIAS("platform:palmas-pmic");