Signed-off-by: Helmut Raiger <helmut.rai...@hale.at>
---
 arch/arm/cpu/arm1136/mx31/generic.c    |   14 ++++++++++++++
 arch/arm/include/asm/arch-mx31/clock.h |    1 +
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/arch/arm/cpu/arm1136/mx31/generic.c 
b/arch/arm/cpu/arm1136/mx31/generic.c
index 248431b..b077d29 100644
--- a/arch/arm/cpu/arm1136/mx31/generic.c
+++ b/arch/arm/cpu/arm1136/mx31/generic.c
@@ -72,6 +72,18 @@ static u32 mx31_get_ipg_clk(void)
        return freq;
 }
 
+/* hsp is the clock for the ipu */
+static u32 mx31_get_hsp_clk(void)
+{
+       u32 freq = mx31_get_mcu_main_clk();
+       u32 pdr0 = __REG(CCM_PDR0);
+
+       /* divided by HSP_PODF in PDR0 */
+       freq /= ((pdr0 >> 11) & 0x7) + 1;
+
+       return freq;
+}
+
 void mx31_dump_clocks(void)
 {
        u32 cpufreq = mx31_get_mcu_main_clk();
@@ -88,6 +100,8 @@ unsigned int mxc_get_clock(enum mxc_clock clk)
        case MXC_CSPI_CLK:
        case MXC_UART_CLK:
                return mx31_get_ipg_clk();
+       case MXC_IPU_CLK:
+               return mx31_get_hsp_clk();
        }
        return -1;
 }
diff --git a/arch/arm/include/asm/arch-mx31/clock.h 
b/arch/arm/include/asm/arch-mx31/clock.h
index fb035c4..b0aa1ce 100644
--- a/arch/arm/include/asm/arch-mx31/clock.h
+++ b/arch/arm/include/asm/arch-mx31/clock.h
@@ -29,6 +29,7 @@ enum mxc_clock {
        MXC_IPG_CLK,
        MXC_CSPI_CLK,
        MXC_UART_CLK,
+       MXC_IPU_CLK
 };
 
 unsigned int mxc_get_clock(enum mxc_clock clk);
-- 
1.7.4.4



--
Scanned by MailScanner.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to