1*77b55e8cSThomas Abraham /* 2*77b55e8cSThomas Abraham * (C) Copyright 2012 Samsung Electronics 3*77b55e8cSThomas Abraham * 4*77b55e8cSThomas Abraham * SPDX-License-Identifier: GPL-2.0+ 5*77b55e8cSThomas Abraham */ 6*77b55e8cSThomas Abraham 7*77b55e8cSThomas Abraham #ifndef __TZPC_H_ 8*77b55e8cSThomas Abraham #define __TZPC_H_ 9*77b55e8cSThomas Abraham 10*77b55e8cSThomas Abraham #ifndef __ASSEMBLY__ 11*77b55e8cSThomas Abraham struct exynos_tzpc { 12*77b55e8cSThomas Abraham unsigned int r0size; 13*77b55e8cSThomas Abraham char res1[0x7FC]; 14*77b55e8cSThomas Abraham unsigned int decprot0stat; 15*77b55e8cSThomas Abraham unsigned int decprot0set; 16*77b55e8cSThomas Abraham unsigned int decprot0clr; 17*77b55e8cSThomas Abraham unsigned int decprot1stat; 18*77b55e8cSThomas Abraham unsigned int decprot1set; 19*77b55e8cSThomas Abraham unsigned int decprot1clr; 20*77b55e8cSThomas Abraham unsigned int decprot2stat; 21*77b55e8cSThomas Abraham unsigned int decprot2set; 22*77b55e8cSThomas Abraham unsigned int decprot2clr; 23*77b55e8cSThomas Abraham unsigned int decprot3stat; 24*77b55e8cSThomas Abraham unsigned int decprot3set; 25*77b55e8cSThomas Abraham unsigned int decprot3clr; 26*77b55e8cSThomas Abraham char res2[0x7B0]; 27*77b55e8cSThomas Abraham unsigned int periphid0; 28*77b55e8cSThomas Abraham unsigned int periphid1; 29*77b55e8cSThomas Abraham unsigned int periphid2; 30*77b55e8cSThomas Abraham unsigned int periphid3; 31*77b55e8cSThomas Abraham unsigned int pcellid0; 32*77b55e8cSThomas Abraham unsigned int pcellid1; 33*77b55e8cSThomas Abraham unsigned int pcellid2; 34*77b55e8cSThomas Abraham unsigned int pcellid3; 35*77b55e8cSThomas Abraham }; 36*77b55e8cSThomas Abraham 37*77b55e8cSThomas Abraham #define EXYNOS4_NR_TZPC_BANKS 6 38*77b55e8cSThomas Abraham #define EXYNOS5_NR_TZPC_BANKS 10 39*77b55e8cSThomas Abraham 40*77b55e8cSThomas Abraham /* TZPC : Register Offsets */ 41*77b55e8cSThomas Abraham #define TZPC_BASE_OFFSET 0x10000 42*77b55e8cSThomas Abraham 43*77b55e8cSThomas Abraham /* 44*77b55e8cSThomas Abraham * TZPC Register Value : 45*77b55e8cSThomas Abraham * R0SIZE: 0x0 : Size of secured ram 46*77b55e8cSThomas Abraham */ 47*77b55e8cSThomas Abraham #define R0SIZE 0x0 48*77b55e8cSThomas Abraham 49*77b55e8cSThomas Abraham /* 50*77b55e8cSThomas Abraham * TZPC Decode Protection Register Value : 51*77b55e8cSThomas Abraham * DECPROTXSET: 0xFF : Set Decode region to non-secure 52*77b55e8cSThomas Abraham */ 53*77b55e8cSThomas Abraham #define DECPROTXSET 0xFF 54*77b55e8cSThomas Abraham void tzpc_init(void); 55*77b55e8cSThomas Abraham 56*77b55e8cSThomas Abraham #endif 57*77b55e8cSThomas Abraham 58*77b55e8cSThomas Abraham #endif 59