aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/bcma/bcma_driver_chipcommon.h18
-rw-r--r--include/linux/ieee80211.h59
-rw-r--r--include/linux/nfc.h2
-rw-r--r--include/linux/nl80211.h32
4 files changed, 89 insertions, 22 deletions
diff --git a/include/linux/bcma/bcma_driver_chipcommon.h b/include/linux/bcma/bcma_driver_chipcommon.h
index 6083725dd22e..a7ae33d06f24 100644
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -283,6 +283,22 @@
283#define BCMA_CC_PPL_PCHI_OFF 5 283#define BCMA_CC_PPL_PCHI_OFF 5
284#define BCMA_CC_PPL_PCHI_MASK 0x0000003f 284#define BCMA_CC_PPL_PCHI_MASK 0x0000003f
285 285
286/* BCM4331 ChipControl numbers. */
287#define BCMA_CHIPCTL_4331_BT_COEXIST BIT(0) /* 0 disable */
288#define BCMA_CHIPCTL_4331_SECI BIT(1) /* 0 SECI is disabled (JATG functional) */
289#define BCMA_CHIPCTL_4331_EXT_LNA BIT(2) /* 0 disable */
290#define BCMA_CHIPCTL_4331_SPROM_GPIO13_15 BIT(3) /* sprom/gpio13-15 mux */
291#define BCMA_CHIPCTL_4331_EXTPA_EN BIT(4) /* 0 ext pa disable, 1 ext pa enabled */
292#define BCMA_CHIPCTL_4331_GPIOCLK_ON_SPROMCS BIT(5) /* set drive out GPIO_CLK on sprom_cs pin */
293#define BCMA_CHIPCTL_4331_PCIE_MDIO_ON_SPROMCS BIT(6) /* use sprom_cs pin as PCIE mdio interface */
294#define BCMA_CHIPCTL_4331_EXTPA_ON_GPIO2_5 BIT(7) /* aband extpa will be at gpio2/5 and sprom_dout */
295#define BCMA_CHIPCTL_4331_OVR_PIPEAUXCLKEN BIT(8) /* override core control on pipe_AuxClkEnable */
296#define BCMA_CHIPCTL_4331_OVR_PIPEAUXPWRDOWN BIT(9) /* override core control on pipe_AuxPowerDown */
297#define BCMA_CHIPCTL_4331_PCIE_AUXCLKEN BIT(10) /* pcie_auxclkenable */
298#define BCMA_CHIPCTL_4331_PCIE_PIPE_PLLDOWN BIT(11) /* pcie_pipe_pllpowerdown */
299#define BCMA_CHIPCTL_4331_BT_SHD0_ON_GPIO4 BIT(16) /* enable bt_shd0 at gpio4 */
300#define BCMA_CHIPCTL_4331_BT_SHD1_ON_GPIO5 BIT(17) /* enable bt_shd1 at gpio5 */
301
286/* Data for the PMU, if available. 302/* Data for the PMU, if available.
287 * Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU) 303 * Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU)
288 */ 304 */
@@ -342,6 +358,8 @@ extern void bcma_core_chipcommon_init(struct bcma_drv_cc *cc);
342extern void bcma_chipco_suspend(struct bcma_drv_cc *cc); 358extern void bcma_chipco_suspend(struct bcma_drv_cc *cc);
343extern void bcma_chipco_resume(struct bcma_drv_cc *cc); 359extern void bcma_chipco_resume(struct bcma_drv_cc *cc);
344 360
361void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable);
362
345extern void bcma_chipco_watchdog_timer_set(struct bcma_drv_cc *cc, 363extern void bcma_chipco_watchdog_timer_set(struct bcma_drv_cc *cc,
346 u32 ticks); 364 u32 ticks);
347 365
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index 54c878960872..37f95f2e10f9 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -629,9 +629,14 @@ struct ieee80211_rann_ie {
629 u8 rann_ttl; 629 u8 rann_ttl;
630 u8 rann_addr[6]; 630 u8 rann_addr[6];
631 u32 rann_seq; 631 u32 rann_seq;
632 u32 rann_interval;
632 u32 rann_metric; 633 u32 rann_metric;
633} __attribute__ ((packed)); 634} __attribute__ ((packed));
634 635
636enum ieee80211_rann_flags {
637 RANN_FLAG_IS_GATE = 1 << 0,
638};
639
635#define WLAN_SA_QUERY_TR_ID_LEN 2 640#define WLAN_SA_QUERY_TR_ID_LEN 2
636 641
637struct ieee80211_mgmt { 642struct ieee80211_mgmt {
@@ -736,19 +741,10 @@ struct ieee80211_mgmt {
736 __le16 params; 741 __le16 params;
737 __le16 reason_code; 742 __le16 reason_code;
738 } __attribute__((packed)) delba; 743 } __attribute__((packed)) delba;
739 struct{ 744 struct {
740 u8 action_code; 745 u8 action_code;
741 /* capab_info for open and confirm,
742 * reason for close
743 */
744 __le16 aux;
745 /* Followed in plink_confirm by status
746 * code, AID and supported rates,
747 * and directly by supported rates in
748 * plink_open and plink_close
749 */
750 u8 variable[0]; 746 u8 variable[0];
751 } __attribute__((packed)) plink_action; 747 } __attribute__((packed)) self_prot;
752 struct{ 748 struct{
753 u8 action_code; 749 u8 action_code;
754 u8 variable[0]; 750 u8 variable[0];
@@ -816,9 +812,11 @@ struct ieee80211_bar {
816} __attribute__((packed)); 812} __attribute__((packed));
817 813
818/* 802.11 BAR control masks */ 814/* 802.11 BAR control masks */
819#define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL 0x0000 815#define IEEE80211_BAR_CTRL_ACK_POLICY_NORMAL 0x0000
820#define IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA 0x0004 816#define IEEE80211_BAR_CTRL_MULTI_TID 0x0002
821 817#define IEEE80211_BAR_CTRL_CBMTID_COMPRESSED_BA 0x0004
818#define IEEE80211_BAR_CTRL_TID_INFO_MASK 0xf000
819#define IEEE80211_BAR_CTRL_TID_INFO_SHIFT 12
822 820
823#define IEEE80211_HT_MCS_MASK_LEN 10 821#define IEEE80211_HT_MCS_MASK_LEN 10
824 822
@@ -1194,11 +1192,6 @@ enum ieee80211_eid {
1194 WLAN_EID_MESH_ID = 114, 1192 WLAN_EID_MESH_ID = 114,
1195 WLAN_EID_LINK_METRIC_REPORT = 115, 1193 WLAN_EID_LINK_METRIC_REPORT = 115,
1196 WLAN_EID_CONGESTION_NOTIFICATION = 116, 1194 WLAN_EID_CONGESTION_NOTIFICATION = 116,
1197 /* Note that the Peer Link IE has been replaced with the similar
1198 * Peer Management IE. We will keep the former definition until mesh
1199 * code is changed to comply with latest 802.11s drafts.
1200 */
1201 WLAN_EID_PEER_LINK = 55, /* no longer in 802.11s drafts */
1202 WLAN_EID_PEER_MGMT = 117, 1195 WLAN_EID_PEER_MGMT = 117,
1203 WLAN_EID_CHAN_SWITCH_PARAM = 118, 1196 WLAN_EID_CHAN_SWITCH_PARAM = 118,
1204 WLAN_EID_MESH_AWAKE_WINDOW = 119, 1197 WLAN_EID_MESH_AWAKE_WINDOW = 119,
@@ -1281,9 +1274,6 @@ enum ieee80211_category {
1281 WLAN_CATEGORY_MULTIHOP_ACTION = 14, 1274 WLAN_CATEGORY_MULTIHOP_ACTION = 14,
1282 WLAN_CATEGORY_SELF_PROTECTED = 15, 1275 WLAN_CATEGORY_SELF_PROTECTED = 15,
1283 WLAN_CATEGORY_WMM = 17, 1276 WLAN_CATEGORY_WMM = 17,
1284 /* TODO: remove MESH_PATH_SEL after mesh is updated
1285 * to current 802.11s draft */
1286 WLAN_CATEGORY_MESH_PATH_SEL = 32,
1287 WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, 1277 WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126,
1288 WLAN_CATEGORY_VENDOR_SPECIFIC = 127, 1278 WLAN_CATEGORY_VENDOR_SPECIFIC = 127,
1289}; 1279};
@@ -1309,6 +1299,31 @@ enum ieee80211_ht_actioncode {
1309 WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7, 1299 WLAN_HT_ACTION_ASEL_IDX_FEEDBACK = 7,
1310}; 1300};
1311 1301
1302/* Self Protected Action codes */
1303enum ieee80211_self_protected_actioncode {
1304 WLAN_SP_RESERVED = 0,
1305 WLAN_SP_MESH_PEERING_OPEN = 1,
1306 WLAN_SP_MESH_PEERING_CONFIRM = 2,
1307 WLAN_SP_MESH_PEERING_CLOSE = 3,
1308 WLAN_SP_MGK_INFORM = 4,
1309 WLAN_SP_MGK_ACK = 5,
1310};
1311
1312/* Mesh action codes */
1313enum ieee80211_mesh_actioncode {
1314 WLAN_MESH_ACTION_LINK_METRIC_REPORT,
1315 WLAN_MESH_ACTION_HWMP_PATH_SELECTION,
1316 WLAN_MESH_ACTION_GATE_ANNOUNCEMENT,
1317 WLAN_MESH_ACTION_CONGESTION_CONTROL_NOTIFICATION,
1318 WLAN_MESH_ACTION_MCCA_SETUP_REQUEST,
1319 WLAN_MESH_ACTION_MCCA_SETUP_REPLY,
1320 WLAN_MESH_ACTION_MCCA_ADVERTISEMENT_REQUEST,
1321 WLAN_MESH_ACTION_MCCA_ADVERTISEMENT,
1322 WLAN_MESH_ACTION_MCCA_TEARDOWN,
1323 WLAN_MESH_ACTION_TBTT_ADJUSTMENT_REQUEST,
1324 WLAN_MESH_ACTION_TBTT_ADJUSTMENT_RESPONSE,
1325};
1326
1312/* Security key length */ 1327/* Security key length */
1313enum ieee80211_key_len { 1328enum ieee80211_key_len {
1314 WLAN_KEY_LEN_WEP40 = 5, 1329 WLAN_KEY_LEN_WEP40 = 5,
diff --git a/include/linux/nfc.h b/include/linux/nfc.h
index 330a4c5db588..c525e0b5876b 100644
--- a/include/linux/nfc.h
+++ b/include/linux/nfc.h
@@ -123,4 +123,6 @@ struct sockaddr_nfc {
123#define NFC_SOCKPROTO_RAW 0 123#define NFC_SOCKPROTO_RAW 0
124#define NFC_SOCKPROTO_MAX 1 124#define NFC_SOCKPROTO_MAX 1
125 125
126#define NFC_HEADER_SIZE 1
127
126#endif /*__LINUX_NFC_H */ 128#endif /*__LINUX_NFC_H */
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 89dec16b4697..0343504082a8 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -1042,6 +1042,9 @@ enum nl80211_commands {
1042 * (Re)Association Response frames when the driver (or firmware) replies to 1042 * (Re)Association Response frames when the driver (or firmware) replies to
1043 * (Re)Association Request frames. 1043 * (Re)Association Request frames.
1044 * 1044 *
1045 * @NL80211_ATTR_STA_WME: Nested attribute containing the wme configuration
1046 * of the station, see &enum nl80211_sta_wme_attr.
1047 *
1045 * @NL80211_ATTR_MAX: highest attribute number currently defined 1048 * @NL80211_ATTR_MAX: highest attribute number currently defined
1046 * @__NL80211_ATTR_AFTER_LAST: internal use 1049 * @__NL80211_ATTR_AFTER_LAST: internal use
1047 */ 1050 */
@@ -1252,6 +1255,8 @@ enum nl80211_attrs {
1252 NL80211_ATTR_IE_PROBE_RESP, 1255 NL80211_ATTR_IE_PROBE_RESP,
1253 NL80211_ATTR_IE_ASSOC_RESP, 1256 NL80211_ATTR_IE_ASSOC_RESP,
1254 1257
1258 NL80211_ATTR_STA_WME,
1259
1255 /* add attributes here, update the policy in nl80211.c */ 1260 /* add attributes here, update the policy in nl80211.c */
1256 1261
1257 __NL80211_ATTR_AFTER_LAST, 1262 __NL80211_ATTR_AFTER_LAST,
@@ -1861,6 +1866,13 @@ enum nl80211_mntr_flags {
1861 * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a 1866 * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a
1862 * source mesh point for path selection elements. 1867 * source mesh point for path selection elements.
1863 * 1868 *
1869 * @NL80211_MESHCONF_HWMP_RANN_INTERVAL: The interval of time (in TUs) between
1870 * root announcements are transmitted.
1871 *
1872 * @NL80211_MESHCONF_GATE_ANNOUNCEMENTS: Advertise that this mesh station has
1873 * access to a broader network beyond the MBSS. This is done via Root
1874 * Announcement frames.
1875 *
1864 * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute 1876 * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute
1865 * 1877 *
1866 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use 1878 * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
@@ -1882,6 +1894,8 @@ enum nl80211_meshconf_params {
1882 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME, 1894 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
1883 NL80211_MESHCONF_HWMP_ROOTMODE, 1895 NL80211_MESHCONF_HWMP_ROOTMODE,
1884 NL80211_MESHCONF_ELEMENT_TTL, 1896 NL80211_MESHCONF_ELEMENT_TTL,
1897 NL80211_MESHCONF_HWMP_RANN_INTERVAL,
1898 NL80211_MESHCONF_GATE_ANNOUNCEMENTS,
1885 1899
1886 /* keep last */ 1900 /* keep last */
1887 __NL80211_MESHCONF_ATTR_AFTER_LAST, 1901 __NL80211_MESHCONF_ATTR_AFTER_LAST,
@@ -2473,4 +2487,22 @@ enum nl80211_hidden_ssid {
2473 NL80211_HIDDEN_SSID_ZERO_CONTENTS 2487 NL80211_HIDDEN_SSID_ZERO_CONTENTS
2474}; 2488};
2475 2489
2490/**
2491 * enum nl80211_sta_wme_attr - station WME attributes
2492 * @__NL80211_STA_WME_INVALID: invalid number for nested attribute
2493 * @NL80211_STA_WME_QUEUES: bitmap of uapsd queues.
2494 * @NL80211_STA_WME_MAX_SP: max service period.
2495 * @__NL80211_STA_WME_AFTER_LAST: internal
2496 * @NL80211_STA_WME_MAX: highest station WME attribute
2497 */
2498enum nl80211_sta_wme_attr {
2499 __NL80211_STA_WME_INVALID,
2500 NL80211_STA_WME_UAPSD_QUEUES,
2501 NL80211_STA_WME_MAX_SP,
2502
2503 /* keep last */
2504 __NL80211_STA_WME_AFTER_LAST,
2505 NL80211_STA_WME_MAX = __NL80211_STA_WME_AFTER_LAST - 1
2506};
2507
2476#endif /* __LINUX_NL80211_H */ 2508#endif /* __LINUX_NL80211_H */