0001
0002
0003
0004 #ifndef __RTL8723BE_PWRSEQ_H__
0005 #define __RTL8723BE_PWRSEQ_H__
0006
0007 #include "../pwrseqcmd.h"
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #define RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS 23
0030 #define RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS 15
0031 #define RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS 15
0032 #define RTL8723B_TRANS_SUS_TO_CARDEMU_STEPS 15
0033 #define RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS 15
0034 #define RTL8723B_TRANS_PDN_TO_CARDEMU_STEPS 15
0035 #define RTL8723B_TRANS_ACT_TO_LPS_STEPS 15
0036 #define RTL8723B_TRANS_LPS_TO_ACT_STEPS 15
0037 #define RTL8723B_TRANS_END_STEPS 1
0038
0039 #define RTL8723B_TRANS_CARDEMU_TO_ACT \
0040 \
0041 \
0042 \
0043 \
0044 {0x0020, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
0045 PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
0046 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)}, \
0047 \
0048 {0x0067, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
0049 PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
0050 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0}, \
0051 \
0052 {0x0001, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
0053 PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
0054 PWR_BASEADDR_MAC, PWR_CMD_DELAY, 1, PWRSEQ_DELAY_MS}, \
0055 \
0056 {0x0000, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
0057 PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
0058 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(5), 0}, \
0059 \
0060 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0061 PWR_BASEADDR_MAC, PWR_CMD_WRITE, (BIT(4)|BIT(3)|BIT(2)), 0}, \
0062 \
0063 {0x0075, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
0064 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0) , BIT(0)}, \
0065 \
0066 {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0067 PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(1), BIT(1)}, \
0068 \
0069 {0x0075, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
0070 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0) , 0}, \
0071 \
0072 {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0073 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)}, \
0074 \
0075 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0076 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), 0}, \
0077 \
0078 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0079 PWR_BASEADDR_MAC, PWR_CMD_WRITE, (BIT(4)|BIT(3)), 0}, \
0080 \
0081 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0082 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)}, \
0083 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0084 PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(0), 0}, \
0085 \
0086 {0x0010, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0087 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(6), BIT(6)}, \
0088 \
0089 {0x0049, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0090 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)}, \
0091 \
0092 {0x0063, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0093 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)}, \
0094 \
0095 {0x0062, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0096 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), 0}, \
0097 \
0098 {0x0058, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0099 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0)}, \
0100 \
0101 {0x005A, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0102 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)}, \
0103 \
0104 {0x0068, PWR_CUT_TESTCHIP_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK,\
0105 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3), BIT(3)}, \
0106 \
0107 {0x0069, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0108 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(6), BIT(6)},
0109
0110 #define RTL8723B_TRANS_ACT_TO_CARDEMU \
0111 \
0112 \
0113 \
0114 \
0115 {0x001F, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0116 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0}, \
0117 \
0118 \
0119 {0x004F, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0120 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0}, \
0121 \
0122 {0x0049, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0123 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), 0}, \
0124 \
0125 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0126 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)}, \
0127 \
0128 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0129 PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(1), 0}, \
0130 \
0131 {0x0010, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0132 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(6), 0}, \
0133 \
0134 {0x0000, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
0135 PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, \
0136 PWR_CMD_WRITE, BIT(5), BIT(5)}, \
0137 \
0138 {0x0020, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
0139 PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, \
0140 PWR_CMD_WRITE, BIT(0), 0},
0141
0142 #define RTL8723B_TRANS_CARDEMU_TO_SUS \
0143 \
0144 \
0145 \
0146 \
0147 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
0148 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4) | BIT(3), (BIT(4) | BIT(3))}, \
0149 \
0150 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
0151 PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, \
0152 PWR_CMD_WRITE, BIT(3) | BIT(4), BIT(3)}, \
0153 \
0154 {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0155 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4)}, \
0156 \
0157 {0x0007, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0158 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x20}, \
0159 \
0160 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
0161 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3) | BIT(4), BIT(3) | BIT(4)},\
0162 \
0163 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0164 PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), BIT(0)}, \
0165 \
0166 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0167 PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), 0},
0168
0169 #define RTL8723B_TRANS_SUS_TO_CARDEMU \
0170 \
0171 \
0172 \
0173 \
0174 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0175 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3) | BIT(7), 0}, \
0176 \
0177 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0178 PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), 0}, \
0179 \
0180 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0181 PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), BIT(1)}, \
0182 \
0183 {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0184 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0}, \
0185 \
0186 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0187 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), 0},
0188
0189 #define RTL8723B_TRANS_CARDEMU_TO_CARDDIS \
0190 \
0191 \
0192 \
0193 \
0194 {0x0007, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0195 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x20}, \
0196 \
0197 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
0198 PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, \
0199 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), BIT(3)}, \
0200 \
0201 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
0202 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(2), BIT(2)}, \
0203 \
0204 {0x004A, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, \
0205 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 1}, \
0206 \
0207 {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0208 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4)}, \
0209 \
0210 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0211 PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), BIT(0)}, \
0212 \
0213 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0214 PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), 0},
0215
0216 #define RTL8723B_TRANS_CARDDIS_TO_CARDEMU \
0217 \
0218 \
0219 \
0220 \
0221 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0222 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3) | BIT(7), 0}, \
0223 \
0224 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0225 PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), 0}, \
0226 \
0227 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0228 PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), BIT(1)}, \
0229 \
0230 {0x004A, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, \
0231 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0}, \
0232 \
0233 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0234 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), 0}, \
0235 \
0236 {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0237 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0}, \
0238 \
0239 {0x0301, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
0240 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0},
0241
0242 #define RTL8723B_TRANS_CARDEMU_TO_PDN \
0243 \
0244 \
0245 \
0246 \
0247 {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0248 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4)}, \
0249 \
0250 {0x0007, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \
0251 PWR_INTF_SDIO_MSK | PWR_INTF_USB_MSK, PWR_BASEADDR_MAC, \
0252 PWR_CMD_WRITE, 0xFF, 0x20}, \
0253 \
0254 {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0255 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0}, \
0256 \
0257 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0258 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), BIT(7)},
0259
0260 #define RTL8723B_TRANS_PDN_TO_CARDEMU \
0261 \
0262 \
0263 \
0264 \
0265 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0266 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), 0},
0267
0268 #define RTL8723B_TRANS_ACT_TO_LPS \
0269 \
0270 \
0271 \
0272 \
0273 {0x0301, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
0274 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0xFF}, \
0275 \
0276 {0x0522, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0277 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0xFF}, \
0278 \
0279 {0x05F8, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0280 PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0}, \
0281 \
0282 {0x05F9, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0283 PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0}, \
0284 \
0285 {0x05FA, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0286 PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0}, \
0287 \
0288 {0x05FB, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0289 PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0}, \
0290 \
0291 {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0292 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0}, \
0293 \
0294 {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0295 PWR_BASEADDR_MAC, PWR_CMD_DELAY, 0, PWRSEQ_DELAY_US}, \
0296 \
0297 {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0298 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), 0}, \
0299 \
0300 {0x0100, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0301 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x03}, \
0302 \
0303 {0x0101, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0304 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), 0}, \
0305 \
0306 {0x0093, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0307 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x00}, \
0308 \
0309 {0x0553, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0310 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(5), BIT(5)},
0311
0312 #define RTL8723B_TRANS_LPS_TO_ACT \
0313 \
0314 \
0315 \
0316 \
0317 {0x0080, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \
0318 PWR_BASEADDR_SDIO, PWR_CMD_WRITE, 0xFF, 0x84}, \
0319 \
0320 {0xFE58, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, \
0321 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x84}, \
0322 \
0323 {0x0361, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \
0324 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x84}, \
0325 \
0326 {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0327 PWR_BASEADDR_MAC, PWR_CMD_DELAY, 0, PWRSEQ_DELAY_MS}, \
0328 \
0329 {0x0008, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0330 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0}, \
0331 \
0332 {0x0109, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0333 PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(7), 0}, \
0334 \
0335 {0x0029, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0336 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(6)|BIT(7), 0}, \
0337 \
0338 {0x0101, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0339 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1)}, \
0340 \
0341 {0x0100, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0342 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0xFF}, \
0343 \
0344 {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0345 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1) | BIT(0), BIT(1) | BIT(0)}, \
0346 \
0347 {0x0522, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \
0348 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0},
0349
0350 #define RTL8723B_TRANS_END \
0351 \
0352 \
0353 \
0354 {0xFFFF, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, 0, \
0355 PWR_CMD_END, 0, 0},
0356
0357 extern struct wlan_pwr_cfg rtl8723B_power_on_flow
0358 [RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS +
0359 RTL8723B_TRANS_END_STEPS];
0360 extern struct wlan_pwr_cfg rtl8723B_radio_off_flow
0361 [RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
0362 RTL8723B_TRANS_END_STEPS];
0363 extern struct wlan_pwr_cfg rtl8723B_card_disable_flow
0364 [RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
0365 RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
0366 RTL8723B_TRANS_END_STEPS];
0367 extern struct wlan_pwr_cfg rtl8723B_card_enable_flow
0368 [RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
0369 RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
0370 RTL8723B_TRANS_END_STEPS];
0371 extern struct wlan_pwr_cfg rtl8723B_suspend_flow
0372 [RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
0373 RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS +
0374 RTL8723B_TRANS_END_STEPS];
0375 extern struct wlan_pwr_cfg rtl8723B_resume_flow
0376 [RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
0377 RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS +
0378 RTL8723B_TRANS_END_STEPS];
0379 extern struct wlan_pwr_cfg rtl8723B_hwpdn_flow
0380 [RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
0381 RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
0382 RTL8723B_TRANS_END_STEPS];
0383 extern struct wlan_pwr_cfg rtl8723B_enter_lps_flow
0384 [RTL8723B_TRANS_ACT_TO_LPS_STEPS +
0385 RTL8723B_TRANS_END_STEPS];
0386 extern struct wlan_pwr_cfg rtl8723B_leave_lps_flow
0387 [RTL8723B_TRANS_LPS_TO_ACT_STEPS +
0388 RTL8723B_TRANS_END_STEPS];
0389
0390
0391 #define RTL8723_NIC_PWR_ON_FLOW rtl8723B_power_on_flow
0392 #define RTL8723_NIC_RF_OFF_FLOW rtl8723B_radio_off_flow
0393 #define RTL8723_NIC_DISABLE_FLOW rtl8723B_card_disable_flow
0394 #define RTL8723_NIC_ENABLE_FLOW rtl8723B_card_enable_flow
0395 #define RTL8723_NIC_SUSPEND_FLOW rtl8723B_suspend_flow
0396 #define RTL8723_NIC_RESUME_FLOW rtl8723B_resume_flow
0397 #define RTL8723_NIC_PDN_FLOW rtl8723B_hwpdn_flow
0398 #define RTL8723_NIC_LPS_ENTER_FLOW rtl8723B_enter_lps_flow
0399 #define RTL8723_NIC_LPS_LEAVE_FLOW rtl8723B_leave_lps_flow
0400
0401 #endif