summaryrefslogtreecommitdiff
path: root/plat/xilinx/zynqmp/aarch64
diff options
context:
space:
mode:
authordanh-arm <dan.handley@arm.com>2016-06-15 15:57:02 +0100
committerGitHub <noreply@github.com>2016-06-15 15:57:02 +0100
commit50f7101a49d39243cca5942e3a2eb92ab460bd14 (patch)
tree5f435f90c53dd23ee58bef44846b3aec284e9584 /plat/xilinx/zynqmp/aarch64
parentf9455cea8c38f36f12c524226ccfae2ed2dabf87 (diff)
parent2ba6895919546c5b346e49b1390e64b76100e85c (diff)
Merge pull request #650 from Xilinx/zynqmp-updates
Zynqmp updates
Diffstat (limited to 'plat/xilinx/zynqmp/aarch64')
-rw-r--r--plat/xilinx/zynqmp/aarch64/zynqmp_common.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/plat/xilinx/zynqmp/aarch64/zynqmp_common.c b/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
index f89cdce1..1ba301de 100644
--- a/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
+++ b/plat/xilinx/zynqmp/aarch64/zynqmp_common.c
@@ -28,12 +28,8 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include <arch_helpers.h>
-#include <cci.h>
#include <debug.h>
-#include <gicv2.h>
#include <mmio.h>
-#include <plat_arm.h>
#include <platform.h>
#include <xlat_tables.h>
#include "../zynqmp_private.h"
@@ -187,11 +183,9 @@ static char *zynqmp_print_silicon_idcode(void)
tmp = id;
tmp &= ZYNQMP_CSU_IDCODE_XILINX_ID_MASK |
- ZYNQMP_CSU_IDCODE_FAMILY_MASK |
- ZYNQMP_CSU_IDCODE_REVISION_MASK;
+ ZYNQMP_CSU_IDCODE_FAMILY_MASK;
maskid = ZYNQMP_CSU_IDCODE_XILINX_ID << ZYNQMP_CSU_IDCODE_XILINX_ID_SHIFT |
- ZYNQMP_CSU_IDCODE_FAMILY << ZYNQMP_CSU_IDCODE_FAMILY_SHIFT |
- ZYNQMP_CSU_IDCODE_REVISION << ZYNQMP_CSU_IDCODE_REVISION_SHIFT;
+ ZYNQMP_CSU_IDCODE_FAMILY << ZYNQMP_CSU_IDCODE_FAMILY_SHIFT;
if (tmp != maskid) {
ERROR("Incorrect XILINX IDCODE 0x%x, maskid 0x%x\n", id, maskid);
return "UNKN";
@@ -275,13 +269,13 @@ int zynqmp_is_pmu_up(void)
return zynqmp_pmufw_present;
}
-/*
- * A single boot loader stack is expected to work on both the Foundation ZYNQMP
- * models and the two flavours of the Base ZYNQMP models (AEMv8 & Cortex). The
- * SYS_ID register provides a mechanism for detecting the differences between
- * these platforms. This information is stored in a per-BL array to allow the
- * code to take the correct path.Per BL platform configuration.
- */
+unsigned int zynqmp_get_bootmode(void)
+{
+ uint32_t r = mmio_read_32(CRL_APB_BOOT_MODE_USER);
+
+ return r & CRL_APB_BOOT_MODE_MASK;
+}
+
void zynqmp_config_setup(void)
{
zynqmp_discover_pmufw();