1*60a23fd8SSummer Qin /* 2*60a23fd8SSummer Qin * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. 3*60a23fd8SSummer Qin * 4*60a23fd8SSummer Qin * SPDX-License-Identifier: BSD-3-Clause 5*60a23fd8SSummer Qin */ 6*60a23fd8SSummer Qin 7*60a23fd8SSummer Qin #ifndef __JUNO_TZMP1_DEF_H__ 8*60a23fd8SSummer Qin #define __JUNO_TZMP1_DEF_H__ 9*60a23fd8SSummer Qin 10*60a23fd8SSummer Qin #include <plat_arm.h> 11*60a23fd8SSummer Qin 12*60a23fd8SSummer Qin /* 13*60a23fd8SSummer Qin * Public memory regions for both protected and non-protected mode 14*60a23fd8SSummer Qin * 15*60a23fd8SSummer Qin * OPTEE shared memory 0xFEE00000 - 0xFEFFFFFF 16*60a23fd8SSummer Qin */ 17*60a23fd8SSummer Qin #define JUNO_AP_TZC_SHARE_DRAM1_SIZE ULL(0x02000000) 18*60a23fd8SSummer Qin #define JUNO_AP_TZC_SHARE_DRAM1_BASE (ARM_AP_TZC_DRAM1_BASE - \ 19*60a23fd8SSummer Qin JUNO_AP_TZC_SHARE_DRAM1_SIZE) 20*60a23fd8SSummer Qin #define JUNO_AP_TZC_SHARE_DRAM1_END (ARM_AP_TZC_DRAM1_BASE - 1) 21*60a23fd8SSummer Qin 22*60a23fd8SSummer Qin /* ARM_MEDIA_FEATURES for MEDIA GPU Protect Mode Test */ 23*60a23fd8SSummer Qin #define JUNO_TZC400_NSAID_FPGA_MEDIA_SECURE 8 /* GPU/DPU protected, VPU outbuf */ 24*60a23fd8SSummer Qin #define JUNO_TZC400_NSAID_FPGA_VIDEO_PROTECTED 7 /* VPU protected */ 25*60a23fd8SSummer Qin #define JUNO_TZC400_NSAID_FPGA_VIDEO_PRIVATE 10 /* VPU private (firmware) */ 26*60a23fd8SSummer Qin 27*60a23fd8SSummer Qin #define JUNO_VPU_TZC_PRIV_DRAM1_SIZE ULL(0x02000000) 28*60a23fd8SSummer Qin #define JUNO_VPU_TZC_PRIV_DRAM1_BASE (JUNO_AP_TZC_SHARE_DRAM1_BASE - \ 29*60a23fd8SSummer Qin JUNO_VPU_TZC_PRIV_DRAM1_SIZE) 30*60a23fd8SSummer Qin #define JUNO_VPU_TZC_PRIV_DRAM1_END (JUNO_AP_TZC_SHARE_DRAM1_BASE - 1) 31*60a23fd8SSummer Qin 32*60a23fd8SSummer Qin /* Video input protected buffer follows upper item */ 33*60a23fd8SSummer Qin #define JUNO_VPU_TZC_PROT_DRAM1_SIZE ULL(0x06000000) 34*60a23fd8SSummer Qin #define JUNO_VPU_TZC_PROT_DRAM1_BASE (JUNO_VPU_TZC_PRIV_DRAM1_BASE - \ 35*60a23fd8SSummer Qin JUNO_VPU_TZC_PROT_DRAM1_SIZE) 36*60a23fd8SSummer Qin #define JUNO_VPU_TZC_PROT_DRAM1_END (JUNO_VPU_TZC_PRIV_DRAM1_BASE - 1) 37*60a23fd8SSummer Qin 38*60a23fd8SSummer Qin /* Video, graphics and display shares same NSAID and same protected buffer */ 39*60a23fd8SSummer Qin #define JUNO_MEDIA_TZC_PROT_DRAM1_SIZE ULL(0x0e000000) 40*60a23fd8SSummer Qin #define JUNO_MEDIA_TZC_PROT_DRAM1_BASE (JUNO_VPU_TZC_PROT_DRAM1_BASE - \ 41*60a23fd8SSummer Qin JUNO_MEDIA_TZC_PROT_DRAM1_SIZE) 42*60a23fd8SSummer Qin #define JUNO_MEDIA_TZC_PROT_DRAM1_END (JUNO_VPU_TZC_PROT_DRAM1_BASE - 1) 43*60a23fd8SSummer Qin 44*60a23fd8SSummer Qin /* Rest of DRAM1 are Non-Secure public buffer */ 45*60a23fd8SSummer Qin #define JUNO_NS_DRAM1_PT1_BASE ARM_DRAM1_BASE 46*60a23fd8SSummer Qin #define JUNO_NS_DRAM1_PT1_END (JUNO_MEDIA_TZC_PROT_DRAM1_BASE - 1) 47*60a23fd8SSummer Qin #define JUNO_NS_DRAM1_PT1_SIZE (JUNO_NS_DRAM1_PT1_END - \ 48*60a23fd8SSummer Qin JUNO_NS_DRAM1_PT1_BASE + 1) 49*60a23fd8SSummer Qin 50*60a23fd8SSummer Qin /* TZC filter flags */ 51*60a23fd8SSummer Qin #define JUNO_MEDIA_TZC_NS_DEV_ACCESS (PLAT_ARM_TZC_NS_DEV_ACCESS | \ 52*60a23fd8SSummer Qin TZC_REGION_ACCESS_RD(JUNO_TZC400_NSAID_FPGA_MEDIA_SECURE)) 53*60a23fd8SSummer Qin 54*60a23fd8SSummer Qin /* VPU / GPU /DPU protected access */ 55*60a23fd8SSummer Qin #define JUNO_MEDIA_TZC_PROT_ACCESS \ 56*60a23fd8SSummer Qin (TZC_REGION_ACCESS_RDWR(JUNO_TZC400_NSAID_FPGA_MEDIA_SECURE) | \ 57*60a23fd8SSummer Qin TZC_REGION_ACCESS_WR(TZC400_NSAID_AP)) 58*60a23fd8SSummer Qin 59*60a23fd8SSummer Qin #define JUNO_VPU_TZC_PROT_ACCESS \ 60*60a23fd8SSummer Qin (TZC_REGION_ACCESS_RDWR(JUNO_TZC400_NSAID_FPGA_VIDEO_PROTECTED)) 61*60a23fd8SSummer Qin 62*60a23fd8SSummer Qin #define JUNO_VPU_TZC_PRIV_ACCESS \ 63*60a23fd8SSummer Qin (TZC_REGION_ACCESS_RDWR(JUNO_TZC400_NSAID_FPGA_VIDEO_PRIVATE)) 64*60a23fd8SSummer Qin 65*60a23fd8SSummer Qin /******************************************************************************* 66*60a23fd8SSummer Qin * Mali-DP650 related constants 67*60a23fd8SSummer Qin ******************************************************************************/ 68*60a23fd8SSummer Qin /* Base address of DP650 */ 69*60a23fd8SSummer Qin #define DP650_BASE 0x6f200000 70*60a23fd8SSummer Qin /* offset to PROT_NSAID register */ 71*60a23fd8SSummer Qin #define DP650_PROT_NSAID_OFFSET 0x10004 72*60a23fd8SSummer Qin /* config to PROT_NSAID register */ 73*60a23fd8SSummer Qin #define DP650_PROT_NSAID_CONFIG 0x08008888 74*60a23fd8SSummer Qin 75*60a23fd8SSummer Qin /******************************************************************************* 76*60a23fd8SSummer Qin * Mali-V550 related constants 77*60a23fd8SSummer Qin ******************************************************************************/ 78*60a23fd8SSummer Qin /* Base address of V550 */ 79*60a23fd8SSummer Qin #define V550_BASE 0x6f030000 80*60a23fd8SSummer Qin /* offset to PROTCTRL register */ 81*60a23fd8SSummer Qin #define V550_PROTCTRL_OFFSET 0x0040 82*60a23fd8SSummer Qin /* config to PROTCTRL register */ 83*60a23fd8SSummer Qin #define V550_PROTCTRL_CONFIG 0xa8700000 84*60a23fd8SSummer Qin 85*60a23fd8SSummer Qin #endif /* __JUNO_TZMP1_DEF_H__ */ 86