xref: /rk3399_ARM-atf/plat/rockchip/common/aarch32/platform_common.c (revision d43a2e8bf4b4434cf30296cc56fdaf15321e5e8b)
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