aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/opp4xxx_data.c
diff options
context:
space:
mode:
authorOleksandr Kozaruk <oleksandr.kozaruk@ti.com>2011-11-07 18:21:44 -0600
committerZiyann <jaraidaniel@gmail.com>2014-10-01 12:55:17 +0200
commit4072148d202b2fb7707951af329bcd1e79549a6d (patch)
treeb7e5bee4e66e7e8c5d514c4e7fe1db80e41a4283 /arch/arm/mach-omap2/opp4xxx_data.c
parentb6f983a2f024da6f62db479b2dd5e460a7efbf70 (diff)
downloadkernel_samsung_tuna-4072148d202b2fb7707951af329bcd1e79549a6d.zip
kernel_samsung_tuna-4072148d202b2fb7707951af329bcd1e79549a6d.tar.gz
kernel_samsung_tuna-4072148d202b2fb7707951af329bcd1e79549a6d.tar.bz2
OMAP4: DPLL: override for untrimmed unit
Read the value of DPLL TRIM register to check if unit is trimmed. If it is not trimmed override OMAP4_DPLL_NWELL_TRIM_0 register with value 0x29. Change-Id: I5a1678860a9b663b4ce9f1f53694de9930593147 Signed-off-by: Oleksandr Kozaruk <oleksandr.kozaruk@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/opp4xxx_data.c')
-rw-r--r--arch/arm/mach-omap2/opp4xxx_data.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/opp4xxx_data.c b/arch/arm/mach-omap2/opp4xxx_data.c
index dc7043e..5bc31e6 100644
--- a/arch/arm/mach-omap2/opp4xxx_data.c
+++ b/arch/arm/mach-omap2/opp4xxx_data.c
@@ -387,15 +387,21 @@ static void __init omap4_mpu_opp_enable(unsigned long freq)
int __init omap4_opp_init(void)
{
int r = -ENODEV;
+ int trimmed = 1;
if (!cpu_is_omap44xx())
return r;
if (cpu_is_omap443x())
r = omap_init_opp_table(omap443x_opp_def_list,
ARRAY_SIZE(omap443x_opp_def_list));
- else if (cpu_is_omap446x())
+ else if (cpu_is_omap446x()) {
r = omap_init_opp_table(omap446x_opp_def_list,
ARRAY_SIZE(omap446x_opp_def_list));
+ trimmed = omap_readl(0x4a002268) & ((1 << 18) | (1 << 19));
+ /* if device is untrimmed override DPLL TRIM register */
+ if (!trimmed)
+ omap_writel(0x29, 0x4a002330);
+ }
if (!r) {
if (omap4_has_mpu_1_2ghz())