aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/bcma/bcma.h2
-rw-r--r--include/linux/bcma/bcma_driver_chipcommon.h5
-rw-r--r--include/linux/bcma/bcma_driver_mips.h3
-rw-r--r--include/linux/bcma/bcma_regs.h5
-rw-r--r--include/linux/ieee80211.h47
-rw-r--r--include/linux/ssb/ssb_driver_mips.h10
6 files changed, 51 insertions, 21 deletions
diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h
index 4180eb78d575..fd15d9829705 100644
--- a/include/linux/bcma/bcma.h
+++ b/include/linux/bcma/bcma.h
@@ -251,7 +251,7 @@ struct bcma_bus {
251 u8 num; 251 u8 num;
252 252
253 struct bcma_drv_cc drv_cc; 253 struct bcma_drv_cc drv_cc;
254 struct bcma_drv_pci drv_pci; 254 struct bcma_drv_pci drv_pci[2];
255 struct bcma_drv_mips drv_mips; 255 struct bcma_drv_mips drv_mips;
256 struct bcma_drv_gmac_cmn drv_gmac_cmn; 256 struct bcma_drv_gmac_cmn drv_gmac_cmn;
257 257
diff --git a/include/linux/bcma/bcma_driver_chipcommon.h b/include/linux/bcma/bcma_driver_chipcommon.h
index 1cf1749440ac..145f3c56227f 100644
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -510,6 +510,7 @@ struct bcma_chipcommon_pmu {
510 510
511#ifdef CONFIG_BCMA_DRIVER_MIPS 511#ifdef CONFIG_BCMA_DRIVER_MIPS
512struct bcma_pflash { 512struct bcma_pflash {
513 bool present;
513 u8 buswidth; 514 u8 buswidth;
514 u32 window; 515 u32 window;
515 u32 window_size; 516 u32 window_size;
@@ -532,6 +533,7 @@ struct mtd_info;
532 533
533struct bcma_nflash { 534struct bcma_nflash {
534 bool present; 535 bool present;
536 bool boot; /* This is the flash the SoC boots from */
535 537
536 struct mtd_info *mtd; 538 struct mtd_info *mtd;
537}; 539};
@@ -552,6 +554,7 @@ struct bcma_drv_cc {
552 u32 capabilities; 554 u32 capabilities;
553 u32 capabilities_ext; 555 u32 capabilities_ext;
554 u8 setup_done:1; 556 u8 setup_done:1;
557 u8 early_setup_done:1;
555 /* Fast Powerup Delay constant */ 558 /* Fast Powerup Delay constant */
556 u16 fast_pwrup_delay; 559 u16 fast_pwrup_delay;
557 struct bcma_chipcommon_pmu pmu; 560 struct bcma_chipcommon_pmu pmu;
@@ -583,6 +586,7 @@ struct bcma_drv_cc {
583 bcma_cc_write32(cc, offset, (bcma_cc_read32(cc, offset) & (mask)) | (set)) 586 bcma_cc_write32(cc, offset, (bcma_cc_read32(cc, offset) & (mask)) | (set))
584 587
585extern void bcma_core_chipcommon_init(struct bcma_drv_cc *cc); 588extern void bcma_core_chipcommon_init(struct bcma_drv_cc *cc);
589extern void bcma_core_chipcommon_early_init(struct bcma_drv_cc *cc);
586 590
587extern void bcma_chipco_suspend(struct bcma_drv_cc *cc); 591extern void bcma_chipco_suspend(struct bcma_drv_cc *cc);
588extern void bcma_chipco_resume(struct bcma_drv_cc *cc); 592extern void bcma_chipco_resume(struct bcma_drv_cc *cc);
@@ -606,6 +610,7 @@ u32 bcma_chipco_gpio_polarity(struct bcma_drv_cc *cc, u32 mask, u32 value);
606 610
607/* PMU support */ 611/* PMU support */
608extern void bcma_pmu_init(struct bcma_drv_cc *cc); 612extern void bcma_pmu_init(struct bcma_drv_cc *cc);
613extern void bcma_pmu_early_init(struct bcma_drv_cc *cc);
609 614
610extern void bcma_chipco_pll_write(struct bcma_drv_cc *cc, u32 offset, 615extern void bcma_chipco_pll_write(struct bcma_drv_cc *cc, u32 offset,
611 u32 value); 616 u32 value);
diff --git a/include/linux/bcma/bcma_driver_mips.h b/include/linux/bcma/bcma_driver_mips.h
index c0043645cdcb..0baf8a56b794 100644
--- a/include/linux/bcma/bcma_driver_mips.h
+++ b/include/linux/bcma/bcma_driver_mips.h
@@ -35,13 +35,16 @@ struct bcma_device;
35struct bcma_drv_mips { 35struct bcma_drv_mips {
36 struct bcma_device *core; 36 struct bcma_device *core;
37 u8 setup_done:1; 37 u8 setup_done:1;
38 u8 early_setup_done:1;
38 unsigned int assigned_irqs; 39 unsigned int assigned_irqs;
39}; 40};
40 41
41#ifdef CONFIG_BCMA_DRIVER_MIPS 42#ifdef CONFIG_BCMA_DRIVER_MIPS
42extern void bcma_core_mips_init(struct bcma_drv_mips *mcore); 43extern void bcma_core_mips_init(struct bcma_drv_mips *mcore);
44extern void bcma_core_mips_early_init(struct bcma_drv_mips *mcore);
43#else 45#else
44static inline void bcma_core_mips_init(struct bcma_drv_mips *mcore) { } 46static inline void bcma_core_mips_init(struct bcma_drv_mips *mcore) { }
47static inline void bcma_core_mips_early_init(struct bcma_drv_mips *mcore) { }
45#endif 48#endif
46 49
47extern u32 bcma_cpu_clock(struct bcma_drv_mips *mcore); 50extern u32 bcma_cpu_clock(struct bcma_drv_mips *mcore);
diff --git a/include/linux/bcma/bcma_regs.h b/include/linux/bcma/bcma_regs.h
index 6c9cb93ae3de..7e8104bb7a7e 100644
--- a/include/linux/bcma/bcma_regs.h
+++ b/include/linux/bcma/bcma_regs.h
@@ -85,6 +85,9 @@
85 * (2 ZettaBytes), high 32 bits 85 * (2 ZettaBytes), high 32 bits
86 */ 86 */
87 87
88#define BCMA_SFLASH 0x1c000000 88#define BCMA_SOC_FLASH1 0x1fc00000 /* MIPS Flash Region 1 */
89#define BCMA_SOC_FLASH1_SZ 0x00400000 /* MIPS Size of Flash Region 1 */
90#define BCMA_SOC_FLASH2 0x1c000000 /* Flash Region 2 (region 1 shadowed here) */
91#define BCMA_SOC_FLASH2_SZ 0x02000000 /* Size of Flash Region 2 */
89 92
90#endif /* LINUX_BCMA_REGS_H_ */ 93#endif /* LINUX_BCMA_REGS_H_ */
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index 2385119f8bb0..85764a900731 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -1107,20 +1107,6 @@ struct ieee80211_ht_operation {
1107#define WLAN_HT_SMPS_CONTROL_STATIC 1 1107#define WLAN_HT_SMPS_CONTROL_STATIC 1
1108#define WLAN_HT_SMPS_CONTROL_DYNAMIC 3 1108#define WLAN_HT_SMPS_CONTROL_DYNAMIC 3
1109 1109
1110#define VHT_MCS_SUPPORTED_SET_SIZE 8
1111
1112struct ieee80211_vht_capabilities {
1113 __le32 vht_capabilities_info;
1114 u8 vht_supported_mcs_set[VHT_MCS_SUPPORTED_SET_SIZE];
1115} __packed;
1116
1117struct ieee80211_vht_operation {
1118 u8 vht_op_info_chwidth;
1119 u8 vht_op_info_chan_center_freq_seg1_idx;
1120 u8 vht_op_info_chan_center_freq_seg2_idx;
1121 __le16 vht_basic_mcs_set;
1122} __packed;
1123
1124/** 1110/**
1125 * struct ieee80211_vht_mcs_info - VHT MCS information 1111 * struct ieee80211_vht_mcs_info - VHT MCS information
1126 * @rx_mcs_map: RX MCS map 2 bits for each stream, total 8 streams 1112 * @rx_mcs_map: RX MCS map 2 bits for each stream, total 8 streams
@@ -1141,6 +1127,37 @@ struct ieee80211_vht_mcs_info {
1141 __le16 tx_highest; 1127 __le16 tx_highest;
1142} __packed; 1128} __packed;
1143 1129
1130/**
1131 * struct ieee80211_vht_cap - VHT capabilities
1132 *
1133 * This structure is the "VHT capabilities element" as
1134 * described in 802.11ac D3.0 8.4.2.160
1135 * @vht_cap_info: VHT capability info
1136 * @supp_mcs: VHT MCS supported rates
1137 */
1138struct ieee80211_vht_cap {
1139 __le32 vht_cap_info;
1140 struct ieee80211_vht_mcs_info supp_mcs;
1141} __packed;
1142
1143/**
1144 * struct ieee80211_vht_operation - VHT operation IE
1145 *
1146 * This structure is the "VHT operation element" as
1147 * described in 802.11ac D3.0 8.4.2.161
1148 * @chan_width: Operating channel width
1149 * @center_freq_seg1_idx: center freq segment 1 index
1150 * @center_freq_seg2_idx: center freq segment 2 index
1151 * @basic_mcs_set: VHT Basic MCS rate set
1152 */
1153struct ieee80211_vht_operation {
1154 u8 chan_width;
1155 u8 center_freq_seg1_idx;
1156 u8 center_freq_seg2_idx;
1157 __le16 basic_mcs_set;
1158} __packed;
1159
1160
1144#define IEEE80211_VHT_MCS_ZERO_TO_SEVEN_SUPPORT 0 1161#define IEEE80211_VHT_MCS_ZERO_TO_SEVEN_SUPPORT 0
1145#define IEEE80211_VHT_MCS_ZERO_TO_EIGHT_SUPPORT 1 1162#define IEEE80211_VHT_MCS_ZERO_TO_EIGHT_SUPPORT 1
1146#define IEEE80211_VHT_MCS_ZERO_TO_NINE_SUPPORT 2 1163#define IEEE80211_VHT_MCS_ZERO_TO_NINE_SUPPORT 2
@@ -1440,8 +1457,6 @@ enum ieee80211_eid {
1440 1457
1441 WLAN_EID_RSN = 48, 1458 WLAN_EID_RSN = 48,
1442 WLAN_EID_MMIE = 76, 1459 WLAN_EID_MMIE = 76,
1443 WLAN_EID_WPA = 221,
1444 WLAN_EID_GENERIC = 221,
1445 WLAN_EID_VENDOR_SPECIFIC = 221, 1460 WLAN_EID_VENDOR_SPECIFIC = 221,
1446 WLAN_EID_QOS_PARAMETER = 222, 1461 WLAN_EID_QOS_PARAMETER = 222,
1447 1462
diff --git a/include/linux/ssb/ssb_driver_mips.h b/include/linux/ssb/ssb_driver_mips.h
index 5f44e9740cd2..07a9c7a2e088 100644
--- a/include/linux/ssb/ssb_driver_mips.h
+++ b/include/linux/ssb/ssb_driver_mips.h
@@ -13,6 +13,12 @@ struct ssb_serial_port {
13 unsigned int reg_shift; 13 unsigned int reg_shift;
14}; 14};
15 15
16struct ssb_pflash {
17 bool present;
18 u8 buswidth;
19 u32 window;
20 u32 window_size;
21};
16 22
17struct ssb_mipscore { 23struct ssb_mipscore {
18 struct ssb_device *dev; 24 struct ssb_device *dev;
@@ -20,9 +26,7 @@ struct ssb_mipscore {
20 int nr_serial_ports; 26 int nr_serial_ports;
21 struct ssb_serial_port serial_ports[4]; 27 struct ssb_serial_port serial_ports[4];
22 28
23 u8 flash_buswidth; 29 struct ssb_pflash pflash;
24 u32 flash_window;
25 u32 flash_window_size;
26}; 30};
27 31
28extern void ssb_mipscore_init(struct ssb_mipscore *mcore); 32extern void ssb_mipscore_init(struct ssb_mipscore *mcore);