|
@@ -28,10 +28,15 @@
|
|
#include <asm/io.h>
|
|
#include <asm/io.h>
|
|
#include <asm/arch/imx-regs.h>
|
|
#include <asm/arch/imx-regs.h>
|
|
#include <asm/arch/imx25-pinmux.h>
|
|
#include <asm/arch/imx25-pinmux.h>
|
|
|
|
+#include <asm/arch/clock.h>
|
|
#ifdef CONFIG_MXC_MMC
|
|
#ifdef CONFIG_MXC_MMC
|
|
#include <asm/arch/mxcmmc.h>
|
|
#include <asm/arch/mxcmmc.h>
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#ifdef CONFIG_FSL_ESDHC
|
|
|
|
+DECLARE_GLOBAL_DATA_PTR;
|
|
|
|
+#endif
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* get the system pll clock in Hz
|
|
* get the system pll clock in Hz
|
|
*
|
|
*
|
|
@@ -105,6 +110,20 @@ ulong imx_get_perclk(int clk)
|
|
return lldiv(fref, div);
|
|
return lldiv(fref, div);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+unsigned int mxc_get_clock(enum mxc_clock clk)
|
|
|
|
+{
|
|
|
|
+ if (clk >= MXC_CLK_NUM)
|
|
|
|
+ return -1;
|
|
|
|
+ switch (clk) {
|
|
|
|
+ case MXC_ARM_CLK:
|
|
|
|
+ return imx_get_armclk();
|
|
|
|
+ case MXC_FEC_CLK:
|
|
|
|
+ return imx_get_ahbclk();
|
|
|
|
+ default:
|
|
|
|
+ return imx_get_perclk(clk);
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
u32 get_cpu_rev(void)
|
|
u32 get_cpu_rev(void)
|
|
{
|
|
{
|
|
u32 srev;
|
|
u32 srev;
|
|
@@ -182,6 +201,14 @@ int cpu_eth_init(bd_t *bis)
|
|
#endif
|
|
#endif
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+int get_clocks(void)
|
|
|
|
+{
|
|
|
|
+#ifdef CONFIG_FSL_ESDHC
|
|
|
|
+ gd->sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
|
|
|
|
+#endif
|
|
|
|
+ return 0;
|
|
|
|
+}
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Initializes on-chip MMC controllers.
|
|
* Initializes on-chip MMC controllers.
|
|
* to override, implement board_mmc_init()
|
|
* to override, implement board_mmc_init()
|