1f1d2b4d3SLarry Finger /****************************************************************************** 2f1d2b4d3SLarry Finger * 3f1d2b4d3SLarry Finger * Copyright(c) 2009-2014 Realtek Corporation. 4f1d2b4d3SLarry Finger * 5f1d2b4d3SLarry Finger * This program is free software; you can redistribute it and/or modify it 6f1d2b4d3SLarry Finger * under the terms of version 2 of the GNU General Public License as 7f1d2b4d3SLarry Finger * published by the Free Software Foundation. 8f1d2b4d3SLarry Finger * 9f1d2b4d3SLarry Finger * This program is distributed in the hope that it will be useful, but WITHOUT 10f1d2b4d3SLarry Finger * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11f1d2b4d3SLarry Finger * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12f1d2b4d3SLarry Finger * more details. 13f1d2b4d3SLarry Finger * 14f1d2b4d3SLarry Finger * The full GNU General Public License is included in this distribution in the 15f1d2b4d3SLarry Finger * file called LICENSE. 16f1d2b4d3SLarry Finger * 17f1d2b4d3SLarry Finger * Contact Information: 18f1d2b4d3SLarry Finger * wlanfae <wlanfae@realtek.com> 19f1d2b4d3SLarry Finger * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20f1d2b4d3SLarry Finger * Hsinchu 300, Taiwan. 21f1d2b4d3SLarry Finger * 22f1d2b4d3SLarry Finger * Larry Finger <Larry.Finger@lwfinger.net> 23f1d2b4d3SLarry Finger * 24f1d2b4d3SLarry Finger *****************************************************************************/ 25f1d2b4d3SLarry Finger 26f1d2b4d3SLarry Finger #include "../pwrseqcmd.h" 27f1d2b4d3SLarry Finger #include "pwrseq.h" 28f1d2b4d3SLarry Finger 29f1d2b4d3SLarry Finger 30f1d2b4d3SLarry Finger /* drivers should parse below arrays and do the corresponding actions */ 31f1d2b4d3SLarry Finger /*3 Power on Array*/ 32f1d2b4d3SLarry Finger struct wlan_pwr_cfg rtl8723B_power_on_flow[RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS + 33f1d2b4d3SLarry Finger RTL8723B_TRANS_END_STEPS] = { 34f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_ACT 35f1d2b4d3SLarry Finger RTL8723B_TRANS_END 36f1d2b4d3SLarry Finger }; 37f1d2b4d3SLarry Finger 38f1d2b4d3SLarry Finger /*3Radio off GPIO Array */ 39f1d2b4d3SLarry Finger struct wlan_pwr_cfg rtl8723B_radio_off_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS 40f1d2b4d3SLarry Finger + RTL8723B_TRANS_END_STEPS] = { 41f1d2b4d3SLarry Finger RTL8723B_TRANS_ACT_TO_CARDEMU 42f1d2b4d3SLarry Finger RTL8723B_TRANS_END 43f1d2b4d3SLarry Finger }; 44f1d2b4d3SLarry Finger 45f1d2b4d3SLarry Finger /*3Card Disable Array*/ 46f1d2b4d3SLarry Finger struct wlan_pwr_cfg rtl8723B_card_disable_flow 47f1d2b4d3SLarry Finger [RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS + 48f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS + 49f1d2b4d3SLarry Finger RTL8723B_TRANS_END_STEPS] = { 50f1d2b4d3SLarry Finger RTL8723B_TRANS_ACT_TO_CARDEMU 51f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_CARDDIS 52f1d2b4d3SLarry Finger RTL8723B_TRANS_END 53f1d2b4d3SLarry Finger }; 54f1d2b4d3SLarry Finger 55f1d2b4d3SLarry Finger /*3 Card Enable Array*/ 56f1d2b4d3SLarry Finger struct wlan_pwr_cfg rtl8723B_card_enable_flow 57f1d2b4d3SLarry Finger [RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS + 58f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS + 59f1d2b4d3SLarry Finger RTL8723B_TRANS_END_STEPS] = { 60f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDDIS_TO_CARDEMU 61f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_ACT 62f1d2b4d3SLarry Finger RTL8723B_TRANS_END 63f1d2b4d3SLarry Finger }; 64f1d2b4d3SLarry Finger 65f1d2b4d3SLarry Finger /*3Suspend Array*/ 66f1d2b4d3SLarry Finger struct wlan_pwr_cfg rtl8723B_suspend_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS + 67f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS + 68f1d2b4d3SLarry Finger RTL8723B_TRANS_END_STEPS] = { 69f1d2b4d3SLarry Finger RTL8723B_TRANS_ACT_TO_CARDEMU 70f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_SUS 71f1d2b4d3SLarry Finger RTL8723B_TRANS_END 72f1d2b4d3SLarry Finger }; 73f1d2b4d3SLarry Finger 74f1d2b4d3SLarry Finger /*3 Resume Array*/ 75f1d2b4d3SLarry Finger struct wlan_pwr_cfg rtl8723B_resume_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS + 76f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS + 77f1d2b4d3SLarry Finger RTL8723B_TRANS_END_STEPS] = { 78f1d2b4d3SLarry Finger RTL8723B_TRANS_SUS_TO_CARDEMU 79f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_ACT 80f1d2b4d3SLarry Finger RTL8723B_TRANS_END 81f1d2b4d3SLarry Finger }; 82f1d2b4d3SLarry Finger 83f1d2b4d3SLarry Finger /*3HWPDN Array*/ 84f1d2b4d3SLarry Finger struct wlan_pwr_cfg rtl8723B_hwpdn_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS + 85f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS + 86f1d2b4d3SLarry Finger RTL8723B_TRANS_END_STEPS] = { 87f1d2b4d3SLarry Finger RTL8723B_TRANS_ACT_TO_CARDEMU 88f1d2b4d3SLarry Finger RTL8723B_TRANS_CARDEMU_TO_PDN 89f1d2b4d3SLarry Finger RTL8723B_TRANS_END 90f1d2b4d3SLarry Finger }; 91f1d2b4d3SLarry Finger 92f1d2b4d3SLarry Finger /*3 Enter LPS */ 93f1d2b4d3SLarry Finger struct wlan_pwr_cfg rtl8723B_enter_lps_flow[RTL8723B_TRANS_ACT_TO_LPS_STEPS + 94f1d2b4d3SLarry Finger RTL8723B_TRANS_END_STEPS] = { 95f1d2b4d3SLarry Finger /*FW behavior*/ 96f1d2b4d3SLarry Finger RTL8723B_TRANS_ACT_TO_LPS 97f1d2b4d3SLarry Finger RTL8723B_TRANS_END 98f1d2b4d3SLarry Finger }; 99f1d2b4d3SLarry Finger 100f1d2b4d3SLarry Finger /*3 Leave LPS */ 101f1d2b4d3SLarry Finger struct wlan_pwr_cfg rtl8723B_leave_lps_flow[RTL8723B_TRANS_LPS_TO_ACT_STEPS + 102f1d2b4d3SLarry Finger RTL8723B_TRANS_END_STEPS] = { 103f1d2b4d3SLarry Finger /*FW behavior*/ 104f1d2b4d3SLarry Finger RTL8723B_TRANS_LPS_TO_ACT 105f1d2b4d3SLarry Finger RTL8723B_TRANS_END 106f1d2b4d3SLarry Finger }; 107