160a23fd8SSummer Qin /* 260a23fd8SSummer Qin * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. 360a23fd8SSummer Qin * 460a23fd8SSummer Qin * SPDX-License-Identifier: BSD-3-Clause 560a23fd8SSummer Qin */ 660a23fd8SSummer Qin 7*c3cf06f1SAntonio Nino Diaz #ifndef JUNO_TZMP1_DEF_H 8*c3cf06f1SAntonio Nino Diaz #define JUNO_TZMP1_DEF_H 960a23fd8SSummer Qin 1060a23fd8SSummer Qin /* 1160a23fd8SSummer Qin * Public memory regions for both protected and non-protected mode 1260a23fd8SSummer Qin * 1360a23fd8SSummer Qin * OPTEE shared memory 0xFEE00000 - 0xFEFFFFFF 1460a23fd8SSummer Qin */ 1560a23fd8SSummer Qin #define JUNO_AP_TZC_SHARE_DRAM1_SIZE ULL(0x02000000) 1660a23fd8SSummer Qin #define JUNO_AP_TZC_SHARE_DRAM1_BASE (ARM_AP_TZC_DRAM1_BASE - \ 1760a23fd8SSummer Qin JUNO_AP_TZC_SHARE_DRAM1_SIZE) 1860a23fd8SSummer Qin #define JUNO_AP_TZC_SHARE_DRAM1_END (ARM_AP_TZC_DRAM1_BASE - 1) 1960a23fd8SSummer Qin 2060a23fd8SSummer Qin /* ARM_MEDIA_FEATURES for MEDIA GPU Protect Mode Test */ 2160a23fd8SSummer Qin #define JUNO_TZC400_NSAID_FPGA_MEDIA_SECURE 8 /* GPU/DPU protected, VPU outbuf */ 2260a23fd8SSummer Qin #define JUNO_TZC400_NSAID_FPGA_VIDEO_PROTECTED 7 /* VPU protected */ 2360a23fd8SSummer Qin #define JUNO_TZC400_NSAID_FPGA_VIDEO_PRIVATE 10 /* VPU private (firmware) */ 2460a23fd8SSummer Qin 2560a23fd8SSummer Qin #define JUNO_VPU_TZC_PRIV_DRAM1_SIZE ULL(0x02000000) 2660a23fd8SSummer Qin #define JUNO_VPU_TZC_PRIV_DRAM1_BASE (JUNO_AP_TZC_SHARE_DRAM1_BASE - \ 2760a23fd8SSummer Qin JUNO_VPU_TZC_PRIV_DRAM1_SIZE) 2860a23fd8SSummer Qin #define JUNO_VPU_TZC_PRIV_DRAM1_END (JUNO_AP_TZC_SHARE_DRAM1_BASE - 1) 2960a23fd8SSummer Qin 3060a23fd8SSummer Qin /* Video input protected buffer follows upper item */ 3160a23fd8SSummer Qin #define JUNO_VPU_TZC_PROT_DRAM1_SIZE ULL(0x06000000) 3260a23fd8SSummer Qin #define JUNO_VPU_TZC_PROT_DRAM1_BASE (JUNO_VPU_TZC_PRIV_DRAM1_BASE - \ 3360a23fd8SSummer Qin JUNO_VPU_TZC_PROT_DRAM1_SIZE) 3460a23fd8SSummer Qin #define JUNO_VPU_TZC_PROT_DRAM1_END (JUNO_VPU_TZC_PRIV_DRAM1_BASE - 1) 3560a23fd8SSummer Qin 3660a23fd8SSummer Qin /* Video, graphics and display shares same NSAID and same protected buffer */ 3760a23fd8SSummer Qin #define JUNO_MEDIA_TZC_PROT_DRAM1_SIZE ULL(0x0e000000) 3860a23fd8SSummer Qin #define JUNO_MEDIA_TZC_PROT_DRAM1_BASE (JUNO_VPU_TZC_PROT_DRAM1_BASE - \ 3960a23fd8SSummer Qin JUNO_MEDIA_TZC_PROT_DRAM1_SIZE) 4060a23fd8SSummer Qin #define JUNO_MEDIA_TZC_PROT_DRAM1_END (JUNO_VPU_TZC_PROT_DRAM1_BASE - 1) 4160a23fd8SSummer Qin 4260a23fd8SSummer Qin /* Rest of DRAM1 are Non-Secure public buffer */ 4360a23fd8SSummer Qin #define JUNO_NS_DRAM1_PT1_BASE ARM_DRAM1_BASE 4460a23fd8SSummer Qin #define JUNO_NS_DRAM1_PT1_END (JUNO_MEDIA_TZC_PROT_DRAM1_BASE - 1) 4560a23fd8SSummer Qin #define JUNO_NS_DRAM1_PT1_SIZE (JUNO_NS_DRAM1_PT1_END - \ 4660a23fd8SSummer Qin JUNO_NS_DRAM1_PT1_BASE + 1) 4760a23fd8SSummer Qin 4860a23fd8SSummer Qin /* TZC filter flags */ 4960a23fd8SSummer Qin #define JUNO_MEDIA_TZC_NS_DEV_ACCESS (PLAT_ARM_TZC_NS_DEV_ACCESS | \ 5060a23fd8SSummer Qin TZC_REGION_ACCESS_RD(JUNO_TZC400_NSAID_FPGA_MEDIA_SECURE)) 5160a23fd8SSummer Qin 5260a23fd8SSummer Qin /* VPU / GPU /DPU protected access */ 5360a23fd8SSummer Qin #define JUNO_MEDIA_TZC_PROT_ACCESS \ 5460a23fd8SSummer Qin (TZC_REGION_ACCESS_RDWR(JUNO_TZC400_NSAID_FPGA_MEDIA_SECURE) | \ 5560a23fd8SSummer Qin TZC_REGION_ACCESS_WR(TZC400_NSAID_AP)) 5660a23fd8SSummer Qin 5760a23fd8SSummer Qin #define JUNO_VPU_TZC_PROT_ACCESS \ 5860a23fd8SSummer Qin (TZC_REGION_ACCESS_RDWR(JUNO_TZC400_NSAID_FPGA_VIDEO_PROTECTED)) 5960a23fd8SSummer Qin 6060a23fd8SSummer Qin #define JUNO_VPU_TZC_PRIV_ACCESS \ 6160a23fd8SSummer Qin (TZC_REGION_ACCESS_RDWR(JUNO_TZC400_NSAID_FPGA_VIDEO_PRIVATE)) 6260a23fd8SSummer Qin 6360a23fd8SSummer Qin /******************************************************************************* 6460a23fd8SSummer Qin * Mali-DP650 related constants 6560a23fd8SSummer Qin ******************************************************************************/ 6660a23fd8SSummer Qin /* Base address of DP650 */ 6760a23fd8SSummer Qin #define DP650_BASE 0x6f200000 6860a23fd8SSummer Qin /* offset to PROT_NSAID register */ 6960a23fd8SSummer Qin #define DP650_PROT_NSAID_OFFSET 0x10004 7060a23fd8SSummer Qin /* config to PROT_NSAID register */ 7160a23fd8SSummer Qin #define DP650_PROT_NSAID_CONFIG 0x08008888 7260a23fd8SSummer Qin 7360a23fd8SSummer Qin /******************************************************************************* 7460a23fd8SSummer Qin * Mali-V550 related constants 7560a23fd8SSummer Qin ******************************************************************************/ 7660a23fd8SSummer Qin /* Base address of V550 */ 7760a23fd8SSummer Qin #define V550_BASE 0x6f030000 7860a23fd8SSummer Qin /* offset to PROTCTRL register */ 7960a23fd8SSummer Qin #define V550_PROTCTRL_OFFSET 0x0040 8060a23fd8SSummer Qin /* config to PROTCTRL register */ 8160a23fd8SSummer Qin #define V550_PROTCTRL_CONFIG 0xa8700000 8260a23fd8SSummer Qin 83*c3cf06f1SAntonio Nino Diaz #endif /* JUNO_TZMP1_DEF_H */ 84