161 lines · c
1// SPDX-License-Identifier: GPL-2.02/* Copyright(c) 2009-2010 Realtek Corporation.*/3 4#include "../pwrseqcmd.h"5#include "pwrseq.h"6 7/* drivers should parse below arrays and do the corresponding actions */8/* 3 Power on Array */9struct wlan_pwr_cfg rtl8812_power_on_flow[RTL8812_TRANS_CARDEMU_TO_ACT_STEPS +10 RTL8812_TRANS_END_STEPS] = {11 RTL8812_TRANS_CARDEMU_TO_ACT12 RTL8812_TRANS_END13};14 15/* 3Radio off GPIO Array */16struct wlan_pwr_cfg rtl8812_radio_off_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +17 RTL8812_TRANS_END_STEPS] = {18 RTL8812_TRANS_ACT_TO_CARDEMU19 RTL8812_TRANS_END20};21 22/* 3Card Disable Array */23struct wlan_pwr_cfg rtl8812_card_disable_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS24 + RTL8812_TRANS_CARDEMU_TO_PDN_STEPS25 + RTL8812_TRANS_END_STEPS] = {26 RTL8812_TRANS_ACT_TO_CARDEMU27 RTL8812_TRANS_CARDEMU_TO_CARDDIS28 RTL8812_TRANS_END29};30 31/* 3 Card Enable Array */32struct wlan_pwr_cfg rtl8812_card_enable_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS33 + RTL8812_TRANS_CARDEMU_TO_PDN_STEPS34 + RTL8812_TRANS_END_STEPS] = {35 RTL8812_TRANS_CARDDIS_TO_CARDEMU36 RTL8812_TRANS_CARDEMU_TO_ACT37 RTL8812_TRANS_END38};39 40/* 3Suspend Array */41struct wlan_pwr_cfg rtl8812_suspend_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +42 RTL8812_TRANS_CARDEMU_TO_SUS_STEPS +43 RTL8812_TRANS_END_STEPS] = {44 RTL8812_TRANS_ACT_TO_CARDEMU45 RTL8812_TRANS_CARDEMU_TO_SUS46 RTL8812_TRANS_END47};48 49/* 3 Resume Array */50struct wlan_pwr_cfg rtl8812_resume_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +51 RTL8812_TRANS_CARDEMU_TO_SUS_STEPS +52 RTL8812_TRANS_END_STEPS] = {53 RTL8812_TRANS_SUS_TO_CARDEMU54 RTL8812_TRANS_CARDEMU_TO_ACT55 RTL8812_TRANS_END56};57 58/* 3HWPDN Array */59struct wlan_pwr_cfg rtl8812_hwpdn_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +60 RTL8812_TRANS_CARDEMU_TO_PDN_STEPS +61 RTL8812_TRANS_END_STEPS] = {62 RTL8812_TRANS_ACT_TO_CARDEMU63 RTL8812_TRANS_CARDEMU_TO_PDN64 RTL8812_TRANS_END65};66 67/* 3 Enter LPS */68struct wlan_pwr_cfg rtl8812_enter_lps_flow[RTL8812_TRANS_ACT_TO_LPS_STEPS +69 RTL8812_TRANS_END_STEPS] = {70 /* FW behavior */71 RTL8812_TRANS_ACT_TO_LPS72 RTL8812_TRANS_END73};74 75/* 3 Leave LPS */76struct wlan_pwr_cfg rtl8812_leave_lps_flow[RTL8812_TRANS_LPS_TO_ACT_STEPS +77 RTL8812_TRANS_END_STEPS] = {78 /* FW behavior */79 RTL8812_TRANS_LPS_TO_ACT80 RTL8812_TRANS_END81};82 83/* drivers should parse below arrays and do the corresponding actions */84/*3 Power on Array*/85struct wlan_pwr_cfg rtl8821A_power_on_flow[RTL8821A_TRANS_CARDEMU_TO_ACT_STEPS86 + RTL8821A_TRANS_END_STEPS] = {87 RTL8821A_TRANS_CARDEMU_TO_ACT88 RTL8821A_TRANS_END89};90 91/*3Radio off GPIO Array */92struct wlan_pwr_cfg rtl8821A_radio_off_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS93 + RTL8821A_TRANS_END_STEPS] = {94 RTL8821A_TRANS_ACT_TO_CARDEMU95 RTL8821A_TRANS_END96};97 98/*3Card Disable Array*/99struct wlan_pwr_cfg rtl8821A_card_disable_flow100 [RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS101 + RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS102 + RTL8821A_TRANS_END_STEPS] = {103 RTL8821A_TRANS_ACT_TO_CARDEMU104 RTL8821A_TRANS_CARDEMU_TO_CARDDIS105 RTL8821A_TRANS_END106};107 108/*3 Card Enable Array*/109/*RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS*/110struct wlan_pwr_cfg rtl8821A_card_enable_flow111 [RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS112 + RTL8821A_TRANS_CARDEMU_TO_ACT_STEPS113 + RTL8821A_TRANS_END_STEPS] = {114 RTL8821A_TRANS_CARDDIS_TO_CARDEMU115 RTL8821A_TRANS_CARDEMU_TO_ACT116 RTL8821A_TRANS_END117};118 119/*3Suspend Array*/120struct wlan_pwr_cfg rtl8821A_suspend_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS121 + RTL8821A_TRANS_CARDEMU_TO_SUS_STEPS122 + RTL8821A_TRANS_END_STEPS] = {123 RTL8821A_TRANS_ACT_TO_CARDEMU124 RTL8821A_TRANS_CARDEMU_TO_SUS125 RTL8821A_TRANS_END126};127 128/*3 Resume Array*/129struct wlan_pwr_cfg rtl8821A_resume_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS130 + RTL8821A_TRANS_CARDEMU_TO_SUS_STEPS131 + RTL8821A_TRANS_END_STEPS] = {132 RTL8821A_TRANS_SUS_TO_CARDEMU133 RTL8821A_TRANS_CARDEMU_TO_ACT134 RTL8821A_TRANS_END135};136 137/*3HWPDN Array*/138struct wlan_pwr_cfg rtl8821A_hwpdn_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS139 + RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS140 + RTL8821A_TRANS_END_STEPS] = {141 RTL8821A_TRANS_ACT_TO_CARDEMU142 RTL8821A_TRANS_CARDEMU_TO_PDN143 RTL8821A_TRANS_END144};145 146/*3 Enter LPS */147struct wlan_pwr_cfg rtl8821A_enter_lps_flow[RTL8821A_TRANS_ACT_TO_LPS_STEPS148 + RTL8821A_TRANS_END_STEPS] = {149 /*FW behavior*/150 RTL8821A_TRANS_ACT_TO_LPS151 RTL8821A_TRANS_END152};153 154/*3 Leave LPS */155struct wlan_pwr_cfg rtl8821A_leave_lps_flow[RTL8821A_TRANS_LPS_TO_ACT_STEPS156 + RTL8821A_TRANS_END_STEPS] = {157 /*FW behavior*/158 RTL8821A_TRANS_LPS_TO_ACT159 RTL8821A_TRANS_END160};161