182e18f89SHeiko Stuebner /* 282e18f89SHeiko Stuebner * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved. 382e18f89SHeiko Stuebner * 482e18f89SHeiko Stuebner * SPDX-License-Identifier: BSD-3-Clause 582e18f89SHeiko Stuebner */ 682e18f89SHeiko Stuebner 782e18f89SHeiko Stuebner #include <string.h> 882e18f89SHeiko Stuebner 982e18f89SHeiko Stuebner #include <platform_def.h> 1082e18f89SHeiko Stuebner 1182e18f89SHeiko Stuebner #include <arch_helpers.h> 1282e18f89SHeiko Stuebner #include <common/bl_common.h> 1382e18f89SHeiko Stuebner #include <common/debug.h> 1482e18f89SHeiko Stuebner #include <lib/utils.h> 15*d43a2e8bSXiaoDong Huang #include <lib/xlat_tables/xlat_tables_compat.h> 1682e18f89SHeiko Stuebner 1782e18f89SHeiko Stuebner #include <plat_private.h> 1882e18f89SHeiko Stuebner 1982e18f89SHeiko Stuebner void plat_configure_mmu_svc_mon(unsigned long total_base, 2082e18f89SHeiko Stuebner unsigned long total_size, 2182e18f89SHeiko Stuebner unsigned long ro_start, 2282e18f89SHeiko Stuebner unsigned long ro_limit, 2382e18f89SHeiko Stuebner unsigned long coh_start, 2482e18f89SHeiko Stuebner unsigned long coh_limit) 2582e18f89SHeiko Stuebner { 2682e18f89SHeiko Stuebner mmap_add_region(total_base, total_base, total_size, 2782e18f89SHeiko Stuebner MT_MEMORY | MT_RW | MT_SECURE); 2882e18f89SHeiko Stuebner mmap_add_region(ro_start, ro_start, ro_limit - ro_start, 2982e18f89SHeiko Stuebner MT_MEMORY | MT_RO | MT_SECURE); 3082e18f89SHeiko Stuebner mmap_add_region(coh_start, coh_start, coh_limit - coh_start, 3182e18f89SHeiko Stuebner MT_DEVICE | MT_RW | MT_SECURE); 3282e18f89SHeiko Stuebner mmap_add(plat_rk_mmap); 3382e18f89SHeiko Stuebner rockchip_plat_mmu_svc_mon(); 3482e18f89SHeiko Stuebner init_xlat_tables(); 3582e18f89SHeiko Stuebner enable_mmu_svc_mon(0); 3682e18f89SHeiko Stuebner } 3782e18f89SHeiko Stuebner 3882e18f89SHeiko Stuebner unsigned int plat_get_syscnt_freq2(void) 3982e18f89SHeiko Stuebner { 4082e18f89SHeiko Stuebner return SYS_COUNTER_FREQ_IN_TICKS; 4182e18f89SHeiko Stuebner } 4282e18f89SHeiko Stuebner 4382e18f89SHeiko Stuebner /* 4482e18f89SHeiko Stuebner * generic pm code does cci handling, but rockchip arm32 platforms 4582e18f89SHeiko Stuebner * have ever only 1 cluster, so nothing to do. 4682e18f89SHeiko Stuebner */ 4782e18f89SHeiko Stuebner void plat_cci_init(void) 4882e18f89SHeiko Stuebner { 4982e18f89SHeiko Stuebner } 5082e18f89SHeiko Stuebner 5182e18f89SHeiko Stuebner void plat_cci_enable(void) 5282e18f89SHeiko Stuebner { 5382e18f89SHeiko Stuebner } 5482e18f89SHeiko Stuebner 5582e18f89SHeiko Stuebner void plat_cci_disable(void) 5682e18f89SHeiko Stuebner { 5782e18f89SHeiko Stuebner } 58