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

Commit d3166d80 authored by jialongjhan's avatar jialongjhan Committed by jialongjhan(169283)
Browse files

Modify Power on/off sequence

Root cause:
According to Factory's response, LCM have problem of liquid-crystal polarization.
But it is happen rarely. Vendor says it related to power on/off sequence.
After I contact with LCM module Vendor, I decide to adjust power on/off sequence.

How to fix:
In qpnp-lcdb-regulator.c,
I overwrite power up/down ctrl's delay time in qpnp_lcdb_requlator_probe().
Therefore, VSN and VSP has no more pull up/down at same time.

In mdss_io_util.c,
I add delay time 10ms when pull up/down vddio in power on/off sequence.

I alse move "pull low TP reset pin" to mdss_dsi_panel.c from mdss_dsi.c
Therefore, TP reset pin and LCD reset pin will pull low at same time.

I measure power on/off sequence,
it has order to pull up/low and match with power on/off sequence.

RiskArea:
display, requlator

Change-Id: Ib3a269dc2872aa2cba5a8a6ddb7c198f8be9668d
(cherry picked from commit 96acc3169b20a00b60efd4a894e63cd3f581e3e2)
parent 4fd2301e
Loading
Loading
Loading
Loading

drivers/regulator/core.c

100644 → 100755
+0 −0

File mode changed from 100644 to 100755.

+11 −1
Original line number Diff line number Diff line
@@ -12,6 +12,9 @@
 */

#define pr_fmt(fmt)	"LCDB: %s: " fmt, __func__
//[Arima][8901][Jialongjhan]Add delay time between VSN and VSP 20191104 Start
#define LCDB_PWRUP_PWRDN_CTL_REG 0x66
//[Arima][8901][Jialongjhan]Add delay time between VSN and VSP 20191104 End

#include <linux/delay.h>
#include <linux/device.h>
@@ -2174,6 +2177,9 @@ static int qpnp_lcdb_regulator_probe(struct platform_device *pdev)
	int rc;
	struct device_node *node;
	struct qpnp_lcdb *lcdb;
	//[Arima][8901][Jialongjhan]Add delay time between VSN and VSP 20191104 Start
	u8 val = 0xF; // 0xF==1111==VSN delay 8ms; VSP delay 8ms
	//[Arima][8901][Jialongjhan]Add delay time between VSN and VSP 20191104 End
	
	node = pdev->dev.of_node;
	if (!node) {
@@ -2216,6 +2222,10 @@ static int qpnp_lcdb_regulator_probe(struct platform_device *pdev)
			lcdb->lcdb_enabled, lcdb->ldo.voltage_mv,
			lcdb->ncp.voltage_mv, lcdb->bst.voltage_mv);

	//[Arima][8901][Jialongjhan]Add delay time between VSN and VSP 20191104 Start
	rc = qpnp_lcdb_write(lcdb, lcdb->base + LCDB_PWRUP_PWRDN_CTL_REG , &val, 1);
	//[Arima][8901][Jialongjhan]Add delay time between VSN and VSP 20191104 End
	
	return rc;
}

+0 −0

File mode changed from 100644 to 100755.

+0 −0

File mode changed from 100644 to 100755.

+0 −0

File mode changed from 100644 to 100755.

Loading