xref: /rk3399_ARM-atf/plat/nxp/common/setup/include/bl31_data.h (revision 9719e19a977df3e8bf7567b3c0e1d6b2ebc5b46f)
1*b53c2c5fSPankaj Gupta /*
2*b53c2c5fSPankaj Gupta  * Copyright 2018-2020 NXP
3*b53c2c5fSPankaj Gupta  *
4*b53c2c5fSPankaj Gupta  * SPDX-License-Identifier: BSD-3-Clause
5*b53c2c5fSPankaj Gupta  *
6*b53c2c5fSPankaj Gupta  */
7*b53c2c5fSPankaj Gupta 
8*b53c2c5fSPankaj Gupta #ifndef BL31_DATA_H
9*b53c2c5fSPankaj Gupta #define	BL31_DATA_H
10*b53c2c5fSPankaj Gupta 
11*b53c2c5fSPankaj Gupta #define SECURE_DATA_BASE     NXP_OCRAM_ADDR
12*b53c2c5fSPankaj Gupta #define SECURE_DATA_SIZE     NXP_OCRAM_SIZE
13*b53c2c5fSPankaj Gupta #define SECURE_DATA_TOP      (SECURE_DATA_BASE + SECURE_DATA_SIZE)
14*b53c2c5fSPankaj Gupta #define SMC_REGION_SIZE      0x80
15*b53c2c5fSPankaj Gupta #define SMC_GLBL_BASE        (SECURE_DATA_TOP - SMC_REGION_SIZE)
16*b53c2c5fSPankaj Gupta #define BC_PSCI_DATA_SIZE    0xC0
17*b53c2c5fSPankaj Gupta #define BC_PSCI_BASE         (SMC_GLBL_BASE - BC_PSCI_DATA_SIZE)
18*b53c2c5fSPankaj Gupta #define SECONDARY_TOP        BC_PSCI_BASE
19*b53c2c5fSPankaj Gupta 
20*b53c2c5fSPankaj Gupta #define SEC_PSCI_DATA_SIZE   0xC0
21*b53c2c5fSPankaj Gupta #define SEC_REGION_SIZE      SEC_PSCI_DATA_SIZE
22*b53c2c5fSPankaj Gupta 
23*b53c2c5fSPankaj Gupta /* SMC global data */
24*b53c2c5fSPankaj Gupta #define BOOTLOC_OFFSET       0x0
25*b53c2c5fSPankaj Gupta #define BOOT_SVCS_OSET       0x8
26*b53c2c5fSPankaj Gupta 
27*b53c2c5fSPankaj Gupta /* offset to prefetch disable mask */
28*b53c2c5fSPankaj Gupta #define PREFETCH_DIS_OFFSET  0x10
29*b53c2c5fSPankaj Gupta /* must reference last smc global entry */
30*b53c2c5fSPankaj Gupta #define LAST_SMC_GLBL_OFFSET 0x18
31*b53c2c5fSPankaj Gupta 
32*b53c2c5fSPankaj Gupta #define SMC_TASK_OFFSET      0xC
33*b53c2c5fSPankaj Gupta #define TSK_START_OFFSET     0x0
34*b53c2c5fSPankaj Gupta #define TSK_DONE_OFFSET      0x4
35*b53c2c5fSPankaj Gupta #define TSK_CORE_OFFSET      0x8
36*b53c2c5fSPankaj Gupta #define SMC_TASK1_BASE       (SMC_GLBL_BASE + 32)
37*b53c2c5fSPankaj Gupta #define SMC_TASK2_BASE       (SMC_TASK1_BASE + SMC_TASK_OFFSET)
38*b53c2c5fSPankaj Gupta #define SMC_TASK3_BASE       (SMC_TASK2_BASE + SMC_TASK_OFFSET)
39*b53c2c5fSPankaj Gupta #define SMC_TASK4_BASE       (SMC_TASK3_BASE + SMC_TASK_OFFSET)
40*b53c2c5fSPankaj Gupta 
41*b53c2c5fSPankaj Gupta /* psci data area offsets */
42*b53c2c5fSPankaj Gupta #define CORE_STATE_DATA    0x0
43*b53c2c5fSPankaj Gupta #define SPSR_EL3_DATA      0x8
44*b53c2c5fSPankaj Gupta #define CNTXT_ID_DATA      0x10
45*b53c2c5fSPankaj Gupta #define START_ADDR_DATA    0x18
46*b53c2c5fSPankaj Gupta #define LINK_REG_DATA      0x20
47*b53c2c5fSPankaj Gupta #define GICC_CTLR_DATA     0x28
48*b53c2c5fSPankaj Gupta #define ABORT_FLAG_DATA    0x30
49*b53c2c5fSPankaj Gupta #define SCTLR_DATA         0x38
50*b53c2c5fSPankaj Gupta #define CPUECTLR_DATA      0x40
51*b53c2c5fSPankaj Gupta #define AUX_01_DATA        0x48  /* usage defined per SoC */
52*b53c2c5fSPankaj Gupta #define AUX_02_DATA        0x50  /* usage defined per SoC */
53*b53c2c5fSPankaj Gupta #define AUX_03_DATA        0x58  /* usage defined per SoC */
54*b53c2c5fSPankaj Gupta #define AUX_04_DATA        0x60  /* usage defined per SoC */
55*b53c2c5fSPankaj Gupta #define AUX_05_DATA        0x68  /* usage defined per SoC */
56*b53c2c5fSPankaj Gupta #define AUX_06_DATA        0x70  /* usage defined per SoC */
57*b53c2c5fSPankaj Gupta #define AUX_07_DATA        0x78  /* usage defined per SoC */
58*b53c2c5fSPankaj Gupta #define SCR_EL3_DATA       0x80
59*b53c2c5fSPankaj Gupta #define HCR_EL2_DATA       0x88
60*b53c2c5fSPankaj Gupta 
61*b53c2c5fSPankaj Gupta #endif /* BL31_DATA_H */
62