Define default SoC input clock frequencies for i.MX31 in order to get rid of duplicated definitions.
Signed-off-by: Benoît Thébaudeau <benoit.thebaud...@advansee.com> Cc: Stefano Babic <sba...@denx.de> Cc: Fabio Estevam <fabio.este...@freescale.com> Cc: Wolfgang Denk <w...@denx.de> Cc: Helmut Raiger <helmut.rai...@hale.at> --- .../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(-) diff --git u-boot-imx-88e73dd.orig/arch/arm/cpu/arm1136/mx31/generic.c u-boot-imx-88e73dd/arch/arm/cpu/arm1136/mx31/generic.c index 8873fb7..7b53437 100644 --- u-boot-imx-88e73dd.orig/arch/arm/cpu/arm1136/mx31/generic.c +++ u-boot-imx-88e73dd/arch/arm/cpu/arm1136/mx31/generic.c @@ -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); } diff --git u-boot-imx-88e73dd.orig/arch/arm/cpu/arm1136/mx31/timer.c u-boot-imx-88e73dd/arch/arm/cpu/arm1136/mx31/timer.c index 72081a8..36266da 100644 --- u-boot-imx-88e73dd.orig/arch/arm/cpu/arm1136/mx31/timer.c +++ u-boot-imx-88e73dd/arch/arm/cpu/arm1136/mx31/timer.c @@ -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) diff --git u-boot-imx-88e73dd.orig/arch/arm/include/asm/arch-mx31/clock.h u-boot-imx-88e73dd/arch/arm/include/asm/arch-mx31/clock.h index 852c19c..9468b45 100644 --- u-boot-imx-88e73dd.orig/arch/arm/include/asm/arch-mx31/clock.h +++ u-boot-imx-88e73dd/arch/arm/include/asm/arch-mx31/clock.h @@ -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, diff --git u-boot-imx-88e73dd.orig/include/configs/imx31_litekit.h u-boot-imx-88e73dd/include/configs/imx31_litekit.h index a340e97..4af6c4b 100644 --- u-boot-imx-88e73dd.orig/include/configs/imx31_litekit.h +++ u-boot-imx-88e73dd/include/configs/imx31_litekit.h @@ -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 diff --git u-boot-imx-88e73dd.orig/include/configs/imx31_phycore.h u-boot-imx-88e73dd/include/configs/imx31_phycore.h index a412cf6..bf763f6 100644 --- u-boot-imx-88e73dd.orig/include/configs/imx31_phycore.h +++ u-boot-imx-88e73dd/include/configs/imx31_phycore.h @@ -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 diff --git u-boot-imx-88e73dd.orig/include/configs/mx31ads.h u-boot-imx-88e73dd/include/configs/mx31ads.h index cc720e8..205319d 100644 --- u-boot-imx-88e73dd.orig/include/configs/mx31ads.h +++ u-boot-imx-88e73dd/include/configs/mx31ads.h @@ -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 diff --git u-boot-imx-88e73dd.orig/include/configs/mx31pdk.h u-boot-imx-88e73dd/include/configs/mx31pdk.h index 7634de7..7f5d209 100644 --- u-boot-imx-88e73dd.orig/include/configs/mx31pdk.h +++ u-boot-imx-88e73dd/include/configs/mx31pdk.h @@ -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 diff --git u-boot-imx-88e73dd.orig/include/configs/qong.h u-boot-imx-88e73dd/include/configs/qong.h index e824e17..2ca6b5f 100644 --- u-boot-imx-88e73dd.orig/include/configs/qong.h +++ u-boot-imx-88e73dd/include/configs/qong.h @@ -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 diff --git u-boot-imx-88e73dd.orig/include/configs/tt01.h u-boot-imx-88e73dd/include/configs/tt01.h index 2b2e7fd..900366f 100644 --- u-boot-imx-88e73dd.orig/include/configs/tt01.h +++ u-boot-imx-88e73dd/include/configs/tt01.h @@ -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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot