|
@@ -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;
|