File Index
Files and directories
Sign in
FILE

pwrseq.c

File preview with syntax highlighting.

linux-6.19.14/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/pwrseq.c C
  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};
~/ Read-only file preview.