From: Michal Simek Date: Thu, 4 Sep 2014 12:28:35 +0000 (+0200) Subject: zynqmp: Detect silicon version based on cpu clock X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dfa8117a95f88ae3db27c9405b4dab2c97a1d919;p=thirdparty%2Fu-boot.git zynqmp: Detect silicon version based on cpu clock U-Boot with ATF can't read CSU register space because it is in secure space that's why cpu clock freq is used. cpu clock is setup by firmware that's why can be used for platform detection. Revert this patch when CSU register can be read from non secure space. Signed-off-by: Michal Simek --- diff --git a/arch/arm/cpu/armv8/zynqmp/cpu.c b/arch/arm/cpu/armv8/zynqmp/cpu.c index a9082316d23..5d2c93a9cab 100644 --- a/arch/arm/cpu/armv8/zynqmp/cpu.c +++ b/arch/arm/cpu/armv8/zynqmp/cpu.c @@ -13,12 +13,25 @@ #define ZYNQ_SILICON_VER_MASK 0xF000 #define ZYNQ_SILICON_VER_SHIFT 12 +DECLARE_GLOBAL_DATA_PTR; + unsigned int zynqmp_get_silicon_version(void) { +#if 0 unsigned int ver; ver = (readl(&csu_base->version) & ZYNQ_SILICON_VER_MASK) >> ZYNQ_SILICON_VER_SHIFT; return ver; +#endif + + switch (gd->cpu_clk) { + case 400000: + return ZYNQMP_CSU_VERSION_VELOCE; + case 50000000: + return ZYNQMP_CSU_VERSION_QEMU; + } + + return ZYNQMP_CSU_VERSION_EP108; }