xref: /rk3399_ARM-atf/plat/mediatek/drivers/vcp/mt8196/vcp_helper.h (revision 3951baa6a68242c79fc9513f6684d5627476a0b5)
1*a1763ae9SXiangzhi Tang /*
2*a1763ae9SXiangzhi Tang  * Copyright (c) 2024, MediaTek Inc. All rights reserved.
3*a1763ae9SXiangzhi Tang  *
4*a1763ae9SXiangzhi Tang  * SPDX-License-Identifier: BSD-3-Clause
5*a1763ae9SXiangzhi Tang  */
6*a1763ae9SXiangzhi Tang 
7*a1763ae9SXiangzhi Tang #ifndef VCP_HELPER_H
8*a1763ae9SXiangzhi Tang #define VCP_HELPER_H
9*a1763ae9SXiangzhi Tang 
10*a1763ae9SXiangzhi Tang #define MTK_VCP_SRAM_SIZE		(0x60000)
11*a1763ae9SXiangzhi Tang 
12*a1763ae9SXiangzhi Tang /* Export extern API */
13*a1763ae9SXiangzhi Tang uint32_t get_mmup_fw_size(void);
14*a1763ae9SXiangzhi Tang uint64_t get_mmup_l2tcm_offset(void);
15*a1763ae9SXiangzhi Tang 
16*a1763ae9SXiangzhi Tang /* SMC calls OPS */
17*a1763ae9SXiangzhi Tang enum mtk_tinysys_vcp_kernel_op {
18*a1763ae9SXiangzhi Tang 	MTK_TINYSYS_VCP_KERNEL_OP_RESET_SET = 0,
19*a1763ae9SXiangzhi Tang 	MTK_TINYSYS_VCP_KERNEL_OP_RESET_RELEASE,
20*a1763ae9SXiangzhi Tang 	MTK_TINYSYS_VCP_KERNEL_OP_COLD_BOOT_VCP,
21*a1763ae9SXiangzhi Tang 	MTK_TINYSYS_MMUP_KERNEL_OP_RESET_SET,
22*a1763ae9SXiangzhi Tang 	MTK_TINYSYS_MMUP_KERNEL_OP_RESET_RELEASE,
23*a1763ae9SXiangzhi Tang 	MTK_TINYSYS_MMUP_KERNEL_OP_SET_L2TCM_OFFSET,
24*a1763ae9SXiangzhi Tang 	MTK_TINYSYS_MMUP_KERNEL_OP_SET_FW_SIZE,
25*a1763ae9SXiangzhi Tang 	MTK_TINYSYS_MMUP_KERNEL_OP_COLD_BOOT_MMUP,
26*a1763ae9SXiangzhi Tang 	MTK_TINYSYS_VCP_KERNEL_OP_NUM,
27*a1763ae9SXiangzhi Tang };
28*a1763ae9SXiangzhi Tang 
29*a1763ae9SXiangzhi Tang #endif /* VCP_HELPER_H */
30