]> git.sur5r.net Git - u-boot/commitdiff
MX31: Cleanup clock function
authorStefano Babic <sbabic@denx.de>
Wed, 13 Jul 2011 12:34:52 +0000 (14:34 +0200)
committerStefano Babic <sbabic@denx.de>
Mon, 18 Jul 2011 12:41:48 +0000 (14:41 +0200)
The patch provide the same API used with other i.MX
processors and get rid of mx31_ functions.

Signed-off-by: Stefano Babic <sbabic@denx.de>
arch/arm/cpu/arm1136/mx31/generic.c
arch/arm/include/asm/arch-mx31/clock.h
drivers/spi/mxc_spi.c

index 4ebf38d7656532e66e688d7a658b381462db9e80..248431b9bc58ecf60f6d3563ec3954ee9ca28bb5 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <common.h>
 #include <asm/arch/imx-regs.h>
+#include <asm/arch/clock.h>
 #include <asm/io.h>
 
 static u32 mx31_decode_pll(u32 reg, u32 infreq)
@@ -60,7 +61,7 @@ static u32 mx31_get_mcu_main_clk(void)
        return mx31_get_mpl_dpdgck_clk();
 }
 
-u32 mx31_get_ipg_clk(void)
+static u32 mx31_get_ipg_clk(void)
 {
        u32 freq = mx31_get_mcu_main_clk();
        u32 pdr0 = __REG(CCM_PDR0);
@@ -78,6 +79,24 @@ void mx31_dump_clocks(void)
        printf("ipg clock     : %dHz\n", mx31_get_ipg_clk());
 }
 
+unsigned int mxc_get_clock(enum mxc_clock clk)
+{
+       switch (clk) {
+       case MXC_ARM_CLK:
+               return mx31_get_mcu_main_clk();
+       case MXC_IPG_CLK:
+       case MXC_CSPI_CLK:
+       case MXC_UART_CLK:
+               return mx31_get_ipg_clk();
+       }
+       return -1;
+}
+
+u32 imx_get_uartclk(void)
+{
+       return mxc_get_clock(MXC_UART_CLK);
+}
+
 void mx31_gpio_mux(unsigned long mode)
 {
        unsigned long reg, shift, tmp;
index 9f7ae8036e7265cd0a8485fd3502c048ee6e9a3d..fb035c4993ff44282479affb175e15076cb89733 100644 (file)
 #ifndef __ASM_ARCH_CLOCK_H
 #define __ASM_ARCH_CLOCK_H
 
-extern u32 mx31_get_ipg_clk(void);
-#define imx_get_uartclk mx31_get_ipg_clk
+enum mxc_clock {
+       MXC_ARM_CLK,
+       MXC_IPG_CLK,
+       MXC_CSPI_CLK,
+       MXC_UART_CLK,
+};
+
+unsigned int mxc_get_clock(enum mxc_clock clk);
+extern u32 imx_get_uartclk();
 extern void mx31_gpio_mux(unsigned long mode);
 extern void mx31_set_pad(enum iomux_pins pin, u32 config);
 
index 698e7266e8167c98f20ee635ba4ebdad68cb5c23..81381d9b9ae2804aa5ac139a9d10d030b1225167 100644 (file)
@@ -60,8 +60,6 @@ static unsigned long spi_bases[] = {
        0x53f84000,
 };
 
-#define mxc_get_clock(x)       mx31_get_ipg_clk()
-
 #elif defined(CONFIG_MX51)
 
 #define MXC_CSPICTRL_EN                (1 << 0)