1*e3ec6ff4SXiaoDong Huang /* 2*e3ec6ff4SXiaoDong Huang * Copyright (c) 2024, Rockchip, Inc. All rights reserved. 3*e3ec6ff4SXiaoDong Huang * 4*e3ec6ff4SXiaoDong Huang * SPDX-License-Identifier: BSD-3-Clause 5*e3ec6ff4SXiaoDong Huang */ 6*e3ec6ff4SXiaoDong Huang 7*e3ec6ff4SXiaoDong Huang #ifndef SECURE_H 8*e3ec6ff4SXiaoDong Huang #define SECURE_H 9*e3ec6ff4SXiaoDong Huang 10*e3ec6ff4SXiaoDong Huang /* DSUSGRF */ 11*e3ec6ff4SXiaoDong Huang #define DSU_SGRF_SOC_CON(i) ((i) * 4) 12*e3ec6ff4SXiaoDong Huang #define DSUSGRF_SOC_CON(i) ((i) * 4) 13*e3ec6ff4SXiaoDong Huang #define DSUSGRF_SOC_CON_CNT 13 14*e3ec6ff4SXiaoDong Huang #define DSUSGRF_DDR_HASH_CON(i) (0x240 + (i) * 4) 15*e3ec6ff4SXiaoDong Huang #define DSUSGRF_DDR_HASH_CON_CNT 8 16*e3ec6ff4SXiaoDong Huang 17*e3ec6ff4SXiaoDong Huang /* PMUSGRF */ 18*e3ec6ff4SXiaoDong Huang #define PMU1SGRF_SOC_CON(n) ((n) * 4) 19*e3ec6ff4SXiaoDong Huang 20*e3ec6ff4SXiaoDong Huang /* SGRF */ 21*e3ec6ff4SXiaoDong Huang #define SGRF_SOC_CON(i) ((i) * 4) 22*e3ec6ff4SXiaoDong Huang #define SGRF_FIREWALL_CON(i) (0x240 + (i) * 4) 23*e3ec6ff4SXiaoDong Huang #define SGRF_FIREWALL_CON_CNT 32 24*e3ec6ff4SXiaoDong Huang 25*e3ec6ff4SXiaoDong Huang /* ddr firewall */ 26*e3ec6ff4SXiaoDong Huang #define FIREWALL_DDR_RGN(i) ((i) * 0x4) 27*e3ec6ff4SXiaoDong Huang #define FIREWALL_DDR_RGN_CNT 16 28*e3ec6ff4SXiaoDong Huang #define FIREWALL_DDR_MST(i) (0x40 + (i) * 0x4) 29*e3ec6ff4SXiaoDong Huang #define FIREWALL_DDR_MST_CNT 42 30*e3ec6ff4SXiaoDong Huang #define FIREWALL_DDR_CON 0xf0 31*e3ec6ff4SXiaoDong Huang 32*e3ec6ff4SXiaoDong Huang #define FIREWALL_SYSMEM_RGN(i) ((i) * 0x4) 33*e3ec6ff4SXiaoDong Huang #define FIREWALL_SYSMEM_RGN_CNT 8 34*e3ec6ff4SXiaoDong Huang #define FIREWALL_SYSMEM_MST(i) (0x40 + (i) * 0x4) 35*e3ec6ff4SXiaoDong Huang #define FIREWALL_SYSMEM_MST_CNT 43 36*e3ec6ff4SXiaoDong Huang #define FIREWALL_SYSMEM_CON 0xf0 37*e3ec6ff4SXiaoDong Huang 38*e3ec6ff4SXiaoDong Huang #define FIREWALL_DSU_RGN(i) ((i) * 0x4) 39*e3ec6ff4SXiaoDong Huang #define FIREWALL_DSU_RGN_CNT 16 40*e3ec6ff4SXiaoDong Huang #define FIREWALL_DSU_MST(i) (0x40 + (i) * 0x4) 41*e3ec6ff4SXiaoDong Huang #define FIREWALL_DSU_MST_CNT 2 42*e3ec6ff4SXiaoDong Huang #define FIREWALL_DSU_CON(i) (0xf0 + (i) * 4) 43*e3ec6ff4SXiaoDong Huang #define FIREWALL_DSU_CON_CNT 4 44*e3ec6ff4SXiaoDong Huang 45*e3ec6ff4SXiaoDong Huang #define PLAT_MAX_DDR_CAPACITY_MB 0x8000 /* for 32Gb */ 46*e3ec6ff4SXiaoDong Huang #define RG_MAP_SECURE(top, base) \ 47*e3ec6ff4SXiaoDong Huang (((((top) - 1) & 0x7fff) << 16) | ((base) & 0x7fff)) 48*e3ec6ff4SXiaoDong Huang #define RG_MAP_SRAM_SECURE(top_kb, base_kb) \ 49*e3ec6ff4SXiaoDong Huang (((((top_kb) / 4 - 1) & 0xff) << 16) | ((base_kb) / 4 & 0xff)) 50*e3ec6ff4SXiaoDong Huang 51*e3ec6ff4SXiaoDong Huang void secure_timer_init(void); 52*e3ec6ff4SXiaoDong Huang void sgrf_init(void); 53*e3ec6ff4SXiaoDong Huang 54*e3ec6ff4SXiaoDong Huang #endif /* SECURE_H */ 55