Lines Matching refs:buck
3 * TI LP8788 MFD - buck regulator driver
100 static void lp8788_buck1_set_dvs(struct lp8788_buck *buck)
102 struct lp8788_buck1_dvs *dvs = (struct lp8788_buck1_dvs *)buck->dvs;
113 static void lp8788_buck2_set_dvs(struct lp8788_buck *buck)
115 struct lp8788_buck2_dvs *dvs = (struct lp8788_buck2_dvs *)buck->dvs;
149 static void lp8788_set_dvs(struct lp8788_buck *buck, enum lp8788_buck_id id)
153 lp8788_buck1_set_dvs(buck);
156 lp8788_buck2_set_dvs(buck);
164 lp8788_get_buck_dvs_ctrl_mode(struct lp8788_buck *buck, enum lp8788_buck_id id)
179 lp8788_read_byte(buck->lp, LP8788_BUCK_DVS_SEL, &val);
201 static u8 lp8788_select_buck_vout_addr(struct lp8788_buck *buck,
204 enum lp8788_dvs_mode mode = lp8788_get_buck_dvs_ctrl_mode(buck, id);
213 b1_dvs = (struct lp8788_buck1_dvs *)buck->dvs;
219 lp8788_read_byte(buck->lp, LP8788_BUCK_DVS_SEL, &val);
226 b2_dvs = (struct lp8788_buck2_dvs *)buck->dvs;
242 lp8788_read_byte(buck->lp, LP8788_BUCK_DVS_SEL, &val);
259 struct lp8788_buck *buck = rdev_get_drvdata(rdev);
263 if (buck->dvs)
264 lp8788_set_dvs(buck, id);
266 addr = lp8788_select_buck_vout_addr(buck, id);
270 return lp8788_update_bits(buck->lp, addr, LP8788_VOUT_M, selector);
275 struct lp8788_buck *buck = rdev_get_drvdata(rdev);
280 addr = lp8788_select_buck_vout_addr(buck, id);
284 ret = lp8788_read_byte(buck->lp, addr, &val);
293 struct lp8788_buck *buck = rdev_get_drvdata(rdev);
297 if (lp8788_read_byte(buck->lp, addr, &val))
307 struct lp8788_buck *buck = rdev_get_drvdata(rdev);
323 return lp8788_update_bits(buck->lp, LP8788_BUCK_PWM, mask, val);
328 struct lp8788_buck *buck = rdev_get_drvdata(rdev);
333 ret = lp8788_read_byte(buck->lp, LP8788_BUCK_PWM, &val);
423 struct lp8788_buck *buck,
426 struct lp8788_platform_data *pdata = buck->lp->pdata;
439 buck->dvs = pdata->buck1_dvs;
449 buck->dvs = pdata->buck2_dvs;
459 struct lp8788_buck *buck, enum lp8788_buck_id id)
461 struct lp8788_platform_data *pdata = buck->lp->pdata;
478 if (lp8788_dvs_gpio_request(pdev, buck, id))
481 return lp8788_update_bits(buck->lp, LP8788_BUCK_DVS_SEL, mask[id],
485 return lp8788_update_bits(buck->lp, LP8788_BUCK_DVS_SEL, mask[id],
493 struct lp8788_buck *buck;
501 buck = devm_kzalloc(&pdev->dev, sizeof(struct lp8788_buck), GFP_KERNEL);
502 if (!buck)
505 buck->lp = lp;
507 ret = lp8788_init_dvs(pdev, buck, id);
513 cfg.driver_data = buck;
524 buck->regulator = rdev;
525 platform_set_drvdata(pdev, buck);
552 MODULE_ALIAS("platform:lp8788-buck");