183f836c9SKarl Li /* 283f836c9SKarl Li * Copyright (c) 2024, MediaTek Inc. All rights reserved. 383f836c9SKarl Li * 483f836c9SKarl Li * SPDX-License-Identifier: BSD-3-Clause 583f836c9SKarl Li */ 683f836c9SKarl Li 783f836c9SKarl Li #ifndef APUSYS_RV_PWR_CTL_H 883f836c9SKarl Li #define APUSYS_RV_PWR_CTL_H 983f836c9SKarl Li 10*3ee4b2deSKarl Li #include "apusys_rv.h" 11*3ee4b2deSKarl Li 1283f836c9SKarl Li /* APU MBOX */ 1383f836c9SKarl Li #define MBOX_FUNC_CFG (0xb0) 1483f836c9SKarl Li #define MBOX_DOMAIN_CFG (0xe0) 1583f836c9SKarl Li #define MBOX_CTRL_LOCK BIT(0) 1683f836c9SKarl Li #define MBOX_NO_MPU_SHIFT (16) 1783f836c9SKarl Li #define MBOX_RX_NS_SHIFT (16) 1883f836c9SKarl Li #define MBOX_RX_DOMAIN_SHIFT (17) 1983f836c9SKarl Li #define MBOX_TX_NS_SHIFT (24) 2083f836c9SKarl Li #define MBOX_TX_DOMAIN_SHIFT (25) 2183f836c9SKarl Li #define MBOX_SIZE (0x100) 2283f836c9SKarl Li #define MBOX_NUM (8) 2383f836c9SKarl Li 2483f836c9SKarl Li #define APU_MBOX(i) (((i) < MBOX_NUM) ? (APU_MBOX0 + MBOX_SIZE * (i)) : \ 2583f836c9SKarl Li (APU_MBOX1 + MBOX_SIZE * ((i) - MBOX_NUM))) 2683f836c9SKarl Li #define APU_MBOX_FUNC_CFG(i) (APU_MBOX(i) + MBOX_FUNC_CFG) 2783f836c9SKarl Li #define APU_MBOX_DOMAIN_CFG(i) (APU_MBOX(i) + MBOX_DOMAIN_CFG) 2883f836c9SKarl Li 2983f836c9SKarl Li #define HW_SEM_TIMEOUT (0) 3083f836c9SKarl Li 31*3ee4b2deSKarl Li int apusys_rv_pwr_ctrl(enum APU_PWR_OP op); 3283f836c9SKarl Li 3383f836c9SKarl Li #endif /* APUSYS_RV_PWR_CTL_H */ 34