summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/armv7/vybrid/clock.c
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2013-11-20 17:19:10 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2013-11-20 17:19:10 +0100
commit524884460ef40abe19617e9a2855d1f88a978af4 (patch)
treeda14a6b8e67bf2e1a64cbf901f6f7aa2be697783 /arch/arm/cpu/armv7/vybrid/clock.c
parent5d8d4f5ef931d6f0d0195f3961534690b3c2b08d (diff)
colibri_vf: implement module type auto detection
Implement module type (e.g. VF50 vs. VF61) auto detection based on L2 cache availability. Set specific ARM core clock (e.g. 400 vs. 500 MHz) as well as Linux machine id number. While at it actually use memargs instead of hard-coded mem= value. While at it fix sdboot command if initially booting U-Boot from NAND by doing an explicit mmc part 0.
Diffstat (limited to 'arch/arm/cpu/armv7/vybrid/clock.c')
-rw-r--r--arch/arm/cpu/armv7/vybrid/clock.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/cpu/armv7/vybrid/clock.c b/arch/arm/cpu/armv7/vybrid/clock.c
index eea6af0f57..190333943e 100644
--- a/arch/arm/cpu/armv7/vybrid/clock.c
+++ b/arch/arm/cpu/armv7/vybrid/clock.c
@@ -176,7 +176,12 @@ static u32 get_ipg_clk(void)
return freq / div;
#else
- return 66000000;
+#ifdef CONFIG_AUTO_DETECT_FREQUENCY
+ if (__raw_readl(MSCM_CP0CFG1))
+ return 83000000;
+ else
+#endif
+ return 66000000;
#endif
}