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

Commit 36649425 authored by Nishanth Menon's avatar Nishanth Menon Committed by Kevin Hilman
Browse files

OMAP4: PM: TWL6030: fix uv to voltage for >0x39



using 1.35V as a check is not correct, we know that beyond 0x39,
voltages are non linear - hence use the conversion iff uV greater
than that for 0x39. For example, with  709mV as the smps offset,
the max linear is actually 1.41V(0x39vsel)!

Signed-off-by: default avatarNishanth Menon <nm@ti.com>
parent 58e241f7
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -134,8 +134,13 @@ static u8 twl6030_uv_to_vsel(unsigned long uv)
	 * hardcoding only for 1.35 V which is used for 1GH OPP for
	 * hardcoding only for 1.35 V which is used for 1GH OPP for
	 * OMAP4430.
	 * OMAP4430.
	 */
	 */
	if (uv > twl6030_vsel_to_uv(0x39)) {
		if (uv == 1350000)
		if (uv == 1350000)
			return 0x3A;
			return 0x3A;
		pr_err("%s:OUT OF RANGE! non mapped vsel for %ld Vs max %ld\n",
			__func__, uv, twl6030_vsel_to_uv(0x39));
		return 0x3A;
	}


	if (smps_offset & 0x8)
	if (smps_offset & 0x8)
		return DIV_ROUND_UP(uv - 709000, 12660) + 1;
		return DIV_ROUND_UP(uv - 709000, 12660) + 1;