summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-imx/speed-imx1.c5
-rw-r--r--arch/arm/mach-imx/speed-imx27.c5
-rw-r--r--arch/arm/mach-imx/speed-imx31.c5
-rw-r--r--drivers/serial/serial_imx.c2
-rw-r--r--include/asm-arm/arch-imx/clock.h1
5 files changed, 17 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/speed-imx1.c b/arch/arm/mach-imx/speed-imx1.c
index de593a9e3b..22f953b8a9 100644
--- a/arch/arm/mach-imx/speed-imx1.c
+++ b/arch/arm/mach-imx/speed-imx1.c
@@ -69,6 +69,11 @@ ulong imx_get_perclk3(void)
return imx_get_spllclk() / (((PCDR>>16) & 0x7f)+1);
}
+ulong imx_get_uartclk(void)
+{
+ return imx_get_perclk1(void);
+}
+
#if 0
typedef enum imx_cookies {
PARAM_CPUCLK,
diff --git a/arch/arm/mach-imx/speed-imx27.c b/arch/arm/mach-imx/speed-imx27.c
index 06c69b597d..94d00e5ceb 100644
--- a/arch/arm/mach-imx/speed-imx27.c
+++ b/arch/arm/mach-imx/speed-imx27.c
@@ -134,6 +134,11 @@ ulong imx_get_perclk4(void)
return imx_decode_perclk(((PCDR1 >> 24) & 0x3f) + 1);
}
+ulong imx_get_uartclk(void)
+{
+ return imx_get_perclk1();
+}
+
int imx_dump_clocks(void)
{
uint32_t cid = CID;
diff --git a/arch/arm/mach-imx/speed-imx31.c b/arch/arm/mach-imx/speed-imx31.c
index ae39392730..a626692d3e 100644
--- a/arch/arm/mach-imx/speed-imx31.c
+++ b/arch/arm/mach-imx/speed-imx31.c
@@ -60,4 +60,9 @@ int imx_dump_clocks(void)
return 0;
}
+ulong imx_get_uartclk(void)
+{
+ return imx_get_perclk1();
+}
+
late_initcall(imx_dump_clocks);
diff --git a/drivers/serial/serial_imx.c b/drivers/serial/serial_imx.c
index 14f3059bba..edb9fba703 100644
--- a/drivers/serial/serial_imx.c
+++ b/drivers/serial/serial_imx.c
@@ -176,7 +176,7 @@ static int imx_serial_reffreq(ulong base)
rfdiv = (UFCR(base) >> 7) & 7;
rfdiv = rfdiv < 6 ? 6 - rfdiv : 7;
- return imx_get_perclk1() / rfdiv;
+ return imx_get_uartclk() / rfdiv;
}
/*
diff --git a/include/asm-arm/arch-imx/clock.h b/include/asm-arm/arch-imx/clock.h
index a7bfcaa66d..4a565d7c6f 100644
--- a/include/asm-arm/arch-imx/clock.h
+++ b/include/asm-arm/arch-imx/clock.h
@@ -24,5 +24,6 @@ ulong imx_get_perclk2(void);
ulong imx_get_perclk3(void);
ulong imx_get_ahbclk(void);
ulong imx_get_ipgclk(void);
+ulong imx_get_uartclk(void);
#endif /* __ASM_ARCH_CLOCK_H */