xref: /rk3399_ARM-atf/plat/qti/qtiseclib/src/qtiseclib_interface_stub.c (revision 17e76b5eb7901534ff9ee3f62b9990ba6038b002)
15bd9c17dSSaurabh Gorecha /*
25bd9c17dSSaurabh Gorecha  * Copyright (c) 2020, The Linux Foundation. All rights reserved.
35bd9c17dSSaurabh Gorecha  *
45bd9c17dSSaurabh Gorecha  * SPDX-License-Identifier: BSD-3-Clause
55bd9c17dSSaurabh Gorecha  */
65bd9c17dSSaurabh Gorecha 
75bd9c17dSSaurabh Gorecha #include <stdbool.h>
85bd9c17dSSaurabh Gorecha #include <stdint.h>
95bd9c17dSSaurabh Gorecha 
105bd9c17dSSaurabh Gorecha #include <common/debug.h>
115bd9c17dSSaurabh Gorecha 
125bd9c17dSSaurabh Gorecha #include <qtiseclib_defs.h>
135bd9c17dSSaurabh Gorecha #include <qtiseclib_interface.h>
145bd9c17dSSaurabh Gorecha 
155bd9c17dSSaurabh Gorecha /*
165bd9c17dSSaurabh Gorecha  * This file contains dummy implementation of QTISECLIB Published API's.
175bd9c17dSSaurabh Gorecha  * which will be used to compile PLATFORM successfully when
185bd9c17dSSaurabh Gorecha  * qtiseclib is not available
195bd9c17dSSaurabh Gorecha  */
205bd9c17dSSaurabh Gorecha 
215bd9c17dSSaurabh Gorecha /*
225bd9c17dSSaurabh Gorecha  * CPUSS common reset handler for all CPU wake up (both cold & warm boot).
235bd9c17dSSaurabh Gorecha  * Executes on all core. This API assume serialization across CPU
245bd9c17dSSaurabh Gorecha  * already taken care before invoking.
255bd9c17dSSaurabh Gorecha  *
265bd9c17dSSaurabh Gorecha  * Clobbers: x0 - x17, x30
275bd9c17dSSaurabh Gorecha  */
qtiseclib_cpuss_reset_asm(uint32_t bl31_cold_boot_state)285bd9c17dSSaurabh Gorecha void qtiseclib_cpuss_reset_asm(uint32_t bl31_cold_boot_state)
295bd9c17dSSaurabh Gorecha {
305bd9c17dSSaurabh Gorecha }
315bd9c17dSSaurabh Gorecha 
325bd9c17dSSaurabh Gorecha /*
335bd9c17dSSaurabh Gorecha  * Execute CPU (Kryo4 gold) specific reset handler / system initialization.
345bd9c17dSSaurabh Gorecha  * This takes care of executing required CPU errata's.
355bd9c17dSSaurabh Gorecha  *
365bd9c17dSSaurabh Gorecha  * Clobbers: x0 - x16
375bd9c17dSSaurabh Gorecha  */
qtiseclib_kryo4_gold_reset_asm(void)385bd9c17dSSaurabh Gorecha void qtiseclib_kryo4_gold_reset_asm(void)
395bd9c17dSSaurabh Gorecha {
405bd9c17dSSaurabh Gorecha }
415bd9c17dSSaurabh Gorecha 
425bd9c17dSSaurabh Gorecha /*
435bd9c17dSSaurabh Gorecha  * Execute CPU (Kryo4 silver) specific reset handler / system initialization.
445bd9c17dSSaurabh Gorecha  * This takes care of executing required CPU errata's.
455bd9c17dSSaurabh Gorecha  *
465bd9c17dSSaurabh Gorecha  * Clobbers: x0 - x16
475bd9c17dSSaurabh Gorecha  */
qtiseclib_kryo4_silver_reset_asm(void)485bd9c17dSSaurabh Gorecha void qtiseclib_kryo4_silver_reset_asm(void)
495bd9c17dSSaurabh Gorecha {
505bd9c17dSSaurabh Gorecha }
515bd9c17dSSaurabh Gorecha 
525bd9c17dSSaurabh Gorecha /*
53*6cc743cfSSaurabh Gorecha  * Execute CPU (Kryo4 gold) specific reset handler / system initialization.
54*6cc743cfSSaurabh Gorecha  * This takes care of executing required CPU errata's.
55*6cc743cfSSaurabh Gorecha  *
56*6cc743cfSSaurabh Gorecha  * Clobbers: x0 - x16
57*6cc743cfSSaurabh Gorecha  */
qtiseclib_kryo6_gold_reset_asm(void)58*6cc743cfSSaurabh Gorecha void qtiseclib_kryo6_gold_reset_asm(void)
59*6cc743cfSSaurabh Gorecha {
60*6cc743cfSSaurabh Gorecha }
61*6cc743cfSSaurabh Gorecha 
62*6cc743cfSSaurabh Gorecha 
qtiseclib_kryo6_silver_reset_asm(void)63*6cc743cfSSaurabh Gorecha void qtiseclib_kryo6_silver_reset_asm(void)
64*6cc743cfSSaurabh Gorecha {
65*6cc743cfSSaurabh Gorecha }
66*6cc743cfSSaurabh Gorecha 
67*6cc743cfSSaurabh Gorecha /*
685bd9c17dSSaurabh Gorecha  * C Api's
695bd9c17dSSaurabh Gorecha  */
qtiseclib_bl31_platform_setup(void)705bd9c17dSSaurabh Gorecha void qtiseclib_bl31_platform_setup(void)
715bd9c17dSSaurabh Gorecha {
725bd9c17dSSaurabh Gorecha 	ERROR("Please use QTISECLIB_PATH while building TF-A\n");
735bd9c17dSSaurabh Gorecha 	ERROR("Please refer docs/plat/qti.rst for more details.\n");
745bd9c17dSSaurabh Gorecha 	panic();
755bd9c17dSSaurabh Gorecha }
765bd9c17dSSaurabh Gorecha 
qtiseclib_invoke_isr(uint32_t irq,void * handle)775bd9c17dSSaurabh Gorecha void qtiseclib_invoke_isr(uint32_t irq, void *handle)
785bd9c17dSSaurabh Gorecha {
795bd9c17dSSaurabh Gorecha }
805bd9c17dSSaurabh Gorecha 
qtiseclib_panic(void)815bd9c17dSSaurabh Gorecha void qtiseclib_panic(void)
825bd9c17dSSaurabh Gorecha {
835bd9c17dSSaurabh Gorecha }
845bd9c17dSSaurabh Gorecha 
855bd9c17dSSaurabh Gorecha int
qtiseclib_mem_assign(const memprot_info_t * mem_info,uint32_t mem_info_list_cnt,const uint32_t * source_vm_list,uint32_t src_vm_list_cnt,const memprot_dst_vm_perm_info_t * dest_vm_list,uint32_t dst_vm_list_cnt)865bd9c17dSSaurabh Gorecha qtiseclib_mem_assign(const memprot_info_t *mem_info,
875bd9c17dSSaurabh Gorecha 		     uint32_t mem_info_list_cnt,
885bd9c17dSSaurabh Gorecha 		     const uint32_t *source_vm_list,
895bd9c17dSSaurabh Gorecha 		     uint32_t src_vm_list_cnt,
905bd9c17dSSaurabh Gorecha 		     const memprot_dst_vm_perm_info_t *dest_vm_list,
915bd9c17dSSaurabh Gorecha 		     uint32_t dst_vm_list_cnt)
925bd9c17dSSaurabh Gorecha {
935bd9c17dSSaurabh Gorecha 	return 0;
945bd9c17dSSaurabh Gorecha }
955bd9c17dSSaurabh Gorecha 
qtiseclib_psci_init(uintptr_t warmboot_entry)965bd9c17dSSaurabh Gorecha int qtiseclib_psci_init(uintptr_t warmboot_entry)
975bd9c17dSSaurabh Gorecha {
985bd9c17dSSaurabh Gorecha 	return 0;
995bd9c17dSSaurabh Gorecha }
1005bd9c17dSSaurabh Gorecha 
qtiseclib_psci_node_power_on(u_register_t mpidr)1015bd9c17dSSaurabh Gorecha int qtiseclib_psci_node_power_on(u_register_t mpidr)
1025bd9c17dSSaurabh Gorecha {
1035bd9c17dSSaurabh Gorecha 	return 0;
1045bd9c17dSSaurabh Gorecha }
1055bd9c17dSSaurabh Gorecha 
qtiseclib_psci_node_on_finish(const uint8_t * states)1065bd9c17dSSaurabh Gorecha void qtiseclib_psci_node_on_finish(const uint8_t *states)
1075bd9c17dSSaurabh Gorecha {
1085bd9c17dSSaurabh Gorecha }
1095bd9c17dSSaurabh Gorecha 
qtiseclib_psci_cpu_standby(uint8_t pwr_state)1105bd9c17dSSaurabh Gorecha void qtiseclib_psci_cpu_standby(uint8_t pwr_state)
1115bd9c17dSSaurabh Gorecha {
1125bd9c17dSSaurabh Gorecha }
1135bd9c17dSSaurabh Gorecha 
qtiseclib_psci_node_power_off(const uint8_t * states)1145bd9c17dSSaurabh Gorecha void qtiseclib_psci_node_power_off(const uint8_t *states)
1155bd9c17dSSaurabh Gorecha {
1165bd9c17dSSaurabh Gorecha }
1175bd9c17dSSaurabh Gorecha 
qtiseclib_psci_node_suspend(const uint8_t * states)1185bd9c17dSSaurabh Gorecha void qtiseclib_psci_node_suspend(const uint8_t *states)
1195bd9c17dSSaurabh Gorecha {
1205bd9c17dSSaurabh Gorecha }
1215bd9c17dSSaurabh Gorecha 
qtiseclib_psci_node_suspend_finish(const uint8_t * states)1225bd9c17dSSaurabh Gorecha void qtiseclib_psci_node_suspend_finish(const uint8_t *states)
1235bd9c17dSSaurabh Gorecha {
1245bd9c17dSSaurabh Gorecha }
1255bd9c17dSSaurabh Gorecha 
qtiseclib_disable_cluster_coherency(uint8_t state)1265bd9c17dSSaurabh Gorecha void qtiseclib_disable_cluster_coherency(uint8_t state)
1275bd9c17dSSaurabh Gorecha {
1285bd9c17dSSaurabh Gorecha }
1295bd9c17dSSaurabh Gorecha 
130