Merge "AndroidBoot: Switch to arm-linux-androideabi toolchain."
diff --git a/platform/msm_shared/mipi_dsi_autopll.c b/platform/msm_shared/mipi_dsi_autopll.c
index d21e8d7..0dfcdc1 100755
--- a/platform/msm_shared/mipi_dsi_autopll.c
+++ b/platform/msm_shared/mipi_dsi_autopll.c
@@ -105,7 +105,7 @@
writel(0x2b, ctl_base + 0x0278); /* Cal CFG3 */
writel(0x66, ctl_base + 0x027c); /* Cal CFG4 */
- writel(0x05, ctl_base + 0x0264); /* LKDetect CFG2 */
+ writel(0x0d, ctl_base + 0x0264); /* LKDetect CFG2 */
rem = pd->vco_clock % VCO_REF_CLOCK_RATE;
if (rem) {
@@ -149,11 +149,6 @@
cal_cfg11 = gen_vco_clk / 256000000;
cal_cfg10 = (gen_vco_clk % 256000000) / 1000000;
- writel(0x02, ctl_base + 0x0208); /* PUMP CFG */
- writel(0x2b, ctl_base + 0x0278); /* CAL CFG3 */
- writel(0x66, ctl_base + 0x027c); /* CAL CFG4 */
- writel(0x0d, ctl_base + 0x0264); /* LKDetect CFG2 */
-
writel(sdm_cfg1 & 0xff , ctl_base + 0x023c); /* SDM CFG1 */
writel(sdm_cfg2 & 0xff , ctl_base + 0x0240); /* SDM CFG2 */
writel(sdm_cfg3 & 0xff, ctl_base + 0x0244); /* SDM CFG3 */
diff --git a/target/msm8226/target_display.c b/target/msm8226/target_display.c
index a176b58..06ce3cf 100755
--- a/target/msm8226/target_display.c
+++ b/target/msm8226/target_display.c
@@ -46,6 +46,7 @@
#define HFPLL_LDO_ID 8
#define MAX_M_SEQ_COUNTER 7
+#define DSI_PLL_POLL_MAX_READS 10
static struct pm8x41_wled_data wled_ctrl = {
.mod_scheme = 0x00,
@@ -56,6 +57,20 @@
.fdbck = 0x1
};
+static int mdss_dsi_pll_lock_status(uint32_t ctl_base)
+{
+ int pll_locked = 0, i = 0;
+
+ while (i < DSI_PLL_POLL_MAX_READS) {
+ pll_locked = (readl(ctl_base + 0x02c0) & 0x01);
+ if (pll_locked)
+ break;
+ udelay(50);
+ i++;
+ }
+ return pll_locked;
+}
+
static uint32_t dsi_pll_enable_seq_m(uint32_t ctl_base)
{
uint32_t i = 0;
@@ -77,7 +92,7 @@
udelay(600);
mdss_dsi_uniphy_pll_lock_detect_setting(ctl_base);
- pll_locked = readl(ctl_base + 0x02c0) & 0x01;
+ pll_locked = mdss_dsi_pll_lock_status(ctl_base);
for (i = 0; (i < MAX_M_SEQ_COUNTER) && !pll_locked; i++) {
writel(0x00, ctl_base + 0x0214); /* PWRGEN CFG */
udelay(50);
@@ -86,7 +101,7 @@
writel(0x0f, ctl_base + 0x0220); /* GLB CFG */
udelay(600);
mdss_dsi_uniphy_pll_lock_detect_setting(ctl_base);
- pll_locked = readl(ctl_base + 0x02c0) & 0x01;
+ pll_locked = mdss_dsi_pll_lock_status(ctl_base);
}
return pll_locked;
@@ -119,7 +134,7 @@
udelay(600);
mdss_dsi_uniphy_pll_lock_detect_setting(ctl_base);
- pll_locked = readl(ctl_base + 0x02c0) & 0x01;
+ pll_locked = mdss_dsi_pll_lock_status(ctl_base);
return pll_locked;
}
@@ -149,7 +164,7 @@
udelay(600);
mdss_dsi_uniphy_pll_lock_detect_setting(ctl_base);
- pll_locked = readl(ctl_base + 0x02c0) & 0x01;
+ pll_locked = mdss_dsi_pll_lock_status(ctl_base);
return pll_locked;
}
@@ -175,7 +190,7 @@
udelay(600);
mdss_dsi_uniphy_pll_lock_detect_setting(ctl_base);
- pll_locked = readl(ctl_base + 0x02c0) & 0x01;
+ pll_locked = mdss_dsi_pll_lock_status(ctl_base);
return pll_locked;
}
@@ -203,7 +218,7 @@
udelay(600);
mdss_dsi_uniphy_pll_lock_detect_setting(ctl_base);
- pll_locked = readl(ctl_base + 0x02c0) & 0x01;
+ pll_locked = mdss_dsi_pll_lock_status(ctl_base);
return pll_locked;
}