Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 339ae552 authored by Fei Mao's avatar Fei Mao
Browse files

input: touchscreen: st: configure regulator



Set voltage and current load for the regulators.

Change-Id: I7a26696bbd8bf5d8465fff6ae6c1482dcdaaeb21
Signed-off-by: default avatarFei Mao <feim1@codeaurora.org>
parent 2d7d9fc4
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -59,6 +59,11 @@

#define LINK_KOBJ_NAME "tp"

#define FTS_DVDD_VOL_MIN 1800000
#define FTS_DVDD_VOL_MAX 1800000
#define FTS_AVDD_VOL_MIN 3000000
#define FTS_AVDD_VOL_MAX 3300000

/*
 * Uncomment to use polling mode instead of interrupt mode.
 *
@@ -4331,6 +4336,21 @@ static int fts_get_reg(struct fts_ts_info *info, bool get)
			retval = PTR_ERR(info->pwr_reg);
			goto regulator_put;
		}

		retval = regulator_set_load(info->pwr_reg, 62000);
		if (retval < 0) {
			logError(1, "%s %s: Failed to set power load\n",
				tag, __func__);
			goto regulator_put;
		}

		retval = regulator_set_voltage(info->pwr_reg,
				FTS_DVDD_VOL_MIN, FTS_DVDD_VOL_MAX);
		if (retval < 0) {
			logError(1, "%s %s: Failed to set power voltage\n",
				tag, __func__);
			goto regulator_put;
		}
	}

	if ((bdata->bus_reg_name != NULL) && (*bdata->bus_reg_name != 0)) {
@@ -4343,6 +4363,22 @@ static int fts_get_reg(struct fts_ts_info *info, bool get)
			retval = PTR_ERR(info->bus_reg);
			goto regulator_put;
		}

		retval = regulator_set_load(info->bus_reg, 20000);
		if (retval < 0) {
			logError(1, "%s %s: Failed to set power load\n",
				tag, __func__);
			goto regulator_put;
		}

		retval = regulator_set_voltage(info->bus_reg,
				FTS_AVDD_VOL_MIN, FTS_AVDD_VOL_MAX);

		if (retval < 0) {
			logError(1, "%s %s: Failed to set power voltage\n",
				tag, __func__);
			goto regulator_put;
		}
	}

	return 0;