Larry Finger | 58c4340 | 2013-08-21 22:34:07 -0500 | [diff] [blame] | 1 | /****************************************************************************** |
| 2 | * |
| 3 | * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. |
| 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 | * You should have received a copy of the GNU General Public License along with |
| 15 | * this program; if not, write to the Free Software Foundation, Inc., |
| 16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA |
| 17 | * |
| 18 | * |
| 19 | ******************************************************************************/ |
| 20 | #ifndef __RTL8188E_CMD_H__ |
| 21 | #define __RTL8188E_CMD_H__ |
| 22 | |
| 23 | enum RTL8188E_H2C_CMD_ID { |
| 24 | /* Class Common */ |
| 25 | H2C_COM_RSVD_PAGE = 0x00, |
| 26 | H2C_COM_MEDIA_STATUS_RPT = 0x01, |
| 27 | H2C_COM_SCAN = 0x02, |
| 28 | H2C_COM_KEEP_ALIVE = 0x03, |
| 29 | H2C_COM_DISCNT_DECISION = 0x04, |
| 30 | H2C_COM_INIT_OFFLOAD = 0x06, |
| 31 | H2C_COM_REMOTE_WAKE_CTL = 0x07, |
| 32 | H2C_COM_AP_OFFLOAD = 0x08, |
| 33 | H2C_COM_BCN_RSVD_PAGE = 0x09, |
| 34 | H2C_COM_PROB_RSP_RSVD_PAGE = 0x0A, |
| 35 | |
| 36 | /* Class PS */ |
| 37 | H2C_PS_PWR_MODE = 0x20, |
| 38 | H2C_PS_TUNE_PARA = 0x21, |
| 39 | H2C_PS_TUNE_PARA_2 = 0x22, |
| 40 | H2C_PS_LPS_PARA = 0x23, |
| 41 | H2C_PS_P2P_OFFLOAD = 0x24, |
| 42 | |
| 43 | /* Class DM */ |
| 44 | H2C_DM_MACID_CFG = 0x40, |
| 45 | H2C_DM_TXBF = 0x41, |
| 46 | |
| 47 | /* Class BT */ |
| 48 | H2C_BT_COEX_MASK = 0x60, |
| 49 | H2C_BT_COEX_GPIO_MODE = 0x61, |
| 50 | H2C_BT_DAC_SWING_VAL = 0x62, |
| 51 | H2C_BT_PSD_RST = 0x63, |
| 52 | |
| 53 | /* Class */ |
| 54 | H2C_RESET_TSF = 0xc0, |
| 55 | }; |
| 56 | |
| 57 | struct cmd_msg_parm { |
| 58 | u8 eid; /* element id */ |
| 59 | u8 sz; /* sz */ |
| 60 | u8 buf[6]; |
| 61 | }; |
| 62 | |
| 63 | enum { |
| 64 | PWRS |
| 65 | }; |
| 66 | |
| 67 | struct setpwrmode_parm { |
| 68 | u8 Mode;/* 0:Active,1:LPS,2:WMMPS */ |
| 69 | u8 SmartPS_RLBM;/* LPS= 0:PS_Poll,1:PS_Poll,2:NullData,WMM= 0:PS_Poll,1:NullData */ |
| 70 | u8 AwakeInterval; /* unit: beacon interval */ |
| 71 | u8 bAllQueueUAPSD; |
| 72 | u8 PwrState;/* AllON(0x0c),RFON(0x04),RFOFF(0x00) */ |
| 73 | }; |
| 74 | |
| 75 | struct H2C_SS_RFOFF_PARAM { |
| 76 | u8 ROFOn; /* 1: on, 0:off */ |
| 77 | u16 gpio_period; /* unit: 1024 us */ |
| 78 | } __packed; |
| 79 | |
| 80 | struct joinbssrpt_parm { |
| 81 | u8 OpMode; /* RT_MEDIA_STATUS */ |
| 82 | }; |
| 83 | |
| 84 | struct rsvdpage_loc { |
| 85 | u8 LocProbeRsp; |
| 86 | u8 LocPsPoll; |
| 87 | u8 LocNullData; |
| 88 | u8 LocQosNull; |
| 89 | u8 LocBTQosNull; |
| 90 | }; |
| 91 | |
| 92 | struct P2P_PS_Offload_t { |
| 93 | u8 Offload_En:1; |
| 94 | u8 role:1; /* 1: Owner, 0: Client */ |
| 95 | u8 CTWindow_En:1; |
| 96 | u8 NoA0_En:1; |
| 97 | u8 NoA1_En:1; |
| 98 | u8 AllStaSleep:1; /* Only valid in Owner */ |
| 99 | u8 discovery:1; |
| 100 | u8 rsvd:1; |
| 101 | }; |
| 102 | |
| 103 | struct P2P_PS_CTWPeriod_t { |
| 104 | u8 CTWPeriod; /* TU */ |
| 105 | }; |
| 106 | |
| 107 | /* host message to firmware cmd */ |
| 108 | void rtl8188e_set_FwPwrMode_cmd(struct adapter *padapter, u8 Mode); |
| 109 | void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *padapter, u8 mstatus); |
Larry Finger | 58c4340 | 2013-08-21 22:34:07 -0500 | [diff] [blame] | 110 | u8 rtl8188e_set_raid_cmd(struct adapter *padapter, u32 mask); |
| 111 | void rtl8188e_Add_RateATid(struct adapter *padapter, u32 bitmap, u8 arg, |
| 112 | u8 rssi_level); |
| 113 | |
Larry Finger | 58c4340 | 2013-08-21 22:34:07 -0500 | [diff] [blame] | 114 | void rtl8188e_set_FwMediaStatus_cmd(struct adapter *adapt, __le16 mstatus_rpt); |
| 115 | |
| 116 | #endif/* __RTL8188E_CMD_H__ */ |