1*82e18f89SHeiko Stuebner /* 2*82e18f89SHeiko Stuebner * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved. 3*82e18f89SHeiko Stuebner * 4*82e18f89SHeiko Stuebner * SPDX-License-Identifier: BSD-3-Clause 5*82e18f89SHeiko Stuebner */ 6*82e18f89SHeiko Stuebner 7*82e18f89SHeiko Stuebner #include <string.h> 8*82e18f89SHeiko Stuebner 9*82e18f89SHeiko Stuebner #include <platform_def.h> 10*82e18f89SHeiko Stuebner 11*82e18f89SHeiko Stuebner #include <arch_helpers.h> 12*82e18f89SHeiko Stuebner #include <common/bl_common.h> 13*82e18f89SHeiko Stuebner #include <common/debug.h> 14*82e18f89SHeiko Stuebner #include <lib/utils.h> 15*82e18f89SHeiko Stuebner #include <lib/xlat_tables/xlat_tables.h> 16*82e18f89SHeiko Stuebner 17*82e18f89SHeiko Stuebner #include <plat_private.h> 18*82e18f89SHeiko Stuebner 19*82e18f89SHeiko Stuebner void plat_configure_mmu_svc_mon(unsigned long total_base, 20*82e18f89SHeiko Stuebner unsigned long total_size, 21*82e18f89SHeiko Stuebner unsigned long ro_start, 22*82e18f89SHeiko Stuebner unsigned long ro_limit, 23*82e18f89SHeiko Stuebner unsigned long coh_start, 24*82e18f89SHeiko Stuebner unsigned long coh_limit) 25*82e18f89SHeiko Stuebner { 26*82e18f89SHeiko Stuebner mmap_add_region(total_base, total_base, total_size, 27*82e18f89SHeiko Stuebner MT_MEMORY | MT_RW | MT_SECURE); 28*82e18f89SHeiko Stuebner mmap_add_region(ro_start, ro_start, ro_limit - ro_start, 29*82e18f89SHeiko Stuebner MT_MEMORY | MT_RO | MT_SECURE); 30*82e18f89SHeiko Stuebner mmap_add_region(coh_start, coh_start, coh_limit - coh_start, 31*82e18f89SHeiko Stuebner MT_DEVICE | MT_RW | MT_SECURE); 32*82e18f89SHeiko Stuebner mmap_add(plat_rk_mmap); 33*82e18f89SHeiko Stuebner rockchip_plat_mmu_svc_mon(); 34*82e18f89SHeiko Stuebner init_xlat_tables(); 35*82e18f89SHeiko Stuebner enable_mmu_svc_mon(0); 36*82e18f89SHeiko Stuebner } 37*82e18f89SHeiko Stuebner 38*82e18f89SHeiko Stuebner unsigned int plat_get_syscnt_freq2(void) 39*82e18f89SHeiko Stuebner { 40*82e18f89SHeiko Stuebner return SYS_COUNTER_FREQ_IN_TICKS; 41*82e18f89SHeiko Stuebner } 42*82e18f89SHeiko Stuebner 43*82e18f89SHeiko Stuebner /* 44*82e18f89SHeiko Stuebner * generic pm code does cci handling, but rockchip arm32 platforms 45*82e18f89SHeiko Stuebner * have ever only 1 cluster, so nothing to do. 46*82e18f89SHeiko Stuebner */ 47*82e18f89SHeiko Stuebner void plat_cci_init(void) 48*82e18f89SHeiko Stuebner { 49*82e18f89SHeiko Stuebner } 50*82e18f89SHeiko Stuebner 51*82e18f89SHeiko Stuebner void plat_cci_enable(void) 52*82e18f89SHeiko Stuebner { 53*82e18f89SHeiko Stuebner } 54*82e18f89SHeiko Stuebner 55*82e18f89SHeiko Stuebner void plat_cci_disable(void) 56*82e18f89SHeiko Stuebner { 57*82e18f89SHeiko Stuebner } 58