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