Add support for SSC_VERSION register on CSS platforms
Each ARM Compute Subsystem based platform implements a System Security Control (SSC) Registers Unit. The SSC_VERSION register inside it carries information to identify the platform. This enables ARM Trusted Firmware to compile in support for multiple ARM platforms and choose one at runtime. This patch adds macros to enable access to this register. Each platform is expected to export its PART_NUMBER separately. Additionally, it also adds juno part number. Change-Id: I2b1d5f5b65a9c7b76c6f64480cc7cf0aef019422
This commit is contained in:
parent
ecf70f7bdb
commit
421295a017
|
@ -102,6 +102,35 @@
|
||||||
CSS_DEVICE_SIZE, \
|
CSS_DEVICE_SIZE, \
|
||||||
MT_DEVICE | MT_RW | MT_SECURE)
|
MT_DEVICE | MT_RW | MT_SECURE)
|
||||||
|
|
||||||
|
/* Platform ID address */
|
||||||
|
#define SSC_VERSION_OFFSET 0x040
|
||||||
|
|
||||||
|
#define SSC_VERSION_CONFIG_SHIFT 28
|
||||||
|
#define SSC_VERSION_MAJOR_REV_SHIFT 24
|
||||||
|
#define SSC_VERSION_MINOR_REV_SHIFT 20
|
||||||
|
#define SSC_VERSION_DESIGNER_ID_SHIFT 12
|
||||||
|
#define SSC_VERSION_PART_NUM_SHIFT 0x0
|
||||||
|
#define SSC_VERSION_CONFIG_MASK 0xf
|
||||||
|
#define SSC_VERSION_MAJOR_REV_MASK 0xf
|
||||||
|
#define SSC_VERSION_MINOR_REV_MASK 0xf
|
||||||
|
#define SSC_VERSION_DESIGNER_ID_MASK 0xff
|
||||||
|
#define SSC_VERSION_PART_NUM_MASK 0xfff
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
|
/* SSC_VERSION related accessors */
|
||||||
|
|
||||||
|
/* Returns the part number of the platform */
|
||||||
|
#define GET_SSC_VERSION_PART_NUM(val) \
|
||||||
|
(((val) >> SSC_VERSION_PART_NUM_SHIFT) & \
|
||||||
|
SSC_VERSION_PART_NUM_MASK)
|
||||||
|
|
||||||
|
/* Returns the configuration number of the platform */
|
||||||
|
#define GET_SSC_VERSION_CONFIG(val) \
|
||||||
|
(((val) >> SSC_VERSION_CONFIG_SHIFT) & \
|
||||||
|
SSC_VERSION_CONFIG_MASK)
|
||||||
|
|
||||||
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
* Required platform porting definitions common to all
|
* Required platform porting definitions common to all
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014-2015, ARM Limited and Contributors. All rights reserved.
|
* Copyright (c) 2014-2016, ARM Limited and Contributors. All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
@ -50,6 +50,7 @@
|
||||||
#define PSRAM_BASE 0x14000000
|
#define PSRAM_BASE 0x14000000
|
||||||
#define PSRAM_SIZE 0x02000000
|
#define PSRAM_SIZE 0x02000000
|
||||||
|
|
||||||
|
#define JUNO_SSC_VER_PART_NUM 0x030
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* TZC-400 related constants
|
* TZC-400 related constants
|
||||||
|
|
Loading…
Reference in New Issue