xref: /arm-trusted-firmware/plat/qti/qtiseclib/src/qtiseclib_interface_stub.c (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (c) 2020, The Linux Foundation. All rights reserved.
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu  */
6*91f16700Schasinglulu 
7*91f16700Schasinglulu #include <stdbool.h>
8*91f16700Schasinglulu #include <stdint.h>
9*91f16700Schasinglulu 
10*91f16700Schasinglulu #include <common/debug.h>
11*91f16700Schasinglulu 
12*91f16700Schasinglulu #include <qtiseclib_defs.h>
13*91f16700Schasinglulu #include <qtiseclib_interface.h>
14*91f16700Schasinglulu 
15*91f16700Schasinglulu /*
16*91f16700Schasinglulu  * This file contains dummy implementation of QTISECLIB Published API's.
17*91f16700Schasinglulu  * which will be used to compile PLATFORM successfully when
18*91f16700Schasinglulu  * qtiseclib is not available
19*91f16700Schasinglulu  */
20*91f16700Schasinglulu 
21*91f16700Schasinglulu /*
22*91f16700Schasinglulu  * CPUSS common reset handler for all CPU wake up (both cold & warm boot).
23*91f16700Schasinglulu  * Executes on all core. This API assume serialization across CPU
24*91f16700Schasinglulu  * already taken care before invoking.
25*91f16700Schasinglulu  *
26*91f16700Schasinglulu  * Clobbers: x0 - x17, x30
27*91f16700Schasinglulu  */
28*91f16700Schasinglulu void qtiseclib_cpuss_reset_asm(uint32_t bl31_cold_boot_state)
29*91f16700Schasinglulu {
30*91f16700Schasinglulu }
31*91f16700Schasinglulu 
32*91f16700Schasinglulu /*
33*91f16700Schasinglulu  * Execute CPU (Kryo4 gold) specific reset handler / system initialization.
34*91f16700Schasinglulu  * This takes care of executing required CPU errata's.
35*91f16700Schasinglulu  *
36*91f16700Schasinglulu  * Clobbers: x0 - x16
37*91f16700Schasinglulu  */
38*91f16700Schasinglulu void qtiseclib_kryo4_gold_reset_asm(void)
39*91f16700Schasinglulu {
40*91f16700Schasinglulu }
41*91f16700Schasinglulu 
42*91f16700Schasinglulu /*
43*91f16700Schasinglulu  * Execute CPU (Kryo4 silver) specific reset handler / system initialization.
44*91f16700Schasinglulu  * This takes care of executing required CPU errata's.
45*91f16700Schasinglulu  *
46*91f16700Schasinglulu  * Clobbers: x0 - x16
47*91f16700Schasinglulu  */
48*91f16700Schasinglulu void qtiseclib_kryo4_silver_reset_asm(void)
49*91f16700Schasinglulu {
50*91f16700Schasinglulu }
51*91f16700Schasinglulu 
52*91f16700Schasinglulu /*
53*91f16700Schasinglulu  * Execute CPU (Kryo4 gold) specific reset handler / system initialization.
54*91f16700Schasinglulu  * This takes care of executing required CPU errata's.
55*91f16700Schasinglulu  *
56*91f16700Schasinglulu  * Clobbers: x0 - x16
57*91f16700Schasinglulu  */
58*91f16700Schasinglulu void qtiseclib_kryo6_gold_reset_asm(void)
59*91f16700Schasinglulu {
60*91f16700Schasinglulu }
61*91f16700Schasinglulu 
62*91f16700Schasinglulu 
63*91f16700Schasinglulu void qtiseclib_kryo6_silver_reset_asm(void)
64*91f16700Schasinglulu {
65*91f16700Schasinglulu }
66*91f16700Schasinglulu 
67*91f16700Schasinglulu /*
68*91f16700Schasinglulu  * C Api's
69*91f16700Schasinglulu  */
70*91f16700Schasinglulu void qtiseclib_bl31_platform_setup(void)
71*91f16700Schasinglulu {
72*91f16700Schasinglulu 	ERROR("Please use QTISECLIB_PATH while building TF-A\n");
73*91f16700Schasinglulu 	ERROR("Please refer docs/plat/qti.rst for more details.\n");
74*91f16700Schasinglulu 	panic();
75*91f16700Schasinglulu }
76*91f16700Schasinglulu 
77*91f16700Schasinglulu void qtiseclib_invoke_isr(uint32_t irq, void *handle)
78*91f16700Schasinglulu {
79*91f16700Schasinglulu }
80*91f16700Schasinglulu 
81*91f16700Schasinglulu void qtiseclib_panic(void)
82*91f16700Schasinglulu {
83*91f16700Schasinglulu }
84*91f16700Schasinglulu 
85*91f16700Schasinglulu int
86*91f16700Schasinglulu qtiseclib_mem_assign(const memprot_info_t *mem_info,
87*91f16700Schasinglulu 		     uint32_t mem_info_list_cnt,
88*91f16700Schasinglulu 		     const uint32_t *source_vm_list,
89*91f16700Schasinglulu 		     uint32_t src_vm_list_cnt,
90*91f16700Schasinglulu 		     const memprot_dst_vm_perm_info_t *dest_vm_list,
91*91f16700Schasinglulu 		     uint32_t dst_vm_list_cnt)
92*91f16700Schasinglulu {
93*91f16700Schasinglulu 	return 0;
94*91f16700Schasinglulu }
95*91f16700Schasinglulu 
96*91f16700Schasinglulu int qtiseclib_psci_init(uintptr_t warmboot_entry)
97*91f16700Schasinglulu {
98*91f16700Schasinglulu 	return 0;
99*91f16700Schasinglulu }
100*91f16700Schasinglulu 
101*91f16700Schasinglulu int qtiseclib_psci_node_power_on(u_register_t mpidr)
102*91f16700Schasinglulu {
103*91f16700Schasinglulu 	return 0;
104*91f16700Schasinglulu }
105*91f16700Schasinglulu 
106*91f16700Schasinglulu void qtiseclib_psci_node_on_finish(const uint8_t *states)
107*91f16700Schasinglulu {
108*91f16700Schasinglulu }
109*91f16700Schasinglulu 
110*91f16700Schasinglulu void qtiseclib_psci_cpu_standby(uint8_t pwr_state)
111*91f16700Schasinglulu {
112*91f16700Schasinglulu }
113*91f16700Schasinglulu 
114*91f16700Schasinglulu void qtiseclib_psci_node_power_off(const uint8_t *states)
115*91f16700Schasinglulu {
116*91f16700Schasinglulu }
117*91f16700Schasinglulu 
118*91f16700Schasinglulu void qtiseclib_psci_node_suspend(const uint8_t *states)
119*91f16700Schasinglulu {
120*91f16700Schasinglulu }
121*91f16700Schasinglulu 
122*91f16700Schasinglulu void qtiseclib_psci_node_suspend_finish(const uint8_t *states)
123*91f16700Schasinglulu {
124*91f16700Schasinglulu }
125*91f16700Schasinglulu 
126*91f16700Schasinglulu void qtiseclib_disable_cluster_coherency(uint8_t state)
127*91f16700Schasinglulu {
128*91f16700Schasinglulu }
129*91f16700Schasinglulu 
130