xref: /rk3399_ARM-atf/plat/mediatek/drivers/apusys/mt8188/apusys_rv_pwr_ctrl.h (revision 999503d285475f8920111f3fd760312ddf1d5b5b)
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