[PATCH 1/2] i.MX51 clock: Added lp_apm clock support for frequency calculations.
Sascha Hauer
s.hauer at pengutronix.de
Thu May 31 03:00:21 EDT 2012
On Wed, May 30, 2012 at 03:21:44PM +0400, Alexander Shiyan wrote:
>
> Signed-off-by: Alexander Shiyan <shc_work at mail.ru>
Applied, thanks
Sascha
> ---
> arch/arm/mach-imx/speed-imx51.c | 27 ++++++++++++++++++---------
> 1 files changed, 18 insertions(+), 9 deletions(-)
>
> diff --git a/arch/arm/mach-imx/speed-imx51.c b/arch/arm/mach-imx/speed-imx51.c
> index 84f4892..b691d37 100644
> --- a/arch/arm/mach-imx/speed-imx51.c
> +++ b/arch/arm/mach-imx/speed-imx51.c
> @@ -24,6 +24,14 @@ static unsigned long fpm_get_rate(void)
> return ckil_get_rate() * 512;
> }
>
> +static unsigned long lp_apm_get_rate(void)
> +{
> + if (ccm_readl(MX5_CCM_CCSR) & MX5_CCM_CCSR_LP_APM_SEL)
> + return fpm_get_rate();
> + else
> + return osc_get_rate();
> +}
> +
> static unsigned long pll_get_rate(void __iomem *pllbase)
> {
> long mfi, mfn, mfd, pdf, ref_clk, mfn_abs;
> @@ -123,7 +131,7 @@ unsigned long imx_get_uartclk(void)
> pll1_main_get_rate,
> pll2_sw_get_rate,
> pll3_sw_get_rate,
> - NULL);
> + lp_apm_get_rate);
>
> reg = ccm_readl(MX5_CCM_CSCDR1);
> prediv = ((reg & MX5_CCM_CSCDR1_UART_CLK_PRED_MASK) >>
> @@ -180,7 +188,7 @@ unsigned long imx_get_mmcclk(void)
> pll1_main_get_rate,
> pll2_sw_get_rate,
> pll3_sw_get_rate,
> - NULL);
> + lp_apm_get_rate);
>
> reg = ccm_readl(MX5_CCM_CSCDR1);
> prediv = ((reg & MX5_CCM_CSCDR1_ESDHC1_MSHC1_CLK_PRED_MASK) >>
> @@ -193,11 +201,12 @@ unsigned long imx_get_mmcclk(void)
>
> void imx_dump_clocks(void)
> {
> - printf("pll1: %ld\n", pll1_main_get_rate());
> - printf("pll2: %ld\n", pll2_sw_get_rate());
> - printf("pll3: %ld\n", pll3_sw_get_rate());
> - printf("uart: %ld\n", imx_get_uartclk());
> - printf("ipg: %ld\n", imx_get_ipgclk());
> - printf("fec: %ld\n", imx_get_fecclk());
> - printf("gpt: %ld\n", imx_get_gptclk());
> + printf("pll1: %ld\n", pll1_main_get_rate());
> + printf("pll2: %ld\n", pll2_sw_get_rate());
> + printf("pll3: %ld\n", pll3_sw_get_rate());
> + printf("lp_apm: %ld\n", lp_apm_get_rate());
> + printf("uart: %ld\n", imx_get_uartclk());
> + printf("ipg: %ld\n", imx_get_ipgclk());
> + printf("fec: %ld\n", imx_get_fecclk());
> + printf("gpt: %ld\n", imx_get_gptclk());
> }
> --
> 1.7.3.4
>
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list