diff options
-rw-r--r-- | arch/arm/cpu/arm926ejs/mx25/generic.c | 10 | ||||
-rw-r--r-- | arch/arm/include/asm/arch-mx25/clock.h | 5 |
2 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/cpu/arm926ejs/mx25/generic.c b/arch/arm/cpu/arm926ejs/mx25/generic.c index e25a695..0d1ae20 100644 --- a/arch/arm/cpu/arm926ejs/mx25/generic.c +++ b/arch/arm/cpu/arm926ejs/mx25/generic.c @@ -101,6 +101,11 @@ ulong imx_get_ahbclk(void) return fref / div; } +static ulong imx_get_ipgclk(void) +{ + return imx_get_ahbclk() / 2; +} + ulong imx_get_perclk(int clk) { struct ccm_regs *ccm = (struct ccm_regs *)IMX_CCM_BASE; @@ -120,6 +125,11 @@ unsigned int mxc_get_clock(enum mxc_clock clk) switch (clk) { case MXC_ARM_CLK: return imx_get_armclk(); + case MXC_AHB_CLK: + return imx_get_ahbclk(); + case MXC_IPG_CLK: + case MXC_CSPI_CLK: + return imx_get_ipgclk(); case MXC_FEC_CLK: return imx_get_ahbclk(); default: diff --git a/arch/arm/include/asm/arch-mx25/clock.h b/arch/arm/include/asm/arch-mx25/clock.h index a313b80..9823f46 100644 --- a/arch/arm/include/asm/arch-mx25/clock.h +++ b/arch/arm/include/asm/arch-mx25/clock.h @@ -41,6 +41,7 @@ #endif enum mxc_clock { + /* PER clocks (do not change order) */ MXC_CSI_CLK, MXC_EPIT_CLK, MXC_ESAI_CLK, @@ -57,7 +58,11 @@ enum mxc_clock { MXC_SSI1_CLK, MXC_SSI2_CLK, MXC_UART_CLK, + /* Other clocks */ MXC_ARM_CLK, + MXC_AHB_CLK, + MXC_IPG_CLK, + MXC_CSPI_CLK, MXC_FEC_CLK, MXC_CLK_NUM }; |