summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/armv7/zynq
diff options
context:
space:
mode:
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>2013-11-29 19:01:25 +0530
committerMichal Simek <michal.simek@xilinx.com>2014-05-14 07:43:34 +0200
commit96a2859e54c8f6153ddb429ba730b324ab8ff352 (patch)
tree8890a8ad20c02a1bdfade488cadc48b8147224a6 /arch/arm/cpu/armv7/zynq
parent5b73caffeb12b0f635693ce4c53177de86dd3b38 (diff)
downloadblackbird-obmc-uboot-96a2859e54c8f6153ddb429ba730b324ab8ff352.tar.gz
blackbird-obmc-uboot-96a2859e54c8f6153ddb429ba730b324ab8ff352.zip
ARM: zynq: Added efuse status register base address
Added efuse status register base address. This register is used for determining whether efuse was blown or not. Also, added the zynq_get_silicon_version() to get the silicon version of the zynq board. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch/arm/cpu/armv7/zynq')
-rw-r--r--arch/arm/cpu/armv7/zynq/cpu.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/zynq/cpu.c b/arch/arm/cpu/armv7/zynq/cpu.c
index 7626b5c1a3..816d0c5da7 100644
--- a/arch/arm/cpu/armv7/zynq/cpu.c
+++ b/arch/arm/cpu/armv7/zynq/cpu.c
@@ -14,6 +14,9 @@ void lowlevel_init(void)
{
}
+#define ZYNQ_SILICON_VER_MASK 0xF0000000
+#define ZYNQ_SILICON_VER_SHIFT 28
+
int arch_cpu_init(void)
{
zynq_slcr_unlock();
@@ -42,6 +45,16 @@ int arch_cpu_init(void)
return 0;
}
+unsigned int zynq_get_silicon_version(void)
+{
+ unsigned int ver;
+
+ ver = (readl(&devcfg_base->mctrl) &
+ ZYNQ_SILICON_VER_MASK) >> ZYNQ_SILICON_VER_SHIFT;
+
+ return ver;
+}
+
void reset_cpu(ulong addr)
{
zynq_slcr_cpu_reset();
OpenPOWER on IntegriCloud