mx31: Define default SoC input clock frequencies
Subsystems (2)
PATCH 1/1 mx31: Define default SoC input clock frequencies
Define default SoC input clock frequencies for i.MX31 in order to get rid of duplicated definitions.
Signed-off-by Beno?t Th?baudeau <[email protected]>
Cc Stefano Babic <[email protected]>
Cc Fabio Estevam <[email protected]>
Cc Wolfgang Denk <[email protected]>
Cc Helmut Raiger <[email protected]>
--- .../arch/arm/cpu/arm1136/mx31/generic.c | 4 ++-- .../arch/arm/cpu/arm1136/mx31/timer.c | 16 ++++++++-------- .../arch/arm/include/asm/arch-mx31/clock.h | 14 ++++++++++++++ .../include/configs/imx31_litekit.h | 1 - .../include/configs/imx31_phycore.h | 1 - .../include/configs/mx31ads.h | 2 -- .../include/configs/mx31pdk.h | 2 -- .../include/configs/qong.h | 2 -- .../include/configs/tt01.h | 2 -- 9 files changed, 24 insertions(+), 20 deletions(-)
arch/arm/cpu/arm1136/mx31/generic.c +2 -2
@@ -47,9 +47,9 @@ static u32 mx31_get_mpl_dpdgck_clk(void)u32 infreq;if ((readl (CCM_CCMR ) &CCMR_PRCS_MASK ) ==CCMR_FPM ) - infreq =CONFIG_MX31_CLK32 *1024 ; + infreq =MXC_CLK32 *1024 ;else - infreq =CONFIG_MX31_HCLK_FREQ ; + infreq =MXC_HCLK ;return mx31_decode_pll (readl (CCM_MPCTL ), infreq); }
arch/arm/cpu/arm1136/mx31/timer.c +8 -8
@@ -23,6 +23,7 @@#include <common.h> #include <asm/arch/imx-regs.h> +#include <asm/arch/clock.h> #include <div64.h> #include <watchdog.h> #include <asm/io.h>
@@ -53,28 +54,27 @@ DECLARE_GLOBAL_DATA_PTR;static inline unsigned long long tick_to_time (unsigned long long tick) { tick *=CONFIG_SYS_HZ ; -do_div (tick,CONFIG_MX31_CLK32 ); +do_div (tick,MXC_CLK32 );return tick; }static inline unsigned long long time_to_tick (unsigned long long time) { - time *=CONFIG_MX31_CLK32 ; + time *=MXC_CLK32 ;do_div (time,CONFIG_SYS_HZ );return time; }static inline unsigned long long us_to_tick (unsigned long long us) { - us = us *CONFIG_MX31_CLK32 +999999 ; + us = us *MXC_CLK32 +999999 ;do_div (us,1000000 );return us; }#else /* ~2% error */ -#define TICK_PER_TIME ((CONFIG_MX31_CLK32 + CONFIG_SYS_HZ / 2) \ - / CONFIG_SYS_HZ) -#define US_PER_TICK (1000000 / CONFIG_MX31_CLK32) +#define TICK_PER_TIME ((MXC_CLK32 + CONFIG_SYS_HZ / 2) / CONFIG_SYS_HZ) +#define US_PER_TICK (1000000 / MXC_CLK32)static inline unsigned long long tick_to_time (unsigned long long tick) {
@@ -128,7 +128,7 @@ ulong get_timer_masked(void) {/* * get_ticks() returns a long long (64 bit), it wraps in -* 2^64 / CONFIG_MX31_CLK32 = 2^64 / 2^15 = 2^49 ~ 5 * 10^14 (s) ~ +* 2^64 / MXC_CLK32 = 2^64 / 2^15 = 2^49 ~ 5 * 10^14 (s) ~ * 5 * 10^9 days... and get_ticks() * CONFIG_SYS_HZ wraps in * 5 * 10^6 days - long enough. */
@@ -159,7 +159,7 @@ void __udelay(unsigned long usec)*/ ulong get_tbclk (void ) { -return CONFIG_MX31_CLK32 ; +return MXC_CLK32 ; }void reset_cpu (ulong addr)
arch/arm/include/asm/arch-mx31/clock.h +14 -0
@@ -24,6 +24,20 @@#ifndef __ASM_ARCH_CLOCK_H#define __ASM_ARCH_CLOCK_H +#include <common.h> + +#ifdef CONFIG_MX31_HCLK_FREQ +#define MXC_HCLK CONFIG_MX31_HCLK_FREQ +#else +#define MXC_HCLK 26000000 +#endif + +#ifdef CONFIG_MX31_CLK32 +#define MXC_CLK32 CONFIG_MX31_CLK32 +#else +#define MXC_CLK32 32768 +#endif +enum mxc_clock {MXC_ARM_CLK , MXC_IPG_CLK,
include/configs/imx31_litekit.h +0 -1
@@ -33,7 +33,6 @@/* High Level Configuration Options */ #define CONFIG_ARM1136 1/* This is an arm1136 CPU core */ #define CONFIG_MX31 1/* in a mx31 */ -#define CONFIG_MX31_HCLK_FREQ 26000000#define CONFIG_MX31_CLK32 32000#define CONFIG_DISPLAY_CPUINFO
include/configs/imx31_phycore.h +0 -1
@@ -33,7 +33,6 @@/* High Level Configuration Options */ #define CONFIG_ARM1136 /* This is an arm1136 CPU core */ #define CONFIG_MX31 /* in a mx31 */ -#define CONFIG_MX31_HCLK_FREQ 26000000#define CONFIG_MX31_CLK32 32000#define CONFIG_DISPLAY_CPUINFO
include/configs/mx31ads.h +0 -2
@@ -27,8 +27,6 @@/* High Level Configuration Options */ #define CONFIG_ARM1136 1/* This is an arm1136 CPU core */ #define CONFIG_MX31 1/* in a mx31 */ -#define CONFIG_MX31_HCLK_FREQ 26000000/* RedBoot says 26MHz */ -#define CONFIG_MX31_CLK32 32768#define CONFIG_DISPLAY_CPUINFO #define CONFIG_DISPLAY_BOARDINFO
include/configs/mx31pdk.h +0 -2
@@ -35,8 +35,6 @@/* High Level Configuration Options */ #define CONFIG_ARM1136 /* This is an arm1136 CPU core */ #define CONFIG_MX31 /* in a mx31 */ -#define CONFIG_MX31_HCLK_FREQ 26000000 -#define CONFIG_MX31_CLK32 32768#define CONFIG_DISPLAY_CPUINFO #define CONFIG_DISPLAY_BOARDINFO
include/configs/qong.h +0 -2
@@ -28,8 +28,6 @@#define CONFIG_ARM1136 /* This is an arm1136 CPU core */ #define CONFIG_MX31 /* in a mx31 */ #define CONFIG_QONG -#define CONFIG_MX31_HCLK_FREQ 26000000/* 26MHz */ -#define CONFIG_MX31_CLK32 32768#define CONFIG_DISPLAY_CPUINFO #define CONFIG_DISPLAY_BOARDINFO
include/configs/tt01.h +0 -2
@@ -31,8 +31,6 @@/* High Level Configuration Options */ #define CONFIG_ARM1136 #define CONFIG_MX31 -#define CONFIG_MX31_HCLK_FREQ 26000000 -#define CONFIG_MX31_CLK32 32768#define CONFIG_DISPLAY_CPUINFO #define CONFIG_DISPLAY_BOARDINFO
PATCH 1/1 mx31: Define default SoC input clock frequencies
Quoted 9 lines · Beno?t Th?baudeau
Define default SoC input clock frequencies for i.MX31 in order to get rid of duplicated definitions.
Signed-off-by Beno?t Th?baudeau <[email protected]>Cc Stefano Babic <[email protected]>Cc Fabio Estevam <[email protected]>Cc Wolfgang Denk <[email protected]>Cc Helmut Raiger <[email protected]>---
Applied to u-boot-imx, thanks.
Best regards,
Stefano Babic
Signature · 5 lines
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================