wmi.h (e82a82c19f4272ea5437cc76e5711b98e2ee6223) | wmi.h (0163b03199006a6ba0d2c991c311e8ac93fcb208) |
---|---|
1/* 2 * Copyright (c) 2012-2016 Qualcomm Atheros, Inc. 3 * Copyright (c) 2006-2012 Wilocity 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * --- 106 unchanged lines hidden (view full) --- 115 WMI_WRITE_MAC_TXQ_CMDID = 0x833, 116 WMI_WRITE_MAC_XQ_FIELD_CMDID = 0x834, 117 WMI_MLME_PUSH_CMDID = 0x835, 118 WMI_BEAMFORMING_MGMT_CMDID = 0x836, 119 WMI_BF_TXSS_MGMT_CMDID = 0x837, 120 WMI_BF_SM_MGMT_CMDID = 0x838, 121 WMI_BF_RXSS_MGMT_CMDID = 0x839, 122 WMI_BF_TRIG_CMDID = 0x83A, | 1/* 2 * Copyright (c) 2012-2016 Qualcomm Atheros, Inc. 3 * Copyright (c) 2006-2012 Wilocity 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * --- 106 unchanged lines hidden (view full) --- 115 WMI_WRITE_MAC_TXQ_CMDID = 0x833, 116 WMI_WRITE_MAC_XQ_FIELD_CMDID = 0x834, 117 WMI_MLME_PUSH_CMDID = 0x835, 118 WMI_BEAMFORMING_MGMT_CMDID = 0x836, 119 WMI_BF_TXSS_MGMT_CMDID = 0x837, 120 WMI_BF_SM_MGMT_CMDID = 0x838, 121 WMI_BF_RXSS_MGMT_CMDID = 0x839, 122 WMI_BF_TRIG_CMDID = 0x83A, |
123 WMI_LINK_MAINTAIN_CFG_WRITE_CMDID = 0x842, 124 WMI_LINK_MAINTAIN_CFG_READ_CMDID = 0x843, |
|
123 WMI_SET_SECTORS_CMDID = 0x849, 124 WMI_MAINTAIN_PAUSE_CMDID = 0x850, 125 WMI_MAINTAIN_RESUME_CMDID = 0x851, 126 WMI_RS_MGMT_CMDID = 0x852, 127 WMI_RF_MGMT_CMDID = 0x853, 128 WMI_THERMAL_THROTTLING_CTRL_CMDID = 0x854, 129 WMI_THERMAL_THROTTLING_GET_STATUS_CMDID = 0x855, 130 WMI_OTP_READ_CMDID = 0x856, 131 WMI_OTP_WRITE_CMDID = 0x857, 132 WMI_LED_CFG_CMDID = 0x858, 133 /* Performance monitoring commands */ 134 WMI_BF_CTRL_CMDID = 0x862, 135 WMI_NOTIFY_REQ_CMDID = 0x863, 136 WMI_GET_STATUS_CMDID = 0x864, | 125 WMI_SET_SECTORS_CMDID = 0x849, 126 WMI_MAINTAIN_PAUSE_CMDID = 0x850, 127 WMI_MAINTAIN_RESUME_CMDID = 0x851, 128 WMI_RS_MGMT_CMDID = 0x852, 129 WMI_RF_MGMT_CMDID = 0x853, 130 WMI_THERMAL_THROTTLING_CTRL_CMDID = 0x854, 131 WMI_THERMAL_THROTTLING_GET_STATUS_CMDID = 0x855, 132 WMI_OTP_READ_CMDID = 0x856, 133 WMI_OTP_WRITE_CMDID = 0x857, 134 WMI_LED_CFG_CMDID = 0x858, 135 /* Performance monitoring commands */ 136 WMI_BF_CTRL_CMDID = 0x862, 137 WMI_NOTIFY_REQ_CMDID = 0x863, 138 WMI_GET_STATUS_CMDID = 0x864, |
139 WMI_GET_RF_STATUS_CMDID = 0x866, 140 WMI_GET_BASEBAND_TYPE_CMDID = 0x867, |
|
137 WMI_UNIT_TEST_CMDID = 0x900, 138 WMI_HICCUP_CMDID = 0x901, 139 WMI_FLASH_READ_CMDID = 0x902, 140 WMI_FLASH_WRITE_CMDID = 0x903, | 141 WMI_UNIT_TEST_CMDID = 0x900, 142 WMI_HICCUP_CMDID = 0x901, 143 WMI_FLASH_READ_CMDID = 0x902, 144 WMI_FLASH_WRITE_CMDID = 0x903, |
145 /* Power management */ 146 WMI_TRAFFIC_DEFERRAL_CMDID = 0x904, 147 WMI_TRAFFIC_RESUME_CMDID = 0x905, |
|
141 /* P2P */ 142 WMI_P2P_CFG_CMDID = 0x910, 143 WMI_PORT_ALLOCATE_CMDID = 0x911, 144 WMI_PORT_DELETE_CMDID = 0x912, 145 WMI_POWER_MGMT_CFG_CMDID = 0x913, 146 WMI_START_LISTEN_CMDID = 0x914, 147 WMI_START_SEARCH_CMDID = 0x915, 148 WMI_DISCOVERY_START_CMDID = 0x916, 149 WMI_DISCOVERY_STOP_CMDID = 0x917, 150 WMI_PCP_START_CMDID = 0x918, 151 WMI_PCP_STOP_CMDID = 0x919, 152 WMI_GET_PCP_FACTOR_CMDID = 0x91B, | 148 /* P2P */ 149 WMI_P2P_CFG_CMDID = 0x910, 150 WMI_PORT_ALLOCATE_CMDID = 0x911, 151 WMI_PORT_DELETE_CMDID = 0x912, 152 WMI_POWER_MGMT_CFG_CMDID = 0x913, 153 WMI_START_LISTEN_CMDID = 0x914, 154 WMI_START_SEARCH_CMDID = 0x915, 155 WMI_DISCOVERY_START_CMDID = 0x916, 156 WMI_DISCOVERY_STOP_CMDID = 0x917, 157 WMI_PCP_START_CMDID = 0x918, 158 WMI_PCP_STOP_CMDID = 0x919, 159 WMI_GET_PCP_FACTOR_CMDID = 0x91B, |
160 /* Power Save Configuration Commands */ 161 WMI_PS_DEV_PROFILE_CFG_CMDID = 0x91C, 162 /* Not supported yet */ 163 WMI_PS_DEV_CFG_CMDID = 0x91D, 164 /* Not supported yet */ 165 WMI_PS_DEV_CFG_READ_CMDID = 0x91E, 166 /* Per MAC Power Save Configuration commands 167 * Not supported yet 168 */ 169 WMI_PS_MID_CFG_CMDID = 0x91F, 170 /* Not supported yet */ 171 WMI_PS_MID_CFG_READ_CMDID = 0x920, 172 WMI_RS_CFG_CMDID = 0x921, |
|
153 WMI_SET_MAC_ADDRESS_CMDID = 0xF003, 154 WMI_ABORT_SCAN_CMDID = 0xF007, 155 WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041, 156 WMI_GET_PMK_CMDID = 0xF048, 157 WMI_SET_PASSPHRASE_CMDID = 0xF049, 158 WMI_SEND_ASSOC_RES_CMDID = 0xF04A, 159 WMI_SET_ASSOC_REQ_RELAY_CMDID = 0xF04B, 160 WMI_MAC_ADDR_REQ_CMDID = 0xF04D, --- 125 unchanged lines hidden (view full) --- 286 WMI_PASSIVE_SCAN = 0x02, 287 WMI_DIRECT_SCAN = 0x03, 288 WMI_LONG_SCAN = 0x04, 289}; 290 291/* WMI_START_SCAN_CMDID */ 292struct wmi_start_scan_cmd { 293 u8 direct_scan_mac_addr[WMI_MAC_LEN]; | 173 WMI_SET_MAC_ADDRESS_CMDID = 0xF003, 174 WMI_ABORT_SCAN_CMDID = 0xF007, 175 WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041, 176 WMI_GET_PMK_CMDID = 0xF048, 177 WMI_SET_PASSPHRASE_CMDID = 0xF049, 178 WMI_SEND_ASSOC_RES_CMDID = 0xF04A, 179 WMI_SET_ASSOC_REQ_RELAY_CMDID = 0xF04B, 180 WMI_MAC_ADDR_REQ_CMDID = 0xF04D, --- 125 unchanged lines hidden (view full) --- 306 WMI_PASSIVE_SCAN = 0x02, 307 WMI_DIRECT_SCAN = 0x03, 308 WMI_LONG_SCAN = 0x04, 309}; 310 311/* WMI_START_SCAN_CMDID */ 312struct wmi_start_scan_cmd { 313 u8 direct_scan_mac_addr[WMI_MAC_LEN]; |
294 /* DMG Beacon frame is transmitted during active scanning */ | 314 /* run scan with discovery beacon. Relevant for ACTIVE scan only. */ |
295 u8 discovery_mode; | 315 u8 discovery_mode; |
296 /* reserved */ | |
297 u8 reserved; 298 /* Max duration in the home channel(ms) */ 299 __le32 dwell_time; 300 /* Time interval between scans (ms) */ 301 __le32 force_scan_interval; 302 /* enum wmi_scan_type */ 303 u8 scan_type; 304 /* how many channels follow */ --- 143 unchanged lines hidden (view full) --- 448} __packed; 449 450/* WMI_PORT_DELETE_CMDID */ 451struct wmi_port_delete_cmd { 452 u8 mid; 453 u8 reserved[3]; 454} __packed; 455 | 316 u8 reserved; 317 /* Max duration in the home channel(ms) */ 318 __le32 dwell_time; 319 /* Time interval between scans (ms) */ 320 __le32 force_scan_interval; 321 /* enum wmi_scan_type */ 322 u8 scan_type; 323 /* how many channels follow */ --- 143 unchanged lines hidden (view full) --- 467} __packed; 468 469/* WMI_PORT_DELETE_CMDID */ 470struct wmi_port_delete_cmd { 471 u8 mid; 472 u8 reserved[3]; 473} __packed; 474 |
475/* WMI_TRAFFIC_DEFERRAL_CMDID */ 476struct wmi_traffic_deferral_cmd { 477 /* Bit vector: bit[0] - wake on Unicast, bit[1] - wake on Broadcast */ 478 u8 wakeup_trigger; 479} __packed; 480 |
|
456/* WMI_P2P_CFG_CMDID */ 457enum wmi_discovery_mode { 458 WMI_DISCOVERY_MODE_NON_OFFLOAD = 0x00, 459 WMI_DISCOVERY_MODE_OFFLOAD = 0x01, 460 WMI_DISCOVERY_MODE_PEER2PEER = 0x02, 461}; 462 463struct wmi_p2p_cfg_cmd { --- 353 unchanged lines hidden (view full) --- 817 __le16 ring_size; 818 __le64 mem_base; 819} __packed; 820 821/* WMI Events 822 * List of Events (target to host) 823 */ 824enum wmi_event_id { | 481/* WMI_P2P_CFG_CMDID */ 482enum wmi_discovery_mode { 483 WMI_DISCOVERY_MODE_NON_OFFLOAD = 0x00, 484 WMI_DISCOVERY_MODE_OFFLOAD = 0x01, 485 WMI_DISCOVERY_MODE_PEER2PEER = 0x02, 486}; 487 488struct wmi_p2p_cfg_cmd { --- 353 unchanged lines hidden (view full) --- 842 __le16 ring_size; 843 __le64 mem_base; 844} __packed; 845 846/* WMI Events 847 * List of Events (target to host) 848 */ 849enum wmi_event_id { |
825 WMI_READY_EVENTID = 0x1001, 826 WMI_CONNECT_EVENTID = 0x1002, 827 WMI_DISCONNECT_EVENTID = 0x1003, 828 WMI_SCAN_COMPLETE_EVENTID = 0x100A, 829 WMI_REPORT_STATISTICS_EVENTID = 0x100B, 830 WMI_RD_MEM_RSP_EVENTID = 0x1800, 831 WMI_FW_READY_EVENTID = 0x1801, 832 WMI_EXIT_FAST_MEM_ACC_MODE_EVENTID = 0x200, 833 WMI_ECHO_RSP_EVENTID = 0x1803, 834 WMI_FS_TUNE_DONE_EVENTID = 0x180A, 835 WMI_CORR_MEASURE_EVENTID = 0x180B, 836 WMI_READ_RSSI_EVENTID = 0x180C, 837 WMI_TEMP_SENSE_DONE_EVENTID = 0x180E, 838 WMI_DC_CALIB_DONE_EVENTID = 0x180F, 839 WMI_IQ_TX_CALIB_DONE_EVENTID = 0x1811, 840 WMI_IQ_RX_CALIB_DONE_EVENTID = 0x1812, 841 WMI_SET_WORK_MODE_DONE_EVENTID = 0x1815, 842 WMI_LO_LEAKAGE_CALIB_DONE_EVENTID = 0x1816, 843 WMI_MARLON_R_READ_DONE_EVENTID = 0x1818, 844 WMI_MARLON_R_WRITE_DONE_EVENTID = 0x1819, 845 WMI_MARLON_R_TXRX_SEL_DONE_EVENTID = 0x181A, 846 WMI_SILENT_RSSI_CALIB_DONE_EVENTID = 0x181D, 847 WMI_RF_RX_TEST_DONE_EVENTID = 0x181E, 848 WMI_CFG_RX_CHAIN_DONE_EVENTID = 0x1820, 849 WMI_VRING_CFG_DONE_EVENTID = 0x1821, 850 WMI_BA_STATUS_EVENTID = 0x1823, 851 WMI_RCP_ADDBA_REQ_EVENTID = 0x1824, 852 WMI_RCP_ADDBA_RESP_SENT_EVENTID = 0x1825, 853 WMI_DELBA_EVENTID = 0x1826, 854 WMI_GET_SSID_EVENTID = 0x1828, 855 WMI_GET_PCP_CHANNEL_EVENTID = 0x182A, 856 WMI_SW_TX_COMPLETE_EVENTID = 0x182B, 857 WMI_READ_MAC_RXQ_EVENTID = 0x1830, 858 WMI_READ_MAC_TXQ_EVENTID = 0x1831, 859 WMI_WRITE_MAC_RXQ_EVENTID = 0x1832, 860 WMI_WRITE_MAC_TXQ_EVENTID = 0x1833, 861 WMI_WRITE_MAC_XQ_FIELD_EVENTID = 0x1834, 862 WMI_BEAMFORMING_MGMT_DONE_EVENTID = 0x1836, 863 WMI_BF_TXSS_MGMT_DONE_EVENTID = 0x1837, 864 WMI_BF_RXSS_MGMT_DONE_EVENTID = 0x1839, 865 WMI_RS_MGMT_DONE_EVENTID = 0x1852, 866 WMI_RF_MGMT_STATUS_EVENTID = 0x1853, 867 WMI_THERMAL_THROTTLING_STATUS_EVENTID = 0x1855, 868 WMI_BF_SM_MGMT_DONE_EVENTID = 0x1838, 869 WMI_RX_MGMT_PACKET_EVENTID = 0x1840, 870 WMI_TX_MGMT_PACKET_EVENTID = 0x1841, 871 WMI_OTP_READ_RESULT_EVENTID = 0x1856, 872 WMI_LED_CFG_DONE_EVENTID = 0x1858, | 850 WMI_READY_EVENTID = 0x1001, 851 WMI_CONNECT_EVENTID = 0x1002, 852 WMI_DISCONNECT_EVENTID = 0x1003, 853 WMI_SCAN_COMPLETE_EVENTID = 0x100A, 854 WMI_REPORT_STATISTICS_EVENTID = 0x100B, 855 WMI_RD_MEM_RSP_EVENTID = 0x1800, 856 WMI_FW_READY_EVENTID = 0x1801, 857 WMI_EXIT_FAST_MEM_ACC_MODE_EVENTID = 0x200, 858 WMI_ECHO_RSP_EVENTID = 0x1803, 859 WMI_FS_TUNE_DONE_EVENTID = 0x180A, 860 WMI_CORR_MEASURE_EVENTID = 0x180B, 861 WMI_READ_RSSI_EVENTID = 0x180C, 862 WMI_TEMP_SENSE_DONE_EVENTID = 0x180E, 863 WMI_DC_CALIB_DONE_EVENTID = 0x180F, 864 WMI_IQ_TX_CALIB_DONE_EVENTID = 0x1811, 865 WMI_IQ_RX_CALIB_DONE_EVENTID = 0x1812, 866 WMI_SET_WORK_MODE_DONE_EVENTID = 0x1815, 867 WMI_LO_LEAKAGE_CALIB_DONE_EVENTID = 0x1816, 868 WMI_MARLON_R_READ_DONE_EVENTID = 0x1818, 869 WMI_MARLON_R_WRITE_DONE_EVENTID = 0x1819, 870 WMI_MARLON_R_TXRX_SEL_DONE_EVENTID = 0x181A, 871 WMI_SILENT_RSSI_CALIB_DONE_EVENTID = 0x181D, 872 WMI_RF_RX_TEST_DONE_EVENTID = 0x181E, 873 WMI_CFG_RX_CHAIN_DONE_EVENTID = 0x1820, 874 WMI_VRING_CFG_DONE_EVENTID = 0x1821, 875 WMI_BA_STATUS_EVENTID = 0x1823, 876 WMI_RCP_ADDBA_REQ_EVENTID = 0x1824, 877 WMI_RCP_ADDBA_RESP_SENT_EVENTID = 0x1825, 878 WMI_DELBA_EVENTID = 0x1826, 879 WMI_GET_SSID_EVENTID = 0x1828, 880 WMI_GET_PCP_CHANNEL_EVENTID = 0x182A, 881 WMI_SW_TX_COMPLETE_EVENTID = 0x182B, 882 WMI_READ_MAC_RXQ_EVENTID = 0x1830, 883 WMI_READ_MAC_TXQ_EVENTID = 0x1831, 884 WMI_WRITE_MAC_RXQ_EVENTID = 0x1832, 885 WMI_WRITE_MAC_TXQ_EVENTID = 0x1833, 886 WMI_WRITE_MAC_XQ_FIELD_EVENTID = 0x1834, 887 WMI_BEAMFORMING_MGMT_DONE_EVENTID = 0x1836, 888 WMI_BF_TXSS_MGMT_DONE_EVENTID = 0x1837, 889 WMI_BF_RXSS_MGMT_DONE_EVENTID = 0x1839, 890 WMI_RS_MGMT_DONE_EVENTID = 0x1852, 891 WMI_RF_MGMT_STATUS_EVENTID = 0x1853, 892 WMI_THERMAL_THROTTLING_STATUS_EVENTID = 0x1855, 893 WMI_BF_SM_MGMT_DONE_EVENTID = 0x1838, 894 WMI_RX_MGMT_PACKET_EVENTID = 0x1840, 895 WMI_TX_MGMT_PACKET_EVENTID = 0x1841, 896 WMI_LINK_MAINTAIN_CFG_WRITE_DONE_EVENTID = 0x1842, 897 WMI_LINK_MAINTAIN_CFG_READ_DONE_EVENTID = 0x1843, 898 WMI_OTP_READ_RESULT_EVENTID = 0x1856, 899 WMI_LED_CFG_DONE_EVENTID = 0x1858, |
873 /* Performance monitoring events */ | 900 /* Performance monitoring events */ |
874 WMI_DATA_PORT_OPEN_EVENTID = 0x1860, 875 WMI_WBE_LINK_DOWN_EVENTID = 0x1861, 876 WMI_BF_CTRL_DONE_EVENTID = 0x1862, 877 WMI_NOTIFY_REQ_DONE_EVENTID = 0x1863, 878 WMI_GET_STATUS_DONE_EVENTID = 0x1864, 879 WMI_VRING_EN_EVENTID = 0x1865, 880 WMI_UNIT_TEST_EVENTID = 0x1900, 881 WMI_FLASH_READ_DONE_EVENTID = 0x1902, 882 WMI_FLASH_WRITE_DONE_EVENTID = 0x1903, | 901 WMI_DATA_PORT_OPEN_EVENTID = 0x1860, 902 WMI_WBE_LINK_DOWN_EVENTID = 0x1861, 903 WMI_BF_CTRL_DONE_EVENTID = 0x1862, 904 WMI_NOTIFY_REQ_DONE_EVENTID = 0x1863, 905 WMI_GET_STATUS_DONE_EVENTID = 0x1864, 906 WMI_VRING_EN_EVENTID = 0x1865, 907 WMI_GET_RF_STATUS_EVENTID = 0x1866, 908 WMI_GET_BASEBAND_TYPE_EVENTID = 0x1867, 909 WMI_UNIT_TEST_EVENTID = 0x1900, 910 WMI_FLASH_READ_DONE_EVENTID = 0x1902, 911 WMI_FLASH_WRITE_DONE_EVENTID = 0x1903, 912 /* Power management */ 913 WMI_TRAFFIC_DEFERRAL_EVENTID = 0x1904, 914 WMI_TRAFFIC_RESUME_EVENTID = 0x1905, |
883 /* P2P */ | 915 /* P2P */ |
884 WMI_P2P_CFG_DONE_EVENTID = 0x1910, 885 WMI_PORT_ALLOCATED_EVENTID = 0x1911, 886 WMI_PORT_DELETED_EVENTID = 0x1912, 887 WMI_LISTEN_STARTED_EVENTID = 0x1914, 888 WMI_SEARCH_STARTED_EVENTID = 0x1915, 889 WMI_DISCOVERY_STARTED_EVENTID = 0x1916, 890 WMI_DISCOVERY_STOPPED_EVENTID = 0x1917, 891 WMI_PCP_STARTED_EVENTID = 0x1918, 892 WMI_PCP_STOPPED_EVENTID = 0x1919, 893 WMI_PCP_FACTOR_EVENTID = 0x191A, 894 WMI_SET_CHANNEL_EVENTID = 0x9000, 895 WMI_ASSOC_REQ_EVENTID = 0x9001, 896 WMI_EAPOL_RX_EVENTID = 0x9002, 897 WMI_MAC_ADDR_RESP_EVENTID = 0x9003, 898 WMI_FW_VER_EVENTID = 0x9004, 899 WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENTID = 0x9005, | 916 WMI_P2P_CFG_DONE_EVENTID = 0x1910, 917 WMI_PORT_ALLOCATED_EVENTID = 0x1911, 918 WMI_PORT_DELETED_EVENTID = 0x1912, 919 WMI_LISTEN_STARTED_EVENTID = 0x1914, 920 WMI_SEARCH_STARTED_EVENTID = 0x1915, 921 WMI_DISCOVERY_STARTED_EVENTID = 0x1916, 922 WMI_DISCOVERY_STOPPED_EVENTID = 0x1917, 923 WMI_PCP_STARTED_EVENTID = 0x1918, 924 WMI_PCP_STOPPED_EVENTID = 0x1919, 925 WMI_PCP_FACTOR_EVENTID = 0x191A, 926 /* Power Save Configuration Events */ 927 WMI_PS_DEV_PROFILE_CFG_EVENTID = 0x191C, 928 /* Not supported yet */ 929 WMI_PS_DEV_CFG_EVENTID = 0x191D, 930 /* Not supported yet */ 931 WMI_PS_DEV_CFG_READ_EVENTID = 0x191E, 932 /* Not supported yet */ 933 WMI_PS_MID_CFG_EVENTID = 0x191F, 934 /* Not supported yet */ 935 WMI_PS_MID_CFG_READ_EVENTID = 0x1920, 936 WMI_RS_CFG_DONE_EVENTID = 0x1921, 937 WMI_SET_CHANNEL_EVENTID = 0x9000, 938 WMI_ASSOC_REQ_EVENTID = 0x9001, 939 WMI_EAPOL_RX_EVENTID = 0x9002, 940 WMI_MAC_ADDR_RESP_EVENTID = 0x9003, 941 WMI_FW_VER_EVENTID = 0x9004, 942 WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENTID = 0x9005, |
900}; 901 902/* Events data structures */ 903enum wmi_fw_status { 904 WMI_FW_STATUS_SUCCESS = 0x00, 905 WMI_FW_STATUS_FAILURE = 0x01, 906}; 907 --- 30 unchanged lines hidden (view full) --- 938 __le32 ssid_len; 939 u8 ssid[WMI_MAX_SSID_LEN]; 940 __le32 rf_status; 941 __le32 is_secured; 942} __packed; 943 944/* WMI_FW_VER_EVENTID */ 945struct wmi_fw_ver_event { | 943}; 944 945/* Events data structures */ 946enum wmi_fw_status { 947 WMI_FW_STATUS_SUCCESS = 0x00, 948 WMI_FW_STATUS_FAILURE = 0x01, 949}; 950 --- 30 unchanged lines hidden (view full) --- 981 __le32 ssid_len; 982 u8 ssid[WMI_MAX_SSID_LEN]; 983 __le32 rf_status; 984 __le32 is_secured; 985} __packed; 986 987/* WMI_FW_VER_EVENTID */ 988struct wmi_fw_ver_event { |
946 u8 major; 947 u8 minor; 948 __le16 subminor; 949 __le16 build; | 989 /* FW image version */ 990 __le32 fw_major; 991 __le32 fw_minor; 992 __le32 fw_subminor; 993 __le32 fw_build; 994 /* FW image build time stamp */ 995 __le32 hour; 996 __le32 minute; 997 __le32 second; 998 __le32 day; 999 __le32 month; 1000 __le32 year; 1001 /* Boot Loader image version */ 1002 __le32 bl_major; 1003 __le32 bl_minor; 1004 __le32 bl_subminor; 1005 __le32 bl_build; |
950} __packed; 951 | 1006} __packed; 1007 |
1008/* WMI_GET_RF_STATUS_EVENTID */ 1009enum rf_type { 1010 RF_UNKNOWN = 0x00, 1011 RF_MARLON = 0x01, 1012 RF_SPARROW = 0x02, 1013}; 1014 1015/* WMI_GET_RF_STATUS_EVENTID */ 1016enum board_file_rf_type { 1017 BF_RF_MARLON = 0x00, 1018 BF_RF_SPARROW = 0x01, 1019}; 1020 1021/* WMI_GET_RF_STATUS_EVENTID */ 1022enum rf_status { 1023 RF_OK = 0x00, 1024 RF_NO_COMM = 0x01, 1025 RF_WRONG_BOARD_FILE = 0x02, 1026}; 1027 1028/* WMI_GET_RF_STATUS_EVENTID */ 1029struct wmi_get_rf_status_event { 1030 /* enum rf_type */ 1031 __le32 rf_type; 1032 /* attached RFs bit vector */ 1033 __le32 attached_rf_vector; 1034 /* enabled RFs bit vector */ 1035 __le32 enabled_rf_vector; 1036 /* enum rf_status, refers to enabled RFs */ 1037 u8 rf_status[32]; 1038 /* enum board file RF type */ 1039 __le32 board_file_rf_type; 1040 /* board file platform type */ 1041 __le32 board_file_platform_type; 1042 /* board file version */ 1043 __le32 board_file_version; 1044 __le32 reserved[2]; 1045} __packed; 1046 1047/* WMI_GET_BASEBAND_TYPE_EVENTID */ 1048enum baseband_type { 1049 BASEBAND_UNKNOWN = 0x00, 1050 BASEBAND_SPARROW_M_A0 = 0x03, 1051 BASEBAND_SPARROW_M_A1 = 0x04, 1052 BASEBAND_SPARROW_M_B0 = 0x05, 1053 BASEBAND_SPARROW_M_C0 = 0x06, 1054 BASEBAND_SPARROW_M_D0 = 0x07, 1055}; 1056 1057/* WMI_GET_BASEBAND_TYPE_EVENTID */ 1058struct wmi_get_baseband_type_event { 1059 /* enum baseband_type */ 1060 __le32 baseband_type; 1061} __packed; 1062 |
|
952/* WMI_MAC_ADDR_RESP_EVENTID */ 953struct wmi_mac_addr_resp_event { 954 u8 mac[WMI_MAC_LEN]; 955 u8 auth_mode; 956 u8 crypt_mode; 957 __le32 offload_mode; 958} __packed; 959 --- 445 unchanged lines hidden (view full) --- 1405} __packed; 1406 1407/* WMI_LED_CFG_DONE_EVENTID */ 1408struct wmi_led_cfg_done_event { 1409 /* led config status */ 1410 __le32 status; 1411} __packed; 1412 | 1063/* WMI_MAC_ADDR_RESP_EVENTID */ 1064struct wmi_mac_addr_resp_event { 1065 u8 mac[WMI_MAC_LEN]; 1066 u8 auth_mode; 1067 u8 crypt_mode; 1068 __le32 offload_mode; 1069} __packed; 1070 --- 445 unchanged lines hidden (view full) --- 1516} __packed; 1517 1518/* WMI_LED_CFG_DONE_EVENTID */ 1519struct wmi_led_cfg_done_event { 1520 /* led config status */ 1521 __le32 status; 1522} __packed; 1523 |
1524#define WMI_NUM_MCS (13) 1525 1526/* Rate search parameters configuration per connection */ 1527struct wmi_rs_cfg { 1528 /* The maximal allowed PER for each MCS 1529 * MCS will be considered as failed if PER during RS is higher 1530 */ 1531 u8 per_threshold[WMI_NUM_MCS]; 1532 /* Number of MPDUs for each MCS 1533 * this is the minimal statistic required to make an educated 1534 * decision 1535 */ 1536 u8 min_frame_cnt[WMI_NUM_MCS]; 1537 /* stop threshold [0-100] */ 1538 u8 stop_th; 1539 /* MCS1 stop threshold [0-100] */ 1540 u8 mcs1_fail_th; 1541 u8 max_back_failure_th; 1542 /* Debug feature for disabling internal RS trigger (which is 1543 * currently triggered by BF Done) 1544 */ 1545 u8 dbg_disable_internal_trigger; 1546 __le32 back_failure_mask; 1547 __le32 mcs_en_vec; 1548} __packed; 1549 1550/* WMI_RS_CFG_CMDID */ 1551struct wmi_rs_cfg_cmd { 1552 /* connection id */ 1553 u8 cid; 1554 /* enable or disable rate search */ 1555 u8 rs_enable; 1556 /* rate search configuration */ 1557 struct wmi_rs_cfg rs_cfg; 1558} __packed; 1559 1560/* WMI_RS_CFG_DONE_EVENTID */ 1561struct wmi_rs_cfg_done_event { 1562 u8 cid; 1563 /* enum wmi_fw_status */ 1564 u8 status; 1565 u8 reserved[2]; 1566} __packed; 1567 1568/* broadcast connection ID */ 1569#define WMI_LINK_MAINTAIN_CFG_CID_BROADCAST (0xFFFFFFFF) 1570 1571/* Types wmi_link_maintain_cfg presets for WMI_LINK_MAINTAIN_CFG_WRITE_CMD */ 1572enum wmi_link_maintain_cfg_type { 1573 /* AP/PCP default normal (non-FST) configuration settings */ 1574 WMI_LINK_MAINTAIN_CFG_TYPE_DEFAULT_NORMAL_AP = 0x00, 1575 /* AP/PCP default FST configuration settings */ 1576 WMI_LINK_MAINTAIN_CFG_TYPE_DEFAULT_FST_AP = 0x01, 1577 /* STA default normal (non-FST) configuration settings */ 1578 WMI_LINK_MAINTAIN_CFG_TYPE_DEFAULT_NORMAL_STA = 0x02, 1579 /* STA default FST configuration settings */ 1580 WMI_LINK_MAINTAIN_CFG_TYPE_DEFAULT_FST_STA = 0x03, 1581 /* custom configuration settings */ 1582 WMI_LINK_MAINTAIN_CFG_TYPE_CUSTOM = 0x04, 1583 /* number of defined configuration types */ 1584 WMI_LINK_MAINTAIN_CFG_TYPES_NUM = 0x05, 1585}; 1586 1587/* Response status codes for WMI_LINK_MAINTAIN_CFG_WRITE/READ commands */ 1588enum wmi_link_maintain_cfg_response_status { 1589 /* WMI_LINK_MAINTAIN_CFG_WRITE/READ command successfully accomplished 1590 */ 1591 WMI_LINK_MAINTAIN_CFG_RESPONSE_STATUS_OK = 0x00, 1592 /* ERROR due to bad argument in WMI_LINK_MAINTAIN_CFG_WRITE/READ 1593 * command request 1594 */ 1595 WMI_LINK_MAINTAIN_CFG_RESPONSE_STATUS_BAD_ARGUMENT = 0x01, 1596}; 1597 1598/* Link Loss and Keep Alive configuration */ 1599struct wmi_link_maintain_cfg { 1600 /* link_loss_enable_detectors_vec */ 1601 __le32 link_loss_enable_detectors_vec; 1602 /* detectors check period usec */ 1603 __le32 check_link_loss_period_usec; 1604 /* max allowed tx ageing */ 1605 __le32 tx_ageing_threshold_usec; 1606 /* keep alive period for high SNR */ 1607 __le32 keep_alive_period_usec_high_snr; 1608 /* keep alive period for low SNR */ 1609 __le32 keep_alive_period_usec_low_snr; 1610 /* lower snr limit for keep alive period update */ 1611 __le32 keep_alive_snr_threshold_low_db; 1612 /* upper snr limit for keep alive period update */ 1613 __le32 keep_alive_snr_threshold_high_db; 1614 /* num of successive bad bcons causing link-loss */ 1615 __le32 bad_beacons_num_threshold; 1616 /* SNR limit for bad_beacons_detector */ 1617 __le32 bad_beacons_snr_threshold_db; 1618} __packed; 1619 1620/* WMI_LINK_MAINTAIN_CFG_WRITE_CMDID */ 1621struct wmi_link_maintain_cfg_write_cmd { 1622 /* enum wmi_link_maintain_cfg_type_e - type of requested default 1623 * configuration to be applied 1624 */ 1625 __le32 cfg_type; 1626 /* requested connection ID or WMI_LINK_MAINTAIN_CFG_CID_BROADCAST */ 1627 __le32 cid; 1628 /* custom configuration settings to be applied (relevant only if 1629 * cfg_type==WMI_LINK_MAINTAIN_CFG_TYPE_CUSTOM) 1630 */ 1631 struct wmi_link_maintain_cfg lm_cfg; 1632} __packed; 1633 1634/* WMI_LINK_MAINTAIN_CFG_READ_CMDID */ 1635struct wmi_link_maintain_cfg_read_cmd { 1636 /* connection ID which configuration settings are requested */ 1637 __le32 cid; 1638} __packed; 1639 1640/* WMI_LINK_MAINTAIN_CFG_WRITE_DONE_EVENTID */ 1641struct wmi_link_maintain_cfg_write_done_event { 1642 /* requested connection ID */ 1643 __le32 cid; 1644 /* wmi_link_maintain_cfg_response_status_e - write status */ 1645 __le32 status; 1646} __packed; 1647 1648/* \WMI_LINK_MAINTAIN_CFG_READ_DONE_EVENT */ 1649struct wmi_link_maintain_cfg_read_done_event { 1650 /* requested connection ID */ 1651 __le32 cid; 1652 /* wmi_link_maintain_cfg_response_status_e - read status */ 1653 __le32 status; 1654 /* Retrieved configuration settings */ 1655 struct wmi_link_maintain_cfg lm_cfg; 1656} __packed; 1657 1658enum wmi_traffic_deferral_status { 1659 WMI_TRAFFIC_DEFERRAL_APPROVED = 0x0, 1660 WMI_TRAFFIC_DEFERRAL_REJECTED = 0x1, 1661}; 1662 1663/* WMI_TRAFFIC_DEFERRAL_EVENTID */ 1664struct wmi_traffic_deferral_event { 1665 /* enum wmi_traffic_deferral_status_e */ 1666 u8 status; 1667} __packed; 1668 1669enum wmi_traffic_resume_status { 1670 WMI_TRAFFIC_RESUME_SUCCESS = 0x0, 1671 WMI_TRAFFIC_RESUME_FAILED = 0x1, 1672}; 1673 1674/* WMI_TRAFFIC_RESUME_EVENTID */ 1675struct wmi_traffic_resume_event { 1676 /* enum wmi_traffic_resume_status_e */ 1677 u8 status; 1678} __packed; 1679 1680/* Power Save command completion status codes */ 1681enum wmi_ps_cfg_cmd_status { 1682 WMI_PS_CFG_CMD_STATUS_SUCCESS = 0x00, 1683 WMI_PS_CFG_CMD_STATUS_BAD_PARAM = 0x01, 1684 /* other error */ 1685 WMI_PS_CFG_CMD_STATUS_ERROR = 0x02, 1686}; 1687 1688/* Device Power Save Profiles */ 1689enum wmi_ps_profile_type { 1690 WMI_PS_PROFILE_TYPE_DEFAULT = 0x00, 1691 WMI_PS_PROFILE_TYPE_PS_DISABLED = 0x01, 1692 WMI_PS_PROFILE_TYPE_MAX_PS = 0x02, 1693 WMI_PS_PROFILE_TYPE_LOW_LATENCY_PS = 0x03, 1694}; 1695 1696/* WMI_PS_DEV_PROFILE_CFG_CMDID 1697 * 1698 * Power save profile to be used by the device 1699 * 1700 * Returned event: 1701 * - WMI_PS_DEV_PROFILE_CFG_EVENTID 1702 */ 1703struct wmi_ps_dev_profile_cfg_cmd { 1704 /* wmi_ps_profile_type_e */ 1705 u8 ps_profile; 1706 u8 reserved[3]; 1707} __packed; 1708 1709/* WMI_PS_DEV_PROFILE_CFG_EVENTID */ 1710struct wmi_ps_dev_profile_cfg_event { 1711 /* wmi_ps_cfg_cmd_status_e */ 1712 __le32 status; 1713} __packed; 1714 1715enum wmi_ps_level { 1716 WMI_PS_LEVEL_DEEP_SLEEP = 0x00, 1717 WMI_PS_LEVEL_SHALLOW_SLEEP = 0x01, 1718 /* awake = all PS mechanisms are disabled */ 1719 WMI_PS_LEVEL_AWAKE = 0x02, 1720}; 1721 1722enum wmi_ps_deep_sleep_clk_level { 1723 /* 33k */ 1724 WMI_PS_DEEP_SLEEP_CLK_LEVEL_RTC = 0x00, 1725 /* 10k */ 1726 WMI_PS_DEEP_SLEEP_CLK_LEVEL_OSC = 0x01, 1727 /* @RTC Low latency */ 1728 WMI_PS_DEEP_SLEEP_CLK_LEVEL_RTC_LT = 0x02, 1729 WMI_PS_DEEP_SLEEP_CLK_LEVEL_XTAL = 0x03, 1730 WMI_PS_DEEP_SLEEP_CLK_LEVEL_SYSCLK = 0x04, 1731 /* Not Applicable */ 1732 WMI_PS_DEEP_SLEEP_CLK_LEVEL_N_A = 0xFF, 1733}; 1734 1735/* Response by the FW to a D3 entry request */ 1736enum wmi_ps_d3_resp_policy { 1737 WMI_PS_D3_RESP_POLICY_DEFAULT = 0x00, 1738 /* debug -D3 req is always denied */ 1739 WMI_PS_D3_RESP_POLICY_DENIED = 0x01, 1740 /* debug -D3 req is always approved */ 1741 WMI_PS_D3_RESP_POLICY_APPROVED = 0x02, 1742}; 1743 1744/* Device common power save configurations */ 1745struct wmi_ps_dev_cfg { 1746 /* lowest level of PS allowed while unassociated, enum wmi_ps_level_e 1747 */ 1748 u8 ps_unassoc_min_level; 1749 /* lowest deep sleep clock level while nonassoc, enum 1750 * wmi_ps_deep_sleep_clk_level_e 1751 */ 1752 u8 ps_unassoc_deep_sleep_min_level; 1753 /* lowest level of PS allowed while associated, enum wmi_ps_level_e */ 1754 u8 ps_assoc_min_level; 1755 /* lowest deep sleep clock level while assoc, enum 1756 * wmi_ps_deep_sleep_clk_level_e 1757 */ 1758 u8 ps_assoc_deep_sleep_min_level; 1759 /* enum wmi_ps_deep_sleep_clk_level_e */ 1760 u8 ps_assoc_low_latency_ds_min_level; 1761 /* enum wmi_ps_d3_resp_policy_e */ 1762 u8 ps_D3_response_policy; 1763 /* BOOL */ 1764 u8 ps_D3_pm_pme_enabled; 1765 /* BOOL */ 1766 u8 ps_halp_enable; 1767 u8 ps_deep_sleep_enter_thresh_msec; 1768 /* BOOL */ 1769 u8 ps_voltage_scaling_en; 1770} __packed; 1771 1772/* WMI_PS_DEV_CFG_CMDID 1773 * 1774 * Configure common Power Save parameters of the device and all MIDs. 1775 * 1776 * Returned event: 1777 * - WMI_PS_DEV_CFG_EVENTID 1778 */ 1779struct wmi_ps_dev_cfg_cmd { 1780 /* Device Power Save configuration to be applied */ 1781 struct wmi_ps_dev_cfg ps_dev_cfg; 1782 /* alignment to 32b */ 1783 u8 reserved[2]; 1784} __packed; 1785 1786/* WMI_PS_DEV_CFG_EVENTID */ 1787struct wmi_ps_dev_cfg_event { 1788 /* wmi_ps_cfg_cmd_status_e */ 1789 __le32 status; 1790} __packed; 1791 1792/* WMI_PS_DEV_CFG_READ_CMDID 1793 * 1794 * request to retrieve device Power Save configuration 1795 * (WMI_PS_DEV_CFG_CMD params) 1796 * 1797 * Returned event: 1798 * - WMI_PS_DEV_CFG_READ_EVENTID 1799 */ 1800struct wmi_ps_dev_cfg_read_cmd { 1801 __le32 reserved; 1802} __packed; 1803 1804/* WMI_PS_DEV_CFG_READ_EVENTID */ 1805struct wmi_ps_dev_cfg_read_event { 1806 /* wmi_ps_cfg_cmd_status_e */ 1807 __le32 status; 1808 /* Retrieved device Power Save configuration (WMI_PS_DEV_CFG_CMD 1809 * params) 1810 */ 1811 struct wmi_ps_dev_cfg dev_ps_cfg; 1812 /* alignment to 32b */ 1813 u8 reserved[2]; 1814} __packed; 1815 1816/* Per Mac Power Save configurations */ 1817struct wmi_ps_mid_cfg { 1818 /* Low power RX in BTI is enabled, BOOL */ 1819 u8 beacon_lprx_enable; 1820 /* Sync to sector ID enabled, BOOL */ 1821 u8 beacon_sync_to_sectorId_enable; 1822 /* Low power RX in DTI is enabled, BOOL */ 1823 u8 frame_exchange_lprx_enable; 1824 /* Sleep Cycle while in scheduled PS, 1-31 */ 1825 u8 scheduled_sleep_cycle_pow2; 1826 /* Stay Awake for k BIs every (sleep_cycle - k) BIs, 1-31 */ 1827 u8 scheduled_num_of_awake_bis; 1828 u8 am_to_traffic_load_thresh_mbp; 1829 u8 traffic_to_am_load_thresh_mbps; 1830 u8 traffic_to_am_num_of_no_traffic_bis; 1831 /* BOOL */ 1832 u8 continuous_traffic_psm; 1833 __le16 no_traffic_to_min_usec; 1834 __le16 no_traffic_to_max_usec; 1835 __le16 snoozing_sleep_interval_milisec; 1836 u8 max_no_data_awake_events; 1837 /* Trigger WEB after k failed beacons */ 1838 u8 num_of_failed_beacons_rx_to_trigger_web; 1839 /* Trigger BF after k failed beacons */ 1840 u8 num_of_failed_beacons_rx_to_trigger_bf; 1841 /* Trigger SOB after k successful beacons */ 1842 u8 num_of_successful_beacons_rx_to_trigger_sob; 1843} __packed; 1844 1845/* WMI_PS_MID_CFG_CMDID 1846 * 1847 * Configure Power Save parameters of a specific MID. 1848 * These parameters are relevant for the specific BSS this MID belongs to. 1849 * 1850 * Returned event: 1851 * - WMI_PS_MID_CFG_EVENTID 1852 */ 1853struct wmi_ps_mid_cfg_cmd { 1854 /* MAC ID */ 1855 u8 mid; 1856 /* mid PS configuration to be applied */ 1857 struct wmi_ps_mid_cfg ps_mid_cfg; 1858} __packed; 1859 1860/* WMI_PS_MID_CFG_EVENTID */ 1861struct wmi_ps_mid_cfg_event { 1862 /* MAC ID */ 1863 u8 mid; 1864 /* alignment to 32b */ 1865 u8 reserved[3]; 1866 /* wmi_ps_cfg_cmd_status_e */ 1867 __le32 status; 1868} __packed; 1869 1870/* WMI_PS_MID_CFG_READ_CMDID 1871 * 1872 * request to retrieve Power Save configuration of mid 1873 * (WMI_PS_MID_CFG_CMD params) 1874 * 1875 * Returned event: 1876 * - WMI_PS_MID_CFG_READ_EVENTID 1877 */ 1878struct wmi_ps_mid_cfg_read_cmd { 1879 /* MAC ID */ 1880 u8 mid; 1881 /* alignment to 32b */ 1882 u8 reserved[3]; 1883} __packed; 1884 1885/* WMI_PS_MID_CFG_READ_EVENTID */ 1886struct wmi_ps_mid_cfg_read_event { 1887 /* MAC ID */ 1888 u8 mid; 1889 /* Retrieved MID Power Save configuration(WMI_PS_MID_CFG_CMD params) */ 1890 struct wmi_ps_mid_cfg mid_ps_cfg; 1891 /* wmi_ps_cfg_cmd_status_e */ 1892 __le32 status; 1893} __packed; 1894 |
|
1413#endif /* __WILOCITY_WMI_H__ */ | 1895#endif /* __WILOCITY_WMI_H__ */ |