aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChandan Uddaraju <chandanu@quicinc.com>2009-12-17 14:28:28 -0800
committerChandan Uddaraju <chandanu@quicinc.com>2009-12-17 15:30:24 -0800
commit852cd2ce16458c42bb7e49cdb150d9d7fee72221 (patch)
tree2987cc72a676a1bcafcc179b08dbcb7aeb08740c
parent2b0315b56f74e8d16da273f6f765333c8ae3b53f (diff)
downloadlk-852cd2ce16458c42bb7e49cdb150d9d7fee72221.tar.gz
[msm7627]: Replace thread_sleep calls and disable keypad initialization for nandwrite
Disable keypad initialization for nandwrite. Replace thread_sleep calls with mdelay.
-rwxr-xr-xplatform/msm7k/acpuclock.c21
-rw-r--r--platform/msm_shared/timer.c15
-rw-r--r--target/msm7627_ffa/init.c2
-rw-r--r--target/msm7627_surf/init.c2
4 files changed, 30 insertions, 10 deletions
diff --git a/platform/msm7k/acpuclock.c b/platform/msm7k/acpuclock.c
index 0516a574..1c545f9f 100755
--- a/platform/msm7k/acpuclock.c
+++ b/platform/msm7k/acpuclock.c
@@ -84,6 +84,9 @@ uint32_t const clk_sel_reg_val[] = {
DIV_4 << 1 | 0,
};
+void mdelay(unsigned msecs);
+
+
void acpu_clock_init(void)
{
unsigned i;
@@ -97,14 +100,11 @@ void acpu_clock_init(void)
/* Increase VDD level to the final value. */
writel((1 << 7) | (VDD_LEVEL << 3), VDD_SVS_PLEVEL_ADDR);
+#if (!ENABLE_NANDWRITE)
thread_sleep(1);
-
- /* Increase AXI bus speed. */
- //axi_clock_init(MIN_AXI_HZ);
-
- /* Turn on PLL1 and PLL2. */
- //pll_request(PLL1, 1);
- //pll_request(PLL2, 1);
+#else
+ mdelay(1);
+#endif
/* Read clock source select bit. */
i = readl(A11S_CLK_SEL_ADDR) & 1;
@@ -116,9 +116,10 @@ void acpu_clock_init(void)
* strongly ordered, so it should be fine.
*/
writel(clk_sel_reg_val[i], A11S_CLK_SEL_ADDR);
+#if (!ENABLE_NANDWRITE)
thread_sleep(1);
+#else
+ mdelay(1);
+#endif
}
-
- /* Turn off PLL1. */
- //pll_request(PLL1, 0);
}
diff --git a/platform/msm_shared/timer.c b/platform/msm_shared/timer.c
index ac1f1d9a..31cc6fff 100644
--- a/platform/msm_shared/timer.c
+++ b/platform/msm_shared/timer.c
@@ -140,3 +140,18 @@ void platform_uninit_timer(void)
writel(0, DGT_CLEAR);
wait_for_timer_op();
}
+
+void mdelay(unsigned msecs)
+{
+ msecs *= 33;
+
+ writel(0, GPT_CLEAR);
+ writel(0, GPT_ENABLE);
+ while(readl(GPT_COUNT_VAL) != 0) ;
+
+ writel(GPT_ENABLE_EN, GPT_ENABLE);
+ while(readl(GPT_COUNT_VAL) < msecs) ;
+
+ writel(0, GPT_ENABLE);
+ writel(0, GPT_CLEAR);
+}
diff --git a/target/msm7627_ffa/init.c b/target/msm7627_ffa/init.c
index 8f5ab84a..9a397792 100644
--- a/target/msm7627_ffa/init.c
+++ b/target/msm7627_ffa/init.c
@@ -87,8 +87,10 @@ void target_init(void)
dprintf(INFO, "target_init()\n");
+#if (!ENABLE_NANDWRITE)
keys_init();
keypad_init();
+#endif
if (target_is_emmc_boot())
return;
diff --git a/target/msm7627_surf/init.c b/target/msm7627_surf/init.c
index ef043c12..8a57d569 100644
--- a/target/msm7627_surf/init.c
+++ b/target/msm7627_surf/init.c
@@ -87,8 +87,10 @@ void target_init(void)
dprintf(INFO, "target_init()\n");
+#if (!ENABLE_NANDWRITE)
keys_init();
keypad_init();
+#endif
if (target_is_emmc_boot())
return;