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