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