122962b38SQuytelda Kahja // SPDX-License-Identifier: GPL-2.0
222962b38SQuytelda Kahja /******************************************************************************
322962b38SQuytelda Kahja  *
422962b38SQuytelda Kahja  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
522962b38SQuytelda Kahja  *
622962b38SQuytelda Kahja  ******************************************************************************/
722962b38SQuytelda Kahja 
822962b38SQuytelda Kahja /*
922962b38SQuytelda Kahja *
1022962b38SQuytelda Kahja This file includes all kinds of Power Action event for RTL8723B
1122962b38SQuytelda Kahja and corresponding hardware configurtions which are released from HW SD.
1222962b38SQuytelda Kahja 
1322962b38SQuytelda Kahja Major Change History:
1422962b38SQuytelda Kahja 	When       Who               What
1522962b38SQuytelda Kahja 	---------- ---------------   -------------------------------
1622962b38SQuytelda Kahja 	2011-08-08 Roger            Create.
1722962b38SQuytelda Kahja 
1822962b38SQuytelda Kahja */
1922962b38SQuytelda Kahja 
2022962b38SQuytelda Kahja #include "hal_pwr_seq.h"
2122962b38SQuytelda Kahja 
2222962b38SQuytelda Kahja /* drivers should parse below arrays and do the corresponding actions */
2322962b38SQuytelda Kahja /* 3 Power on  Array */
24*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_power_on_flow[
2522962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS+
2622962b38SQuytelda Kahja 	RTL8723B_TRANS_END_STEPS
2722962b38SQuytelda Kahja ] = {
2822962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_ACT
2922962b38SQuytelda Kahja 	RTL8723B_TRANS_END
3022962b38SQuytelda Kahja };
3122962b38SQuytelda Kahja 
3222962b38SQuytelda Kahja /* 3Radio off GPIO Array */
33*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_radio_off_flow[
3422962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
3522962b38SQuytelda Kahja 	RTL8723B_TRANS_END_STEPS
3622962b38SQuytelda Kahja ] = {
3722962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_CARDEMU
3822962b38SQuytelda Kahja 	RTL8723B_TRANS_END
3922962b38SQuytelda Kahja };
4022962b38SQuytelda Kahja 
4122962b38SQuytelda Kahja /* 3Card Disable Array */
42*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_card_disable_flow[
4322962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
4422962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+
4522962b38SQuytelda Kahja 	RTL8723B_TRANS_END_STEPS
4622962b38SQuytelda Kahja ] = {
4722962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_CARDEMU
4822962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_CARDDIS
4922962b38SQuytelda Kahja 	RTL8723B_TRANS_END
5022962b38SQuytelda Kahja };
5122962b38SQuytelda Kahja 
5222962b38SQuytelda Kahja /* 3 Card Enable Array */
53*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_card_enable_flow[
5422962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
5522962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+
5622962b38SQuytelda Kahja 	RTL8723B_TRANS_END_STEPS
5722962b38SQuytelda Kahja ] = {
5822962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDDIS_TO_CARDEMU
5922962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_ACT
6022962b38SQuytelda Kahja 	RTL8723B_TRANS_END
6122962b38SQuytelda Kahja };
6222962b38SQuytelda Kahja 
6322962b38SQuytelda Kahja /* 3Suspend Array */
64*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_suspend_flow[
6522962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
6622962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS+
6722962b38SQuytelda Kahja 	RTL8723B_TRANS_END_STEPS
6822962b38SQuytelda Kahja ] = {
6922962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_CARDEMU
7022962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_SUS
7122962b38SQuytelda Kahja 	RTL8723B_TRANS_END
7222962b38SQuytelda Kahja };
7322962b38SQuytelda Kahja 
7422962b38SQuytelda Kahja /* 3 Resume Array */
75*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_resume_flow[
7622962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
7722962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS+
7822962b38SQuytelda Kahja 	RTL8723B_TRANS_END_STEPS
7922962b38SQuytelda Kahja ] = {
8022962b38SQuytelda Kahja 	RTL8723B_TRANS_SUS_TO_CARDEMU
8122962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_ACT
8222962b38SQuytelda Kahja 	RTL8723B_TRANS_END
8322962b38SQuytelda Kahja };
8422962b38SQuytelda Kahja 
8522962b38SQuytelda Kahja /* 3HWPDN Array */
86*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_hwpdn_flow[
8722962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
8822962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+
8922962b38SQuytelda Kahja 	RTL8723B_TRANS_END_STEPS
9022962b38SQuytelda Kahja ] = {
9122962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_CARDEMU
9222962b38SQuytelda Kahja 	RTL8723B_TRANS_CARDEMU_TO_PDN
9322962b38SQuytelda Kahja 	RTL8723B_TRANS_END
9422962b38SQuytelda Kahja };
9522962b38SQuytelda Kahja 
9622962b38SQuytelda Kahja /* 3 Enter LPS */
97*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_enter_lps_flow[
9822962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_LPS_STEPS+RTL8723B_TRANS_END_STEPS
9922962b38SQuytelda Kahja ] = {
10022962b38SQuytelda Kahja 	/* FW behavior */
10122962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_LPS
10222962b38SQuytelda Kahja 	RTL8723B_TRANS_END
10322962b38SQuytelda Kahja };
10422962b38SQuytelda Kahja 
10522962b38SQuytelda Kahja /* 3 Leave LPS */
106*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_leave_lps_flow[
10722962b38SQuytelda Kahja 	RTL8723B_TRANS_LPS_TO_ACT_STEPS+RTL8723B_TRANS_END_STEPS
10822962b38SQuytelda Kahja ] = {
10922962b38SQuytelda Kahja 	/* FW behavior */
11022962b38SQuytelda Kahja 	RTL8723B_TRANS_LPS_TO_ACT
11122962b38SQuytelda Kahja 	RTL8723B_TRANS_END
11222962b38SQuytelda Kahja };
11322962b38SQuytelda Kahja 
11422962b38SQuytelda Kahja /* 3 Enter SW LPS */
115*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_enter_swlps_flow[
11622962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_SWLPS_STEPS+RTL8723B_TRANS_END_STEPS
11722962b38SQuytelda Kahja ] = {
11822962b38SQuytelda Kahja 	/* SW behavior */
11922962b38SQuytelda Kahja 	RTL8723B_TRANS_ACT_TO_SWLPS
12022962b38SQuytelda Kahja 	RTL8723B_TRANS_END
12122962b38SQuytelda Kahja };
12222962b38SQuytelda Kahja 
12322962b38SQuytelda Kahja /* 3 Leave SW LPS */
124*b765c78fSMarco Cesati struct wlan_pwr_cfg rtl8723B_leave_swlps_flow[
12522962b38SQuytelda Kahja 	RTL8723B_TRANS_SWLPS_TO_ACT_STEPS+RTL8723B_TRANS_END_STEPS
12622962b38SQuytelda Kahja ] = {
12722962b38SQuytelda Kahja 	/* SW behavior */
12822962b38SQuytelda Kahja 	RTL8723B_TRANS_SWLPS_TO_ACT
12922962b38SQuytelda Kahja 	RTL8723B_TRANS_END
13022962b38SQuytelda Kahja };
131