Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
056904cb
Commit
056904cb
authored
Jun 09, 2015
by
danh-arm
Browse files
Merge pull request #314 from sandrine-bailleux/sb/css-data-structs
Clarify some CSS data structures
parents
5720b280
fe55612b
Changes
3
Hide whitespace changes
Inline
Side-by-side
include/plat/arm/css/common/css_def.h
View file @
056904cb
...
...
@@ -37,11 +37,9 @@
/*************************************************************************
* Definitions common to all ARM Compute SubSystems (CSS)
*************************************************************************/
#define MHU_SECURE_BASE ARM_SHARED_RAM_BASE
#define MHU_SECURE_SIZE ARM_SHARED_RAM_SIZE
#define MHU_PAYLOAD_CACHED 0
#define TRUSTED_MAILBOXES_BASE
MHU_SECURE
_BASE
#define TRUSTED_MAILBOXES_BASE
ARM_TRUSTED_SRAM
_BASE
#define TRUSTED_MAILBOX_SHIFT 4
#define NSROM_BASE 0x1f000000
...
...
@@ -66,11 +64,29 @@
#define CSS_IRQ_TZC 80
#define CSS_IRQ_TZ_WDOG 86
/* SCP <=> AP boot configuration */
#define SCP_BOOT_CFG_ADDR 0x04000080
/*
* SCP <=> AP boot configuration
*
* The SCP/AP boot configuration is a 32-bit word located at a known offset from
* the start of the Trusted SRAM. Part of this configuration is which CPU is the
* primary, according to the shift and mask definitions below.
*
* Note that the value stored at this address is only valid at boot time, before
* the BL3-0 image is transferred to SCP.
*/
#define SCP_BOOT_CFG_ADDR (ARM_TRUSTED_SRAM_BASE + 0x80)
#define PRIMARY_CPU_SHIFT 8
#define PRIMARY_CPU_BIT_WIDTH 4
/*
* Base address of the first memory region used for communication between AP
* and SCP. Used by the BOM and SCPI protocols.
*
* Note that this is located at the same address as SCP_BOOT_CFG_ADDR, which
* means the SCP/AP configuration data gets overwritten when the AP initiates
* communication with the SCP.
*/
#define SCP_COM_SHARED_MEM_BASE (ARM_TRUSTED_SRAM_BASE + 0x80)
#define CSS_MAP_DEVICE MAP_REGION_FLAT( \
CSS_DEVICE_BASE, \
...
...
plat/arm/css/common/css_scp_bootloader.c
View file @
056904cb
...
...
@@ -60,7 +60,7 @@ typedef struct {
* Unlike the SCPI protocol, the boot protocol uses the same memory region
* for both AP -> SCP and SCP -> AP transfers; define the address of this...
*/
#define BOM_SHARED_MEM
(MHU_SECURE_BASE + 0x0080)
#define BOM_SHARED_MEM
SCP_COM_SHARED_MEM_BASE
#define BOM_CMD_HEADER ((bom_cmd_t *) BOM_SHARED_MEM)
#define BOM_CMD_PAYLOAD ((void *) (BOM_SHARED_MEM + sizeof(bom_cmd_t)))
...
...
@@ -181,7 +181,7 @@ int scp_bootloader_transfer(void *image, unsigned int image_size)
BOM_CMD_HEADER
->
id
=
BOOT_CMD_DATA
;
cmd_data_payload
=
BOM_CMD_PAYLOAD
;
cmd_data_payload
->
offset
=
(
uintptr_t
)
image
-
MHU_SECURE
_BASE
;
cmd_data_payload
->
offset
=
(
uintptr_t
)
image
-
ARM_TRUSTED_SRAM
_BASE
;
cmd_data_payload
->
block_size
=
image_size
;
scp_boot_message_send
(
sizeof
(
*
cmd_data_payload
));
...
...
plat/arm/css/common/css_scpi.c
View file @
056904cb
...
...
@@ -37,8 +37,8 @@
#include "css_mhu.h"
#include "css_scpi.h"
#define SCPI_SHARED_MEM_SCP_TO_AP
(MHU_SECURE_BASE + 0x0080)
#define SCPI_SHARED_MEM_AP_TO_SCP (
MHU_SECURE
_BASE + 0x0
18
0)
#define SCPI_SHARED_MEM_SCP_TO_AP
SCP_COM_SHARED_MEM_BASE
#define SCPI_SHARED_MEM_AP_TO_SCP (
SCP_COM_SHARED_MEM
_BASE + 0x
1
00)
#define SCPI_CMD_HEADER_AP_TO_SCP \
((scpi_cmd_t *) SCPI_SHARED_MEM_AP_TO_SCP)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment