Lines Matching defs:max8998

3 // max8998.c - Voltage regulator driver for the Maxim 8998
22 #include <linux/mfd/max8998.h>
23 #include <linux/mfd/max8998-private.h>
86 struct max8998_data *max8998 = rdev_get_drvdata(rdev);
87 struct i2c_client *i2c = max8998->iodev->i2c;
109 struct max8998_data *max8998 = rdev_get_drvdata(rdev);
110 struct i2c_client *i2c = max8998->iodev->i2c;
122 struct max8998_data *max8998 = rdev_get_drvdata(rdev);
123 struct i2c_client *i2c = max8998->iodev->i2c;
137 struct max8998_data *max8998 = rdev_get_drvdata(rdev);
174 reg = MAX8998_REG_BUCK1_VOLTAGE1 + max8998->buck1_idx;
177 reg = MAX8998_REG_BUCK2_VOLTAGE1 + max8998->buck2_idx;
198 struct max8998_data *max8998 = rdev_get_drvdata(rdev);
199 struct i2c_client *i2c = max8998->iodev->i2c;
220 struct max8998_data *max8998 = rdev_get_drvdata(rdev);
221 struct i2c_client *i2c = max8998->iodev->i2c;
247 struct max8998_data *max8998 = rdev_get_drvdata(rdev);
248 struct max8998_platform_data *pdata = max8998->iodev->pdata;
249 struct i2c_client *i2c = max8998->iodev->i2c;
260 dev_dbg(max8998->dev,
263 selector, max8998->buck1_vol[0], max8998->buck1_vol[1],
264 max8998->buck1_vol[2], max8998->buck1_vol[3]);
266 if (max8998->buck1_gpio1 && max8998->buck1_gpio2) {
270 for (j = 0; j < ARRAY_SIZE(max8998->buck1_vol); j++) {
271 if (max8998->buck1_vol[j] == selector) {
272 max8998->buck1_idx = j;
273 buck1_gpio_set(max8998->buck1_gpio1,
274 max8998->buck1_gpio2, j);
283 max8998->buck1_idx = (buck1_last_val % 2) + 2;
284 dev_dbg(max8998->dev, "max8998->buck1_idx:%d\n",
285 max8998->buck1_idx);
286 max8998->buck1_vol[max8998->buck1_idx] = selector;
291 buck1_gpio_set(max8998->buck1_gpio1,
292 max8998->buck1_gpio2, max8998->buck1_idx);
295 dev_dbg(max8998->dev, "%s: SET1:%d, SET2:%d\n",
296 i2c->name, gpiod_get_value(max8998->buck1_gpio1),
297 gpiod_get_value(max8998->buck1_gpio2));
305 dev_dbg(max8998->dev,
307 selector, max8998->buck2_vol[0], max8998->buck2_vol[1]);
308 if (max8998->buck2_gpio) {
311 for (j = 0; j < ARRAY_SIZE(max8998->buck2_vol); j++) {
312 if (max8998->buck2_vol[j] == selector) {
313 max8998->buck2_idx = j;
314 buck2_gpio_set(max8998->buck2_gpio, j);
325 max8998->buck2_vol[max8998->buck2_idx] = selector;
326 buck2_gpio_set(max8998->buck2_gpio, max8998->buck2_idx);
328 dev_dbg(max8998->dev, "%s: SET3:%d\n", i2c->name,
329 gpiod_get_value(max8998->buck2_gpio));
349 struct max8998_data *max8998 = rdev_get_drvdata(rdev);
350 struct i2c_client *i2c = max8998->iodev->i2c;
365 if (max8998->iodev->type == TYPE_MAX8998 && !(val & MAX8998_ENRAMP))
378 struct max8998_data *max8998 = rdev_get_drvdata(rdev);
379 struct i2c_client *i2c = max8998->iodev->i2c;
421 struct max8998_data *max8998 = rdev_get_drvdata(rdev);
422 struct i2c_client *i2c = max8998->iodev->i2c;
588 pdata->buck_voltage_lock = of_property_read_bool(pmic_np, "max8998,pmic-buck-voltage-lock");
591 "max8998,pmic-buck1-default-dvs-idx",
599 "max8998,pmic-buck2-default-dvs-idx",
607 "max8998,pmic-buck1-dvs-voltage",
616 "max8998,pmic-buck2-dvs-voltage",
633 struct max8998_data *max8998;
650 max8998 = devm_kzalloc(&pdev->dev, sizeof(struct max8998_data),
652 if (!max8998)
655 max8998->dev = &pdev->dev;
656 max8998->iodev = iodev;
657 max8998->num_regulators = pdata->num_regulators;
658 platform_set_drvdata(pdev, max8998);
659 i2c = max8998->iodev->i2c;
661 max8998->buck1_idx = pdata->buck1_default_idx;
662 max8998->buck2_idx = pdata->buck2_default_idx;
665 flags = (max8998->buck1_idx & BIT(0)) ? GPIOD_OUT_HIGH : GPIOD_OUT_LOW;
666 max8998->buck1_gpio1 = devm_gpiod_get_index_optional(iodev->dev,
667 "max8998,pmic-buck1-dvs",
670 if (IS_ERR(max8998->buck1_gpio1))
671 return dev_err_probe(&pdev->dev, PTR_ERR(max8998->buck1_gpio1),
673 gpiod_set_consumer_name(max8998->buck1_gpio1, "MAX8998 BUCK1_SET1");
675 flags = (max8998->buck1_idx & BIT(1)) ? GPIOD_OUT_HIGH : GPIOD_OUT_LOW;
676 max8998->buck1_gpio2 = devm_gpiod_get_index_optional(iodev->dev,
677 "max8998,pmic-buck1-dvs",
680 if (IS_ERR(max8998->buck1_gpio2))
681 return dev_err_probe(&pdev->dev, PTR_ERR(max8998->buck1_gpio2),
683 gpiod_set_consumer_name(max8998->buck1_gpio1, "MAX8998 BUCK1_SET2");
685 flags = (max8998->buck2_idx & BIT(0)) ? GPIOD_OUT_HIGH : GPIOD_OUT_LOW;
686 max8998->buck2_gpio = devm_gpiod_get_index_optional(iodev->dev,
687 "max8998,pmic-buck2-dvs",
690 if (IS_ERR(max8998->buck2_gpio))
691 return dev_err_probe(&pdev->dev, PTR_ERR(max8998->buck2_gpio),
693 gpiod_set_consumer_name(max8998->buck1_gpio1, "MAX8998 BUCK2_SET3");
695 if (max8998->buck1_gpio1 && max8998->buck1_gpio2) {
706 max8998->buck1_vol[v] = i;
714 if (max8998->buck2_gpio) {
725 max8998->buck2_vol[v] = i;
736 config.dev = max8998->dev;
739 config.driver_data = max8998;
745 dev_err(max8998->dev, "regulator %s init failed (%d)\n",
755 { "max8998-pmic", TYPE_MAX8998 },
763 .name = "max8998-pmic",