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
plat_configure_mmu_svc_mon(unsigned long total_base,unsigned long total_size,unsigned long ro_start,unsigned long ro_limit,unsigned long coh_start,unsigned long coh_limit)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
plat_get_syscnt_freq2(void)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 */
plat_cci_init(void)4782e18f89SHeiko Stuebner void plat_cci_init(void)
4882e18f89SHeiko Stuebner {
4982e18f89SHeiko Stuebner }
5082e18f89SHeiko Stuebner
plat_cci_enable(void)5182e18f89SHeiko Stuebner void plat_cci_enable(void)
5282e18f89SHeiko Stuebner {
5382e18f89SHeiko Stuebner }
5482e18f89SHeiko Stuebner
plat_cci_disable(void)5582e18f89SHeiko Stuebner void plat_cci_disable(void)
5682e18f89SHeiko Stuebner {
5782e18f89SHeiko Stuebner }
58