xref: /arm-trusted-firmware/plat/mediatek/common/lpm/mt_lp_api.c (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (c) 2023, MediaTek Inc. All rights reserved.
3*91f16700Schasinglulu  *
4*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu  */
6*91f16700Schasinglulu 
7*91f16700Schasinglulu #include <lpm/mt_lp_api.h>
8*91f16700Schasinglulu 
9*91f16700Schasinglulu int mt_audio_update(int type)
10*91f16700Schasinglulu {
11*91f16700Schasinglulu 	int ret, val;
12*91f16700Schasinglulu 
13*91f16700Schasinglulu 	switch (type) {
14*91f16700Schasinglulu 	case AUDIO_AFE_ENTER:
15*91f16700Schasinglulu 	case AUDIO_AFE_LEAVE:
16*91f16700Schasinglulu 		val = (type == AUDIO_AFE_ENTER) ? 1 : 0;
17*91f16700Schasinglulu 		ret = mt_lp_rm_do_update(-1, PLAT_RC_IS_FMAUDIO, &val);
18*91f16700Schasinglulu 		break;
19*91f16700Schasinglulu 	case AUDIO_DSP_ENTER:
20*91f16700Schasinglulu 	case AUDIO_DSP_LEAVE:
21*91f16700Schasinglulu 		val = (type == AUDIO_DSP_ENTER) ? 1 : 0;
22*91f16700Schasinglulu 		ret = mt_lp_rm_do_update(-1, PLAT_RC_IS_ADSP, &val);
23*91f16700Schasinglulu 		break;
24*91f16700Schasinglulu 	default:
25*91f16700Schasinglulu 		ret = -1;
26*91f16700Schasinglulu 		break;
27*91f16700Schasinglulu 	}
28*91f16700Schasinglulu 
29*91f16700Schasinglulu 	return ret;
30*91f16700Schasinglulu }
31*91f16700Schasinglulu 
32*91f16700Schasinglulu int mtk_usb_update(int type)
33*91f16700Schasinglulu {
34*91f16700Schasinglulu 	int ret, val;
35*91f16700Schasinglulu 
36*91f16700Schasinglulu 	switch (type) {
37*91f16700Schasinglulu 	case LPM_USB_ENTER:
38*91f16700Schasinglulu 	case LPM_USB_LEAVE:
39*91f16700Schasinglulu 		val = (type == LPM_USB_ENTER) ? 1 : 0;
40*91f16700Schasinglulu 		ret = mt_lp_rm_do_update(-1, PLAT_RC_IS_USB_INFRA, &val);
41*91f16700Schasinglulu 		break;
42*91f16700Schasinglulu 	default:
43*91f16700Schasinglulu 		ret = -1;
44*91f16700Schasinglulu 		break;
45*91f16700Schasinglulu 	}
46*91f16700Schasinglulu 
47*91f16700Schasinglulu 	return ret;
48*91f16700Schasinglulu }
49