Lines Matching refs:pmic
397 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_mode() local
398 struct tps65910 *mfd = pmic->mfd; in tps65910_set_mode()
401 reg = pmic->get_ctrl_reg(id); in tps65910_set_mode()
407 return tps65910_reg_update_bits(pmic->mfd, reg, in tps65910_set_mode()
422 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_mode() local
425 reg = pmic->get_ctrl_reg(id); in tps65910_get_mode()
429 ret = tps65910_reg_read(pmic->mfd, reg, &value); in tps65910_get_mode()
443 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_voltage_dcdc_sel() local
449 ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD1_OP, &opvsel); in tps65910_get_voltage_dcdc_sel()
452 ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD1, &mult); in tps65910_get_voltage_dcdc_sel()
456 ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD1_SR, &srvsel); in tps65910_get_voltage_dcdc_sel()
465 ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD2_OP, &opvsel); in tps65910_get_voltage_dcdc_sel()
468 ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD2, &mult); in tps65910_get_voltage_dcdc_sel()
472 ret = tps65910_reg_read(pmic->mfd, TPS65910_VDD2_SR, &srvsel); in tps65910_get_voltage_dcdc_sel()
481 ret = tps65910_reg_read(pmic->mfd, TPS65911_VDDCTRL_OP, in tps65910_get_voltage_dcdc_sel()
485 ret = tps65910_reg_read(pmic->mfd, TPS65911_VDDCTRL_SR, in tps65910_get_voltage_dcdc_sel()
521 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_get_voltage_sel() local
524 reg = pmic->get_ctrl_reg(id); in tps65910_get_voltage_sel()
528 ret = tps65910_reg_read(pmic->mfd, reg, &value); in tps65910_get_voltage_sel()
563 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65911_get_voltage_sel() local
567 reg = pmic->get_ctrl_reg(id); in tps65911_get_voltage_sel()
569 ret = tps65910_reg_read(pmic->mfd, reg, &value); in tps65911_get_voltage_sel()
602 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_voltage_dcdc_sel() local
613 tps65910_reg_update_bits(pmic->mfd, TPS65910_VDD1, in tps65910_set_voltage_dcdc_sel()
616 tps65910_reg_write(pmic->mfd, TPS65910_VDD1_OP, vsel); in tps65910_set_voltage_dcdc_sel()
624 tps65910_reg_update_bits(pmic->mfd, TPS65910_VDD2, in tps65910_set_voltage_dcdc_sel()
627 tps65910_reg_write(pmic->mfd, TPS65910_VDD2_OP, vsel); in tps65910_set_voltage_dcdc_sel()
631 tps65910_reg_write(pmic->mfd, TPS65911_VDDCTRL_OP, vsel); in tps65910_set_voltage_dcdc_sel()
640 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65910_set_voltage_sel() local
643 reg = pmic->get_ctrl_reg(id); in tps65910_set_voltage_sel()
657 return tps65910_reg_update_bits(pmic->mfd, reg, LDO_SEL_MASK, in tps65910_set_voltage_sel()
660 return tps65910_reg_update_bits(pmic->mfd, reg, BBCH_BBSEL_MASK, in tps65910_set_voltage_sel()
670 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65911_set_voltage_sel() local
673 reg = pmic->get_ctrl_reg(id); in tps65911_set_voltage_sel()
681 return tps65910_reg_update_bits(pmic->mfd, reg, LDO1_SEL_MASK, in tps65911_set_voltage_sel()
688 return tps65910_reg_update_bits(pmic->mfd, reg, LDO3_SEL_MASK, in tps65911_set_voltage_sel()
691 return tps65910_reg_update_bits(pmic->mfd, reg, LDO_SEL_MASK, in tps65911_set_voltage_sel()
694 return tps65910_reg_update_bits(pmic->mfd, reg, BBCH_BBSEL_MASK, in tps65911_set_voltage_sel()
727 struct tps65910_reg *pmic = rdev_get_drvdata(dev); in tps65911_list_voltage() local
756 return pmic->info[id]->voltage_table[selector]; in tps65911_list_voltage()
825 static int tps65910_set_ext_sleep_config(struct tps65910_reg *pmic, in tps65910_set_ext_sleep_config() argument
828 struct tps65910 *mfd = pmic->mfd; in tps65910_set_ext_sleep_config()
829 u8 regoffs = (pmic->ext_sleep_control[id] >> 8) & 0xFF; in tps65910_set_ext_sleep_config()
830 u8 bit_pos = (1 << pmic->ext_sleep_control[id] & 0xFF); in tps65910_set_ext_sleep_config()
854 pmic->board_ext_control[id] = ext_sleep_config; in tps65910_set_ext_sleep_config()
921 int op_reg_add = pmic->get_ctrl_reg(id) + 1; in tps65910_set_ext_sleep_config()
922 int sr_reg_add = pmic->get_ctrl_reg(id) + 2; in tps65910_set_ext_sleep_config()
925 ret = tps65910_reg_read(pmic->mfd, op_reg_add, &opvsel); in tps65910_set_ext_sleep_config()
928 ret = tps65910_reg_read(pmic->mfd, sr_reg_add, &srvsel); in tps65910_set_ext_sleep_config()
935 ret = tps65910_reg_write(pmic->mfd, op_reg_add, in tps65910_set_ext_sleep_config()
943 ret = tps65910_reg_write(pmic->mfd, sr_reg_add, 0); in tps65910_set_ext_sleep_config()
1082 struct tps65910_reg *pmic; in tps65910_probe() local
1097 pmic = devm_kzalloc(&pdev->dev, sizeof(*pmic), GFP_KERNEL); in tps65910_probe()
1098 if (!pmic) in tps65910_probe()
1101 pmic->mfd = tps65910; in tps65910_probe()
1102 platform_set_drvdata(pdev, pmic); in tps65910_probe()
1105 tps65910_reg_set_bits(pmic->mfd, TPS65910_DEVCTRL, in tps65910_probe()
1110 pmic->get_ctrl_reg = &tps65910_get_ctrl_register; in tps65910_probe()
1111 pmic->num_regulators = ARRAY_SIZE(tps65910_regs); in tps65910_probe()
1112 pmic->ext_sleep_control = tps65910_ext_sleep_control; in tps65910_probe()
1116 pmic->get_ctrl_reg = &tps65911_get_ctrl_register; in tps65910_probe()
1117 pmic->num_regulators = ARRAY_SIZE(tps65911_regs); in tps65910_probe()
1118 pmic->ext_sleep_control = tps65911_ext_sleep_control; in tps65910_probe()
1126 pmic->desc = devm_kzalloc(&pdev->dev, pmic->num_regulators * in tps65910_probe()
1128 if (!pmic->desc) in tps65910_probe()
1131 pmic->info = devm_kzalloc(&pdev->dev, pmic->num_regulators * in tps65910_probe()
1133 if (!pmic->info) in tps65910_probe()
1136 pmic->rdev = devm_kzalloc(&pdev->dev, pmic->num_regulators * in tps65910_probe()
1138 if (!pmic->rdev) in tps65910_probe()
1141 for (i = 0; i < pmic->num_regulators && i < TPS65910_NUM_REGS; in tps65910_probe()
1144 pmic->info[i] = info; in tps65910_probe()
1146 pmic->desc[i].name = info->name; in tps65910_probe()
1147 pmic->desc[i].supply_name = info->vin_name; in tps65910_probe()
1148 pmic->desc[i].id = i; in tps65910_probe()
1149 pmic->desc[i].n_voltages = info->n_voltages; in tps65910_probe()
1150 pmic->desc[i].enable_time = info->enable_time_us; in tps65910_probe()
1153 pmic->desc[i].ops = &tps65910_ops_dcdc; in tps65910_probe()
1154 pmic->desc[i].n_voltages = VDD1_2_NUM_VOLT_FINE * in tps65910_probe()
1156 pmic->desc[i].ramp_delay = 12500; in tps65910_probe()
1159 pmic->desc[i].ops = &tps65910_ops_vdd3; in tps65910_probe()
1160 pmic->desc[i].volt_table = info->voltage_table; in tps65910_probe()
1162 pmic->desc[i].ops = &tps65910_ops_dcdc; in tps65910_probe()
1163 pmic->desc[i].ramp_delay = 5000; in tps65910_probe()
1167 pmic->desc[i].ops = &tps65910_ops_vbb; in tps65910_probe()
1168 pmic->desc[i].volt_table = info->voltage_table; in tps65910_probe()
1171 pmic->desc[i].ops = &tps65910_ops; in tps65910_probe()
1172 pmic->desc[i].volt_table = info->voltage_table; in tps65910_probe()
1174 pmic->desc[i].ops = &tps65911_ops; in tps65910_probe()
1178 err = tps65910_set_ext_sleep_config(pmic, i, in tps65910_probe()
1188 pmic->desc[i].type = REGULATOR_VOLTAGE; in tps65910_probe()
1189 pmic->desc[i].owner = THIS_MODULE; in tps65910_probe()
1190 pmic->desc[i].enable_reg = pmic->get_ctrl_reg(i); in tps65910_probe()
1191 pmic->desc[i].enable_mask = TPS65910_SUPPLY_STATE_ENABLED; in tps65910_probe()
1195 config.driver_data = pmic; in tps65910_probe()
1201 rdev = devm_regulator_register(&pdev->dev, &pmic->desc[i], in tps65910_probe()
1211 pmic->rdev[i] = rdev; in tps65910_probe()
1218 struct tps65910_reg *pmic = platform_get_drvdata(pdev); in tps65910_shutdown() local
1234 for (i = 0; i < pmic->num_regulators; i++) { in tps65910_shutdown()
1236 if (!pmic->rdev[i]) in tps65910_shutdown()
1239 err = tps65910_set_ext_sleep_config(pmic, i, 0); in tps65910_shutdown()