Lines Matching defs:max8997
3 // max8997.c - Regulator driver for the Maxim 8997/8966
19 #include <linux/mfd/max8997.h>
20 #include <linux/mfd/max8997-private.h>
49 static inline void max8997_set_gpio(struct max8997_data *max8997)
51 int set3 = (max8997->buck125_gpioindex) & 0x1;
52 int set2 = ((max8997->buck125_gpioindex) >> 1) & 0x1;
53 int set1 = ((max8997->buck125_gpioindex) >> 2) & 0x1;
55 gpio_set_value(max8997->buck125_gpios[0], set1);
56 gpio_set_value(max8997->buck125_gpios[1], set2);
57 gpio_set_value(max8997->buck125_gpios[2], set3);
244 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
245 struct i2c_client *i2c = max8997->iodev->i2c;
262 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
263 struct i2c_client *i2c = max8997->iodev->i2c;
275 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
276 struct i2c_client *i2c = max8997->iodev->i2c;
289 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
299 if (max8997->buck1_gpiodvs)
300 reg += max8997->buck125_gpioindex;
304 if (max8997->buck2_gpiodvs)
305 reg += max8997->buck125_gpioindex;
315 if (max8997->buck5_gpiodvs)
316 reg += max8997->buck125_gpioindex;
354 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
355 struct i2c_client *i2c = max8997->iodev->i2c;
399 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
400 struct i2c_client *i2c = max8997->iodev->i2c;
451 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
452 struct i2c_client *i2c = max8997->iodev->i2c;
494 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
505 if (max8997->buck1_gpiodvs)
509 if (max8997->buck2_gpiodvs)
513 if (max8997->buck5_gpiodvs)
524 max8997->ramp_delay * 1000);
541 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
565 buckx_val[0] = max8997->buck1_vol;
566 buckx_val[1] = max8997->buck2_vol;
567 buckx_val[2] = max8997->buck5_vol;
568 buckx_gpiodvs[0] = max8997->buck1_gpiodvs;
569 buckx_gpiodvs[1] = max8997->buck2_gpiodvs;
570 buckx_gpiodvs[2] = max8997->buck5_gpiodvs;
589 (buckx_val[others])[max8997->buck125_gpioindex];
618 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
629 if (max8997->buck1_gpiodvs)
633 if (max8997->buck2_gpiodvs)
637 if (max8997->buck5_gpiodvs)
671 if (max8997->ignore_gpiodvs_side_effect == false)
676 max8997->buck125_gpioindex, tmp_idx);
682 max8997->buck125_gpioindex = new_idx;
683 max8997_set_gpio(max8997);
693 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
694 struct i2c_client *i2c = max8997->iodev->i2c;
710 struct max8997_data *max8997 = rdev_get_drvdata(rdev);
711 struct i2c_client *i2c = max8997->iodev->i2c;
719 max8997_read_reg(i2c, reg, &max8997->saved_states[rid]);
730 rdev->desc->name, max8997->saved_states[rid] & mask,
884 "max8997,pmic-buck125-dvs-gpios", i);
946 pdata->buck1_gpiodvs = of_property_read_bool(pmic_np, "max8997,pmic-buck1-uses-gpio-dvs");
947 pdata->buck2_gpiodvs = of_property_read_bool(pmic_np, "max8997,pmic-buck2-uses-gpio-dvs");
948 pdata->buck5_gpiodvs = of_property_read_bool(pmic_np, "max8997,pmic-buck5-uses-gpio-dvs");
957 "max8997,pmic-buck125-default-dvs-idx",
968 "max8997,pmic-ignore-gpiodvs-side-effect", NULL))
975 "max8997,pmic-buck1-dvs-voltage",
982 "max8997,pmic-buck2-dvs-voltage",
989 "max8997,pmic-buck5-dvs-voltage",
1011 struct max8997_data *max8997;
1027 max8997 = devm_kzalloc(&pdev->dev, sizeof(struct max8997_data),
1029 if (!max8997)
1032 max8997->dev = &pdev->dev;
1033 max8997->iodev = iodev;
1034 max8997->num_regulators = pdata->num_regulators;
1035 platform_set_drvdata(pdev, max8997);
1036 i2c = max8997->iodev->i2c;
1038 max8997->buck125_gpioindex = pdata->buck125_default_idx;
1039 max8997->buck1_gpiodvs = pdata->buck1_gpiodvs;
1040 max8997->buck2_gpiodvs = pdata->buck2_gpiodvs;
1041 max8997->buck5_gpiodvs = pdata->buck5_gpiodvs;
1042 memcpy(max8997->buck125_gpios, pdata->buck125_gpios, sizeof(int) * 3);
1043 max8997->ignore_gpiodvs_side_effect = pdata->ignore_gpiodvs_side_effect;
1049 max8997->buck1_vol[i] = ret =
1058 max8997->buck2_vol[i] = ret =
1067 max8997->buck5_vol[i] = ret =
1076 if (max_buck1 < max8997->buck1_vol[i])
1077 max_buck1 = max8997->buck1_vol[i];
1078 if (max_buck2 < max8997->buck2_vol[i])
1079 max_buck2 = max8997->buck2_vol[i];
1080 if (max_buck5 < max8997->buck5_vol[i])
1081 max_buck5 = max8997->buck5_vol[i];
1097 max8997->buck1_vol[i],
1100 max8997->buck2_vol[i],
1103 max8997->buck5_vol[i],
1137 (max8997->buck125_gpioindex >> 2)
1140 (max8997->buck125_gpioindex >> 1)
1143 (max8997->buck125_gpioindex >> 0)
1156 max8997->ramp_delay = 10; /* set 10mV/us, which is the default */
1174 config.dev = max8997->dev;
1176 config.driver_data = max8997;
1182 dev_err(max8997->dev, "regulator init failed for %d\n",
1192 { "max8997-pmic", 0},
1199 .name = "max8997-pmic",