diff options
author | Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com> | 2013-11-29 19:01:25 +0530 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2014-05-14 07:43:34 +0200 |
commit | 96a2859e54c8f6153ddb429ba730b324ab8ff352 (patch) | |
tree | 8890a8ad20c02a1bdfade488cadc48b8147224a6 /arch/arm/cpu/armv7/zynq | |
parent | 5b73caffeb12b0f635693ce4c53177de86dd3b38 (diff) |
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.c | 13 |
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(); |