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

Commit b23c97a2 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "thermal: tsens: Add fuse-based correction factors for MSM8909"

parents 52729240 6df022c6
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -580,6 +580,12 @@
#define TSENS3_MSM8909_POINT2_SHIFT	10
#define TSENS4_MSM8909_POINT2_SHIFT	22

#define TSENS_MSM8909_D30_WA_S1   10
#define TSENS_MSM8909_D30_WA_S3   9
#define TSENS_MSM8909_D30_WA_S4   8
#define TSENS_MSM8909_D120_WA_S1  6
#define TSENS_MSM8909_D120_WA_S3  9
#define TSENS_MSM8909_D120_WA_S4  10
#define TSENS_ZIRC_CAL_SEL		0x700
#define TSENS_ZIRC_CAL_SEL_SHIFT	8
#define TSENS_BASE0_ZIRC_MASK		0x3ff
@@ -3440,12 +3446,18 @@ static int tsens_calib_msm8909_sensors(struct tsens_tm_device *tmdev)
			(((tsens_base0_data) + tsens0_point1) << 2);
		calib_tsens_point1_data[1] =
			(((tsens_base0_data) + tsens1_point1) << 2);
		calib_tsens_point1_data[1] = calib_tsens_point1_data[1] -
						TSENS_MSM8909_D30_WA_S1;
		calib_tsens_point1_data[2] =
			(((tsens_base0_data) + tsens2_point1) << 2);
		calib_tsens_point1_data[3] =
			(((tsens_base0_data) + tsens3_point1) << 2);
		calib_tsens_point1_data[3] = calib_tsens_point1_data[3] -
						TSENS_MSM8909_D30_WA_S3;
		calib_tsens_point1_data[4] =
			(((tsens_base0_data) + tsens4_point1) << 2);
		calib_tsens_point1_data[4] = calib_tsens_point1_data[4] -
						TSENS_MSM8909_D30_WA_S4;
	}

	if (tsens_calibration_mode == TSENS_TWO_POINT_CALIB) {
@@ -3454,12 +3466,18 @@ static int tsens_calib_msm8909_sensors(struct tsens_tm_device *tmdev)
			((tsens_base1_data + tsens0_point2) << 2);
		calib_tsens_point2_data[1] =
			((tsens_base1_data + tsens1_point2) << 2);
		calib_tsens_point2_data[1] = calib_tsens_point2_data[1] -
						TSENS_MSM8909_D120_WA_S1;
		calib_tsens_point2_data[2] =
			((tsens_base1_data + tsens2_point2) << 2);
		calib_tsens_point2_data[3] =
			((tsens_base1_data + tsens3_point2) << 2);
		calib_tsens_point2_data[3] = calib_tsens_point2_data[3] -
						TSENS_MSM8909_D120_WA_S3;
		calib_tsens_point2_data[4] =
			((tsens_base1_data + tsens4_point2) << 2);
		calib_tsens_point2_data[4] = calib_tsens_point2_data[4] -
						TSENS_MSM8909_D120_WA_S4;
	}

	for (i = 0; i < tmdev->tsens_num_sensor; i++) {