pwrseq.c 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /******************************************************************************
  2. *
  3. * Copyright(c) 2009-2012 Realtek Corporation.
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of version 2 of the GNU General Public License as
  7. * published by the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12. * more details.
  13. *
  14. * The full GNU General Public License is included in this distribution in the
  15. * file called LICENSE.
  16. *
  17. * Contact Information:
  18. * wlanfae <wlanfae@realtek.com>
  19. * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
  20. * Hsinchu 300, Taiwan.
  21. *
  22. * Larry Finger <Larry.Finger@lwfinger.net>
  23. *
  24. *****************************************************************************/
  25. #include "../pwrseqcmd.h"
  26. #include "pwrseq.h"
  27. /* drivers should parse below arrays and do the corresponding actions */
  28. /*3 Power on Array*/
  29. struct wlan_pwr_cfg rtl8723A_power_on_flow
  30. [RTL8723A_TRANS_CARDEMU_TO_ACT_STEPS +
  31. RTL8723A_TRANS_END_STEPS] = {
  32. RTL8723A_TRANS_CARDEMU_TO_ACT
  33. RTL8723A_TRANS_END
  34. };
  35. /*3Radio off GPIO Array */
  36. struct wlan_pwr_cfg rtl8723A_radio_off_flow
  37. [RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
  38. RTL8723A_TRANS_END_STEPS] = {
  39. RTL8723A_TRANS_ACT_TO_CARDEMU
  40. RTL8723A_TRANS_END
  41. };
  42. /*3Card Disable Array*/
  43. struct wlan_pwr_cfg rtl8723A_card_disable_flow
  44. [RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
  45. RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS +
  46. RTL8723A_TRANS_END_STEPS] = {
  47. RTL8723A_TRANS_ACT_TO_CARDEMU
  48. RTL8723A_TRANS_CARDEMU_TO_CARDDIS
  49. RTL8723A_TRANS_END
  50. };
  51. /*3 Card Enable Array*/
  52. struct wlan_pwr_cfg rtl8723A_card_enable_flow
  53. [RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
  54. RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS +
  55. RTL8723A_TRANS_END_STEPS] = {
  56. RTL8723A_TRANS_CARDDIS_TO_CARDEMU
  57. RTL8723A_TRANS_CARDEMU_TO_ACT
  58. RTL8723A_TRANS_END
  59. };
  60. /*3Suspend Array*/
  61. struct wlan_pwr_cfg rtl8723A_suspend_flow
  62. [RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
  63. RTL8723A_TRANS_CARDEMU_TO_SUS_STEPS +
  64. RTL8723A_TRANS_END_STEPS] = {
  65. RTL8723A_TRANS_ACT_TO_CARDEMU
  66. RTL8723A_TRANS_CARDEMU_TO_SUS
  67. RTL8723A_TRANS_END
  68. };
  69. /*3 Resume Array*/
  70. struct wlan_pwr_cfg rtl8723A_resume_flow
  71. [RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
  72. RTL8723A_TRANS_CARDEMU_TO_SUS_STEPS +
  73. RTL8723A_TRANS_END_STEPS] = {
  74. RTL8723A_TRANS_SUS_TO_CARDEMU
  75. RTL8723A_TRANS_CARDEMU_TO_ACT
  76. RTL8723A_TRANS_END
  77. };
  78. /*3HWPDN Array*/
  79. struct wlan_pwr_cfg rtl8723A_hwpdn_flow
  80. [RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
  81. RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS +
  82. RTL8723A_TRANS_END_STEPS] = {
  83. RTL8723A_TRANS_ACT_TO_CARDEMU
  84. RTL8723A_TRANS_CARDEMU_TO_PDN
  85. RTL8723A_TRANS_END
  86. };
  87. /*3 Enter LPS */
  88. struct wlan_pwr_cfg rtl8723A_enter_lps_flow
  89. [RTL8723A_TRANS_ACT_TO_LPS_STEPS +
  90. RTL8723A_TRANS_END_STEPS] = {
  91. /*FW behavior*/
  92. RTL8723A_TRANS_ACT_TO_LPS
  93. RTL8723A_TRANS_END
  94. };
  95. /*3 Leave LPS */
  96. struct wlan_pwr_cfg rtl8723A_leave_lps_flow
  97. [RTL8723A_TRANS_LPS_TO_ACT_STEPS +
  98. RTL8723A_TRANS_END_STEPS] = {
  99. /*FW behavior*/
  100. RTL8723A_TRANS_LPS_TO_ACT
  101. RTL8723A_TRANS_END
  102. };