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