1*ca4c0c2eSFlora Fu /* 2*ca4c0c2eSFlora Fu * Copyright (c) 2021, MediaTek Inc. All rights reserved. 3*ca4c0c2eSFlora Fu * 4*ca4c0c2eSFlora Fu * SPDX-License-Identifier: BSD-3-Clause 5*ca4c0c2eSFlora Fu */ 6*ca4c0c2eSFlora Fu 7*ca4c0c2eSFlora Fu #ifndef __MTK_APUSYS_H__ 8*ca4c0c2eSFlora Fu #define __MTK_APUSYS_H__ 9*ca4c0c2eSFlora Fu 10*ca4c0c2eSFlora Fu #include <stdint.h> 11*ca4c0c2eSFlora Fu 12*ca4c0c2eSFlora Fu /* setup the SMC command ops */ 13*ca4c0c2eSFlora Fu #define MTK_SIP_APU_START_MCU 0x00U 14*ca4c0c2eSFlora Fu #define MTK_SIP_APU_STOP_MCU 0x01U 15*ca4c0c2eSFlora Fu 16*ca4c0c2eSFlora Fu /* AO Register */ 17*ca4c0c2eSFlora Fu #define AO_MD32_PRE_DEFINE (APUSYS_APU_S_S_4_BASE + 0x00) 18*ca4c0c2eSFlora Fu #define AO_MD32_BOOT_CTRL (APUSYS_APU_S_S_4_BASE + 0x04) 19*ca4c0c2eSFlora Fu #define AO_MD32_SYS_CTRL (APUSYS_APU_S_S_4_BASE + 0x08) 20*ca4c0c2eSFlora Fu #define AO_SEC_FW (APUSYS_APU_S_S_4_BASE + 0x10) 21*ca4c0c2eSFlora Fu 22*ca4c0c2eSFlora Fu #define PRE_DEFINE_CACHE_TCM 0x3U 23*ca4c0c2eSFlora Fu #define PRE_DEFINE_CACHE 0x2U 24*ca4c0c2eSFlora Fu #define PRE_DEFINE_SHIFT_0G 0U 25*ca4c0c2eSFlora Fu #define PRE_DEFINE_SHIFT_1G 2U 26*ca4c0c2eSFlora Fu #define PRE_DEFINE_SHIFT_2G 4U 27*ca4c0c2eSFlora Fu #define PRE_DEFINE_SHIFT_3G 6U 28*ca4c0c2eSFlora Fu 29*ca4c0c2eSFlora Fu #define SEC_FW_NON_SECURE 1U 30*ca4c0c2eSFlora Fu #define SEC_FW_SHIFT_NS 4U 31*ca4c0c2eSFlora Fu #define SEC_FW_DOMAIN_SHIFT 0U 32*ca4c0c2eSFlora Fu 33*ca4c0c2eSFlora Fu #define SYS_CTRL_RUN 0U 34*ca4c0c2eSFlora Fu #define SYS_CTRL_STALL 1U 35*ca4c0c2eSFlora Fu 36*ca4c0c2eSFlora Fu /* Reviser Register */ 37*ca4c0c2eSFlora Fu #define REVISER_SECUREFW_CTXT (APUSYS_SCTRL_REVISER_BASE + 0x300) 38*ca4c0c2eSFlora Fu #define REVISER_USDRFW_CTXT (APUSYS_SCTRL_REVISER_BASE + 0x304) 39*ca4c0c2eSFlora Fu 40*ca4c0c2eSFlora Fu uint64_t apusys_kernel_ctrl(uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, 41*ca4c0c2eSFlora Fu uint32_t *ret1); 42*ca4c0c2eSFlora Fu #endif /* __MTK_APUSYS_H__ */ 43