pwrseq.c (4530B)
1// SPDX-License-Identifier: GPL-2.0 2/* 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_ACT 12 RTL8812_TRANS_END 13}; 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_CARDEMU 19 RTL8812_TRANS_END 20}; 21 22/* 3Card Disable Array */ 23struct wlan_pwr_cfg rtl8812_card_disable_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS 24 + RTL8812_TRANS_CARDEMU_TO_PDN_STEPS 25 + RTL8812_TRANS_END_STEPS] = { 26 RTL8812_TRANS_ACT_TO_CARDEMU 27 RTL8812_TRANS_CARDEMU_TO_CARDDIS 28 RTL8812_TRANS_END 29}; 30 31/* 3 Card Enable Array */ 32struct wlan_pwr_cfg rtl8812_card_enable_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS 33 + RTL8812_TRANS_CARDEMU_TO_PDN_STEPS 34 + RTL8812_TRANS_END_STEPS] = { 35 RTL8812_TRANS_CARDDIS_TO_CARDEMU 36 RTL8812_TRANS_CARDEMU_TO_ACT 37 RTL8812_TRANS_END 38}; 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_CARDEMU 45 RTL8812_TRANS_CARDEMU_TO_SUS 46 RTL8812_TRANS_END 47}; 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_CARDEMU 54 RTL8812_TRANS_CARDEMU_TO_ACT 55 RTL8812_TRANS_END 56}; 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_CARDEMU 63 RTL8812_TRANS_CARDEMU_TO_PDN 64 RTL8812_TRANS_END 65}; 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_LPS 72 RTL8812_TRANS_END 73}; 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_ACT 80 RTL8812_TRANS_END 81}; 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_STEPS 86 + RTL8821A_TRANS_END_STEPS] = { 87 RTL8821A_TRANS_CARDEMU_TO_ACT 88 RTL8821A_TRANS_END 89}; 90 91/*3Radio off GPIO Array */ 92struct wlan_pwr_cfg rtl8821A_radio_off_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS 93 + RTL8821A_TRANS_END_STEPS] = { 94 RTL8821A_TRANS_ACT_TO_CARDEMU 95 RTL8821A_TRANS_END 96}; 97 98/*3Card Disable Array*/ 99struct wlan_pwr_cfg rtl8821A_card_disable_flow 100 [RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS 101 + RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS 102 + RTL8821A_TRANS_END_STEPS] = { 103 RTL8821A_TRANS_ACT_TO_CARDEMU 104 RTL8821A_TRANS_CARDEMU_TO_CARDDIS 105 RTL8821A_TRANS_END 106}; 107 108/*3 Card Enable Array*/ 109/*RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS*/ 110struct wlan_pwr_cfg rtl8821A_card_enable_flow 111 [RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS 112 + RTL8821A_TRANS_CARDEMU_TO_ACT_STEPS 113 + RTL8821A_TRANS_END_STEPS] = { 114 RTL8821A_TRANS_CARDDIS_TO_CARDEMU 115 RTL8821A_TRANS_CARDEMU_TO_ACT 116 RTL8821A_TRANS_END 117}; 118 119/*3Suspend Array*/ 120struct wlan_pwr_cfg rtl8821A_suspend_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS 121 + RTL8821A_TRANS_CARDEMU_TO_SUS_STEPS 122 + RTL8821A_TRANS_END_STEPS] = { 123 RTL8821A_TRANS_ACT_TO_CARDEMU 124 RTL8821A_TRANS_CARDEMU_TO_SUS 125 RTL8821A_TRANS_END 126}; 127 128/*3 Resume Array*/ 129struct wlan_pwr_cfg rtl8821A_resume_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS 130 + RTL8821A_TRANS_CARDEMU_TO_SUS_STEPS 131 + RTL8821A_TRANS_END_STEPS] = { 132 RTL8821A_TRANS_SUS_TO_CARDEMU 133 RTL8821A_TRANS_CARDEMU_TO_ACT 134 RTL8821A_TRANS_END 135}; 136 137/*3HWPDN Array*/ 138struct wlan_pwr_cfg rtl8821A_hwpdn_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS 139 + RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS 140 + RTL8821A_TRANS_END_STEPS] = { 141 RTL8821A_TRANS_ACT_TO_CARDEMU 142 RTL8821A_TRANS_CARDEMU_TO_PDN 143 RTL8821A_TRANS_END 144}; 145 146/*3 Enter LPS */ 147struct wlan_pwr_cfg rtl8821A_enter_lps_flow[RTL8821A_TRANS_ACT_TO_LPS_STEPS 148 + RTL8821A_TRANS_END_STEPS] = { 149 /*FW behavior*/ 150 RTL8821A_TRANS_ACT_TO_LPS 151 RTL8821A_TRANS_END 152}; 153 154/*3 Leave LPS */ 155struct wlan_pwr_cfg rtl8821A_leave_lps_flow[RTL8821A_TRANS_LPS_TO_ACT_STEPS 156 + RTL8821A_TRANS_END_STEPS] = { 157 /*FW behavior*/ 158 RTL8821A_TRANS_LPS_TO_ACT 159 RTL8821A_TRANS_END 160};