diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /drivers/net/wireless/b43 | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'drivers/net/wireless/b43')
33 files changed, 14422 insertions, 2289 deletions
diff --git a/drivers/net/wireless/b43/Kconfig b/drivers/net/wireless/b43/Kconfig index 0a00d42642cd..480595f04411 100644 --- a/drivers/net/wireless/b43/Kconfig +++ b/drivers/net/wireless/b43/Kconfig | |||
@@ -86,15 +86,16 @@ config B43_PIO | |||
86 | select SSB_BLOCKIO | 86 | select SSB_BLOCKIO |
87 | default y | 87 | default y |
88 | 88 | ||
89 | config B43_NPHY | 89 | config B43_PHY_N |
90 | bool "Pre IEEE 802.11n support (BROKEN)" | 90 | bool "Support for 802.11n (N-PHY) devices (EXPERIMENTAL)" |
91 | depends on B43 && EXPERIMENTAL && BROKEN | 91 | depends on B43 && EXPERIMENTAL |
92 | ---help--- | 92 | ---help--- |
93 | Support for the IEEE 802.11n draft. | 93 | Support for the N-PHY. |
94 | 94 | ||
95 | THIS IS BROKEN AND DOES NOT WORK YET. | 95 | This enables support for devices with N-PHY. |
96 | 96 | ||
97 | SAY N. | 97 | Say N if you expect high stability and performance. Saying Y will not |
98 | affect other devices support and may provide support for basic needs. | ||
98 | 99 | ||
99 | config B43_PHY_LP | 100 | config B43_PHY_LP |
100 | bool "Support for low-power (LP-PHY) devices (EXPERIMENTAL)" | 101 | bool "Support for low-power (LP-PHY) devices (EXPERIMENTAL)" |
diff --git a/drivers/net/wireless/b43/Makefile b/drivers/net/wireless/b43/Makefile index 5e83b6f0a3a0..cef334a8c669 100644 --- a/drivers/net/wireless/b43/Makefile +++ b/drivers/net/wireless/b43/Makefile | |||
@@ -1,10 +1,12 @@ | |||
1 | b43-y += main.o | 1 | b43-y += main.o |
2 | b43-y += tables.o | 2 | b43-y += tables.o |
3 | b43-$(CONFIG_B43_NPHY) += tables_nphy.o | 3 | b43-$(CONFIG_B43_PHY_N) += tables_nphy.o |
4 | b43-$(CONFIG_B43_PHY_N) += radio_2055.o | ||
5 | b43-$(CONFIG_B43_PHY_N) += radio_2056.o | ||
4 | b43-y += phy_common.o | 6 | b43-y += phy_common.o |
5 | b43-y += phy_g.o | 7 | b43-y += phy_g.o |
6 | b43-y += phy_a.o | 8 | b43-y += phy_a.o |
7 | b43-$(CONFIG_B43_NPHY) += phy_n.o | 9 | b43-$(CONFIG_B43_PHY_N) += phy_n.o |
8 | b43-$(CONFIG_B43_PHY_LP) += phy_lp.o | 10 | b43-$(CONFIG_B43_PHY_LP) += phy_lp.o |
9 | b43-$(CONFIG_B43_PHY_LP) += tables_lpphy.o | 11 | b43-$(CONFIG_B43_PHY_LP) += tables_lpphy.o |
10 | b43-y += sysfs.o | 12 | b43-y += sysfs.o |
diff --git a/drivers/net/wireless/b43/b43.h b/drivers/net/wireless/b43/b43.h index 8674a99356af..25a78cfb7d15 100644 --- a/drivers/net/wireless/b43/b43.h +++ b/drivers/net/wireless/b43/b43.h | |||
@@ -153,6 +153,19 @@ | |||
153 | #define B43_BFH_FEM_BT 0x0040 /* has FEM and switch to share antenna | 153 | #define B43_BFH_FEM_BT 0x0040 /* has FEM and switch to share antenna |
154 | * with bluetooth */ | 154 | * with bluetooth */ |
155 | 155 | ||
156 | /* SPROM boardflags2_lo values */ | ||
157 | #define B43_BFL2_RXBB_INT_REG_DIS 0x0001 /* external RX BB regulator present */ | ||
158 | #define B43_BFL2_APLL_WAR 0x0002 /* alternative A-band PLL settings implemented */ | ||
159 | #define B43_BFL2_TXPWRCTRL_EN 0x0004 /* permits enabling TX Power Control */ | ||
160 | #define B43_BFL2_2X4_DIV 0x0008 /* 2x4 diversity switch */ | ||
161 | #define B43_BFL2_5G_PWRGAIN 0x0010 /* supports 5G band power gain */ | ||
162 | #define B43_BFL2_PCIEWAR_OVR 0x0020 /* overrides ASPM and Clkreq settings */ | ||
163 | #define B43_BFL2_CAESERS_BRD 0x0040 /* is Caesers board (unused) */ | ||
164 | #define B43_BFL2_BTC3WIRE 0x0080 /* used 3-wire bluetooth coexist */ | ||
165 | #define B43_BFL2_SKWRKFEM_BRD 0x0100 /* 4321mcm93 uses Skyworks FEM */ | ||
166 | #define B43_BFL2_SPUR_WAR 0x0200 /* has a workaround for clock-harmonic spurs */ | ||
167 | #define B43_BFL2_GPLL_WAR 0x0400 /* altenative G-band PLL settings implemented */ | ||
168 | |||
156 | /* GPIO register offset, in both ChipCommon and PCI core. */ | 169 | /* GPIO register offset, in both ChipCommon and PCI core. */ |
157 | #define B43_GPIO_CONTROL 0x6c | 170 | #define B43_GPIO_CONTROL 0x6c |
158 | 171 | ||
@@ -186,7 +199,8 @@ enum { | |||
186 | #define B43_SHM_SH_PHYTXNOI 0x006E /* PHY noise directly after TX (lower 8bit only) */ | 199 | #define B43_SHM_SH_PHYTXNOI 0x006E /* PHY noise directly after TX (lower 8bit only) */ |
187 | #define B43_SHM_SH_RFRXSP1 0x0072 /* RF RX SP Register 1 */ | 200 | #define B43_SHM_SH_RFRXSP1 0x0072 /* RF RX SP Register 1 */ |
188 | #define B43_SHM_SH_CHAN 0x00A0 /* Current channel (low 8bit only) */ | 201 | #define B43_SHM_SH_CHAN 0x00A0 /* Current channel (low 8bit only) */ |
189 | #define B43_SHM_SH_CHAN_5GHZ 0x0100 /* Bit set, if 5Ghz channel */ | 202 | #define B43_SHM_SH_CHAN_5GHZ 0x0100 /* Bit set, if 5 Ghz channel */ |
203 | #define B43_SHM_SH_CHAN_40MHZ 0x0200 /* Bit set, if 40 Mhz channel width */ | ||
190 | #define B43_SHM_SH_BCMCFIFOID 0x0108 /* Last posted cookie to the bcast/mcast FIFO */ | 204 | #define B43_SHM_SH_BCMCFIFOID 0x0108 /* Last posted cookie to the bcast/mcast FIFO */ |
191 | /* TSSI information */ | 205 | /* TSSI information */ |
192 | #define B43_SHM_SH_TSSI_CCK 0x0058 /* TSSI for last 4 CCK frames (32bit) */ | 206 | #define B43_SHM_SH_TSSI_CCK 0x0058 /* TSSI for last 4 CCK frames (32bit) */ |
@@ -402,10 +416,10 @@ enum { | |||
402 | 416 | ||
403 | /* 802.11 core specific TM State Low (SSB_TMSLOW) flags */ | 417 | /* 802.11 core specific TM State Low (SSB_TMSLOW) flags */ |
404 | #define B43_TMSLOW_GMODE 0x20000000 /* G Mode Enable */ | 418 | #define B43_TMSLOW_GMODE 0x20000000 /* G Mode Enable */ |
405 | #define B43_TMSLOW_PHYCLKSPEED 0x00C00000 /* PHY clock speed mask (N-PHY only) */ | 419 | #define B43_TMSLOW_PHY_BANDWIDTH 0x00C00000 /* PHY band width and clock speed mask (N-PHY only) */ |
406 | #define B43_TMSLOW_PHYCLKSPEED_40MHZ 0x00000000 /* 40 MHz PHY */ | 420 | #define B43_TMSLOW_PHY_BANDWIDTH_10MHZ 0x00000000 /* 10 MHz bandwidth, 40 MHz PHY */ |
407 | #define B43_TMSLOW_PHYCLKSPEED_80MHZ 0x00400000 /* 80 MHz PHY */ | 421 | #define B43_TMSLOW_PHY_BANDWIDTH_20MHZ 0x00400000 /* 20 MHz bandwidth, 80 MHz PHY */ |
408 | #define B43_TMSLOW_PHYCLKSPEED_160MHZ 0x00800000 /* 160 MHz PHY */ | 422 | #define B43_TMSLOW_PHY_BANDWIDTH_40MHZ 0x00800000 /* 40 MHz bandwidth, 160 MHz PHY */ |
409 | #define B43_TMSLOW_PLLREFSEL 0x00200000 /* PLL Frequency Reference Select (rev >= 5) */ | 423 | #define B43_TMSLOW_PLLREFSEL 0x00200000 /* PLL Frequency Reference Select (rev >= 5) */ |
410 | #define B43_TMSLOW_MACPHYCLKEN 0x00100000 /* MAC PHY Clock Control Enable (rev >= 5) */ | 424 | #define B43_TMSLOW_MACPHYCLKEN 0x00100000 /* MAC PHY Clock Control Enable (rev >= 5) */ |
411 | #define B43_TMSLOW_PHYRESET 0x00080000 /* PHY Reset */ | 425 | #define B43_TMSLOW_PHYRESET 0x00080000 /* PHY Reset */ |
@@ -553,6 +567,8 @@ struct b43_dma { | |||
553 | struct b43_dmaring *tx_ring_mcast; /* Multicast */ | 567 | struct b43_dmaring *tx_ring_mcast; /* Multicast */ |
554 | 568 | ||
555 | struct b43_dmaring *rx_ring; | 569 | struct b43_dmaring *rx_ring; |
570 | |||
571 | u32 translation; /* Routing bits */ | ||
556 | }; | 572 | }; |
557 | 573 | ||
558 | struct b43_pio_txqueue; | 574 | struct b43_pio_txqueue; |
@@ -634,8 +650,8 @@ struct b43_request_fw_context { | |||
634 | char errors[B43_NR_FWTYPES][128]; | 650 | char errors[B43_NR_FWTYPES][128]; |
635 | /* Temporary buffer for storing the firmware name. */ | 651 | /* Temporary buffer for storing the firmware name. */ |
636 | char fwname[64]; | 652 | char fwname[64]; |
637 | /* A fatal error occured while requesting. Firmware reqest | 653 | /* A fatal error occurred while requesting. Firmware request |
638 | * can not continue, as any other reqest will also fail. */ | 654 | * can not continue, as any other request will also fail. */ |
639 | int fatal_failure; | 655 | int fatal_failure; |
640 | }; | 656 | }; |
641 | 657 | ||
@@ -691,7 +707,7 @@ enum { | |||
691 | 707 | ||
692 | /* Data structure for one wireless device (802.11 core) */ | 708 | /* Data structure for one wireless device (802.11 core) */ |
693 | struct b43_wldev { | 709 | struct b43_wldev { |
694 | struct ssb_device *dev; | 710 | struct ssb_device *sdev; |
695 | struct b43_wl *wl; | 711 | struct b43_wl *wl; |
696 | 712 | ||
697 | /* The device initialization status. | 713 | /* The device initialization status. |
@@ -865,22 +881,34 @@ static inline enum ieee80211_band b43_current_band(struct b43_wl *wl) | |||
865 | 881 | ||
866 | static inline u16 b43_read16(struct b43_wldev *dev, u16 offset) | 882 | static inline u16 b43_read16(struct b43_wldev *dev, u16 offset) |
867 | { | 883 | { |
868 | return ssb_read16(dev->dev, offset); | 884 | return ssb_read16(dev->sdev, offset); |
869 | } | 885 | } |
870 | 886 | ||
871 | static inline void b43_write16(struct b43_wldev *dev, u16 offset, u16 value) | 887 | static inline void b43_write16(struct b43_wldev *dev, u16 offset, u16 value) |
872 | { | 888 | { |
873 | ssb_write16(dev->dev, offset, value); | 889 | ssb_write16(dev->sdev, offset, value); |
874 | } | 890 | } |
875 | 891 | ||
876 | static inline u32 b43_read32(struct b43_wldev *dev, u16 offset) | 892 | static inline u32 b43_read32(struct b43_wldev *dev, u16 offset) |
877 | { | 893 | { |
878 | return ssb_read32(dev->dev, offset); | 894 | return ssb_read32(dev->sdev, offset); |
879 | } | 895 | } |
880 | 896 | ||
881 | static inline void b43_write32(struct b43_wldev *dev, u16 offset, u32 value) | 897 | static inline void b43_write32(struct b43_wldev *dev, u16 offset, u32 value) |
882 | { | 898 | { |
883 | ssb_write32(dev->dev, offset, value); | 899 | ssb_write32(dev->sdev, offset, value); |
900 | } | ||
901 | |||
902 | static inline void b43_block_read(struct b43_wldev *dev, void *buffer, | ||
903 | size_t count, u16 offset, u8 reg_width) | ||
904 | { | ||
905 | ssb_block_read(dev->sdev, buffer, count, offset, reg_width); | ||
906 | } | ||
907 | |||
908 | static inline void b43_block_write(struct b43_wldev *dev, const void *buffer, | ||
909 | size_t count, u16 offset, u8 reg_width) | ||
910 | { | ||
911 | ssb_block_write(dev->sdev, buffer, count, offset, reg_width); | ||
884 | } | 912 | } |
885 | 913 | ||
886 | static inline bool b43_using_pio_transfers(struct b43_wldev *dev) | 914 | static inline bool b43_using_pio_transfers(struct b43_wldev *dev) |
diff --git a/drivers/net/wireless/b43/debugfs.c b/drivers/net/wireless/b43/debugfs.c index 80b19a44a407..59f59fa40334 100644 --- a/drivers/net/wireless/b43/debugfs.c +++ b/drivers/net/wireless/b43/debugfs.c | |||
@@ -627,6 +627,7 @@ out_unlock: | |||
627 | .open = b43_debugfs_open, \ | 627 | .open = b43_debugfs_open, \ |
628 | .read = b43_debugfs_read, \ | 628 | .read = b43_debugfs_read, \ |
629 | .write = b43_debugfs_write, \ | 629 | .write = b43_debugfs_write, \ |
630 | .llseek = generic_file_llseek, \ | ||
630 | }, \ | 631 | }, \ |
631 | .file_struct_offset = offsetof(struct b43_dfsentry, \ | 632 | .file_struct_offset = offsetof(struct b43_dfsentry, \ |
632 | file_##name), \ | 633 | file_##name), \ |
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c index 10d0aaf754c5..47d44bcff37d 100644 --- a/drivers/net/wireless/b43/dma.c +++ b/drivers/net/wireless/b43/dma.c | |||
@@ -80,7 +80,7 @@ static void op32_fill_descriptor(struct b43_dmaring *ring, | |||
80 | addr = (u32) (dmaaddr & ~SSB_DMA_TRANSLATION_MASK); | 80 | addr = (u32) (dmaaddr & ~SSB_DMA_TRANSLATION_MASK); |
81 | addrext = (u32) (dmaaddr & SSB_DMA_TRANSLATION_MASK) | 81 | addrext = (u32) (dmaaddr & SSB_DMA_TRANSLATION_MASK) |
82 | >> SSB_DMA_TRANSLATION_SHIFT; | 82 | >> SSB_DMA_TRANSLATION_SHIFT; |
83 | addr |= ssb_dma_translation(ring->dev->dev); | 83 | addr |= ring->dev->dma.translation; |
84 | ctl = bufsize & B43_DMA32_DCTL_BYTECNT; | 84 | ctl = bufsize & B43_DMA32_DCTL_BYTECNT; |
85 | if (slot == ring->nr_slots - 1) | 85 | if (slot == ring->nr_slots - 1) |
86 | ctl |= B43_DMA32_DCTL_DTABLEEND; | 86 | ctl |= B43_DMA32_DCTL_DTABLEEND; |
@@ -174,7 +174,7 @@ static void op64_fill_descriptor(struct b43_dmaring *ring, | |||
174 | addrhi = (((u64) dmaaddr >> 32) & ~SSB_DMA_TRANSLATION_MASK); | 174 | addrhi = (((u64) dmaaddr >> 32) & ~SSB_DMA_TRANSLATION_MASK); |
175 | addrext = (((u64) dmaaddr >> 32) & SSB_DMA_TRANSLATION_MASK) | 175 | addrext = (((u64) dmaaddr >> 32) & SSB_DMA_TRANSLATION_MASK) |
176 | >> SSB_DMA_TRANSLATION_SHIFT; | 176 | >> SSB_DMA_TRANSLATION_SHIFT; |
177 | addrhi |= (ssb_dma_translation(ring->dev->dev) << 1); | 177 | addrhi |= (ring->dev->dma.translation << 1); |
178 | if (slot == ring->nr_slots - 1) | 178 | if (slot == ring->nr_slots - 1) |
179 | ctl0 |= B43_DMA64_DCTL0_DTABLEEND; | 179 | ctl0 |= B43_DMA64_DCTL0_DTABLEEND; |
180 | if (start) | 180 | if (start) |
@@ -333,10 +333,10 @@ static inline | |||
333 | dma_addr_t dmaaddr; | 333 | dma_addr_t dmaaddr; |
334 | 334 | ||
335 | if (tx) { | 335 | if (tx) { |
336 | dmaaddr = dma_map_single(ring->dev->dev->dma_dev, | 336 | dmaaddr = dma_map_single(ring->dev->sdev->dma_dev, |
337 | buf, len, DMA_TO_DEVICE); | 337 | buf, len, DMA_TO_DEVICE); |
338 | } else { | 338 | } else { |
339 | dmaaddr = dma_map_single(ring->dev->dev->dma_dev, | 339 | dmaaddr = dma_map_single(ring->dev->sdev->dma_dev, |
340 | buf, len, DMA_FROM_DEVICE); | 340 | buf, len, DMA_FROM_DEVICE); |
341 | } | 341 | } |
342 | 342 | ||
@@ -348,10 +348,10 @@ static inline | |||
348 | dma_addr_t addr, size_t len, int tx) | 348 | dma_addr_t addr, size_t len, int tx) |
349 | { | 349 | { |
350 | if (tx) { | 350 | if (tx) { |
351 | dma_unmap_single(ring->dev->dev->dma_dev, | 351 | dma_unmap_single(ring->dev->sdev->dma_dev, |
352 | addr, len, DMA_TO_DEVICE); | 352 | addr, len, DMA_TO_DEVICE); |
353 | } else { | 353 | } else { |
354 | dma_unmap_single(ring->dev->dev->dma_dev, | 354 | dma_unmap_single(ring->dev->sdev->dma_dev, |
355 | addr, len, DMA_FROM_DEVICE); | 355 | addr, len, DMA_FROM_DEVICE); |
356 | } | 356 | } |
357 | } | 357 | } |
@@ -361,7 +361,7 @@ static inline | |||
361 | dma_addr_t addr, size_t len) | 361 | dma_addr_t addr, size_t len) |
362 | { | 362 | { |
363 | B43_WARN_ON(ring->tx); | 363 | B43_WARN_ON(ring->tx); |
364 | dma_sync_single_for_cpu(ring->dev->dev->dma_dev, | 364 | dma_sync_single_for_cpu(ring->dev->sdev->dma_dev, |
365 | addr, len, DMA_FROM_DEVICE); | 365 | addr, len, DMA_FROM_DEVICE); |
366 | } | 366 | } |
367 | 367 | ||
@@ -370,7 +370,7 @@ static inline | |||
370 | dma_addr_t addr, size_t len) | 370 | dma_addr_t addr, size_t len) |
371 | { | 371 | { |
372 | B43_WARN_ON(ring->tx); | 372 | B43_WARN_ON(ring->tx); |
373 | dma_sync_single_for_device(ring->dev->dev->dma_dev, | 373 | dma_sync_single_for_device(ring->dev->sdev->dma_dev, |
374 | addr, len, DMA_FROM_DEVICE); | 374 | addr, len, DMA_FROM_DEVICE); |
375 | } | 375 | } |
376 | 376 | ||
@@ -401,7 +401,7 @@ static int alloc_ringmemory(struct b43_dmaring *ring) | |||
401 | */ | 401 | */ |
402 | if (ring->type == B43_DMA_64BIT) | 402 | if (ring->type == B43_DMA_64BIT) |
403 | flags |= GFP_DMA; | 403 | flags |= GFP_DMA; |
404 | ring->descbase = dma_alloc_coherent(ring->dev->dev->dma_dev, | 404 | ring->descbase = dma_alloc_coherent(ring->dev->sdev->dma_dev, |
405 | B43_DMA_RINGMEMSIZE, | 405 | B43_DMA_RINGMEMSIZE, |
406 | &(ring->dmabase), flags); | 406 | &(ring->dmabase), flags); |
407 | if (!ring->descbase) { | 407 | if (!ring->descbase) { |
@@ -415,12 +415,7 @@ static int alloc_ringmemory(struct b43_dmaring *ring) | |||
415 | 415 | ||
416 | static void free_ringmemory(struct b43_dmaring *ring) | 416 | static void free_ringmemory(struct b43_dmaring *ring) |
417 | { | 417 | { |
418 | gfp_t flags = GFP_KERNEL; | 418 | dma_free_coherent(ring->dev->sdev->dma_dev, B43_DMA_RINGMEMSIZE, |
419 | |||
420 | if (ring->type == B43_DMA_64BIT) | ||
421 | flags |= GFP_DMA; | ||
422 | |||
423 | dma_free_coherent(ring->dev->dev->dma_dev, B43_DMA_RINGMEMSIZE, | ||
424 | ring->descbase, ring->dmabase); | 419 | ring->descbase, ring->dmabase); |
425 | } | 420 | } |
426 | 421 | ||
@@ -528,7 +523,7 @@ static bool b43_dma_mapping_error(struct b43_dmaring *ring, | |||
528 | dma_addr_t addr, | 523 | dma_addr_t addr, |
529 | size_t buffersize, bool dma_to_device) | 524 | size_t buffersize, bool dma_to_device) |
530 | { | 525 | { |
531 | if (unlikely(dma_mapping_error(ring->dev->dev->dma_dev, addr))) | 526 | if (unlikely(dma_mapping_error(ring->dev->sdev->dma_dev, addr))) |
532 | return 1; | 527 | return 1; |
533 | 528 | ||
534 | switch (ring->type) { | 529 | switch (ring->type) { |
@@ -663,7 +658,7 @@ static int dmacontroller_setup(struct b43_dmaring *ring) | |||
663 | int err = 0; | 658 | int err = 0; |
664 | u32 value; | 659 | u32 value; |
665 | u32 addrext; | 660 | u32 addrext; |
666 | u32 trans = ssb_dma_translation(ring->dev->dev); | 661 | u32 trans = ring->dev->dma.translation; |
667 | 662 | ||
668 | if (ring->tx) { | 663 | if (ring->tx) { |
669 | if (ring->type == B43_DMA_64BIT) { | 664 | if (ring->type == B43_DMA_64BIT) { |
@@ -874,7 +869,7 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev, | |||
874 | goto err_kfree_meta; | 869 | goto err_kfree_meta; |
875 | 870 | ||
876 | /* test for ability to dma to txhdr_cache */ | 871 | /* test for ability to dma to txhdr_cache */ |
877 | dma_test = dma_map_single(dev->dev->dma_dev, | 872 | dma_test = dma_map_single(dev->sdev->dma_dev, |
878 | ring->txhdr_cache, | 873 | ring->txhdr_cache, |
879 | b43_txhdr_size(dev), | 874 | b43_txhdr_size(dev), |
880 | DMA_TO_DEVICE); | 875 | DMA_TO_DEVICE); |
@@ -889,7 +884,7 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev, | |||
889 | if (!ring->txhdr_cache) | 884 | if (!ring->txhdr_cache) |
890 | goto err_kfree_meta; | 885 | goto err_kfree_meta; |
891 | 886 | ||
892 | dma_test = dma_map_single(dev->dev->dma_dev, | 887 | dma_test = dma_map_single(dev->sdev->dma_dev, |
893 | ring->txhdr_cache, | 888 | ring->txhdr_cache, |
894 | b43_txhdr_size(dev), | 889 | b43_txhdr_size(dev), |
895 | DMA_TO_DEVICE); | 890 | DMA_TO_DEVICE); |
@@ -903,7 +898,7 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev, | |||
903 | } | 898 | } |
904 | } | 899 | } |
905 | 900 | ||
906 | dma_unmap_single(dev->dev->dma_dev, | 901 | dma_unmap_single(dev->sdev->dma_dev, |
907 | dma_test, b43_txhdr_size(dev), | 902 | dma_test, b43_txhdr_size(dev), |
908 | DMA_TO_DEVICE); | 903 | DMA_TO_DEVICE); |
909 | } | 904 | } |
@@ -1018,9 +1013,9 @@ static int b43_dma_set_mask(struct b43_wldev *dev, u64 mask) | |||
1018 | /* Try to set the DMA mask. If it fails, try falling back to a | 1013 | /* Try to set the DMA mask. If it fails, try falling back to a |
1019 | * lower mask, as we can always also support a lower one. */ | 1014 | * lower mask, as we can always also support a lower one. */ |
1020 | while (1) { | 1015 | while (1) { |
1021 | err = dma_set_mask(dev->dev->dma_dev, mask); | 1016 | err = dma_set_mask(dev->sdev->dma_dev, mask); |
1022 | if (!err) { | 1017 | if (!err) { |
1023 | err = dma_set_coherent_mask(dev->dev->dma_dev, mask); | 1018 | err = dma_set_coherent_mask(dev->sdev->dma_dev, mask); |
1024 | if (!err) | 1019 | if (!err) |
1025 | break; | 1020 | break; |
1026 | } | 1021 | } |
@@ -1060,6 +1055,7 @@ int b43_dma_init(struct b43_wldev *dev) | |||
1060 | err = b43_dma_set_mask(dev, dmamask); | 1055 | err = b43_dma_set_mask(dev, dmamask); |
1061 | if (err) | 1056 | if (err) |
1062 | return err; | 1057 | return err; |
1058 | dma->translation = ssb_dma_translation(dev->sdev); | ||
1063 | 1059 | ||
1064 | err = -ENOMEM; | 1060 | err = -ENOMEM; |
1065 | /* setup TX DMA channels. */ | 1061 | /* setup TX DMA channels. */ |
@@ -1089,7 +1085,7 @@ int b43_dma_init(struct b43_wldev *dev) | |||
1089 | goto err_destroy_mcast; | 1085 | goto err_destroy_mcast; |
1090 | 1086 | ||
1091 | /* No support for the TX status DMA ring. */ | 1087 | /* No support for the TX status DMA ring. */ |
1092 | B43_WARN_ON(dev->dev->id.revision < 5); | 1088 | B43_WARN_ON(dev->sdev->id.revision < 5); |
1093 | 1089 | ||
1094 | b43dbg(dev->wl, "%u-bit DMA initialized\n", | 1090 | b43dbg(dev->wl, "%u-bit DMA initialized\n", |
1095 | (unsigned int)type); | 1091 | (unsigned int)type); |
@@ -1541,7 +1537,7 @@ static void dma_rx(struct b43_dmaring *ring, int *slot) | |||
1541 | dmaaddr = meta->dmaaddr; | 1537 | dmaaddr = meta->dmaaddr; |
1542 | goto drop_recycle_buffer; | 1538 | goto drop_recycle_buffer; |
1543 | } | 1539 | } |
1544 | if (unlikely(len > ring->rx_buffersize)) { | 1540 | if (unlikely(len + ring->frameoffset > ring->rx_buffersize)) { |
1545 | /* The data did not fit into one descriptor buffer | 1541 | /* The data did not fit into one descriptor buffer |
1546 | * and is split over multiple buffers. | 1542 | * and is split over multiple buffers. |
1547 | * This should never happen, as we try to allocate buffers | 1543 | * This should never happen, as we try to allocate buffers |
diff --git a/drivers/net/wireless/b43/dma.h b/drivers/net/wireless/b43/dma.h index a01c2100f166..e8a80a1251bf 100644 --- a/drivers/net/wireless/b43/dma.h +++ b/drivers/net/wireless/b43/dma.h | |||
@@ -163,7 +163,7 @@ struct b43_dmadesc_generic { | |||
163 | /* DMA engine tuning knobs */ | 163 | /* DMA engine tuning knobs */ |
164 | #define B43_TXRING_SLOTS 256 | 164 | #define B43_TXRING_SLOTS 256 |
165 | #define B43_RXRING_SLOTS 64 | 165 | #define B43_RXRING_SLOTS 64 |
166 | #define B43_DMA0_RX_BUFFERSIZE IEEE80211_MAX_FRAME_LEN | 166 | #define B43_DMA0_RX_BUFFERSIZE (B43_DMA0_RX_FRAMEOFFSET + IEEE80211_MAX_FRAME_LEN) |
167 | 167 | ||
168 | /* Pointer poison */ | 168 | /* Pointer poison */ |
169 | #define B43_DMA_PTR_POISON ((void *)ERR_PTR(-ENOMEM)) | 169 | #define B43_DMA_PTR_POISON ((void *)ERR_PTR(-ENOMEM)) |
diff --git a/drivers/net/wireless/b43/leds.c b/drivers/net/wireless/b43/leds.c index c587115dd2b9..0cafafe368af 100644 --- a/drivers/net/wireless/b43/leds.c +++ b/drivers/net/wireless/b43/leds.c | |||
@@ -138,7 +138,7 @@ static int b43_register_led(struct b43_wldev *dev, struct b43_led *led, | |||
138 | led->led_dev.default_trigger = default_trigger; | 138 | led->led_dev.default_trigger = default_trigger; |
139 | led->led_dev.brightness_set = b43_led_brightness_set; | 139 | led->led_dev.brightness_set = b43_led_brightness_set; |
140 | 140 | ||
141 | err = led_classdev_register(dev->dev->dev, &led->led_dev); | 141 | err = led_classdev_register(dev->sdev->dev, &led->led_dev); |
142 | if (err) { | 142 | if (err) { |
143 | b43warn(dev->wl, "LEDs: Failed to register %s\n", name); | 143 | b43warn(dev->wl, "LEDs: Failed to register %s\n", name); |
144 | led->wl = NULL; | 144 | led->wl = NULL; |
@@ -215,7 +215,7 @@ static void b43_led_get_sprominfo(struct b43_wldev *dev, | |||
215 | enum b43_led_behaviour *behaviour, | 215 | enum b43_led_behaviour *behaviour, |
216 | bool *activelow) | 216 | bool *activelow) |
217 | { | 217 | { |
218 | struct ssb_bus *bus = dev->dev->bus; | 218 | struct ssb_bus *bus = dev->sdev->bus; |
219 | u8 sprom[4]; | 219 | u8 sprom[4]; |
220 | 220 | ||
221 | sprom[0] = bus->sprom.gpio0; | 221 | sprom[0] = bus->sprom.gpio0; |
diff --git a/drivers/net/wireless/b43/lo.c b/drivers/net/wireless/b43/lo.c index 94e4f1378fc3..2ef7d4b38540 100644 --- a/drivers/net/wireless/b43/lo.c +++ b/drivers/net/wireless/b43/lo.c | |||
@@ -98,7 +98,7 @@ static u16 lo_measure_feedthrough(struct b43_wldev *dev, | |||
98 | rfover |= pga; | 98 | rfover |= pga; |
99 | rfover |= lna; | 99 | rfover |= lna; |
100 | rfover |= trsw_rx; | 100 | rfover |= trsw_rx; |
101 | if ((dev->dev->bus->sprom.boardflags_lo & B43_BFL_EXTLNA) | 101 | if ((dev->sdev->bus->sprom.boardflags_lo & B43_BFL_EXTLNA) |
102 | && phy->rev > 6) | 102 | && phy->rev > 6) |
103 | rfover |= B43_PHY_RFOVERVAL_EXTLNA; | 103 | rfover |= B43_PHY_RFOVERVAL_EXTLNA; |
104 | 104 | ||
@@ -387,7 +387,7 @@ struct lo_g_saved_values { | |||
387 | static void lo_measure_setup(struct b43_wldev *dev, | 387 | static void lo_measure_setup(struct b43_wldev *dev, |
388 | struct lo_g_saved_values *sav) | 388 | struct lo_g_saved_values *sav) |
389 | { | 389 | { |
390 | struct ssb_sprom *sprom = &dev->dev->bus->sprom; | 390 | struct ssb_sprom *sprom = &dev->sdev->bus->sprom; |
391 | struct b43_phy *phy = &dev->phy; | 391 | struct b43_phy *phy = &dev->phy; |
392 | struct b43_phy_g *gphy = phy->g; | 392 | struct b43_phy_g *gphy = phy->g; |
393 | struct b43_txpower_lo_control *lo = gphy->lo_control; | 393 | struct b43_txpower_lo_control *lo = gphy->lo_control; |
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 20631ae2ddd7..eb4159686985 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -72,6 +72,7 @@ MODULE_FIRMWARE("b43/ucode11.fw"); | |||
72 | MODULE_FIRMWARE("b43/ucode13.fw"); | 72 | MODULE_FIRMWARE("b43/ucode13.fw"); |
73 | MODULE_FIRMWARE("b43/ucode14.fw"); | 73 | MODULE_FIRMWARE("b43/ucode14.fw"); |
74 | MODULE_FIRMWARE("b43/ucode15.fw"); | 74 | MODULE_FIRMWARE("b43/ucode15.fw"); |
75 | MODULE_FIRMWARE("b43/ucode16_mimo.fw"); | ||
75 | MODULE_FIRMWARE("b43/ucode5.fw"); | 76 | MODULE_FIRMWARE("b43/ucode5.fw"); |
76 | MODULE_FIRMWARE("b43/ucode9.fw"); | 77 | MODULE_FIRMWARE("b43/ucode9.fw"); |
77 | 78 | ||
@@ -322,59 +323,83 @@ static int b43_ratelimit(struct b43_wl *wl) | |||
322 | 323 | ||
323 | void b43info(struct b43_wl *wl, const char *fmt, ...) | 324 | void b43info(struct b43_wl *wl, const char *fmt, ...) |
324 | { | 325 | { |
326 | struct va_format vaf; | ||
325 | va_list args; | 327 | va_list args; |
326 | 328 | ||
327 | if (b43_modparam_verbose < B43_VERBOSITY_INFO) | 329 | if (b43_modparam_verbose < B43_VERBOSITY_INFO) |
328 | return; | 330 | return; |
329 | if (!b43_ratelimit(wl)) | 331 | if (!b43_ratelimit(wl)) |
330 | return; | 332 | return; |
333 | |||
331 | va_start(args, fmt); | 334 | va_start(args, fmt); |
332 | printk(KERN_INFO "b43-%s: ", | 335 | |
333 | (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan"); | 336 | vaf.fmt = fmt; |
334 | vprintk(fmt, args); | 337 | vaf.va = &args; |
338 | |||
339 | printk(KERN_INFO "b43-%s: %pV", | ||
340 | (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); | ||
341 | |||
335 | va_end(args); | 342 | va_end(args); |
336 | } | 343 | } |
337 | 344 | ||
338 | void b43err(struct b43_wl *wl, const char *fmt, ...) | 345 | void b43err(struct b43_wl *wl, const char *fmt, ...) |
339 | { | 346 | { |
347 | struct va_format vaf; | ||
340 | va_list args; | 348 | va_list args; |
341 | 349 | ||
342 | if (b43_modparam_verbose < B43_VERBOSITY_ERROR) | 350 | if (b43_modparam_verbose < B43_VERBOSITY_ERROR) |
343 | return; | 351 | return; |
344 | if (!b43_ratelimit(wl)) | 352 | if (!b43_ratelimit(wl)) |
345 | return; | 353 | return; |
354 | |||
346 | va_start(args, fmt); | 355 | va_start(args, fmt); |
347 | printk(KERN_ERR "b43-%s ERROR: ", | 356 | |
348 | (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan"); | 357 | vaf.fmt = fmt; |
349 | vprintk(fmt, args); | 358 | vaf.va = &args; |
359 | |||
360 | printk(KERN_ERR "b43-%s ERROR: %pV", | ||
361 | (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); | ||
362 | |||
350 | va_end(args); | 363 | va_end(args); |
351 | } | 364 | } |
352 | 365 | ||
353 | void b43warn(struct b43_wl *wl, const char *fmt, ...) | 366 | void b43warn(struct b43_wl *wl, const char *fmt, ...) |
354 | { | 367 | { |
368 | struct va_format vaf; | ||
355 | va_list args; | 369 | va_list args; |
356 | 370 | ||
357 | if (b43_modparam_verbose < B43_VERBOSITY_WARN) | 371 | if (b43_modparam_verbose < B43_VERBOSITY_WARN) |
358 | return; | 372 | return; |
359 | if (!b43_ratelimit(wl)) | 373 | if (!b43_ratelimit(wl)) |
360 | return; | 374 | return; |
375 | |||
361 | va_start(args, fmt); | 376 | va_start(args, fmt); |
362 | printk(KERN_WARNING "b43-%s warning: ", | 377 | |
363 | (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan"); | 378 | vaf.fmt = fmt; |
364 | vprintk(fmt, args); | 379 | vaf.va = &args; |
380 | |||
381 | printk(KERN_WARNING "b43-%s warning: %pV", | ||
382 | (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); | ||
383 | |||
365 | va_end(args); | 384 | va_end(args); |
366 | } | 385 | } |
367 | 386 | ||
368 | void b43dbg(struct b43_wl *wl, const char *fmt, ...) | 387 | void b43dbg(struct b43_wl *wl, const char *fmt, ...) |
369 | { | 388 | { |
389 | struct va_format vaf; | ||
370 | va_list args; | 390 | va_list args; |
371 | 391 | ||
372 | if (b43_modparam_verbose < B43_VERBOSITY_DEBUG) | 392 | if (b43_modparam_verbose < B43_VERBOSITY_DEBUG) |
373 | return; | 393 | return; |
394 | |||
374 | va_start(args, fmt); | 395 | va_start(args, fmt); |
375 | printk(KERN_DEBUG "b43-%s debug: ", | 396 | |
376 | (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan"); | 397 | vaf.fmt = fmt; |
377 | vprintk(fmt, args); | 398 | vaf.va = &args; |
399 | |||
400 | printk(KERN_DEBUG "b43-%s debug: %pV", | ||
401 | (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf); | ||
402 | |||
378 | va_end(args); | 403 | va_end(args); |
379 | } | 404 | } |
380 | 405 | ||
@@ -523,7 +548,7 @@ void b43_tsf_read(struct b43_wldev *dev, u64 *tsf) | |||
523 | { | 548 | { |
524 | u32 low, high; | 549 | u32 low, high; |
525 | 550 | ||
526 | B43_WARN_ON(dev->dev->id.revision < 3); | 551 | B43_WARN_ON(dev->sdev->id.revision < 3); |
527 | 552 | ||
528 | /* The hardware guarantees us an atomic read, if we | 553 | /* The hardware guarantees us an atomic read, if we |
529 | * read the low register first. */ | 554 | * read the low register first. */ |
@@ -561,7 +586,7 @@ static void b43_tsf_write_locked(struct b43_wldev *dev, u64 tsf) | |||
561 | { | 586 | { |
562 | u32 low, high; | 587 | u32 low, high; |
563 | 588 | ||
564 | B43_WARN_ON(dev->dev->id.revision < 3); | 589 | B43_WARN_ON(dev->sdev->id.revision < 3); |
565 | 590 | ||
566 | low = tsf; | 591 | low = tsf; |
567 | high = (tsf >> 32); | 592 | high = (tsf >> 32); |
@@ -689,7 +714,7 @@ void b43_dummy_transmission(struct b43_wldev *dev, bool ofdm, bool pa_on) | |||
689 | b43_ram_write(dev, i * 4, buffer[i]); | 714 | b43_ram_write(dev, i * 4, buffer[i]); |
690 | 715 | ||
691 | b43_write16(dev, 0x0568, 0x0000); | 716 | b43_write16(dev, 0x0568, 0x0000); |
692 | if (dev->dev->id.revision < 11) | 717 | if (dev->sdev->id.revision < 11) |
693 | b43_write16(dev, 0x07C0, 0x0000); | 718 | b43_write16(dev, 0x07C0, 0x0000); |
694 | else | 719 | else |
695 | b43_write16(dev, 0x07C0, 0x0100); | 720 | b43_write16(dev, 0x07C0, 0x0100); |
@@ -1107,7 +1132,7 @@ void b43_power_saving_ctl_bits(struct b43_wldev *dev, unsigned int ps_flags) | |||
1107 | b43_write32(dev, B43_MMIO_MACCTL, macctl); | 1132 | b43_write32(dev, B43_MMIO_MACCTL, macctl); |
1108 | /* Commit write */ | 1133 | /* Commit write */ |
1109 | b43_read32(dev, B43_MMIO_MACCTL); | 1134 | b43_read32(dev, B43_MMIO_MACCTL); |
1110 | if (awake && dev->dev->id.revision >= 5) { | 1135 | if (awake && dev->sdev->id.revision >= 5) { |
1111 | /* Wait for the microcode to wake up. */ | 1136 | /* Wait for the microcode to wake up. */ |
1112 | for (i = 0; i < 100; i++) { | 1137 | for (i = 0; i < 100; i++) { |
1113 | ucstat = b43_shm_read16(dev, B43_SHM_SHARED, | 1138 | ucstat = b43_shm_read16(dev, B43_SHM_SHARED, |
@@ -1119,27 +1144,35 @@ void b43_power_saving_ctl_bits(struct b43_wldev *dev, unsigned int ps_flags) | |||
1119 | } | 1144 | } |
1120 | } | 1145 | } |
1121 | 1146 | ||
1122 | void b43_wireless_core_reset(struct b43_wldev *dev, u32 flags) | 1147 | static void b43_ssb_wireless_core_reset(struct b43_wldev *dev, u32 flags) |
1123 | { | 1148 | { |
1124 | u32 tmslow; | 1149 | u32 tmslow; |
1125 | u32 macctl; | ||
1126 | 1150 | ||
1127 | flags |= B43_TMSLOW_PHYCLKEN; | 1151 | flags |= B43_TMSLOW_PHYCLKEN; |
1128 | flags |= B43_TMSLOW_PHYRESET; | 1152 | flags |= B43_TMSLOW_PHYRESET; |
1129 | ssb_device_enable(dev->dev, flags); | 1153 | if (dev->phy.type == B43_PHYTYPE_N) |
1154 | flags |= B43_TMSLOW_PHY_BANDWIDTH_20MHZ; /* Make 20 MHz def */ | ||
1155 | ssb_device_enable(dev->sdev, flags); | ||
1130 | msleep(2); /* Wait for the PLL to turn on. */ | 1156 | msleep(2); /* Wait for the PLL to turn on. */ |
1131 | 1157 | ||
1132 | /* Now take the PHY out of Reset again */ | 1158 | /* Now take the PHY out of Reset again */ |
1133 | tmslow = ssb_read32(dev->dev, SSB_TMSLOW); | 1159 | tmslow = ssb_read32(dev->sdev, SSB_TMSLOW); |
1134 | tmslow |= SSB_TMSLOW_FGC; | 1160 | tmslow |= SSB_TMSLOW_FGC; |
1135 | tmslow &= ~B43_TMSLOW_PHYRESET; | 1161 | tmslow &= ~B43_TMSLOW_PHYRESET; |
1136 | ssb_write32(dev->dev, SSB_TMSLOW, tmslow); | 1162 | ssb_write32(dev->sdev, SSB_TMSLOW, tmslow); |
1137 | ssb_read32(dev->dev, SSB_TMSLOW); /* flush */ | 1163 | ssb_read32(dev->sdev, SSB_TMSLOW); /* flush */ |
1138 | msleep(1); | 1164 | msleep(1); |
1139 | tmslow &= ~SSB_TMSLOW_FGC; | 1165 | tmslow &= ~SSB_TMSLOW_FGC; |
1140 | ssb_write32(dev->dev, SSB_TMSLOW, tmslow); | 1166 | ssb_write32(dev->sdev, SSB_TMSLOW, tmslow); |
1141 | ssb_read32(dev->dev, SSB_TMSLOW); /* flush */ | 1167 | ssb_read32(dev->sdev, SSB_TMSLOW); /* flush */ |
1142 | msleep(1); | 1168 | msleep(1); |
1169 | } | ||
1170 | |||
1171 | void b43_wireless_core_reset(struct b43_wldev *dev, u32 flags) | ||
1172 | { | ||
1173 | u32 macctl; | ||
1174 | |||
1175 | b43_ssb_wireless_core_reset(dev, flags); | ||
1143 | 1176 | ||
1144 | /* Turn Analog ON, but only if we already know the PHY-type. | 1177 | /* Turn Analog ON, but only if we already know the PHY-type. |
1145 | * This protects against very early setup where we don't know the | 1178 | * This protects against very early setup where we don't know the |
@@ -1188,7 +1221,7 @@ static void drain_txstatus_queue(struct b43_wldev *dev) | |||
1188 | { | 1221 | { |
1189 | u32 dummy; | 1222 | u32 dummy; |
1190 | 1223 | ||
1191 | if (dev->dev->id.revision < 5) | 1224 | if (dev->sdev->id.revision < 5) |
1192 | return; | 1225 | return; |
1193 | /* Read all entries from the microcode TXstatus FIFO | 1226 | /* Read all entries from the microcode TXstatus FIFO |
1194 | * and throw them away. | 1227 | * and throw them away. |
@@ -1394,9 +1427,9 @@ u8 b43_ieee80211_antenna_sanitize(struct b43_wldev *dev, | |||
1394 | 1427 | ||
1395 | /* Get the mask of available antennas. */ | 1428 | /* Get the mask of available antennas. */ |
1396 | if (dev->phy.gmode) | 1429 | if (dev->phy.gmode) |
1397 | antenna_mask = dev->dev->bus->sprom.ant_available_bg; | 1430 | antenna_mask = dev->sdev->bus->sprom.ant_available_bg; |
1398 | else | 1431 | else |
1399 | antenna_mask = dev->dev->bus->sprom.ant_available_a; | 1432 | antenna_mask = dev->sdev->bus->sprom.ant_available_a; |
1400 | 1433 | ||
1401 | if (!(antenna_mask & (1 << (antenna_nr - 1)))) { | 1434 | if (!(antenna_mask & (1 << (antenna_nr - 1)))) { |
1402 | /* This antenna is not available. Fall back to default. */ | 1435 | /* This antenna is not available. Fall back to default. */ |
@@ -1611,7 +1644,7 @@ static void b43_beacon_update_trigger_work(struct work_struct *work) | |||
1611 | mutex_lock(&wl->mutex); | 1644 | mutex_lock(&wl->mutex); |
1612 | dev = wl->current_dev; | 1645 | dev = wl->current_dev; |
1613 | if (likely(dev && (b43_status(dev) >= B43_STAT_INITIALIZED))) { | 1646 | if (likely(dev && (b43_status(dev) >= B43_STAT_INITIALIZED))) { |
1614 | if (dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) { | 1647 | if (dev->sdev->bus->bustype == SSB_BUSTYPE_SDIO) { |
1615 | /* wl->mutex is enough. */ | 1648 | /* wl->mutex is enough. */ |
1616 | b43_do_beacon_update_trigger_work(dev); | 1649 | b43_do_beacon_update_trigger_work(dev); |
1617 | mmiowb(); | 1650 | mmiowb(); |
@@ -1656,7 +1689,7 @@ static void b43_update_templates(struct b43_wl *wl) | |||
1656 | static void b43_set_beacon_int(struct b43_wldev *dev, u16 beacon_int) | 1689 | static void b43_set_beacon_int(struct b43_wldev *dev, u16 beacon_int) |
1657 | { | 1690 | { |
1658 | b43_time_lock(dev); | 1691 | b43_time_lock(dev); |
1659 | if (dev->dev->id.revision >= 3) { | 1692 | if (dev->sdev->id.revision >= 3) { |
1660 | b43_write32(dev, B43_MMIO_TSF_CFP_REP, (beacon_int << 16)); | 1693 | b43_write32(dev, B43_MMIO_TSF_CFP_REP, (beacon_int << 16)); |
1661 | b43_write32(dev, B43_MMIO_TSF_CFP_START, (beacon_int << 10)); | 1694 | b43_write32(dev, B43_MMIO_TSF_CFP_START, (beacon_int << 10)); |
1662 | } else { | 1695 | } else { |
@@ -2030,7 +2063,7 @@ int b43_do_request_fw(struct b43_request_fw_context *ctx, | |||
2030 | B43_WARN_ON(1); | 2063 | B43_WARN_ON(1); |
2031 | return -ENOSYS; | 2064 | return -ENOSYS; |
2032 | } | 2065 | } |
2033 | err = request_firmware(&blob, ctx->fwname, ctx->dev->dev->dev); | 2066 | err = request_firmware(&blob, ctx->fwname, ctx->dev->sdev->dev); |
2034 | if (err == -ENOENT) { | 2067 | if (err == -ENOENT) { |
2035 | snprintf(ctx->errors[ctx->req_type], | 2068 | snprintf(ctx->errors[ctx->req_type], |
2036 | sizeof(ctx->errors[ctx->req_type]), | 2069 | sizeof(ctx->errors[ctx->req_type]), |
@@ -2080,13 +2113,12 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx) | |||
2080 | { | 2113 | { |
2081 | struct b43_wldev *dev = ctx->dev; | 2114 | struct b43_wldev *dev = ctx->dev; |
2082 | struct b43_firmware *fw = &ctx->dev->fw; | 2115 | struct b43_firmware *fw = &ctx->dev->fw; |
2083 | const u8 rev = ctx->dev->dev->id.revision; | 2116 | const u8 rev = ctx->dev->sdev->id.revision; |
2084 | const char *filename; | 2117 | const char *filename; |
2085 | u32 tmshigh; | 2118 | u32 tmshigh; |
2086 | int err; | 2119 | int err; |
2087 | 2120 | ||
2088 | /* Get microcode */ | 2121 | /* Get microcode */ |
2089 | tmshigh = ssb_read32(dev->dev, SSB_TMSHIGH); | ||
2090 | if ((rev >= 5) && (rev <= 10)) | 2122 | if ((rev >= 5) && (rev <= 10)) |
2091 | filename = "ucode5"; | 2123 | filename = "ucode5"; |
2092 | else if ((rev >= 11) && (rev <= 12)) | 2124 | else if ((rev >= 11) && (rev <= 12)) |
@@ -2095,8 +2127,10 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx) | |||
2095 | filename = "ucode13"; | 2127 | filename = "ucode13"; |
2096 | else if (rev == 14) | 2128 | else if (rev == 14) |
2097 | filename = "ucode14"; | 2129 | filename = "ucode14"; |
2098 | else if (rev >= 15) | 2130 | else if (rev == 15) |
2099 | filename = "ucode15"; | 2131 | filename = "ucode15"; |
2132 | else if ((rev >= 16) && (rev <= 20)) | ||
2133 | filename = "ucode16_mimo"; | ||
2100 | else | 2134 | else |
2101 | goto err_no_ucode; | 2135 | goto err_no_ucode; |
2102 | err = b43_do_request_fw(ctx, filename, &fw->ucode); | 2136 | err = b43_do_request_fw(ctx, filename, &fw->ucode); |
@@ -2123,6 +2157,7 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx) | |||
2123 | switch (dev->phy.type) { | 2157 | switch (dev->phy.type) { |
2124 | case B43_PHYTYPE_A: | 2158 | case B43_PHYTYPE_A: |
2125 | if ((rev >= 5) && (rev <= 10)) { | 2159 | if ((rev >= 5) && (rev <= 10)) { |
2160 | tmshigh = ssb_read32(dev->sdev, SSB_TMSHIGH); | ||
2126 | if (tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY) | 2161 | if (tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY) |
2127 | filename = "a0g1initvals5"; | 2162 | filename = "a0g1initvals5"; |
2128 | else | 2163 | else |
@@ -2139,7 +2174,9 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx) | |||
2139 | goto err_no_initvals; | 2174 | goto err_no_initvals; |
2140 | break; | 2175 | break; |
2141 | case B43_PHYTYPE_N: | 2176 | case B43_PHYTYPE_N: |
2142 | if ((rev >= 11) && (rev <= 12)) | 2177 | if (rev >= 16) |
2178 | filename = "n0initvals16"; | ||
2179 | else if ((rev >= 11) && (rev <= 12)) | ||
2143 | filename = "n0initvals11"; | 2180 | filename = "n0initvals11"; |
2144 | else | 2181 | else |
2145 | goto err_no_initvals; | 2182 | goto err_no_initvals; |
@@ -2165,6 +2202,7 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx) | |||
2165 | switch (dev->phy.type) { | 2202 | switch (dev->phy.type) { |
2166 | case B43_PHYTYPE_A: | 2203 | case B43_PHYTYPE_A: |
2167 | if ((rev >= 5) && (rev <= 10)) { | 2204 | if ((rev >= 5) && (rev <= 10)) { |
2205 | tmshigh = ssb_read32(dev->sdev, SSB_TMSHIGH); | ||
2168 | if (tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY) | 2206 | if (tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY) |
2169 | filename = "a0g1bsinitvals5"; | 2207 | filename = "a0g1bsinitvals5"; |
2170 | else | 2208 | else |
@@ -2183,7 +2221,9 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx) | |||
2183 | goto err_no_initvals; | 2221 | goto err_no_initvals; |
2184 | break; | 2222 | break; |
2185 | case B43_PHYTYPE_N: | 2223 | case B43_PHYTYPE_N: |
2186 | if ((rev >= 11) && (rev <= 12)) | 2224 | if (rev >= 16) |
2225 | filename = "n0bsinitvals16"; | ||
2226 | else if ((rev >= 11) && (rev <= 12)) | ||
2187 | filename = "n0bsinitvals11"; | 2227 | filename = "n0bsinitvals11"; |
2188 | else | 2228 | else |
2189 | goto err_no_initvals; | 2229 | goto err_no_initvals; |
@@ -2280,6 +2320,7 @@ out: | |||
2280 | 2320 | ||
2281 | static int b43_upload_microcode(struct b43_wldev *dev) | 2321 | static int b43_upload_microcode(struct b43_wldev *dev) |
2282 | { | 2322 | { |
2323 | struct wiphy *wiphy = dev->wl->hw->wiphy; | ||
2283 | const size_t hdr_len = sizeof(struct b43_fw_header); | 2324 | const size_t hdr_len = sizeof(struct b43_fw_header); |
2284 | const __be32 *data; | 2325 | const __be32 *data; |
2285 | unsigned int i, len; | 2326 | unsigned int i, len; |
@@ -2405,6 +2446,10 @@ static int b43_upload_microcode(struct b43_wldev *dev) | |||
2405 | } | 2446 | } |
2406 | } | 2447 | } |
2407 | 2448 | ||
2449 | snprintf(wiphy->fw_version, sizeof(wiphy->fw_version), "%u.%u", | ||
2450 | dev->fw.rev, dev->fw.patch); | ||
2451 | wiphy->hw_version = dev->sdev->id.coreid; | ||
2452 | |||
2408 | if (b43_is_old_txhdr_format(dev)) { | 2453 | if (b43_is_old_txhdr_format(dev)) { |
2409 | /* We're over the deadline, but we keep support for old fw | 2454 | /* We're over the deadline, but we keep support for old fw |
2410 | * until it turns out to be in major conflict with something new. */ | 2455 | * until it turns out to be in major conflict with something new. */ |
@@ -2519,10 +2564,20 @@ out: | |||
2519 | /* Initialize the GPIOs | 2564 | /* Initialize the GPIOs |
2520 | * http://bcm-specs.sipsolutions.net/GPIO | 2565 | * http://bcm-specs.sipsolutions.net/GPIO |
2521 | */ | 2566 | */ |
2567 | static struct ssb_device *b43_ssb_gpio_dev(struct b43_wldev *dev) | ||
2568 | { | ||
2569 | struct ssb_bus *bus = dev->sdev->bus; | ||
2570 | |||
2571 | #ifdef CONFIG_SSB_DRIVER_PCICORE | ||
2572 | return (bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev); | ||
2573 | #else | ||
2574 | return bus->chipco.dev; | ||
2575 | #endif | ||
2576 | } | ||
2577 | |||
2522 | static int b43_gpio_init(struct b43_wldev *dev) | 2578 | static int b43_gpio_init(struct b43_wldev *dev) |
2523 | { | 2579 | { |
2524 | struct ssb_bus *bus = dev->dev->bus; | 2580 | struct ssb_device *gpiodev; |
2525 | struct ssb_device *gpiodev, *pcidev = NULL; | ||
2526 | u32 mask, set; | 2581 | u32 mask, set; |
2527 | 2582 | ||
2528 | b43_write32(dev, B43_MMIO_MACCTL, b43_read32(dev, B43_MMIO_MACCTL) | 2583 | b43_write32(dev, B43_MMIO_MACCTL, b43_read32(dev, B43_MMIO_MACCTL) |
@@ -2533,7 +2588,7 @@ static int b43_gpio_init(struct b43_wldev *dev) | |||
2533 | 2588 | ||
2534 | mask = 0x0000001F; | 2589 | mask = 0x0000001F; |
2535 | set = 0x0000000F; | 2590 | set = 0x0000000F; |
2536 | if (dev->dev->bus->chip_id == 0x4301) { | 2591 | if (dev->sdev->bus->chip_id == 0x4301) { |
2537 | mask |= 0x0060; | 2592 | mask |= 0x0060; |
2538 | set |= 0x0060; | 2593 | set |= 0x0060; |
2539 | } | 2594 | } |
@@ -2544,25 +2599,21 @@ static int b43_gpio_init(struct b43_wldev *dev) | |||
2544 | mask |= 0x0180; | 2599 | mask |= 0x0180; |
2545 | set |= 0x0180; | 2600 | set |= 0x0180; |
2546 | } | 2601 | } |
2547 | if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_PACTRL) { | 2602 | if (dev->sdev->bus->sprom.boardflags_lo & B43_BFL_PACTRL) { |
2548 | b43_write16(dev, B43_MMIO_GPIO_MASK, | 2603 | b43_write16(dev, B43_MMIO_GPIO_MASK, |
2549 | b43_read16(dev, B43_MMIO_GPIO_MASK) | 2604 | b43_read16(dev, B43_MMIO_GPIO_MASK) |
2550 | | 0x0200); | 2605 | | 0x0200); |
2551 | mask |= 0x0200; | 2606 | mask |= 0x0200; |
2552 | set |= 0x0200; | 2607 | set |= 0x0200; |
2553 | } | 2608 | } |
2554 | if (dev->dev->id.revision >= 2) | 2609 | if (dev->sdev->id.revision >= 2) |
2555 | mask |= 0x0010; /* FIXME: This is redundant. */ | 2610 | mask |= 0x0010; /* FIXME: This is redundant. */ |
2556 | 2611 | ||
2557 | #ifdef CONFIG_SSB_DRIVER_PCICORE | 2612 | gpiodev = b43_ssb_gpio_dev(dev); |
2558 | pcidev = bus->pcicore.dev; | 2613 | if (gpiodev) |
2559 | #endif | 2614 | ssb_write32(gpiodev, B43_GPIO_CONTROL, |
2560 | gpiodev = bus->chipco.dev ? : pcidev; | 2615 | (ssb_read32(gpiodev, B43_GPIO_CONTROL) |
2561 | if (!gpiodev) | 2616 | & mask) | set); |
2562 | return 0; | ||
2563 | ssb_write32(gpiodev, B43_GPIO_CONTROL, | ||
2564 | (ssb_read32(gpiodev, B43_GPIO_CONTROL) | ||
2565 | & mask) | set); | ||
2566 | 2617 | ||
2567 | return 0; | 2618 | return 0; |
2568 | } | 2619 | } |
@@ -2570,16 +2621,11 @@ static int b43_gpio_init(struct b43_wldev *dev) | |||
2570 | /* Turn off all GPIO stuff. Call this on module unload, for example. */ | 2621 | /* Turn off all GPIO stuff. Call this on module unload, for example. */ |
2571 | static void b43_gpio_cleanup(struct b43_wldev *dev) | 2622 | static void b43_gpio_cleanup(struct b43_wldev *dev) |
2572 | { | 2623 | { |
2573 | struct ssb_bus *bus = dev->dev->bus; | 2624 | struct ssb_device *gpiodev; |
2574 | struct ssb_device *gpiodev, *pcidev = NULL; | ||
2575 | 2625 | ||
2576 | #ifdef CONFIG_SSB_DRIVER_PCICORE | 2626 | gpiodev = b43_ssb_gpio_dev(dev); |
2577 | pcidev = bus->pcicore.dev; | 2627 | if (gpiodev) |
2578 | #endif | 2628 | ssb_write32(gpiodev, B43_GPIO_CONTROL, 0); |
2579 | gpiodev = bus->chipco.dev ? : pcidev; | ||
2580 | if (!gpiodev) | ||
2581 | return; | ||
2582 | ssb_write32(gpiodev, B43_GPIO_CONTROL, 0); | ||
2583 | } | 2629 | } |
2584 | 2630 | ||
2585 | /* http://bcm-specs.sipsolutions.net/EnableMac */ | 2631 | /* http://bcm-specs.sipsolutions.net/EnableMac */ |
@@ -2648,6 +2694,17 @@ out: | |||
2648 | dev->mac_suspended++; | 2694 | dev->mac_suspended++; |
2649 | } | 2695 | } |
2650 | 2696 | ||
2697 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/MacPhyClkSet */ | ||
2698 | void b43_mac_phy_clock_set(struct b43_wldev *dev, bool on) | ||
2699 | { | ||
2700 | u32 tmslow = ssb_read32(dev->sdev, SSB_TMSLOW); | ||
2701 | if (on) | ||
2702 | tmslow |= B43_TMSLOW_MACPHYCLKEN; | ||
2703 | else | ||
2704 | tmslow &= ~B43_TMSLOW_MACPHYCLKEN; | ||
2705 | ssb_write32(dev->sdev, SSB_TMSLOW, tmslow); | ||
2706 | } | ||
2707 | |||
2651 | static void b43_adjust_opmode(struct b43_wldev *dev) | 2708 | static void b43_adjust_opmode(struct b43_wldev *dev) |
2652 | { | 2709 | { |
2653 | struct b43_wl *wl = dev->wl; | 2710 | struct b43_wl *wl = dev->wl; |
@@ -2684,15 +2741,15 @@ static void b43_adjust_opmode(struct b43_wldev *dev) | |||
2684 | /* Workaround: On old hardware the HW-MAC-address-filter | 2741 | /* Workaround: On old hardware the HW-MAC-address-filter |
2685 | * doesn't work properly, so always run promisc in filter | 2742 | * doesn't work properly, so always run promisc in filter |
2686 | * it in software. */ | 2743 | * it in software. */ |
2687 | if (dev->dev->id.revision <= 4) | 2744 | if (dev->sdev->id.revision <= 4) |
2688 | ctl |= B43_MACCTL_PROMISC; | 2745 | ctl |= B43_MACCTL_PROMISC; |
2689 | 2746 | ||
2690 | b43_write32(dev, B43_MMIO_MACCTL, ctl); | 2747 | b43_write32(dev, B43_MMIO_MACCTL, ctl); |
2691 | 2748 | ||
2692 | cfp_pretbtt = 2; | 2749 | cfp_pretbtt = 2; |
2693 | if ((ctl & B43_MACCTL_INFRA) && !(ctl & B43_MACCTL_AP)) { | 2750 | if ((ctl & B43_MACCTL_INFRA) && !(ctl & B43_MACCTL_AP)) { |
2694 | if (dev->dev->bus->chip_id == 0x4306 && | 2751 | if (dev->sdev->bus->chip_id == 0x4306 && |
2695 | dev->dev->bus->chip_rev == 3) | 2752 | dev->sdev->bus->chip_rev == 3) |
2696 | cfp_pretbtt = 100; | 2753 | cfp_pretbtt = 100; |
2697 | else | 2754 | else |
2698 | cfp_pretbtt = 50; | 2755 | cfp_pretbtt = 50; |
@@ -2804,7 +2861,7 @@ static int b43_chip_init(struct b43_wldev *dev) | |||
2804 | { | 2861 | { |
2805 | struct b43_phy *phy = &dev->phy; | 2862 | struct b43_phy *phy = &dev->phy; |
2806 | int err; | 2863 | int err; |
2807 | u32 value32, macctl; | 2864 | u32 macctl; |
2808 | u16 value16; | 2865 | u16 value16; |
2809 | 2866 | ||
2810 | /* Initialize the MAC control */ | 2867 | /* Initialize the MAC control */ |
@@ -2850,7 +2907,7 @@ static int b43_chip_init(struct b43_wldev *dev) | |||
2850 | b43_write16(dev, 0x005E, value16); | 2907 | b43_write16(dev, 0x005E, value16); |
2851 | } | 2908 | } |
2852 | b43_write32(dev, 0x0100, 0x01000000); | 2909 | b43_write32(dev, 0x0100, 0x01000000); |
2853 | if (dev->dev->id.revision < 5) | 2910 | if (dev->sdev->id.revision < 5) |
2854 | b43_write32(dev, 0x010C, 0x01000000); | 2911 | b43_write32(dev, 0x010C, 0x01000000); |
2855 | 2912 | ||
2856 | b43_write32(dev, B43_MMIO_MACCTL, b43_read32(dev, B43_MMIO_MACCTL) | 2913 | b43_write32(dev, B43_MMIO_MACCTL, b43_read32(dev, B43_MMIO_MACCTL) |
@@ -2865,7 +2922,7 @@ static int b43_chip_init(struct b43_wldev *dev) | |||
2865 | /* Initially set the wireless operation mode. */ | 2922 | /* Initially set the wireless operation mode. */ |
2866 | b43_adjust_opmode(dev); | 2923 | b43_adjust_opmode(dev); |
2867 | 2924 | ||
2868 | if (dev->dev->id.revision < 3) { | 2925 | if (dev->sdev->id.revision < 3) { |
2869 | b43_write16(dev, 0x060E, 0x0000); | 2926 | b43_write16(dev, 0x060E, 0x0000); |
2870 | b43_write16(dev, 0x0610, 0x8000); | 2927 | b43_write16(dev, 0x0610, 0x8000); |
2871 | b43_write16(dev, 0x0604, 0x0000); | 2928 | b43_write16(dev, 0x0604, 0x0000); |
@@ -2882,12 +2939,10 @@ static int b43_chip_init(struct b43_wldev *dev) | |||
2882 | b43_write32(dev, B43_MMIO_DMA4_IRQ_MASK, 0x0000DC00); | 2939 | b43_write32(dev, B43_MMIO_DMA4_IRQ_MASK, 0x0000DC00); |
2883 | b43_write32(dev, B43_MMIO_DMA5_IRQ_MASK, 0x0000DC00); | 2940 | b43_write32(dev, B43_MMIO_DMA5_IRQ_MASK, 0x0000DC00); |
2884 | 2941 | ||
2885 | value32 = ssb_read32(dev->dev, SSB_TMSLOW); | 2942 | b43_mac_phy_clock_set(dev, true); |
2886 | value32 |= 0x00100000; | ||
2887 | ssb_write32(dev->dev, SSB_TMSLOW, value32); | ||
2888 | 2943 | ||
2889 | b43_write16(dev, B43_MMIO_POWERUP_DELAY, | 2944 | b43_write16(dev, B43_MMIO_POWERUP_DELAY, |
2890 | dev->dev->bus->chipco.fast_pwrup_delay); | 2945 | dev->sdev->bus->chipco.fast_pwrup_delay); |
2891 | 2946 | ||
2892 | err = 0; | 2947 | err = 0; |
2893 | b43dbg(dev->wl, "Chip initialized\n"); | 2948 | b43dbg(dev->wl, "Chip initialized\n"); |
@@ -3050,7 +3105,7 @@ static int b43_validate_chipaccess(struct b43_wldev *dev) | |||
3050 | b43_shm_write32(dev, B43_SHM_SHARED, 0, backup0); | 3105 | b43_shm_write32(dev, B43_SHM_SHARED, 0, backup0); |
3051 | b43_shm_write32(dev, B43_SHM_SHARED, 4, backup4); | 3106 | b43_shm_write32(dev, B43_SHM_SHARED, 4, backup4); |
3052 | 3107 | ||
3053 | if ((dev->dev->id.revision >= 3) && (dev->dev->id.revision <= 10)) { | 3108 | if ((dev->sdev->id.revision >= 3) && (dev->sdev->id.revision <= 10)) { |
3054 | /* The 32bit register shadows the two 16bit registers | 3109 | /* The 32bit register shadows the two 16bit registers |
3055 | * with update sideeffects. Validate this. */ | 3110 | * with update sideeffects. Validate this. */ |
3056 | b43_write16(dev, B43_MMIO_TSF_CFP_START, 0xAAAA); | 3111 | b43_write16(dev, B43_MMIO_TSF_CFP_START, 0xAAAA); |
@@ -3166,7 +3221,7 @@ static void b43_tx_work(struct work_struct *work) | |||
3166 | mutex_unlock(&wl->mutex); | 3221 | mutex_unlock(&wl->mutex); |
3167 | } | 3222 | } |
3168 | 3223 | ||
3169 | static int b43_op_tx(struct ieee80211_hw *hw, | 3224 | static void b43_op_tx(struct ieee80211_hw *hw, |
3170 | struct sk_buff *skb) | 3225 | struct sk_buff *skb) |
3171 | { | 3226 | { |
3172 | struct b43_wl *wl = hw_to_b43_wl(hw); | 3227 | struct b43_wl *wl = hw_to_b43_wl(hw); |
@@ -3174,14 +3229,12 @@ static int b43_op_tx(struct ieee80211_hw *hw, | |||
3174 | if (unlikely(skb->len < 2 + 2 + 6)) { | 3229 | if (unlikely(skb->len < 2 + 2 + 6)) { |
3175 | /* Too short, this can't be a valid frame. */ | 3230 | /* Too short, this can't be a valid frame. */ |
3176 | dev_kfree_skb_any(skb); | 3231 | dev_kfree_skb_any(skb); |
3177 | return NETDEV_TX_OK; | 3232 | return; |
3178 | } | 3233 | } |
3179 | B43_WARN_ON(skb_shinfo(skb)->nr_frags); | 3234 | B43_WARN_ON(skb_shinfo(skb)->nr_frags); |
3180 | 3235 | ||
3181 | skb_queue_tail(&wl->tx_queue, skb); | 3236 | skb_queue_tail(&wl->tx_queue, skb); |
3182 | ieee80211_queue_work(wl->hw, &wl->tx_work); | 3237 | ieee80211_queue_work(wl->hw, &wl->tx_work); |
3183 | |||
3184 | return NETDEV_TX_OK; | ||
3185 | } | 3238 | } |
3186 | 3239 | ||
3187 | static void b43_qos_params_upload(struct b43_wldev *dev, | 3240 | static void b43_qos_params_upload(struct b43_wldev *dev, |
@@ -3405,7 +3458,7 @@ static void b43_op_set_tsf(struct ieee80211_hw *hw, u64 tsf) | |||
3405 | 3458 | ||
3406 | static void b43_put_phy_into_reset(struct b43_wldev *dev) | 3459 | static void b43_put_phy_into_reset(struct b43_wldev *dev) |
3407 | { | 3460 | { |
3408 | struct ssb_device *sdev = dev->dev; | 3461 | struct ssb_device *sdev = dev->sdev; |
3409 | u32 tmslow; | 3462 | u32 tmslow; |
3410 | 3463 | ||
3411 | tmslow = ssb_read32(sdev, SSB_TMSLOW); | 3464 | tmslow = ssb_read32(sdev, SSB_TMSLOW); |
@@ -3754,17 +3807,17 @@ static int b43_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, | |||
3754 | } | 3807 | } |
3755 | 3808 | ||
3756 | err = -EINVAL; | 3809 | err = -EINVAL; |
3757 | switch (key->alg) { | 3810 | switch (key->cipher) { |
3758 | case ALG_WEP: | 3811 | case WLAN_CIPHER_SUITE_WEP40: |
3759 | if (key->keylen == WLAN_KEY_LEN_WEP40) | 3812 | algorithm = B43_SEC_ALGO_WEP40; |
3760 | algorithm = B43_SEC_ALGO_WEP40; | 3813 | break; |
3761 | else | 3814 | case WLAN_CIPHER_SUITE_WEP104: |
3762 | algorithm = B43_SEC_ALGO_WEP104; | 3815 | algorithm = B43_SEC_ALGO_WEP104; |
3763 | break; | 3816 | break; |
3764 | case ALG_TKIP: | 3817 | case WLAN_CIPHER_SUITE_TKIP: |
3765 | algorithm = B43_SEC_ALGO_TKIP; | 3818 | algorithm = B43_SEC_ALGO_TKIP; |
3766 | break; | 3819 | break; |
3767 | case ALG_CCMP: | 3820 | case WLAN_CIPHER_SUITE_CCMP: |
3768 | algorithm = B43_SEC_ALGO_AES; | 3821 | algorithm = B43_SEC_ALGO_AES; |
3769 | break; | 3822 | break; |
3770 | default: | 3823 | default: |
@@ -3901,7 +3954,7 @@ redo: | |||
3901 | 3954 | ||
3902 | /* Disable interrupts on the device. */ | 3955 | /* Disable interrupts on the device. */ |
3903 | b43_set_status(dev, B43_STAT_INITIALIZED); | 3956 | b43_set_status(dev, B43_STAT_INITIALIZED); |
3904 | if (dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) { | 3957 | if (dev->sdev->bus->bustype == SSB_BUSTYPE_SDIO) { |
3905 | /* wl->mutex is locked. That is enough. */ | 3958 | /* wl->mutex is locked. That is enough. */ |
3906 | b43_write32(dev, B43_MMIO_GEN_IRQ_MASK, 0); | 3959 | b43_write32(dev, B43_MMIO_GEN_IRQ_MASK, 0); |
3907 | b43_read32(dev, B43_MMIO_GEN_IRQ_MASK); /* Flush */ | 3960 | b43_read32(dev, B43_MMIO_GEN_IRQ_MASK); /* Flush */ |
@@ -3914,11 +3967,11 @@ redo: | |||
3914 | /* Synchronize and free the interrupt handlers. Unlock to avoid deadlocks. */ | 3967 | /* Synchronize and free the interrupt handlers. Unlock to avoid deadlocks. */ |
3915 | orig_dev = dev; | 3968 | orig_dev = dev; |
3916 | mutex_unlock(&wl->mutex); | 3969 | mutex_unlock(&wl->mutex); |
3917 | if (dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) { | 3970 | if (dev->sdev->bus->bustype == SSB_BUSTYPE_SDIO) { |
3918 | b43_sdio_free_irq(dev); | 3971 | b43_sdio_free_irq(dev); |
3919 | } else { | 3972 | } else { |
3920 | synchronize_irq(dev->dev->irq); | 3973 | synchronize_irq(dev->sdev->irq); |
3921 | free_irq(dev->dev->irq, dev); | 3974 | free_irq(dev->sdev->irq, dev); |
3922 | } | 3975 | } |
3923 | mutex_lock(&wl->mutex); | 3976 | mutex_lock(&wl->mutex); |
3924 | dev = wl->current_dev; | 3977 | dev = wl->current_dev; |
@@ -3951,18 +4004,19 @@ static int b43_wireless_core_start(struct b43_wldev *dev) | |||
3951 | B43_WARN_ON(b43_status(dev) != B43_STAT_INITIALIZED); | 4004 | B43_WARN_ON(b43_status(dev) != B43_STAT_INITIALIZED); |
3952 | 4005 | ||
3953 | drain_txstatus_queue(dev); | 4006 | drain_txstatus_queue(dev); |
3954 | if (dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) { | 4007 | if (dev->sdev->bus->bustype == SSB_BUSTYPE_SDIO) { |
3955 | err = b43_sdio_request_irq(dev, b43_sdio_interrupt_handler); | 4008 | err = b43_sdio_request_irq(dev, b43_sdio_interrupt_handler); |
3956 | if (err) { | 4009 | if (err) { |
3957 | b43err(dev->wl, "Cannot request SDIO IRQ\n"); | 4010 | b43err(dev->wl, "Cannot request SDIO IRQ\n"); |
3958 | goto out; | 4011 | goto out; |
3959 | } | 4012 | } |
3960 | } else { | 4013 | } else { |
3961 | err = request_threaded_irq(dev->dev->irq, b43_interrupt_handler, | 4014 | err = request_threaded_irq(dev->sdev->irq, b43_interrupt_handler, |
3962 | b43_interrupt_thread_handler, | 4015 | b43_interrupt_thread_handler, |
3963 | IRQF_SHARED, KBUILD_MODNAME, dev); | 4016 | IRQF_SHARED, KBUILD_MODNAME, dev); |
3964 | if (err) { | 4017 | if (err) { |
3965 | b43err(dev->wl, "Cannot request IRQ-%d\n", dev->dev->irq); | 4018 | b43err(dev->wl, "Cannot request IRQ-%d\n", |
4019 | dev->sdev->irq); | ||
3966 | goto out; | 4020 | goto out; |
3967 | } | 4021 | } |
3968 | } | 4022 | } |
@@ -3975,7 +4029,7 @@ static int b43_wireless_core_start(struct b43_wldev *dev) | |||
3975 | b43_mac_enable(dev); | 4029 | b43_mac_enable(dev); |
3976 | b43_write32(dev, B43_MMIO_GEN_IRQ_MASK, dev->irq_mask); | 4030 | b43_write32(dev, B43_MMIO_GEN_IRQ_MASK, dev->irq_mask); |
3977 | 4031 | ||
3978 | /* Start maintainance work */ | 4032 | /* Start maintenance work */ |
3979 | b43_periodic_tasks_setup(dev); | 4033 | b43_periodic_tasks_setup(dev); |
3980 | 4034 | ||
3981 | b43_leds_init(dev); | 4035 | b43_leds_init(dev); |
@@ -4017,9 +4071,9 @@ static int b43_phy_versioning(struct b43_wldev *dev) | |||
4017 | if (phy_rev > 9) | 4071 | if (phy_rev > 9) |
4018 | unsupported = 1; | 4072 | unsupported = 1; |
4019 | break; | 4073 | break; |
4020 | #ifdef CONFIG_B43_NPHY | 4074 | #ifdef CONFIG_B43_PHY_N |
4021 | case B43_PHYTYPE_N: | 4075 | case B43_PHYTYPE_N: |
4022 | if (phy_rev > 4) | 4076 | if (phy_rev > 9) |
4023 | unsupported = 1; | 4077 | unsupported = 1; |
4024 | break; | 4078 | break; |
4025 | #endif | 4079 | #endif |
@@ -4042,10 +4096,10 @@ static int b43_phy_versioning(struct b43_wldev *dev) | |||
4042 | analog_type, phy_type, phy_rev); | 4096 | analog_type, phy_type, phy_rev); |
4043 | 4097 | ||
4044 | /* Get RADIO versioning */ | 4098 | /* Get RADIO versioning */ |
4045 | if (dev->dev->bus->chip_id == 0x4317) { | 4099 | if (dev->sdev->bus->chip_id == 0x4317) { |
4046 | if (dev->dev->bus->chip_rev == 0) | 4100 | if (dev->sdev->bus->chip_rev == 0) |
4047 | tmp = 0x3205017F; | 4101 | tmp = 0x3205017F; |
4048 | else if (dev->dev->bus->chip_rev == 1) | 4102 | else if (dev->sdev->bus->chip_rev == 1) |
4049 | tmp = 0x4205017F; | 4103 | tmp = 0x4205017F; |
4050 | else | 4104 | else |
4051 | tmp = 0x5205017F; | 4105 | tmp = 0x5205017F; |
@@ -4150,7 +4204,7 @@ static void setup_struct_wldev_for_init(struct b43_wldev *dev) | |||
4150 | 4204 | ||
4151 | static void b43_bluetooth_coext_enable(struct b43_wldev *dev) | 4205 | static void b43_bluetooth_coext_enable(struct b43_wldev *dev) |
4152 | { | 4206 | { |
4153 | struct ssb_sprom *sprom = &dev->dev->bus->sprom; | 4207 | struct ssb_sprom *sprom = &dev->sdev->bus->sprom; |
4154 | u64 hf; | 4208 | u64 hf; |
4155 | 4209 | ||
4156 | if (!modparam_btcoex) | 4210 | if (!modparam_btcoex) |
@@ -4177,33 +4231,18 @@ static void b43_bluetooth_coext_disable(struct b43_wldev *dev) | |||
4177 | 4231 | ||
4178 | static void b43_imcfglo_timeouts_workaround(struct b43_wldev *dev) | 4232 | static void b43_imcfglo_timeouts_workaround(struct b43_wldev *dev) |
4179 | { | 4233 | { |
4180 | #ifdef CONFIG_SSB_DRIVER_PCICORE | 4234 | struct ssb_bus *bus = dev->sdev->bus; |
4181 | struct ssb_bus *bus = dev->dev->bus; | ||
4182 | u32 tmp; | 4235 | u32 tmp; |
4183 | 4236 | ||
4184 | if (bus->pcicore.dev && | 4237 | if ((bus->chip_id == 0x4311 && bus->chip_rev == 2) || |
4185 | bus->pcicore.dev->id.coreid == SSB_DEV_PCI && | 4238 | (bus->chip_id == 0x4312)) { |
4186 | bus->pcicore.dev->id.revision <= 5) { | 4239 | tmp = ssb_read32(dev->sdev, SSB_IMCFGLO); |
4187 | /* IMCFGLO timeouts workaround. */ | 4240 | tmp &= ~SSB_IMCFGLO_REQTO; |
4188 | tmp = ssb_read32(dev->dev, SSB_IMCFGLO); | 4241 | tmp &= ~SSB_IMCFGLO_SERTO; |
4189 | switch (bus->bustype) { | 4242 | tmp |= 0x3; |
4190 | case SSB_BUSTYPE_PCI: | 4243 | ssb_write32(dev->sdev, SSB_IMCFGLO, tmp); |
4191 | case SSB_BUSTYPE_PCMCIA: | 4244 | ssb_commit_settings(bus); |
4192 | tmp &= ~SSB_IMCFGLO_REQTO; | ||
4193 | tmp &= ~SSB_IMCFGLO_SERTO; | ||
4194 | tmp |= 0x32; | ||
4195 | break; | ||
4196 | case SSB_BUSTYPE_SSB: | ||
4197 | tmp &= ~SSB_IMCFGLO_REQTO; | ||
4198 | tmp &= ~SSB_IMCFGLO_SERTO; | ||
4199 | tmp |= 0x53; | ||
4200 | break; | ||
4201 | default: | ||
4202 | break; | ||
4203 | } | ||
4204 | ssb_write32(dev->dev, SSB_IMCFGLO, tmp); | ||
4205 | } | 4245 | } |
4206 | #endif /* CONFIG_SSB_DRIVER_PCICORE */ | ||
4207 | } | 4246 | } |
4208 | 4247 | ||
4209 | static void b43_set_synth_pu_delay(struct b43_wldev *dev, bool idle) | 4248 | static void b43_set_synth_pu_delay(struct b43_wldev *dev, bool idle) |
@@ -4250,6 +4289,10 @@ static void b43_wireless_core_exit(struct b43_wldev *dev) | |||
4250 | B43_WARN_ON(dev && b43_status(dev) > B43_STAT_INITIALIZED); | 4289 | B43_WARN_ON(dev && b43_status(dev) > B43_STAT_INITIALIZED); |
4251 | if (!dev || b43_status(dev) != B43_STAT_INITIALIZED) | 4290 | if (!dev || b43_status(dev) != B43_STAT_INITIALIZED) |
4252 | return; | 4291 | return; |
4292 | |||
4293 | /* Unregister HW RNG driver */ | ||
4294 | b43_rng_exit(dev->wl); | ||
4295 | |||
4253 | b43_set_status(dev, B43_STAT_UNINIT); | 4296 | b43_set_status(dev, B43_STAT_UNINIT); |
4254 | 4297 | ||
4255 | /* Stop the microcode PSM. */ | 4298 | /* Stop the microcode PSM. */ |
@@ -4267,14 +4310,14 @@ static void b43_wireless_core_exit(struct b43_wldev *dev) | |||
4267 | dev->wl->current_beacon = NULL; | 4310 | dev->wl->current_beacon = NULL; |
4268 | } | 4311 | } |
4269 | 4312 | ||
4270 | ssb_device_disable(dev->dev, 0); | 4313 | ssb_device_disable(dev->sdev, 0); |
4271 | ssb_bus_may_powerdown(dev->dev->bus); | 4314 | ssb_bus_may_powerdown(dev->sdev->bus); |
4272 | } | 4315 | } |
4273 | 4316 | ||
4274 | /* Initialize a wireless core */ | 4317 | /* Initialize a wireless core */ |
4275 | static int b43_wireless_core_init(struct b43_wldev *dev) | 4318 | static int b43_wireless_core_init(struct b43_wldev *dev) |
4276 | { | 4319 | { |
4277 | struct ssb_bus *bus = dev->dev->bus; | 4320 | struct ssb_bus *bus = dev->sdev->bus; |
4278 | struct ssb_sprom *sprom = &bus->sprom; | 4321 | struct ssb_sprom *sprom = &bus->sprom; |
4279 | struct b43_phy *phy = &dev->phy; | 4322 | struct b43_phy *phy = &dev->phy; |
4280 | int err; | 4323 | int err; |
@@ -4286,7 +4329,7 @@ static int b43_wireless_core_init(struct b43_wldev *dev) | |||
4286 | err = ssb_bus_powerup(bus, 0); | 4329 | err = ssb_bus_powerup(bus, 0); |
4287 | if (err) | 4330 | if (err) |
4288 | goto out; | 4331 | goto out; |
4289 | if (!ssb_device_is_enabled(dev->dev)) { | 4332 | if (!ssb_device_is_enabled(dev->sdev)) { |
4290 | tmp = phy->gmode ? B43_TMSLOW_GMODE : 0; | 4333 | tmp = phy->gmode ? B43_TMSLOW_GMODE : 0; |
4291 | b43_wireless_core_reset(dev, tmp); | 4334 | b43_wireless_core_reset(dev, tmp); |
4292 | } | 4335 | } |
@@ -4296,7 +4339,7 @@ static int b43_wireless_core_init(struct b43_wldev *dev) | |||
4296 | phy->ops->prepare_structs(dev); | 4339 | phy->ops->prepare_structs(dev); |
4297 | 4340 | ||
4298 | /* Enable IRQ routing to this device. */ | 4341 | /* Enable IRQ routing to this device. */ |
4299 | ssb_pcicore_dev_irqvecs_enable(&bus->pcicore, dev->dev); | 4342 | ssb_pcicore_dev_irqvecs_enable(&bus->pcicore, dev->sdev); |
4300 | 4343 | ||
4301 | b43_imcfglo_timeouts_workaround(dev); | 4344 | b43_imcfglo_timeouts_workaround(dev); |
4302 | b43_bluetooth_coext_disable(dev); | 4345 | b43_bluetooth_coext_disable(dev); |
@@ -4309,7 +4352,7 @@ static int b43_wireless_core_init(struct b43_wldev *dev) | |||
4309 | if (err) | 4352 | if (err) |
4310 | goto err_busdown; | 4353 | goto err_busdown; |
4311 | b43_shm_write16(dev, B43_SHM_SHARED, | 4354 | b43_shm_write16(dev, B43_SHM_SHARED, |
4312 | B43_SHM_SH_WLCOREREV, dev->dev->id.revision); | 4355 | B43_SHM_SH_WLCOREREV, dev->sdev->id.revision); |
4313 | hf = b43_hf_read(dev); | 4356 | hf = b43_hf_read(dev); |
4314 | if (phy->type == B43_PHYTYPE_G) { | 4357 | if (phy->type == B43_PHYTYPE_G) { |
4315 | hf |= B43_HF_SYMW; | 4358 | hf |= B43_HF_SYMW; |
@@ -4356,8 +4399,8 @@ static int b43_wireless_core_init(struct b43_wldev *dev) | |||
4356 | /* Maximum Contention Window */ | 4399 | /* Maximum Contention Window */ |
4357 | b43_shm_write16(dev, B43_SHM_SCRATCH, B43_SHM_SC_MAXCONT, 0x3FF); | 4400 | b43_shm_write16(dev, B43_SHM_SCRATCH, B43_SHM_SC_MAXCONT, 0x3FF); |
4358 | 4401 | ||
4359 | if ((dev->dev->bus->bustype == SSB_BUSTYPE_PCMCIA) || | 4402 | if ((dev->sdev->bus->bustype == SSB_BUSTYPE_PCMCIA) || |
4360 | (dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) || | 4403 | (dev->sdev->bus->bustype == SSB_BUSTYPE_SDIO) || |
4361 | dev->use_pio) { | 4404 | dev->use_pio) { |
4362 | dev->__using_pio_transfers = 1; | 4405 | dev->__using_pio_transfers = 1; |
4363 | err = b43_pio_init(dev); | 4406 | err = b43_pio_init(dev); |
@@ -4379,6 +4422,9 @@ static int b43_wireless_core_init(struct b43_wldev *dev) | |||
4379 | 4422 | ||
4380 | b43_set_status(dev, B43_STAT_INITIALIZED); | 4423 | b43_set_status(dev, B43_STAT_INITIALIZED); |
4381 | 4424 | ||
4425 | /* Register HW RNG driver */ | ||
4426 | b43_rng_init(dev->wl); | ||
4427 | |||
4382 | out: | 4428 | out: |
4383 | return err; | 4429 | return err; |
4384 | 4430 | ||
@@ -4691,7 +4737,7 @@ static void b43_wireless_core_detach(struct b43_wldev *dev) | |||
4691 | static int b43_wireless_core_attach(struct b43_wldev *dev) | 4737 | static int b43_wireless_core_attach(struct b43_wldev *dev) |
4692 | { | 4738 | { |
4693 | struct b43_wl *wl = dev->wl; | 4739 | struct b43_wl *wl = dev->wl; |
4694 | struct ssb_bus *bus = dev->dev->bus; | 4740 | struct ssb_bus *bus = dev->sdev->bus; |
4695 | struct pci_dev *pdev = (bus->bustype == SSB_BUSTYPE_PCI) ? bus->host_pci : NULL; | 4741 | struct pci_dev *pdev = (bus->bustype == SSB_BUSTYPE_PCI) ? bus->host_pci : NULL; |
4696 | int err; | 4742 | int err; |
4697 | bool have_2ghz_phy = 0, have_5ghz_phy = 0; | 4743 | bool have_2ghz_phy = 0, have_5ghz_phy = 0; |
@@ -4710,10 +4756,10 @@ static int b43_wireless_core_attach(struct b43_wldev *dev) | |||
4710 | goto out; | 4756 | goto out; |
4711 | } | 4757 | } |
4712 | /* Get the PHY type. */ | 4758 | /* Get the PHY type. */ |
4713 | if (dev->dev->id.revision >= 5) { | 4759 | if (dev->sdev->id.revision >= 5) { |
4714 | u32 tmshigh; | 4760 | u32 tmshigh; |
4715 | 4761 | ||
4716 | tmshigh = ssb_read32(dev->dev, SSB_TMSHIGH); | 4762 | tmshigh = ssb_read32(dev->sdev, SSB_TMSHIGH); |
4717 | have_2ghz_phy = !!(tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY); | 4763 | have_2ghz_phy = !!(tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY); |
4718 | have_5ghz_phy = !!(tmshigh & B43_TMSHIGH_HAVE_5GHZ_PHY); | 4764 | have_5ghz_phy = !!(tmshigh & B43_TMSHIGH_HAVE_5GHZ_PHY); |
4719 | } else | 4765 | } else |
@@ -4786,7 +4832,7 @@ static int b43_wireless_core_attach(struct b43_wldev *dev) | |||
4786 | INIT_WORK(&dev->restart_work, b43_chip_reset); | 4832 | INIT_WORK(&dev->restart_work, b43_chip_reset); |
4787 | 4833 | ||
4788 | dev->phy.ops->switch_analog(dev, 0); | 4834 | dev->phy.ops->switch_analog(dev, 0); |
4789 | ssb_device_disable(dev->dev, 0); | 4835 | ssb_device_disable(dev->sdev, 0); |
4790 | ssb_bus_may_powerdown(bus); | 4836 | ssb_bus_may_powerdown(bus); |
4791 | 4837 | ||
4792 | out: | 4838 | out: |
@@ -4820,31 +4866,14 @@ static void b43_one_core_detach(struct ssb_device *dev) | |||
4820 | static int b43_one_core_attach(struct ssb_device *dev, struct b43_wl *wl) | 4866 | static int b43_one_core_attach(struct ssb_device *dev, struct b43_wl *wl) |
4821 | { | 4867 | { |
4822 | struct b43_wldev *wldev; | 4868 | struct b43_wldev *wldev; |
4823 | struct pci_dev *pdev; | ||
4824 | int err = -ENOMEM; | 4869 | int err = -ENOMEM; |
4825 | 4870 | ||
4826 | if (!list_empty(&wl->devlist)) { | ||
4827 | /* We are not the first core on this chip. */ | ||
4828 | pdev = (dev->bus->bustype == SSB_BUSTYPE_PCI) ? dev->bus->host_pci : NULL; | ||
4829 | /* Only special chips support more than one wireless | ||
4830 | * core, although some of the other chips have more than | ||
4831 | * one wireless core as well. Check for this and | ||
4832 | * bail out early. | ||
4833 | */ | ||
4834 | if (!pdev || | ||
4835 | ((pdev->device != 0x4321) && | ||
4836 | (pdev->device != 0x4313) && (pdev->device != 0x431A))) { | ||
4837 | b43dbg(wl, "Ignoring unconnected 802.11 core\n"); | ||
4838 | return -ENODEV; | ||
4839 | } | ||
4840 | } | ||
4841 | |||
4842 | wldev = kzalloc(sizeof(*wldev), GFP_KERNEL); | 4871 | wldev = kzalloc(sizeof(*wldev), GFP_KERNEL); |
4843 | if (!wldev) | 4872 | if (!wldev) |
4844 | goto out; | 4873 | goto out; |
4845 | 4874 | ||
4846 | wldev->use_pio = b43_modparam_pio; | 4875 | wldev->use_pio = b43_modparam_pio; |
4847 | wldev->dev = dev; | 4876 | wldev->sdev = dev; |
4848 | wldev->wl = wl; | 4877 | wldev->wl = wl; |
4849 | b43_set_status(wldev, B43_STAT_UNINIT); | 4878 | b43_set_status(wldev, B43_STAT_UNINIT); |
4850 | wldev->bad_frames_preempt = modparam_bad_frames_preempt; | 4879 | wldev->bad_frames_preempt = modparam_bad_frames_preempt; |
@@ -4905,19 +4934,16 @@ static void b43_wireless_exit(struct ssb_device *dev, struct b43_wl *wl) | |||
4905 | ieee80211_free_hw(hw); | 4934 | ieee80211_free_hw(hw); |
4906 | } | 4935 | } |
4907 | 4936 | ||
4908 | static int b43_wireless_init(struct ssb_device *dev) | 4937 | static struct b43_wl *b43_wireless_init(struct ssb_device *dev) |
4909 | { | 4938 | { |
4910 | struct ssb_sprom *sprom = &dev->bus->sprom; | 4939 | struct ssb_sprom *sprom = &dev->bus->sprom; |
4911 | struct ieee80211_hw *hw; | 4940 | struct ieee80211_hw *hw; |
4912 | struct b43_wl *wl; | 4941 | struct b43_wl *wl; |
4913 | int err = -ENOMEM; | ||
4914 | |||
4915 | b43_sprom_fixup(dev->bus); | ||
4916 | 4942 | ||
4917 | hw = ieee80211_alloc_hw(sizeof(*wl), &b43_hw_ops); | 4943 | hw = ieee80211_alloc_hw(sizeof(*wl), &b43_hw_ops); |
4918 | if (!hw) { | 4944 | if (!hw) { |
4919 | b43err(NULL, "Could not allocate ieee80211 device\n"); | 4945 | b43err(NULL, "Could not allocate ieee80211 device\n"); |
4920 | goto out; | 4946 | return ERR_PTR(-ENOMEM); |
4921 | } | 4947 | } |
4922 | wl = hw_to_b43_wl(hw); | 4948 | wl = hw_to_b43_wl(hw); |
4923 | 4949 | ||
@@ -4951,15 +4977,12 @@ static int b43_wireless_init(struct ssb_device *dev) | |||
4951 | INIT_WORK(&wl->tx_work, b43_tx_work); | 4977 | INIT_WORK(&wl->tx_work, b43_tx_work); |
4952 | skb_queue_head_init(&wl->tx_queue); | 4978 | skb_queue_head_init(&wl->tx_queue); |
4953 | 4979 | ||
4954 | ssb_set_devtypedata(dev, wl); | ||
4955 | b43info(wl, "Broadcom %04X WLAN found (core revision %u)\n", | 4980 | b43info(wl, "Broadcom %04X WLAN found (core revision %u)\n", |
4956 | dev->bus->chip_id, dev->id.revision); | 4981 | dev->bus->chip_id, dev->id.revision); |
4957 | err = 0; | 4982 | return wl; |
4958 | out: | ||
4959 | return err; | ||
4960 | } | 4983 | } |
4961 | 4984 | ||
4962 | static int b43_probe(struct ssb_device *dev, const struct ssb_device_id *id) | 4985 | static int b43_ssb_probe(struct ssb_device *dev, const struct ssb_device_id *id) |
4963 | { | 4986 | { |
4964 | struct b43_wl *wl; | 4987 | struct b43_wl *wl; |
4965 | int err; | 4988 | int err; |
@@ -4969,11 +4992,14 @@ static int b43_probe(struct ssb_device *dev, const struct ssb_device_id *id) | |||
4969 | if (!wl) { | 4992 | if (!wl) { |
4970 | /* Probing the first core. Must setup common struct b43_wl */ | 4993 | /* Probing the first core. Must setup common struct b43_wl */ |
4971 | first = 1; | 4994 | first = 1; |
4972 | err = b43_wireless_init(dev); | 4995 | b43_sprom_fixup(dev->bus); |
4973 | if (err) | 4996 | wl = b43_wireless_init(dev); |
4997 | if (IS_ERR(wl)) { | ||
4998 | err = PTR_ERR(wl); | ||
4974 | goto out; | 4999 | goto out; |
4975 | wl = ssb_get_devtypedata(dev); | 5000 | } |
4976 | B43_WARN_ON(!wl); | 5001 | ssb_set_devtypedata(dev, wl); |
5002 | B43_WARN_ON(ssb_get_devtypedata(dev) != wl); | ||
4977 | } | 5003 | } |
4978 | err = b43_one_core_attach(dev, wl); | 5004 | err = b43_one_core_attach(dev, wl); |
4979 | if (err) | 5005 | if (err) |
@@ -4984,7 +5010,6 @@ static int b43_probe(struct ssb_device *dev, const struct ssb_device_id *id) | |||
4984 | if (err) | 5010 | if (err) |
4985 | goto err_one_core_detach; | 5011 | goto err_one_core_detach; |
4986 | b43_leds_register(wl->current_dev); | 5012 | b43_leds_register(wl->current_dev); |
4987 | b43_rng_init(wl); | ||
4988 | } | 5013 | } |
4989 | 5014 | ||
4990 | out: | 5015 | out: |
@@ -4998,7 +5023,7 @@ static int b43_probe(struct ssb_device *dev, const struct ssb_device_id *id) | |||
4998 | return err; | 5023 | return err; |
4999 | } | 5024 | } |
5000 | 5025 | ||
5001 | static void b43_remove(struct ssb_device *dev) | 5026 | static void b43_ssb_remove(struct ssb_device *dev) |
5002 | { | 5027 | { |
5003 | struct b43_wl *wl = ssb_get_devtypedata(dev); | 5028 | struct b43_wl *wl = ssb_get_devtypedata(dev); |
5004 | struct b43_wldev *wldev = ssb_get_drvdata(dev); | 5029 | struct b43_wldev *wldev = ssb_get_drvdata(dev); |
@@ -5020,7 +5045,6 @@ static void b43_remove(struct ssb_device *dev) | |||
5020 | b43_one_core_detach(dev); | 5045 | b43_one_core_detach(dev); |
5021 | 5046 | ||
5022 | if (list_empty(&wl->devlist)) { | 5047 | if (list_empty(&wl->devlist)) { |
5023 | b43_rng_exit(wl); | ||
5024 | b43_leds_unregister(wl); | 5048 | b43_leds_unregister(wl); |
5025 | /* Last core on the chip unregistered. | 5049 | /* Last core on the chip unregistered. |
5026 | * We can destroy common struct b43_wl. | 5050 | * We can destroy common struct b43_wl. |
@@ -5042,8 +5066,8 @@ void b43_controller_restart(struct b43_wldev *dev, const char *reason) | |||
5042 | static struct ssb_driver b43_ssb_driver = { | 5066 | static struct ssb_driver b43_ssb_driver = { |
5043 | .name = KBUILD_MODNAME, | 5067 | .name = KBUILD_MODNAME, |
5044 | .id_table = b43_ssb_tbl, | 5068 | .id_table = b43_ssb_tbl, |
5045 | .probe = b43_probe, | 5069 | .probe = b43_ssb_probe, |
5046 | .remove = b43_remove, | 5070 | .remove = b43_ssb_remove, |
5047 | }; | 5071 | }; |
5048 | 5072 | ||
5049 | static void b43_print_driverinfo(void) | 5073 | static void b43_print_driverinfo(void) |
@@ -5057,7 +5081,7 @@ static void b43_print_driverinfo(void) | |||
5057 | #ifdef CONFIG_B43_PCMCIA | 5081 | #ifdef CONFIG_B43_PCMCIA |
5058 | feat_pcmcia = "M"; | 5082 | feat_pcmcia = "M"; |
5059 | #endif | 5083 | #endif |
5060 | #ifdef CONFIG_B43_NPHY | 5084 | #ifdef CONFIG_B43_PHY_N |
5061 | feat_nphy = "N"; | 5085 | feat_nphy = "N"; |
5062 | #endif | 5086 | #endif |
5063 | #ifdef CONFIG_B43_LEDS | 5087 | #ifdef CONFIG_B43_LEDS |
diff --git a/drivers/net/wireless/b43/main.h b/drivers/net/wireless/b43/main.h index 40db03678d9f..a0d327f13183 100644 --- a/drivers/net/wireless/b43/main.h +++ b/drivers/net/wireless/b43/main.h | |||
@@ -133,6 +133,7 @@ void b43_power_saving_ctl_bits(struct b43_wldev *dev, unsigned int ps_flags); | |||
133 | 133 | ||
134 | void b43_mac_suspend(struct b43_wldev *dev); | 134 | void b43_mac_suspend(struct b43_wldev *dev); |
135 | void b43_mac_enable(struct b43_wldev *dev); | 135 | void b43_mac_enable(struct b43_wldev *dev); |
136 | void b43_mac_phy_clock_set(struct b43_wldev *dev, bool on); | ||
136 | 137 | ||
137 | 138 | ||
138 | struct b43_request_fw_context; | 139 | struct b43_request_fw_context; |
diff --git a/drivers/net/wireless/b43/pcmcia.c b/drivers/net/wireless/b43/pcmcia.c index dfbc41d431ff..2c8461dcf1b0 100644 --- a/drivers/net/wireless/b43/pcmcia.c +++ b/drivers/net/wireless/b43/pcmcia.c | |||
@@ -26,14 +26,13 @@ | |||
26 | #include <linux/ssb/ssb.h> | 26 | #include <linux/ssb/ssb.h> |
27 | #include <linux/slab.h> | 27 | #include <linux/slab.h> |
28 | 28 | ||
29 | #include <pcmcia/cs.h> | ||
30 | #include <pcmcia/cistpl.h> | 29 | #include <pcmcia/cistpl.h> |
31 | #include <pcmcia/ciscode.h> | 30 | #include <pcmcia/ciscode.h> |
32 | #include <pcmcia/ds.h> | 31 | #include <pcmcia/ds.h> |
33 | #include <pcmcia/cisreg.h> | 32 | #include <pcmcia/cisreg.h> |
34 | 33 | ||
35 | 34 | ||
36 | static /*const */ struct pcmcia_device_id b43_pcmcia_tbl[] = { | 35 | static const struct pcmcia_device_id b43_pcmcia_tbl[] = { |
37 | PCMCIA_DEVICE_MANF_CARD(0x2D0, 0x448), | 36 | PCMCIA_DEVICE_MANF_CARD(0x2D0, 0x448), |
38 | PCMCIA_DEVICE_MANF_CARD(0x2D0, 0x476), | 37 | PCMCIA_DEVICE_MANF_CARD(0x2D0, 0x476), |
39 | PCMCIA_DEVICE_NULL, | 38 | PCMCIA_DEVICE_NULL, |
@@ -63,7 +62,6 @@ static int b43_pcmcia_resume(struct pcmcia_device *dev) | |||
63 | static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev) | 62 | static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev) |
64 | { | 63 | { |
65 | struct ssb_bus *ssb; | 64 | struct ssb_bus *ssb; |
66 | win_req_t win; | ||
67 | int err = -ENOMEM; | 65 | int err = -ENOMEM; |
68 | int res = 0; | 66 | int res = 0; |
69 | 67 | ||
@@ -73,30 +71,28 @@ static int __devinit b43_pcmcia_probe(struct pcmcia_device *dev) | |||
73 | 71 | ||
74 | err = -ENODEV; | 72 | err = -ENODEV; |
75 | 73 | ||
76 | dev->conf.Attributes = CONF_ENABLE_IRQ; | 74 | dev->config_flags |= CONF_ENABLE_IRQ; |
77 | dev->conf.IntType = INT_MEMORY_AND_IO; | ||
78 | 75 | ||
79 | win.Attributes = WIN_ENABLE | WIN_DATA_WIDTH_16 | | 76 | dev->resource[2]->flags |= WIN_ENABLE | WIN_DATA_WIDTH_16 | |
80 | WIN_USE_WAIT; | 77 | WIN_USE_WAIT; |
81 | win.Base = 0; | 78 | dev->resource[2]->start = 0; |
82 | win.Size = SSB_CORE_SIZE; | 79 | dev->resource[2]->end = SSB_CORE_SIZE; |
83 | win.AccessSpeed = 250; | 80 | res = pcmcia_request_window(dev, dev->resource[2], 250); |
84 | res = pcmcia_request_window(dev, &win, &dev->win); | ||
85 | if (res != 0) | 81 | if (res != 0) |
86 | goto err_kfree_ssb; | 82 | goto err_kfree_ssb; |
87 | 83 | ||
88 | res = pcmcia_map_mem_page(dev, dev->win, 0); | 84 | res = pcmcia_map_mem_page(dev, dev->resource[2], 0); |
89 | if (res != 0) | 85 | if (res != 0) |
90 | goto err_disable; | 86 | goto err_disable; |
91 | 87 | ||
92 | if (!dev->irq) | 88 | if (!dev->irq) |
93 | goto err_disable; | 89 | goto err_disable; |
94 | 90 | ||
95 | res = pcmcia_request_configuration(dev, &dev->conf); | 91 | res = pcmcia_enable_device(dev); |
96 | if (res != 0) | 92 | if (res != 0) |
97 | goto err_disable; | 93 | goto err_disable; |
98 | 94 | ||
99 | err = ssb_bus_pcmciabus_register(ssb, dev, win.Base); | 95 | err = ssb_bus_pcmciabus_register(ssb, dev, dev->resource[2]->start); |
100 | if (err) | 96 | if (err) |
101 | goto err_disable; | 97 | goto err_disable; |
102 | dev->priv = ssb; | 98 | dev->priv = ssb; |
@@ -125,9 +121,7 @@ static void __devexit b43_pcmcia_remove(struct pcmcia_device *dev) | |||
125 | 121 | ||
126 | static struct pcmcia_driver b43_pcmcia_driver = { | 122 | static struct pcmcia_driver b43_pcmcia_driver = { |
127 | .owner = THIS_MODULE, | 123 | .owner = THIS_MODULE, |
128 | .drv = { | 124 | .name = "b43-pcmcia", |
129 | .name = "b43-pcmcia", | ||
130 | }, | ||
131 | .id_table = b43_pcmcia_tbl, | 125 | .id_table = b43_pcmcia_tbl, |
132 | .probe = b43_pcmcia_probe, | 126 | .probe = b43_pcmcia_probe, |
133 | .remove = __devexit_p(b43_pcmcia_remove), | 127 | .remove = __devexit_p(b43_pcmcia_remove), |
diff --git a/drivers/net/wireless/b43/phy_a.c b/drivers/net/wireless/b43/phy_a.c index b6428ec16dd6..b01c8ced57c3 100644 --- a/drivers/net/wireless/b43/phy_a.c +++ b/drivers/net/wireless/b43/phy_a.c | |||
@@ -265,7 +265,7 @@ static void hardware_pctl_init_aphy(struct b43_wldev *dev) | |||
265 | 265 | ||
266 | void b43_phy_inita(struct b43_wldev *dev) | 266 | void b43_phy_inita(struct b43_wldev *dev) |
267 | { | 267 | { |
268 | struct ssb_bus *bus = dev->dev->bus; | 268 | struct ssb_bus *bus = dev->sdev->bus; |
269 | struct b43_phy *phy = &dev->phy; | 269 | struct b43_phy *phy = &dev->phy; |
270 | 270 | ||
271 | /* This lowlevel A-PHY init is also called from G-PHY init. | 271 | /* This lowlevel A-PHY init is also called from G-PHY init. |
@@ -311,7 +311,7 @@ void b43_phy_inita(struct b43_wldev *dev) | |||
311 | } | 311 | } |
312 | 312 | ||
313 | if ((phy->type == B43_PHYTYPE_G) && | 313 | if ((phy->type == B43_PHYTYPE_G) && |
314 | (dev->dev->bus->sprom.boardflags_lo & B43_BFL_PACTRL)) { | 314 | (dev->sdev->bus->sprom.boardflags_lo & B43_BFL_PACTRL)) { |
315 | b43_phy_maskset(dev, B43_PHY_OFDM(0x6E), 0xE000, 0x3CF); | 315 | b43_phy_maskset(dev, B43_PHY_OFDM(0x6E), 0xE000, 0x3CF); |
316 | } | 316 | } |
317 | } | 317 | } |
@@ -323,17 +323,17 @@ static int b43_aphy_init_tssi2dbm_table(struct b43_wldev *dev) | |||
323 | struct b43_phy_a *aphy = phy->a; | 323 | struct b43_phy_a *aphy = phy->a; |
324 | s16 pab0, pab1, pab2; | 324 | s16 pab0, pab1, pab2; |
325 | 325 | ||
326 | pab0 = (s16) (dev->dev->bus->sprom.pa1b0); | 326 | pab0 = (s16) (dev->sdev->bus->sprom.pa1b0); |
327 | pab1 = (s16) (dev->dev->bus->sprom.pa1b1); | 327 | pab1 = (s16) (dev->sdev->bus->sprom.pa1b1); |
328 | pab2 = (s16) (dev->dev->bus->sprom.pa1b2); | 328 | pab2 = (s16) (dev->sdev->bus->sprom.pa1b2); |
329 | 329 | ||
330 | if (pab0 != 0 && pab1 != 0 && pab2 != 0 && | 330 | if (pab0 != 0 && pab1 != 0 && pab2 != 0 && |
331 | pab0 != -1 && pab1 != -1 && pab2 != -1) { | 331 | pab0 != -1 && pab1 != -1 && pab2 != -1) { |
332 | /* The pabX values are set in SPROM. Use them. */ | 332 | /* The pabX values are set in SPROM. Use them. */ |
333 | if ((s8) dev->dev->bus->sprom.itssi_a != 0 && | 333 | if ((s8) dev->sdev->bus->sprom.itssi_a != 0 && |
334 | (s8) dev->dev->bus->sprom.itssi_a != -1) | 334 | (s8) dev->sdev->bus->sprom.itssi_a != -1) |
335 | aphy->tgt_idle_tssi = | 335 | aphy->tgt_idle_tssi = |
336 | (s8) (dev->dev->bus->sprom.itssi_a); | 336 | (s8) (dev->sdev->bus->sprom.itssi_a); |
337 | else | 337 | else |
338 | aphy->tgt_idle_tssi = 62; | 338 | aphy->tgt_idle_tssi = 62; |
339 | aphy->tssi2dbm = b43_generate_dyn_tssi2dbm_tab(dev, pab0, | 339 | aphy->tssi2dbm = b43_generate_dyn_tssi2dbm_tab(dev, pab0, |
diff --git a/drivers/net/wireless/b43/phy_common.c b/drivers/net/wireless/b43/phy_common.c index 8f7d7eff2d80..e46b2f4f0920 100644 --- a/drivers/net/wireless/b43/phy_common.c +++ b/drivers/net/wireless/b43/phy_common.c | |||
@@ -50,7 +50,7 @@ int b43_phy_allocate(struct b43_wldev *dev) | |||
50 | phy->ops = &b43_phyops_g; | 50 | phy->ops = &b43_phyops_g; |
51 | break; | 51 | break; |
52 | case B43_PHYTYPE_N: | 52 | case B43_PHYTYPE_N: |
53 | #ifdef CONFIG_B43_NPHY | 53 | #ifdef CONFIG_B43_PHY_N |
54 | phy->ops = &b43_phyops_n; | 54 | phy->ops = &b43_phyops_n; |
55 | #endif | 55 | #endif |
56 | break; | 56 | break; |
@@ -168,7 +168,7 @@ void b43_phy_lock(struct b43_wldev *dev) | |||
168 | B43_WARN_ON(dev->phy.phy_locked); | 168 | B43_WARN_ON(dev->phy.phy_locked); |
169 | dev->phy.phy_locked = 1; | 169 | dev->phy.phy_locked = 1; |
170 | #endif | 170 | #endif |
171 | B43_WARN_ON(dev->dev->id.revision < 3); | 171 | B43_WARN_ON(dev->sdev->id.revision < 3); |
172 | 172 | ||
173 | if (!b43_is_mode(dev->wl, NL80211_IFTYPE_AP)) | 173 | if (!b43_is_mode(dev->wl, NL80211_IFTYPE_AP)) |
174 | b43_power_saving_ctl_bits(dev, B43_PS_AWAKE); | 174 | b43_power_saving_ctl_bits(dev, B43_PS_AWAKE); |
@@ -180,7 +180,7 @@ void b43_phy_unlock(struct b43_wldev *dev) | |||
180 | B43_WARN_ON(!dev->phy.phy_locked); | 180 | B43_WARN_ON(!dev->phy.phy_locked); |
181 | dev->phy.phy_locked = 0; | 181 | dev->phy.phy_locked = 0; |
182 | #endif | 182 | #endif |
183 | B43_WARN_ON(dev->dev->id.revision < 3); | 183 | B43_WARN_ON(dev->sdev->id.revision < 3); |
184 | 184 | ||
185 | if (!b43_is_mode(dev->wl, NL80211_IFTYPE_AP)) | 185 | if (!b43_is_mode(dev->wl, NL80211_IFTYPE_AP)) |
186 | b43_power_saving_ctl_bits(dev, 0); | 186 | b43_power_saving_ctl_bits(dev, 0); |
@@ -231,6 +231,7 @@ void b43_radio_maskset(struct b43_wldev *dev, u16 offset, u16 mask, u16 set) | |||
231 | u16 b43_phy_read(struct b43_wldev *dev, u16 reg) | 231 | u16 b43_phy_read(struct b43_wldev *dev, u16 reg) |
232 | { | 232 | { |
233 | assert_mac_suspended(dev); | 233 | assert_mac_suspended(dev); |
234 | dev->phy.writes_counter = 0; | ||
234 | return dev->phy.ops->phy_read(dev, reg); | 235 | return dev->phy.ops->phy_read(dev, reg); |
235 | } | 236 | } |
236 | 237 | ||
@@ -238,6 +239,10 @@ void b43_phy_write(struct b43_wldev *dev, u16 reg, u16 value) | |||
238 | { | 239 | { |
239 | assert_mac_suspended(dev); | 240 | assert_mac_suspended(dev); |
240 | dev->phy.ops->phy_write(dev, reg, value); | 241 | dev->phy.ops->phy_write(dev, reg, value); |
242 | if (++dev->phy.writes_counter == B43_MAX_WRITES_IN_ROW) { | ||
243 | b43_read16(dev, B43_MMIO_PHY_VER); | ||
244 | dev->phy.writes_counter = 0; | ||
245 | } | ||
241 | } | 246 | } |
242 | 247 | ||
243 | void b43_phy_copy(struct b43_wldev *dev, u16 destreg, u16 srcreg) | 248 | void b43_phy_copy(struct b43_wldev *dev, u16 destreg, u16 srcreg) |
@@ -294,8 +299,10 @@ int b43_switch_channel(struct b43_wldev *dev, unsigned int new_channel) | |||
294 | */ | 299 | */ |
295 | channelcookie = new_channel; | 300 | channelcookie = new_channel; |
296 | if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) | 301 | if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) |
297 | channelcookie |= 0x100; | 302 | channelcookie |= B43_SHM_SH_CHAN_5GHZ; |
298 | //FIXME set 40Mhz flag if required | 303 | /* FIXME: set 40Mhz flag if required */ |
304 | if (0) | ||
305 | channelcookie |= B43_SHM_SH_CHAN_40MHZ; | ||
299 | savedcookie = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_CHAN); | 306 | savedcookie = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_CHAN); |
300 | b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_CHAN, channelcookie); | 307 | b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_CHAN, channelcookie); |
301 | 308 | ||
@@ -361,8 +368,8 @@ void b43_phy_txpower_check(struct b43_wldev *dev, unsigned int flags) | |||
361 | /* The next check will be needed in two seconds, or later. */ | 368 | /* The next check will be needed in two seconds, or later. */ |
362 | phy->next_txpwr_check_time = round_jiffies(now + (HZ * 2)); | 369 | phy->next_txpwr_check_time = round_jiffies(now + (HZ * 2)); |
363 | 370 | ||
364 | if ((dev->dev->bus->boardinfo.vendor == SSB_BOARDVENDOR_BCM) && | 371 | if ((dev->sdev->bus->boardinfo.vendor == SSB_BOARDVENDOR_BCM) && |
365 | (dev->dev->bus->boardinfo.type == SSB_BOARD_BU4306)) | 372 | (dev->sdev->bus->boardinfo.type == SSB_BOARD_BU4306)) |
366 | return; /* No software txpower adjustment needed */ | 373 | return; /* No software txpower adjustment needed */ |
367 | 374 | ||
368 | result = phy->ops->recalc_txpower(dev, !!(flags & B43_TXPWR_IGNORE_TSSI)); | 375 | result = phy->ops->recalc_txpower(dev, !!(flags & B43_TXPWR_IGNORE_TSSI)); |
@@ -422,12 +429,21 @@ void b43_phyop_switch_analog_generic(struct b43_wldev *dev, bool on) | |||
422 | b43_write16(dev, B43_MMIO_PHY0, on ? 0 : 0xF4); | 429 | b43_write16(dev, B43_MMIO_PHY0, on ? 0 : 0xF4); |
423 | } | 430 | } |
424 | 431 | ||
432 | |||
433 | bool b43_channel_type_is_40mhz(enum nl80211_channel_type channel_type) | ||
434 | { | ||
435 | return (channel_type == NL80211_CHAN_HT40MINUS || | ||
436 | channel_type == NL80211_CHAN_HT40PLUS); | ||
437 | } | ||
438 | |||
425 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/Cordic */ | 439 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/Cordic */ |
426 | struct b43_c32 b43_cordic(int theta) | 440 | struct b43_c32 b43_cordic(int theta) |
427 | { | 441 | { |
428 | u32 arctg[] = { 2949120, 1740967, 919879, 466945, 234379, 117304, | 442 | static const u32 arctg[] = { |
429 | 58666, 29335, 14668, 7334, 3667, 1833, 917, 458, | 443 | 2949120, 1740967, 919879, 466945, 234379, 117304, |
430 | 229, 115, 57, 29, }; | 444 | 58666, 29335, 14668, 7334, 3667, 1833, |
445 | 917, 458, 229, 115, 57, 29, | ||
446 | }; | ||
431 | u8 i; | 447 | u8 i; |
432 | s32 tmp; | 448 | s32 tmp; |
433 | s8 signx = 1; | 449 | s8 signx = 1; |
diff --git a/drivers/net/wireless/b43/phy_common.h b/drivers/net/wireless/b43/phy_common.h index bd480b481bfc..2401bee8b081 100644 --- a/drivers/net/wireless/b43/phy_common.h +++ b/drivers/net/wireless/b43/phy_common.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define LINUX_B43_PHY_COMMON_H_ | 2 | #define LINUX_B43_PHY_COMMON_H_ |
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include <linux/nl80211.h> | ||
5 | 6 | ||
6 | struct b43_wldev; | 7 | struct b43_wldev; |
7 | 8 | ||
@@ -38,6 +39,9 @@ struct b43_c32 { s32 i, q; }; | |||
38 | #define B43_PHYVER_TYPE_SHIFT 8 | 39 | #define B43_PHYVER_TYPE_SHIFT 8 |
39 | #define B43_PHYVER_VERSION 0x00FF | 40 | #define B43_PHYVER_VERSION 0x00FF |
40 | 41 | ||
42 | /* PHY writes need to be flushed if we reach limit */ | ||
43 | #define B43_MAX_WRITES_IN_ROW 24 | ||
44 | |||
41 | /** | 45 | /** |
42 | * enum b43_interference_mitigation - Interference Mitigation mode | 46 | * enum b43_interference_mitigation - Interference Mitigation mode |
43 | * | 47 | * |
@@ -231,6 +235,9 @@ struct b43_phy { | |||
231 | /* PHY revision number. */ | 235 | /* PHY revision number. */ |
232 | u8 rev; | 236 | u8 rev; |
233 | 237 | ||
238 | /* Count writes since last read */ | ||
239 | u8 writes_counter; | ||
240 | |||
234 | /* Radio versioning */ | 241 | /* Radio versioning */ |
235 | u16 radio_manuf; /* Radio manufacturer */ | 242 | u16 radio_manuf; /* Radio manufacturer */ |
236 | u16 radio_ver; /* Radio version */ | 243 | u16 radio_ver; /* Radio version */ |
@@ -250,8 +257,10 @@ struct b43_phy { | |||
250 | * check is needed. */ | 257 | * check is needed. */ |
251 | unsigned long next_txpwr_check_time; | 258 | unsigned long next_txpwr_check_time; |
252 | 259 | ||
253 | /* current channel */ | 260 | /* Current channel */ |
254 | unsigned int channel; | 261 | unsigned int channel; |
262 | u16 channel_freq; | ||
263 | enum nl80211_channel_type channel_type; | ||
255 | 264 | ||
256 | /* PHY TX errors counter. */ | 265 | /* PHY TX errors counter. */ |
257 | atomic_t txerr_cnt; | 266 | atomic_t txerr_cnt; |
@@ -427,6 +436,8 @@ int b43_phy_shm_tssi_read(struct b43_wldev *dev, u16 shm_offset); | |||
427 | */ | 436 | */ |
428 | void b43_phyop_switch_analog_generic(struct b43_wldev *dev, bool on); | 437 | void b43_phyop_switch_analog_generic(struct b43_wldev *dev, bool on); |
429 | 438 | ||
439 | bool b43_channel_type_is_40mhz(enum nl80211_channel_type channel_type); | ||
440 | |||
430 | struct b43_c32 b43_cordic(int theta); | 441 | struct b43_c32 b43_cordic(int theta); |
431 | 442 | ||
432 | #endif /* LINUX_B43_PHY_COMMON_H_ */ | 443 | #endif /* LINUX_B43_PHY_COMMON_H_ */ |
diff --git a/drivers/net/wireless/b43/phy_g.c b/drivers/net/wireless/b43/phy_g.c index 0dc33b65e86b..1758a282f913 100644 --- a/drivers/net/wireless/b43/phy_g.c +++ b/drivers/net/wireless/b43/phy_g.c | |||
@@ -718,7 +718,7 @@ static void b43_calc_nrssi_threshold(struct b43_wldev *dev) | |||
718 | B43_WARN_ON(phy->type != B43_PHYTYPE_G); | 718 | B43_WARN_ON(phy->type != B43_PHYTYPE_G); |
719 | 719 | ||
720 | if (!phy->gmode || | 720 | if (!phy->gmode || |
721 | !(dev->dev->bus->sprom.boardflags_lo & B43_BFL_RSSI)) { | 721 | !(dev->sdev->bus->sprom.boardflags_lo & B43_BFL_RSSI)) { |
722 | tmp16 = b43_nrssi_hw_read(dev, 0x20); | 722 | tmp16 = b43_nrssi_hw_read(dev, 0x20); |
723 | if (tmp16 >= 0x20) | 723 | if (tmp16 >= 0x20) |
724 | tmp16 -= 0x40; | 724 | tmp16 -= 0x40; |
@@ -1114,7 +1114,7 @@ static u16 radio2050_rfover_val(struct b43_wldev *dev, | |||
1114 | { | 1114 | { |
1115 | struct b43_phy *phy = &dev->phy; | 1115 | struct b43_phy *phy = &dev->phy; |
1116 | struct b43_phy_g *gphy = phy->g; | 1116 | struct b43_phy_g *gphy = phy->g; |
1117 | struct ssb_sprom *sprom = &(dev->dev->bus->sprom); | 1117 | struct ssb_sprom *sprom = &(dev->sdev->bus->sprom); |
1118 | 1118 | ||
1119 | if (!phy->gmode) | 1119 | if (!phy->gmode) |
1120 | return 0; | 1120 | return 0; |
@@ -1491,7 +1491,7 @@ static u16 b43_radio_init2050(struct b43_wldev *dev) | |||
1491 | 1491 | ||
1492 | static void b43_phy_initb5(struct b43_wldev *dev) | 1492 | static void b43_phy_initb5(struct b43_wldev *dev) |
1493 | { | 1493 | { |
1494 | struct ssb_bus *bus = dev->dev->bus; | 1494 | struct ssb_bus *bus = dev->sdev->bus; |
1495 | struct b43_phy *phy = &dev->phy; | 1495 | struct b43_phy *phy = &dev->phy; |
1496 | struct b43_phy_g *gphy = phy->g; | 1496 | struct b43_phy_g *gphy = phy->g; |
1497 | u16 offset, value; | 1497 | u16 offset, value; |
@@ -1620,7 +1620,7 @@ static void b43_phy_initb6(struct b43_wldev *dev) | |||
1620 | b43_radio_write16(dev, 0x5A, 0x88); | 1620 | b43_radio_write16(dev, 0x5A, 0x88); |
1621 | b43_radio_write16(dev, 0x5B, 0x6B); | 1621 | b43_radio_write16(dev, 0x5B, 0x6B); |
1622 | b43_radio_write16(dev, 0x5C, 0x0F); | 1622 | b43_radio_write16(dev, 0x5C, 0x0F); |
1623 | if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_ALTIQ) { | 1623 | if (dev->sdev->bus->sprom.boardflags_lo & B43_BFL_ALTIQ) { |
1624 | b43_radio_write16(dev, 0x5D, 0xFA); | 1624 | b43_radio_write16(dev, 0x5D, 0xFA); |
1625 | b43_radio_write16(dev, 0x5E, 0xD8); | 1625 | b43_radio_write16(dev, 0x5E, 0xD8); |
1626 | } else { | 1626 | } else { |
@@ -1787,7 +1787,7 @@ static void b43_calc_loopback_gain(struct b43_wldev *dev) | |||
1787 | b43_phy_set(dev, B43_PHY_RFOVER, 0x0100); | 1787 | b43_phy_set(dev, B43_PHY_RFOVER, 0x0100); |
1788 | b43_phy_mask(dev, B43_PHY_RFOVERVAL, 0xCFFF); | 1788 | b43_phy_mask(dev, B43_PHY_RFOVERVAL, 0xCFFF); |
1789 | 1789 | ||
1790 | if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_EXTLNA) { | 1790 | if (dev->sdev->bus->sprom.boardflags_lo & B43_BFL_EXTLNA) { |
1791 | if (phy->rev >= 7) { | 1791 | if (phy->rev >= 7) { |
1792 | b43_phy_set(dev, B43_PHY_RFOVER, 0x0800); | 1792 | b43_phy_set(dev, B43_PHY_RFOVER, 0x0800); |
1793 | b43_phy_set(dev, B43_PHY_RFOVERVAL, 0x8000); | 1793 | b43_phy_set(dev, B43_PHY_RFOVERVAL, 0x8000); |
@@ -1919,10 +1919,10 @@ static void b43_hardware_pctl_init_gphy(struct b43_wldev *dev) | |||
1919 | b43_hf_write(dev, b43_hf_read(dev) | B43_HF_HWPCTL); | 1919 | b43_hf_write(dev, b43_hf_read(dev) | B43_HF_HWPCTL); |
1920 | } | 1920 | } |
1921 | 1921 | ||
1922 | /* Intialize B/G PHY power control */ | 1922 | /* Initialize B/G PHY power control */ |
1923 | static void b43_phy_init_pctl(struct b43_wldev *dev) | 1923 | static void b43_phy_init_pctl(struct b43_wldev *dev) |
1924 | { | 1924 | { |
1925 | struct ssb_bus *bus = dev->dev->bus; | 1925 | struct ssb_bus *bus = dev->sdev->bus; |
1926 | struct b43_phy *phy = &dev->phy; | 1926 | struct b43_phy *phy = &dev->phy; |
1927 | struct b43_phy_g *gphy = phy->g; | 1927 | struct b43_phy_g *gphy = phy->g; |
1928 | struct b43_rfatt old_rfatt; | 1928 | struct b43_rfatt old_rfatt; |
@@ -2053,7 +2053,7 @@ static void b43_phy_initg(struct b43_wldev *dev) | |||
2053 | if (phy->rev >= 6) { | 2053 | if (phy->rev >= 6) { |
2054 | b43_phy_maskset(dev, B43_PHY_CCK(0x36), 0x0FFF, (gphy->lo_control->tx_bias << 12)); | 2054 | b43_phy_maskset(dev, B43_PHY_CCK(0x36), 0x0FFF, (gphy->lo_control->tx_bias << 12)); |
2055 | } | 2055 | } |
2056 | if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_PACTRL) | 2056 | if (dev->sdev->bus->sprom.boardflags_lo & B43_BFL_PACTRL) |
2057 | b43_phy_write(dev, B43_PHY_CCK(0x2E), 0x8075); | 2057 | b43_phy_write(dev, B43_PHY_CCK(0x2E), 0x8075); |
2058 | else | 2058 | else |
2059 | b43_phy_write(dev, B43_PHY_CCK(0x2E), 0x807F); | 2059 | b43_phy_write(dev, B43_PHY_CCK(0x2E), 0x807F); |
@@ -2066,7 +2066,7 @@ static void b43_phy_initg(struct b43_wldev *dev) | |||
2066 | b43_phy_write(dev, B43_PHY_LO_MASK, 0x8078); | 2066 | b43_phy_write(dev, B43_PHY_LO_MASK, 0x8078); |
2067 | } | 2067 | } |
2068 | 2068 | ||
2069 | if (!(dev->dev->bus->sprom.boardflags_lo & B43_BFL_RSSI)) { | 2069 | if (!(dev->sdev->bus->sprom.boardflags_lo & B43_BFL_RSSI)) { |
2070 | /* The specs state to update the NRSSI LT with | 2070 | /* The specs state to update the NRSSI LT with |
2071 | * the value 0x7FFFFFFF here. I think that is some weird | 2071 | * the value 0x7FFFFFFF here. I think that is some weird |
2072 | * compiler optimization in the original driver. | 2072 | * compiler optimization in the original driver. |
@@ -2088,8 +2088,8 @@ static void b43_phy_initg(struct b43_wldev *dev) | |||
2088 | /* FIXME: The spec says in the following if, the 0 should be replaced | 2088 | /* FIXME: The spec says in the following if, the 0 should be replaced |
2089 | 'if OFDM may not be used in the current locale' | 2089 | 'if OFDM may not be used in the current locale' |
2090 | but OFDM is legal everywhere */ | 2090 | but OFDM is legal everywhere */ |
2091 | if ((dev->dev->bus->chip_id == 0x4306 | 2091 | if ((dev->sdev->bus->chip_id == 0x4306 |
2092 | && dev->dev->bus->chip_package == 2) || 0) { | 2092 | && dev->sdev->bus->chip_package == 2) || 0) { |
2093 | b43_phy_mask(dev, B43_PHY_CRS0, 0xBFFF); | 2093 | b43_phy_mask(dev, B43_PHY_CRS0, 0xBFFF); |
2094 | b43_phy_mask(dev, B43_PHY_OFDM(0xC3), 0x7FFF); | 2094 | b43_phy_mask(dev, B43_PHY_OFDM(0xC3), 0x7FFF); |
2095 | } | 2095 | } |
@@ -2105,7 +2105,7 @@ void b43_gphy_channel_switch(struct b43_wldev *dev, | |||
2105 | b43_write16(dev, B43_MMIO_CHANNEL, channel2freq_bg(channel)); | 2105 | b43_write16(dev, B43_MMIO_CHANNEL, channel2freq_bg(channel)); |
2106 | 2106 | ||
2107 | if (channel == 14) { | 2107 | if (channel == 14) { |
2108 | if (dev->dev->bus->sprom.country_code == | 2108 | if (dev->sdev->bus->sprom.country_code == |
2109 | SSB_SPROM1CCODE_JAPAN) | 2109 | SSB_SPROM1CCODE_JAPAN) |
2110 | b43_hf_write(dev, | 2110 | b43_hf_write(dev, |
2111 | b43_hf_read(dev) & ~B43_HF_ACPR); | 2111 | b43_hf_read(dev) & ~B43_HF_ACPR); |
@@ -2136,7 +2136,7 @@ static void default_baseband_attenuation(struct b43_wldev *dev, | |||
2136 | static void default_radio_attenuation(struct b43_wldev *dev, | 2136 | static void default_radio_attenuation(struct b43_wldev *dev, |
2137 | struct b43_rfatt *rf) | 2137 | struct b43_rfatt *rf) |
2138 | { | 2138 | { |
2139 | struct ssb_bus *bus = dev->dev->bus; | 2139 | struct ssb_bus *bus = dev->sdev->bus; |
2140 | struct b43_phy *phy = &dev->phy; | 2140 | struct b43_phy *phy = &dev->phy; |
2141 | 2141 | ||
2142 | rf->with_padmix = 0; | 2142 | rf->with_padmix = 0; |
@@ -2384,11 +2384,11 @@ static int b43_gphy_init_tssi2dbm_table(struct b43_wldev *dev) | |||
2384 | struct b43_phy_g *gphy = phy->g; | 2384 | struct b43_phy_g *gphy = phy->g; |
2385 | s16 pab0, pab1, pab2; | 2385 | s16 pab0, pab1, pab2; |
2386 | 2386 | ||
2387 | pab0 = (s16) (dev->dev->bus->sprom.pa0b0); | 2387 | pab0 = (s16) (dev->sdev->bus->sprom.pa0b0); |
2388 | pab1 = (s16) (dev->dev->bus->sprom.pa0b1); | 2388 | pab1 = (s16) (dev->sdev->bus->sprom.pa0b1); |
2389 | pab2 = (s16) (dev->dev->bus->sprom.pa0b2); | 2389 | pab2 = (s16) (dev->sdev->bus->sprom.pa0b2); |
2390 | 2390 | ||
2391 | B43_WARN_ON((dev->dev->bus->chip_id == 0x4301) && | 2391 | B43_WARN_ON((dev->sdev->bus->chip_id == 0x4301) && |
2392 | (phy->radio_ver != 0x2050)); /* Not supported anymore */ | 2392 | (phy->radio_ver != 0x2050)); /* Not supported anymore */ |
2393 | 2393 | ||
2394 | gphy->dyn_tssi_tbl = 0; | 2394 | gphy->dyn_tssi_tbl = 0; |
@@ -2396,10 +2396,10 @@ static int b43_gphy_init_tssi2dbm_table(struct b43_wldev *dev) | |||
2396 | if (pab0 != 0 && pab1 != 0 && pab2 != 0 && | 2396 | if (pab0 != 0 && pab1 != 0 && pab2 != 0 && |
2397 | pab0 != -1 && pab1 != -1 && pab2 != -1) { | 2397 | pab0 != -1 && pab1 != -1 && pab2 != -1) { |
2398 | /* The pabX values are set in SPROM. Use them. */ | 2398 | /* The pabX values are set in SPROM. Use them. */ |
2399 | if ((s8) dev->dev->bus->sprom.itssi_bg != 0 && | 2399 | if ((s8) dev->sdev->bus->sprom.itssi_bg != 0 && |
2400 | (s8) dev->dev->bus->sprom.itssi_bg != -1) { | 2400 | (s8) dev->sdev->bus->sprom.itssi_bg != -1) { |
2401 | gphy->tgt_idle_tssi = | 2401 | gphy->tgt_idle_tssi = |
2402 | (s8) (dev->dev->bus->sprom.itssi_bg); | 2402 | (s8) (dev->sdev->bus->sprom.itssi_bg); |
2403 | } else | 2403 | } else |
2404 | gphy->tgt_idle_tssi = 62; | 2404 | gphy->tgt_idle_tssi = 62; |
2405 | gphy->tssi2dbm = b43_generate_dyn_tssi2dbm_tab(dev, pab0, | 2405 | gphy->tssi2dbm = b43_generate_dyn_tssi2dbm_tab(dev, pab0, |
@@ -2840,7 +2840,7 @@ static void b43_gphy_op_adjust_txpower(struct b43_wldev *dev) | |||
2840 | B43_TXCTL_TXMIX; | 2840 | B43_TXCTL_TXMIX; |
2841 | rfatt += 2; | 2841 | rfatt += 2; |
2842 | bbatt += 2; | 2842 | bbatt += 2; |
2843 | } else if (dev->dev->bus->sprom. | 2843 | } else if (dev->sdev->bus->sprom. |
2844 | boardflags_lo & | 2844 | boardflags_lo & |
2845 | B43_BFL_PACTRL) { | 2845 | B43_BFL_PACTRL) { |
2846 | bbatt += 4 * (rfatt - 2); | 2846 | bbatt += 4 * (rfatt - 2); |
@@ -2914,14 +2914,14 @@ static enum b43_txpwr_result b43_gphy_op_recalc_txpower(struct b43_wldev *dev, | |||
2914 | estimated_pwr = b43_gphy_estimate_power_out(dev, average_tssi); | 2914 | estimated_pwr = b43_gphy_estimate_power_out(dev, average_tssi); |
2915 | 2915 | ||
2916 | B43_WARN_ON(phy->type != B43_PHYTYPE_G); | 2916 | B43_WARN_ON(phy->type != B43_PHYTYPE_G); |
2917 | max_pwr = dev->dev->bus->sprom.maxpwr_bg; | 2917 | max_pwr = dev->sdev->bus->sprom.maxpwr_bg; |
2918 | if (dev->dev->bus->sprom.boardflags_lo & B43_BFL_PACTRL) | 2918 | if (dev->sdev->bus->sprom.boardflags_lo & B43_BFL_PACTRL) |
2919 | max_pwr -= 3; /* minus 0.75 */ | 2919 | max_pwr -= 3; /* minus 0.75 */ |
2920 | if (unlikely(max_pwr >= INT_TO_Q52(30/*dBm*/))) { | 2920 | if (unlikely(max_pwr >= INT_TO_Q52(30/*dBm*/))) { |
2921 | b43warn(dev->wl, | 2921 | b43warn(dev->wl, |
2922 | "Invalid max-TX-power value in SPROM.\n"); | 2922 | "Invalid max-TX-power value in SPROM.\n"); |
2923 | max_pwr = INT_TO_Q52(20); /* fake it */ | 2923 | max_pwr = INT_TO_Q52(20); /* fake it */ |
2924 | dev->dev->bus->sprom.maxpwr_bg = max_pwr; | 2924 | dev->sdev->bus->sprom.maxpwr_bg = max_pwr; |
2925 | } | 2925 | } |
2926 | 2926 | ||
2927 | /* Get desired power (in Q5.2) */ | 2927 | /* Get desired power (in Q5.2) */ |
@@ -3014,7 +3014,7 @@ static void b43_gphy_op_pwork_60sec(struct b43_wldev *dev) | |||
3014 | { | 3014 | { |
3015 | struct b43_phy *phy = &dev->phy; | 3015 | struct b43_phy *phy = &dev->phy; |
3016 | 3016 | ||
3017 | if (!(dev->dev->bus->sprom.boardflags_lo & B43_BFL_RSSI)) | 3017 | if (!(dev->sdev->bus->sprom.boardflags_lo & B43_BFL_RSSI)) |
3018 | return; | 3018 | return; |
3019 | 3019 | ||
3020 | b43_mac_suspend(dev); | 3020 | b43_mac_suspend(dev); |
diff --git a/drivers/net/wireless/b43/phy_g.h b/drivers/net/wireless/b43/phy_g.h index 8569fdd4c6be..5413c906a3e7 100644 --- a/drivers/net/wireless/b43/phy_g.h +++ b/drivers/net/wireless/b43/phy_g.h | |||
@@ -164,7 +164,7 @@ struct b43_phy_g { | |||
164 | /* Current Interference Mitigation mode */ | 164 | /* Current Interference Mitigation mode */ |
165 | int interfmode; | 165 | int interfmode; |
166 | /* Stack of saved values from the Interference Mitigation code. | 166 | /* Stack of saved values from the Interference Mitigation code. |
167 | * Each value in the stack is layed out as follows: | 167 | * Each value in the stack is laid out as follows: |
168 | * bit 0-11: offset | 168 | * bit 0-11: offset |
169 | * bit 12-15: register ID | 169 | * bit 12-15: register ID |
170 | * bit 16-32: value | 170 | * bit 16-32: value |
diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index fd50eb116243..012c8da2f944 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c | |||
@@ -86,7 +86,7 @@ static void b43_lpphy_op_free(struct b43_wldev *dev) | |||
86 | static void lpphy_read_band_sprom(struct b43_wldev *dev) | 86 | static void lpphy_read_band_sprom(struct b43_wldev *dev) |
87 | { | 87 | { |
88 | struct b43_phy_lp *lpphy = dev->phy.lp; | 88 | struct b43_phy_lp *lpphy = dev->phy.lp; |
89 | struct ssb_bus *bus = dev->dev->bus; | 89 | struct ssb_bus *bus = dev->sdev->bus; |
90 | u16 cckpo, maxpwr; | 90 | u16 cckpo, maxpwr; |
91 | u32 ofdmpo; | 91 | u32 ofdmpo; |
92 | int i; | 92 | int i; |
@@ -214,7 +214,7 @@ static void lpphy_table_init(struct b43_wldev *dev) | |||
214 | 214 | ||
215 | static void lpphy_baseband_rev0_1_init(struct b43_wldev *dev) | 215 | static void lpphy_baseband_rev0_1_init(struct b43_wldev *dev) |
216 | { | 216 | { |
217 | struct ssb_bus *bus = dev->dev->bus; | 217 | struct ssb_bus *bus = dev->sdev->bus; |
218 | struct b43_phy_lp *lpphy = dev->phy.lp; | 218 | struct b43_phy_lp *lpphy = dev->phy.lp; |
219 | u16 tmp, tmp2; | 219 | u16 tmp, tmp2; |
220 | 220 | ||
@@ -412,7 +412,7 @@ static void lpphy_restore_dig_flt_state(struct b43_wldev *dev) | |||
412 | 412 | ||
413 | static void lpphy_baseband_rev2plus_init(struct b43_wldev *dev) | 413 | static void lpphy_baseband_rev2plus_init(struct b43_wldev *dev) |
414 | { | 414 | { |
415 | struct ssb_bus *bus = dev->dev->bus; | 415 | struct ssb_bus *bus = dev->sdev->bus; |
416 | struct b43_phy_lp *lpphy = dev->phy.lp; | 416 | struct b43_phy_lp *lpphy = dev->phy.lp; |
417 | 417 | ||
418 | b43_phy_write(dev, B43_LPPHY_AFE_DAC_CTL, 0x50); | 418 | b43_phy_write(dev, B43_LPPHY_AFE_DAC_CTL, 0x50); |
@@ -519,7 +519,7 @@ struct b2062_freqdata { | |||
519 | static void lpphy_2062_init(struct b43_wldev *dev) | 519 | static void lpphy_2062_init(struct b43_wldev *dev) |
520 | { | 520 | { |
521 | struct b43_phy_lp *lpphy = dev->phy.lp; | 521 | struct b43_phy_lp *lpphy = dev->phy.lp; |
522 | struct ssb_bus *bus = dev->dev->bus; | 522 | struct ssb_bus *bus = dev->sdev->bus; |
523 | u32 crystalfreq, tmp, ref; | 523 | u32 crystalfreq, tmp, ref; |
524 | unsigned int i; | 524 | unsigned int i; |
525 | const struct b2062_freqdata *fd = NULL; | 525 | const struct b2062_freqdata *fd = NULL; |
@@ -697,7 +697,7 @@ static void lpphy_radio_init(struct b43_wldev *dev) | |||
697 | lpphy_sync_stx(dev); | 697 | lpphy_sync_stx(dev); |
698 | b43_phy_write(dev, B43_PHY_OFDM(0xF0), 0x5F80); | 698 | b43_phy_write(dev, B43_PHY_OFDM(0xF0), 0x5F80); |
699 | b43_phy_write(dev, B43_PHY_OFDM(0xF1), 0); | 699 | b43_phy_write(dev, B43_PHY_OFDM(0xF1), 0); |
700 | if (dev->dev->bus->chip_id == 0x4325) { | 700 | if (dev->sdev->bus->chip_id == 0x4325) { |
701 | // TODO SSB PMU recalibration | 701 | // TODO SSB PMU recalibration |
702 | } | 702 | } |
703 | } | 703 | } |
@@ -1289,7 +1289,7 @@ finish: | |||
1289 | 1289 | ||
1290 | static void lpphy_rev2plus_rc_calib(struct b43_wldev *dev) | 1290 | static void lpphy_rev2plus_rc_calib(struct b43_wldev *dev) |
1291 | { | 1291 | { |
1292 | struct ssb_bus *bus = dev->dev->bus; | 1292 | struct ssb_bus *bus = dev->sdev->bus; |
1293 | u32 crystal_freq = bus->chipco.pmu.crystalfreq * 1000; | 1293 | u32 crystal_freq = bus->chipco.pmu.crystalfreq * 1000; |
1294 | u8 tmp = b43_radio_read(dev, B2063_RX_BB_SP8) & 0xFF; | 1294 | u8 tmp = b43_radio_read(dev, B2063_RX_BB_SP8) & 0xFF; |
1295 | int i; | 1295 | int i; |
@@ -1840,7 +1840,7 @@ static void lpphy_papd_cal(struct b43_wldev *dev, struct lpphy_tx_gains gains, | |||
1840 | static void lpphy_papd_cal_txpwr(struct b43_wldev *dev) | 1840 | static void lpphy_papd_cal_txpwr(struct b43_wldev *dev) |
1841 | { | 1841 | { |
1842 | struct b43_phy_lp *lpphy = dev->phy.lp; | 1842 | struct b43_phy_lp *lpphy = dev->phy.lp; |
1843 | struct ssb_bus *bus = dev->dev->bus; | 1843 | struct ssb_bus *bus = dev->sdev->bus; |
1844 | struct lpphy_tx_gains gains, oldgains; | 1844 | struct lpphy_tx_gains gains, oldgains; |
1845 | int old_txpctl, old_afe_ovr, old_rf, old_bbmult; | 1845 | int old_txpctl, old_afe_ovr, old_rf, old_bbmult; |
1846 | 1846 | ||
@@ -1870,7 +1870,7 @@ static int lpphy_rx_iq_cal(struct b43_wldev *dev, bool noise, bool tx, | |||
1870 | bool rx, bool pa, struct lpphy_tx_gains *gains) | 1870 | bool rx, bool pa, struct lpphy_tx_gains *gains) |
1871 | { | 1871 | { |
1872 | struct b43_phy_lp *lpphy = dev->phy.lp; | 1872 | struct b43_phy_lp *lpphy = dev->phy.lp; |
1873 | struct ssb_bus *bus = dev->dev->bus; | 1873 | struct ssb_bus *bus = dev->sdev->bus; |
1874 | const struct lpphy_rx_iq_comp *iqcomp = NULL; | 1874 | const struct lpphy_rx_iq_comp *iqcomp = NULL; |
1875 | struct lpphy_tx_gains nogains, oldgains; | 1875 | struct lpphy_tx_gains nogains, oldgains; |
1876 | u16 tmp; | 1876 | u16 tmp; |
@@ -2408,7 +2408,7 @@ static const struct b206x_channel b2063_chantbl[] = { | |||
2408 | 2408 | ||
2409 | static void lpphy_b2062_reset_pll_bias(struct b43_wldev *dev) | 2409 | static void lpphy_b2062_reset_pll_bias(struct b43_wldev *dev) |
2410 | { | 2410 | { |
2411 | struct ssb_bus *bus = dev->dev->bus; | 2411 | struct ssb_bus *bus = dev->sdev->bus; |
2412 | 2412 | ||
2413 | b43_radio_write(dev, B2062_S_RFPLL_CTL2, 0xFF); | 2413 | b43_radio_write(dev, B2062_S_RFPLL_CTL2, 0xFF); |
2414 | udelay(20); | 2414 | udelay(20); |
@@ -2432,7 +2432,7 @@ static int lpphy_b2062_tune(struct b43_wldev *dev, | |||
2432 | unsigned int channel) | 2432 | unsigned int channel) |
2433 | { | 2433 | { |
2434 | struct b43_phy_lp *lpphy = dev->phy.lp; | 2434 | struct b43_phy_lp *lpphy = dev->phy.lp; |
2435 | struct ssb_bus *bus = dev->dev->bus; | 2435 | struct ssb_bus *bus = dev->sdev->bus; |
2436 | const struct b206x_channel *chandata = NULL; | 2436 | const struct b206x_channel *chandata = NULL; |
2437 | u32 crystal_freq = bus->chipco.pmu.crystalfreq * 1000; | 2437 | u32 crystal_freq = bus->chipco.pmu.crystalfreq * 1000; |
2438 | u32 tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9; | 2438 | u32 tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9; |
@@ -2522,7 +2522,7 @@ static void lpphy_b2063_vco_calib(struct b43_wldev *dev) | |||
2522 | static int lpphy_b2063_tune(struct b43_wldev *dev, | 2522 | static int lpphy_b2063_tune(struct b43_wldev *dev, |
2523 | unsigned int channel) | 2523 | unsigned int channel) |
2524 | { | 2524 | { |
2525 | struct ssb_bus *bus = dev->dev->bus; | 2525 | struct ssb_bus *bus = dev->sdev->bus; |
2526 | 2526 | ||
2527 | static const struct b206x_channel *chandata = NULL; | 2527 | static const struct b206x_channel *chandata = NULL; |
2528 | u32 crystal_freq = bus->chipco.pmu.crystalfreq * 1000; | 2528 | u32 crystal_freq = bus->chipco.pmu.crystalfreq * 1000; |
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c index 5a725703770c..05960ddde24e 100644 --- a/drivers/net/wireless/b43/phy_n.c +++ b/drivers/net/wireless/b43/phy_n.c | |||
@@ -29,6 +29,8 @@ | |||
29 | #include "b43.h" | 29 | #include "b43.h" |
30 | #include "phy_n.h" | 30 | #include "phy_n.h" |
31 | #include "tables_nphy.h" | 31 | #include "tables_nphy.h" |
32 | #include "radio_2055.h" | ||
33 | #include "radio_2056.h" | ||
32 | #include "main.h" | 34 | #include "main.h" |
33 | 35 | ||
34 | struct nphy_txgains { | 36 | struct nphy_txgains { |
@@ -65,6 +67,18 @@ enum b43_nphy_rf_sequence { | |||
65 | B43_RFSEQ_UPDATE_GAINU, | 67 | B43_RFSEQ_UPDATE_GAINU, |
66 | }; | 68 | }; |
67 | 69 | ||
70 | enum b43_nphy_rssi_type { | ||
71 | B43_NPHY_RSSI_X = 0, | ||
72 | B43_NPHY_RSSI_Y, | ||
73 | B43_NPHY_RSSI_Z, | ||
74 | B43_NPHY_RSSI_PWRDET, | ||
75 | B43_NPHY_RSSI_TSSI_I, | ||
76 | B43_NPHY_RSSI_TSSI_Q, | ||
77 | B43_NPHY_RSSI_TBD, | ||
78 | }; | ||
79 | |||
80 | static void b43_nphy_stay_in_carrier_search(struct b43_wldev *dev, | ||
81 | bool enable); | ||
68 | static void b43_nphy_set_rf_sequence(struct b43_wldev *dev, u8 cmd, | 82 | static void b43_nphy_set_rf_sequence(struct b43_wldev *dev, u8 cmd, |
69 | u8 *events, u8 *delays, u8 length); | 83 | u8 *events, u8 *delays, u8 length); |
70 | static void b43_nphy_force_rf_sequence(struct b43_wldev *dev, | 84 | static void b43_nphy_force_rf_sequence(struct b43_wldev *dev, |
@@ -73,22 +87,6 @@ static void b43_nphy_rf_control_override(struct b43_wldev *dev, u16 field, | |||
73 | u16 value, u8 core, bool off); | 87 | u16 value, u8 core, bool off); |
74 | static void b43_nphy_rf_control_intc_override(struct b43_wldev *dev, u8 field, | 88 | static void b43_nphy_rf_control_intc_override(struct b43_wldev *dev, u8 field, |
75 | u16 value, u8 core); | 89 | u16 value, u8 core); |
76 | static int nphy_channel_switch(struct b43_wldev *dev, unsigned int channel); | ||
77 | |||
78 | static inline bool b43_empty_chanspec(struct b43_chanspec *chanspec) | ||
79 | { | ||
80 | return !chanspec->channel && !chanspec->sideband && | ||
81 | !chanspec->b_width && !chanspec->b_freq; | ||
82 | } | ||
83 | |||
84 | static inline bool b43_eq_chanspecs(struct b43_chanspec *chanspec1, | ||
85 | struct b43_chanspec *chanspec2) | ||
86 | { | ||
87 | return (chanspec1->channel == chanspec2->channel && | ||
88 | chanspec1->sideband == chanspec2->sideband && | ||
89 | chanspec1->b_width == chanspec2->b_width && | ||
90 | chanspec1->b_freq == chanspec2->b_freq); | ||
91 | } | ||
92 | 90 | ||
93 | void b43_nphy_set_rxantenna(struct b43_wldev *dev, int antenna) | 91 | void b43_nphy_set_rxantenna(struct b43_wldev *dev, int antenna) |
94 | {//TODO | 92 | {//TODO |
@@ -141,6 +139,99 @@ static void b43_chantab_radio_upload(struct b43_wldev *dev, | |||
141 | b43_radio_write(dev, B2055_C2_TX_MXBGTRIM, e->radio_c2_tx_mxbgtrim); | 139 | b43_radio_write(dev, B2055_C2_TX_MXBGTRIM, e->radio_c2_tx_mxbgtrim); |
142 | } | 140 | } |
143 | 141 | ||
142 | static void b43_chantab_radio_2056_upload(struct b43_wldev *dev, | ||
143 | const struct b43_nphy_channeltab_entry_rev3 *e) | ||
144 | { | ||
145 | b43_radio_write(dev, B2056_SYN_PLL_VCOCAL1, e->radio_syn_pll_vcocal1); | ||
146 | b43_radio_write(dev, B2056_SYN_PLL_VCOCAL2, e->radio_syn_pll_vcocal2); | ||
147 | b43_radio_write(dev, B2056_SYN_PLL_REFDIV, e->radio_syn_pll_refdiv); | ||
148 | b43_radio_write(dev, B2056_SYN_PLL_MMD2, e->radio_syn_pll_mmd2); | ||
149 | b43_radio_write(dev, B2056_SYN_PLL_MMD1, e->radio_syn_pll_mmd1); | ||
150 | b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER1, | ||
151 | e->radio_syn_pll_loopfilter1); | ||
152 | b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER2, | ||
153 | e->radio_syn_pll_loopfilter2); | ||
154 | b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER3, | ||
155 | e->radio_syn_pll_loopfilter3); | ||
156 | b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER4, | ||
157 | e->radio_syn_pll_loopfilter4); | ||
158 | b43_radio_write(dev, B2056_SYN_PLL_LOOPFILTER5, | ||
159 | e->radio_syn_pll_loopfilter5); | ||
160 | b43_radio_write(dev, B2056_SYN_RESERVED_ADDR27, | ||
161 | e->radio_syn_reserved_addr27); | ||
162 | b43_radio_write(dev, B2056_SYN_RESERVED_ADDR28, | ||
163 | e->radio_syn_reserved_addr28); | ||
164 | b43_radio_write(dev, B2056_SYN_RESERVED_ADDR29, | ||
165 | e->radio_syn_reserved_addr29); | ||
166 | b43_radio_write(dev, B2056_SYN_LOGEN_VCOBUF1, | ||
167 | e->radio_syn_logen_vcobuf1); | ||
168 | b43_radio_write(dev, B2056_SYN_LOGEN_MIXER2, e->radio_syn_logen_mixer2); | ||
169 | b43_radio_write(dev, B2056_SYN_LOGEN_BUF3, e->radio_syn_logen_buf3); | ||
170 | b43_radio_write(dev, B2056_SYN_LOGEN_BUF4, e->radio_syn_logen_buf4); | ||
171 | |||
172 | b43_radio_write(dev, B2056_RX0 | B2056_RX_LNAA_TUNE, | ||
173 | e->radio_rx0_lnaa_tune); | ||
174 | b43_radio_write(dev, B2056_RX0 | B2056_RX_LNAG_TUNE, | ||
175 | e->radio_rx0_lnag_tune); | ||
176 | |||
177 | b43_radio_write(dev, B2056_TX0 | B2056_TX_INTPAA_BOOST_TUNE, | ||
178 | e->radio_tx0_intpaa_boost_tune); | ||
179 | b43_radio_write(dev, B2056_TX0 | B2056_TX_INTPAG_BOOST_TUNE, | ||
180 | e->radio_tx0_intpag_boost_tune); | ||
181 | b43_radio_write(dev, B2056_TX0 | B2056_TX_PADA_BOOST_TUNE, | ||
182 | e->radio_tx0_pada_boost_tune); | ||
183 | b43_radio_write(dev, B2056_TX0 | B2056_TX_PADG_BOOST_TUNE, | ||
184 | e->radio_tx0_padg_boost_tune); | ||
185 | b43_radio_write(dev, B2056_TX0 | B2056_TX_PGAA_BOOST_TUNE, | ||
186 | e->radio_tx0_pgaa_boost_tune); | ||
187 | b43_radio_write(dev, B2056_TX0 | B2056_TX_PGAG_BOOST_TUNE, | ||
188 | e->radio_tx0_pgag_boost_tune); | ||
189 | b43_radio_write(dev, B2056_TX0 | B2056_TX_MIXA_BOOST_TUNE, | ||
190 | e->radio_tx0_mixa_boost_tune); | ||
191 | b43_radio_write(dev, B2056_TX0 | B2056_TX_MIXG_BOOST_TUNE, | ||
192 | e->radio_tx0_mixg_boost_tune); | ||
193 | |||
194 | b43_radio_write(dev, B2056_RX1 | B2056_RX_LNAA_TUNE, | ||
195 | e->radio_rx1_lnaa_tune); | ||
196 | b43_radio_write(dev, B2056_RX1 | B2056_RX_LNAG_TUNE, | ||
197 | e->radio_rx1_lnag_tune); | ||
198 | |||
199 | b43_radio_write(dev, B2056_TX1 | B2056_TX_INTPAA_BOOST_TUNE, | ||
200 | e->radio_tx1_intpaa_boost_tune); | ||
201 | b43_radio_write(dev, B2056_TX1 | B2056_TX_INTPAG_BOOST_TUNE, | ||
202 | e->radio_tx1_intpag_boost_tune); | ||
203 | b43_radio_write(dev, B2056_TX1 | B2056_TX_PADA_BOOST_TUNE, | ||
204 | e->radio_tx1_pada_boost_tune); | ||
205 | b43_radio_write(dev, B2056_TX1 | B2056_TX_PADG_BOOST_TUNE, | ||
206 | e->radio_tx1_padg_boost_tune); | ||
207 | b43_radio_write(dev, B2056_TX1 | B2056_TX_PGAA_BOOST_TUNE, | ||
208 | e->radio_tx1_pgaa_boost_tune); | ||
209 | b43_radio_write(dev, B2056_TX1 | B2056_TX_PGAG_BOOST_TUNE, | ||
210 | e->radio_tx1_pgag_boost_tune); | ||
211 | b43_radio_write(dev, B2056_TX1 | B2056_TX_MIXA_BOOST_TUNE, | ||
212 | e->radio_tx1_mixa_boost_tune); | ||
213 | b43_radio_write(dev, B2056_TX1 | B2056_TX_MIXG_BOOST_TUNE, | ||
214 | e->radio_tx1_mixg_boost_tune); | ||
215 | } | ||
216 | |||
217 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/Radio/2056Setup */ | ||
218 | static void b43_radio_2056_setup(struct b43_wldev *dev, | ||
219 | const struct b43_nphy_channeltab_entry_rev3 *e) | ||
220 | { | ||
221 | B43_WARN_ON(dev->phy.rev < 3); | ||
222 | |||
223 | b43_chantab_radio_2056_upload(dev, e); | ||
224 | /* TODO */ | ||
225 | udelay(50); | ||
226 | /* VCO calibration */ | ||
227 | b43_radio_write(dev, B2056_SYN_PLL_VCOCAL12, 0x00); | ||
228 | b43_radio_write(dev, B2056_TX_INTPAA_PA_MISC, 0x38); | ||
229 | b43_radio_write(dev, B2056_TX_INTPAA_PA_MISC, 0x18); | ||
230 | b43_radio_write(dev, B2056_TX_INTPAA_PA_MISC, 0x38); | ||
231 | b43_radio_write(dev, B2056_TX_INTPAA_PA_MISC, 0x39); | ||
232 | udelay(300); | ||
233 | } | ||
234 | |||
144 | static void b43_chantab_phy_upload(struct b43_wldev *dev, | 235 | static void b43_chantab_phy_upload(struct b43_wldev *dev, |
145 | const struct b43_phy_n_sfo_cfg *e) | 236 | const struct b43_phy_n_sfo_cfg *e) |
146 | { | 237 | { |
@@ -152,9 +243,154 @@ static void b43_chantab_phy_upload(struct b43_wldev *dev, | |||
152 | b43_phy_write(dev, B43_NPHY_BW6, e->phy_bw6); | 243 | b43_phy_write(dev, B43_NPHY_BW6, e->phy_bw6); |
153 | } | 244 | } |
154 | 245 | ||
246 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/TxPwrCtrlEnable */ | ||
247 | static void b43_nphy_tx_power_ctrl(struct b43_wldev *dev, bool enable) | ||
248 | { | ||
249 | struct b43_phy_n *nphy = dev->phy.n; | ||
250 | u8 i; | ||
251 | u16 tmp; | ||
252 | |||
253 | if (nphy->hang_avoid) | ||
254 | b43_nphy_stay_in_carrier_search(dev, 1); | ||
255 | |||
256 | nphy->txpwrctrl = enable; | ||
257 | if (!enable) { | ||
258 | if (dev->phy.rev >= 3) | ||
259 | ; /* TODO */ | ||
260 | |||
261 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x6840); | ||
262 | for (i = 0; i < 84; i++) | ||
263 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0); | ||
264 | |||
265 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x6C40); | ||
266 | for (i = 0; i < 84; i++) | ||
267 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0); | ||
268 | |||
269 | tmp = B43_NPHY_TXPCTL_CMD_COEFF | B43_NPHY_TXPCTL_CMD_HWPCTLEN; | ||
270 | if (dev->phy.rev >= 3) | ||
271 | tmp |= B43_NPHY_TXPCTL_CMD_PCTLEN; | ||
272 | b43_phy_mask(dev, B43_NPHY_TXPCTL_CMD, ~tmp); | ||
273 | |||
274 | if (dev->phy.rev >= 3) { | ||
275 | b43_phy_set(dev, B43_NPHY_AFECTL_OVER1, 0x0100); | ||
276 | b43_phy_set(dev, B43_NPHY_AFECTL_OVER, 0x0100); | ||
277 | } else { | ||
278 | b43_phy_set(dev, B43_NPHY_AFECTL_OVER, 0x4000); | ||
279 | } | ||
280 | |||
281 | if (dev->phy.rev == 2) | ||
282 | b43_phy_maskset(dev, B43_NPHY_BPHY_CTL3, | ||
283 | ~B43_NPHY_BPHY_CTL3_SCALE, 0x53); | ||
284 | else if (dev->phy.rev < 2) | ||
285 | b43_phy_maskset(dev, B43_NPHY_BPHY_CTL3, | ||
286 | ~B43_NPHY_BPHY_CTL3_SCALE, 0x5A); | ||
287 | |||
288 | if (dev->phy.rev < 2 && 0) | ||
289 | ; /* TODO */ | ||
290 | } else { | ||
291 | b43err(dev->wl, "enabling tx pwr ctrl not implemented yet\n"); | ||
292 | } | ||
293 | |||
294 | if (nphy->hang_avoid) | ||
295 | b43_nphy_stay_in_carrier_search(dev, 0); | ||
296 | } | ||
297 | |||
298 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/TxPwrFix */ | ||
155 | static void b43_nphy_tx_power_fix(struct b43_wldev *dev) | 299 | static void b43_nphy_tx_power_fix(struct b43_wldev *dev) |
156 | { | 300 | { |
157 | //TODO | 301 | struct b43_phy_n *nphy = dev->phy.n; |
302 | struct ssb_sprom *sprom = &(dev->sdev->bus->sprom); | ||
303 | |||
304 | u8 txpi[2], bbmult, i; | ||
305 | u16 tmp, radio_gain, dac_gain; | ||
306 | u16 freq = dev->phy.channel_freq; | ||
307 | u32 txgain; | ||
308 | /* u32 gaintbl; rev3+ */ | ||
309 | |||
310 | if (nphy->hang_avoid) | ||
311 | b43_nphy_stay_in_carrier_search(dev, 1); | ||
312 | |||
313 | if (dev->phy.rev >= 3) { | ||
314 | txpi[0] = 40; | ||
315 | txpi[1] = 40; | ||
316 | } else if (sprom->revision < 4) { | ||
317 | txpi[0] = 72; | ||
318 | txpi[1] = 72; | ||
319 | } else { | ||
320 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) { | ||
321 | txpi[0] = sprom->txpid2g[0]; | ||
322 | txpi[1] = sprom->txpid2g[1]; | ||
323 | } else if (freq >= 4900 && freq < 5100) { | ||
324 | txpi[0] = sprom->txpid5gl[0]; | ||
325 | txpi[1] = sprom->txpid5gl[1]; | ||
326 | } else if (freq >= 5100 && freq < 5500) { | ||
327 | txpi[0] = sprom->txpid5g[0]; | ||
328 | txpi[1] = sprom->txpid5g[1]; | ||
329 | } else if (freq >= 5500) { | ||
330 | txpi[0] = sprom->txpid5gh[0]; | ||
331 | txpi[1] = sprom->txpid5gh[1]; | ||
332 | } else { | ||
333 | txpi[0] = 91; | ||
334 | txpi[1] = 91; | ||
335 | } | ||
336 | } | ||
337 | |||
338 | /* | ||
339 | for (i = 0; i < 2; i++) { | ||
340 | nphy->txpwrindex[i].index_internal = txpi[i]; | ||
341 | nphy->txpwrindex[i].index_internal_save = txpi[i]; | ||
342 | } | ||
343 | */ | ||
344 | |||
345 | for (i = 0; i < 2; i++) { | ||
346 | if (dev->phy.rev >= 3) { | ||
347 | /* FIXME: support 5GHz */ | ||
348 | txgain = b43_ntab_tx_gain_rev3plus_2ghz[txpi[i]]; | ||
349 | radio_gain = (txgain >> 16) & 0x1FFFF; | ||
350 | } else { | ||
351 | txgain = b43_ntab_tx_gain_rev0_1_2[txpi[i]]; | ||
352 | radio_gain = (txgain >> 16) & 0x1FFF; | ||
353 | } | ||
354 | |||
355 | dac_gain = (txgain >> 8) & 0x3F; | ||
356 | bbmult = txgain & 0xFF; | ||
357 | |||
358 | if (dev->phy.rev >= 3) { | ||
359 | if (i == 0) | ||
360 | b43_phy_set(dev, B43_NPHY_AFECTL_OVER1, 0x0100); | ||
361 | else | ||
362 | b43_phy_set(dev, B43_NPHY_AFECTL_OVER, 0x0100); | ||
363 | } else { | ||
364 | b43_phy_set(dev, B43_NPHY_AFECTL_OVER, 0x4000); | ||
365 | } | ||
366 | |||
367 | if (i == 0) | ||
368 | b43_phy_write(dev, B43_NPHY_AFECTL_DACGAIN1, dac_gain); | ||
369 | else | ||
370 | b43_phy_write(dev, B43_NPHY_AFECTL_DACGAIN2, dac_gain); | ||
371 | |||
372 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x1D10 + i); | ||
373 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, radio_gain); | ||
374 | |||
375 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x3C57); | ||
376 | tmp = b43_phy_read(dev, B43_NPHY_TABLE_DATALO); | ||
377 | |||
378 | if (i == 0) | ||
379 | tmp = (tmp & 0x00FF) | (bbmult << 8); | ||
380 | else | ||
381 | tmp = (tmp & 0xFF00) | bbmult; | ||
382 | |||
383 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x3C57); | ||
384 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, tmp); | ||
385 | |||
386 | if (0) | ||
387 | ; /* TODO */ | ||
388 | } | ||
389 | |||
390 | b43_phy_mask(dev, B43_NPHY_BPHY_CTL2, ~B43_NPHY_BPHY_CTL2_LUT); | ||
391 | |||
392 | if (nphy->hang_avoid) | ||
393 | b43_nphy_stay_in_carrier_search(dev, 0); | ||
158 | } | 394 | } |
159 | 395 | ||
160 | 396 | ||
@@ -187,18 +423,19 @@ static void b43_radio_init2055_pre(struct b43_wldev *dev) | |||
187 | static void b43_radio_init2055_post(struct b43_wldev *dev) | 423 | static void b43_radio_init2055_post(struct b43_wldev *dev) |
188 | { | 424 | { |
189 | struct b43_phy_n *nphy = dev->phy.n; | 425 | struct b43_phy_n *nphy = dev->phy.n; |
190 | struct ssb_sprom *sprom = &(dev->dev->bus->sprom); | 426 | struct ssb_sprom *sprom = &(dev->sdev->bus->sprom); |
191 | struct ssb_boardinfo *binfo = &(dev->dev->bus->boardinfo); | 427 | struct ssb_boardinfo *binfo = &(dev->sdev->bus->boardinfo); |
192 | int i; | 428 | int i; |
193 | u16 val; | 429 | u16 val; |
194 | bool workaround = false; | 430 | bool workaround = false; |
195 | 431 | ||
196 | if (sprom->revision < 4) | 432 | if (sprom->revision < 4) |
197 | workaround = (binfo->vendor != PCI_VENDOR_ID_BROADCOM || | 433 | workaround = (binfo->vendor != PCI_VENDOR_ID_BROADCOM && |
198 | binfo->type != 0x46D || | 434 | binfo->type == 0x46D && |
199 | binfo->rev < 0x41); | 435 | binfo->rev >= 0x41); |
200 | else | 436 | else |
201 | workaround = ((sprom->boardflags_hi & B43_BFH_NOPA) == 0); | 437 | workaround = |
438 | !(sprom->boardflags2_lo & B43_BFL2_RXBB_INT_REG_DIS); | ||
202 | 439 | ||
203 | b43_radio_mask(dev, B2055_MASTER1, 0xFFF3); | 440 | b43_radio_mask(dev, B2055_MASTER1, 0xFFF3); |
204 | if (workaround) { | 441 | if (workaround) { |
@@ -223,7 +460,7 @@ static void b43_radio_init2055_post(struct b43_wldev *dev) | |||
223 | if (i) | 460 | if (i) |
224 | b43err(dev->wl, "radio post init timeout\n"); | 461 | b43err(dev->wl, "radio post init timeout\n"); |
225 | b43_radio_mask(dev, B2055_CAL_LPOCTL, 0xFF7F); | 462 | b43_radio_mask(dev, B2055_CAL_LPOCTL, 0xFF7F); |
226 | nphy_channel_switch(dev, dev->phy.channel); | 463 | b43_switch_channel(dev, dev->phy.channel); |
227 | b43_radio_write(dev, B2055_C1_RX_BB_LPF, 0x9); | 464 | b43_radio_write(dev, B2055_C1_RX_BB_LPF, 0x9); |
228 | b43_radio_write(dev, B2055_C2_RX_BB_LPF, 0x9); | 465 | b43_radio_write(dev, B2055_C2_RX_BB_LPF, 0x9); |
229 | b43_radio_write(dev, B2055_C1_RX_BB_MIDACHP, 0x83); | 466 | b43_radio_write(dev, B2055_C1_RX_BB_MIDACHP, 0x83); |
@@ -247,23 +484,55 @@ static void b43_radio_init2055_post(struct b43_wldev *dev) | |||
247 | static void b43_radio_init2055(struct b43_wldev *dev) | 484 | static void b43_radio_init2055(struct b43_wldev *dev) |
248 | { | 485 | { |
249 | b43_radio_init2055_pre(dev); | 486 | b43_radio_init2055_pre(dev); |
250 | if (b43_status(dev) < B43_STAT_INITIALIZED) | 487 | if (b43_status(dev) < B43_STAT_INITIALIZED) { |
251 | b2055_upload_inittab(dev, 0, 1); | 488 | /* Follow wl, not specs. Do not force uploading all regs */ |
252 | else | 489 | b2055_upload_inittab(dev, 0, 0); |
253 | b2055_upload_inittab(dev, 0/*FIXME on 5ghz band*/, 0); | 490 | } else { |
491 | bool ghz5 = b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ; | ||
492 | b2055_upload_inittab(dev, ghz5, 0); | ||
493 | } | ||
254 | b43_radio_init2055_post(dev); | 494 | b43_radio_init2055_post(dev); |
255 | } | 495 | } |
256 | 496 | ||
497 | static void b43_radio_init2056_pre(struct b43_wldev *dev) | ||
498 | { | ||
499 | b43_phy_mask(dev, B43_NPHY_RFCTL_CMD, | ||
500 | ~B43_NPHY_RFCTL_CMD_CHIP0PU); | ||
501 | /* Maybe wl meant to reset and set (order?) RFCTL_CMD_OEPORFORCE? */ | ||
502 | b43_phy_mask(dev, B43_NPHY_RFCTL_CMD, | ||
503 | B43_NPHY_RFCTL_CMD_OEPORFORCE); | ||
504 | b43_phy_set(dev, B43_NPHY_RFCTL_CMD, | ||
505 | ~B43_NPHY_RFCTL_CMD_OEPORFORCE); | ||
506 | b43_phy_set(dev, B43_NPHY_RFCTL_CMD, | ||
507 | B43_NPHY_RFCTL_CMD_CHIP0PU); | ||
508 | } | ||
509 | |||
510 | static void b43_radio_init2056_post(struct b43_wldev *dev) | ||
511 | { | ||
512 | b43_radio_set(dev, B2056_SYN_COM_CTRL, 0xB); | ||
513 | b43_radio_set(dev, B2056_SYN_COM_PU, 0x2); | ||
514 | b43_radio_set(dev, B2056_SYN_COM_RESET, 0x2); | ||
515 | msleep(1); | ||
516 | b43_radio_mask(dev, B2056_SYN_COM_RESET, ~0x2); | ||
517 | b43_radio_mask(dev, B2056_SYN_PLL_MAST2, ~0xFC); | ||
518 | b43_radio_mask(dev, B2056_SYN_RCCAL_CTRL0, ~0x1); | ||
519 | /* | ||
520 | if (nphy->init_por) | ||
521 | Call Radio 2056 Recalibrate | ||
522 | */ | ||
523 | } | ||
524 | |||
257 | /* | 525 | /* |
258 | * Initialize a Broadcom 2056 N-radio | 526 | * Initialize a Broadcom 2056 N-radio |
259 | * http://bcm-v4.sipsolutions.net/802.11/Radio/2056/Init | 527 | * http://bcm-v4.sipsolutions.net/802.11/Radio/2056/Init |
260 | */ | 528 | */ |
261 | static void b43_radio_init2056(struct b43_wldev *dev) | 529 | static void b43_radio_init2056(struct b43_wldev *dev) |
262 | { | 530 | { |
263 | /* TODO */ | 531 | b43_radio_init2056_pre(dev); |
532 | b2056_upload_inittabs(dev, 0, 0); | ||
533 | b43_radio_init2056_post(dev); | ||
264 | } | 534 | } |
265 | 535 | ||
266 | |||
267 | /* | 536 | /* |
268 | * Upload the N-PHY tables. | 537 | * Upload the N-PHY tables. |
269 | * http://bcm-v4.sipsolutions.net/802.11/PHY/N/InitTables | 538 | * http://bcm-v4.sipsolutions.net/802.11/PHY/N/InitTables |
@@ -340,12 +609,12 @@ static void b43_nphy_bmac_clock_fgc(struct b43_wldev *dev, bool force) | |||
340 | if (dev->phy.type != B43_PHYTYPE_N) | 609 | if (dev->phy.type != B43_PHYTYPE_N) |
341 | return; | 610 | return; |
342 | 611 | ||
343 | tmslow = ssb_read32(dev->dev, SSB_TMSLOW); | 612 | tmslow = ssb_read32(dev->sdev, SSB_TMSLOW); |
344 | if (force) | 613 | if (force) |
345 | tmslow |= SSB_TMSLOW_FGC; | 614 | tmslow |= SSB_TMSLOW_FGC; |
346 | else | 615 | else |
347 | tmslow &= ~SSB_TMSLOW_FGC; | 616 | tmslow &= ~SSB_TMSLOW_FGC; |
348 | ssb_write32(dev->dev, SSB_TMSLOW, tmslow); | 617 | ssb_write32(dev->sdev, SSB_TMSLOW, tmslow); |
349 | } | 618 | } |
350 | 619 | ||
351 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/CCA */ | 620 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/CCA */ |
@@ -460,6 +729,8 @@ static void b43_nphy_rx_iq_coeffs(struct b43_wldev *dev, bool write, | |||
460 | } | 729 | } |
461 | } | 730 | } |
462 | 731 | ||
732 | #if 0 | ||
733 | /* Ready but not used anywhere */ | ||
463 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/RxCalPhyCleanup */ | 734 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/RxCalPhyCleanup */ |
464 | static void b43_nphy_rx_cal_phy_cleanup(struct b43_wldev *dev, u8 core) | 735 | static void b43_nphy_rx_cal_phy_cleanup(struct b43_wldev *dev, u8 core) |
465 | { | 736 | { |
@@ -541,6 +812,7 @@ static void b43_nphy_rx_cal_phy_setup(struct b43_wldev *dev, u8 core) | |||
541 | b43_nphy_rf_control_intc_override(dev, 1, rxval, (core + 1)); | 812 | b43_nphy_rf_control_intc_override(dev, 1, rxval, (core + 1)); |
542 | b43_nphy_rf_control_intc_override(dev, 1, txval, (2 - core)); | 813 | b43_nphy_rf_control_intc_override(dev, 1, txval, (2 - core)); |
543 | } | 814 | } |
815 | #endif | ||
544 | 816 | ||
545 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/CalcRxIqComp */ | 817 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/CalcRxIqComp */ |
546 | static void b43_nphy_calc_rx_iq_comp(struct b43_wldev *dev, u8 mask) | 818 | static void b43_nphy_calc_rx_iq_comp(struct b43_wldev *dev, u8 mask) |
@@ -576,7 +848,6 @@ static void b43_nphy_calc_rx_iq_comp(struct b43_wldev *dev, u8 mask) | |||
576 | ii = est.i1_pwr; | 848 | ii = est.i1_pwr; |
577 | qq = est.q1_pwr; | 849 | qq = est.q1_pwr; |
578 | } else { | 850 | } else { |
579 | B43_WARN_ON(1); | ||
580 | continue; | 851 | continue; |
581 | } | 852 | } |
582 | 853 | ||
@@ -658,7 +929,8 @@ static void b43_nphy_tx_iq_workaround(struct b43_wldev *dev) | |||
658 | } | 929 | } |
659 | 930 | ||
660 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/clip-detection */ | 931 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/clip-detection */ |
661 | static void b43_nphy_write_clip_detection(struct b43_wldev *dev, u16 *clip_st) | 932 | static void b43_nphy_write_clip_detection(struct b43_wldev *dev, |
933 | const u16 *clip_st) | ||
662 | { | 934 | { |
663 | b43_phy_write(dev, B43_NPHY_C1_CLIP1THRES, clip_st[0]); | 935 | b43_phy_write(dev, B43_NPHY_C1_CLIP1THRES, clip_st[0]); |
664 | b43_phy_write(dev, B43_NPHY_C2_CLIP1THRES, clip_st[1]); | 936 | b43_phy_write(dev, B43_NPHY_C2_CLIP1THRES, clip_st[1]); |
@@ -687,7 +959,7 @@ static void b43_nphy_superswitch_init(struct b43_wldev *dev, bool init) | |||
687 | b43_phy_write(dev, B43_NPHY_GPIO_LOOEN, 0); | 959 | b43_phy_write(dev, B43_NPHY_GPIO_LOOEN, 0); |
688 | b43_phy_write(dev, B43_NPHY_GPIO_HIOEN, 0); | 960 | b43_phy_write(dev, B43_NPHY_GPIO_HIOEN, 0); |
689 | 961 | ||
690 | ssb_chipco_gpio_control(&dev->dev->bus->chipco, 0xFC00, | 962 | ssb_chipco_gpio_control(&dev->sdev->bus->chipco, 0xFC00, |
691 | 0xFC00); | 963 | 0xFC00); |
692 | b43_write32(dev, B43_MMIO_MACCTL, | 964 | b43_write32(dev, B43_MMIO_MACCTL, |
693 | b43_read32(dev, B43_MMIO_MACCTL) & | 965 | b43_read32(dev, B43_MMIO_MACCTL) & |
@@ -711,7 +983,7 @@ static u16 b43_nphy_classifier(struct b43_wldev *dev, u16 mask, u16 val) | |||
711 | { | 983 | { |
712 | u16 tmp; | 984 | u16 tmp; |
713 | 985 | ||
714 | if (dev->dev->id.revision == 16) | 986 | if (dev->sdev->id.revision == 16) |
715 | b43_mac_suspend(dev); | 987 | b43_mac_suspend(dev); |
716 | 988 | ||
717 | tmp = b43_phy_read(dev, B43_NPHY_CLASSCTL); | 989 | tmp = b43_phy_read(dev, B43_NPHY_CLASSCTL); |
@@ -721,7 +993,7 @@ static u16 b43_nphy_classifier(struct b43_wldev *dev, u16 mask, u16 val) | |||
721 | tmp |= (val & mask); | 993 | tmp |= (val & mask); |
722 | b43_phy_maskset(dev, B43_NPHY_CLASSCTL, 0xFFF8, tmp); | 994 | b43_phy_maskset(dev, B43_NPHY_CLASSCTL, 0xFFF8, tmp); |
723 | 995 | ||
724 | if (dev->dev->id.revision == 16) | 996 | if (dev->sdev->id.revision == 16) |
725 | b43_mac_enable(dev); | 997 | b43_mac_enable(dev); |
726 | 998 | ||
727 | return tmp; | 999 | return tmp; |
@@ -734,7 +1006,7 @@ static void b43_nphy_stay_in_carrier_search(struct b43_wldev *dev, bool enable) | |||
734 | struct b43_phy_n *nphy = phy->n; | 1006 | struct b43_phy_n *nphy = phy->n; |
735 | 1007 | ||
736 | if (enable) { | 1008 | if (enable) { |
737 | u16 clip[] = { 0xFFFF, 0xFFFF }; | 1009 | static const u16 clip[] = { 0xFFFF, 0xFFFF }; |
738 | if (nphy->deaf_count++ == 0) { | 1010 | if (nphy->deaf_count++ == 0) { |
739 | nphy->classifier_state = b43_nphy_classifier(dev, 0, 0); | 1011 | nphy->classifier_state = b43_nphy_classifier(dev, 0, 0); |
740 | b43_nphy_classifier(dev, 0x7, 0); | 1012 | b43_nphy_classifier(dev, 0x7, 0); |
@@ -782,7 +1054,7 @@ static void b43_nphy_spur_workaround(struct b43_wldev *dev) | |||
782 | { | 1054 | { |
783 | struct b43_phy_n *nphy = dev->phy.n; | 1055 | struct b43_phy_n *nphy = dev->phy.n; |
784 | 1056 | ||
785 | u8 channel = nphy->radio_chanspec.channel; | 1057 | u8 channel = dev->phy.channel; |
786 | int tone[2] = { 57, 58 }; | 1058 | int tone[2] = { 57, 58 }; |
787 | u32 noise[2] = { 0x3FF, 0x3FF }; | 1059 | u32 noise[2] = { 0x3FF, 0x3FF }; |
788 | 1060 | ||
@@ -846,7 +1118,7 @@ static void b43_nphy_adjust_lna_gain_table(struct b43_wldev *dev) | |||
846 | u16 data[4]; | 1118 | u16 data[4]; |
847 | s16 gain[2]; | 1119 | s16 gain[2]; |
848 | u16 minmax[2]; | 1120 | u16 minmax[2]; |
849 | u16 lna_gain[4] = { -2, 10, 19, 25 }; | 1121 | static const u16 lna_gain[4] = { -2, 10, 19, 25 }; |
850 | 1122 | ||
851 | if (nphy->hang_avoid) | 1123 | if (nphy->hang_avoid) |
852 | b43_nphy_stay_in_carrier_search(dev, 1); | 1124 | b43_nphy_stay_in_carrier_search(dev, 1); |
@@ -856,9 +1128,9 @@ static void b43_nphy_adjust_lna_gain_table(struct b43_wldev *dev) | |||
856 | gain[0] = 6; | 1128 | gain[0] = 6; |
857 | gain[1] = 6; | 1129 | gain[1] = 6; |
858 | } else { | 1130 | } else { |
859 | tmp = 40370 - 315 * nphy->radio_chanspec.channel; | 1131 | tmp = 40370 - 315 * dev->phy.channel; |
860 | gain[0] = ((tmp >> 13) + ((tmp >> 12) & 1)); | 1132 | gain[0] = ((tmp >> 13) + ((tmp >> 12) & 1)); |
861 | tmp = 23242 - 224 * nphy->radio_chanspec.channel; | 1133 | tmp = 23242 - 224 * dev->phy.channel; |
862 | gain[1] = ((tmp >> 13) + ((tmp >> 12) & 1)); | 1134 | gain[1] = ((tmp >> 13) + ((tmp >> 12) & 1)); |
863 | } | 1135 | } |
864 | } else { | 1136 | } else { |
@@ -878,7 +1150,7 @@ static void b43_nphy_adjust_lna_gain_table(struct b43_wldev *dev) | |||
878 | data[2] = lna_gain[2] + gain[i]; | 1150 | data[2] = lna_gain[2] + gain[i]; |
879 | data[3] = lna_gain[3] + gain[i]; | 1151 | data[3] = lna_gain[3] + gain[i]; |
880 | } | 1152 | } |
881 | b43_ntab_write_bulk(dev, B43_NTAB16(10, 8), 4, data); | 1153 | b43_ntab_write_bulk(dev, B43_NTAB16(i, 8), 4, data); |
882 | 1154 | ||
883 | minmax[i] = 23 + gain[i]; | 1155 | minmax[i] = 23 + gain[i]; |
884 | } | 1156 | } |
@@ -893,25 +1165,101 @@ static void b43_nphy_adjust_lna_gain_table(struct b43_wldev *dev) | |||
893 | } | 1165 | } |
894 | 1166 | ||
895 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/WorkaroundsGainCtrl */ | 1167 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/WorkaroundsGainCtrl */ |
896 | static void b43_nphy_gain_crtl_workarounds(struct b43_wldev *dev) | 1168 | static void b43_nphy_gain_ctrl_workarounds(struct b43_wldev *dev) |
897 | { | 1169 | { |
898 | struct b43_phy_n *nphy = dev->phy.n; | 1170 | struct b43_phy_n *nphy = dev->phy.n; |
1171 | struct ssb_sprom *sprom = &(dev->sdev->bus->sprom); | ||
1172 | |||
1173 | /* PHY rev 0, 1, 2 */ | ||
899 | u8 i, j; | 1174 | u8 i, j; |
900 | u8 code; | 1175 | u8 code; |
1176 | u16 tmp; | ||
1177 | u8 rfseq_events[3] = { 6, 8, 7 }; | ||
1178 | u8 rfseq_delays[3] = { 10, 30, 1 }; | ||
901 | 1179 | ||
902 | /* TODO: for PHY >= 3 | 1180 | /* PHY rev >= 3 */ |
903 | s8 *lna1_gain, *lna2_gain; | 1181 | bool ghz5; |
904 | u8 *gain_db, *gain_bits; | 1182 | bool ext_lna; |
905 | u16 *rfseq_init; | 1183 | u16 rssi_gain; |
1184 | struct nphy_gain_ctl_workaround_entry *e; | ||
906 | u8 lpf_gain[6] = { 0x00, 0x06, 0x0C, 0x12, 0x12, 0x12 }; | 1185 | u8 lpf_gain[6] = { 0x00, 0x06, 0x0C, 0x12, 0x12, 0x12 }; |
907 | u8 lpf_bits[6] = { 0, 1, 2, 3, 3, 3 }; | 1186 | u8 lpf_bits[6] = { 0, 1, 2, 3, 3, 3 }; |
908 | */ | ||
909 | |||
910 | u8 rfseq_events[3] = { 6, 8, 7 }; | ||
911 | u8 rfseq_delays[3] = { 10, 30, 1 }; | ||
912 | 1187 | ||
913 | if (dev->phy.rev >= 3) { | 1188 | if (dev->phy.rev >= 3) { |
914 | /* TODO */ | 1189 | /* Prepare values */ |
1190 | ghz5 = b43_phy_read(dev, B43_NPHY_BANDCTL) | ||
1191 | & B43_NPHY_BANDCTL_5GHZ; | ||
1192 | ext_lna = sprom->boardflags_lo & B43_BFL_EXTLNA; | ||
1193 | e = b43_nphy_get_gain_ctl_workaround_ent(dev, ghz5, ext_lna); | ||
1194 | if (ghz5 && dev->phy.rev >= 5) | ||
1195 | rssi_gain = 0x90; | ||
1196 | else | ||
1197 | rssi_gain = 0x50; | ||
1198 | |||
1199 | b43_phy_set(dev, B43_NPHY_RXCTL, 0x0040); | ||
1200 | |||
1201 | /* Set Clip 2 detect */ | ||
1202 | b43_phy_set(dev, B43_NPHY_C1_CGAINI, | ||
1203 | B43_NPHY_C1_CGAINI_CL2DETECT); | ||
1204 | b43_phy_set(dev, B43_NPHY_C2_CGAINI, | ||
1205 | B43_NPHY_C2_CGAINI_CL2DETECT); | ||
1206 | |||
1207 | b43_radio_write(dev, B2056_RX0 | B2056_RX_BIASPOLE_LNAG1_IDAC, | ||
1208 | 0x17); | ||
1209 | b43_radio_write(dev, B2056_RX1 | B2056_RX_BIASPOLE_LNAG1_IDAC, | ||
1210 | 0x17); | ||
1211 | b43_radio_write(dev, B2056_RX0 | B2056_RX_LNAG2_IDAC, 0xF0); | ||
1212 | b43_radio_write(dev, B2056_RX1 | B2056_RX_LNAG2_IDAC, 0xF0); | ||
1213 | b43_radio_write(dev, B2056_RX0 | B2056_RX_RSSI_POLE, 0x00); | ||
1214 | b43_radio_write(dev, B2056_RX1 | B2056_RX_RSSI_POLE, 0x00); | ||
1215 | b43_radio_write(dev, B2056_RX0 | B2056_RX_RSSI_GAIN, | ||
1216 | rssi_gain); | ||
1217 | b43_radio_write(dev, B2056_RX1 | B2056_RX_RSSI_GAIN, | ||
1218 | rssi_gain); | ||
1219 | b43_radio_write(dev, B2056_RX0 | B2056_RX_BIASPOLE_LNAA1_IDAC, | ||
1220 | 0x17); | ||
1221 | b43_radio_write(dev, B2056_RX1 | B2056_RX_BIASPOLE_LNAA1_IDAC, | ||
1222 | 0x17); | ||
1223 | b43_radio_write(dev, B2056_RX0 | B2056_RX_LNAA2_IDAC, 0xFF); | ||
1224 | b43_radio_write(dev, B2056_RX1 | B2056_RX_LNAA2_IDAC, 0xFF); | ||
1225 | |||
1226 | b43_ntab_write_bulk(dev, B43_NTAB8(0, 8), 4, e->lna1_gain); | ||
1227 | b43_ntab_write_bulk(dev, B43_NTAB8(1, 8), 4, e->lna1_gain); | ||
1228 | b43_ntab_write_bulk(dev, B43_NTAB8(0, 16), 4, e->lna2_gain); | ||
1229 | b43_ntab_write_bulk(dev, B43_NTAB8(1, 16), 4, e->lna2_gain); | ||
1230 | b43_ntab_write_bulk(dev, B43_NTAB8(0, 32), 10, e->gain_db); | ||
1231 | b43_ntab_write_bulk(dev, B43_NTAB8(1, 32), 10, e->gain_db); | ||
1232 | b43_ntab_write_bulk(dev, B43_NTAB8(2, 32), 10, e->gain_bits); | ||
1233 | b43_ntab_write_bulk(dev, B43_NTAB8(3, 32), 10, e->gain_bits); | ||
1234 | b43_ntab_write_bulk(dev, B43_NTAB8(0, 0x40), 6, lpf_gain); | ||
1235 | b43_ntab_write_bulk(dev, B43_NTAB8(1, 0x40), 6, lpf_gain); | ||
1236 | b43_ntab_write_bulk(dev, B43_NTAB8(2, 0x40), 6, lpf_bits); | ||
1237 | b43_ntab_write_bulk(dev, B43_NTAB8(3, 0x40), 6, lpf_bits); | ||
1238 | |||
1239 | b43_phy_write(dev, B43_NPHY_C1_INITGAIN, e->init_gain); | ||
1240 | b43_phy_write(dev, 0x2A7, e->init_gain); | ||
1241 | b43_ntab_write_bulk(dev, B43_NTAB16(7, 0x106), 2, | ||
1242 | e->rfseq_init); | ||
1243 | b43_phy_write(dev, B43_NPHY_C1_INITGAIN, e->init_gain); | ||
1244 | |||
1245 | /* TODO: check defines. Do not match variables names */ | ||
1246 | b43_phy_write(dev, B43_NPHY_C1_CLIP1_MEDGAIN, e->cliphi_gain); | ||
1247 | b43_phy_write(dev, 0x2A9, e->cliphi_gain); | ||
1248 | b43_phy_write(dev, B43_NPHY_C1_CLIP2_GAIN, e->clipmd_gain); | ||
1249 | b43_phy_write(dev, 0x2AB, e->clipmd_gain); | ||
1250 | b43_phy_write(dev, B43_NPHY_C2_CLIP1_HIGAIN, e->cliplo_gain); | ||
1251 | b43_phy_write(dev, 0x2AD, e->cliplo_gain); | ||
1252 | |||
1253 | b43_phy_maskset(dev, 0x27D, 0xFF00, e->crsmin); | ||
1254 | b43_phy_maskset(dev, 0x280, 0xFF00, e->crsminl); | ||
1255 | b43_phy_maskset(dev, 0x283, 0xFF00, e->crsminu); | ||
1256 | b43_phy_write(dev, B43_NPHY_C1_NBCLIPTHRES, e->nbclip); | ||
1257 | b43_phy_write(dev, B43_NPHY_C2_NBCLIPTHRES, e->nbclip); | ||
1258 | b43_phy_maskset(dev, B43_NPHY_C1_CLIPWBTHRES, | ||
1259 | ~B43_NPHY_C1_CLIPWBTHRES_CLIP2, e->wlclip); | ||
1260 | b43_phy_maskset(dev, B43_NPHY_C2_CLIPWBTHRES, | ||
1261 | ~B43_NPHY_C2_CLIPWBTHRES_CLIP2, e->wlclip); | ||
1262 | b43_phy_write(dev, B43_NPHY_CCK_SHIFTB_REF, 0x809C); | ||
915 | } else { | 1263 | } else { |
916 | /* Set Clip 2 detect */ | 1264 | /* Set Clip 2 detect */ |
917 | b43_phy_set(dev, B43_NPHY_C1_CGAINI, | 1265 | b43_phy_set(dev, B43_NPHY_C1_CGAINI, |
@@ -920,15 +1268,15 @@ static void b43_nphy_gain_crtl_workarounds(struct b43_wldev *dev) | |||
920 | B43_NPHY_C2_CGAINI_CL2DETECT); | 1268 | B43_NPHY_C2_CGAINI_CL2DETECT); |
921 | 1269 | ||
922 | /* Set narrowband clip threshold */ | 1270 | /* Set narrowband clip threshold */ |
923 | b43_phy_set(dev, B43_NPHY_C1_NBCLIPTHRES, 0x84); | 1271 | b43_phy_write(dev, B43_NPHY_C1_NBCLIPTHRES, 0x84); |
924 | b43_phy_set(dev, B43_NPHY_C2_NBCLIPTHRES, 0x84); | 1272 | b43_phy_write(dev, B43_NPHY_C2_NBCLIPTHRES, 0x84); |
925 | 1273 | ||
926 | if (!dev->phy.is_40mhz) { | 1274 | if (!dev->phy.is_40mhz) { |
927 | /* Set dwell lengths */ | 1275 | /* Set dwell lengths */ |
928 | b43_phy_set(dev, B43_NPHY_CLIP1_NBDWELL_LEN, 0x002B); | 1276 | b43_phy_write(dev, B43_NPHY_CLIP1_NBDWELL_LEN, 0x002B); |
929 | b43_phy_set(dev, B43_NPHY_CLIP2_NBDWELL_LEN, 0x002B); | 1277 | b43_phy_write(dev, B43_NPHY_CLIP2_NBDWELL_LEN, 0x002B); |
930 | b43_phy_set(dev, B43_NPHY_W1CLIP1_DWELL_LEN, 0x0009); | 1278 | b43_phy_write(dev, B43_NPHY_W1CLIP1_DWELL_LEN, 0x0009); |
931 | b43_phy_set(dev, B43_NPHY_W1CLIP2_DWELL_LEN, 0x0009); | 1279 | b43_phy_write(dev, B43_NPHY_W1CLIP2_DWELL_LEN, 0x0009); |
932 | } | 1280 | } |
933 | 1281 | ||
934 | /* Set wideband clip 2 threshold */ | 1282 | /* Set wideband clip 2 threshold */ |
@@ -950,7 +1298,7 @@ static void b43_nphy_gain_crtl_workarounds(struct b43_wldev *dev) | |||
950 | ~B43_NPHY_C2_CCK_CGAINI_GAINBKOFF, 0x1); | 1298 | ~B43_NPHY_C2_CCK_CGAINI_GAINBKOFF, 0x1); |
951 | } | 1299 | } |
952 | 1300 | ||
953 | b43_phy_set(dev, B43_NPHY_CCK_SHIFTB_REF, 0x809C); | 1301 | b43_phy_write(dev, B43_NPHY_CCK_SHIFTB_REF, 0x809C); |
954 | 1302 | ||
955 | if (nphy->gain_boost) { | 1303 | if (nphy->gain_boost) { |
956 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ && | 1304 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ && |
@@ -971,10 +1319,10 @@ static void b43_nphy_gain_crtl_workarounds(struct b43_wldev *dev) | |||
971 | code << B43_NPHY_C2_INITGAIN_HPVGA2_SHIFT); | 1319 | code << B43_NPHY_C2_INITGAIN_HPVGA2_SHIFT); |
972 | 1320 | ||
973 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x1D06); | 1321 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x1D06); |
974 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, | 1322 | /* specs say about 2 loops, but wl does 4 */ |
975 | (code << 8 | 0x7C)); | 1323 | for (i = 0; i < 4; i++) |
976 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, | 1324 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, |
977 | (code << 8 | 0x7C)); | 1325 | (code << 8 | 0x7C)); |
978 | 1326 | ||
979 | b43_nphy_adjust_lna_gain_table(dev); | 1327 | b43_nphy_adjust_lna_gain_table(dev); |
980 | 1328 | ||
@@ -992,38 +1340,40 @@ static void b43_nphy_gain_crtl_workarounds(struct b43_wldev *dev) | |||
992 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0x1); | 1340 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0x1); |
993 | 1341 | ||
994 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x1D06); | 1342 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x1D06); |
995 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, | 1343 | /* specs say about 2 loops, but wl does 4 */ |
996 | (code << 8 | 0x74)); | 1344 | for (i = 0; i < 4; i++) |
997 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, | 1345 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, |
998 | (code << 8 | 0x74)); | 1346 | (code << 8 | 0x74)); |
999 | } | 1347 | } |
1000 | 1348 | ||
1001 | if (dev->phy.rev == 2) { | 1349 | if (dev->phy.rev == 2) { |
1002 | for (i = 0; i < 4; i++) { | 1350 | for (i = 0; i < 4; i++) { |
1003 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, | 1351 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, |
1004 | (0x0400 * i) + 0x0020); | 1352 | (0x0400 * i) + 0x0020); |
1005 | for (j = 0; j < 21; j++) | 1353 | for (j = 0; j < 21; j++) { |
1354 | tmp = j * (i < 2 ? 3 : 1); | ||
1006 | b43_phy_write(dev, | 1355 | b43_phy_write(dev, |
1007 | B43_NPHY_TABLE_DATALO, 3 * j); | 1356 | B43_NPHY_TABLE_DATALO, tmp); |
1357 | } | ||
1008 | } | 1358 | } |
1359 | } | ||
1009 | 1360 | ||
1010 | b43_nphy_set_rf_sequence(dev, 5, | 1361 | b43_nphy_set_rf_sequence(dev, 5, |
1011 | rfseq_events, rfseq_delays, 3); | 1362 | rfseq_events, rfseq_delays, 3); |
1012 | b43_phy_maskset(dev, B43_NPHY_OVER_DGAIN1, | 1363 | b43_phy_maskset(dev, B43_NPHY_OVER_DGAIN1, |
1013 | ~B43_NPHY_OVER_DGAIN_CCKDGECV & 0xFFFF, | 1364 | ~B43_NPHY_OVER_DGAIN_CCKDGECV & 0xFFFF, |
1014 | 0x5A << B43_NPHY_OVER_DGAIN_CCKDGECV_SHIFT); | 1365 | 0x5A << B43_NPHY_OVER_DGAIN_CCKDGECV_SHIFT); |
1015 | 1366 | ||
1016 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) | 1367 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) |
1017 | b43_phy_maskset(dev, B43_PHY_N(0xC5D), | 1368 | b43_phy_maskset(dev, B43_PHY_N(0xC5D), |
1018 | 0xFF80, 4); | 1369 | 0xFF80, 4); |
1019 | } | ||
1020 | } | 1370 | } |
1021 | } | 1371 | } |
1022 | 1372 | ||
1023 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/Workarounds */ | 1373 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/Workarounds */ |
1024 | static void b43_nphy_workarounds(struct b43_wldev *dev) | 1374 | static void b43_nphy_workarounds(struct b43_wldev *dev) |
1025 | { | 1375 | { |
1026 | struct ssb_bus *bus = dev->dev->bus; | 1376 | struct ssb_bus *bus = dev->sdev->bus; |
1027 | struct b43_phy *phy = &dev->phy; | 1377 | struct b43_phy *phy = &dev->phy; |
1028 | struct b43_phy_n *nphy = phy->n; | 1378 | struct b43_phy_n *nphy = phy->n; |
1029 | 1379 | ||
@@ -1033,7 +1383,10 @@ static void b43_nphy_workarounds(struct b43_wldev *dev) | |||
1033 | u8 events2[7] = { 0x0, 0x3, 0x5, 0x4, 0x2, 0x1, 0x8 }; | 1383 | u8 events2[7] = { 0x0, 0x3, 0x5, 0x4, 0x2, 0x1, 0x8 }; |
1034 | u8 delays2[7] = { 0x8, 0x6, 0x2, 0x4, 0x4, 0x6, 0x1 }; | 1384 | u8 delays2[7] = { 0x8, 0x6, 0x2, 0x4, 0x4, 0x6, 0x1 }; |
1035 | 1385 | ||
1036 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) | 1386 | u16 tmp16; |
1387 | u32 tmp32; | ||
1388 | |||
1389 | if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) | ||
1037 | b43_nphy_classifier(dev, 1, 0); | 1390 | b43_nphy_classifier(dev, 1, 0); |
1038 | else | 1391 | else |
1039 | b43_nphy_classifier(dev, 1, 1); | 1392 | b43_nphy_classifier(dev, 1, 1); |
@@ -1045,7 +1398,82 @@ static void b43_nphy_workarounds(struct b43_wldev *dev) | |||
1045 | B43_NPHY_IQFLIP_ADC1 | B43_NPHY_IQFLIP_ADC2); | 1398 | B43_NPHY_IQFLIP_ADC1 | B43_NPHY_IQFLIP_ADC2); |
1046 | 1399 | ||
1047 | if (dev->phy.rev >= 3) { | 1400 | if (dev->phy.rev >= 3) { |
1401 | tmp32 = b43_ntab_read(dev, B43_NTAB32(30, 0)); | ||
1402 | tmp32 &= 0xffffff; | ||
1403 | b43_ntab_write(dev, B43_NTAB32(30, 0), tmp32); | ||
1404 | |||
1405 | b43_phy_write(dev, B43_NPHY_PHASETR_A0, 0x0125); | ||
1406 | b43_phy_write(dev, B43_NPHY_PHASETR_A1, 0x01B3); | ||
1407 | b43_phy_write(dev, B43_NPHY_PHASETR_A2, 0x0105); | ||
1408 | b43_phy_write(dev, B43_NPHY_PHASETR_B0, 0x016E); | ||
1409 | b43_phy_write(dev, B43_NPHY_PHASETR_B1, 0x00CD); | ||
1410 | b43_phy_write(dev, B43_NPHY_PHASETR_B2, 0x0020); | ||
1411 | |||
1412 | b43_phy_write(dev, B43_NPHY_C2_CLIP1_MEDGAIN, 0x000C); | ||
1413 | b43_phy_write(dev, 0x2AE, 0x000C); | ||
1414 | |||
1048 | /* TODO */ | 1415 | /* TODO */ |
1416 | |||
1417 | tmp16 = (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) ? | ||
1418 | 0x2 : 0x9C40; | ||
1419 | b43_phy_write(dev, B43_NPHY_ENDROP_TLEN, tmp16); | ||
1420 | |||
1421 | b43_phy_maskset(dev, 0x294, 0xF0FF, 0x0700); | ||
1422 | |||
1423 | b43_ntab_write(dev, B43_NTAB32(16, 3), 0x18D); | ||
1424 | b43_ntab_write(dev, B43_NTAB32(16, 127), 0x18D); | ||
1425 | |||
1426 | b43_nphy_gain_ctrl_workarounds(dev); | ||
1427 | |||
1428 | b43_ntab_write(dev, B43_NTAB32(8, 0), 2); | ||
1429 | b43_ntab_write(dev, B43_NTAB32(8, 16), 2); | ||
1430 | |||
1431 | /* TODO */ | ||
1432 | |||
1433 | b43_radio_write(dev, B2056_RX0 | B2056_RX_MIXA_MAST_BIAS, 0x00); | ||
1434 | b43_radio_write(dev, B2056_RX1 | B2056_RX_MIXA_MAST_BIAS, 0x00); | ||
1435 | b43_radio_write(dev, B2056_RX0 | B2056_RX_MIXA_BIAS_MAIN, 0x06); | ||
1436 | b43_radio_write(dev, B2056_RX1 | B2056_RX_MIXA_BIAS_MAIN, 0x06); | ||
1437 | b43_radio_write(dev, B2056_RX0 | B2056_RX_MIXA_BIAS_AUX, 0x07); | ||
1438 | b43_radio_write(dev, B2056_RX1 | B2056_RX_MIXA_BIAS_AUX, 0x07); | ||
1439 | b43_radio_write(dev, B2056_RX0 | B2056_RX_MIXA_LOB_BIAS, 0x88); | ||
1440 | b43_radio_write(dev, B2056_RX1 | B2056_RX_MIXA_LOB_BIAS, 0x88); | ||
1441 | b43_radio_write(dev, B2056_RX0 | B2056_RX_MIXG_CMFB_IDAC, 0x00); | ||
1442 | b43_radio_write(dev, B2056_RX1 | B2056_RX_MIXG_CMFB_IDAC, 0x00); | ||
1443 | |||
1444 | /* N PHY WAR TX Chain Update with hw_phytxchain as argument */ | ||
1445 | |||
1446 | if ((bus->sprom.boardflags2_lo & B43_BFL2_APLL_WAR && | ||
1447 | b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) || | ||
1448 | (bus->sprom.boardflags2_lo & B43_BFL2_GPLL_WAR && | ||
1449 | b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)) | ||
1450 | tmp32 = 0x00088888; | ||
1451 | else | ||
1452 | tmp32 = 0x88888888; | ||
1453 | b43_ntab_write(dev, B43_NTAB32(30, 1), tmp32); | ||
1454 | b43_ntab_write(dev, B43_NTAB32(30, 2), tmp32); | ||
1455 | b43_ntab_write(dev, B43_NTAB32(30, 3), tmp32); | ||
1456 | |||
1457 | if (dev->phy.rev == 4 && | ||
1458 | b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ) { | ||
1459 | b43_radio_write(dev, B2056_TX0 | B2056_TX_GMBB_IDAC, | ||
1460 | 0x70); | ||
1461 | b43_radio_write(dev, B2056_TX1 | B2056_TX_GMBB_IDAC, | ||
1462 | 0x70); | ||
1463 | } | ||
1464 | |||
1465 | b43_phy_write(dev, 0x224, 0x039C); | ||
1466 | b43_phy_write(dev, 0x225, 0x0357); | ||
1467 | b43_phy_write(dev, 0x226, 0x0317); | ||
1468 | b43_phy_write(dev, 0x227, 0x02D7); | ||
1469 | b43_phy_write(dev, 0x228, 0x039C); | ||
1470 | b43_phy_write(dev, 0x229, 0x0357); | ||
1471 | b43_phy_write(dev, 0x22A, 0x0317); | ||
1472 | b43_phy_write(dev, 0x22B, 0x02D7); | ||
1473 | b43_phy_write(dev, 0x22C, 0x039C); | ||
1474 | b43_phy_write(dev, 0x22D, 0x0357); | ||
1475 | b43_phy_write(dev, 0x22E, 0x0317); | ||
1476 | b43_phy_write(dev, 0x22F, 0x02D7); | ||
1049 | } else { | 1477 | } else { |
1050 | if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ && | 1478 | if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ && |
1051 | nphy->band5g_pwrgain) { | 1479 | nphy->band5g_pwrgain) { |
@@ -1056,29 +1484,18 @@ static void b43_nphy_workarounds(struct b43_wldev *dev) | |||
1056 | b43_radio_set(dev, B2055_C2_TX_RF_SPARE, 0x8); | 1484 | b43_radio_set(dev, B2055_C2_TX_RF_SPARE, 0x8); |
1057 | } | 1485 | } |
1058 | 1486 | ||
1059 | /* TODO: convert to b43_ntab_write? */ | 1487 | b43_ntab_write(dev, B43_NTAB16(8, 0x00), 0x000A); |
1060 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x2000); | 1488 | b43_ntab_write(dev, B43_NTAB16(8, 0x10), 0x000A); |
1061 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0x000A); | 1489 | b43_ntab_write(dev, B43_NTAB16(8, 0x02), 0xCDAA); |
1062 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x2010); | 1490 | b43_ntab_write(dev, B43_NTAB16(8, 0x12), 0xCDAA); |
1063 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0x000A); | ||
1064 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x2002); | ||
1065 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0xCDAA); | ||
1066 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x2012); | ||
1067 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0xCDAA); | ||
1068 | 1491 | ||
1069 | if (dev->phy.rev < 2) { | 1492 | if (dev->phy.rev < 2) { |
1070 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x2008); | 1493 | b43_ntab_write(dev, B43_NTAB16(8, 0x08), 0x0000); |
1071 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0x0000); | 1494 | b43_ntab_write(dev, B43_NTAB16(8, 0x18), 0x0000); |
1072 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x2018); | 1495 | b43_ntab_write(dev, B43_NTAB16(8, 0x07), 0x7AAB); |
1073 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0x0000); | 1496 | b43_ntab_write(dev, B43_NTAB16(8, 0x17), 0x7AAB); |
1074 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x2007); | 1497 | b43_ntab_write(dev, B43_NTAB16(8, 0x06), 0x0800); |
1075 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0x7AAB); | 1498 | b43_ntab_write(dev, B43_NTAB16(8, 0x16), 0x0800); |
1076 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x2017); | ||
1077 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0x7AAB); | ||
1078 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x2006); | ||
1079 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0x0800); | ||
1080 | b43_phy_write(dev, B43_NPHY_TABLE_ADDR, 0x2016); | ||
1081 | b43_phy_write(dev, B43_NPHY_TABLE_DATALO, 0x0800); | ||
1082 | } | 1499 | } |
1083 | 1500 | ||
1084 | b43_phy_write(dev, B43_NPHY_RFCTL_LUT_TRSW_LO1, 0x2D8); | 1501 | b43_phy_write(dev, B43_NPHY_RFCTL_LUT_TRSW_LO1, 0x2D8); |
@@ -1094,11 +1511,12 @@ static void b43_nphy_workarounds(struct b43_wldev *dev) | |||
1094 | b43_nphy_set_rf_sequence(dev, 0, events1, delays1, 7); | 1511 | b43_nphy_set_rf_sequence(dev, 0, events1, delays1, 7); |
1095 | b43_nphy_set_rf_sequence(dev, 1, events2, delays2, 7); | 1512 | b43_nphy_set_rf_sequence(dev, 1, events2, delays2, 7); |
1096 | 1513 | ||
1097 | b43_nphy_gain_crtl_workarounds(dev); | 1514 | b43_nphy_gain_ctrl_workarounds(dev); |
1098 | 1515 | ||
1099 | if (dev->phy.rev < 2) { | 1516 | if (dev->phy.rev < 2) { |
1100 | if (b43_phy_read(dev, B43_NPHY_RXCTL) & 0x2) | 1517 | if (b43_phy_read(dev, B43_NPHY_RXCTL) & 0x2) |
1101 | ; /*TODO: b43_mhf(dev, 2, 0x0010, 0x0010, 3);*/ | 1518 | b43_hf_write(dev, b43_hf_read(dev) | |
1519 | B43_HF_MLADVW); | ||
1102 | } else if (dev->phy.rev == 2) { | 1520 | } else if (dev->phy.rev == 2) { |
1103 | b43_phy_write(dev, B43_NPHY_CRSCHECK2, 0); | 1521 | b43_phy_write(dev, B43_NPHY_CRSCHECK2, 0); |
1104 | b43_phy_write(dev, B43_NPHY_CRSCHECK3, 0); | 1522 | b43_phy_write(dev, B43_NPHY_CRSCHECK3, 0); |
@@ -1182,7 +1600,7 @@ static u16 b43_nphy_gen_load_samples(struct b43_wldev *dev, u32 freq, u16 max, | |||
1182 | len = bw << 1; | 1600 | len = bw << 1; |
1183 | } | 1601 | } |
1184 | 1602 | ||
1185 | samples = kzalloc(len * sizeof(struct b43_c32), GFP_KERNEL); | 1603 | samples = kcalloc(len, sizeof(struct b43_c32), GFP_KERNEL); |
1186 | if (!samples) { | 1604 | if (!samples) { |
1187 | b43err(dev->wl, "allocation for samples generation failed\n"); | 1605 | b43err(dev->wl, "allocation for samples generation failed\n"); |
1188 | return 0; | 1606 | return 0; |
@@ -1571,19 +1989,20 @@ static void b43_nphy_rf_control_intc_override(struct b43_wldev *dev, u8 field, | |||
1571 | } | 1989 | } |
1572 | } | 1990 | } |
1573 | 1991 | ||
1992 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/BPHYInit */ | ||
1574 | static void b43_nphy_bphy_init(struct b43_wldev *dev) | 1993 | static void b43_nphy_bphy_init(struct b43_wldev *dev) |
1575 | { | 1994 | { |
1576 | unsigned int i; | 1995 | unsigned int i; |
1577 | u16 val; | 1996 | u16 val; |
1578 | 1997 | ||
1579 | val = 0x1E1F; | 1998 | val = 0x1E1F; |
1580 | for (i = 0; i < 14; i++) { | 1999 | for (i = 0; i < 16; i++) { |
1581 | b43_phy_write(dev, B43_PHY_N_BMODE(0x88 + i), val); | 2000 | b43_phy_write(dev, B43_PHY_N_BMODE(0x88 + i), val); |
1582 | val -= 0x202; | 2001 | val -= 0x202; |
1583 | } | 2002 | } |
1584 | val = 0x3E3F; | 2003 | val = 0x3E3F; |
1585 | for (i = 0; i < 16; i++) { | 2004 | for (i = 0; i < 16; i++) { |
1586 | b43_phy_write(dev, B43_PHY_N_BMODE(0x97 + i), val); | 2005 | b43_phy_write(dev, B43_PHY_N_BMODE(0x98 + i), val); |
1587 | val -= 0x202; | 2006 | val -= 0x202; |
1588 | } | 2007 | } |
1589 | b43_phy_write(dev, B43_PHY_N_BMODE(0x38), 0x668); | 2008 | b43_phy_write(dev, B43_PHY_N_BMODE(0x38), 0x668); |
@@ -1591,7 +2010,8 @@ static void b43_nphy_bphy_init(struct b43_wldev *dev) | |||
1591 | 2010 | ||
1592 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/ScaleOffsetRssi */ | 2011 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/ScaleOffsetRssi */ |
1593 | static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale, | 2012 | static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale, |
1594 | s8 offset, u8 core, u8 rail, u8 type) | 2013 | s8 offset, u8 core, u8 rail, |
2014 | enum b43_nphy_rssi_type type) | ||
1595 | { | 2015 | { |
1596 | u16 tmp; | 2016 | u16 tmp; |
1597 | bool core1or5 = (core == 1) || (core == 5); | 2017 | bool core1or5 = (core == 1) || (core == 5); |
@@ -1600,53 +2020,59 @@ static void b43_nphy_scale_offset_rssi(struct b43_wldev *dev, u16 scale, | |||
1600 | offset = clamp_val(offset, -32, 31); | 2020 | offset = clamp_val(offset, -32, 31); |
1601 | tmp = ((scale & 0x3F) << 8) | (offset & 0x3F); | 2021 | tmp = ((scale & 0x3F) << 8) | (offset & 0x3F); |
1602 | 2022 | ||
1603 | if (core1or5 && (rail == 0) && (type == 2)) | 2023 | if (core1or5 && (rail == 0) && (type == B43_NPHY_RSSI_Z)) |
1604 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_Z, tmp); | 2024 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_Z, tmp); |
1605 | if (core1or5 && (rail == 1) && (type == 2)) | 2025 | if (core1or5 && (rail == 1) && (type == B43_NPHY_RSSI_Z)) |
1606 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_Z, tmp); | 2026 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_Z, tmp); |
1607 | if (core2or5 && (rail == 0) && (type == 2)) | 2027 | if (core2or5 && (rail == 0) && (type == B43_NPHY_RSSI_Z)) |
1608 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_Z, tmp); | 2028 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_Z, tmp); |
1609 | if (core2or5 && (rail == 1) && (type == 2)) | 2029 | if (core2or5 && (rail == 1) && (type == B43_NPHY_RSSI_Z)) |
1610 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_Z, tmp); | 2030 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_Z, tmp); |
1611 | if (core1or5 && (rail == 0) && (type == 0)) | 2031 | |
2032 | if (core1or5 && (rail == 0) && (type == B43_NPHY_RSSI_X)) | ||
1612 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_X, tmp); | 2033 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_X, tmp); |
1613 | if (core1or5 && (rail == 1) && (type == 0)) | 2034 | if (core1or5 && (rail == 1) && (type == B43_NPHY_RSSI_X)) |
1614 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_X, tmp); | 2035 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_X, tmp); |
1615 | if (core2or5 && (rail == 0) && (type == 0)) | 2036 | if (core2or5 && (rail == 0) && (type == B43_NPHY_RSSI_X)) |
1616 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_X, tmp); | 2037 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_X, tmp); |
1617 | if (core2or5 && (rail == 1) && (type == 0)) | 2038 | if (core2or5 && (rail == 1) && (type == B43_NPHY_RSSI_X)) |
1618 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_X, tmp); | 2039 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_X, tmp); |
1619 | if (core1or5 && (rail == 0) && (type == 1)) | 2040 | |
2041 | if (core1or5 && (rail == 0) && (type == B43_NPHY_RSSI_Y)) | ||
1620 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_Y, tmp); | 2042 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_RSSI_Y, tmp); |
1621 | if (core1or5 && (rail == 1) && (type == 1)) | 2043 | if (core1or5 && (rail == 1) && (type == B43_NPHY_RSSI_Y)) |
1622 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_Y, tmp); | 2044 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_RSSI_Y, tmp); |
1623 | if (core2or5 && (rail == 0) && (type == 1)) | 2045 | if (core2or5 && (rail == 0) && (type == B43_NPHY_RSSI_Y)) |
1624 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_Y, tmp); | 2046 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_RSSI_Y, tmp); |
1625 | if (core2or5 && (rail == 1) && (type == 1)) | 2047 | if (core2or5 && (rail == 1) && (type == B43_NPHY_RSSI_Y)) |
1626 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_Y, tmp); | 2048 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_RSSI_Y, tmp); |
1627 | if (core1or5 && (rail == 0) && (type == 6)) | 2049 | |
2050 | if (core1or5 && (rail == 0) && (type == B43_NPHY_RSSI_TBD)) | ||
1628 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_TBD, tmp); | 2051 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_TBD, tmp); |
1629 | if (core1or5 && (rail == 1) && (type == 6)) | 2052 | if (core1or5 && (rail == 1) && (type == B43_NPHY_RSSI_TBD)) |
1630 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_TBD, tmp); | 2053 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_TBD, tmp); |
1631 | if (core2or5 && (rail == 0) && (type == 6)) | 2054 | if (core2or5 && (rail == 0) && (type == B43_NPHY_RSSI_TBD)) |
1632 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_TBD, tmp); | 2055 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_TBD, tmp); |
1633 | if (core2or5 && (rail == 1) && (type == 6)) | 2056 | if (core2or5 && (rail == 1) && (type == B43_NPHY_RSSI_TBD)) |
1634 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_TBD, tmp); | 2057 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_TBD, tmp); |
1635 | if (core1or5 && (rail == 0) && (type == 3)) | 2058 | |
2059 | if (core1or5 && (rail == 0) && (type == B43_NPHY_RSSI_PWRDET)) | ||
1636 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_PWRDET, tmp); | 2060 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_PWRDET, tmp); |
1637 | if (core1or5 && (rail == 1) && (type == 3)) | 2061 | if (core1or5 && (rail == 1) && (type == B43_NPHY_RSSI_PWRDET)) |
1638 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_PWRDET, tmp); | 2062 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_PWRDET, tmp); |
1639 | if (core2or5 && (rail == 0) && (type == 3)) | 2063 | if (core2or5 && (rail == 0) && (type == B43_NPHY_RSSI_PWRDET)) |
1640 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_PWRDET, tmp); | 2064 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_PWRDET, tmp); |
1641 | if (core2or5 && (rail == 1) && (type == 3)) | 2065 | if (core2or5 && (rail == 1) && (type == B43_NPHY_RSSI_PWRDET)) |
1642 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_PWRDET, tmp); | 2066 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_PWRDET, tmp); |
1643 | if (core1or5 && (type == 4)) | 2067 | |
2068 | if (core1or5 && (type == B43_NPHY_RSSI_TSSI_I)) | ||
1644 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_TSSI, tmp); | 2069 | b43_phy_write(dev, B43_NPHY_RSSIMC_0I_TSSI, tmp); |
1645 | if (core2or5 && (type == 4)) | 2070 | if (core2or5 && (type == B43_NPHY_RSSI_TSSI_I)) |
1646 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_TSSI, tmp); | 2071 | b43_phy_write(dev, B43_NPHY_RSSIMC_1I_TSSI, tmp); |
1647 | if (core1or5 && (type == 5)) | 2072 | |
2073 | if (core1or5 && (type == B43_NPHY_RSSI_TSSI_Q)) | ||
1648 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_TSSI, tmp); | 2074 | b43_phy_write(dev, B43_NPHY_RSSIMC_0Q_TSSI, tmp); |
1649 | if (core2or5 && (type == 5)) | 2075 | if (core2or5 && (type == B43_NPHY_RSSI_TSSI_Q)) |
1650 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_TSSI, tmp); | 2076 | b43_phy_write(dev, B43_NPHY_RSSIMC_1Q_TSSI, tmp); |
1651 | } | 2077 | } |
1652 | 2078 | ||
@@ -1674,27 +2100,39 @@ static void b43_nphy_rev2_rssi_select(struct b43_wldev *dev, u8 code, u8 type) | |||
1674 | (type + 1) << 4); | 2100 | (type + 1) << 4); |
1675 | } | 2101 | } |
1676 | 2102 | ||
1677 | /* TODO use some definitions */ | ||
1678 | if (code == 0) { | 2103 | if (code == 0) { |
1679 | b43_phy_maskset(dev, B43_NPHY_AFECTL_OVER, 0xCFFF, 0); | 2104 | b43_phy_mask(dev, B43_NPHY_AFECTL_OVER, ~0x3000); |
1680 | if (type < 3) { | 2105 | if (type < 3) { |
1681 | b43_phy_maskset(dev, B43_NPHY_RFCTL_CMD, 0xFEC7, 0); | 2106 | b43_phy_mask(dev, B43_NPHY_RFCTL_CMD, |
1682 | b43_phy_maskset(dev, B43_NPHY_RFCTL_OVER, 0xEFDC, 0); | 2107 | ~(B43_NPHY_RFCTL_CMD_RXEN | |
1683 | b43_phy_maskset(dev, B43_NPHY_RFCTL_CMD, 0xFFFE, 0); | 2108 | B43_NPHY_RFCTL_CMD_CORESEL)); |
2109 | b43_phy_mask(dev, B43_NPHY_RFCTL_OVER, | ||
2110 | ~(0x1 << 12 | | ||
2111 | 0x1 << 5 | | ||
2112 | 0x1 << 1 | | ||
2113 | 0x1)); | ||
2114 | b43_phy_mask(dev, B43_NPHY_RFCTL_CMD, | ||
2115 | ~B43_NPHY_RFCTL_CMD_START); | ||
1684 | udelay(20); | 2116 | udelay(20); |
1685 | b43_phy_maskset(dev, B43_NPHY_RFCTL_OVER, 0xFFFE, 0); | 2117 | b43_phy_mask(dev, B43_NPHY_RFCTL_OVER, ~0x1); |
1686 | } | 2118 | } |
1687 | } else { | 2119 | } else { |
1688 | b43_phy_maskset(dev, B43_NPHY_AFECTL_OVER, 0xCFFF, | 2120 | b43_phy_set(dev, B43_NPHY_AFECTL_OVER, 0x3000); |
1689 | 0x3000); | ||
1690 | if (type < 3) { | 2121 | if (type < 3) { |
1691 | b43_phy_maskset(dev, B43_NPHY_RFCTL_CMD, | 2122 | b43_phy_maskset(dev, B43_NPHY_RFCTL_CMD, |
1692 | 0xFEC7, 0x0180); | 2123 | ~(B43_NPHY_RFCTL_CMD_RXEN | |
1693 | b43_phy_maskset(dev, B43_NPHY_RFCTL_OVER, | 2124 | B43_NPHY_RFCTL_CMD_CORESEL), |
1694 | 0xEFDC, (code << 1 | 0x1021)); | 2125 | (B43_NPHY_RFCTL_CMD_RXEN | |
1695 | b43_phy_maskset(dev, B43_NPHY_RFCTL_CMD, 0xFFFE, 0x1); | 2126 | code << B43_NPHY_RFCTL_CMD_CORESEL_SHIFT)); |
2127 | b43_phy_set(dev, B43_NPHY_RFCTL_OVER, | ||
2128 | (0x1 << 12 | | ||
2129 | 0x1 << 5 | | ||
2130 | 0x1 << 1 | | ||
2131 | 0x1)); | ||
2132 | b43_phy_set(dev, B43_NPHY_RFCTL_CMD, | ||
2133 | B43_NPHY_RFCTL_CMD_START); | ||
1696 | udelay(20); | 2134 | udelay(20); |
1697 | b43_phy_maskset(dev, B43_NPHY_RFCTL_OVER, 0xFFFE, 0); | 2135 | b43_phy_mask(dev, B43_NPHY_RFCTL_OVER, ~0x1); |
1698 | } | 2136 | } |
1699 | } | 2137 | } |
1700 | } | 2138 | } |
@@ -1843,6 +2281,17 @@ static int b43_nphy_poll_rssi(struct b43_wldev *dev, u8 type, s32 *buf, | |||
1843 | save_regs_phy[5] = b43_phy_read(dev, B43_NPHY_AFECTL_OVER); | 2281 | save_regs_phy[5] = b43_phy_read(dev, B43_NPHY_AFECTL_OVER); |
1844 | save_regs_phy[6] = b43_phy_read(dev, B43_NPHY_TXF_40CO_B1S0); | 2282 | save_regs_phy[6] = b43_phy_read(dev, B43_NPHY_TXF_40CO_B1S0); |
1845 | save_regs_phy[7] = b43_phy_read(dev, B43_NPHY_TXF_40CO_B32S1); | 2283 | save_regs_phy[7] = b43_phy_read(dev, B43_NPHY_TXF_40CO_B32S1); |
2284 | save_regs_phy[8] = 0; | ||
2285 | } else { | ||
2286 | save_regs_phy[0] = b43_phy_read(dev, B43_NPHY_AFECTL_C1); | ||
2287 | save_regs_phy[1] = b43_phy_read(dev, B43_NPHY_AFECTL_C2); | ||
2288 | save_regs_phy[2] = b43_phy_read(dev, B43_NPHY_AFECTL_OVER); | ||
2289 | save_regs_phy[3] = b43_phy_read(dev, B43_NPHY_RFCTL_CMD); | ||
2290 | save_regs_phy[4] = b43_phy_read(dev, B43_NPHY_RFCTL_OVER); | ||
2291 | save_regs_phy[5] = b43_phy_read(dev, B43_NPHY_RFCTL_RSSIO1); | ||
2292 | save_regs_phy[6] = b43_phy_read(dev, B43_NPHY_RFCTL_RSSIO2); | ||
2293 | save_regs_phy[7] = 0; | ||
2294 | save_regs_phy[8] = 0; | ||
1846 | } | 2295 | } |
1847 | 2296 | ||
1848 | b43_nphy_rssi_select(dev, 5, type); | 2297 | b43_nphy_rssi_select(dev, 5, type); |
@@ -1886,6 +2335,14 @@ static int b43_nphy_poll_rssi(struct b43_wldev *dev, u8 type, s32 *buf, | |||
1886 | b43_phy_write(dev, B43_NPHY_AFECTL_OVER, save_regs_phy[5]); | 2335 | b43_phy_write(dev, B43_NPHY_AFECTL_OVER, save_regs_phy[5]); |
1887 | b43_phy_write(dev, B43_NPHY_TXF_40CO_B1S0, save_regs_phy[6]); | 2336 | b43_phy_write(dev, B43_NPHY_TXF_40CO_B1S0, save_regs_phy[6]); |
1888 | b43_phy_write(dev, B43_NPHY_TXF_40CO_B32S1, save_regs_phy[7]); | 2337 | b43_phy_write(dev, B43_NPHY_TXF_40CO_B32S1, save_regs_phy[7]); |
2338 | } else { | ||
2339 | b43_phy_write(dev, B43_NPHY_AFECTL_C1, save_regs_phy[0]); | ||
2340 | b43_phy_write(dev, B43_NPHY_AFECTL_C2, save_regs_phy[1]); | ||
2341 | b43_phy_write(dev, B43_NPHY_AFECTL_OVER, save_regs_phy[2]); | ||
2342 | b43_phy_write(dev, B43_NPHY_RFCTL_CMD, save_regs_phy[3]); | ||
2343 | b43_phy_write(dev, B43_NPHY_RFCTL_OVER, save_regs_phy[4]); | ||
2344 | b43_phy_write(dev, B43_NPHY_RFCTL_RSSIO1, save_regs_phy[5]); | ||
2345 | b43_phy_write(dev, B43_NPHY_RFCTL_RSSIO2, save_regs_phy[6]); | ||
1889 | } | 2346 | } |
1890 | 2347 | ||
1891 | return out; | 2348 | return out; |
@@ -1900,7 +2357,10 @@ static void b43_nphy_rev2_rssi_cal(struct b43_wldev *dev, u8 type) | |||
1900 | u16 class, override; | 2357 | u16 class, override; |
1901 | u8 regs_save_radio[2]; | 2358 | u8 regs_save_radio[2]; |
1902 | u16 regs_save_phy[2]; | 2359 | u16 regs_save_phy[2]; |
2360 | |||
1903 | s8 offset[4]; | 2361 | s8 offset[4]; |
2362 | u8 core; | ||
2363 | u8 rail; | ||
1904 | 2364 | ||
1905 | u16 clip_state[2]; | 2365 | u16 clip_state[2]; |
1906 | u16 clip_off[2] = { 0xFFFF, 0xFFFF }; | 2366 | u16 clip_off[2] = { 0xFFFF, 0xFFFF }; |
@@ -2001,16 +2461,15 @@ static void b43_nphy_rev2_rssi_cal(struct b43_wldev *dev, u8 type) | |||
2001 | if (results_min[i] == 248) | 2461 | if (results_min[i] == 248) |
2002 | offset[i] = code - 32; | 2462 | offset[i] = code - 32; |
2003 | 2463 | ||
2004 | if (i % 2 == 0) | 2464 | core = (i / 2) ? 2 : 1; |
2005 | b43_nphy_scale_offset_rssi(dev, 0, offset[i], 1, 0, | 2465 | rail = (i % 2) ? 1 : 0; |
2006 | type); | 2466 | |
2007 | else | 2467 | b43_nphy_scale_offset_rssi(dev, 0, offset[i], core, rail, |
2008 | b43_nphy_scale_offset_rssi(dev, 0, offset[i], 2, 1, | 2468 | type); |
2009 | type); | ||
2010 | } | 2469 | } |
2011 | 2470 | ||
2012 | b43_radio_maskset(dev, B2055_C1_PD_RSSIMISC, 0xF8, state[0]); | 2471 | b43_radio_maskset(dev, B2055_C1_PD_RSSIMISC, 0xF8, state[0]); |
2013 | b43_radio_maskset(dev, B2055_C1_PD_RSSIMISC, 0xF8, state[1]); | 2472 | b43_radio_maskset(dev, B2055_C2_PD_RSSIMISC, 0xF8, state[1]); |
2014 | 2473 | ||
2015 | switch (state[2]) { | 2474 | switch (state[2]) { |
2016 | case 1: | 2475 | case 1: |
@@ -2048,6 +2507,9 @@ static void b43_nphy_rev2_rssi_cal(struct b43_wldev *dev, u8 type) | |||
2048 | 2507 | ||
2049 | b43_nphy_classifier(dev, 7, class); | 2508 | b43_nphy_classifier(dev, 7, class); |
2050 | b43_nphy_write_clip_detection(dev, clip_state); | 2509 | b43_nphy_write_clip_detection(dev, clip_state); |
2510 | /* Specs don't say about reset here, but it makes wl and b43 dumps | ||
2511 | identical, it really seems wl performs this */ | ||
2512 | b43_nphy_reset_cca(dev); | ||
2051 | } | 2513 | } |
2052 | 2514 | ||
2053 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/RSSICalRev3 */ | 2515 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/RSSICalRev3 */ |
@@ -2065,9 +2527,9 @@ static void b43_nphy_rssi_cal(struct b43_wldev *dev) | |||
2065 | if (dev->phy.rev >= 3) { | 2527 | if (dev->phy.rev >= 3) { |
2066 | b43_nphy_rev3_rssi_cal(dev); | 2528 | b43_nphy_rev3_rssi_cal(dev); |
2067 | } else { | 2529 | } else { |
2068 | b43_nphy_rev2_rssi_cal(dev, 2); | 2530 | b43_nphy_rev2_rssi_cal(dev, B43_NPHY_RSSI_Z); |
2069 | b43_nphy_rev2_rssi_cal(dev, 0); | 2531 | b43_nphy_rev2_rssi_cal(dev, B43_NPHY_RSSI_X); |
2070 | b43_nphy_rev2_rssi_cal(dev, 1); | 2532 | b43_nphy_rev2_rssi_cal(dev, B43_NPHY_RSSI_Y); |
2071 | } | 2533 | } |
2072 | } | 2534 | } |
2073 | 2535 | ||
@@ -2083,12 +2545,12 @@ static void b43_nphy_restore_rssi_cal(struct b43_wldev *dev) | |||
2083 | u16 *rssical_phy_regs = NULL; | 2545 | u16 *rssical_phy_regs = NULL; |
2084 | 2546 | ||
2085 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) { | 2547 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) { |
2086 | if (b43_empty_chanspec(&nphy->rssical_chanspec_2G)) | 2548 | if (!nphy->rssical_chanspec_2G.center_freq) |
2087 | return; | 2549 | return; |
2088 | rssical_radio_regs = nphy->rssical_cache.rssical_radio_regs_2G; | 2550 | rssical_radio_regs = nphy->rssical_cache.rssical_radio_regs_2G; |
2089 | rssical_phy_regs = nphy->rssical_cache.rssical_phy_regs_2G; | 2551 | rssical_phy_regs = nphy->rssical_cache.rssical_phy_regs_2G; |
2090 | } else { | 2552 | } else { |
2091 | if (b43_empty_chanspec(&nphy->rssical_chanspec_5G)) | 2553 | if (!nphy->rssical_chanspec_5G.center_freq) |
2092 | return; | 2554 | return; |
2093 | rssical_radio_regs = nphy->rssical_cache.rssical_radio_regs_5G; | 2555 | rssical_radio_regs = nphy->rssical_cache.rssical_radio_regs_5G; |
2094 | rssical_phy_regs = nphy->rssical_cache.rssical_phy_regs_5G; | 2556 | rssical_phy_regs = nphy->rssical_cache.rssical_phy_regs_5G; |
@@ -2301,7 +2763,7 @@ static void b43_nphy_int_pa_set_tx_dig_filters(struct b43_wldev *dev) | |||
2301 | { | 2763 | { |
2302 | int i, j; | 2764 | int i, j; |
2303 | /* B43_NPHY_TXF_20CO_S0A1, B43_NPHY_TXF_40CO_S0A1, unknown */ | 2765 | /* B43_NPHY_TXF_20CO_S0A1, B43_NPHY_TXF_40CO_S0A1, unknown */ |
2304 | u16 offset[] = { 0x186, 0x195, 0x2C5 }; | 2766 | static const u16 offset[] = { 0x186, 0x195, 0x2C5 }; |
2305 | 2767 | ||
2306 | for (i = 0; i < 3; i++) | 2768 | for (i = 0; i < 3; i++) |
2307 | for (j = 0; j < 15; j++) | 2769 | for (j = 0; j < 15; j++) |
@@ -2333,7 +2795,7 @@ static struct nphy_txgains b43_nphy_get_tx_gains(struct b43_wldev *dev) | |||
2333 | struct nphy_txgains target; | 2795 | struct nphy_txgains target; |
2334 | const u32 *table = NULL; | 2796 | const u32 *table = NULL; |
2335 | 2797 | ||
2336 | if (nphy->txpwrctrl == 0) { | 2798 | if (!nphy->txpwrctrl) { |
2337 | int i; | 2799 | int i; |
2338 | 2800 | ||
2339 | if (nphy->hang_avoid) | 2801 | if (nphy->hang_avoid) |
@@ -2544,8 +3006,9 @@ static void b43_nphy_save_cal(struct b43_wldev *dev) | |||
2544 | txcal_radio_regs[2] = b43_radio_read(dev, 0x8D); | 3006 | txcal_radio_regs[2] = b43_radio_read(dev, 0x8D); |
2545 | txcal_radio_regs[3] = b43_radio_read(dev, 0xBC); | 3007 | txcal_radio_regs[3] = b43_radio_read(dev, 0xBC); |
2546 | } | 3008 | } |
2547 | *iqcal_chanspec = nphy->radio_chanspec; | 3009 | iqcal_chanspec->center_freq = dev->phy.channel_freq; |
2548 | b43_ntab_write_bulk(dev, B43_NTAB16(15, 80), 8, table); | 3010 | iqcal_chanspec->channel_type = dev->phy.channel_type; |
3011 | b43_ntab_read_bulk(dev, B43_NTAB16(15, 80), 8, table); | ||
2549 | 3012 | ||
2550 | if (nphy->hang_avoid) | 3013 | if (nphy->hang_avoid) |
2551 | b43_nphy_stay_in_carrier_search(dev, 0); | 3014 | b43_nphy_stay_in_carrier_search(dev, 0); |
@@ -2565,12 +3028,12 @@ static void b43_nphy_restore_cal(struct b43_wldev *dev) | |||
2565 | struct b43_phy_n_iq_comp *rxcal_coeffs = NULL; | 3028 | struct b43_phy_n_iq_comp *rxcal_coeffs = NULL; |
2566 | 3029 | ||
2567 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) { | 3030 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) { |
2568 | if (b43_empty_chanspec(&nphy->iqcal_chanspec_2G)) | 3031 | if (!nphy->iqcal_chanspec_2G.center_freq) |
2569 | return; | 3032 | return; |
2570 | table = nphy->cal_cache.txcal_coeffs_2G; | 3033 | table = nphy->cal_cache.txcal_coeffs_2G; |
2571 | loft = &nphy->cal_cache.txcal_coeffs_2G[5]; | 3034 | loft = &nphy->cal_cache.txcal_coeffs_2G[5]; |
2572 | } else { | 3035 | } else { |
2573 | if (b43_empty_chanspec(&nphy->iqcal_chanspec_5G)) | 3036 | if (!nphy->iqcal_chanspec_5G.center_freq) |
2574 | return; | 3037 | return; |
2575 | table = nphy->cal_cache.txcal_coeffs_5G; | 3038 | table = nphy->cal_cache.txcal_coeffs_5G; |
2576 | loft = &nphy->cal_cache.txcal_coeffs_5G[5]; | 3039 | loft = &nphy->cal_cache.txcal_coeffs_5G[5]; |
@@ -2630,7 +3093,7 @@ static int b43_nphy_cal_tx_iq_lo(struct b43_wldev *dev, | |||
2630 | int freq; | 3093 | int freq; |
2631 | bool avoid = false; | 3094 | bool avoid = false; |
2632 | u8 length; | 3095 | u8 length; |
2633 | u16 tmp, core, type, count, max, numb, last, cmd; | 3096 | u16 tmp, core, type, count, max, numb, last = 0, cmd; |
2634 | const u16 *table; | 3097 | const u16 *table; |
2635 | bool phy6or5x; | 3098 | bool phy6or5x; |
2636 | 3099 | ||
@@ -2815,7 +3278,10 @@ static int b43_nphy_cal_tx_iq_lo(struct b43_wldev *dev, | |||
2815 | b43_ntab_read_bulk(dev, B43_NTAB16(15, 96), length, | 3278 | b43_ntab_read_bulk(dev, B43_NTAB16(15, 96), length, |
2816 | nphy->txiqlocal_bestc); | 3279 | nphy->txiqlocal_bestc); |
2817 | nphy->txiqlocal_coeffsvalid = true; | 3280 | nphy->txiqlocal_coeffsvalid = true; |
2818 | nphy->txiqlocal_chanspec = nphy->radio_chanspec; | 3281 | nphy->txiqlocal_chanspec.center_freq = |
3282 | dev->phy.channel_freq; | ||
3283 | nphy->txiqlocal_chanspec.channel_type = | ||
3284 | dev->phy.channel_type; | ||
2819 | } else { | 3285 | } else { |
2820 | length = 11; | 3286 | length = 11; |
2821 | if (dev->phy.rev < 3) | 3287 | if (dev->phy.rev < 3) |
@@ -2851,7 +3317,8 @@ static void b43_nphy_reapply_tx_cal_coeffs(struct b43_wldev *dev) | |||
2851 | bool equal = true; | 3317 | bool equal = true; |
2852 | 3318 | ||
2853 | if (!nphy->txiqlocal_coeffsvalid || | 3319 | if (!nphy->txiqlocal_coeffsvalid || |
2854 | b43_eq_chanspecs(&nphy->txiqlocal_chanspec, &nphy->radio_chanspec)) | 3320 | nphy->txiqlocal_chanspec.center_freq != dev->phy.channel_freq || |
3321 | nphy->txiqlocal_chanspec.channel_type != dev->phy.channel_type) | ||
2855 | return; | 3322 | return; |
2856 | 3323 | ||
2857 | b43_ntab_read_bulk(dev, B43_NTAB16(15, 80), 7, buffer); | 3324 | b43_ntab_read_bulk(dev, B43_NTAB16(15, 80), 7, buffer); |
@@ -2885,7 +3352,7 @@ static int b43_nphy_rev2_cal_rx_iq(struct b43_wldev *dev, | |||
2885 | u8 rfctl[2]; | 3352 | u8 rfctl[2]; |
2886 | u8 afectl_core; | 3353 | u8 afectl_core; |
2887 | u16 tmp[6]; | 3354 | u16 tmp[6]; |
2888 | u16 cur_hpf1, cur_hpf2, cur_lna; | 3355 | u16 uninitialized_var(cur_hpf1), uninitialized_var(cur_hpf2), cur_lna; |
2889 | u32 real, imag; | 3356 | u32 real, imag; |
2890 | enum ieee80211_band band; | 3357 | enum ieee80211_band band; |
2891 | 3358 | ||
@@ -2965,7 +3432,7 @@ static int b43_nphy_rev2_cal_rx_iq(struct b43_wldev *dev, | |||
2965 | (2 - i)); | 3432 | (2 - i)); |
2966 | } | 3433 | } |
2967 | 3434 | ||
2968 | for (j = 0; i < 4; j++) { | 3435 | for (j = 0; j < 4; j++) { |
2969 | if (j < 3) { | 3436 | if (j < 3) { |
2970 | cur_lna = lna[j]; | 3437 | cur_lna = lna[j]; |
2971 | cur_hpf1 = hpf1[j]; | 3438 | cur_hpf1 = hpf1[j]; |
@@ -3073,13 +3540,53 @@ static int b43_nphy_cal_rx_iq(struct b43_wldev *dev, | |||
3073 | return b43_nphy_rev2_cal_rx_iq(dev, target, type, debug); | 3540 | return b43_nphy_rev2_cal_rx_iq(dev, target, type, debug); |
3074 | } | 3541 | } |
3075 | 3542 | ||
3543 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/RxCoreSetState */ | ||
3544 | static void b43_nphy_set_rx_core_state(struct b43_wldev *dev, u8 mask) | ||
3545 | { | ||
3546 | struct b43_phy *phy = &dev->phy; | ||
3547 | struct b43_phy_n *nphy = phy->n; | ||
3548 | /* u16 buf[16]; it's rev3+ */ | ||
3549 | |||
3550 | nphy->phyrxchain = mask; | ||
3551 | |||
3552 | if (0 /* FIXME clk */) | ||
3553 | return; | ||
3554 | |||
3555 | b43_mac_suspend(dev); | ||
3556 | |||
3557 | if (nphy->hang_avoid) | ||
3558 | b43_nphy_stay_in_carrier_search(dev, true); | ||
3559 | |||
3560 | b43_phy_maskset(dev, B43_NPHY_RFSEQCA, ~B43_NPHY_RFSEQCA_RXEN, | ||
3561 | (mask & 0x3) << B43_NPHY_RFSEQCA_RXEN_SHIFT); | ||
3562 | |||
3563 | if ((mask & 0x3) != 0x3) { | ||
3564 | b43_phy_write(dev, B43_NPHY_HPANT_SWTHRES, 1); | ||
3565 | if (dev->phy.rev >= 3) { | ||
3566 | /* TODO */ | ||
3567 | } | ||
3568 | } else { | ||
3569 | b43_phy_write(dev, B43_NPHY_HPANT_SWTHRES, 0x1E); | ||
3570 | if (dev->phy.rev >= 3) { | ||
3571 | /* TODO */ | ||
3572 | } | ||
3573 | } | ||
3574 | |||
3575 | b43_nphy_force_rf_sequence(dev, B43_RFSEQ_RESET2RX); | ||
3576 | |||
3577 | if (nphy->hang_avoid) | ||
3578 | b43_nphy_stay_in_carrier_search(dev, false); | ||
3579 | |||
3580 | b43_mac_enable(dev); | ||
3581 | } | ||
3582 | |||
3076 | /* | 3583 | /* |
3077 | * Init N-PHY | 3584 | * Init N-PHY |
3078 | * http://bcm-v4.sipsolutions.net/802.11/PHY/Init/N | 3585 | * http://bcm-v4.sipsolutions.net/802.11/PHY/Init/N |
3079 | */ | 3586 | */ |
3080 | int b43_phy_initn(struct b43_wldev *dev) | 3587 | int b43_phy_initn(struct b43_wldev *dev) |
3081 | { | 3588 | { |
3082 | struct ssb_bus *bus = dev->dev->bus; | 3589 | struct ssb_bus *bus = dev->sdev->bus; |
3083 | struct b43_phy *phy = &dev->phy; | 3590 | struct b43_phy *phy = &dev->phy; |
3084 | struct b43_phy_n *nphy = phy->n; | 3591 | struct b43_phy_n *nphy = phy->n; |
3085 | u8 tx_pwr_state; | 3592 | u8 tx_pwr_state; |
@@ -3094,7 +3601,7 @@ int b43_phy_initn(struct b43_wldev *dev) | |||
3094 | if ((dev->phy.rev >= 3) && | 3601 | if ((dev->phy.rev >= 3) && |
3095 | (bus->sprom.boardflags_lo & B43_BFL_EXTLNA) && | 3602 | (bus->sprom.boardflags_lo & B43_BFL_EXTLNA) && |
3096 | (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)) { | 3603 | (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ)) { |
3097 | chipco_set32(&dev->dev->bus->chipco, SSB_CHIPCO_CHIPCTL, 0x40); | 3604 | chipco_set32(&dev->sdev->bus->chipco, SSB_CHIPCO_CHIPCTL, 0x40); |
3098 | } | 3605 | } |
3099 | nphy->deaf_count = 0; | 3606 | nphy->deaf_count = 0; |
3100 | b43_nphy_tables_init(dev); | 3607 | b43_nphy_tables_init(dev); |
@@ -3173,7 +3680,7 @@ int b43_phy_initn(struct b43_wldev *dev) | |||
3173 | b43_phy_write(dev, B43_NPHY_BBCFG, tmp & ~B43_NPHY_BBCFG_RSTCCA); | 3680 | b43_phy_write(dev, B43_NPHY_BBCFG, tmp & ~B43_NPHY_BBCFG_RSTCCA); |
3174 | b43_nphy_bmac_clock_fgc(dev, 0); | 3681 | b43_nphy_bmac_clock_fgc(dev, 0); |
3175 | 3682 | ||
3176 | /* TODO N PHY MAC PHY Clock Set with argument 1 */ | 3683 | b43_mac_phy_clock_set(dev, true); |
3177 | 3684 | ||
3178 | b43_nphy_pa_override(dev, false); | 3685 | b43_nphy_pa_override(dev, false); |
3179 | b43_nphy_force_rf_sequence(dev, B43_RFSEQ_RX2TX); | 3686 | b43_nphy_force_rf_sequence(dev, B43_RFSEQ_RX2TX); |
@@ -3182,10 +3689,12 @@ int b43_phy_initn(struct b43_wldev *dev) | |||
3182 | 3689 | ||
3183 | b43_nphy_classifier(dev, 0, 0); | 3690 | b43_nphy_classifier(dev, 0, 0); |
3184 | b43_nphy_read_clip_detection(dev, clip); | 3691 | b43_nphy_read_clip_detection(dev, clip); |
3692 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) | ||
3693 | b43_nphy_bphy_init(dev); | ||
3694 | |||
3185 | tx_pwr_state = nphy->txpwrctrl; | 3695 | tx_pwr_state = nphy->txpwrctrl; |
3186 | /* TODO N PHY TX power control with argument 0 | 3696 | b43_nphy_tx_power_ctrl(dev, false); |
3187 | (turning off power control) */ | 3697 | b43_nphy_tx_power_fix(dev); |
3188 | /* TODO Fix the TX Power Settings */ | ||
3189 | /* TODO N PHY TX Power Control Idle TSSI */ | 3698 | /* TODO N PHY TX Power Control Idle TSSI */ |
3190 | /* TODO N PHY TX Power Control Setup */ | 3699 | /* TODO N PHY TX Power Control Setup */ |
3191 | 3700 | ||
@@ -3199,18 +3708,16 @@ int b43_phy_initn(struct b43_wldev *dev) | |||
3199 | } | 3708 | } |
3200 | 3709 | ||
3201 | if (nphy->phyrxchain != 3) | 3710 | if (nphy->phyrxchain != 3) |
3202 | ;/* TODO N PHY RX Core Set State with phyrxchain as argument */ | 3711 | b43_nphy_set_rx_core_state(dev, nphy->phyrxchain); |
3203 | if (nphy->mphase_cal_phase_id > 0) | 3712 | if (nphy->mphase_cal_phase_id > 0) |
3204 | ;/* TODO PHY Periodic Calibration Multi-Phase Restart */ | 3713 | ;/* TODO PHY Periodic Calibration Multi-Phase Restart */ |
3205 | 3714 | ||
3206 | do_rssi_cal = false; | 3715 | do_rssi_cal = false; |
3207 | if (phy->rev >= 3) { | 3716 | if (phy->rev >= 3) { |
3208 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) | 3717 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) |
3209 | do_rssi_cal = | 3718 | do_rssi_cal = !nphy->rssical_chanspec_2G.center_freq; |
3210 | b43_empty_chanspec(&nphy->rssical_chanspec_2G); | ||
3211 | else | 3719 | else |
3212 | do_rssi_cal = | 3720 | do_rssi_cal = !nphy->rssical_chanspec_5G.center_freq; |
3213 | b43_empty_chanspec(&nphy->rssical_chanspec_5G); | ||
3214 | 3721 | ||
3215 | if (do_rssi_cal) | 3722 | if (do_rssi_cal) |
3216 | b43_nphy_rssi_cal(dev); | 3723 | b43_nphy_rssi_cal(dev); |
@@ -3222,9 +3729,9 @@ int b43_phy_initn(struct b43_wldev *dev) | |||
3222 | 3729 | ||
3223 | if (!((nphy->measure_hold & 0x6) != 0)) { | 3730 | if (!((nphy->measure_hold & 0x6) != 0)) { |
3224 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) | 3731 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) |
3225 | do_cal = b43_empty_chanspec(&nphy->iqcal_chanspec_2G); | 3732 | do_cal = !nphy->iqcal_chanspec_2G.center_freq; |
3226 | else | 3733 | else |
3227 | do_cal = b43_empty_chanspec(&nphy->iqcal_chanspec_5G); | 3734 | do_cal = !nphy->iqcal_chanspec_5G.center_freq; |
3228 | 3735 | ||
3229 | if (nphy->mute) | 3736 | if (nphy->mute) |
3230 | do_cal = false; | 3737 | do_cal = false; |
@@ -3244,21 +3751,18 @@ int b43_phy_initn(struct b43_wldev *dev) | |||
3244 | /* TODO N PHY Pre Calibrate TX Gain */ | 3751 | /* TODO N PHY Pre Calibrate TX Gain */ |
3245 | target = b43_nphy_get_tx_gains(dev); | 3752 | target = b43_nphy_get_tx_gains(dev); |
3246 | } | 3753 | } |
3247 | } | 3754 | if (!b43_nphy_cal_tx_iq_lo(dev, target, true, false)) |
3755 | if (b43_nphy_cal_rx_iq(dev, target, 2, 0) == 0) | ||
3756 | b43_nphy_save_cal(dev); | ||
3757 | } else if (nphy->mphase_cal_phase_id == 0) | ||
3758 | ;/* N PHY Periodic Calibration with arg 3 */ | ||
3759 | } else { | ||
3760 | b43_nphy_restore_cal(dev); | ||
3248 | } | 3761 | } |
3249 | } | 3762 | } |
3250 | 3763 | ||
3251 | if (!b43_nphy_cal_tx_iq_lo(dev, target, true, false)) { | ||
3252 | if (b43_nphy_cal_rx_iq(dev, target, 2, 0) == 0) | ||
3253 | b43_nphy_save_cal(dev); | ||
3254 | else if (nphy->mphase_cal_phase_id == 0) | ||
3255 | ;/* N PHY Periodic Calibration with argument 3 */ | ||
3256 | } else { | ||
3257 | b43_nphy_restore_cal(dev); | ||
3258 | } | ||
3259 | |||
3260 | b43_nphy_tx_pwr_ctrl_coef_setup(dev); | 3764 | b43_nphy_tx_pwr_ctrl_coef_setup(dev); |
3261 | /* TODO N PHY TX Power Control Enable with argument tx_pwr_state */ | 3765 | b43_nphy_tx_power_ctrl(dev, tx_pwr_state); |
3262 | b43_phy_write(dev, B43_NPHY_TXMACIF_HOLDOFF, 0x0015); | 3766 | b43_phy_write(dev, B43_NPHY_TXMACIF_HOLDOFF, 0x0015); |
3263 | b43_phy_write(dev, B43_NPHY_TXMACDELAY, 0x0320); | 3767 | b43_phy_write(dev, B43_NPHY_TXMACDELAY, 0x0320); |
3264 | if (phy->rev >= 3 && phy->rev <= 6) | 3768 | if (phy->rev >= 3 && phy->rev <= 6) |
@@ -3267,29 +3771,29 @@ int b43_phy_initn(struct b43_wldev *dev) | |||
3267 | if (phy->rev >= 3) | 3771 | if (phy->rev >= 3) |
3268 | b43_nphy_spur_workaround(dev); | 3772 | b43_nphy_spur_workaround(dev); |
3269 | 3773 | ||
3270 | b43err(dev->wl, "IEEE 802.11n devices are not supported, yet.\n"); | ||
3271 | return 0; | 3774 | return 0; |
3272 | } | 3775 | } |
3273 | 3776 | ||
3274 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/ChanspecSetup */ | 3777 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/ChanspecSetup */ |
3275 | static void b43_nphy_chanspec_setup(struct b43_wldev *dev, | 3778 | static void b43_nphy_channel_setup(struct b43_wldev *dev, |
3276 | const struct b43_phy_n_sfo_cfg *e, | 3779 | const struct b43_phy_n_sfo_cfg *e, |
3277 | struct b43_chanspec chanspec) | 3780 | struct ieee80211_channel *new_channel) |
3278 | { | 3781 | { |
3279 | struct b43_phy *phy = &dev->phy; | 3782 | struct b43_phy *phy = &dev->phy; |
3280 | struct b43_phy_n *nphy = dev->phy.n; | 3783 | struct b43_phy_n *nphy = dev->phy.n; |
3281 | 3784 | ||
3282 | u16 tmp; | 3785 | u16 old_band_5ghz; |
3283 | u32 tmp32; | 3786 | u32 tmp32; |
3284 | 3787 | ||
3285 | tmp = b43_phy_read(dev, B43_NPHY_BANDCTL) & B43_NPHY_BANDCTL_5GHZ; | 3788 | old_band_5ghz = |
3286 | if (chanspec.b_freq == 1 && tmp == 0) { | 3789 | b43_phy_read(dev, B43_NPHY_BANDCTL) & B43_NPHY_BANDCTL_5GHZ; |
3790 | if (new_channel->band == IEEE80211_BAND_5GHZ && !old_band_5ghz) { | ||
3287 | tmp32 = b43_read32(dev, B43_MMIO_PSM_PHY_HDR); | 3791 | tmp32 = b43_read32(dev, B43_MMIO_PSM_PHY_HDR); |
3288 | b43_write32(dev, B43_MMIO_PSM_PHY_HDR, tmp32 | 4); | 3792 | b43_write32(dev, B43_MMIO_PSM_PHY_HDR, tmp32 | 4); |
3289 | b43_phy_set(dev, B43_PHY_B_BBCFG, 0xC000); | 3793 | b43_phy_set(dev, B43_PHY_B_BBCFG, 0xC000); |
3290 | b43_write32(dev, B43_MMIO_PSM_PHY_HDR, tmp32); | 3794 | b43_write32(dev, B43_MMIO_PSM_PHY_HDR, tmp32); |
3291 | b43_phy_set(dev, B43_NPHY_BANDCTL, B43_NPHY_BANDCTL_5GHZ); | 3795 | b43_phy_set(dev, B43_NPHY_BANDCTL, B43_NPHY_BANDCTL_5GHZ); |
3292 | } else if (chanspec.b_freq == 1) { | 3796 | } else if (new_channel->band == IEEE80211_BAND_2GHZ && old_band_5ghz) { |
3293 | b43_phy_mask(dev, B43_NPHY_BANDCTL, ~B43_NPHY_BANDCTL_5GHZ); | 3797 | b43_phy_mask(dev, B43_NPHY_BANDCTL, ~B43_NPHY_BANDCTL_5GHZ); |
3294 | tmp32 = b43_read32(dev, B43_MMIO_PSM_PHY_HDR); | 3798 | tmp32 = b43_read32(dev, B43_MMIO_PSM_PHY_HDR); |
3295 | b43_write32(dev, B43_MMIO_PSM_PHY_HDR, tmp32 | 4); | 3799 | b43_write32(dev, B43_MMIO_PSM_PHY_HDR, tmp32 | 4); |
@@ -3299,23 +3803,16 @@ static void b43_nphy_chanspec_setup(struct b43_wldev *dev, | |||
3299 | 3803 | ||
3300 | b43_chantab_phy_upload(dev, e); | 3804 | b43_chantab_phy_upload(dev, e); |
3301 | 3805 | ||
3302 | tmp = chanspec.channel; | 3806 | if (new_channel->hw_value == 14) { |
3303 | if (chanspec.b_freq == 1) | ||
3304 | tmp |= 0x0100; | ||
3305 | if (chanspec.b_width == 3) | ||
3306 | tmp |= 0x0200; | ||
3307 | b43_shm_write16(dev, B43_SHM_SHARED, 0xA0, tmp); | ||
3308 | |||
3309 | if (nphy->radio_chanspec.channel == 14) { | ||
3310 | b43_nphy_classifier(dev, 2, 0); | 3807 | b43_nphy_classifier(dev, 2, 0); |
3311 | b43_phy_set(dev, B43_PHY_B_TEST, 0x0800); | 3808 | b43_phy_set(dev, B43_PHY_B_TEST, 0x0800); |
3312 | } else { | 3809 | } else { |
3313 | b43_nphy_classifier(dev, 2, 2); | 3810 | b43_nphy_classifier(dev, 2, 2); |
3314 | if (chanspec.b_freq == 2) | 3811 | if (new_channel->band == IEEE80211_BAND_2GHZ) |
3315 | b43_phy_mask(dev, B43_PHY_B_TEST, ~0x840); | 3812 | b43_phy_mask(dev, B43_PHY_B_TEST, ~0x840); |
3316 | } | 3813 | } |
3317 | 3814 | ||
3318 | if (nphy->txpwrctrl) | 3815 | if (!nphy->txpwrctrl) |
3319 | b43_nphy_tx_power_fix(dev); | 3816 | b43_nphy_tx_power_fix(dev); |
3320 | 3817 | ||
3321 | if (dev->phy.rev < 3) | 3818 | if (dev->phy.rev < 3) |
@@ -3334,70 +3831,60 @@ static void b43_nphy_chanspec_setup(struct b43_wldev *dev, | |||
3334 | } | 3831 | } |
3335 | 3832 | ||
3336 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/SetChanspec */ | 3833 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/N/SetChanspec */ |
3337 | static int b43_nphy_set_chanspec(struct b43_wldev *dev, | 3834 | static int b43_nphy_set_channel(struct b43_wldev *dev, |
3338 | struct b43_chanspec chanspec) | 3835 | struct ieee80211_channel *channel, |
3836 | enum nl80211_channel_type channel_type) | ||
3339 | { | 3837 | { |
3340 | struct b43_phy_n *nphy = dev->phy.n; | 3838 | struct b43_phy *phy = &dev->phy; |
3341 | 3839 | ||
3342 | const struct b43_nphy_channeltab_entry_rev2 *tabent_r2; | 3840 | const struct b43_nphy_channeltab_entry_rev2 *tabent_r2 = NULL; |
3343 | const struct b43_nphy_channeltab_entry_rev3 *tabent_r3; | 3841 | const struct b43_nphy_channeltab_entry_rev3 *tabent_r3 = NULL; |
3344 | 3842 | ||
3345 | u8 tmp; | 3843 | u8 tmp; |
3346 | u8 channel = chanspec.channel; | ||
3347 | 3844 | ||
3348 | if (dev->phy.rev >= 3) { | 3845 | if (dev->phy.rev >= 3) { |
3349 | /* TODO */ | 3846 | tabent_r3 = b43_nphy_get_chantabent_rev3(dev, |
3350 | tabent_r3 = NULL; | 3847 | channel->center_freq); |
3351 | if (!tabent_r3) | 3848 | if (!tabent_r3) |
3352 | return -ESRCH; | 3849 | return -ESRCH; |
3353 | } else { | 3850 | } else { |
3354 | tabent_r2 = b43_nphy_get_chantabent_rev2(dev, channel); | 3851 | tabent_r2 = b43_nphy_get_chantabent_rev2(dev, |
3852 | channel->hw_value); | ||
3355 | if (!tabent_r2) | 3853 | if (!tabent_r2) |
3356 | return -ESRCH; | 3854 | return -ESRCH; |
3357 | } | 3855 | } |
3358 | 3856 | ||
3359 | nphy->radio_chanspec = chanspec; | 3857 | /* Channel is set later in common code, but we need to set it on our |
3858 | own to let this function's subcalls work properly. */ | ||
3859 | phy->channel = channel->hw_value; | ||
3860 | phy->channel_freq = channel->center_freq; | ||
3360 | 3861 | ||
3361 | if (chanspec.b_width != nphy->b_width) | 3862 | if (b43_channel_type_is_40mhz(phy->channel_type) != |
3362 | ; /* TODO: BMAC BW Set (chanspec.b_width) */ | 3863 | b43_channel_type_is_40mhz(channel_type)) |
3864 | ; /* TODO: BMAC BW Set (channel_type) */ | ||
3363 | 3865 | ||
3364 | /* TODO: use defines */ | 3866 | if (channel_type == NL80211_CHAN_HT40PLUS) |
3365 | if (chanspec.b_width == 3) { | 3867 | b43_phy_set(dev, B43_NPHY_RXCTL, |
3366 | if (chanspec.sideband == 2) | 3868 | B43_NPHY_RXCTL_BSELU20); |
3367 | b43_phy_set(dev, B43_NPHY_RXCTL, | 3869 | else if (channel_type == NL80211_CHAN_HT40MINUS) |
3368 | B43_NPHY_RXCTL_BSELU20); | 3870 | b43_phy_mask(dev, B43_NPHY_RXCTL, |
3369 | else | 3871 | ~B43_NPHY_RXCTL_BSELU20); |
3370 | b43_phy_mask(dev, B43_NPHY_RXCTL, | ||
3371 | ~B43_NPHY_RXCTL_BSELU20); | ||
3372 | } | ||
3373 | 3872 | ||
3374 | if (dev->phy.rev >= 3) { | 3873 | if (dev->phy.rev >= 3) { |
3375 | tmp = (chanspec.b_freq == 1) ? 4 : 0; | 3874 | tmp = (channel->band == IEEE80211_BAND_5GHZ) ? 4 : 0; |
3376 | b43_radio_maskset(dev, 0x08, 0xFFFB, tmp); | 3875 | b43_radio_maskset(dev, 0x08, 0xFFFB, tmp); |
3377 | /* TODO: PHY Radio2056 Setup (dev, tabent_r3); */ | 3876 | b43_radio_2056_setup(dev, tabent_r3); |
3378 | b43_nphy_chanspec_setup(dev, &(tabent_r3->phy_regs), chanspec); | 3877 | b43_nphy_channel_setup(dev, &(tabent_r3->phy_regs), channel); |
3379 | } else { | 3878 | } else { |
3380 | tmp = (chanspec.b_freq == 1) ? 0x0020 : 0x0050; | 3879 | tmp = (channel->band == IEEE80211_BAND_5GHZ) ? 0x0020 : 0x0050; |
3381 | b43_radio_maskset(dev, B2055_MASTER1, 0xFF8F, tmp); | 3880 | b43_radio_maskset(dev, B2055_MASTER1, 0xFF8F, tmp); |
3382 | b43_radio_2055_setup(dev, tabent_r2); | 3881 | b43_radio_2055_setup(dev, tabent_r2); |
3383 | b43_nphy_chanspec_setup(dev, &(tabent_r2->phy_regs), chanspec); | 3882 | b43_nphy_channel_setup(dev, &(tabent_r2->phy_regs), channel); |
3384 | } | 3883 | } |
3385 | 3884 | ||
3386 | return 0; | 3885 | return 0; |
3387 | } | 3886 | } |
3388 | 3887 | ||
3389 | /* Tune the hardware to a new channel */ | ||
3390 | static int nphy_channel_switch(struct b43_wldev *dev, unsigned int channel) | ||
3391 | { | ||
3392 | struct b43_phy_n *nphy = dev->phy.n; | ||
3393 | |||
3394 | struct b43_chanspec chanspec; | ||
3395 | chanspec = nphy->radio_chanspec; | ||
3396 | chanspec.channel = channel; | ||
3397 | |||
3398 | return b43_nphy_set_chanspec(dev, chanspec); | ||
3399 | } | ||
3400 | |||
3401 | static int b43_nphy_op_allocate(struct b43_wldev *dev) | 3888 | static int b43_nphy_op_allocate(struct b43_wldev *dev) |
3402 | { | 3889 | { |
3403 | struct b43_phy_n *nphy; | 3890 | struct b43_phy_n *nphy; |
@@ -3417,7 +3904,11 @@ static void b43_nphy_op_prepare_structs(struct b43_wldev *dev) | |||
3417 | 3904 | ||
3418 | memset(nphy, 0, sizeof(*nphy)); | 3905 | memset(nphy, 0, sizeof(*nphy)); |
3419 | 3906 | ||
3420 | //TODO init struct b43_phy_n | 3907 | nphy->hang_avoid = (phy->rev == 3 || phy->rev == 4); |
3908 | nphy->gain_boost = true; /* this way we follow wl, assume it is true */ | ||
3909 | nphy->txrx_chain = 2; /* sth different than 0 and 1 for now */ | ||
3910 | nphy->phyrxchain = 3; /* to avoid b43_nphy_set_rx_core_state like wl */ | ||
3911 | nphy->perical = 2; /* avoid additional rssi cal on init (like wl) */ | ||
3421 | } | 3912 | } |
3422 | 3913 | ||
3423 | static void b43_nphy_op_free(struct b43_wldev *dev) | 3914 | static void b43_nphy_op_free(struct b43_wldev *dev) |
@@ -3466,6 +3957,15 @@ static void b43_nphy_op_write(struct b43_wldev *dev, u16 reg, u16 value) | |||
3466 | b43_write16(dev, B43_MMIO_PHY_DATA, value); | 3957 | b43_write16(dev, B43_MMIO_PHY_DATA, value); |
3467 | } | 3958 | } |
3468 | 3959 | ||
3960 | static void b43_nphy_op_maskset(struct b43_wldev *dev, u16 reg, u16 mask, | ||
3961 | u16 set) | ||
3962 | { | ||
3963 | check_phyreg(dev, reg); | ||
3964 | b43_write16(dev, B43_MMIO_PHY_CONTROL, reg); | ||
3965 | b43_write16(dev, B43_MMIO_PHY_DATA, | ||
3966 | (b43_read16(dev, B43_MMIO_PHY_DATA) & mask) | set); | ||
3967 | } | ||
3968 | |||
3469 | static u16 b43_nphy_op_radio_read(struct b43_wldev *dev, u16 reg) | 3969 | static u16 b43_nphy_op_radio_read(struct b43_wldev *dev, u16 reg) |
3470 | { | 3970 | { |
3471 | /* Register 1 is a 32-bit register. */ | 3971 | /* Register 1 is a 32-bit register. */ |
@@ -3490,8 +3990,6 @@ static void b43_nphy_op_radio_write(struct b43_wldev *dev, u16 reg, u16 value) | |||
3490 | static void b43_nphy_op_software_rfkill(struct b43_wldev *dev, | 3990 | static void b43_nphy_op_software_rfkill(struct b43_wldev *dev, |
3491 | bool blocked) | 3991 | bool blocked) |
3492 | { | 3992 | { |
3493 | struct b43_phy_n *nphy = dev->phy.n; | ||
3494 | |||
3495 | if (b43_read32(dev, B43_MMIO_MACCTL) & B43_MACCTL_ENABLED) | 3993 | if (b43_read32(dev, B43_MMIO_MACCTL) & B43_MACCTL_ENABLED) |
3496 | b43err(dev->wl, "MAC not suspended\n"); | 3994 | b43err(dev->wl, "MAC not suspended\n"); |
3497 | 3995 | ||
@@ -3518,22 +4016,29 @@ static void b43_nphy_op_software_rfkill(struct b43_wldev *dev, | |||
3518 | } else { | 4016 | } else { |
3519 | if (dev->phy.rev >= 3) { | 4017 | if (dev->phy.rev >= 3) { |
3520 | b43_radio_init2056(dev); | 4018 | b43_radio_init2056(dev); |
3521 | b43_nphy_set_chanspec(dev, nphy->radio_chanspec); | 4019 | b43_switch_channel(dev, dev->phy.channel); |
3522 | } else { | 4020 | } else { |
3523 | b43_radio_init2055(dev); | 4021 | b43_radio_init2055(dev); |
3524 | } | 4022 | } |
3525 | } | 4023 | } |
3526 | } | 4024 | } |
3527 | 4025 | ||
4026 | /* http://bcm-v4.sipsolutions.net/802.11/PHY/Anacore */ | ||
3528 | static void b43_nphy_op_switch_analog(struct b43_wldev *dev, bool on) | 4027 | static void b43_nphy_op_switch_analog(struct b43_wldev *dev, bool on) |
3529 | { | 4028 | { |
3530 | b43_phy_write(dev, B43_NPHY_AFECTL_OVER, | 4029 | u16 val = on ? 0 : 0x7FFF; |
3531 | on ? 0 : 0x7FFF); | 4030 | |
4031 | if (dev->phy.rev >= 3) | ||
4032 | b43_phy_write(dev, B43_NPHY_AFECTL_OVER1, val); | ||
4033 | b43_phy_write(dev, B43_NPHY_AFECTL_OVER, val); | ||
3532 | } | 4034 | } |
3533 | 4035 | ||
3534 | static int b43_nphy_op_switch_channel(struct b43_wldev *dev, | 4036 | static int b43_nphy_op_switch_channel(struct b43_wldev *dev, |
3535 | unsigned int new_channel) | 4037 | unsigned int new_channel) |
3536 | { | 4038 | { |
4039 | struct ieee80211_channel *channel = dev->wl->hw->conf.channel; | ||
4040 | enum nl80211_channel_type channel_type = dev->wl->hw->conf.channel_type; | ||
4041 | |||
3537 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) { | 4042 | if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) { |
3538 | if ((new_channel < 1) || (new_channel > 14)) | 4043 | if ((new_channel < 1) || (new_channel > 14)) |
3539 | return -EINVAL; | 4044 | return -EINVAL; |
@@ -3542,7 +4047,7 @@ static int b43_nphy_op_switch_channel(struct b43_wldev *dev, | |||
3542 | return -EINVAL; | 4047 | return -EINVAL; |
3543 | } | 4048 | } |
3544 | 4049 | ||
3545 | return nphy_channel_switch(dev, new_channel); | 4050 | return b43_nphy_set_channel(dev, channel, channel_type); |
3546 | } | 4051 | } |
3547 | 4052 | ||
3548 | static unsigned int b43_nphy_op_get_default_chan(struct b43_wldev *dev) | 4053 | static unsigned int b43_nphy_op_get_default_chan(struct b43_wldev *dev) |
@@ -3559,6 +4064,7 @@ const struct b43_phy_operations b43_phyops_n = { | |||
3559 | .init = b43_nphy_op_init, | 4064 | .init = b43_nphy_op_init, |
3560 | .phy_read = b43_nphy_op_read, | 4065 | .phy_read = b43_nphy_op_read, |
3561 | .phy_write = b43_nphy_op_write, | 4066 | .phy_write = b43_nphy_op_write, |
4067 | .phy_maskset = b43_nphy_op_maskset, | ||
3562 | .radio_read = b43_nphy_op_radio_read, | 4068 | .radio_read = b43_nphy_op_radio_read, |
3563 | .radio_write = b43_nphy_op_radio_write, | 4069 | .radio_write = b43_nphy_op_radio_write, |
3564 | .software_rfkill = b43_nphy_op_software_rfkill, | 4070 | .software_rfkill = b43_nphy_op_software_rfkill, |
diff --git a/drivers/net/wireless/b43/phy_n.h b/drivers/net/wireless/b43/phy_n.h index 8b6d570dd0aa..e789a89f1047 100644 --- a/drivers/net/wireless/b43/phy_n.h +++ b/drivers/net/wireless/b43/phy_n.h | |||
@@ -703,7 +703,7 @@ | |||
703 | #define B43_NPHY_CHAN_ESTHANG B43_PHY_N(0x21D) /* Channel estimate hang */ | 703 | #define B43_NPHY_CHAN_ESTHANG B43_PHY_N(0x21D) /* Channel estimate hang */ |
704 | #define B43_NPHY_FINERX2_CGC B43_PHY_N(0x221) /* Fine RX 2 clock gate control */ | 704 | #define B43_NPHY_FINERX2_CGC B43_PHY_N(0x221) /* Fine RX 2 clock gate control */ |
705 | #define B43_NPHY_FINERX2_CGC_DECGC 0x0008 /* Decode gated clocks */ | 705 | #define B43_NPHY_FINERX2_CGC_DECGC 0x0008 /* Decode gated clocks */ |
706 | #define B43_NPHY_TXPCTL_INIT B43_PHY_N(0x222) /* TX power controll init */ | 706 | #define B43_NPHY_TXPCTL_INIT B43_PHY_N(0x222) /* TX power control init */ |
707 | #define B43_NPHY_TXPCTL_INIT_PIDXI1 0x00FF /* Power index init 1 */ | 707 | #define B43_NPHY_TXPCTL_INIT_PIDXI1 0x00FF /* Power index init 1 */ |
708 | #define B43_NPHY_TXPCTL_INIT_PIDXI1_SHIFT 0 | 708 | #define B43_NPHY_TXPCTL_INIT_PIDXI1_SHIFT 0 |
709 | #define B43_NPHY_PAPD_EN0 B43_PHY_N(0x297) /* PAPD Enable0 TBD */ | 709 | #define B43_NPHY_PAPD_EN0 B43_PHY_N(0x297) /* PAPD Enable0 TBD */ |
@@ -714,223 +714,11 @@ | |||
714 | #define B43_PHY_B_BBCFG B43_PHY_N_BMODE(0x001) /* BB config */ | 714 | #define B43_PHY_B_BBCFG B43_PHY_N_BMODE(0x001) /* BB config */ |
715 | #define B43_PHY_B_TEST B43_PHY_N_BMODE(0x00A) | 715 | #define B43_PHY_B_TEST B43_PHY_N_BMODE(0x00A) |
716 | 716 | ||
717 | |||
718 | /* Broadcom 2055 radio registers */ | ||
719 | |||
720 | #define B2055_GEN_SPARE 0x00 /* GEN spare */ | ||
721 | #define B2055_SP_PINPD 0x02 /* SP PIN PD */ | ||
722 | #define B2055_C1_SP_RSSI 0x03 /* SP RSSI Core 1 */ | ||
723 | #define B2055_C1_SP_PDMISC 0x04 /* SP PD MISC Core 1 */ | ||
724 | #define B2055_C2_SP_RSSI 0x05 /* SP RSSI Core 2 */ | ||
725 | #define B2055_C2_SP_PDMISC 0x06 /* SP PD MISC Core 2 */ | ||
726 | #define B2055_C1_SP_RXGC1 0x07 /* SP RX GC1 Core 1 */ | ||
727 | #define B2055_C1_SP_RXGC2 0x08 /* SP RX GC2 Core 1 */ | ||
728 | #define B2055_C2_SP_RXGC1 0x09 /* SP RX GC1 Core 2 */ | ||
729 | #define B2055_C2_SP_RXGC2 0x0A /* SP RX GC2 Core 2 */ | ||
730 | #define B2055_C1_SP_LPFBWSEL 0x0B /* SP LPF BW select Core 1 */ | ||
731 | #define B2055_C2_SP_LPFBWSEL 0x0C /* SP LPF BW select Core 2 */ | ||
732 | #define B2055_C1_SP_TXGC1 0x0D /* SP TX GC1 Core 1 */ | ||
733 | #define B2055_C1_SP_TXGC2 0x0E /* SP TX GC2 Core 1 */ | ||
734 | #define B2055_C2_SP_TXGC1 0x0F /* SP TX GC1 Core 2 */ | ||
735 | #define B2055_C2_SP_TXGC2 0x10 /* SP TX GC2 Core 2 */ | ||
736 | #define B2055_MASTER1 0x11 /* Master control 1 */ | ||
737 | #define B2055_MASTER2 0x12 /* Master control 2 */ | ||
738 | #define B2055_PD_LGEN 0x13 /* PD LGEN */ | ||
739 | #define B2055_PD_PLLTS 0x14 /* PD PLL TS */ | ||
740 | #define B2055_C1_PD_LGBUF 0x15 /* PD Core 1 LGBUF */ | ||
741 | #define B2055_C1_PD_TX 0x16 /* PD Core 1 TX */ | ||
742 | #define B2055_C1_PD_RXTX 0x17 /* PD Core 1 RXTX */ | ||
743 | #define B2055_C1_PD_RSSIMISC 0x18 /* PD Core 1 RSSI MISC */ | ||
744 | #define B2055_C2_PD_LGBUF 0x19 /* PD Core 2 LGBUF */ | ||
745 | #define B2055_C2_PD_TX 0x1A /* PD Core 2 TX */ | ||
746 | #define B2055_C2_PD_RXTX 0x1B /* PD Core 2 RXTX */ | ||
747 | #define B2055_C2_PD_RSSIMISC 0x1C /* PD Core 2 RSSI MISC */ | ||
748 | #define B2055_PWRDET_LGEN 0x1D /* PWRDET LGEN */ | ||
749 | #define B2055_C1_PWRDET_LGBUF 0x1E /* PWRDET LGBUF Core 1 */ | ||
750 | #define B2055_C1_PWRDET_RXTX 0x1F /* PWRDET RXTX Core 1 */ | ||
751 | #define B2055_C2_PWRDET_LGBUF 0x20 /* PWRDET LGBUF Core 2 */ | ||
752 | #define B2055_C2_PWRDET_RXTX 0x21 /* PWRDET RXTX Core 2 */ | ||
753 | #define B2055_RRCCAL_CS 0x22 /* RRCCAL Control spare */ | ||
754 | #define B2055_RRCCAL_NOPTSEL 0x23 /* RRCCAL N OPT SEL */ | ||
755 | #define B2055_CAL_MISC 0x24 /* CAL MISC */ | ||
756 | #define B2055_CAL_COUT 0x25 /* CAL Counter out */ | ||
757 | #define B2055_CAL_COUT2 0x26 /* CAL Counter out 2 */ | ||
758 | #define B2055_CAL_CVARCTL 0x27 /* CAL CVAR Control */ | ||
759 | #define B2055_CAL_RVARCTL 0x28 /* CAL RVAR Control */ | ||
760 | #define B2055_CAL_LPOCTL 0x29 /* CAL LPO Control */ | ||
761 | #define B2055_CAL_TS 0x2A /* CAL TS */ | ||
762 | #define B2055_CAL_RCCALRTS 0x2B /* CAL RCCAL READ TS */ | ||
763 | #define B2055_CAL_RCALRTS 0x2C /* CAL RCAL READ TS */ | ||
764 | #define B2055_PADDRV 0x2D /* PAD driver */ | ||
765 | #define B2055_XOCTL1 0x2E /* XO Control 1 */ | ||
766 | #define B2055_XOCTL2 0x2F /* XO Control 2 */ | ||
767 | #define B2055_XOREGUL 0x30 /* XO Regulator */ | ||
768 | #define B2055_XOMISC 0x31 /* XO misc */ | ||
769 | #define B2055_PLL_LFC1 0x32 /* PLL LF C1 */ | ||
770 | #define B2055_PLL_CALVTH 0x33 /* PLL CAL VTH */ | ||
771 | #define B2055_PLL_LFC2 0x34 /* PLL LF C2 */ | ||
772 | #define B2055_PLL_REF 0x35 /* PLL reference */ | ||
773 | #define B2055_PLL_LFR1 0x36 /* PLL LF R1 */ | ||
774 | #define B2055_PLL_PFDCP 0x37 /* PLL PFD CP */ | ||
775 | #define B2055_PLL_IDAC_CPOPAMP 0x38 /* PLL IDAC CPOPAMP */ | ||
776 | #define B2055_PLL_CPREG 0x39 /* PLL CP Regulator */ | ||
777 | #define B2055_PLL_RCAL 0x3A /* PLL RCAL */ | ||
778 | #define B2055_RF_PLLMOD0 0x3B /* RF PLL MOD0 */ | ||
779 | #define B2055_RF_PLLMOD1 0x3C /* RF PLL MOD1 */ | ||
780 | #define B2055_RF_MMDIDAC1 0x3D /* RF MMD IDAC 1 */ | ||
781 | #define B2055_RF_MMDIDAC0 0x3E /* RF MMD IDAC 0 */ | ||
782 | #define B2055_RF_MMDSP 0x3F /* RF MMD spare */ | ||
783 | #define B2055_VCO_CAL1 0x40 /* VCO cal 1 */ | ||
784 | #define B2055_VCO_CAL2 0x41 /* VCO cal 2 */ | ||
785 | #define B2055_VCO_CAL3 0x42 /* VCO cal 3 */ | ||
786 | #define B2055_VCO_CAL4 0x43 /* VCO cal 4 */ | ||
787 | #define B2055_VCO_CAL5 0x44 /* VCO cal 5 */ | ||
788 | #define B2055_VCO_CAL6 0x45 /* VCO cal 6 */ | ||
789 | #define B2055_VCO_CAL7 0x46 /* VCO cal 7 */ | ||
790 | #define B2055_VCO_CAL8 0x47 /* VCO cal 8 */ | ||
791 | #define B2055_VCO_CAL9 0x48 /* VCO cal 9 */ | ||
792 | #define B2055_VCO_CAL10 0x49 /* VCO cal 10 */ | ||
793 | #define B2055_VCO_CAL11 0x4A /* VCO cal 11 */ | ||
794 | #define B2055_VCO_CAL12 0x4B /* VCO cal 12 */ | ||
795 | #define B2055_VCO_CAL13 0x4C /* VCO cal 13 */ | ||
796 | #define B2055_VCO_CAL14 0x4D /* VCO cal 14 */ | ||
797 | #define B2055_VCO_CAL15 0x4E /* VCO cal 15 */ | ||
798 | #define B2055_VCO_CAL16 0x4F /* VCO cal 16 */ | ||
799 | #define B2055_VCO_KVCO 0x50 /* VCO KVCO */ | ||
800 | #define B2055_VCO_CAPTAIL 0x51 /* VCO CAP TAIL */ | ||
801 | #define B2055_VCO_IDACVCO 0x52 /* VCO IDAC VCO */ | ||
802 | #define B2055_VCO_REG 0x53 /* VCO Regulator */ | ||
803 | #define B2055_PLL_RFVTH 0x54 /* PLL RF VTH */ | ||
804 | #define B2055_LGBUF_CENBUF 0x55 /* LGBUF CEN BUF */ | ||
805 | #define B2055_LGEN_TUNE1 0x56 /* LGEN tune 1 */ | ||
806 | #define B2055_LGEN_TUNE2 0x57 /* LGEN tune 2 */ | ||
807 | #define B2055_LGEN_IDAC1 0x58 /* LGEN IDAC 1 */ | ||
808 | #define B2055_LGEN_IDAC2 0x59 /* LGEN IDAC 2 */ | ||
809 | #define B2055_LGEN_BIASC 0x5A /* LGEN BIAS counter */ | ||
810 | #define B2055_LGEN_BIASIDAC 0x5B /* LGEN BIAS IDAC */ | ||
811 | #define B2055_LGEN_RCAL 0x5C /* LGEN RCAL */ | ||
812 | #define B2055_LGEN_DIV 0x5D /* LGEN div */ | ||
813 | #define B2055_LGEN_SPARE2 0x5E /* LGEN spare 2 */ | ||
814 | #define B2055_C1_LGBUF_ATUNE 0x5F /* Core 1 LGBUF A tune */ | ||
815 | #define B2055_C1_LGBUF_GTUNE 0x60 /* Core 1 LGBUF G tune */ | ||
816 | #define B2055_C1_LGBUF_DIV 0x61 /* Core 1 LGBUF div */ | ||
817 | #define B2055_C1_LGBUF_AIDAC 0x62 /* Core 1 LGBUF A IDAC */ | ||
818 | #define B2055_C1_LGBUF_GIDAC 0x63 /* Core 1 LGBUF G IDAC */ | ||
819 | #define B2055_C1_LGBUF_IDACFO 0x64 /* Core 1 LGBUF IDAC filter override */ | ||
820 | #define B2055_C1_LGBUF_SPARE 0x65 /* Core 1 LGBUF spare */ | ||
821 | #define B2055_C1_RX_RFSPC1 0x66 /* Core 1 RX RF SPC1 */ | ||
822 | #define B2055_C1_RX_RFR1 0x67 /* Core 1 RX RF reg 1 */ | ||
823 | #define B2055_C1_RX_RFR2 0x68 /* Core 1 RX RF reg 2 */ | ||
824 | #define B2055_C1_RX_RFRCAL 0x69 /* Core 1 RX RF RCAL */ | ||
825 | #define B2055_C1_RX_BB_BLCMP 0x6A /* Core 1 RX Baseband BUFI LPF CMP */ | ||
826 | #define B2055_C1_RX_BB_LPF 0x6B /* Core 1 RX Baseband LPF */ | ||
827 | #define B2055_C1_RX_BB_MIDACHP 0x6C /* Core 1 RX Baseband MIDAC High-pass */ | ||
828 | #define B2055_C1_RX_BB_VGA1IDAC 0x6D /* Core 1 RX Baseband VGA1 IDAC */ | ||
829 | #define B2055_C1_RX_BB_VGA2IDAC 0x6E /* Core 1 RX Baseband VGA2 IDAC */ | ||
830 | #define B2055_C1_RX_BB_VGA3IDAC 0x6F /* Core 1 RX Baseband VGA3 IDAC */ | ||
831 | #define B2055_C1_RX_BB_BUFOCTL 0x70 /* Core 1 RX Baseband BUFO Control */ | ||
832 | #define B2055_C1_RX_BB_RCCALCTL 0x71 /* Core 1 RX Baseband RCCAL Control */ | ||
833 | #define B2055_C1_RX_BB_RSSICTL1 0x72 /* Core 1 RX Baseband RSSI Control 1 */ | ||
834 | #define B2055_C1_RX_BB_RSSICTL2 0x73 /* Core 1 RX Baseband RSSI Control 2 */ | ||
835 | #define B2055_C1_RX_BB_RSSICTL3 0x74 /* Core 1 RX Baseband RSSI Control 3 */ | ||
836 | #define B2055_C1_RX_BB_RSSICTL4 0x75 /* Core 1 RX Baseband RSSI Control 4 */ | ||
837 | #define B2055_C1_RX_BB_RSSICTL5 0x76 /* Core 1 RX Baseband RSSI Control 5 */ | ||
838 | #define B2055_C1_RX_BB_REG 0x77 /* Core 1 RX Baseband Regulator */ | ||
839 | #define B2055_C1_RX_BB_SPARE1 0x78 /* Core 1 RX Baseband spare 1 */ | ||
840 | #define B2055_C1_RX_TXBBRCAL 0x79 /* Core 1 RX TX BB RCAL */ | ||
841 | #define B2055_C1_TX_RF_SPGA 0x7A /* Core 1 TX RF SGM PGA */ | ||
842 | #define B2055_C1_TX_RF_SPAD 0x7B /* Core 1 TX RF SGM PAD */ | ||
843 | #define B2055_C1_TX_RF_CNTPGA1 0x7C /* Core 1 TX RF counter PGA 1 */ | ||
844 | #define B2055_C1_TX_RF_CNTPAD1 0x7D /* Core 1 TX RF counter PAD 1 */ | ||
845 | #define B2055_C1_TX_RF_PGAIDAC 0x7E /* Core 1 TX RF PGA IDAC */ | ||
846 | #define B2055_C1_TX_PGAPADTN 0x7F /* Core 1 TX PGA PAD TN */ | ||
847 | #define B2055_C1_TX_PADIDAC1 0x80 /* Core 1 TX PAD IDAC 1 */ | ||
848 | #define B2055_C1_TX_PADIDAC2 0x81 /* Core 1 TX PAD IDAC 2 */ | ||
849 | #define B2055_C1_TX_MXBGTRIM 0x82 /* Core 1 TX MX B/G TRIM */ | ||
850 | #define B2055_C1_TX_RF_RCAL 0x83 /* Core 1 TX RF RCAL */ | ||
851 | #define B2055_C1_TX_RF_PADTSSI1 0x84 /* Core 1 TX RF PAD TSSI1 */ | ||
852 | #define B2055_C1_TX_RF_PADTSSI2 0x85 /* Core 1 TX RF PAD TSSI2 */ | ||
853 | #define B2055_C1_TX_RF_SPARE 0x86 /* Core 1 TX RF spare */ | ||
854 | #define B2055_C1_TX_RF_IQCAL1 0x87 /* Core 1 TX RF I/Q CAL 1 */ | ||
855 | #define B2055_C1_TX_RF_IQCAL2 0x88 /* Core 1 TX RF I/Q CAL 2 */ | ||
856 | #define B2055_C1_TXBB_RCCAL 0x89 /* Core 1 TXBB RC CAL Control */ | ||
857 | #define B2055_C1_TXBB_LPF1 0x8A /* Core 1 TXBB LPF 1 */ | ||
858 | #define B2055_C1_TX_VOSCNCL 0x8B /* Core 1 TX VOS CNCL */ | ||
859 | #define B2055_C1_TX_LPF_MXGMIDAC 0x8C /* Core 1 TX LPF MXGM IDAC */ | ||
860 | #define B2055_C1_TX_BB_MXGM 0x8D /* Core 1 TX BB MXGM */ | ||
861 | #define B2055_C2_LGBUF_ATUNE 0x8E /* Core 2 LGBUF A tune */ | ||
862 | #define B2055_C2_LGBUF_GTUNE 0x8F /* Core 2 LGBUF G tune */ | ||
863 | #define B2055_C2_LGBUF_DIV 0x90 /* Core 2 LGBUF div */ | ||
864 | #define B2055_C2_LGBUF_AIDAC 0x91 /* Core 2 LGBUF A IDAC */ | ||
865 | #define B2055_C2_LGBUF_GIDAC 0x92 /* Core 2 LGBUF G IDAC */ | ||
866 | #define B2055_C2_LGBUF_IDACFO 0x93 /* Core 2 LGBUF IDAC filter override */ | ||
867 | #define B2055_C2_LGBUF_SPARE 0x94 /* Core 2 LGBUF spare */ | ||
868 | #define B2055_C2_RX_RFSPC1 0x95 /* Core 2 RX RF SPC1 */ | ||
869 | #define B2055_C2_RX_RFR1 0x96 /* Core 2 RX RF reg 1 */ | ||
870 | #define B2055_C2_RX_RFR2 0x97 /* Core 2 RX RF reg 2 */ | ||
871 | #define B2055_C2_RX_RFRCAL 0x98 /* Core 2 RX RF RCAL */ | ||
872 | #define B2055_C2_RX_BB_BLCMP 0x99 /* Core 2 RX Baseband BUFI LPF CMP */ | ||
873 | #define B2055_C2_RX_BB_LPF 0x9A /* Core 2 RX Baseband LPF */ | ||
874 | #define B2055_C2_RX_BB_MIDACHP 0x9B /* Core 2 RX Baseband MIDAC High-pass */ | ||
875 | #define B2055_C2_RX_BB_VGA1IDAC 0x9C /* Core 2 RX Baseband VGA1 IDAC */ | ||
876 | #define B2055_C2_RX_BB_VGA2IDAC 0x9D /* Core 2 RX Baseband VGA2 IDAC */ | ||
877 | #define B2055_C2_RX_BB_VGA3IDAC 0x9E /* Core 2 RX Baseband VGA3 IDAC */ | ||
878 | #define B2055_C2_RX_BB_BUFOCTL 0x9F /* Core 2 RX Baseband BUFO Control */ | ||
879 | #define B2055_C2_RX_BB_RCCALCTL 0xA0 /* Core 2 RX Baseband RCCAL Control */ | ||
880 | #define B2055_C2_RX_BB_RSSICTL1 0xA1 /* Core 2 RX Baseband RSSI Control 1 */ | ||
881 | #define B2055_C2_RX_BB_RSSICTL2 0xA2 /* Core 2 RX Baseband RSSI Control 2 */ | ||
882 | #define B2055_C2_RX_BB_RSSICTL3 0xA3 /* Core 2 RX Baseband RSSI Control 3 */ | ||
883 | #define B2055_C2_RX_BB_RSSICTL4 0xA4 /* Core 2 RX Baseband RSSI Control 4 */ | ||
884 | #define B2055_C2_RX_BB_RSSICTL5 0xA5 /* Core 2 RX Baseband RSSI Control 5 */ | ||
885 | #define B2055_C2_RX_BB_REG 0xA6 /* Core 2 RX Baseband Regulator */ | ||
886 | #define B2055_C2_RX_BB_SPARE1 0xA7 /* Core 2 RX Baseband spare 1 */ | ||
887 | #define B2055_C2_RX_TXBBRCAL 0xA8 /* Core 2 RX TX BB RCAL */ | ||
888 | #define B2055_C2_TX_RF_SPGA 0xA9 /* Core 2 TX RF SGM PGA */ | ||
889 | #define B2055_C2_TX_RF_SPAD 0xAA /* Core 2 TX RF SGM PAD */ | ||
890 | #define B2055_C2_TX_RF_CNTPGA1 0xAB /* Core 2 TX RF counter PGA 1 */ | ||
891 | #define B2055_C2_TX_RF_CNTPAD1 0xAC /* Core 2 TX RF counter PAD 1 */ | ||
892 | #define B2055_C2_TX_RF_PGAIDAC 0xAD /* Core 2 TX RF PGA IDAC */ | ||
893 | #define B2055_C2_TX_PGAPADTN 0xAE /* Core 2 TX PGA PAD TN */ | ||
894 | #define B2055_C2_TX_PADIDAC1 0xAF /* Core 2 TX PAD IDAC 1 */ | ||
895 | #define B2055_C2_TX_PADIDAC2 0xB0 /* Core 2 TX PAD IDAC 2 */ | ||
896 | #define B2055_C2_TX_MXBGTRIM 0xB1 /* Core 2 TX MX B/G TRIM */ | ||
897 | #define B2055_C2_TX_RF_RCAL 0xB2 /* Core 2 TX RF RCAL */ | ||
898 | #define B2055_C2_TX_RF_PADTSSI1 0xB3 /* Core 2 TX RF PAD TSSI1 */ | ||
899 | #define B2055_C2_TX_RF_PADTSSI2 0xB4 /* Core 2 TX RF PAD TSSI2 */ | ||
900 | #define B2055_C2_TX_RF_SPARE 0xB5 /* Core 2 TX RF spare */ | ||
901 | #define B2055_C2_TX_RF_IQCAL1 0xB6 /* Core 2 TX RF I/Q CAL 1 */ | ||
902 | #define B2055_C2_TX_RF_IQCAL2 0xB7 /* Core 2 TX RF I/Q CAL 2 */ | ||
903 | #define B2055_C2_TXBB_RCCAL 0xB8 /* Core 2 TXBB RC CAL Control */ | ||
904 | #define B2055_C2_TXBB_LPF1 0xB9 /* Core 2 TXBB LPF 1 */ | ||
905 | #define B2055_C2_TX_VOSCNCL 0xBA /* Core 2 TX VOS CNCL */ | ||
906 | #define B2055_C2_TX_LPF_MXGMIDAC 0xBB /* Core 2 TX LPF MXGM IDAC */ | ||
907 | #define B2055_C2_TX_BB_MXGM 0xBC /* Core 2 TX BB MXGM */ | ||
908 | #define B2055_PRG_GCHP21 0xBD /* PRG GC HPVGA23 21 */ | ||
909 | #define B2055_PRG_GCHP22 0xBE /* PRG GC HPVGA23 22 */ | ||
910 | #define B2055_PRG_GCHP23 0xBF /* PRG GC HPVGA23 23 */ | ||
911 | #define B2055_PRG_GCHP24 0xC0 /* PRG GC HPVGA23 24 */ | ||
912 | #define B2055_PRG_GCHP25 0xC1 /* PRG GC HPVGA23 25 */ | ||
913 | #define B2055_PRG_GCHP26 0xC2 /* PRG GC HPVGA23 26 */ | ||
914 | #define B2055_PRG_GCHP27 0xC3 /* PRG GC HPVGA23 27 */ | ||
915 | #define B2055_PRG_GCHP28 0xC4 /* PRG GC HPVGA23 28 */ | ||
916 | #define B2055_PRG_GCHP29 0xC5 /* PRG GC HPVGA23 29 */ | ||
917 | #define B2055_PRG_GCHP30 0xC6 /* PRG GC HPVGA23 30 */ | ||
918 | #define B2055_C1_LNA_GAINBST 0xCD /* Core 1 LNA GAINBST */ | ||
919 | #define B2055_C1_B0NB_RSSIVCM 0xD2 /* Core 1 B0 narrow-band RSSI VCM */ | ||
920 | #define B2055_C1_GENSPARE2 0xD6 /* Core 1 GEN spare 2 */ | ||
921 | #define B2055_C2_LNA_GAINBST 0xD9 /* Core 2 LNA GAINBST */ | ||
922 | #define B2055_C2_B0NB_RSSIVCM 0xDE /* Core 2 B0 narrow-band RSSI VCM */ | ||
923 | #define B2055_C2_GENSPARE2 0xE2 /* Core 2 GEN spare 2 */ | ||
924 | |||
925 | |||
926 | |||
927 | struct b43_wldev; | 717 | struct b43_wldev; |
928 | 718 | ||
929 | struct b43_chanspec { | 719 | struct b43_chanspec { |
930 | u8 channel; | 720 | u16 center_freq; |
931 | u8 sideband; | 721 | enum nl80211_channel_type channel_type; |
932 | u8 b_width; | ||
933 | u8 b_freq; | ||
934 | }; | 722 | }; |
935 | 723 | ||
936 | struct b43_phy_n_iq_comp { | 724 | struct b43_phy_n_iq_comp { |
@@ -984,8 +772,6 @@ struct b43_phy_n { | |||
984 | u16 papd_epsilon_offset[2]; | 772 | u16 papd_epsilon_offset[2]; |
985 | s32 preamble_override; | 773 | s32 preamble_override; |
986 | u32 bb_mult_save; | 774 | u32 bb_mult_save; |
987 | u8 b_width; | ||
988 | struct b43_chanspec radio_chanspec; | ||
989 | 775 | ||
990 | bool gain_boost; | 776 | bool gain_boost; |
991 | bool elna_gain_config; | 777 | bool elna_gain_config; |
@@ -996,7 +782,7 @@ struct b43_phy_n { | |||
996 | u16 mphase_txcal_numcmds; | 782 | u16 mphase_txcal_numcmds; |
997 | u16 mphase_txcal_bestcoeffs[11]; | 783 | u16 mphase_txcal_bestcoeffs[11]; |
998 | 784 | ||
999 | u8 txpwrctrl; | 785 | bool txpwrctrl; |
1000 | u16 txcal_bbmult; | 786 | u16 txcal_bbmult; |
1001 | u16 txiqlocal_bestc[11]; | 787 | u16 txiqlocal_bestc[11]; |
1002 | bool txiqlocal_coeffsvalid; | 788 | bool txiqlocal_coeffsvalid; |
diff --git a/drivers/net/wireless/b43/pio.c b/drivers/net/wireless/b43/pio.c index aa12273ae716..72ab94df7569 100644 --- a/drivers/net/wireless/b43/pio.c +++ b/drivers/net/wireless/b43/pio.c | |||
@@ -111,7 +111,7 @@ static u16 index_to_pioqueue_base(struct b43_wldev *dev, | |||
111 | B43_MMIO_PIO11_BASE5, | 111 | B43_MMIO_PIO11_BASE5, |
112 | }; | 112 | }; |
113 | 113 | ||
114 | if (dev->dev->id.revision >= 11) { | 114 | if (dev->sdev->id.revision >= 11) { |
115 | B43_WARN_ON(index >= ARRAY_SIZE(bases_rev11)); | 115 | B43_WARN_ON(index >= ARRAY_SIZE(bases_rev11)); |
116 | return bases_rev11[index]; | 116 | return bases_rev11[index]; |
117 | } | 117 | } |
@@ -121,14 +121,14 @@ static u16 index_to_pioqueue_base(struct b43_wldev *dev, | |||
121 | 121 | ||
122 | static u16 pio_txqueue_offset(struct b43_wldev *dev) | 122 | static u16 pio_txqueue_offset(struct b43_wldev *dev) |
123 | { | 123 | { |
124 | if (dev->dev->id.revision >= 11) | 124 | if (dev->sdev->id.revision >= 11) |
125 | return 0x18; | 125 | return 0x18; |
126 | return 0; | 126 | return 0; |
127 | } | 127 | } |
128 | 128 | ||
129 | static u16 pio_rxqueue_offset(struct b43_wldev *dev) | 129 | static u16 pio_rxqueue_offset(struct b43_wldev *dev) |
130 | { | 130 | { |
131 | if (dev->dev->id.revision >= 11) | 131 | if (dev->sdev->id.revision >= 11) |
132 | return 0x38; | 132 | return 0x38; |
133 | return 8; | 133 | return 8; |
134 | } | 134 | } |
@@ -144,7 +144,7 @@ static struct b43_pio_txqueue *b43_setup_pioqueue_tx(struct b43_wldev *dev, | |||
144 | if (!q) | 144 | if (!q) |
145 | return NULL; | 145 | return NULL; |
146 | q->dev = dev; | 146 | q->dev = dev; |
147 | q->rev = dev->dev->id.revision; | 147 | q->rev = dev->sdev->id.revision; |
148 | q->mmio_base = index_to_pioqueue_base(dev, index) + | 148 | q->mmio_base = index_to_pioqueue_base(dev, index) + |
149 | pio_txqueue_offset(dev); | 149 | pio_txqueue_offset(dev); |
150 | q->index = index; | 150 | q->index = index; |
@@ -178,7 +178,7 @@ static struct b43_pio_rxqueue *b43_setup_pioqueue_rx(struct b43_wldev *dev, | |||
178 | if (!q) | 178 | if (!q) |
179 | return NULL; | 179 | return NULL; |
180 | q->dev = dev; | 180 | q->dev = dev; |
181 | q->rev = dev->dev->id.revision; | 181 | q->rev = dev->sdev->id.revision; |
182 | q->mmio_base = index_to_pioqueue_base(dev, index) + | 182 | q->mmio_base = index_to_pioqueue_base(dev, index) + |
183 | pio_rxqueue_offset(dev); | 183 | pio_rxqueue_offset(dev); |
184 | 184 | ||
@@ -339,7 +339,7 @@ static u16 tx_write_2byte_queue(struct b43_pio_txqueue *q, | |||
339 | ctl |= B43_PIO_TXCTL_WRITELO | B43_PIO_TXCTL_WRITEHI; | 339 | ctl |= B43_PIO_TXCTL_WRITELO | B43_PIO_TXCTL_WRITEHI; |
340 | b43_piotx_write16(q, B43_PIO_TXCTL, ctl); | 340 | b43_piotx_write16(q, B43_PIO_TXCTL, ctl); |
341 | 341 | ||
342 | ssb_block_write(dev->dev, data, (data_len & ~1), | 342 | b43_block_write(dev, data, (data_len & ~1), |
343 | q->mmio_base + B43_PIO_TXDATA, | 343 | q->mmio_base + B43_PIO_TXDATA, |
344 | sizeof(u16)); | 344 | sizeof(u16)); |
345 | if (data_len & 1) { | 345 | if (data_len & 1) { |
@@ -351,7 +351,7 @@ static u16 tx_write_2byte_queue(struct b43_pio_txqueue *q, | |||
351 | b43_piotx_write16(q, B43_PIO_TXCTL, ctl); | 351 | b43_piotx_write16(q, B43_PIO_TXCTL, ctl); |
352 | tail[0] = data[data_len - 1]; | 352 | tail[0] = data[data_len - 1]; |
353 | tail[1] = 0; | 353 | tail[1] = 0; |
354 | ssb_block_write(dev->dev, tail, 2, | 354 | b43_block_write(dev, tail, 2, |
355 | q->mmio_base + B43_PIO_TXDATA, | 355 | q->mmio_base + B43_PIO_TXDATA, |
356 | sizeof(u16)); | 356 | sizeof(u16)); |
357 | } | 357 | } |
@@ -393,7 +393,7 @@ static u32 tx_write_4byte_queue(struct b43_pio_txqueue *q, | |||
393 | B43_PIO8_TXCTL_16_23 | B43_PIO8_TXCTL_24_31; | 393 | B43_PIO8_TXCTL_16_23 | B43_PIO8_TXCTL_24_31; |
394 | b43_piotx_write32(q, B43_PIO8_TXCTL, ctl); | 394 | b43_piotx_write32(q, B43_PIO8_TXCTL, ctl); |
395 | 395 | ||
396 | ssb_block_write(dev->dev, data, (data_len & ~3), | 396 | b43_block_write(dev, data, (data_len & ~3), |
397 | q->mmio_base + B43_PIO8_TXDATA, | 397 | q->mmio_base + B43_PIO8_TXDATA, |
398 | sizeof(u32)); | 398 | sizeof(u32)); |
399 | if (data_len & 3) { | 399 | if (data_len & 3) { |
@@ -421,7 +421,7 @@ static u32 tx_write_4byte_queue(struct b43_pio_txqueue *q, | |||
421 | break; | 421 | break; |
422 | } | 422 | } |
423 | b43_piotx_write32(q, B43_PIO8_TXCTL, ctl); | 423 | b43_piotx_write32(q, B43_PIO8_TXCTL, ctl); |
424 | ssb_block_write(dev->dev, tail, 4, | 424 | b43_block_write(dev, tail, 4, |
425 | q->mmio_base + B43_PIO8_TXDATA, | 425 | q->mmio_base + B43_PIO8_TXDATA, |
426 | sizeof(u32)); | 426 | sizeof(u32)); |
427 | } | 427 | } |
@@ -657,11 +657,11 @@ data_ready: | |||
657 | 657 | ||
658 | /* Get the preamble (RX header) */ | 658 | /* Get the preamble (RX header) */ |
659 | if (q->rev >= 8) { | 659 | if (q->rev >= 8) { |
660 | ssb_block_read(dev->dev, rxhdr, sizeof(*rxhdr), | 660 | b43_block_read(dev, rxhdr, sizeof(*rxhdr), |
661 | q->mmio_base + B43_PIO8_RXDATA, | 661 | q->mmio_base + B43_PIO8_RXDATA, |
662 | sizeof(u32)); | 662 | sizeof(u32)); |
663 | } else { | 663 | } else { |
664 | ssb_block_read(dev->dev, rxhdr, sizeof(*rxhdr), | 664 | b43_block_read(dev, rxhdr, sizeof(*rxhdr), |
665 | q->mmio_base + B43_PIO_RXDATA, | 665 | q->mmio_base + B43_PIO_RXDATA, |
666 | sizeof(u16)); | 666 | sizeof(u16)); |
667 | } | 667 | } |
@@ -697,7 +697,7 @@ data_ready: | |||
697 | skb_reserve(skb, 2); | 697 | skb_reserve(skb, 2); |
698 | skb_put(skb, len + padding); | 698 | skb_put(skb, len + padding); |
699 | if (q->rev >= 8) { | 699 | if (q->rev >= 8) { |
700 | ssb_block_read(dev->dev, skb->data + padding, (len & ~3), | 700 | b43_block_read(dev, skb->data + padding, (len & ~3), |
701 | q->mmio_base + B43_PIO8_RXDATA, | 701 | q->mmio_base + B43_PIO8_RXDATA, |
702 | sizeof(u32)); | 702 | sizeof(u32)); |
703 | if (len & 3) { | 703 | if (len & 3) { |
@@ -705,7 +705,7 @@ data_ready: | |||
705 | BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 4); | 705 | BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 4); |
706 | 706 | ||
707 | /* Read the last few bytes. */ | 707 | /* Read the last few bytes. */ |
708 | ssb_block_read(dev->dev, tail, 4, | 708 | b43_block_read(dev, tail, 4, |
709 | q->mmio_base + B43_PIO8_RXDATA, | 709 | q->mmio_base + B43_PIO8_RXDATA, |
710 | sizeof(u32)); | 710 | sizeof(u32)); |
711 | switch (len & 3) { | 711 | switch (len & 3) { |
@@ -724,7 +724,7 @@ data_ready: | |||
724 | } | 724 | } |
725 | } | 725 | } |
726 | } else { | 726 | } else { |
727 | ssb_block_read(dev->dev, skb->data + padding, (len & ~1), | 727 | b43_block_read(dev, skb->data + padding, (len & ~1), |
728 | q->mmio_base + B43_PIO_RXDATA, | 728 | q->mmio_base + B43_PIO_RXDATA, |
729 | sizeof(u16)); | 729 | sizeof(u16)); |
730 | if (len & 1) { | 730 | if (len & 1) { |
@@ -732,7 +732,7 @@ data_ready: | |||
732 | BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 2); | 732 | BUILD_BUG_ON(sizeof(wl->pio_tailspace) < 2); |
733 | 733 | ||
734 | /* Read the last byte. */ | 734 | /* Read the last byte. */ |
735 | ssb_block_read(dev->dev, tail, 2, | 735 | b43_block_read(dev, tail, 2, |
736 | q->mmio_base + B43_PIO_RXDATA, | 736 | q->mmio_base + B43_PIO_RXDATA, |
737 | sizeof(u16)); | 737 | sizeof(u16)); |
738 | skb->data[len + padding - 1] = tail[0]; | 738 | skb->data[len + padding - 1] = tail[0]; |
diff --git a/drivers/net/wireless/b43/radio_2055.c b/drivers/net/wireless/b43/radio_2055.c new file mode 100644 index 000000000000..44c6dea66882 --- /dev/null +++ b/drivers/net/wireless/b43/radio_2055.c | |||
@@ -0,0 +1,1334 @@ | |||
1 | /* | ||
2 | |||
3 | Broadcom B43 wireless driver | ||
4 | IEEE 802.11n PHY and radio device data tables | ||
5 | |||
6 | Copyright (c) 2008 Michael Buesch <mb@bu3sch.de> | ||
7 | |||
8 | This program is free software; you can redistribute it and/or modify | ||
9 | it under the terms of the GNU General Public License as published by | ||
10 | the Free Software Foundation; either version 2 of the License, or | ||
11 | (at your option) any later version. | ||
12 | |||
13 | This program is distributed in the hope that it will be useful, | ||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | GNU General Public License for more details. | ||
17 | |||
18 | You should have received a copy of the GNU General Public License | ||
19 | along with this program; see the file COPYING. If not, write to | ||
20 | the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor, | ||
21 | Boston, MA 02110-1301, USA. | ||
22 | |||
23 | */ | ||
24 | |||
25 | #include "b43.h" | ||
26 | #include "radio_2055.h" | ||
27 | #include "phy_common.h" | ||
28 | |||
29 | struct b2055_inittab_entry { | ||
30 | /* Value to write if we use the 5GHz band. */ | ||
31 | u16 ghz5; | ||
32 | /* Value to write if we use the 2.4GHz band. */ | ||
33 | u16 ghz2; | ||
34 | /* Flags */ | ||
35 | u8 flags; | ||
36 | #define B2055_INITTAB_ENTRY_OK 0x01 | ||
37 | #define B2055_INITTAB_UPLOAD 0x02 | ||
38 | }; | ||
39 | #define UPLOAD .flags = B2055_INITTAB_ENTRY_OK | B2055_INITTAB_UPLOAD | ||
40 | #define NOUPLOAD .flags = B2055_INITTAB_ENTRY_OK | ||
41 | |||
42 | static const struct b2055_inittab_entry b2055_inittab [] = { | ||
43 | [B2055_SP_PINPD] = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, }, | ||
44 | [B2055_C1_SP_RSSI] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
45 | [B2055_C1_SP_PDMISC] = { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, }, | ||
46 | [B2055_C2_SP_RSSI] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
47 | [B2055_C2_SP_PDMISC] = { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, }, | ||
48 | [B2055_C1_SP_RXGC1] = { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, }, | ||
49 | [B2055_C1_SP_RXGC2] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
50 | [B2055_C2_SP_RXGC1] = { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, }, | ||
51 | [B2055_C2_SP_RXGC2] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
52 | [B2055_C1_SP_LPFBWSEL] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
53 | [B2055_C2_SP_LPFBWSEL] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
54 | [B2055_C1_SP_TXGC1] = { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, }, | ||
55 | [B2055_C1_SP_TXGC2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, }, | ||
56 | [B2055_C2_SP_TXGC1] = { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, }, | ||
57 | [B2055_C2_SP_TXGC2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, }, | ||
58 | [B2055_MASTER1] = { .ghz5 = 0x00D0, .ghz2 = 0x00D0, NOUPLOAD, }, | ||
59 | [B2055_MASTER2] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
60 | [B2055_PD_LGEN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
61 | [B2055_PD_PLLTS] = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, }, | ||
62 | [B2055_C1_PD_LGBUF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
63 | [B2055_C1_PD_TX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
64 | [B2055_C1_PD_RXTX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
65 | [B2055_C1_PD_RSSIMISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
66 | [B2055_C2_PD_LGBUF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
67 | [B2055_C2_PD_TX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
68 | [B2055_C2_PD_RXTX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
69 | [B2055_C2_PD_RSSIMISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
70 | [B2055_PWRDET_LGEN] = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, }, | ||
71 | [B2055_C1_PWRDET_LGBUF] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, | ||
72 | [B2055_C1_PWRDET_RXTX] = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, }, | ||
73 | [B2055_C2_PWRDET_LGBUF] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, | ||
74 | [B2055_C2_PWRDET_RXTX] = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, }, | ||
75 | [B2055_RRCCAL_CS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
76 | [B2055_RRCCAL_NOPTSEL] = { .ghz5 = 0x002C, .ghz2 = 0x002C, NOUPLOAD, }, | ||
77 | [B2055_CAL_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
78 | [B2055_CAL_COUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
79 | [B2055_CAL_COUT2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
80 | [B2055_CAL_CVARCTL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
81 | [B2055_CAL_RVARCTL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
82 | [B2055_CAL_LPOCTL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
83 | [B2055_CAL_TS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
84 | [B2055_CAL_RCCALRTS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
85 | [B2055_CAL_RCALRTS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
86 | [B2055_PADDRV] = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, }, | ||
87 | [B2055_XOCTL1] = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, }, | ||
88 | [B2055_XOCTL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
89 | [B2055_XOREGUL] = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, | ||
90 | [B2055_XOMISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
91 | [B2055_PLL_LFC1] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, | ||
92 | [B2055_PLL_CALVTH] = { .ghz5 = 0x0087, .ghz2 = 0x0087, NOUPLOAD, }, | ||
93 | [B2055_PLL_LFC2] = { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, }, | ||
94 | [B2055_PLL_REF] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
95 | [B2055_PLL_LFR1] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
96 | [B2055_PLL_PFDCP] = { .ghz5 = 0x0018, .ghz2 = 0x0018, UPLOAD, }, | ||
97 | [B2055_PLL_IDAC_CPOPAMP] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
98 | [B2055_PLL_CPREG] = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, | ||
99 | [B2055_PLL_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
100 | [B2055_RF_PLLMOD0] = { .ghz5 = 0x009E, .ghz2 = 0x009E, NOUPLOAD, }, | ||
101 | [B2055_RF_PLLMOD1] = { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, }, | ||
102 | [B2055_RF_MMDIDAC1] = { .ghz5 = 0x00C8, .ghz2 = 0x00C8, UPLOAD, }, | ||
103 | [B2055_RF_MMDIDAC0] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
104 | [B2055_RF_MMDSP] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
105 | [B2055_VCO_CAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
106 | [B2055_VCO_CAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
107 | [B2055_VCO_CAL3] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
108 | [B2055_VCO_CAL4] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
109 | [B2055_VCO_CAL5] = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, }, | ||
110 | [B2055_VCO_CAL6] = { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, }, | ||
111 | [B2055_VCO_CAL7] = { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, }, | ||
112 | [B2055_VCO_CAL8] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
113 | [B2055_VCO_CAL9] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
114 | [B2055_VCO_CAL10] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
115 | [B2055_VCO_CAL11] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
116 | [B2055_VCO_CAL12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
117 | [B2055_VCO_CAL13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
118 | [B2055_VCO_CAL14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
119 | [B2055_VCO_CAL15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
120 | [B2055_VCO_CAL16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
121 | [B2055_VCO_KVCO] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
122 | [B2055_VCO_CAPTAIL] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
123 | [B2055_VCO_IDACVCO] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
124 | [B2055_VCO_REG] = { .ghz5 = 0x0084, .ghz2 = 0x0084, UPLOAD, }, | ||
125 | [B2055_PLL_RFVTH] = { .ghz5 = 0x00C3, .ghz2 = 0x00C3, NOUPLOAD, }, | ||
126 | [B2055_LGBUF_CENBUF] = { .ghz5 = 0x008F, .ghz2 = 0x008F, NOUPLOAD, }, | ||
127 | [B2055_LGEN_TUNE1] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, | ||
128 | [B2055_LGEN_TUNE2] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, | ||
129 | [B2055_LGEN_IDAC1] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
130 | [B2055_LGEN_IDAC2] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
131 | [B2055_LGEN_BIASC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
132 | [B2055_LGEN_BIASIDAC] = { .ghz5 = 0x00CC, .ghz2 = 0x00CC, NOUPLOAD, }, | ||
133 | [B2055_LGEN_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
134 | [B2055_LGEN_DIV] = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, }, | ||
135 | [B2055_LGEN_SPARE2] = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, }, | ||
136 | [B2055_C1_LGBUF_ATUNE] = { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, }, | ||
137 | [B2055_C1_LGBUF_GTUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
138 | [B2055_C1_LGBUF_DIV] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
139 | [B2055_C1_LGBUF_AIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, }, | ||
140 | [B2055_C1_LGBUF_GIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
141 | [B2055_C1_LGBUF_IDACFO] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
142 | [B2055_C1_LGBUF_SPARE] = { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, }, | ||
143 | [B2055_C1_RX_RFSPC1] = { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, }, | ||
144 | [B2055_C1_RX_RFR1] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
145 | [B2055_C1_RX_RFR2] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, | ||
146 | [B2055_C1_RX_RFRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
147 | [B2055_C1_RX_BB_BLCMP] = { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, }, | ||
148 | [B2055_C1_RX_BB_LPF] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, | ||
149 | [B2055_C1_RX_BB_MIDACHP] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, | ||
150 | [B2055_C1_RX_BB_VGA1IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
151 | [B2055_C1_RX_BB_VGA2IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
152 | [B2055_C1_RX_BB_VGA3IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
153 | [B2055_C1_RX_BB_BUFOCTL] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
154 | [B2055_C1_RX_BB_RCCALCTL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
155 | [B2055_C1_RX_BB_RSSICTL1] = { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, }, | ||
156 | [B2055_C1_RX_BB_RSSICTL2] = { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, }, | ||
157 | [B2055_C1_RX_BB_RSSICTL3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, }, | ||
158 | [B2055_C1_RX_BB_RSSICTL4] = { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, }, | ||
159 | [B2055_C1_RX_BB_RSSICTL5] = { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, }, | ||
160 | [B2055_C1_RX_BB_REG] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, | ||
161 | [B2055_C1_RX_BB_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
162 | [B2055_C1_RX_TXBBRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
163 | [B2055_C1_TX_RF_SPGA] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
164 | [B2055_C1_TX_RF_SPAD] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
165 | [B2055_C1_TX_RF_CNTPGA1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
166 | [B2055_C1_TX_RF_CNTPAD1] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
167 | [B2055_C1_TX_RF_PGAIDAC] = { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, }, | ||
168 | [B2055_C1_TX_PGAPADTN] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
169 | [B2055_C1_TX_PADIDAC1] = { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, }, | ||
170 | [B2055_C1_TX_PADIDAC2] = { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, }, | ||
171 | [B2055_C1_TX_MXBGTRIM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
172 | [B2055_C1_TX_RF_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
173 | [B2055_C1_TX_RF_PADTSSI1] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, | ||
174 | [B2055_C1_TX_RF_PADTSSI2] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, | ||
175 | [B2055_C1_TX_RF_SPARE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, | ||
176 | [B2055_C1_TX_RF_IQCAL1] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
177 | [B2055_C1_TX_RF_IQCAL2] = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, }, | ||
178 | [B2055_C1_TXBB_RCCAL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
179 | [B2055_C1_TXBB_LPF1] = { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, }, | ||
180 | [B2055_C1_TX_VOSCNCL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
181 | [B2055_C1_TX_LPF_MXGMIDAC] = { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, }, | ||
182 | [B2055_C1_TX_BB_MXGM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
183 | [B2055_C2_LGBUF_ATUNE] = { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, }, | ||
184 | [B2055_C2_LGBUF_GTUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
185 | [B2055_C2_LGBUF_DIV] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
186 | [B2055_C2_LGBUF_AIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, }, | ||
187 | [B2055_C2_LGBUF_GIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
188 | [B2055_C2_LGBUF_IDACFO] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
189 | [B2055_C2_LGBUF_SPARE] = { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, }, | ||
190 | [B2055_C2_RX_RFSPC1] = { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, }, | ||
191 | [B2055_C2_RX_RFR1] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
192 | [B2055_C2_RX_RFR2] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, | ||
193 | [B2055_C2_RX_RFRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
194 | [B2055_C2_RX_BB_BLCMP] = { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, }, | ||
195 | [B2055_C2_RX_BB_LPF] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, | ||
196 | [B2055_C2_RX_BB_MIDACHP] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, | ||
197 | [B2055_C2_RX_BB_VGA1IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
198 | [B2055_C2_RX_BB_VGA2IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
199 | [B2055_C2_RX_BB_VGA3IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
200 | [B2055_C2_RX_BB_BUFOCTL] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
201 | [B2055_C2_RX_BB_RCCALCTL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
202 | [B2055_C2_RX_BB_RSSICTL1] = { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, }, | ||
203 | [B2055_C2_RX_BB_RSSICTL2] = { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, }, | ||
204 | [B2055_C2_RX_BB_RSSICTL3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, }, | ||
205 | [B2055_C2_RX_BB_RSSICTL4] = { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, }, | ||
206 | [B2055_C2_RX_BB_RSSICTL5] = { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, }, | ||
207 | [B2055_C2_RX_BB_REG] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, | ||
208 | [B2055_C2_RX_BB_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
209 | [B2055_C2_RX_TXBBRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
210 | [B2055_C2_TX_RF_SPGA] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
211 | [B2055_C2_TX_RF_SPAD] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
212 | [B2055_C2_TX_RF_CNTPGA1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
213 | [B2055_C2_TX_RF_CNTPAD1] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
214 | [B2055_C2_TX_RF_PGAIDAC] = { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, }, | ||
215 | [B2055_C2_TX_PGAPADTN] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
216 | [B2055_C2_TX_PADIDAC1] = { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, }, | ||
217 | [B2055_C2_TX_PADIDAC2] = { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, }, | ||
218 | [B2055_C2_TX_MXBGTRIM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
219 | [B2055_C2_TX_RF_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
220 | [B2055_C2_TX_RF_PADTSSI1] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, | ||
221 | [B2055_C2_TX_RF_PADTSSI2] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, | ||
222 | [B2055_C2_TX_RF_SPARE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, | ||
223 | [B2055_C2_TX_RF_IQCAL1] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
224 | [B2055_C2_TX_RF_IQCAL2] = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, }, | ||
225 | [B2055_C2_TXBB_RCCAL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
226 | [B2055_C2_TXBB_LPF1] = { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, }, | ||
227 | [B2055_C2_TX_VOSCNCL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
228 | [B2055_C2_TX_LPF_MXGMIDAC] = { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, }, | ||
229 | [B2055_C2_TX_BB_MXGM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
230 | [B2055_PRG_GCHP21] = { .ghz5 = 0x0071, .ghz2 = 0x0071, NOUPLOAD, }, | ||
231 | [B2055_PRG_GCHP22] = { .ghz5 = 0x0072, .ghz2 = 0x0072, NOUPLOAD, }, | ||
232 | [B2055_PRG_GCHP23] = { .ghz5 = 0x0073, .ghz2 = 0x0073, NOUPLOAD, }, | ||
233 | [B2055_PRG_GCHP24] = { .ghz5 = 0x0074, .ghz2 = 0x0074, NOUPLOAD, }, | ||
234 | [B2055_PRG_GCHP25] = { .ghz5 = 0x0075, .ghz2 = 0x0075, NOUPLOAD, }, | ||
235 | [B2055_PRG_GCHP26] = { .ghz5 = 0x0076, .ghz2 = 0x0076, NOUPLOAD, }, | ||
236 | [B2055_PRG_GCHP27] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
237 | [B2055_PRG_GCHP28] = { .ghz5 = 0x0078, .ghz2 = 0x0078, NOUPLOAD, }, | ||
238 | [B2055_PRG_GCHP29] = { .ghz5 = 0x0079, .ghz2 = 0x0079, NOUPLOAD, }, | ||
239 | [B2055_PRG_GCHP30] = { .ghz5 = 0x007A, .ghz2 = 0x007A, NOUPLOAD, }, | ||
240 | [0xC7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
241 | [0xC8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
242 | [0xC9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
243 | [0xCA] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
244 | [0xCB] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
245 | [0xCC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
246 | [B2055_C1_LNA_GAINBST] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
247 | [0xCE] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
248 | [0xCF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
249 | [0xD0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
250 | [0xD1] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
251 | [B2055_C1_B0NB_RSSIVCM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
252 | [0xD3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
253 | [0xD4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
254 | [0xD5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
255 | [B2055_C1_GENSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
256 | [0xD7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
257 | [0xD8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
258 | [B2055_C2_LNA_GAINBST] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
259 | [0xDA] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
260 | [0xDB] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
261 | [0xDC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
262 | [0xDD] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
263 | [B2055_C2_B0NB_RSSIVCM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
264 | [0xDF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
265 | [0xE0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
266 | [0xE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
267 | [B2055_C2_GENSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
268 | }; | ||
269 | |||
270 | #define RADIOREGS(r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, \ | ||
271 | r12, r13, r14, r15, r16, r17, r18, r19, r20, r21) \ | ||
272 | .radio_pll_ref = r0, \ | ||
273 | .radio_rf_pllmod0 = r1, \ | ||
274 | .radio_rf_pllmod1 = r2, \ | ||
275 | .radio_vco_captail = r3, \ | ||
276 | .radio_vco_cal1 = r4, \ | ||
277 | .radio_vco_cal2 = r5, \ | ||
278 | .radio_pll_lfc1 = r6, \ | ||
279 | .radio_pll_lfr1 = r7, \ | ||
280 | .radio_pll_lfc2 = r8, \ | ||
281 | .radio_lgbuf_cenbuf = r9, \ | ||
282 | .radio_lgen_tune1 = r10, \ | ||
283 | .radio_lgen_tune2 = r11, \ | ||
284 | .radio_c1_lgbuf_atune = r12, \ | ||
285 | .radio_c1_lgbuf_gtune = r13, \ | ||
286 | .radio_c1_rx_rfr1 = r14, \ | ||
287 | .radio_c1_tx_pgapadtn = r15, \ | ||
288 | .radio_c1_tx_mxbgtrim = r16, \ | ||
289 | .radio_c2_lgbuf_atune = r17, \ | ||
290 | .radio_c2_lgbuf_gtune = r18, \ | ||
291 | .radio_c2_rx_rfr1 = r19, \ | ||
292 | .radio_c2_tx_pgapadtn = r20, \ | ||
293 | .radio_c2_tx_mxbgtrim = r21 | ||
294 | |||
295 | #define PHYREGS(r0, r1, r2, r3, r4, r5) \ | ||
296 | .phy_regs.phy_bw1a = r0, \ | ||
297 | .phy_regs.phy_bw2 = r1, \ | ||
298 | .phy_regs.phy_bw3 = r2, \ | ||
299 | .phy_regs.phy_bw4 = r3, \ | ||
300 | .phy_regs.phy_bw5 = r4, \ | ||
301 | .phy_regs.phy_bw6 = r5 | ||
302 | |||
303 | static const struct b43_nphy_channeltab_entry_rev2 b43_nphy_channeltab_rev2[] = { | ||
304 | { .channel = 184, | ||
305 | .freq = 4920, /* MHz */ | ||
306 | .unk2 = 3280, | ||
307 | RADIOREGS(0x71, 0xEC, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
308 | 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, | ||
309 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
310 | PHYREGS(0x07B4, 0x07B0, 0x07AC, 0x0214, 0x0215, 0x0216), | ||
311 | }, | ||
312 | { .channel = 186, | ||
313 | .freq = 4930, /* MHz */ | ||
314 | .unk2 = 3287, | ||
315 | RADIOREGS(0x71, 0xED, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
316 | 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, | ||
317 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
318 | PHYREGS(0x07B8, 0x07B4, 0x07B0, 0x0213, 0x0214, 0x0215), | ||
319 | }, | ||
320 | { .channel = 188, | ||
321 | .freq = 4940, /* MHz */ | ||
322 | .unk2 = 3293, | ||
323 | RADIOREGS(0x71, 0xEE, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
324 | 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, | ||
325 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
326 | PHYREGS(0x07BC, 0x07B8, 0x07B4, 0x0212, 0x0213, 0x0214), | ||
327 | }, | ||
328 | { .channel = 190, | ||
329 | .freq = 4950, /* MHz */ | ||
330 | .unk2 = 3300, | ||
331 | RADIOREGS(0x71, 0xEF, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
332 | 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, | ||
333 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
334 | PHYREGS(0x07C0, 0x07BC, 0x07B8, 0x0211, 0x0212, 0x0213), | ||
335 | }, | ||
336 | { .channel = 192, | ||
337 | .freq = 4960, /* MHz */ | ||
338 | .unk2 = 3307, | ||
339 | RADIOREGS(0x71, 0xF0, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
340 | 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, | ||
341 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
342 | PHYREGS(0x07C4, 0x07C0, 0x07BC, 0x020F, 0x0211, 0x0212), | ||
343 | }, | ||
344 | { .channel = 194, | ||
345 | .freq = 4970, /* MHz */ | ||
346 | .unk2 = 3313, | ||
347 | RADIOREGS(0x71, 0xF1, 0x01, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
348 | 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, | ||
349 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
350 | PHYREGS(0x07C8, 0x07C4, 0x07C0, 0x020E, 0x020F, 0x0211), | ||
351 | }, | ||
352 | { .channel = 196, | ||
353 | .freq = 4980, /* MHz */ | ||
354 | .unk2 = 3320, | ||
355 | RADIOREGS(0x71, 0xF2, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A, | ||
356 | 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, | ||
357 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
358 | PHYREGS(0x07CC, 0x07C8, 0x07C4, 0x020D, 0x020E, 0x020F), | ||
359 | }, | ||
360 | { .channel = 198, | ||
361 | .freq = 4990, /* MHz */ | ||
362 | .unk2 = 3327, | ||
363 | RADIOREGS(0x71, 0xF3, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A, | ||
364 | 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, | ||
365 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
366 | PHYREGS(0x07D0, 0x07CC, 0x07C8, 0x020C, 0x020D, 0x020E), | ||
367 | }, | ||
368 | { .channel = 200, | ||
369 | .freq = 5000, /* MHz */ | ||
370 | .unk2 = 3333, | ||
371 | RADIOREGS(0x71, 0xF4, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A, | ||
372 | 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, | ||
373 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
374 | PHYREGS(0x07D4, 0x07D0, 0x07CC, 0x020B, 0x020C, 0x020D), | ||
375 | }, | ||
376 | { .channel = 202, | ||
377 | .freq = 5010, /* MHz */ | ||
378 | .unk2 = 3340, | ||
379 | RADIOREGS(0x71, 0xF5, 0x01, 0x0E, 0xFF, 0x01, 0x04, 0x0A, | ||
380 | 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, | ||
381 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
382 | PHYREGS(0x07D8, 0x07D4, 0x07D0, 0x020A, 0x020B, 0x020C), | ||
383 | }, | ||
384 | { .channel = 204, | ||
385 | .freq = 5020, /* MHz */ | ||
386 | .unk2 = 3347, | ||
387 | RADIOREGS(0x71, 0xF6, 0x01, 0x0E, 0xF7, 0x01, 0x04, 0x0A, | ||
388 | 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, | ||
389 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
390 | PHYREGS(0x07DC, 0x07D8, 0x07D4, 0x0209, 0x020A, 0x020B), | ||
391 | }, | ||
392 | { .channel = 206, | ||
393 | .freq = 5030, /* MHz */ | ||
394 | .unk2 = 3353, | ||
395 | RADIOREGS(0x71, 0xF7, 0x01, 0x0E, 0xF7, 0x01, 0x04, 0x0A, | ||
396 | 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, | ||
397 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
398 | PHYREGS(0x07E0, 0x07DC, 0x07D8, 0x0208, 0x0209, 0x020A), | ||
399 | }, | ||
400 | { .channel = 208, | ||
401 | .freq = 5040, /* MHz */ | ||
402 | .unk2 = 3360, | ||
403 | RADIOREGS(0x71, 0xF8, 0x01, 0x0D, 0xEF, 0x01, 0x04, 0x0A, | ||
404 | 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, | ||
405 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
406 | PHYREGS(0x07E4, 0x07E0, 0x07DC, 0x0207, 0x0208, 0x0209), | ||
407 | }, | ||
408 | { .channel = 210, | ||
409 | .freq = 5050, /* MHz */ | ||
410 | .unk2 = 3367, | ||
411 | RADIOREGS(0x71, 0xF9, 0x01, 0x0D, 0xEF, 0x01, 0x04, 0x0A, | ||
412 | 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, | ||
413 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
414 | PHYREGS(0x07E8, 0x07E4, 0x07E0, 0x0206, 0x0207, 0x0208), | ||
415 | }, | ||
416 | { .channel = 212, | ||
417 | .freq = 5060, /* MHz */ | ||
418 | .unk2 = 3373, | ||
419 | RADIOREGS(0x71, 0xFA, 0x01, 0x0D, 0xE6, 0x01, 0x04, 0x0A, | ||
420 | 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, | ||
421 | 0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E), | ||
422 | PHYREGS(0x07EC, 0x07E8, 0x07E4, 0x0205, 0x0206, 0x0207), | ||
423 | }, | ||
424 | { .channel = 214, | ||
425 | .freq = 5070, /* MHz */ | ||
426 | .unk2 = 3380, | ||
427 | RADIOREGS(0x71, 0xFB, 0x01, 0x0D, 0xE6, 0x01, 0x04, 0x0A, | ||
428 | 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, | ||
429 | 0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E), | ||
430 | PHYREGS(0x07F0, 0x07EC, 0x07E8, 0x0204, 0x0205, 0x0206), | ||
431 | }, | ||
432 | { .channel = 216, | ||
433 | .freq = 5080, /* MHz */ | ||
434 | .unk2 = 3387, | ||
435 | RADIOREGS(0x71, 0xFC, 0x01, 0x0D, 0xDE, 0x01, 0x04, 0x0A, | ||
436 | 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, | ||
437 | 0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D), | ||
438 | PHYREGS(0x07F4, 0x07F0, 0x07EC, 0x0203, 0x0204, 0x0205), | ||
439 | }, | ||
440 | { .channel = 218, | ||
441 | .freq = 5090, /* MHz */ | ||
442 | .unk2 = 3393, | ||
443 | RADIOREGS(0x71, 0xFD, 0x01, 0x0D, 0xDE, 0x01, 0x04, 0x0A, | ||
444 | 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, | ||
445 | 0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D), | ||
446 | PHYREGS(0x07F8, 0x07F4, 0x07F0, 0x0202, 0x0203, 0x0204), | ||
447 | }, | ||
448 | { .channel = 220, | ||
449 | .freq = 5100, /* MHz */ | ||
450 | .unk2 = 3400, | ||
451 | RADIOREGS(0x71, 0xFE, 0x01, 0x0C, 0xD6, 0x01, 0x04, 0x0A, | ||
452 | 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, | ||
453 | 0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D), | ||
454 | PHYREGS(0x07FC, 0x07F8, 0x07F4, 0x0201, 0x0202, 0x0203), | ||
455 | }, | ||
456 | { .channel = 222, | ||
457 | .freq = 5110, /* MHz */ | ||
458 | .unk2 = 3407, | ||
459 | RADIOREGS(0x71, 0xFF, 0x01, 0x0C, 0xD6, 0x01, 0x04, 0x0A, | ||
460 | 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, | ||
461 | 0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D), | ||
462 | PHYREGS(0x0800, 0x07FC, 0x07F8, 0x0200, 0x0201, 0x0202), | ||
463 | }, | ||
464 | { .channel = 224, | ||
465 | .freq = 5120, /* MHz */ | ||
466 | .unk2 = 3413, | ||
467 | RADIOREGS(0x71, 0x00, 0x02, 0x0C, 0xCE, 0x01, 0x04, 0x0A, | ||
468 | 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, | ||
469 | 0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C), | ||
470 | PHYREGS(0x0804, 0x0800, 0x07FC, 0x01FF, 0x0200, 0x0201), | ||
471 | }, | ||
472 | { .channel = 226, | ||
473 | .freq = 5130, /* MHz */ | ||
474 | .unk2 = 3420, | ||
475 | RADIOREGS(0x71, 0x01, 0x02, 0x0C, 0xCE, 0x01, 0x04, 0x0A, | ||
476 | 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, | ||
477 | 0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C), | ||
478 | PHYREGS(0x0808, 0x0804, 0x0800, 0x01FE, 0x01FF, 0x0200), | ||
479 | }, | ||
480 | { .channel = 228, | ||
481 | .freq = 5140, /* MHz */ | ||
482 | .unk2 = 3427, | ||
483 | RADIOREGS(0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A, | ||
484 | 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, | ||
485 | 0x8B, 0xDD, 0x00, 0x0C, 0x0E, 0x8B), | ||
486 | PHYREGS(0x080C, 0x0808, 0x0804, 0x01FD, 0x01FE, 0x01FF), | ||
487 | }, | ||
488 | { .channel = 32, | ||
489 | .freq = 5160, /* MHz */ | ||
490 | .unk2 = 3440, | ||
491 | RADIOREGS(0x71, 0x04, 0x02, 0x0B, 0xBE, 0x01, 0x04, 0x0A, | ||
492 | 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, | ||
493 | 0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A), | ||
494 | PHYREGS(0x0814, 0x0810, 0x080C, 0x01FB, 0x01FC, 0x01FD), | ||
495 | }, | ||
496 | { .channel = 34, | ||
497 | .freq = 5170, /* MHz */ | ||
498 | .unk2 = 3447, | ||
499 | RADIOREGS(0x71, 0x05, 0x02, 0x0B, 0xBE, 0x01, 0x04, 0x0A, | ||
500 | 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, | ||
501 | 0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A), | ||
502 | PHYREGS(0x0818, 0x0814, 0x0810, 0x01FA, 0x01FB, 0x01FC), | ||
503 | }, | ||
504 | { .channel = 36, | ||
505 | .freq = 5180, /* MHz */ | ||
506 | .unk2 = 3453, | ||
507 | RADIOREGS(0x71, 0x06, 0x02, 0x0B, 0xB6, 0x01, 0x04, 0x0A, | ||
508 | 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, | ||
509 | 0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89), | ||
510 | PHYREGS(0x081C, 0x0818, 0x0814, 0x01F9, 0x01FA, 0x01FB), | ||
511 | }, | ||
512 | { .channel = 38, | ||
513 | .freq = 5190, /* MHz */ | ||
514 | .unk2 = 3460, | ||
515 | RADIOREGS(0x71, 0x07, 0x02, 0x0B, 0xB6, 0x01, 0x04, 0x0A, | ||
516 | 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, | ||
517 | 0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89), | ||
518 | PHYREGS(0x0820, 0x081C, 0x0818, 0x01F8, 0x01F9, 0x01FA), | ||
519 | }, | ||
520 | { .channel = 40, | ||
521 | .freq = 5200, /* MHz */ | ||
522 | .unk2 = 3467, | ||
523 | RADIOREGS(0x71, 0x08, 0x02, 0x0B, 0xAF, 0x01, 0x04, 0x0A, | ||
524 | 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, | ||
525 | 0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89), | ||
526 | PHYREGS(0x0824, 0x0820, 0x081C, 0x01F7, 0x01F8, 0x01F9), | ||
527 | }, | ||
528 | { .channel = 42, | ||
529 | .freq = 5210, /* MHz */ | ||
530 | .unk2 = 3473, | ||
531 | RADIOREGS(0x71, 0x09, 0x02, 0x0B, 0xAF, 0x01, 0x04, 0x0A, | ||
532 | 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, | ||
533 | 0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89), | ||
534 | PHYREGS(0x0828, 0x0824, 0x0820, 0x01F6, 0x01F7, 0x01F8), | ||
535 | }, | ||
536 | { .channel = 44, | ||
537 | .freq = 5220, /* MHz */ | ||
538 | .unk2 = 3480, | ||
539 | RADIOREGS(0x71, 0x0A, 0x02, 0x0A, 0xA7, 0x01, 0x04, 0x0A, | ||
540 | 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, | ||
541 | 0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88), | ||
542 | PHYREGS(0x082C, 0x0828, 0x0824, 0x01F5, 0x01F6, 0x01F7), | ||
543 | }, | ||
544 | { .channel = 46, | ||
545 | .freq = 5230, /* MHz */ | ||
546 | .unk2 = 3487, | ||
547 | RADIOREGS(0x71, 0x0B, 0x02, 0x0A, 0xA7, 0x01, 0x04, 0x0A, | ||
548 | 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, | ||
549 | 0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88), | ||
550 | PHYREGS(0x0830, 0x082C, 0x0828, 0x01F4, 0x01F5, 0x01F6), | ||
551 | }, | ||
552 | { .channel = 48, | ||
553 | .freq = 5240, /* MHz */ | ||
554 | .unk2 = 3493, | ||
555 | RADIOREGS(0x71, 0x0C, 0x02, 0x0A, 0xA0, 0x01, 0x04, 0x0A, | ||
556 | 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, | ||
557 | 0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87), | ||
558 | PHYREGS(0x0834, 0x0830, 0x082C, 0x01F3, 0x01F4, 0x01F5), | ||
559 | }, | ||
560 | { .channel = 50, | ||
561 | .freq = 5250, /* MHz */ | ||
562 | .unk2 = 3500, | ||
563 | RADIOREGS(0x71, 0x0D, 0x02, 0x0A, 0xA0, 0x01, 0x04, 0x0A, | ||
564 | 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, | ||
565 | 0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87), | ||
566 | PHYREGS(0x0838, 0x0834, 0x0830, 0x01F2, 0x01F3, 0x01F4), | ||
567 | }, | ||
568 | { .channel = 52, | ||
569 | .freq = 5260, /* MHz */ | ||
570 | .unk2 = 3507, | ||
571 | RADIOREGS(0x71, 0x0E, 0x02, 0x0A, 0x98, 0x01, 0x04, 0x0A, | ||
572 | 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, | ||
573 | 0x87, 0xAA, 0x00, 0x08, 0x09, 0x87), | ||
574 | PHYREGS(0x083C, 0x0838, 0x0834, 0x01F1, 0x01F2, 0x01F3), | ||
575 | }, | ||
576 | { .channel = 54, | ||
577 | .freq = 5270, /* MHz */ | ||
578 | .unk2 = 3513, | ||
579 | RADIOREGS(0x71, 0x0F, 0x02, 0x0A, 0x98, 0x01, 0x04, 0x0A, | ||
580 | 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, | ||
581 | 0x87, 0xAA, 0x00, 0x08, 0x09, 0x87), | ||
582 | PHYREGS(0x0840, 0x083C, 0x0838, 0x01F0, 0x01F1, 0x01F2), | ||
583 | }, | ||
584 | { .channel = 56, | ||
585 | .freq = 5280, /* MHz */ | ||
586 | .unk2 = 3520, | ||
587 | RADIOREGS(0x71, 0x10, 0x02, 0x09, 0x91, 0x01, 0x04, 0x0A, | ||
588 | 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, | ||
589 | 0x86, 0x99, 0x00, 0x08, 0x08, 0x86), | ||
590 | PHYREGS(0x0844, 0x0840, 0x083C, 0x01F0, 0x01F0, 0x01F1), | ||
591 | }, | ||
592 | { .channel = 58, | ||
593 | .freq = 5290, /* MHz */ | ||
594 | .unk2 = 3527, | ||
595 | RADIOREGS(0x71, 0x11, 0x02, 0x09, 0x91, 0x01, 0x04, 0x0A, | ||
596 | 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, | ||
597 | 0x86, 0x99, 0x00, 0x08, 0x08, 0x86), | ||
598 | PHYREGS(0x0848, 0x0844, 0x0840, 0x01EF, 0x01F0, 0x01F0), | ||
599 | }, | ||
600 | { .channel = 60, | ||
601 | .freq = 5300, /* MHz */ | ||
602 | .unk2 = 3533, | ||
603 | RADIOREGS(0x71, 0x12, 0x02, 0x09, 0x8A, 0x01, 0x04, 0x0A, | ||
604 | 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, | ||
605 | 0x85, 0x99, 0x00, 0x08, 0x07, 0x85), | ||
606 | PHYREGS(0x084C, 0x0848, 0x0844, 0x01EE, 0x01EF, 0x01F0), | ||
607 | }, | ||
608 | { .channel = 62, | ||
609 | .freq = 5310, /* MHz */ | ||
610 | .unk2 = 3540, | ||
611 | RADIOREGS(0x71, 0x13, 0x02, 0x09, 0x8A, 0x01, 0x04, 0x0A, | ||
612 | 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, | ||
613 | 0x85, 0x99, 0x00, 0x08, 0x07, 0x85), | ||
614 | PHYREGS(0x0850, 0x084C, 0x0848, 0x01ED, 0x01EE, 0x01EF), | ||
615 | }, | ||
616 | { .channel = 64, | ||
617 | .freq = 5320, /* MHz */ | ||
618 | .unk2 = 3547, | ||
619 | RADIOREGS(0x71, 0x14, 0x02, 0x09, 0x83, 0x01, 0x04, 0x0A, | ||
620 | 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, | ||
621 | 0x84, 0x88, 0x00, 0x07, 0x07, 0x84), | ||
622 | PHYREGS(0x0854, 0x0850, 0x084C, 0x01EC, 0x01ED, 0x01EE), | ||
623 | }, | ||
624 | { .channel = 66, | ||
625 | .freq = 5330, /* MHz */ | ||
626 | .unk2 = 3553, | ||
627 | RADIOREGS(0x71, 0x15, 0x02, 0x09, 0x83, 0x01, 0x04, 0x0A, | ||
628 | 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, | ||
629 | 0x84, 0x88, 0x00, 0x07, 0x07, 0x84), | ||
630 | PHYREGS(0x0858, 0x0854, 0x0850, 0x01EB, 0x01EC, 0x01ED), | ||
631 | }, | ||
632 | { .channel = 68, | ||
633 | .freq = 5340, /* MHz */ | ||
634 | .unk2 = 3560, | ||
635 | RADIOREGS(0x71, 0x16, 0x02, 0x08, 0x7C, 0x01, 0x04, 0x0A, | ||
636 | 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, | ||
637 | 0x84, 0x88, 0x00, 0x07, 0x06, 0x84), | ||
638 | PHYREGS(0x085C, 0x0858, 0x0854, 0x01EA, 0x01EB, 0x01EC), | ||
639 | }, | ||
640 | { .channel = 70, | ||
641 | .freq = 5350, /* MHz */ | ||
642 | .unk2 = 3567, | ||
643 | RADIOREGS(0x71, 0x17, 0x02, 0x08, 0x7C, 0x01, 0x04, 0x0A, | ||
644 | 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, | ||
645 | 0x84, 0x88, 0x00, 0x07, 0x06, 0x84), | ||
646 | PHYREGS(0x0860, 0x085C, 0x0858, 0x01E9, 0x01EA, 0x01EB), | ||
647 | }, | ||
648 | { .channel = 72, | ||
649 | .freq = 5360, /* MHz */ | ||
650 | .unk2 = 3573, | ||
651 | RADIOREGS(0x71, 0x18, 0x02, 0x08, 0x75, 0x01, 0x04, 0x0A, | ||
652 | 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, | ||
653 | 0x83, 0x77, 0x00, 0x06, 0x05, 0x83), | ||
654 | PHYREGS(0x0864, 0x0860, 0x085C, 0x01E8, 0x01E9, 0x01EA), | ||
655 | }, | ||
656 | { .channel = 74, | ||
657 | .freq = 5370, /* MHz */ | ||
658 | .unk2 = 3580, | ||
659 | RADIOREGS(0x71, 0x19, 0x02, 0x08, 0x75, 0x01, 0x04, 0x0A, | ||
660 | 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, | ||
661 | 0x83, 0x77, 0x00, 0x06, 0x05, 0x83), | ||
662 | PHYREGS(0x0868, 0x0864, 0x0860, 0x01E7, 0x01E8, 0x01E9), | ||
663 | }, | ||
664 | { .channel = 76, | ||
665 | .freq = 5380, /* MHz */ | ||
666 | .unk2 = 3587, | ||
667 | RADIOREGS(0x71, 0x1A, 0x02, 0x08, 0x6E, 0x01, 0x04, 0x0A, | ||
668 | 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, | ||
669 | 0x82, 0x77, 0x00, 0x06, 0x04, 0x82), | ||
670 | PHYREGS(0x086C, 0x0868, 0x0864, 0x01E6, 0x01E7, 0x01E8), | ||
671 | }, | ||
672 | { .channel = 78, | ||
673 | .freq = 5390, /* MHz */ | ||
674 | .unk2 = 3593, | ||
675 | RADIOREGS(0x71, 0x1B, 0x02, 0x08, 0x6E, 0x01, 0x04, 0x0A, | ||
676 | 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, | ||
677 | 0x82, 0x77, 0x00, 0x06, 0x04, 0x82), | ||
678 | PHYREGS(0x0870, 0x086C, 0x0868, 0x01E5, 0x01E6, 0x01E7), | ||
679 | }, | ||
680 | { .channel = 80, | ||
681 | .freq = 5400, /* MHz */ | ||
682 | .unk2 = 3600, | ||
683 | RADIOREGS(0x71, 0x1C, 0x02, 0x07, 0x67, 0x01, 0x04, 0x0A, | ||
684 | 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, | ||
685 | 0x81, 0x66, 0x00, 0x05, 0x04, 0x81), | ||
686 | PHYREGS(0x0874, 0x0870, 0x086C, 0x01E5, 0x01E5, 0x01E6), | ||
687 | }, | ||
688 | { .channel = 82, | ||
689 | .freq = 5410, /* MHz */ | ||
690 | .unk2 = 3607, | ||
691 | RADIOREGS(0x71, 0x1D, 0x02, 0x07, 0x67, 0x01, 0x04, 0x0A, | ||
692 | 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, | ||
693 | 0x81, 0x66, 0x00, 0x05, 0x04, 0x81), | ||
694 | PHYREGS(0x0878, 0x0874, 0x0870, 0x01E4, 0x01E5, 0x01E5), | ||
695 | }, | ||
696 | { .channel = 84, | ||
697 | .freq = 5420, /* MHz */ | ||
698 | .unk2 = 3613, | ||
699 | RADIOREGS(0x71, 0x1E, 0x02, 0x07, 0x61, 0x01, 0x04, 0x0A, | ||
700 | 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, | ||
701 | 0x80, 0x66, 0x00, 0x05, 0x03, 0x80), | ||
702 | PHYREGS(0x087C, 0x0878, 0x0874, 0x01E3, 0x01E4, 0x01E5), | ||
703 | }, | ||
704 | { .channel = 86, | ||
705 | .freq = 5430, /* MHz */ | ||
706 | .unk2 = 3620, | ||
707 | RADIOREGS(0x71, 0x1F, 0x02, 0x07, 0x61, 0x01, 0x04, 0x0A, | ||
708 | 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, | ||
709 | 0x80, 0x66, 0x00, 0x05, 0x03, 0x80), | ||
710 | PHYREGS(0x0880, 0x087C, 0x0878, 0x01E2, 0x01E3, 0x01E4), | ||
711 | }, | ||
712 | { .channel = 88, | ||
713 | .freq = 5440, /* MHz */ | ||
714 | .unk2 = 3627, | ||
715 | RADIOREGS(0x71, 0x20, 0x02, 0x07, 0x5A, 0x01, 0x04, 0x0A, | ||
716 | 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, | ||
717 | 0x80, 0x55, 0x00, 0x04, 0x02, 0x80), | ||
718 | PHYREGS(0x0884, 0x0880, 0x087C, 0x01E1, 0x01E2, 0x01E3), | ||
719 | }, | ||
720 | { .channel = 90, | ||
721 | .freq = 5450, /* MHz */ | ||
722 | .unk2 = 3633, | ||
723 | RADIOREGS(0x71, 0x21, 0x02, 0x07, 0x5A, 0x01, 0x04, 0x0A, | ||
724 | 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, | ||
725 | 0x80, 0x55, 0x00, 0x04, 0x02, 0x80), | ||
726 | PHYREGS(0x0888, 0x0884, 0x0880, 0x01E0, 0x01E1, 0x01E2), | ||
727 | }, | ||
728 | { .channel = 92, | ||
729 | .freq = 5460, /* MHz */ | ||
730 | .unk2 = 3640, | ||
731 | RADIOREGS(0x71, 0x22, 0x02, 0x06, 0x53, 0x01, 0x04, 0x0A, | ||
732 | 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, | ||
733 | 0x80, 0x55, 0x00, 0x04, 0x01, 0x80), | ||
734 | PHYREGS(0x088C, 0x0888, 0x0884, 0x01DF, 0x01E0, 0x01E1), | ||
735 | }, | ||
736 | { .channel = 94, | ||
737 | .freq = 5470, /* MHz */ | ||
738 | .unk2 = 3647, | ||
739 | RADIOREGS(0x71, 0x23, 0x02, 0x06, 0x53, 0x01, 0x04, 0x0A, | ||
740 | 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, | ||
741 | 0x80, 0x55, 0x00, 0x04, 0x01, 0x80), | ||
742 | PHYREGS(0x0890, 0x088C, 0x0888, 0x01DE, 0x01DF, 0x01E0), | ||
743 | }, | ||
744 | { .channel = 96, | ||
745 | .freq = 5480, /* MHz */ | ||
746 | .unk2 = 3653, | ||
747 | RADIOREGS(0x71, 0x24, 0x02, 0x06, 0x4D, 0x01, 0x04, 0x0A, | ||
748 | 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, | ||
749 | 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), | ||
750 | PHYREGS(0x0894, 0x0890, 0x088C, 0x01DD, 0x01DE, 0x01DF), | ||
751 | }, | ||
752 | { .channel = 98, | ||
753 | .freq = 5490, /* MHz */ | ||
754 | .unk2 = 3660, | ||
755 | RADIOREGS(0x71, 0x25, 0x02, 0x06, 0x4D, 0x01, 0x04, 0x0A, | ||
756 | 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, | ||
757 | 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), | ||
758 | PHYREGS(0x0898, 0x0894, 0x0890, 0x01DD, 0x01DD, 0x01DE), | ||
759 | }, | ||
760 | { .channel = 100, | ||
761 | .freq = 5500, /* MHz */ | ||
762 | .unk2 = 3667, | ||
763 | RADIOREGS(0x71, 0x26, 0x02, 0x06, 0x47, 0x01, 0x04, 0x0A, | ||
764 | 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, | ||
765 | 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), | ||
766 | PHYREGS(0x089C, 0x0898, 0x0894, 0x01DC, 0x01DD, 0x01DD), | ||
767 | }, | ||
768 | { .channel = 102, | ||
769 | .freq = 5510, /* MHz */ | ||
770 | .unk2 = 3673, | ||
771 | RADIOREGS(0x71, 0x27, 0x02, 0x06, 0x47, 0x01, 0x04, 0x0A, | ||
772 | 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, | ||
773 | 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), | ||
774 | PHYREGS(0x08A0, 0x089C, 0x0898, 0x01DB, 0x01DC, 0x01DD), | ||
775 | }, | ||
776 | { .channel = 104, | ||
777 | .freq = 5520, /* MHz */ | ||
778 | .unk2 = 3680, | ||
779 | RADIOREGS(0x71, 0x28, 0x02, 0x05, 0x40, 0x01, 0x04, 0x0A, | ||
780 | 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, | ||
781 | 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), | ||
782 | PHYREGS(0x08A4, 0x08A0, 0x089C, 0x01DA, 0x01DB, 0x01DC), | ||
783 | }, | ||
784 | { .channel = 106, | ||
785 | .freq = 5530, /* MHz */ | ||
786 | .unk2 = 3687, | ||
787 | RADIOREGS(0x71, 0x29, 0x02, 0x05, 0x40, 0x01, 0x04, 0x0A, | ||
788 | 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, | ||
789 | 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), | ||
790 | PHYREGS(0x08A8, 0x08A4, 0x08A0, 0x01D9, 0x01DA, 0x01DB), | ||
791 | }, | ||
792 | { .channel = 108, | ||
793 | .freq = 5540, /* MHz */ | ||
794 | .unk2 = 3693, | ||
795 | RADIOREGS(0x71, 0x2A, 0x02, 0x05, 0x3A, 0x01, 0x04, 0x0A, | ||
796 | 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, | ||
797 | 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), | ||
798 | PHYREGS(0x08AC, 0x08A8, 0x08A4, 0x01D8, 0x01D9, 0x01DA), | ||
799 | }, | ||
800 | { .channel = 110, | ||
801 | .freq = 5550, /* MHz */ | ||
802 | .unk2 = 3700, | ||
803 | RADIOREGS(0x71, 0x2B, 0x02, 0x05, 0x3A, 0x01, 0x04, 0x0A, | ||
804 | 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, | ||
805 | 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), | ||
806 | PHYREGS(0x08B0, 0x08AC, 0x08A8, 0x01D7, 0x01D8, 0x01D9), | ||
807 | }, | ||
808 | { .channel = 112, | ||
809 | .freq = 5560, /* MHz */ | ||
810 | .unk2 = 3707, | ||
811 | RADIOREGS(0x71, 0x2C, 0x02, 0x05, 0x34, 0x01, 0x04, 0x0A, | ||
812 | 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, | ||
813 | 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), | ||
814 | PHYREGS(0x08B4, 0x08B0, 0x08AC, 0x01D7, 0x01D7, 0x01D8), | ||
815 | }, | ||
816 | { .channel = 114, | ||
817 | .freq = 5570, /* MHz */ | ||
818 | .unk2 = 3713, | ||
819 | RADIOREGS(0x71, 0x2D, 0x02, 0x05, 0x34, 0x01, 0x04, 0x0A, | ||
820 | 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, | ||
821 | 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), | ||
822 | PHYREGS(0x08B8, 0x08B4, 0x08B0, 0x01D6, 0x01D7, 0x01D7), | ||
823 | }, | ||
824 | { .channel = 116, | ||
825 | .freq = 5580, /* MHz */ | ||
826 | .unk2 = 3720, | ||
827 | RADIOREGS(0x71, 0x2E, 0x02, 0x04, 0x2E, 0x01, 0x04, 0x0A, | ||
828 | 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, | ||
829 | 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), | ||
830 | PHYREGS(0x08BC, 0x08B8, 0x08B4, 0x01D5, 0x01D6, 0x01D7), | ||
831 | }, | ||
832 | { .channel = 118, | ||
833 | .freq = 5590, /* MHz */ | ||
834 | .unk2 = 3727, | ||
835 | RADIOREGS(0x71, 0x2F, 0x02, 0x04, 0x2E, 0x01, 0x04, 0x0A, | ||
836 | 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, | ||
837 | 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), | ||
838 | PHYREGS(0x08C0, 0x08BC, 0x08B8, 0x01D4, 0x01D5, 0x01D6), | ||
839 | }, | ||
840 | { .channel = 120, | ||
841 | .freq = 5600, /* MHz */ | ||
842 | .unk2 = 3733, | ||
843 | RADIOREGS(0x71, 0x30, 0x02, 0x04, 0x28, 0x01, 0x04, 0x0A, | ||
844 | 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, | ||
845 | 0x80, 0x11, 0x00, 0x01, 0x00, 0x80), | ||
846 | PHYREGS(0x08C4, 0x08C0, 0x08BC, 0x01D3, 0x01D4, 0x01D5), | ||
847 | }, | ||
848 | { .channel = 122, | ||
849 | .freq = 5610, /* MHz */ | ||
850 | .unk2 = 3740, | ||
851 | RADIOREGS(0x71, 0x31, 0x02, 0x04, 0x28, 0x01, 0x04, 0x0A, | ||
852 | 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, | ||
853 | 0x80, 0x11, 0x00, 0x01, 0x00, 0x80), | ||
854 | PHYREGS(0x08C8, 0x08C4, 0x08C0, 0x01D2, 0x01D3, 0x01D4), | ||
855 | }, | ||
856 | { .channel = 124, | ||
857 | .freq = 5620, /* MHz */ | ||
858 | .unk2 = 3747, | ||
859 | RADIOREGS(0x71, 0x32, 0x02, 0x04, 0x21, 0x01, 0x04, 0x0A, | ||
860 | 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, | ||
861 | 0x80, 0x11, 0x00, 0x00, 0x00, 0x80), | ||
862 | PHYREGS(0x08CC, 0x08C8, 0x08C4, 0x01D2, 0x01D2, 0x01D3), | ||
863 | }, | ||
864 | { .channel = 126, | ||
865 | .freq = 5630, /* MHz */ | ||
866 | .unk2 = 3753, | ||
867 | RADIOREGS(0x71, 0x33, 0x02, 0x04, 0x21, 0x01, 0x04, 0x0A, | ||
868 | 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, | ||
869 | 0x80, 0x11, 0x00, 0x00, 0x00, 0x80), | ||
870 | PHYREGS(0x08D0, 0x08CC, 0x08C8, 0x01D1, 0x01D2, 0x01D2), | ||
871 | }, | ||
872 | { .channel = 128, | ||
873 | .freq = 5640, /* MHz */ | ||
874 | .unk2 = 3760, | ||
875 | RADIOREGS(0x71, 0x34, 0x02, 0x03, 0x1C, 0x01, 0x04, 0x0A, | ||
876 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
877 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
878 | PHYREGS(0x08D4, 0x08D0, 0x08CC, 0x01D0, 0x01D1, 0x01D2), | ||
879 | }, | ||
880 | { .channel = 130, | ||
881 | .freq = 5650, /* MHz */ | ||
882 | .unk2 = 3767, | ||
883 | RADIOREGS(0x71, 0x35, 0x02, 0x03, 0x1C, 0x01, 0x04, 0x0A, | ||
884 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
885 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
886 | PHYREGS(0x08D8, 0x08D4, 0x08D0, 0x01CF, 0x01D0, 0x01D1), | ||
887 | }, | ||
888 | { .channel = 132, | ||
889 | .freq = 5660, /* MHz */ | ||
890 | .unk2 = 3773, | ||
891 | RADIOREGS(0x71, 0x36, 0x02, 0x03, 0x16, 0x01, 0x04, 0x0A, | ||
892 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
893 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
894 | PHYREGS(0x08DC, 0x08D8, 0x08D4, 0x01CE, 0x01CF, 0x01D0), | ||
895 | }, | ||
896 | { .channel = 134, | ||
897 | .freq = 5670, /* MHz */ | ||
898 | .unk2 = 3780, | ||
899 | RADIOREGS(0x71, 0x37, 0x02, 0x03, 0x16, 0x01, 0x04, 0x0A, | ||
900 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
901 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
902 | PHYREGS(0x08E0, 0x08DC, 0x08D8, 0x01CE, 0x01CE, 0x01CF), | ||
903 | }, | ||
904 | { .channel = 136, | ||
905 | .freq = 5680, /* MHz */ | ||
906 | .unk2 = 3787, | ||
907 | RADIOREGS(0x71, 0x38, 0x02, 0x03, 0x10, 0x01, 0x04, 0x0A, | ||
908 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
909 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
910 | PHYREGS(0x08E4, 0x08E0, 0x08DC, 0x01CD, 0x01CE, 0x01CE), | ||
911 | }, | ||
912 | { .channel = 138, | ||
913 | .freq = 5690, /* MHz */ | ||
914 | .unk2 = 3793, | ||
915 | RADIOREGS(0x71, 0x39, 0x02, 0x03, 0x10, 0x01, 0x04, 0x0A, | ||
916 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
917 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
918 | PHYREGS(0x08E8, 0x08E4, 0x08E0, 0x01CC, 0x01CD, 0x01CE), | ||
919 | }, | ||
920 | { .channel = 140, | ||
921 | .freq = 5700, /* MHz */ | ||
922 | .unk2 = 3800, | ||
923 | RADIOREGS(0x71, 0x3A, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
924 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
925 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
926 | PHYREGS(0x08EC, 0x08E8, 0x08E4, 0x01CB, 0x01CC, 0x01CD), | ||
927 | }, | ||
928 | { .channel = 142, | ||
929 | .freq = 5710, /* MHz */ | ||
930 | .unk2 = 3807, | ||
931 | RADIOREGS(0x71, 0x3B, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
932 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
933 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
934 | PHYREGS(0x08F0, 0x08EC, 0x08E8, 0x01CA, 0x01CB, 0x01CC), | ||
935 | }, | ||
936 | { .channel = 144, | ||
937 | .freq = 5720, /* MHz */ | ||
938 | .unk2 = 3813, | ||
939 | RADIOREGS(0x71, 0x3C, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
940 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
941 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
942 | PHYREGS(0x08F4, 0x08F0, 0x08EC, 0x01C9, 0x01CA, 0x01CB), | ||
943 | }, | ||
944 | { .channel = 145, | ||
945 | .freq = 5725, /* MHz */ | ||
946 | .unk2 = 3817, | ||
947 | RADIOREGS(0x72, 0x79, 0x04, 0x02, 0x03, 0x01, 0x03, 0x14, | ||
948 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
949 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
950 | PHYREGS(0x08F6, 0x08F2, 0x08EE, 0x01C9, 0x01CA, 0x01CB), | ||
951 | }, | ||
952 | { .channel = 146, | ||
953 | .freq = 5730, /* MHz */ | ||
954 | .unk2 = 3820, | ||
955 | RADIOREGS(0x71, 0x3D, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
956 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
957 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
958 | PHYREGS(0x08F8, 0x08F4, 0x08F0, 0x01C9, 0x01C9, 0x01CA), | ||
959 | }, | ||
960 | { .channel = 147, | ||
961 | .freq = 5735, /* MHz */ | ||
962 | .unk2 = 3823, | ||
963 | RADIOREGS(0x72, 0x7B, 0x04, 0x02, 0x03, 0x01, 0x03, 0x14, | ||
964 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
965 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
966 | PHYREGS(0x08FA, 0x08F6, 0x08F2, 0x01C8, 0x01C9, 0x01CA), | ||
967 | }, | ||
968 | { .channel = 148, | ||
969 | .freq = 5740, /* MHz */ | ||
970 | .unk2 = 3827, | ||
971 | RADIOREGS(0x71, 0x3E, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
972 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
973 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
974 | PHYREGS(0x08FC, 0x08F8, 0x08F4, 0x01C8, 0x01C9, 0x01C9), | ||
975 | }, | ||
976 | { .channel = 149, | ||
977 | .freq = 5745, /* MHz */ | ||
978 | .unk2 = 3830, | ||
979 | RADIOREGS(0x72, 0x7D, 0x04, 0x02, 0xFE, 0x00, 0x03, 0x14, | ||
980 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
981 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
982 | PHYREGS(0x08FE, 0x08FA, 0x08F6, 0x01C8, 0x01C8, 0x01C9), | ||
983 | }, | ||
984 | { .channel = 150, | ||
985 | .freq = 5750, /* MHz */ | ||
986 | .unk2 = 3833, | ||
987 | RADIOREGS(0x71, 0x3F, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
988 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
989 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
990 | PHYREGS(0x0900, 0x08FC, 0x08F8, 0x01C7, 0x01C8, 0x01C9), | ||
991 | }, | ||
992 | { .channel = 151, | ||
993 | .freq = 5755, /* MHz */ | ||
994 | .unk2 = 3837, | ||
995 | RADIOREGS(0x72, 0x7F, 0x04, 0x02, 0xFE, 0x00, 0x03, 0x14, | ||
996 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
997 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
998 | PHYREGS(0x0902, 0x08FE, 0x08FA, 0x01C7, 0x01C8, 0x01C8), | ||
999 | }, | ||
1000 | { .channel = 152, | ||
1001 | .freq = 5760, /* MHz */ | ||
1002 | .unk2 = 3840, | ||
1003 | RADIOREGS(0x71, 0x40, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
1004 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1005 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1006 | PHYREGS(0x0904, 0x0900, 0x08FC, 0x01C6, 0x01C7, 0x01C8), | ||
1007 | }, | ||
1008 | { .channel = 153, | ||
1009 | .freq = 5765, /* MHz */ | ||
1010 | .unk2 = 3843, | ||
1011 | RADIOREGS(0x72, 0x81, 0x04, 0x02, 0xF8, 0x00, 0x03, 0x14, | ||
1012 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1013 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1014 | PHYREGS(0x0906, 0x0902, 0x08FE, 0x01C6, 0x01C7, 0x01C8), | ||
1015 | }, | ||
1016 | { .channel = 154, | ||
1017 | .freq = 5770, /* MHz */ | ||
1018 | .unk2 = 3847, | ||
1019 | RADIOREGS(0x71, 0x41, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
1020 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1021 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1022 | PHYREGS(0x0908, 0x0904, 0x0900, 0x01C6, 0x01C6, 0x01C7), | ||
1023 | }, | ||
1024 | { .channel = 155, | ||
1025 | .freq = 5775, /* MHz */ | ||
1026 | .unk2 = 3850, | ||
1027 | RADIOREGS(0x72, 0x83, 0x04, 0x02, 0xF8, 0x00, 0x03, 0x14, | ||
1028 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1029 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1030 | PHYREGS(0x090A, 0x0906, 0x0902, 0x01C5, 0x01C6, 0x01C7), | ||
1031 | }, | ||
1032 | { .channel = 156, | ||
1033 | .freq = 5780, /* MHz */ | ||
1034 | .unk2 = 3853, | ||
1035 | RADIOREGS(0x71, 0x42, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
1036 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1037 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1038 | PHYREGS(0x090C, 0x0908, 0x0904, 0x01C5, 0x01C6, 0x01C6), | ||
1039 | }, | ||
1040 | { .channel = 157, | ||
1041 | .freq = 5785, /* MHz */ | ||
1042 | .unk2 = 3857, | ||
1043 | RADIOREGS(0x72, 0x85, 0x04, 0x02, 0xF2, 0x00, 0x03, 0x14, | ||
1044 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1045 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1046 | PHYREGS(0x090E, 0x090A, 0x0906, 0x01C4, 0x01C5, 0x01C6), | ||
1047 | }, | ||
1048 | { .channel = 158, | ||
1049 | .freq = 5790, /* MHz */ | ||
1050 | .unk2 = 3860, | ||
1051 | RADIOREGS(0x71, 0x43, 0x02, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
1052 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1053 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1054 | PHYREGS(0x0910, 0x090C, 0x0908, 0x01C4, 0x01C5, 0x01C6), | ||
1055 | }, | ||
1056 | { .channel = 159, | ||
1057 | .freq = 5795, /* MHz */ | ||
1058 | .unk2 = 3863, | ||
1059 | RADIOREGS(0x72, 0x87, 0x04, 0x02, 0xF2, 0x00, 0x03, 0x14, | ||
1060 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1061 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1062 | PHYREGS(0x0912, 0x090E, 0x090A, 0x01C4, 0x01C4, 0x01C5), | ||
1063 | }, | ||
1064 | { .channel = 160, | ||
1065 | .freq = 5800, /* MHz */ | ||
1066 | .unk2 = 3867, | ||
1067 | RADIOREGS(0x71, 0x44, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A, | ||
1068 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1069 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1070 | PHYREGS(0x0914, 0x0910, 0x090C, 0x01C3, 0x01C4, 0x01C5), | ||
1071 | }, | ||
1072 | { .channel = 161, | ||
1073 | .freq = 5805, /* MHz */ | ||
1074 | .unk2 = 3870, | ||
1075 | RADIOREGS(0x72, 0x89, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14, | ||
1076 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1077 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1078 | PHYREGS(0x0916, 0x0912, 0x090E, 0x01C3, 0x01C4, 0x01C4), | ||
1079 | }, | ||
1080 | { .channel = 162, | ||
1081 | .freq = 5810, /* MHz */ | ||
1082 | .unk2 = 3873, | ||
1083 | RADIOREGS(0x71, 0x45, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A, | ||
1084 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1085 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1086 | PHYREGS(0x0918, 0x0914, 0x0910, 0x01C2, 0x01C3, 0x01C4), | ||
1087 | }, | ||
1088 | { .channel = 163, | ||
1089 | .freq = 5815, /* MHz */ | ||
1090 | .unk2 = 3877, | ||
1091 | RADIOREGS(0x72, 0x8B, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14, | ||
1092 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1093 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1094 | PHYREGS(0x091A, 0x0916, 0x0912, 0x01C2, 0x01C3, 0x01C4), | ||
1095 | }, | ||
1096 | { .channel = 164, | ||
1097 | .freq = 5820, /* MHz */ | ||
1098 | .unk2 = 3880, | ||
1099 | RADIOREGS(0x71, 0x46, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A, | ||
1100 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1101 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1102 | PHYREGS(0x091C, 0x0918, 0x0914, 0x01C2, 0x01C2, 0x01C3), | ||
1103 | }, | ||
1104 | { .channel = 165, | ||
1105 | .freq = 5825, /* MHz */ | ||
1106 | .unk2 = 3883, | ||
1107 | RADIOREGS(0x72, 0x8D, 0x04, 0x01, 0xED, 0x00, 0x03, 0x14, | ||
1108 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1109 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1110 | PHYREGS(0x091E, 0x091A, 0x0916, 0x01C1, 0x01C2, 0x01C3), | ||
1111 | }, | ||
1112 | { .channel = 166, | ||
1113 | .freq = 5830, /* MHz */ | ||
1114 | .unk2 = 3887, | ||
1115 | RADIOREGS(0x71, 0x47, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A, | ||
1116 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1117 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1118 | PHYREGS(0x0920, 0x091C, 0x0918, 0x01C1, 0x01C2, 0x01C2), | ||
1119 | }, | ||
1120 | { .channel = 168, | ||
1121 | .freq = 5840, /* MHz */ | ||
1122 | .unk2 = 3893, | ||
1123 | RADIOREGS(0x71, 0x48, 0x02, 0x01, 0x0A, 0x01, 0x04, 0x0A, | ||
1124 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1125 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1126 | PHYREGS(0x0924, 0x0920, 0x091C, 0x01C0, 0x01C1, 0x01C2), | ||
1127 | }, | ||
1128 | { .channel = 170, | ||
1129 | .freq = 5850, /* MHz */ | ||
1130 | .unk2 = 3900, | ||
1131 | RADIOREGS(0x71, 0x49, 0x02, 0x01, 0xE0, 0x00, 0x04, 0x0A, | ||
1132 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1133 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1134 | PHYREGS(0x0928, 0x0924, 0x0920, 0x01BF, 0x01C0, 0x01C1), | ||
1135 | }, | ||
1136 | { .channel = 172, | ||
1137 | .freq = 5860, /* MHz */ | ||
1138 | .unk2 = 3907, | ||
1139 | RADIOREGS(0x71, 0x4A, 0x02, 0x01, 0xDE, 0x00, 0x04, 0x0A, | ||
1140 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1141 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1142 | PHYREGS(0x092C, 0x0928, 0x0924, 0x01BF, 0x01BF, 0x01C0), | ||
1143 | }, | ||
1144 | { .channel = 174, | ||
1145 | .freq = 5870, /* MHz */ | ||
1146 | .unk2 = 3913, | ||
1147 | RADIOREGS(0x71, 0x4B, 0x02, 0x00, 0xDB, 0x00, 0x04, 0x0A, | ||
1148 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1149 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1150 | PHYREGS(0x0930, 0x092C, 0x0928, 0x01BE, 0x01BF, 0x01BF), | ||
1151 | }, | ||
1152 | { .channel = 176, | ||
1153 | .freq = 5880, /* MHz */ | ||
1154 | .unk2 = 3920, | ||
1155 | RADIOREGS(0x71, 0x4C, 0x02, 0x00, 0xD8, 0x00, 0x04, 0x0A, | ||
1156 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1157 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1158 | PHYREGS(0x0934, 0x0930, 0x092C, 0x01BD, 0x01BE, 0x01BF), | ||
1159 | }, | ||
1160 | { .channel = 178, | ||
1161 | .freq = 5890, /* MHz */ | ||
1162 | .unk2 = 3927, | ||
1163 | RADIOREGS(0x71, 0x4D, 0x02, 0x00, 0xD6, 0x00, 0x04, 0x0A, | ||
1164 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1165 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1166 | PHYREGS(0x0938, 0x0934, 0x0930, 0x01BC, 0x01BD, 0x01BE), | ||
1167 | }, | ||
1168 | { .channel = 180, | ||
1169 | .freq = 5900, /* MHz */ | ||
1170 | .unk2 = 3933, | ||
1171 | RADIOREGS(0x71, 0x4E, 0x02, 0x00, 0xD3, 0x00, 0x04, 0x0A, | ||
1172 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1173 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1174 | PHYREGS(0x093C, 0x0938, 0x0934, 0x01BC, 0x01BC, 0x01BD), | ||
1175 | }, | ||
1176 | { .channel = 182, | ||
1177 | .freq = 5910, /* MHz */ | ||
1178 | .unk2 = 3940, | ||
1179 | RADIOREGS(0x71, 0x4F, 0x02, 0x00, 0xD6, 0x00, 0x04, 0x0A, | ||
1180 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1181 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1182 | PHYREGS(0x0940, 0x093C, 0x0938, 0x01BB, 0x01BC, 0x01BC), | ||
1183 | }, | ||
1184 | { .channel = 1, | ||
1185 | .freq = 2412, /* MHz */ | ||
1186 | .unk2 = 3216, | ||
1187 | RADIOREGS(0x73, 0x6C, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1188 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, | ||
1189 | 0x80, 0xFF, 0x88, 0x0D, 0x0C, 0x80), | ||
1190 | PHYREGS(0x03C9, 0x03C5, 0x03C1, 0x043A, 0x043F, 0x0443), | ||
1191 | }, | ||
1192 | { .channel = 2, | ||
1193 | .freq = 2417, /* MHz */ | ||
1194 | .unk2 = 3223, | ||
1195 | RADIOREGS(0x73, 0x71, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1196 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, | ||
1197 | 0x80, 0xFF, 0x88, 0x0C, 0x0B, 0x80), | ||
1198 | PHYREGS(0x03CB, 0x03C7, 0x03C3, 0x0438, 0x043D, 0x0441), | ||
1199 | }, | ||
1200 | { .channel = 3, | ||
1201 | .freq = 2422, /* MHz */ | ||
1202 | .unk2 = 3229, | ||
1203 | RADIOREGS(0x73, 0x76, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1204 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, | ||
1205 | 0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80), | ||
1206 | PHYREGS(0x03CD, 0x03C9, 0x03C5, 0x0436, 0x043A, 0x043F), | ||
1207 | }, | ||
1208 | { .channel = 4, | ||
1209 | .freq = 2427, /* MHz */ | ||
1210 | .unk2 = 3236, | ||
1211 | RADIOREGS(0x73, 0x7B, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1212 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, | ||
1213 | 0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80), | ||
1214 | PHYREGS(0x03CF, 0x03CB, 0x03C7, 0x0434, 0x0438, 0x043D), | ||
1215 | }, | ||
1216 | { .channel = 5, | ||
1217 | .freq = 2432, /* MHz */ | ||
1218 | .unk2 = 3243, | ||
1219 | RADIOREGS(0x73, 0x80, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1220 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, | ||
1221 | 0x80, 0xFF, 0x88, 0x0C, 0x09, 0x80), | ||
1222 | PHYREGS(0x03D1, 0x03CD, 0x03C9, 0x0431, 0x0436, 0x043A), | ||
1223 | }, | ||
1224 | { .channel = 6, | ||
1225 | .freq = 2437, /* MHz */ | ||
1226 | .unk2 = 3249, | ||
1227 | RADIOREGS(0x73, 0x85, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1228 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, | ||
1229 | 0x80, 0xFF, 0x88, 0x0B, 0x08, 0x80), | ||
1230 | PHYREGS(0x03D3, 0x03CF, 0x03CB, 0x042F, 0x0434, 0x0438), | ||
1231 | }, | ||
1232 | { .channel = 7, | ||
1233 | .freq = 2442, /* MHz */ | ||
1234 | .unk2 = 3256, | ||
1235 | RADIOREGS(0x73, 0x8A, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1236 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, | ||
1237 | 0x80, 0xFF, 0x88, 0x0A, 0x07, 0x80), | ||
1238 | PHYREGS(0x03D5, 0x03D1, 0x03CD, 0x042D, 0x0431, 0x0436), | ||
1239 | }, | ||
1240 | { .channel = 8, | ||
1241 | .freq = 2447, /* MHz */ | ||
1242 | .unk2 = 3263, | ||
1243 | RADIOREGS(0x73, 0x8F, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1244 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, | ||
1245 | 0x80, 0xFF, 0x88, 0x0A, 0x06, 0x80), | ||
1246 | PHYREGS(0x03D7, 0x03D3, 0x03CF, 0x042B, 0x042F, 0x0434), | ||
1247 | }, | ||
1248 | { .channel = 9, | ||
1249 | .freq = 2452, /* MHz */ | ||
1250 | .unk2 = 3269, | ||
1251 | RADIOREGS(0x73, 0x94, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1252 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, | ||
1253 | 0x80, 0xFF, 0x88, 0x09, 0x06, 0x80), | ||
1254 | PHYREGS(0x03D9, 0x03D5, 0x03D1, 0x0429, 0x042D, 0x0431), | ||
1255 | }, | ||
1256 | { .channel = 10, | ||
1257 | .freq = 2457, /* MHz */ | ||
1258 | .unk2 = 3276, | ||
1259 | RADIOREGS(0x73, 0x99, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1260 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, | ||
1261 | 0x80, 0xFF, 0x88, 0x08, 0x05, 0x80), | ||
1262 | PHYREGS(0x03DB, 0x03D7, 0x03D3, 0x0427, 0x042B, 0x042F), | ||
1263 | }, | ||
1264 | { .channel = 11, | ||
1265 | .freq = 2462, /* MHz */ | ||
1266 | .unk2 = 3283, | ||
1267 | RADIOREGS(0x73, 0x9E, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1268 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, | ||
1269 | 0x80, 0xFF, 0x88, 0x08, 0x04, 0x80), | ||
1270 | PHYREGS(0x03DD, 0x03D9, 0x03D5, 0x0424, 0x0429, 0x042D), | ||
1271 | }, | ||
1272 | { .channel = 12, | ||
1273 | .freq = 2467, /* MHz */ | ||
1274 | .unk2 = 3289, | ||
1275 | RADIOREGS(0x73, 0xA3, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1276 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, | ||
1277 | 0x80, 0xFF, 0x88, 0x08, 0x03, 0x80), | ||
1278 | PHYREGS(0x03DF, 0x03DB, 0x03D7, 0x0422, 0x0427, 0x042B), | ||
1279 | }, | ||
1280 | { .channel = 13, | ||
1281 | .freq = 2472, /* MHz */ | ||
1282 | .unk2 = 3296, | ||
1283 | RADIOREGS(0x73, 0xA8, 0x09, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1284 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, | ||
1285 | 0x80, 0xFF, 0x88, 0x07, 0x03, 0x80), | ||
1286 | PHYREGS(0x03E1, 0x03DD, 0x03D9, 0x0420, 0x0424, 0x0429), | ||
1287 | }, | ||
1288 | { .channel = 14, | ||
1289 | .freq = 2484, /* MHz */ | ||
1290 | .unk2 = 3312, | ||
1291 | RADIOREGS(0x73, 0xB4, 0x09, 0x0F, 0xFF, 0x01, 0x07, 0x15, | ||
1292 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, | ||
1293 | 0x80, 0xFF, 0x88, 0x07, 0x01, 0x80), | ||
1294 | PHYREGS(0x03E6, 0x03E2, 0x03DE, 0x041B, 0x041F, 0x0424), | ||
1295 | }, | ||
1296 | }; | ||
1297 | |||
1298 | void b2055_upload_inittab(struct b43_wldev *dev, | ||
1299 | bool ghz5, bool ignore_uploadflag) | ||
1300 | { | ||
1301 | const struct b2055_inittab_entry *e; | ||
1302 | unsigned int i, writes = 0; | ||
1303 | u16 value; | ||
1304 | |||
1305 | for (i = 0; i < ARRAY_SIZE(b2055_inittab); i++) { | ||
1306 | e = &(b2055_inittab[i]); | ||
1307 | if (!(e->flags & B2055_INITTAB_ENTRY_OK)) | ||
1308 | continue; | ||
1309 | if ((e->flags & B2055_INITTAB_UPLOAD) || ignore_uploadflag) { | ||
1310 | if (ghz5) | ||
1311 | value = e->ghz5; | ||
1312 | else | ||
1313 | value = e->ghz2; | ||
1314 | b43_radio_write16(dev, i, value); | ||
1315 | if (++writes % 4 == 0) | ||
1316 | b43_read32(dev, B43_MMIO_MACCTL); /* flush */ | ||
1317 | } | ||
1318 | } | ||
1319 | } | ||
1320 | |||
1321 | const struct b43_nphy_channeltab_entry_rev2 * | ||
1322 | b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel) | ||
1323 | { | ||
1324 | const struct b43_nphy_channeltab_entry_rev2 *e; | ||
1325 | unsigned int i; | ||
1326 | |||
1327 | for (i = 0; i < ARRAY_SIZE(b43_nphy_channeltab_rev2); i++) { | ||
1328 | e = &(b43_nphy_channeltab_rev2[i]); | ||
1329 | if (e->channel == channel) | ||
1330 | return e; | ||
1331 | } | ||
1332 | |||
1333 | return NULL; | ||
1334 | } | ||
diff --git a/drivers/net/wireless/b43/radio_2055.h b/drivers/net/wireless/b43/radio_2055.h new file mode 100644 index 000000000000..d9bfa0f21b72 --- /dev/null +++ b/drivers/net/wireless/b43/radio_2055.h | |||
@@ -0,0 +1,254 @@ | |||
1 | #ifndef B43_RADIO_2055_H_ | ||
2 | #define B43_RADIO_2055_H_ | ||
3 | |||
4 | #include <linux/types.h> | ||
5 | |||
6 | #include "tables_nphy.h" | ||
7 | |||
8 | #define B2055_GEN_SPARE 0x00 /* GEN spare */ | ||
9 | #define B2055_SP_PINPD 0x02 /* SP PIN PD */ | ||
10 | #define B2055_C1_SP_RSSI 0x03 /* SP RSSI Core 1 */ | ||
11 | #define B2055_C1_SP_PDMISC 0x04 /* SP PD MISC Core 1 */ | ||
12 | #define B2055_C2_SP_RSSI 0x05 /* SP RSSI Core 2 */ | ||
13 | #define B2055_C2_SP_PDMISC 0x06 /* SP PD MISC Core 2 */ | ||
14 | #define B2055_C1_SP_RXGC1 0x07 /* SP RX GC1 Core 1 */ | ||
15 | #define B2055_C1_SP_RXGC2 0x08 /* SP RX GC2 Core 1 */ | ||
16 | #define B2055_C2_SP_RXGC1 0x09 /* SP RX GC1 Core 2 */ | ||
17 | #define B2055_C2_SP_RXGC2 0x0A /* SP RX GC2 Core 2 */ | ||
18 | #define B2055_C1_SP_LPFBWSEL 0x0B /* SP LPF BW select Core 1 */ | ||
19 | #define B2055_C2_SP_LPFBWSEL 0x0C /* SP LPF BW select Core 2 */ | ||
20 | #define B2055_C1_SP_TXGC1 0x0D /* SP TX GC1 Core 1 */ | ||
21 | #define B2055_C1_SP_TXGC2 0x0E /* SP TX GC2 Core 1 */ | ||
22 | #define B2055_C2_SP_TXGC1 0x0F /* SP TX GC1 Core 2 */ | ||
23 | #define B2055_C2_SP_TXGC2 0x10 /* SP TX GC2 Core 2 */ | ||
24 | #define B2055_MASTER1 0x11 /* Master control 1 */ | ||
25 | #define B2055_MASTER2 0x12 /* Master control 2 */ | ||
26 | #define B2055_PD_LGEN 0x13 /* PD LGEN */ | ||
27 | #define B2055_PD_PLLTS 0x14 /* PD PLL TS */ | ||
28 | #define B2055_C1_PD_LGBUF 0x15 /* PD Core 1 LGBUF */ | ||
29 | #define B2055_C1_PD_TX 0x16 /* PD Core 1 TX */ | ||
30 | #define B2055_C1_PD_RXTX 0x17 /* PD Core 1 RXTX */ | ||
31 | #define B2055_C1_PD_RSSIMISC 0x18 /* PD Core 1 RSSI MISC */ | ||
32 | #define B2055_C2_PD_LGBUF 0x19 /* PD Core 2 LGBUF */ | ||
33 | #define B2055_C2_PD_TX 0x1A /* PD Core 2 TX */ | ||
34 | #define B2055_C2_PD_RXTX 0x1B /* PD Core 2 RXTX */ | ||
35 | #define B2055_C2_PD_RSSIMISC 0x1C /* PD Core 2 RSSI MISC */ | ||
36 | #define B2055_PWRDET_LGEN 0x1D /* PWRDET LGEN */ | ||
37 | #define B2055_C1_PWRDET_LGBUF 0x1E /* PWRDET LGBUF Core 1 */ | ||
38 | #define B2055_C1_PWRDET_RXTX 0x1F /* PWRDET RXTX Core 1 */ | ||
39 | #define B2055_C2_PWRDET_LGBUF 0x20 /* PWRDET LGBUF Core 2 */ | ||
40 | #define B2055_C2_PWRDET_RXTX 0x21 /* PWRDET RXTX Core 2 */ | ||
41 | #define B2055_RRCCAL_CS 0x22 /* RRCCAL Control spare */ | ||
42 | #define B2055_RRCCAL_NOPTSEL 0x23 /* RRCCAL N OPT SEL */ | ||
43 | #define B2055_CAL_MISC 0x24 /* CAL MISC */ | ||
44 | #define B2055_CAL_COUT 0x25 /* CAL Counter out */ | ||
45 | #define B2055_CAL_COUT2 0x26 /* CAL Counter out 2 */ | ||
46 | #define B2055_CAL_CVARCTL 0x27 /* CAL CVAR Control */ | ||
47 | #define B2055_CAL_RVARCTL 0x28 /* CAL RVAR Control */ | ||
48 | #define B2055_CAL_LPOCTL 0x29 /* CAL LPO Control */ | ||
49 | #define B2055_CAL_TS 0x2A /* CAL TS */ | ||
50 | #define B2055_CAL_RCCALRTS 0x2B /* CAL RCCAL READ TS */ | ||
51 | #define B2055_CAL_RCALRTS 0x2C /* CAL RCAL READ TS */ | ||
52 | #define B2055_PADDRV 0x2D /* PAD driver */ | ||
53 | #define B2055_XOCTL1 0x2E /* XO Control 1 */ | ||
54 | #define B2055_XOCTL2 0x2F /* XO Control 2 */ | ||
55 | #define B2055_XOREGUL 0x30 /* XO Regulator */ | ||
56 | #define B2055_XOMISC 0x31 /* XO misc */ | ||
57 | #define B2055_PLL_LFC1 0x32 /* PLL LF C1 */ | ||
58 | #define B2055_PLL_CALVTH 0x33 /* PLL CAL VTH */ | ||
59 | #define B2055_PLL_LFC2 0x34 /* PLL LF C2 */ | ||
60 | #define B2055_PLL_REF 0x35 /* PLL reference */ | ||
61 | #define B2055_PLL_LFR1 0x36 /* PLL LF R1 */ | ||
62 | #define B2055_PLL_PFDCP 0x37 /* PLL PFD CP */ | ||
63 | #define B2055_PLL_IDAC_CPOPAMP 0x38 /* PLL IDAC CPOPAMP */ | ||
64 | #define B2055_PLL_CPREG 0x39 /* PLL CP Regulator */ | ||
65 | #define B2055_PLL_RCAL 0x3A /* PLL RCAL */ | ||
66 | #define B2055_RF_PLLMOD0 0x3B /* RF PLL MOD0 */ | ||
67 | #define B2055_RF_PLLMOD1 0x3C /* RF PLL MOD1 */ | ||
68 | #define B2055_RF_MMDIDAC1 0x3D /* RF MMD IDAC 1 */ | ||
69 | #define B2055_RF_MMDIDAC0 0x3E /* RF MMD IDAC 0 */ | ||
70 | #define B2055_RF_MMDSP 0x3F /* RF MMD spare */ | ||
71 | #define B2055_VCO_CAL1 0x40 /* VCO cal 1 */ | ||
72 | #define B2055_VCO_CAL2 0x41 /* VCO cal 2 */ | ||
73 | #define B2055_VCO_CAL3 0x42 /* VCO cal 3 */ | ||
74 | #define B2055_VCO_CAL4 0x43 /* VCO cal 4 */ | ||
75 | #define B2055_VCO_CAL5 0x44 /* VCO cal 5 */ | ||
76 | #define B2055_VCO_CAL6 0x45 /* VCO cal 6 */ | ||
77 | #define B2055_VCO_CAL7 0x46 /* VCO cal 7 */ | ||
78 | #define B2055_VCO_CAL8 0x47 /* VCO cal 8 */ | ||
79 | #define B2055_VCO_CAL9 0x48 /* VCO cal 9 */ | ||
80 | #define B2055_VCO_CAL10 0x49 /* VCO cal 10 */ | ||
81 | #define B2055_VCO_CAL11 0x4A /* VCO cal 11 */ | ||
82 | #define B2055_VCO_CAL12 0x4B /* VCO cal 12 */ | ||
83 | #define B2055_VCO_CAL13 0x4C /* VCO cal 13 */ | ||
84 | #define B2055_VCO_CAL14 0x4D /* VCO cal 14 */ | ||
85 | #define B2055_VCO_CAL15 0x4E /* VCO cal 15 */ | ||
86 | #define B2055_VCO_CAL16 0x4F /* VCO cal 16 */ | ||
87 | #define B2055_VCO_KVCO 0x50 /* VCO KVCO */ | ||
88 | #define B2055_VCO_CAPTAIL 0x51 /* VCO CAP TAIL */ | ||
89 | #define B2055_VCO_IDACVCO 0x52 /* VCO IDAC VCO */ | ||
90 | #define B2055_VCO_REG 0x53 /* VCO Regulator */ | ||
91 | #define B2055_PLL_RFVTH 0x54 /* PLL RF VTH */ | ||
92 | #define B2055_LGBUF_CENBUF 0x55 /* LGBUF CEN BUF */ | ||
93 | #define B2055_LGEN_TUNE1 0x56 /* LGEN tune 1 */ | ||
94 | #define B2055_LGEN_TUNE2 0x57 /* LGEN tune 2 */ | ||
95 | #define B2055_LGEN_IDAC1 0x58 /* LGEN IDAC 1 */ | ||
96 | #define B2055_LGEN_IDAC2 0x59 /* LGEN IDAC 2 */ | ||
97 | #define B2055_LGEN_BIASC 0x5A /* LGEN BIAS counter */ | ||
98 | #define B2055_LGEN_BIASIDAC 0x5B /* LGEN BIAS IDAC */ | ||
99 | #define B2055_LGEN_RCAL 0x5C /* LGEN RCAL */ | ||
100 | #define B2055_LGEN_DIV 0x5D /* LGEN div */ | ||
101 | #define B2055_LGEN_SPARE2 0x5E /* LGEN spare 2 */ | ||
102 | #define B2055_C1_LGBUF_ATUNE 0x5F /* Core 1 LGBUF A tune */ | ||
103 | #define B2055_C1_LGBUF_GTUNE 0x60 /* Core 1 LGBUF G tune */ | ||
104 | #define B2055_C1_LGBUF_DIV 0x61 /* Core 1 LGBUF div */ | ||
105 | #define B2055_C1_LGBUF_AIDAC 0x62 /* Core 1 LGBUF A IDAC */ | ||
106 | #define B2055_C1_LGBUF_GIDAC 0x63 /* Core 1 LGBUF G IDAC */ | ||
107 | #define B2055_C1_LGBUF_IDACFO 0x64 /* Core 1 LGBUF IDAC filter override */ | ||
108 | #define B2055_C1_LGBUF_SPARE 0x65 /* Core 1 LGBUF spare */ | ||
109 | #define B2055_C1_RX_RFSPC1 0x66 /* Core 1 RX RF SPC1 */ | ||
110 | #define B2055_C1_RX_RFR1 0x67 /* Core 1 RX RF reg 1 */ | ||
111 | #define B2055_C1_RX_RFR2 0x68 /* Core 1 RX RF reg 2 */ | ||
112 | #define B2055_C1_RX_RFRCAL 0x69 /* Core 1 RX RF RCAL */ | ||
113 | #define B2055_C1_RX_BB_BLCMP 0x6A /* Core 1 RX Baseband BUFI LPF CMP */ | ||
114 | #define B2055_C1_RX_BB_LPF 0x6B /* Core 1 RX Baseband LPF */ | ||
115 | #define B2055_C1_RX_BB_MIDACHP 0x6C /* Core 1 RX Baseband MIDAC High-pass */ | ||
116 | #define B2055_C1_RX_BB_VGA1IDAC 0x6D /* Core 1 RX Baseband VGA1 IDAC */ | ||
117 | #define B2055_C1_RX_BB_VGA2IDAC 0x6E /* Core 1 RX Baseband VGA2 IDAC */ | ||
118 | #define B2055_C1_RX_BB_VGA3IDAC 0x6F /* Core 1 RX Baseband VGA3 IDAC */ | ||
119 | #define B2055_C1_RX_BB_BUFOCTL 0x70 /* Core 1 RX Baseband BUFO Control */ | ||
120 | #define B2055_C1_RX_BB_RCCALCTL 0x71 /* Core 1 RX Baseband RCCAL Control */ | ||
121 | #define B2055_C1_RX_BB_RSSICTL1 0x72 /* Core 1 RX Baseband RSSI Control 1 */ | ||
122 | #define B2055_C1_RX_BB_RSSICTL2 0x73 /* Core 1 RX Baseband RSSI Control 2 */ | ||
123 | #define B2055_C1_RX_BB_RSSICTL3 0x74 /* Core 1 RX Baseband RSSI Control 3 */ | ||
124 | #define B2055_C1_RX_BB_RSSICTL4 0x75 /* Core 1 RX Baseband RSSI Control 4 */ | ||
125 | #define B2055_C1_RX_BB_RSSICTL5 0x76 /* Core 1 RX Baseband RSSI Control 5 */ | ||
126 | #define B2055_C1_RX_BB_REG 0x77 /* Core 1 RX Baseband Regulator */ | ||
127 | #define B2055_C1_RX_BB_SPARE1 0x78 /* Core 1 RX Baseband spare 1 */ | ||
128 | #define B2055_C1_RX_TXBBRCAL 0x79 /* Core 1 RX TX BB RCAL */ | ||
129 | #define B2055_C1_TX_RF_SPGA 0x7A /* Core 1 TX RF SGM PGA */ | ||
130 | #define B2055_C1_TX_RF_SPAD 0x7B /* Core 1 TX RF SGM PAD */ | ||
131 | #define B2055_C1_TX_RF_CNTPGA1 0x7C /* Core 1 TX RF counter PGA 1 */ | ||
132 | #define B2055_C1_TX_RF_CNTPAD1 0x7D /* Core 1 TX RF counter PAD 1 */ | ||
133 | #define B2055_C1_TX_RF_PGAIDAC 0x7E /* Core 1 TX RF PGA IDAC */ | ||
134 | #define B2055_C1_TX_PGAPADTN 0x7F /* Core 1 TX PGA PAD TN */ | ||
135 | #define B2055_C1_TX_PADIDAC1 0x80 /* Core 1 TX PAD IDAC 1 */ | ||
136 | #define B2055_C1_TX_PADIDAC2 0x81 /* Core 1 TX PAD IDAC 2 */ | ||
137 | #define B2055_C1_TX_MXBGTRIM 0x82 /* Core 1 TX MX B/G TRIM */ | ||
138 | #define B2055_C1_TX_RF_RCAL 0x83 /* Core 1 TX RF RCAL */ | ||
139 | #define B2055_C1_TX_RF_PADTSSI1 0x84 /* Core 1 TX RF PAD TSSI1 */ | ||
140 | #define B2055_C1_TX_RF_PADTSSI2 0x85 /* Core 1 TX RF PAD TSSI2 */ | ||
141 | #define B2055_C1_TX_RF_SPARE 0x86 /* Core 1 TX RF spare */ | ||
142 | #define B2055_C1_TX_RF_IQCAL1 0x87 /* Core 1 TX RF I/Q CAL 1 */ | ||
143 | #define B2055_C1_TX_RF_IQCAL2 0x88 /* Core 1 TX RF I/Q CAL 2 */ | ||
144 | #define B2055_C1_TXBB_RCCAL 0x89 /* Core 1 TXBB RC CAL Control */ | ||
145 | #define B2055_C1_TXBB_LPF1 0x8A /* Core 1 TXBB LPF 1 */ | ||
146 | #define B2055_C1_TX_VOSCNCL 0x8B /* Core 1 TX VOS CNCL */ | ||
147 | #define B2055_C1_TX_LPF_MXGMIDAC 0x8C /* Core 1 TX LPF MXGM IDAC */ | ||
148 | #define B2055_C1_TX_BB_MXGM 0x8D /* Core 1 TX BB MXGM */ | ||
149 | #define B2055_C2_LGBUF_ATUNE 0x8E /* Core 2 LGBUF A tune */ | ||
150 | #define B2055_C2_LGBUF_GTUNE 0x8F /* Core 2 LGBUF G tune */ | ||
151 | #define B2055_C2_LGBUF_DIV 0x90 /* Core 2 LGBUF div */ | ||
152 | #define B2055_C2_LGBUF_AIDAC 0x91 /* Core 2 LGBUF A IDAC */ | ||
153 | #define B2055_C2_LGBUF_GIDAC 0x92 /* Core 2 LGBUF G IDAC */ | ||
154 | #define B2055_C2_LGBUF_IDACFO 0x93 /* Core 2 LGBUF IDAC filter override */ | ||
155 | #define B2055_C2_LGBUF_SPARE 0x94 /* Core 2 LGBUF spare */ | ||
156 | #define B2055_C2_RX_RFSPC1 0x95 /* Core 2 RX RF SPC1 */ | ||
157 | #define B2055_C2_RX_RFR1 0x96 /* Core 2 RX RF reg 1 */ | ||
158 | #define B2055_C2_RX_RFR2 0x97 /* Core 2 RX RF reg 2 */ | ||
159 | #define B2055_C2_RX_RFRCAL 0x98 /* Core 2 RX RF RCAL */ | ||
160 | #define B2055_C2_RX_BB_BLCMP 0x99 /* Core 2 RX Baseband BUFI LPF CMP */ | ||
161 | #define B2055_C2_RX_BB_LPF 0x9A /* Core 2 RX Baseband LPF */ | ||
162 | #define B2055_C2_RX_BB_MIDACHP 0x9B /* Core 2 RX Baseband MIDAC High-pass */ | ||
163 | #define B2055_C2_RX_BB_VGA1IDAC 0x9C /* Core 2 RX Baseband VGA1 IDAC */ | ||
164 | #define B2055_C2_RX_BB_VGA2IDAC 0x9D /* Core 2 RX Baseband VGA2 IDAC */ | ||
165 | #define B2055_C2_RX_BB_VGA3IDAC 0x9E /* Core 2 RX Baseband VGA3 IDAC */ | ||
166 | #define B2055_C2_RX_BB_BUFOCTL 0x9F /* Core 2 RX Baseband BUFO Control */ | ||
167 | #define B2055_C2_RX_BB_RCCALCTL 0xA0 /* Core 2 RX Baseband RCCAL Control */ | ||
168 | #define B2055_C2_RX_BB_RSSICTL1 0xA1 /* Core 2 RX Baseband RSSI Control 1 */ | ||
169 | #define B2055_C2_RX_BB_RSSICTL2 0xA2 /* Core 2 RX Baseband RSSI Control 2 */ | ||
170 | #define B2055_C2_RX_BB_RSSICTL3 0xA3 /* Core 2 RX Baseband RSSI Control 3 */ | ||
171 | #define B2055_C2_RX_BB_RSSICTL4 0xA4 /* Core 2 RX Baseband RSSI Control 4 */ | ||
172 | #define B2055_C2_RX_BB_RSSICTL5 0xA5 /* Core 2 RX Baseband RSSI Control 5 */ | ||
173 | #define B2055_C2_RX_BB_REG 0xA6 /* Core 2 RX Baseband Regulator */ | ||
174 | #define B2055_C2_RX_BB_SPARE1 0xA7 /* Core 2 RX Baseband spare 1 */ | ||
175 | #define B2055_C2_RX_TXBBRCAL 0xA8 /* Core 2 RX TX BB RCAL */ | ||
176 | #define B2055_C2_TX_RF_SPGA 0xA9 /* Core 2 TX RF SGM PGA */ | ||
177 | #define B2055_C2_TX_RF_SPAD 0xAA /* Core 2 TX RF SGM PAD */ | ||
178 | #define B2055_C2_TX_RF_CNTPGA1 0xAB /* Core 2 TX RF counter PGA 1 */ | ||
179 | #define B2055_C2_TX_RF_CNTPAD1 0xAC /* Core 2 TX RF counter PAD 1 */ | ||
180 | #define B2055_C2_TX_RF_PGAIDAC 0xAD /* Core 2 TX RF PGA IDAC */ | ||
181 | #define B2055_C2_TX_PGAPADTN 0xAE /* Core 2 TX PGA PAD TN */ | ||
182 | #define B2055_C2_TX_PADIDAC1 0xAF /* Core 2 TX PAD IDAC 1 */ | ||
183 | #define B2055_C2_TX_PADIDAC2 0xB0 /* Core 2 TX PAD IDAC 2 */ | ||
184 | #define B2055_C2_TX_MXBGTRIM 0xB1 /* Core 2 TX MX B/G TRIM */ | ||
185 | #define B2055_C2_TX_RF_RCAL 0xB2 /* Core 2 TX RF RCAL */ | ||
186 | #define B2055_C2_TX_RF_PADTSSI1 0xB3 /* Core 2 TX RF PAD TSSI1 */ | ||
187 | #define B2055_C2_TX_RF_PADTSSI2 0xB4 /* Core 2 TX RF PAD TSSI2 */ | ||
188 | #define B2055_C2_TX_RF_SPARE 0xB5 /* Core 2 TX RF spare */ | ||
189 | #define B2055_C2_TX_RF_IQCAL1 0xB6 /* Core 2 TX RF I/Q CAL 1 */ | ||
190 | #define B2055_C2_TX_RF_IQCAL2 0xB7 /* Core 2 TX RF I/Q CAL 2 */ | ||
191 | #define B2055_C2_TXBB_RCCAL 0xB8 /* Core 2 TXBB RC CAL Control */ | ||
192 | #define B2055_C2_TXBB_LPF1 0xB9 /* Core 2 TXBB LPF 1 */ | ||
193 | #define B2055_C2_TX_VOSCNCL 0xBA /* Core 2 TX VOS CNCL */ | ||
194 | #define B2055_C2_TX_LPF_MXGMIDAC 0xBB /* Core 2 TX LPF MXGM IDAC */ | ||
195 | #define B2055_C2_TX_BB_MXGM 0xBC /* Core 2 TX BB MXGM */ | ||
196 | #define B2055_PRG_GCHP21 0xBD /* PRG GC HPVGA23 21 */ | ||
197 | #define B2055_PRG_GCHP22 0xBE /* PRG GC HPVGA23 22 */ | ||
198 | #define B2055_PRG_GCHP23 0xBF /* PRG GC HPVGA23 23 */ | ||
199 | #define B2055_PRG_GCHP24 0xC0 /* PRG GC HPVGA23 24 */ | ||
200 | #define B2055_PRG_GCHP25 0xC1 /* PRG GC HPVGA23 25 */ | ||
201 | #define B2055_PRG_GCHP26 0xC2 /* PRG GC HPVGA23 26 */ | ||
202 | #define B2055_PRG_GCHP27 0xC3 /* PRG GC HPVGA23 27 */ | ||
203 | #define B2055_PRG_GCHP28 0xC4 /* PRG GC HPVGA23 28 */ | ||
204 | #define B2055_PRG_GCHP29 0xC5 /* PRG GC HPVGA23 29 */ | ||
205 | #define B2055_PRG_GCHP30 0xC6 /* PRG GC HPVGA23 30 */ | ||
206 | #define B2055_C1_LNA_GAINBST 0xCD /* Core 1 LNA GAINBST */ | ||
207 | #define B2055_C1_B0NB_RSSIVCM 0xD2 /* Core 1 B0 narrow-band RSSI VCM */ | ||
208 | #define B2055_C1_GENSPARE2 0xD6 /* Core 1 GEN spare 2 */ | ||
209 | #define B2055_C2_LNA_GAINBST 0xD9 /* Core 2 LNA GAINBST */ | ||
210 | #define B2055_C2_B0NB_RSSIVCM 0xDE /* Core 2 B0 narrow-band RSSI VCM */ | ||
211 | #define B2055_C2_GENSPARE2 0xE2 /* Core 2 GEN spare 2 */ | ||
212 | |||
213 | struct b43_nphy_channeltab_entry_rev2 { | ||
214 | /* The channel number */ | ||
215 | u8 channel; | ||
216 | /* The channel frequency in MHz */ | ||
217 | u16 freq; | ||
218 | /* An unknown value */ | ||
219 | u16 unk2; | ||
220 | /* Radio register values on channelswitch */ | ||
221 | u8 radio_pll_ref; | ||
222 | u8 radio_rf_pllmod0; | ||
223 | u8 radio_rf_pllmod1; | ||
224 | u8 radio_vco_captail; | ||
225 | u8 radio_vco_cal1; | ||
226 | u8 radio_vco_cal2; | ||
227 | u8 radio_pll_lfc1; | ||
228 | u8 radio_pll_lfr1; | ||
229 | u8 radio_pll_lfc2; | ||
230 | u8 radio_lgbuf_cenbuf; | ||
231 | u8 radio_lgen_tune1; | ||
232 | u8 radio_lgen_tune2; | ||
233 | u8 radio_c1_lgbuf_atune; | ||
234 | u8 radio_c1_lgbuf_gtune; | ||
235 | u8 radio_c1_rx_rfr1; | ||
236 | u8 radio_c1_tx_pgapadtn; | ||
237 | u8 radio_c1_tx_mxbgtrim; | ||
238 | u8 radio_c2_lgbuf_atune; | ||
239 | u8 radio_c2_lgbuf_gtune; | ||
240 | u8 radio_c2_rx_rfr1; | ||
241 | u8 radio_c2_tx_pgapadtn; | ||
242 | u8 radio_c2_tx_mxbgtrim; | ||
243 | /* PHY register values on channelswitch */ | ||
244 | struct b43_phy_n_sfo_cfg phy_regs; | ||
245 | }; | ||
246 | |||
247 | /* Upload the default register value table. | ||
248 | * If "ghz5" is true, we upload the 5Ghz table. Otherwise the 2.4Ghz | ||
249 | * table is uploaded. If "ignore_uploadflag" is true, we upload any value | ||
250 | * and ignore the "UPLOAD" flag. */ | ||
251 | void b2055_upload_inittab(struct b43_wldev *dev, | ||
252 | bool ghz5, bool ignore_uploadflag); | ||
253 | |||
254 | #endif /* B43_RADIO_2055_H_ */ | ||
diff --git a/drivers/net/wireless/b43/radio_2056.c b/drivers/net/wireless/b43/radio_2056.c new file mode 100644 index 000000000000..8890df067029 --- /dev/null +++ b/drivers/net/wireless/b43/radio_2056.c | |||
@@ -0,0 +1,9099 @@ | |||
1 | /* | ||
2 | |||
3 | Broadcom B43 wireless driver | ||
4 | IEEE 802.11n 2056 radio device data tables | ||
5 | |||
6 | This program is free software; you can redistribute it and/or modify | ||
7 | it under the terms of the GNU General Public License as published by | ||
8 | the Free Software Foundation; either version 2 of the License, or | ||
9 | (at your option) any later version. | ||
10 | |||
11 | This program is distributed in the hope that it will be useful, | ||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | GNU General Public License for more details. | ||
15 | |||
16 | You should have received a copy of the GNU General Public License | ||
17 | along with this program; see the file COPYING. If not, write to | ||
18 | the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor, | ||
19 | Boston, MA 02110-1301, USA. | ||
20 | |||
21 | */ | ||
22 | |||
23 | #include "b43.h" | ||
24 | #include "radio_2056.h" | ||
25 | #include "phy_common.h" | ||
26 | |||
27 | struct b2056_inittab_entry { | ||
28 | /* Value to write if we use the 5GHz band. */ | ||
29 | u16 ghz5; | ||
30 | /* Value to write if we use the 2.4GHz band. */ | ||
31 | u16 ghz2; | ||
32 | /* Flags */ | ||
33 | u8 flags; | ||
34 | }; | ||
35 | #define B2056_INITTAB_ENTRY_OK 0x01 | ||
36 | #define B2056_INITTAB_UPLOAD 0x02 | ||
37 | #define UPLOAD .flags = B2056_INITTAB_ENTRY_OK | B2056_INITTAB_UPLOAD | ||
38 | #define NOUPLOAD .flags = B2056_INITTAB_ENTRY_OK | ||
39 | |||
40 | struct b2056_inittabs_pts { | ||
41 | const struct b2056_inittab_entry *syn; | ||
42 | unsigned int syn_length; | ||
43 | const struct b2056_inittab_entry *tx; | ||
44 | unsigned int tx_length; | ||
45 | const struct b2056_inittab_entry *rx; | ||
46 | unsigned int rx_length; | ||
47 | }; | ||
48 | |||
49 | static const struct b2056_inittab_entry b2056_inittab_rev3_syn[] = { | ||
50 | [B2056_SYN_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
51 | [B2056_SYN_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
52 | [B2056_SYN_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
53 | [B2056_SYN_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
54 | [B2056_SYN_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
55 | [B2056_SYN_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
56 | [B2056_SYN_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
57 | [B2056_SYN_COM_PU] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
58 | [B2056_SYN_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
59 | [B2056_SYN_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
60 | [B2056_SYN_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
61 | [B2056_SYN_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
62 | [B2056_SYN_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
63 | [B2056_SYN_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
64 | [B2056_SYN_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
65 | [B2056_SYN_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
66 | [B2056_SYN_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
67 | [B2056_SYN_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
68 | [B2056_SYN_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
69 | [B2056_SYN_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
70 | [B2056_SYN_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
71 | [B2056_SYN_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
72 | [B2056_SYN_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
73 | [B2056_SYN_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
74 | [B2056_SYN_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
75 | [B2056_SYN_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
76 | [B2056_SYN_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
77 | [B2056_SYN_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
78 | [B2056_SYN_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
79 | [B2056_SYN_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
80 | [B2056_SYN_GPIO_MASTER1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
81 | [B2056_SYN_GPIO_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
82 | [B2056_SYN_TOPBIAS_MASTER] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
83 | [B2056_SYN_TOPBIAS_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
84 | [B2056_SYN_AFEREG] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
85 | [B2056_SYN_TEMPPROCSENSE] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
86 | [B2056_SYN_TEMPPROCSENSEIDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
87 | [B2056_SYN_TEMPPROCSENSERCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
88 | [B2056_SYN_LPO] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
89 | [B2056_SYN_VDDCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
90 | [B2056_SYN_VDDCAL_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
91 | [B2056_SYN_VDDCAL_STATUS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
92 | [B2056_SYN_RCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
93 | [B2056_SYN_RCAL_CODE_OUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
94 | [B2056_SYN_RCCAL_CTRL0] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
95 | [B2056_SYN_RCCAL_CTRL1] = { .ghz5 = 0x001f, .ghz2 = 0x001f, NOUPLOAD, }, | ||
96 | [B2056_SYN_RCCAL_CTRL2] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
97 | [B2056_SYN_RCCAL_CTRL3] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
98 | [B2056_SYN_RCCAL_CTRL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
99 | [B2056_SYN_RCCAL_CTRL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
100 | [B2056_SYN_RCCAL_CTRL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
101 | [B2056_SYN_RCCAL_CTRL7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
102 | [B2056_SYN_RCCAL_CTRL8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
103 | [B2056_SYN_RCCAL_CTRL9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
104 | [B2056_SYN_RCCAL_CTRL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
105 | [B2056_SYN_RCCAL_CTRL11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
106 | [B2056_SYN_ZCAL_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
107 | [B2056_SYN_ZCAL_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
108 | [B2056_SYN_PLL_MAST1] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
109 | [B2056_SYN_PLL_MAST2] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
110 | [B2056_SYN_PLL_MAST3] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
111 | [B2056_SYN_PLL_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
112 | [B2056_SYN_PLL_XTAL0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
113 | [B2056_SYN_PLL_XTAL1] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
114 | [B2056_SYN_PLL_XTAL3] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
115 | [B2056_SYN_PLL_XTAL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
116 | [B2056_SYN_PLL_XTAL5] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
117 | [B2056_SYN_PLL_XTAL6] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
118 | [B2056_SYN_PLL_REFDIV] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
119 | [B2056_SYN_PLL_PFD] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
120 | [B2056_SYN_PLL_CP1] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
121 | [B2056_SYN_PLL_CP2] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
122 | [B2056_SYN_PLL_CP3] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
123 | [B2056_SYN_PLL_LOOPFILTER1] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
124 | [B2056_SYN_PLL_LOOPFILTER2] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
125 | [B2056_SYN_PLL_LOOPFILTER3] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
126 | [B2056_SYN_PLL_LOOPFILTER4] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
127 | [B2056_SYN_PLL_LOOPFILTER5] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
128 | [B2056_SYN_PLL_MMD1] = { .ghz5 = 0x001c, .ghz2 = 0x001c, NOUPLOAD, }, | ||
129 | [B2056_SYN_PLL_MMD2] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
130 | [B2056_SYN_PLL_VCO1] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
131 | [B2056_SYN_PLL_VCO2] = { .ghz5 = 0x00f7, .ghz2 = 0x00f7, UPLOAD, }, | ||
132 | [B2056_SYN_PLL_MONITOR1] = { .ghz5 = 0x00b4, .ghz2 = 0x00b4, NOUPLOAD, }, | ||
133 | [B2056_SYN_PLL_MONITOR2] = { .ghz5 = 0x00d2, .ghz2 = 0x00d2, NOUPLOAD, }, | ||
134 | [B2056_SYN_PLL_VCOCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
135 | [B2056_SYN_PLL_VCOCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
136 | [B2056_SYN_PLL_VCOCAL4] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
137 | [B2056_SYN_PLL_VCOCAL5] = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, }, | ||
138 | [B2056_SYN_PLL_VCOCAL6] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
139 | [B2056_SYN_PLL_VCOCAL7] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
140 | [B2056_SYN_PLL_VCOCAL8] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
141 | [B2056_SYN_PLL_VCOCAL9] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
142 | [B2056_SYN_PLL_VCOCAL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
143 | [B2056_SYN_PLL_VCOCAL11] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
144 | [B2056_SYN_PLL_VCOCAL12] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
145 | [B2056_SYN_PLL_VCOCAL13] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
146 | [B2056_SYN_PLL_VREG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
147 | [B2056_SYN_PLL_STATUS1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
148 | [B2056_SYN_PLL_STATUS2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
149 | [B2056_SYN_PLL_STATUS3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
150 | [B2056_SYN_LOGEN_PU0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
151 | [B2056_SYN_LOGEN_PU1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
152 | [B2056_SYN_LOGEN_PU2] = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, }, | ||
153 | [B2056_SYN_LOGEN_PU3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
154 | [B2056_SYN_LOGEN_PU5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
155 | [B2056_SYN_LOGEN_PU6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
156 | [B2056_SYN_LOGEN_PU7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
157 | [B2056_SYN_LOGEN_PU8] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
158 | [B2056_SYN_LOGEN_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
159 | [B2056_SYN_LOGEN_RCCR1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
160 | [B2056_SYN_LOGEN_VCOBUF1] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
161 | [B2056_SYN_LOGEN_MIXER1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
162 | [B2056_SYN_LOGEN_MIXER2] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
163 | [B2056_SYN_LOGEN_BUF1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
164 | [B2056_SYN_LOGENBUF2] = { .ghz5 = 0x008f, .ghz2 = 0x008f, UPLOAD, }, | ||
165 | [B2056_SYN_LOGEN_BUF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
166 | [B2056_SYN_LOGEN_BUF4] = { .ghz5 = 0x00cc, .ghz2 = 0x00cc, NOUPLOAD, }, | ||
167 | [B2056_SYN_LOGEN_DIV1] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
168 | [B2056_SYN_LOGEN_DIV2] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
169 | [B2056_SYN_LOGEN_DIV3] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
170 | [B2056_SYN_LOGEN_ACL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
171 | [B2056_SYN_LOGEN_ACL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
172 | [B2056_SYN_LOGEN_ACL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
173 | [B2056_SYN_LOGEN_ACL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
174 | [B2056_SYN_LOGEN_ACL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
175 | [B2056_SYN_LOGEN_ACL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
176 | [B2056_SYN_LOGEN_ACLOUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
177 | [B2056_SYN_LOGEN_ACLCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
178 | [B2056_SYN_LOGEN_ACLCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
179 | [B2056_SYN_LOGEN_ACLCAL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
180 | [B2056_SYN_CALEN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
181 | [B2056_SYN_LOGEN_PEAKDET1] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, NOUPLOAD, }, | ||
182 | [B2056_SYN_LOGEN_CORE_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
183 | [B2056_SYN_LOGEN_RX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
184 | [B2056_SYN_LOGEN_TX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
185 | [B2056_SYN_LOGEN_RX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
186 | [B2056_SYN_LOGEN_TX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
187 | [B2056_SYN_LOGEN_VCOBUF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
188 | [B2056_SYN_LOGEN_MIXER3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
189 | [B2056_SYN_LOGEN_BUF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
190 | [B2056_SYN_LOGEN_BUF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
191 | [B2056_SYN_LOGEN_CBUFRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
192 | [B2056_SYN_LOGEN_CBUFRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
193 | [B2056_SYN_LOGEN_CBUFRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
194 | [B2056_SYN_LOGEN_CBUFRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
195 | [B2056_SYN_LOGEN_CBUFTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
196 | [B2056_SYN_LOGEN_CBUFTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
197 | [B2056_SYN_LOGEN_CBUFTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
198 | [B2056_SYN_LOGEN_CBUFTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
199 | [B2056_SYN_LOGEN_CMOSRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
200 | [B2056_SYN_LOGEN_CMOSRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
201 | [B2056_SYN_LOGEN_CMOSRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
202 | [B2056_SYN_LOGEN_CMOSRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
203 | [B2056_SYN_LOGEN_CMOSTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
204 | [B2056_SYN_LOGEN_CMOSTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
205 | [B2056_SYN_LOGEN_CMOSTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
206 | [B2056_SYN_LOGEN_CMOSTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
207 | [B2056_SYN_LOGEN_VCOBUF2_OVRVAL]= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
208 | [B2056_SYN_LOGEN_MIXER3_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
209 | [B2056_SYN_LOGEN_BUF5_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
210 | [B2056_SYN_LOGEN_BUF6_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
211 | [B2056_SYN_LOGEN_CBUFRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
212 | [B2056_SYN_LOGEN_CBUFRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
213 | [B2056_SYN_LOGEN_CBUFRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
214 | [B2056_SYN_LOGEN_CBUFRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
215 | [B2056_SYN_LOGEN_CBUFTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
216 | [B2056_SYN_LOGEN_CBUFTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
217 | [B2056_SYN_LOGEN_CBUFTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
218 | [B2056_SYN_LOGEN_CBUFTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
219 | [B2056_SYN_LOGEN_CMOSRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
220 | [B2056_SYN_LOGEN_CMOSRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
221 | [B2056_SYN_LOGEN_CMOSRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
222 | [B2056_SYN_LOGEN_CMOSRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
223 | [B2056_SYN_LOGEN_CMOSTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
224 | [B2056_SYN_LOGEN_CMOSTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
225 | [B2056_SYN_LOGEN_CMOSTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
226 | [B2056_SYN_LOGEN_CMOSTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
227 | [B2056_SYN_LOGEN_ACL_WAITCNT] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
228 | [B2056_SYN_LOGEN_CORE_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
229 | [B2056_SYN_LOGEN_RX_CMOS_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
230 | [B2056_SYN_LOGEN_TX_CMOS_VALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
231 | }; | ||
232 | |||
233 | static const struct b2056_inittab_entry b2056_inittab_rev3_tx[] = { | ||
234 | [B2056_TX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
235 | [B2056_TX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
236 | [B2056_TX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
237 | [B2056_TX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
238 | [B2056_TX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
239 | [B2056_TX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
240 | [B2056_TX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
241 | [B2056_TX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
242 | [B2056_TX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
243 | [B2056_TX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
244 | [B2056_TX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
245 | [B2056_TX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
246 | [B2056_TX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
247 | [B2056_TX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
248 | [B2056_TX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
249 | [B2056_TX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
250 | [B2056_TX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
251 | [B2056_TX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
252 | [B2056_TX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
253 | [B2056_TX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
254 | [B2056_TX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
255 | [B2056_TX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
256 | [B2056_TX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
257 | [B2056_TX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
258 | [B2056_TX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
259 | [B2056_TX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
260 | [B2056_TX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
261 | [B2056_TX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
262 | [B2056_TX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
263 | [B2056_TX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
264 | [B2056_TX_IQCAL_GAIN_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
265 | [B2056_TX_LOFT_FINE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
266 | [B2056_TX_LOFT_FINE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
267 | [B2056_TX_LOFT_COARSE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
268 | [B2056_TX_LOFT_COARSE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
269 | [B2056_TX_TX_COM_MASTER1] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
270 | [B2056_TX_TX_COM_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
271 | [B2056_TX_RXIQCAL_TXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
272 | [B2056_TX_TX_SSI_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
273 | [B2056_TX_IQCAL_VCM_HG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
274 | [B2056_TX_IQCAL_IDAC] = { .ghz5 = 0x0037, .ghz2 = 0x0037, NOUPLOAD, }, | ||
275 | [B2056_TX_TSSI_VCM] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
276 | [B2056_TX_TX_AMP_DET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
277 | [B2056_TX_TX_SSI_MUX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
278 | [B2056_TX_TSSIA] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
279 | [B2056_TX_TSSIG] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
280 | [B2056_TX_TSSI_MISC1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
281 | [B2056_TX_TSSI_MISC2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
282 | [B2056_TX_TSSI_MISC3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
283 | [B2056_TX_PA_SPARE1] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
284 | [B2056_TX_PA_SPARE2] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
285 | [B2056_TX_INTPAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
286 | [B2056_TX_INTPAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
287 | [B2056_TX_INTPAA_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
288 | [B2056_TX_INTPAA_IAUX_STAT] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
289 | [B2056_TX_INTPAA_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
290 | [B2056_TX_INTPAA_IMAIN_STAT] = { .ghz5 = 0x002d, .ghz2 = 0x002d, NOUPLOAD, }, | ||
291 | [B2056_TX_INTPAA_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
292 | [B2056_TX_INTPAA_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
293 | [B2056_TX_INTPAA_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
294 | [B2056_TX_INTPAA_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
295 | [B2056_TX_INTPAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
296 | [B2056_TX_INTPAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
297 | [B2056_TX_INTPAG_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
298 | [B2056_TX_INTPAG_IAUX_STAT] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
299 | [B2056_TX_INTPAG_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
300 | [B2056_TX_INTPAG_IMAIN_STAT] = { .ghz5 = 0x001e, .ghz2 = 0x001e, NOUPLOAD, }, | ||
301 | [B2056_TX_INTPAG_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
302 | [B2056_TX_INTPAG_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
303 | [B2056_TX_INTPAG_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
304 | [B2056_TX_INTPAG_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
305 | [B2056_TX_PADA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
306 | [B2056_TX_PADA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
307 | [B2056_TX_PADA_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
308 | [B2056_TX_PADA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
309 | [B2056_TX_PADA_BOOST_TUNE] = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, }, | ||
310 | [B2056_TX_PADA_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
311 | [B2056_TX_PADG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
312 | [B2056_TX_PADG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
313 | [B2056_TX_PADG_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
314 | [B2056_TX_PADG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
315 | [B2056_TX_PADG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
316 | [B2056_TX_PADG_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
317 | [B2056_TX_PGAA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
318 | [B2056_TX_PGAA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
319 | [B2056_TX_PGAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
320 | [B2056_TX_PGAA_BOOST_TUNE] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, | ||
321 | [B2056_TX_PGAA_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
322 | [B2056_TX_PGAA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
323 | [B2056_TX_PGAG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
324 | [B2056_TX_PGAG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
325 | [B2056_TX_PGAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
326 | [B2056_TX_PGAG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
327 | [B2056_TX_PGAG_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
328 | [B2056_TX_PGAG_MISC] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
329 | [B2056_TX_MIXA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
330 | [B2056_TX_MIXA_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
331 | [B2056_TX_MIXG] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
332 | [B2056_TX_MIXG_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
333 | [B2056_TX_BB_GM_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
334 | [B2056_TX_GMBB_GM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
335 | [B2056_TX_GMBB_IDAC] = { .ghz5 = 0x0074, .ghz2 = 0x0074, UPLOAD, }, | ||
336 | [B2056_TX_TXLPF_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
337 | [B2056_TX_TXLPF_RCCAL] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
338 | [B2056_TX_TXLPF_RCCAL_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
339 | [B2056_TX_TXLPF_RCCAL_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
340 | [B2056_TX_TXLPF_RCCAL_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
341 | [B2056_TX_TXLPF_RCCAL_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
342 | [B2056_TX_TXLPF_RCCAL_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
343 | [B2056_TX_TXLPF_RCCAL_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
344 | [B2056_TX_TXLPF_RCCAL_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
345 | [B2056_TX_TXLPF_BW] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
346 | [B2056_TX_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
347 | [B2056_TX_TXLPF_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
348 | [B2056_TX_TXLPF_IDAC_0] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
349 | [B2056_TX_TXLPF_IDAC_1] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
350 | [B2056_TX_TXLPF_IDAC_2] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
351 | [B2056_TX_TXLPF_IDAC_3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
352 | [B2056_TX_TXLPF_IDAC_4] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
353 | [B2056_TX_TXLPF_IDAC_5] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
354 | [B2056_TX_TXLPF_IDAC_6] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
355 | [B2056_TX_TXLPF_OPAMP_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
356 | [B2056_TX_TXLPF_MISC] = { .ghz5 = 0x005b, .ghz2 = 0x005b, NOUPLOAD, }, | ||
357 | [B2056_TX_TXSPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
358 | [B2056_TX_TXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
359 | [B2056_TX_TXSPARE3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
360 | [B2056_TX_TXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
361 | [B2056_TX_TXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
362 | [B2056_TX_TXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
363 | [B2056_TX_TXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
364 | [B2056_TX_TXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
365 | [B2056_TX_TXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
366 | [B2056_TX_TXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
367 | [B2056_TX_TXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
368 | [B2056_TX_TXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
369 | [B2056_TX_TXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
370 | [B2056_TX_TXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
371 | [B2056_TX_TXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
372 | [B2056_TX_TXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
373 | [B2056_TX_STATUS_INTPA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
374 | [B2056_TX_STATUS_PAD_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
375 | [B2056_TX_STATUS_PGA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
376 | [B2056_TX_STATUS_GM_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
377 | [B2056_TX_STATUS_TXLPF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
378 | [B2056_TX_STATUS_TXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
379 | }; | ||
380 | |||
381 | static const struct b2056_inittab_entry b2056_inittab_rev3_rx[] = { | ||
382 | [B2056_RX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
383 | [B2056_RX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
384 | [B2056_RX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
385 | [B2056_RX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
386 | [B2056_RX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
387 | [B2056_RX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
388 | [B2056_RX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
389 | [B2056_RX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
390 | [B2056_RX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
391 | [B2056_RX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
392 | [B2056_RX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
393 | [B2056_RX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
394 | [B2056_RX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
395 | [B2056_RX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
396 | [B2056_RX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
397 | [B2056_RX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
398 | [B2056_RX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
399 | [B2056_RX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
400 | [B2056_RX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
401 | [B2056_RX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
402 | [B2056_RX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
403 | [B2056_RX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
404 | [B2056_RX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
405 | [B2056_RX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
406 | [B2056_RX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
407 | [B2056_RX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
408 | [B2056_RX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
409 | [B2056_RX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
410 | [B2056_RX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
411 | [B2056_RX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
412 | [B2056_RX_RXIQCAL_RXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
413 | [B2056_RX_RSSI_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
414 | [B2056_RX_RSSI_SEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
415 | [B2056_RX_RSSI_GAIN] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
416 | [B2056_RX_RSSI_NB_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
417 | [B2056_RX_RSSI_WB2I_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
418 | [B2056_RX_RSSI_WB2I_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
419 | [B2056_RX_RSSI_WB2Q_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
420 | [B2056_RX_RSSI_WB2Q_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
421 | [B2056_RX_RSSI_POLE] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
422 | [B2056_RX_RSSI_WB1_IDAC] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
423 | [B2056_RX_RSSI_MISC] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
424 | [B2056_RX_LNAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
425 | [B2056_RX_LNAA_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
426 | [B2056_RX_LNAA_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
427 | [B2056_RX_LNA_A_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
428 | [B2056_RX_BIASPOLE_LNAA1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
429 | [B2056_RX_LNAA2_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
430 | [B2056_RX_LNA1A_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
431 | [B2056_RX_LNAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
432 | [B2056_RX_LNAG_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
433 | [B2056_RX_LNAG_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
434 | [B2056_RX_LNA_G_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
435 | [B2056_RX_BIASPOLE_LNAG1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
436 | [B2056_RX_LNAG2_IDAC] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
437 | [B2056_RX_LNA1G_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
438 | [B2056_RX_MIXA_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
439 | [B2056_RX_MIXA_VCM] = { .ghz5 = 0x0099, .ghz2 = 0x0099, NOUPLOAD, }, | ||
440 | [B2056_RX_MIXA_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
441 | [B2056_RX_MIXA_LOB_BIAS] = { .ghz5 = 0x0044, .ghz2 = 0x0044, UPLOAD, }, | ||
442 | [B2056_RX_MIXA_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
443 | [B2056_RX_MIXA_CMFB_IDAC] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
444 | [B2056_RX_MIXA_BIAS_AUX] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
445 | [B2056_RX_MIXA_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
446 | [B2056_RX_MIXA_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
447 | [B2056_RX_MIXA_MAST_BIAS] = { .ghz5 = 0x0050, .ghz2 = 0x0050, UPLOAD, }, | ||
448 | [B2056_RX_MIXG_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
449 | [B2056_RX_MIXG_VCM] = { .ghz5 = 0x0099, .ghz2 = 0x0099, NOUPLOAD, }, | ||
450 | [B2056_RX_MIXG_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
451 | [B2056_RX_MIXG_LOB_BIAS] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
452 | [B2056_RX_MIXG_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
453 | [B2056_RX_MIXG_CMFB_IDAC] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
454 | [B2056_RX_MIXG_BIAS_AUX] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
455 | [B2056_RX_MIXG_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
456 | [B2056_RX_MIXG_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
457 | [B2056_RX_MIXG_MAST_BIAS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
458 | [B2056_RX_TIA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
459 | [B2056_RX_TIA_IOPAMP] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
460 | [B2056_RX_TIA_QOPAMP] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
461 | [B2056_RX_TIA_IMISC] = { .ghz5 = 0x0057, .ghz2 = 0x0057, NOUPLOAD, }, | ||
462 | [B2056_RX_TIA_QMISC] = { .ghz5 = 0x0057, .ghz2 = 0x0057, NOUPLOAD, }, | ||
463 | [B2056_RX_TIA_GAIN] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
464 | [B2056_RX_TIA_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
465 | [B2056_RX_TIA_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
466 | [B2056_RX_BB_LPF_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
467 | [B2056_RX_AACI_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
468 | [B2056_RX_RXLPF_IDAC] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
469 | [B2056_RX_RXLPF_OPAMPBIAS_LOWQ] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
470 | [B2056_RX_RXLPF_OPAMPBIAS_HIGHQ]= { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
471 | [B2056_RX_RXLPF_BIAS_DCCANCEL] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
472 | [B2056_RX_RXLPF_OUTVCM] = { .ghz5 = 0x0023, .ghz2 = 0x0023, NOUPLOAD, }, | ||
473 | [B2056_RX_RXLPF_INVCM_BODY] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
474 | [B2056_RX_RXLPF_CC_OP] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
475 | [B2056_RX_RXLPF_GAIN] = { .ghz5 = 0x0023, .ghz2 = 0x0023, NOUPLOAD, }, | ||
476 | [B2056_RX_RXLPF_Q_BW] = { .ghz5 = 0x0041, .ghz2 = 0x0041, NOUPLOAD, }, | ||
477 | [B2056_RX_RXLPF_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
478 | [B2056_RX_RXLPF_RCCAL_HPC] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
479 | [B2056_RX_RXHPF_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
480 | [B2056_RX_RXHPF_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
481 | [B2056_RX_RXHPF_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
482 | [B2056_RX_RXHPF_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
483 | [B2056_RX_RXHPF_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
484 | [B2056_RX_RXHPF_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
485 | [B2056_RX_RXHPF_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
486 | [B2056_RX_RXHPF_OFF7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
487 | [B2056_RX_RXLPF_RCCAL_LPC] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
488 | [B2056_RX_RXLPF_OFF_0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
489 | [B2056_RX_RXLPF_OFF_1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
490 | [B2056_RX_RXLPF_OFF_2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
491 | [B2056_RX_RXLPF_OFF_3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
492 | [B2056_RX_RXLPF_OFF_4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
493 | [B2056_RX_UNUSED] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
494 | [B2056_RX_VGA_MASTER] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
495 | [B2056_RX_VGA_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
496 | [B2056_RX_VGA_BIAS_DCCANCEL] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
497 | [B2056_RX_VGA_GAIN] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
498 | [B2056_RX_VGA_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
499 | [B2056_RX_VGABUF_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
500 | [B2056_RX_VGABUF_GAIN_BW] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
501 | [B2056_RX_TXFBMIX_A] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
502 | [B2056_RX_TXFBMIX_G] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
503 | [B2056_RX_RXSPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
504 | [B2056_RX_RXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
505 | [B2056_RX_RXSPARE3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
506 | [B2056_RX_RXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
507 | [B2056_RX_RXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
508 | [B2056_RX_RXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
509 | [B2056_RX_RXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
510 | [B2056_RX_RXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
511 | [B2056_RX_RXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
512 | [B2056_RX_RXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
513 | [B2056_RX_RXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
514 | [B2056_RX_RXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
515 | [B2056_RX_RXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
516 | [B2056_RX_RXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
517 | [B2056_RX_RXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
518 | [B2056_RX_RXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
519 | [B2056_RX_STATUS_LNAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
520 | [B2056_RX_STATUS_LNAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
521 | [B2056_RX_STATUS_MIXTIA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
522 | [B2056_RX_STATUS_RXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
523 | [B2056_RX_STATUS_VGA_BUF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
524 | [B2056_RX_STATUS_RXLPF_Q] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
525 | [B2056_RX_STATUS_RXLPF_BUF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
526 | [B2056_RX_STATUS_RXLPF_VGA_HPC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
527 | [B2056_RX_STATUS_RXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
528 | [B2056_RX_STATUS_HPC_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
529 | }; | ||
530 | |||
531 | static const struct b2056_inittab_entry b2056_inittab_rev4_syn[] = { | ||
532 | [B2056_SYN_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
533 | [B2056_SYN_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
534 | [B2056_SYN_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
535 | [B2056_SYN_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
536 | [B2056_SYN_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
537 | [B2056_SYN_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
538 | [B2056_SYN_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
539 | [B2056_SYN_COM_PU] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
540 | [B2056_SYN_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
541 | [B2056_SYN_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
542 | [B2056_SYN_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
543 | [B2056_SYN_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
544 | [B2056_SYN_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
545 | [B2056_SYN_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
546 | [B2056_SYN_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
547 | [B2056_SYN_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
548 | [B2056_SYN_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
549 | [B2056_SYN_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
550 | [B2056_SYN_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
551 | [B2056_SYN_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
552 | [B2056_SYN_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
553 | [B2056_SYN_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
554 | [B2056_SYN_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
555 | [B2056_SYN_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
556 | [B2056_SYN_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
557 | [B2056_SYN_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
558 | [B2056_SYN_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
559 | [B2056_SYN_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
560 | [B2056_SYN_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
561 | [B2056_SYN_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
562 | [B2056_SYN_GPIO_MASTER1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
563 | [B2056_SYN_GPIO_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
564 | [B2056_SYN_TOPBIAS_MASTER] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
565 | [B2056_SYN_TOPBIAS_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
566 | [B2056_SYN_AFEREG] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
567 | [B2056_SYN_TEMPPROCSENSE] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
568 | [B2056_SYN_TEMPPROCSENSEIDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
569 | [B2056_SYN_TEMPPROCSENSERCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
570 | [B2056_SYN_LPO] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
571 | [B2056_SYN_VDDCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
572 | [B2056_SYN_VDDCAL_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
573 | [B2056_SYN_VDDCAL_STATUS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
574 | [B2056_SYN_RCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
575 | [B2056_SYN_RCAL_CODE_OUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
576 | [B2056_SYN_RCCAL_CTRL0] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
577 | [B2056_SYN_RCCAL_CTRL1] = { .ghz5 = 0x001f, .ghz2 = 0x001f, NOUPLOAD, }, | ||
578 | [B2056_SYN_RCCAL_CTRL2] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
579 | [B2056_SYN_RCCAL_CTRL3] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
580 | [B2056_SYN_RCCAL_CTRL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
581 | [B2056_SYN_RCCAL_CTRL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
582 | [B2056_SYN_RCCAL_CTRL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
583 | [B2056_SYN_RCCAL_CTRL7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
584 | [B2056_SYN_RCCAL_CTRL8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
585 | [B2056_SYN_RCCAL_CTRL9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
586 | [B2056_SYN_RCCAL_CTRL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
587 | [B2056_SYN_RCCAL_CTRL11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
588 | [B2056_SYN_ZCAL_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
589 | [B2056_SYN_ZCAL_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
590 | [B2056_SYN_PLL_MAST1] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
591 | [B2056_SYN_PLL_MAST2] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
592 | [B2056_SYN_PLL_MAST3] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
593 | [B2056_SYN_PLL_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
594 | [B2056_SYN_PLL_XTAL0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
595 | [B2056_SYN_PLL_XTAL1] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
596 | [B2056_SYN_PLL_XTAL3] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
597 | [B2056_SYN_PLL_XTAL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
598 | [B2056_SYN_PLL_XTAL5] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
599 | [B2056_SYN_PLL_XTAL6] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
600 | [B2056_SYN_PLL_REFDIV] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
601 | [B2056_SYN_PLL_PFD] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
602 | [B2056_SYN_PLL_CP1] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
603 | [B2056_SYN_PLL_CP2] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
604 | [B2056_SYN_PLL_CP3] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
605 | [B2056_SYN_PLL_LOOPFILTER1] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
606 | [B2056_SYN_PLL_LOOPFILTER2] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
607 | [B2056_SYN_PLL_LOOPFILTER3] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
608 | [B2056_SYN_PLL_LOOPFILTER4] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
609 | [B2056_SYN_PLL_LOOPFILTER5] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
610 | [B2056_SYN_PLL_MMD1] = { .ghz5 = 0x001c, .ghz2 = 0x001c, NOUPLOAD, }, | ||
611 | [B2056_SYN_PLL_MMD2] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
612 | [B2056_SYN_PLL_VCO1] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
613 | [B2056_SYN_PLL_VCO2] = { .ghz5 = 0x00f7, .ghz2 = 0x00f7, UPLOAD, }, | ||
614 | [B2056_SYN_PLL_MONITOR1] = { .ghz5 = 0x00b4, .ghz2 = 0x00b4, NOUPLOAD, }, | ||
615 | [B2056_SYN_PLL_MONITOR2] = { .ghz5 = 0x00d2, .ghz2 = 0x00d2, NOUPLOAD, }, | ||
616 | [B2056_SYN_PLL_VCOCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
617 | [B2056_SYN_PLL_VCOCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
618 | [B2056_SYN_PLL_VCOCAL4] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
619 | [B2056_SYN_PLL_VCOCAL5] = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, }, | ||
620 | [B2056_SYN_PLL_VCOCAL6] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
621 | [B2056_SYN_PLL_VCOCAL7] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
622 | [B2056_SYN_PLL_VCOCAL8] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
623 | [B2056_SYN_PLL_VCOCAL9] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
624 | [B2056_SYN_PLL_VCOCAL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
625 | [B2056_SYN_PLL_VCOCAL11] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
626 | [B2056_SYN_PLL_VCOCAL12] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
627 | [B2056_SYN_PLL_VCOCAL13] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
628 | [B2056_SYN_PLL_VREG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
629 | [B2056_SYN_PLL_STATUS1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
630 | [B2056_SYN_PLL_STATUS2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
631 | [B2056_SYN_PLL_STATUS3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
632 | [B2056_SYN_LOGEN_PU0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
633 | [B2056_SYN_LOGEN_PU1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
634 | [B2056_SYN_LOGEN_PU2] = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, }, | ||
635 | [B2056_SYN_LOGEN_PU3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
636 | [B2056_SYN_LOGEN_PU5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
637 | [B2056_SYN_LOGEN_PU6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
638 | [B2056_SYN_LOGEN_PU7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
639 | [B2056_SYN_LOGEN_PU8] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
640 | [B2056_SYN_LOGEN_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
641 | [B2056_SYN_LOGEN_RCCR1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
642 | [B2056_SYN_LOGEN_VCOBUF1] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
643 | [B2056_SYN_LOGEN_MIXER1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
644 | [B2056_SYN_LOGEN_MIXER2] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
645 | [B2056_SYN_LOGEN_BUF1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
646 | [B2056_SYN_LOGENBUF2] = { .ghz5 = 0x008f, .ghz2 = 0x008f, UPLOAD, }, | ||
647 | [B2056_SYN_LOGEN_BUF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
648 | [B2056_SYN_LOGEN_BUF4] = { .ghz5 = 0x00cc, .ghz2 = 0x00cc, NOUPLOAD, }, | ||
649 | [B2056_SYN_LOGEN_DIV1] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
650 | [B2056_SYN_LOGEN_DIV2] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
651 | [B2056_SYN_LOGEN_DIV3] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
652 | [B2056_SYN_LOGEN_ACL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
653 | [B2056_SYN_LOGEN_ACL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
654 | [B2056_SYN_LOGEN_ACL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
655 | [B2056_SYN_LOGEN_ACL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
656 | [B2056_SYN_LOGEN_ACL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
657 | [B2056_SYN_LOGEN_ACL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
658 | [B2056_SYN_LOGEN_ACLOUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
659 | [B2056_SYN_LOGEN_ACLCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
660 | [B2056_SYN_LOGEN_ACLCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
661 | [B2056_SYN_LOGEN_ACLCAL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
662 | [B2056_SYN_CALEN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
663 | [B2056_SYN_LOGEN_PEAKDET1] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, NOUPLOAD, }, | ||
664 | [B2056_SYN_LOGEN_CORE_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
665 | [B2056_SYN_LOGEN_RX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
666 | [B2056_SYN_LOGEN_TX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
667 | [B2056_SYN_LOGEN_RX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
668 | [B2056_SYN_LOGEN_TX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
669 | [B2056_SYN_LOGEN_VCOBUF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
670 | [B2056_SYN_LOGEN_MIXER3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
671 | [B2056_SYN_LOGEN_BUF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
672 | [B2056_SYN_LOGEN_BUF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
673 | [B2056_SYN_LOGEN_CBUFRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
674 | [B2056_SYN_LOGEN_CBUFRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
675 | [B2056_SYN_LOGEN_CBUFRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
676 | [B2056_SYN_LOGEN_CBUFRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
677 | [B2056_SYN_LOGEN_CBUFTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
678 | [B2056_SYN_LOGEN_CBUFTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
679 | [B2056_SYN_LOGEN_CBUFTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
680 | [B2056_SYN_LOGEN_CBUFTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
681 | [B2056_SYN_LOGEN_CMOSRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
682 | [B2056_SYN_LOGEN_CMOSRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
683 | [B2056_SYN_LOGEN_CMOSRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
684 | [B2056_SYN_LOGEN_CMOSRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
685 | [B2056_SYN_LOGEN_CMOSTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
686 | [B2056_SYN_LOGEN_CMOSTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
687 | [B2056_SYN_LOGEN_CMOSTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
688 | [B2056_SYN_LOGEN_CMOSTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
689 | [B2056_SYN_LOGEN_VCOBUF2_OVRVAL]= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
690 | [B2056_SYN_LOGEN_MIXER3_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
691 | [B2056_SYN_LOGEN_BUF5_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
692 | [B2056_SYN_LOGEN_BUF6_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
693 | [B2056_SYN_LOGEN_CBUFRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
694 | [B2056_SYN_LOGEN_CBUFRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
695 | [B2056_SYN_LOGEN_CBUFRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
696 | [B2056_SYN_LOGEN_CBUFRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
697 | [B2056_SYN_LOGEN_CBUFTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
698 | [B2056_SYN_LOGEN_CBUFTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
699 | [B2056_SYN_LOGEN_CBUFTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
700 | [B2056_SYN_LOGEN_CBUFTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
701 | [B2056_SYN_LOGEN_CMOSRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
702 | [B2056_SYN_LOGEN_CMOSRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
703 | [B2056_SYN_LOGEN_CMOSRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
704 | [B2056_SYN_LOGEN_CMOSRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
705 | [B2056_SYN_LOGEN_CMOSTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
706 | [B2056_SYN_LOGEN_CMOSTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
707 | [B2056_SYN_LOGEN_CMOSTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
708 | [B2056_SYN_LOGEN_CMOSTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
709 | [B2056_SYN_LOGEN_ACL_WAITCNT] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
710 | [B2056_SYN_LOGEN_CORE_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
711 | [B2056_SYN_LOGEN_RX_CMOS_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
712 | [B2056_SYN_LOGEN_TX_CMOS_VALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
713 | }; | ||
714 | |||
715 | static const struct b2056_inittab_entry b2056_inittab_rev4_tx[] = { | ||
716 | [B2056_TX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
717 | [B2056_TX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
718 | [B2056_TX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
719 | [B2056_TX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
720 | [B2056_TX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
721 | [B2056_TX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
722 | [B2056_TX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
723 | [B2056_TX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
724 | [B2056_TX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
725 | [B2056_TX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
726 | [B2056_TX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
727 | [B2056_TX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
728 | [B2056_TX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
729 | [B2056_TX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
730 | [B2056_TX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
731 | [B2056_TX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
732 | [B2056_TX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
733 | [B2056_TX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
734 | [B2056_TX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
735 | [B2056_TX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
736 | [B2056_TX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
737 | [B2056_TX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
738 | [B2056_TX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
739 | [B2056_TX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
740 | [B2056_TX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
741 | [B2056_TX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
742 | [B2056_TX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
743 | [B2056_TX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
744 | [B2056_TX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
745 | [B2056_TX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
746 | [B2056_TX_IQCAL_GAIN_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
747 | [B2056_TX_LOFT_FINE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
748 | [B2056_TX_LOFT_FINE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
749 | [B2056_TX_LOFT_COARSE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
750 | [B2056_TX_LOFT_COARSE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
751 | [B2056_TX_TX_COM_MASTER1] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
752 | [B2056_TX_TX_COM_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
753 | [B2056_TX_RXIQCAL_TXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
754 | [B2056_TX_TX_SSI_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
755 | [B2056_TX_IQCAL_VCM_HG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
756 | [B2056_TX_IQCAL_IDAC] = { .ghz5 = 0x0037, .ghz2 = 0x0037, NOUPLOAD, }, | ||
757 | [B2056_TX_TSSI_VCM] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
758 | [B2056_TX_TX_AMP_DET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
759 | [B2056_TX_TX_SSI_MUX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
760 | [B2056_TX_TSSIA] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
761 | [B2056_TX_TSSIG] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
762 | [B2056_TX_TSSI_MISC1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
763 | [B2056_TX_TSSI_MISC2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
764 | [B2056_TX_TSSI_MISC3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
765 | [B2056_TX_PA_SPARE1] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
766 | [B2056_TX_PA_SPARE2] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
767 | [B2056_TX_INTPAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
768 | [B2056_TX_INTPAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
769 | [B2056_TX_INTPAA_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
770 | [B2056_TX_INTPAA_IAUX_STAT] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
771 | [B2056_TX_INTPAA_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
772 | [B2056_TX_INTPAA_IMAIN_STAT] = { .ghz5 = 0x002d, .ghz2 = 0x002d, NOUPLOAD, }, | ||
773 | [B2056_TX_INTPAA_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
774 | [B2056_TX_INTPAA_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
775 | [B2056_TX_INTPAA_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
776 | [B2056_TX_INTPAA_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
777 | [B2056_TX_INTPAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
778 | [B2056_TX_INTPAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
779 | [B2056_TX_INTPAG_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
780 | [B2056_TX_INTPAG_IAUX_STAT] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
781 | [B2056_TX_INTPAG_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
782 | [B2056_TX_INTPAG_IMAIN_STAT] = { .ghz5 = 0x001e, .ghz2 = 0x001e, NOUPLOAD, }, | ||
783 | [B2056_TX_INTPAG_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
784 | [B2056_TX_INTPAG_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
785 | [B2056_TX_INTPAG_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
786 | [B2056_TX_INTPAG_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
787 | [B2056_TX_PADA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
788 | [B2056_TX_PADA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
789 | [B2056_TX_PADA_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
790 | [B2056_TX_PADA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
791 | [B2056_TX_PADA_BOOST_TUNE] = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, }, | ||
792 | [B2056_TX_PADA_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
793 | [B2056_TX_PADG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
794 | [B2056_TX_PADG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
795 | [B2056_TX_PADG_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
796 | [B2056_TX_PADG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
797 | [B2056_TX_PADG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
798 | [B2056_TX_PADG_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
799 | [B2056_TX_PGAA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
800 | [B2056_TX_PGAA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
801 | [B2056_TX_PGAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
802 | [B2056_TX_PGAA_BOOST_TUNE] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, | ||
803 | [B2056_TX_PGAA_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
804 | [B2056_TX_PGAA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
805 | [B2056_TX_PGAG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
806 | [B2056_TX_PGAG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
807 | [B2056_TX_PGAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
808 | [B2056_TX_PGAG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
809 | [B2056_TX_PGAG_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
810 | [B2056_TX_PGAG_MISC] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
811 | [B2056_TX_MIXA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
812 | [B2056_TX_MIXA_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
813 | [B2056_TX_MIXG] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
814 | [B2056_TX_MIXG_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
815 | [B2056_TX_BB_GM_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
816 | [B2056_TX_GMBB_GM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
817 | [B2056_TX_GMBB_IDAC] = { .ghz5 = 0x0072, .ghz2 = 0x0072, UPLOAD, }, | ||
818 | [B2056_TX_TXLPF_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
819 | [B2056_TX_TXLPF_RCCAL] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
820 | [B2056_TX_TXLPF_RCCAL_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
821 | [B2056_TX_TXLPF_RCCAL_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
822 | [B2056_TX_TXLPF_RCCAL_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
823 | [B2056_TX_TXLPF_RCCAL_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
824 | [B2056_TX_TXLPF_RCCAL_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
825 | [B2056_TX_TXLPF_RCCAL_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
826 | [B2056_TX_TXLPF_RCCAL_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
827 | [B2056_TX_TXLPF_BW] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
828 | [B2056_TX_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
829 | [B2056_TX_TXLPF_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
830 | [B2056_TX_TXLPF_IDAC_0] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
831 | [B2056_TX_TXLPF_IDAC_1] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
832 | [B2056_TX_TXLPF_IDAC_2] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
833 | [B2056_TX_TXLPF_IDAC_3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
834 | [B2056_TX_TXLPF_IDAC_4] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
835 | [B2056_TX_TXLPF_IDAC_5] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
836 | [B2056_TX_TXLPF_IDAC_6] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
837 | [B2056_TX_TXLPF_OPAMP_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
838 | [B2056_TX_TXLPF_MISC] = { .ghz5 = 0x005b, .ghz2 = 0x005b, NOUPLOAD, }, | ||
839 | [B2056_TX_TXSPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
840 | [B2056_TX_TXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
841 | [B2056_TX_TXSPARE3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
842 | [B2056_TX_TXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
843 | [B2056_TX_TXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
844 | [B2056_TX_TXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
845 | [B2056_TX_TXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
846 | [B2056_TX_TXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
847 | [B2056_TX_TXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
848 | [B2056_TX_TXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
849 | [B2056_TX_TXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
850 | [B2056_TX_TXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
851 | [B2056_TX_TXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
852 | [B2056_TX_TXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
853 | [B2056_TX_TXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
854 | [B2056_TX_TXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
855 | [B2056_TX_STATUS_INTPA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
856 | [B2056_TX_STATUS_PAD_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
857 | [B2056_TX_STATUS_PGA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
858 | [B2056_TX_STATUS_GM_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
859 | [B2056_TX_STATUS_TXLPF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
860 | [B2056_TX_STATUS_TXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
861 | }; | ||
862 | |||
863 | static const struct b2056_inittab_entry b2056_inittab_rev4_rx[] = { | ||
864 | [B2056_RX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
865 | [B2056_RX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
866 | [B2056_RX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
867 | [B2056_RX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
868 | [B2056_RX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
869 | [B2056_RX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
870 | [B2056_RX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
871 | [B2056_RX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
872 | [B2056_RX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
873 | [B2056_RX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
874 | [B2056_RX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
875 | [B2056_RX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
876 | [B2056_RX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
877 | [B2056_RX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
878 | [B2056_RX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
879 | [B2056_RX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
880 | [B2056_RX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
881 | [B2056_RX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
882 | [B2056_RX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
883 | [B2056_RX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
884 | [B2056_RX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
885 | [B2056_RX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
886 | [B2056_RX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
887 | [B2056_RX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
888 | [B2056_RX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
889 | [B2056_RX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
890 | [B2056_RX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
891 | [B2056_RX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
892 | [B2056_RX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
893 | [B2056_RX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
894 | [B2056_RX_RXIQCAL_RXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
895 | [B2056_RX_RSSI_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
896 | [B2056_RX_RSSI_SEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
897 | [B2056_RX_RSSI_GAIN] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
898 | [B2056_RX_RSSI_NB_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
899 | [B2056_RX_RSSI_WB2I_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
900 | [B2056_RX_RSSI_WB2I_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
901 | [B2056_RX_RSSI_WB2Q_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
902 | [B2056_RX_RSSI_WB2Q_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
903 | [B2056_RX_RSSI_POLE] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
904 | [B2056_RX_RSSI_WB1_IDAC] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
905 | [B2056_RX_RSSI_MISC] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
906 | [B2056_RX_LNAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
907 | [B2056_RX_LNAA_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
908 | [B2056_RX_LNAA_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
909 | [B2056_RX_LNA_A_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
910 | [B2056_RX_BIASPOLE_LNAA1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
911 | [B2056_RX_LNAA2_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
912 | [B2056_RX_LNA1A_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
913 | [B2056_RX_LNAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
914 | [B2056_RX_LNAG_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
915 | [B2056_RX_LNAG_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
916 | [B2056_RX_LNA_G_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
917 | [B2056_RX_BIASPOLE_LNAG1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
918 | [B2056_RX_LNAG2_IDAC] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
919 | [B2056_RX_LNA1G_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
920 | [B2056_RX_MIXA_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
921 | [B2056_RX_MIXA_VCM] = { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, | ||
922 | [B2056_RX_MIXA_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
923 | [B2056_RX_MIXA_LOB_BIAS] = { .ghz5 = 0x0044, .ghz2 = 0x0044, UPLOAD, }, | ||
924 | [B2056_RX_MIXA_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
925 | [B2056_RX_MIXA_CMFB_IDAC] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
926 | [B2056_RX_MIXA_BIAS_AUX] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
927 | [B2056_RX_MIXA_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
928 | [B2056_RX_MIXA_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
929 | [B2056_RX_MIXA_MAST_BIAS] = { .ghz5 = 0x0050, .ghz2 = 0x0050, UPLOAD, }, | ||
930 | [B2056_RX_MIXG_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
931 | [B2056_RX_MIXG_VCM] = { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, | ||
932 | [B2056_RX_MIXG_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
933 | [B2056_RX_MIXG_LOB_BIAS] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
934 | [B2056_RX_MIXG_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
935 | [B2056_RX_MIXG_CMFB_IDAC] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
936 | [B2056_RX_MIXG_BIAS_AUX] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
937 | [B2056_RX_MIXG_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
938 | [B2056_RX_MIXG_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
939 | [B2056_RX_MIXG_MAST_BIAS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
940 | [B2056_RX_TIA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
941 | [B2056_RX_TIA_IOPAMP] = { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, | ||
942 | [B2056_RX_TIA_QOPAMP] = { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, | ||
943 | [B2056_RX_TIA_IMISC] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
944 | [B2056_RX_TIA_QMISC] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
945 | [B2056_RX_TIA_GAIN] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
946 | [B2056_RX_TIA_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
947 | [B2056_RX_TIA_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
948 | [B2056_RX_BB_LPF_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
949 | [B2056_RX_AACI_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
950 | [B2056_RX_RXLPF_IDAC] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
951 | [B2056_RX_RXLPF_OPAMPBIAS_LOWQ] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
952 | [B2056_RX_RXLPF_OPAMPBIAS_HIGHQ]= { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
953 | [B2056_RX_RXLPF_BIAS_DCCANCEL] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
954 | [B2056_RX_RXLPF_OUTVCM] = { .ghz5 = 0x002f, .ghz2 = 0x002f, UPLOAD, }, | ||
955 | [B2056_RX_RXLPF_INVCM_BODY] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
956 | [B2056_RX_RXLPF_CC_OP] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
957 | [B2056_RX_RXLPF_GAIN] = { .ghz5 = 0x0023, .ghz2 = 0x0023, NOUPLOAD, }, | ||
958 | [B2056_RX_RXLPF_Q_BW] = { .ghz5 = 0x0041, .ghz2 = 0x0041, NOUPLOAD, }, | ||
959 | [B2056_RX_RXLPF_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
960 | [B2056_RX_RXLPF_RCCAL_HPC] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
961 | [B2056_RX_RXHPF_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
962 | [B2056_RX_RXHPF_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
963 | [B2056_RX_RXHPF_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
964 | [B2056_RX_RXHPF_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
965 | [B2056_RX_RXHPF_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
966 | [B2056_RX_RXHPF_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
967 | [B2056_RX_RXHPF_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
968 | [B2056_RX_RXHPF_OFF7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
969 | [B2056_RX_RXLPF_RCCAL_LPC] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
970 | [B2056_RX_RXLPF_OFF_0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
971 | [B2056_RX_RXLPF_OFF_1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
972 | [B2056_RX_RXLPF_OFF_2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
973 | [B2056_RX_RXLPF_OFF_3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
974 | [B2056_RX_RXLPF_OFF_4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
975 | [B2056_RX_UNUSED] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
976 | [B2056_RX_VGA_MASTER] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
977 | [B2056_RX_VGA_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
978 | [B2056_RX_VGA_BIAS_DCCANCEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
979 | [B2056_RX_VGA_GAIN] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
980 | [B2056_RX_VGA_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
981 | [B2056_RX_VGABUF_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
982 | [B2056_RX_VGABUF_GAIN_BW] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
983 | [B2056_RX_TXFBMIX_A] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
984 | [B2056_RX_TXFBMIX_G] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
985 | [B2056_RX_RXSPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
986 | [B2056_RX_RXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
987 | [B2056_RX_RXSPARE3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
988 | [B2056_RX_RXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
989 | [B2056_RX_RXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
990 | [B2056_RX_RXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
991 | [B2056_RX_RXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
992 | [B2056_RX_RXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
993 | [B2056_RX_RXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
994 | [B2056_RX_RXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
995 | [B2056_RX_RXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
996 | [B2056_RX_RXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
997 | [B2056_RX_RXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
998 | [B2056_RX_RXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
999 | [B2056_RX_RXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1000 | [B2056_RX_RXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1001 | [B2056_RX_STATUS_LNAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1002 | [B2056_RX_STATUS_LNAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1003 | [B2056_RX_STATUS_MIXTIA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1004 | [B2056_RX_STATUS_RXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1005 | [B2056_RX_STATUS_VGA_BUF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1006 | [B2056_RX_STATUS_RXLPF_Q] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1007 | [B2056_RX_STATUS_RXLPF_BUF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1008 | [B2056_RX_STATUS_RXLPF_VGA_HPC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1009 | [B2056_RX_STATUS_RXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1010 | [B2056_RX_STATUS_HPC_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1011 | }; | ||
1012 | |||
1013 | static const struct b2056_inittab_entry b2056_inittab_rev5_syn[] = { | ||
1014 | [B2056_SYN_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1015 | [B2056_SYN_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1016 | [B2056_SYN_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1017 | [B2056_SYN_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1018 | [B2056_SYN_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1019 | [B2056_SYN_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1020 | [B2056_SYN_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1021 | [B2056_SYN_COM_PU] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1022 | [B2056_SYN_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1023 | [B2056_SYN_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1024 | [B2056_SYN_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1025 | [B2056_SYN_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1026 | [B2056_SYN_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1027 | [B2056_SYN_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1028 | [B2056_SYN_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1029 | [B2056_SYN_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1030 | [B2056_SYN_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1031 | [B2056_SYN_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1032 | [B2056_SYN_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1033 | [B2056_SYN_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1034 | [B2056_SYN_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1035 | [B2056_SYN_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1036 | [B2056_SYN_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1037 | [B2056_SYN_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1038 | [B2056_SYN_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1039 | [B2056_SYN_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1040 | [B2056_SYN_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1041 | [B2056_SYN_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1042 | [B2056_SYN_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1043 | [B2056_SYN_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1044 | [B2056_SYN_GPIO_MASTER1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1045 | [B2056_SYN_GPIO_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1046 | [B2056_SYN_TOPBIAS_MASTER] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
1047 | [B2056_SYN_TOPBIAS_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
1048 | [B2056_SYN_AFEREG] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1049 | [B2056_SYN_TEMPPROCSENSE] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1050 | [B2056_SYN_TEMPPROCSENSEIDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1051 | [B2056_SYN_TEMPPROCSENSERCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1052 | [B2056_SYN_LPO] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1053 | [B2056_SYN_VDDCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1054 | [B2056_SYN_VDDCAL_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1055 | [B2056_SYN_VDDCAL_STATUS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1056 | [B2056_SYN_RCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1057 | [B2056_SYN_RCAL_CODE_OUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1058 | [B2056_SYN_RCCAL_CTRL0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1059 | [B2056_SYN_RCCAL_CTRL1] = { .ghz5 = 0x001f, .ghz2 = 0x001f, NOUPLOAD, }, | ||
1060 | [B2056_SYN_RCCAL_CTRL2] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
1061 | [B2056_SYN_RCCAL_CTRL3] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
1062 | [B2056_SYN_RCCAL_CTRL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1063 | [B2056_SYN_RCCAL_CTRL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1064 | [B2056_SYN_RCCAL_CTRL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1065 | [B2056_SYN_RCCAL_CTRL7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1066 | [B2056_SYN_RCCAL_CTRL8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1067 | [B2056_SYN_RCCAL_CTRL9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1068 | [B2056_SYN_RCCAL_CTRL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1069 | [B2056_SYN_RCCAL_CTRL11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1070 | [B2056_SYN_ZCAL_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1071 | [B2056_SYN_ZCAL_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1072 | [B2056_SYN_PLL_MAST1] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
1073 | [B2056_SYN_PLL_MAST2] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
1074 | [B2056_SYN_PLL_MAST3] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
1075 | [B2056_SYN_PLL_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1076 | [B2056_SYN_PLL_XTAL0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1077 | [B2056_SYN_PLL_XTAL1] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
1078 | [B2056_SYN_PLL_XTAL3] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
1079 | [B2056_SYN_PLL_XTAL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1080 | [B2056_SYN_PLL_XTAL5] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
1081 | [B2056_SYN_PLL_XTAL6] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1082 | [B2056_SYN_PLL_REFDIV] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1083 | [B2056_SYN_PLL_PFD] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
1084 | [B2056_SYN_PLL_CP1] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
1085 | [B2056_SYN_PLL_CP2] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
1086 | [B2056_SYN_PLL_CP3] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
1087 | [B2056_SYN_PLL_LOOPFILTER1] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
1088 | [B2056_SYN_PLL_LOOPFILTER2] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
1089 | [B2056_SYN_PLL_LOOPFILTER3] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
1090 | [B2056_SYN_PLL_LOOPFILTER4] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
1091 | [B2056_SYN_PLL_LOOPFILTER5] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1092 | [B2056_SYN_PLL_MMD1] = { .ghz5 = 0x001c, .ghz2 = 0x001c, NOUPLOAD, }, | ||
1093 | [B2056_SYN_PLL_MMD2] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1094 | [B2056_SYN_PLL_VCO1] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1095 | [B2056_SYN_PLL_VCO2] = { .ghz5 = 0x00f7, .ghz2 = 0x00f7, UPLOAD, }, | ||
1096 | [B2056_SYN_PLL_MONITOR1] = { .ghz5 = 0x00b4, .ghz2 = 0x00b4, NOUPLOAD, }, | ||
1097 | [B2056_SYN_PLL_MONITOR2] = { .ghz5 = 0x00d2, .ghz2 = 0x00d2, NOUPLOAD, }, | ||
1098 | [B2056_SYN_PLL_VCOCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1099 | [B2056_SYN_PLL_VCOCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1100 | [B2056_SYN_PLL_VCOCAL4] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
1101 | [B2056_SYN_PLL_VCOCAL5] = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, }, | ||
1102 | [B2056_SYN_PLL_VCOCAL6] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
1103 | [B2056_SYN_PLL_VCOCAL7] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
1104 | [B2056_SYN_PLL_VCOCAL8] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
1105 | [B2056_SYN_PLL_VCOCAL9] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1106 | [B2056_SYN_PLL_VCOCAL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1107 | [B2056_SYN_PLL_VCOCAL11] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1108 | [B2056_SYN_PLL_VCOCAL12] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
1109 | [B2056_SYN_PLL_VCOCAL13] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1110 | [B2056_SYN_PLL_VREG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1111 | [B2056_SYN_PLL_STATUS1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1112 | [B2056_SYN_PLL_STATUS2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1113 | [B2056_SYN_PLL_STATUS3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1114 | [B2056_SYN_LOGEN_PU0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1115 | [B2056_SYN_LOGEN_PU1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1116 | [B2056_SYN_LOGEN_PU2] = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, }, | ||
1117 | [B2056_SYN_LOGEN_PU3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1118 | [B2056_SYN_LOGEN_PU5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1119 | [B2056_SYN_LOGEN_PU6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1120 | [B2056_SYN_LOGEN_PU7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1121 | [B2056_SYN_LOGEN_PU8] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1122 | [B2056_SYN_LOGEN_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1123 | [B2056_SYN_LOGEN_RCCR1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1124 | [B2056_SYN_LOGEN_VCOBUF1] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
1125 | [B2056_SYN_LOGEN_MIXER1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1126 | [B2056_SYN_LOGEN_MIXER2] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1127 | [B2056_SYN_LOGEN_BUF1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1128 | [B2056_SYN_LOGENBUF2] = { .ghz5 = 0x008f, .ghz2 = 0x008f, UPLOAD, }, | ||
1129 | [B2056_SYN_LOGEN_BUF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1130 | [B2056_SYN_LOGEN_BUF4] = { .ghz5 = 0x00cc, .ghz2 = 0x00cc, NOUPLOAD, }, | ||
1131 | [B2056_SYN_LOGEN_DIV1] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1132 | [B2056_SYN_LOGEN_DIV2] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1133 | [B2056_SYN_LOGEN_DIV3] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1134 | [B2056_SYN_LOGEN_ACL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1135 | [B2056_SYN_LOGEN_ACL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1136 | [B2056_SYN_LOGEN_ACL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1137 | [B2056_SYN_LOGEN_ACL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1138 | [B2056_SYN_LOGEN_ACL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1139 | [B2056_SYN_LOGEN_ACL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1140 | [B2056_SYN_LOGEN_ACLOUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1141 | [B2056_SYN_LOGEN_ACLCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1142 | [B2056_SYN_LOGEN_ACLCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1143 | [B2056_SYN_LOGEN_ACLCAL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1144 | [B2056_SYN_CALEN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1145 | [B2056_SYN_LOGEN_PEAKDET1] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, NOUPLOAD, }, | ||
1146 | [B2056_SYN_LOGEN_CORE_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1147 | [B2056_SYN_LOGEN_RX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1148 | [B2056_SYN_LOGEN_TX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1149 | [B2056_SYN_LOGEN_RX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1150 | [B2056_SYN_LOGEN_TX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1151 | [B2056_SYN_LOGEN_VCOBUF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1152 | [B2056_SYN_LOGEN_MIXER3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1153 | [B2056_SYN_LOGEN_BUF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1154 | [B2056_SYN_LOGEN_BUF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1155 | [B2056_SYN_LOGEN_CBUFRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1156 | [B2056_SYN_LOGEN_CBUFRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1157 | [B2056_SYN_LOGEN_CBUFRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1158 | [B2056_SYN_LOGEN_CBUFRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1159 | [B2056_SYN_LOGEN_CBUFTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1160 | [B2056_SYN_LOGEN_CBUFTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1161 | [B2056_SYN_LOGEN_CBUFTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1162 | [B2056_SYN_LOGEN_CBUFTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1163 | [B2056_SYN_LOGEN_CMOSRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1164 | [B2056_SYN_LOGEN_CMOSRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1165 | [B2056_SYN_LOGEN_CMOSRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1166 | [B2056_SYN_LOGEN_CMOSRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1167 | [B2056_SYN_LOGEN_CMOSTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1168 | [B2056_SYN_LOGEN_CMOSTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1169 | [B2056_SYN_LOGEN_CMOSTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1170 | [B2056_SYN_LOGEN_CMOSTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1171 | [B2056_SYN_LOGEN_VCOBUF2_OVRVAL]= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
1172 | [B2056_SYN_LOGEN_MIXER3_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1173 | [B2056_SYN_LOGEN_BUF5_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1174 | [B2056_SYN_LOGEN_BUF6_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1175 | [B2056_SYN_LOGEN_CBUFRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1176 | [B2056_SYN_LOGEN_CBUFRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1177 | [B2056_SYN_LOGEN_CBUFRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1178 | [B2056_SYN_LOGEN_CBUFRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1179 | [B2056_SYN_LOGEN_CBUFTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1180 | [B2056_SYN_LOGEN_CBUFTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1181 | [B2056_SYN_LOGEN_CBUFTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1182 | [B2056_SYN_LOGEN_CBUFTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1183 | [B2056_SYN_LOGEN_CMOSRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1184 | [B2056_SYN_LOGEN_CMOSRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1185 | [B2056_SYN_LOGEN_CMOSRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1186 | [B2056_SYN_LOGEN_CMOSRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1187 | [B2056_SYN_LOGEN_CMOSTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1188 | [B2056_SYN_LOGEN_CMOSTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1189 | [B2056_SYN_LOGEN_CMOSTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1190 | [B2056_SYN_LOGEN_CMOSTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1191 | [B2056_SYN_LOGEN_ACL_WAITCNT] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
1192 | [B2056_SYN_LOGEN_CORE_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1193 | [B2056_SYN_LOGEN_RX_CMOS_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1194 | [B2056_SYN_LOGEN_TX_CMOS_VALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1195 | }; | ||
1196 | |||
1197 | static const struct b2056_inittab_entry b2056_inittab_rev5_tx[] = { | ||
1198 | [B2056_TX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1199 | [B2056_TX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1200 | [B2056_TX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1201 | [B2056_TX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1202 | [B2056_TX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1203 | [B2056_TX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1204 | [B2056_TX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1205 | [B2056_TX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1206 | [B2056_TX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1207 | [B2056_TX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1208 | [B2056_TX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1209 | [B2056_TX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1210 | [B2056_TX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1211 | [B2056_TX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1212 | [B2056_TX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1213 | [B2056_TX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1214 | [B2056_TX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1215 | [B2056_TX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1216 | [B2056_TX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1217 | [B2056_TX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1218 | [B2056_TX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1219 | [B2056_TX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1220 | [B2056_TX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1221 | [B2056_TX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1222 | [B2056_TX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1223 | [B2056_TX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1224 | [B2056_TX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1225 | [B2056_TX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1226 | [B2056_TX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1227 | [B2056_TX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1228 | [B2056_TX_IQCAL_GAIN_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1229 | [B2056_TX_LOFT_FINE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1230 | [B2056_TX_LOFT_FINE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1231 | [B2056_TX_LOFT_COARSE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1232 | [B2056_TX_LOFT_COARSE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1233 | [B2056_TX_TX_COM_MASTER1] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1234 | [B2056_TX_TX_COM_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1235 | [B2056_TX_RXIQCAL_TXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1236 | [B2056_TX_TX_SSI_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1237 | [B2056_TX_IQCAL_VCM_HG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1238 | [B2056_TX_IQCAL_IDAC] = { .ghz5 = 0x0037, .ghz2 = 0x0037, NOUPLOAD, }, | ||
1239 | [B2056_TX_TSSI_VCM] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1240 | [B2056_TX_TX_AMP_DET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1241 | [B2056_TX_TX_SSI_MUX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1242 | [B2056_TX_TSSIA] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1243 | [B2056_TX_TSSIG] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1244 | [B2056_TX_TSSI_MISC1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1245 | [B2056_TX_TSSI_MISC2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1246 | [B2056_TX_TSSI_MISC3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1247 | [B2056_TX_PA_SPARE1] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
1248 | [B2056_TX_PA_SPARE2] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
1249 | [B2056_TX_INTPAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1250 | [B2056_TX_INTPAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1251 | [B2056_TX_INTPAA_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1252 | [B2056_TX_INTPAA_IAUX_STAT] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
1253 | [B2056_TX_INTPAA_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1254 | [B2056_TX_INTPAA_IMAIN_STAT] = { .ghz5 = 0x002d, .ghz2 = 0x002d, NOUPLOAD, }, | ||
1255 | [B2056_TX_INTPAA_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1256 | [B2056_TX_INTPAA_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
1257 | [B2056_TX_INTPAA_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
1258 | [B2056_TX_INTPAA_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1259 | [B2056_TX_INTPAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1260 | [B2056_TX_INTPAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1261 | [B2056_TX_INTPAG_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1262 | [B2056_TX_INTPAG_IAUX_STAT] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1263 | [B2056_TX_INTPAG_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1264 | [B2056_TX_INTPAG_IMAIN_STAT] = { .ghz5 = 0x001e, .ghz2 = 0x001e, NOUPLOAD, }, | ||
1265 | [B2056_TX_INTPAG_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1266 | [B2056_TX_INTPAG_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
1267 | [B2056_TX_INTPAG_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
1268 | [B2056_TX_INTPAG_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1269 | [B2056_TX_PADA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1270 | [B2056_TX_PADA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
1271 | [B2056_TX_PADA_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1272 | [B2056_TX_PADA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1273 | [B2056_TX_PADA_BOOST_TUNE] = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, }, | ||
1274 | [B2056_TX_PADA_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
1275 | [B2056_TX_PADG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1276 | [B2056_TX_PADG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1277 | [B2056_TX_PADG_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1278 | [B2056_TX_PADG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1279 | [B2056_TX_PADG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1280 | [B2056_TX_PADG_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
1281 | [B2056_TX_PGAA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1282 | [B2056_TX_PGAA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
1283 | [B2056_TX_PGAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1284 | [B2056_TX_PGAA_BOOST_TUNE] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, | ||
1285 | [B2056_TX_PGAA_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
1286 | [B2056_TX_PGAA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1287 | [B2056_TX_PGAG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1288 | [B2056_TX_PGAG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1289 | [B2056_TX_PGAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1290 | [B2056_TX_PGAG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1291 | [B2056_TX_PGAG_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
1292 | [B2056_TX_PGAG_MISC] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1293 | [B2056_TX_MIXA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1294 | [B2056_TX_MIXA_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1295 | [B2056_TX_MIXG] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1296 | [B2056_TX_MIXG_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1297 | [B2056_TX_BB_GM_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1298 | [B2056_TX_GMBB_GM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1299 | [B2056_TX_GMBB_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
1300 | [B2056_TX_TXLPF_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1301 | [B2056_TX_TXLPF_RCCAL] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
1302 | [B2056_TX_TXLPF_RCCAL_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1303 | [B2056_TX_TXLPF_RCCAL_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1304 | [B2056_TX_TXLPF_RCCAL_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1305 | [B2056_TX_TXLPF_RCCAL_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1306 | [B2056_TX_TXLPF_RCCAL_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1307 | [B2056_TX_TXLPF_RCCAL_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1308 | [B2056_TX_TXLPF_RCCAL_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1309 | [B2056_TX_TXLPF_BW] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1310 | [B2056_TX_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1311 | [B2056_TX_TXLPF_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1312 | [B2056_TX_TXLPF_IDAC_0] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
1313 | [B2056_TX_TXLPF_IDAC_1] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
1314 | [B2056_TX_TXLPF_IDAC_2] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
1315 | [B2056_TX_TXLPF_IDAC_3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
1316 | [B2056_TX_TXLPF_IDAC_4] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
1317 | [B2056_TX_TXLPF_IDAC_5] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
1318 | [B2056_TX_TXLPF_IDAC_6] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
1319 | [B2056_TX_TXLPF_OPAMP_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
1320 | [B2056_TX_TXLPF_MISC] = { .ghz5 = 0x005b, .ghz2 = 0x005b, NOUPLOAD, }, | ||
1321 | [B2056_TX_TXSPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1322 | [B2056_TX_TXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1323 | [B2056_TX_TXSPARE3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1324 | [B2056_TX_TXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1325 | [B2056_TX_TXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1326 | [B2056_TX_TXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1327 | [B2056_TX_TXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1328 | [B2056_TX_TXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1329 | [B2056_TX_TXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1330 | [B2056_TX_TXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1331 | [B2056_TX_TXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1332 | [B2056_TX_TXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1333 | [B2056_TX_TXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1334 | [B2056_TX_TXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1335 | [B2056_TX_TXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1336 | [B2056_TX_TXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1337 | [B2056_TX_STATUS_INTPA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1338 | [B2056_TX_STATUS_PAD_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1339 | [B2056_TX_STATUS_PGA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1340 | [B2056_TX_STATUS_GM_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1341 | [B2056_TX_STATUS_TXLPF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1342 | [B2056_TX_STATUS_TXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1343 | [B2056_TX_GMBB_IDAC0] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
1344 | [B2056_TX_GMBB_IDAC1] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
1345 | [B2056_TX_GMBB_IDAC2] = { .ghz5 = 0x0071, .ghz2 = 0x0071, UPLOAD, }, | ||
1346 | [B2056_TX_GMBB_IDAC3] = { .ghz5 = 0x0071, .ghz2 = 0x0071, UPLOAD, }, | ||
1347 | [B2056_TX_GMBB_IDAC4] = { .ghz5 = 0x0072, .ghz2 = 0x0072, UPLOAD, }, | ||
1348 | [B2056_TX_GMBB_IDAC5] = { .ghz5 = 0x0073, .ghz2 = 0x0073, UPLOAD, }, | ||
1349 | [B2056_TX_GMBB_IDAC6] = { .ghz5 = 0x0074, .ghz2 = 0x0074, UPLOAD, }, | ||
1350 | [B2056_TX_GMBB_IDAC7] = { .ghz5 = 0x0075, .ghz2 = 0x0075, UPLOAD, }, | ||
1351 | }; | ||
1352 | |||
1353 | static const struct b2056_inittab_entry b2056_inittab_rev5_rx[] = { | ||
1354 | [B2056_RX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1355 | [B2056_RX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1356 | [B2056_RX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1357 | [B2056_RX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1358 | [B2056_RX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1359 | [B2056_RX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1360 | [B2056_RX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1361 | [B2056_RX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1362 | [B2056_RX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1363 | [B2056_RX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1364 | [B2056_RX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1365 | [B2056_RX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1366 | [B2056_RX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1367 | [B2056_RX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1368 | [B2056_RX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1369 | [B2056_RX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1370 | [B2056_RX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1371 | [B2056_RX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1372 | [B2056_RX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1373 | [B2056_RX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1374 | [B2056_RX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1375 | [B2056_RX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1376 | [B2056_RX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1377 | [B2056_RX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1378 | [B2056_RX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1379 | [B2056_RX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1380 | [B2056_RX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1381 | [B2056_RX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1382 | [B2056_RX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1383 | [B2056_RX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1384 | [B2056_RX_RXIQCAL_RXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1385 | [B2056_RX_RSSI_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1386 | [B2056_RX_RSSI_SEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1387 | [B2056_RX_RSSI_GAIN] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
1388 | [B2056_RX_RSSI_NB_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
1389 | [B2056_RX_RSSI_WB2I_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
1390 | [B2056_RX_RSSI_WB2I_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
1391 | [B2056_RX_RSSI_WB2Q_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
1392 | [B2056_RX_RSSI_WB2Q_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
1393 | [B2056_RX_RSSI_POLE] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
1394 | [B2056_RX_RSSI_WB1_IDAC] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
1395 | [B2056_RX_RSSI_MISC] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
1396 | [B2056_RX_LNAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1397 | [B2056_RX_LNAA_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1398 | [B2056_RX_LNAA_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
1399 | [B2056_RX_LNA_A_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
1400 | [B2056_RX_BIASPOLE_LNAA1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
1401 | [B2056_RX_LNAA2_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
1402 | [B2056_RX_LNA1A_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
1403 | [B2056_RX_LNAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1404 | [B2056_RX_LNAG_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1405 | [B2056_RX_LNAG_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
1406 | [B2056_RX_LNA_G_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
1407 | [B2056_RX_BIASPOLE_LNAG1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
1408 | [B2056_RX_LNAG2_IDAC] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
1409 | [B2056_RX_LNA1G_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
1410 | [B2056_RX_MIXA_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1411 | [B2056_RX_MIXA_VCM] = { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, | ||
1412 | [B2056_RX_MIXA_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1413 | [B2056_RX_MIXA_LOB_BIAS] = { .ghz5 = 0x0088, .ghz2 = 0x0088, UPLOAD, }, | ||
1414 | [B2056_RX_MIXA_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1415 | [B2056_RX_MIXA_CMFB_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
1416 | [B2056_RX_MIXA_BIAS_AUX] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
1417 | [B2056_RX_MIXA_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
1418 | [B2056_RX_MIXA_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
1419 | [B2056_RX_MIXA_MAST_BIAS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1420 | [B2056_RX_MIXG_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1421 | [B2056_RX_MIXG_VCM] = { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, | ||
1422 | [B2056_RX_MIXG_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1423 | [B2056_RX_MIXG_LOB_BIAS] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
1424 | [B2056_RX_MIXG_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1425 | [B2056_RX_MIXG_CMFB_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
1426 | [B2056_RX_MIXG_BIAS_AUX] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1427 | [B2056_RX_MIXG_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
1428 | [B2056_RX_MIXG_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
1429 | [B2056_RX_MIXG_MAST_BIAS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1430 | [B2056_RX_TIA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1431 | [B2056_RX_TIA_IOPAMP] = { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, | ||
1432 | [B2056_RX_TIA_QOPAMP] = { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, | ||
1433 | [B2056_RX_TIA_IMISC] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
1434 | [B2056_RX_TIA_QMISC] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
1435 | [B2056_RX_TIA_GAIN] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
1436 | [B2056_RX_TIA_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1437 | [B2056_RX_TIA_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1438 | [B2056_RX_BB_LPF_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1439 | [B2056_RX_AACI_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1440 | [B2056_RX_RXLPF_IDAC] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1441 | [B2056_RX_RXLPF_OPAMPBIAS_LOWQ] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
1442 | [B2056_RX_RXLPF_OPAMPBIAS_HIGHQ]= { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
1443 | [B2056_RX_RXLPF_BIAS_DCCANCEL] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1444 | [B2056_RX_RXLPF_OUTVCM] = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, | ||
1445 | [B2056_RX_RXLPF_INVCM_BODY] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1446 | [B2056_RX_RXLPF_CC_OP] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
1447 | [B2056_RX_RXLPF_GAIN] = { .ghz5 = 0x0023, .ghz2 = 0x0023, NOUPLOAD, }, | ||
1448 | [B2056_RX_RXLPF_Q_BW] = { .ghz5 = 0x0041, .ghz2 = 0x0041, NOUPLOAD, }, | ||
1449 | [B2056_RX_RXLPF_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1450 | [B2056_RX_RXLPF_RCCAL_HPC] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
1451 | [B2056_RX_RXHPF_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1452 | [B2056_RX_RXHPF_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1453 | [B2056_RX_RXHPF_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1454 | [B2056_RX_RXHPF_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1455 | [B2056_RX_RXHPF_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1456 | [B2056_RX_RXHPF_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1457 | [B2056_RX_RXHPF_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1458 | [B2056_RX_RXHPF_OFF7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1459 | [B2056_RX_RXLPF_RCCAL_LPC] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1460 | [B2056_RX_RXLPF_OFF_0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1461 | [B2056_RX_RXLPF_OFF_1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1462 | [B2056_RX_RXLPF_OFF_2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1463 | [B2056_RX_RXLPF_OFF_3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1464 | [B2056_RX_RXLPF_OFF_4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1465 | [B2056_RX_UNUSED] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1466 | [B2056_RX_VGA_MASTER] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
1467 | [B2056_RX_VGA_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
1468 | [B2056_RX_VGA_BIAS_DCCANCEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
1469 | [B2056_RX_VGA_GAIN] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
1470 | [B2056_RX_VGA_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1471 | [B2056_RX_VGABUF_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
1472 | [B2056_RX_VGABUF_GAIN_BW] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
1473 | [B2056_RX_TXFBMIX_A] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1474 | [B2056_RX_TXFBMIX_G] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1475 | [B2056_RX_RXSPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1476 | [B2056_RX_RXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1477 | [B2056_RX_RXSPARE3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1478 | [B2056_RX_RXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1479 | [B2056_RX_RXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1480 | [B2056_RX_RXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1481 | [B2056_RX_RXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1482 | [B2056_RX_RXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1483 | [B2056_RX_RXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1484 | [B2056_RX_RXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1485 | [B2056_RX_RXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1486 | [B2056_RX_RXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1487 | [B2056_RX_RXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1488 | [B2056_RX_RXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1489 | [B2056_RX_RXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1490 | [B2056_RX_RXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1491 | [B2056_RX_STATUS_LNAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1492 | [B2056_RX_STATUS_LNAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1493 | [B2056_RX_STATUS_MIXTIA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1494 | [B2056_RX_STATUS_RXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1495 | [B2056_RX_STATUS_VGA_BUF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1496 | [B2056_RX_STATUS_RXLPF_Q] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1497 | [B2056_RX_STATUS_RXLPF_BUF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1498 | [B2056_RX_STATUS_RXLPF_VGA_HPC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1499 | [B2056_RX_STATUS_RXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1500 | [B2056_RX_STATUS_HPC_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1501 | }; | ||
1502 | |||
1503 | static const struct b2056_inittab_entry b2056_inittab_rev6_syn[] = { | ||
1504 | [B2056_SYN_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1505 | [B2056_SYN_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1506 | [B2056_SYN_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1507 | [B2056_SYN_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1508 | [B2056_SYN_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1509 | [B2056_SYN_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1510 | [B2056_SYN_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1511 | [B2056_SYN_COM_PU] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1512 | [B2056_SYN_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1513 | [B2056_SYN_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1514 | [B2056_SYN_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1515 | [B2056_SYN_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1516 | [B2056_SYN_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1517 | [B2056_SYN_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1518 | [B2056_SYN_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1519 | [B2056_SYN_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1520 | [B2056_SYN_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1521 | [B2056_SYN_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1522 | [B2056_SYN_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1523 | [B2056_SYN_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1524 | [B2056_SYN_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1525 | [B2056_SYN_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1526 | [B2056_SYN_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1527 | [B2056_SYN_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1528 | [B2056_SYN_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1529 | [B2056_SYN_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1530 | [B2056_SYN_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1531 | [B2056_SYN_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1532 | [B2056_SYN_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1533 | [B2056_SYN_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1534 | [B2056_SYN_GPIO_MASTER1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1535 | [B2056_SYN_GPIO_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1536 | [B2056_SYN_TOPBIAS_MASTER] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
1537 | [B2056_SYN_TOPBIAS_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
1538 | [B2056_SYN_AFEREG] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1539 | [B2056_SYN_TEMPPROCSENSE] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1540 | [B2056_SYN_TEMPPROCSENSEIDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1541 | [B2056_SYN_TEMPPROCSENSERCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1542 | [B2056_SYN_LPO] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1543 | [B2056_SYN_VDDCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1544 | [B2056_SYN_VDDCAL_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1545 | [B2056_SYN_VDDCAL_STATUS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1546 | [B2056_SYN_RCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1547 | [B2056_SYN_RCAL_CODE_OUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1548 | [B2056_SYN_RCCAL_CTRL0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1549 | [B2056_SYN_RCCAL_CTRL1] = { .ghz5 = 0x001f, .ghz2 = 0x001f, NOUPLOAD, }, | ||
1550 | [B2056_SYN_RCCAL_CTRL2] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
1551 | [B2056_SYN_RCCAL_CTRL3] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
1552 | [B2056_SYN_RCCAL_CTRL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1553 | [B2056_SYN_RCCAL_CTRL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1554 | [B2056_SYN_RCCAL_CTRL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1555 | [B2056_SYN_RCCAL_CTRL7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1556 | [B2056_SYN_RCCAL_CTRL8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1557 | [B2056_SYN_RCCAL_CTRL9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1558 | [B2056_SYN_RCCAL_CTRL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1559 | [B2056_SYN_RCCAL_CTRL11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1560 | [B2056_SYN_ZCAL_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1561 | [B2056_SYN_ZCAL_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1562 | [B2056_SYN_PLL_MAST1] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
1563 | [B2056_SYN_PLL_MAST2] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
1564 | [B2056_SYN_PLL_MAST3] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
1565 | [B2056_SYN_PLL_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1566 | [B2056_SYN_PLL_XTAL0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1567 | [B2056_SYN_PLL_XTAL1] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
1568 | [B2056_SYN_PLL_XTAL3] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
1569 | [B2056_SYN_PLL_XTAL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1570 | [B2056_SYN_PLL_XTAL5] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
1571 | [B2056_SYN_PLL_XTAL6] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1572 | [B2056_SYN_PLL_REFDIV] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1573 | [B2056_SYN_PLL_PFD] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
1574 | [B2056_SYN_PLL_CP1] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
1575 | [B2056_SYN_PLL_CP2] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
1576 | [B2056_SYN_PLL_CP3] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
1577 | [B2056_SYN_PLL_LOOPFILTER1] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
1578 | [B2056_SYN_PLL_LOOPFILTER2] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
1579 | [B2056_SYN_PLL_LOOPFILTER3] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
1580 | [B2056_SYN_PLL_LOOPFILTER4] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
1581 | [B2056_SYN_PLL_LOOPFILTER5] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1582 | [B2056_SYN_PLL_MMD1] = { .ghz5 = 0x001c, .ghz2 = 0x001c, NOUPLOAD, }, | ||
1583 | [B2056_SYN_PLL_MMD2] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1584 | [B2056_SYN_PLL_VCO1] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1585 | [B2056_SYN_PLL_VCO2] = { .ghz5 = 0x00f7, .ghz2 = 0x00f7, UPLOAD, }, | ||
1586 | [B2056_SYN_PLL_MONITOR1] = { .ghz5 = 0x00b4, .ghz2 = 0x00b4, NOUPLOAD, }, | ||
1587 | [B2056_SYN_PLL_MONITOR2] = { .ghz5 = 0x00d2, .ghz2 = 0x00d2, NOUPLOAD, }, | ||
1588 | [B2056_SYN_PLL_VCOCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1589 | [B2056_SYN_PLL_VCOCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1590 | [B2056_SYN_PLL_VCOCAL4] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
1591 | [B2056_SYN_PLL_VCOCAL5] = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, }, | ||
1592 | [B2056_SYN_PLL_VCOCAL6] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
1593 | [B2056_SYN_PLL_VCOCAL7] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
1594 | [B2056_SYN_PLL_VCOCAL8] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
1595 | [B2056_SYN_PLL_VCOCAL9] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1596 | [B2056_SYN_PLL_VCOCAL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1597 | [B2056_SYN_PLL_VCOCAL11] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1598 | [B2056_SYN_PLL_VCOCAL12] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
1599 | [B2056_SYN_PLL_VCOCAL13] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1600 | [B2056_SYN_PLL_VREG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1601 | [B2056_SYN_PLL_STATUS1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1602 | [B2056_SYN_PLL_STATUS2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1603 | [B2056_SYN_PLL_STATUS3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1604 | [B2056_SYN_LOGEN_PU0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1605 | [B2056_SYN_LOGEN_PU1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1606 | [B2056_SYN_LOGEN_PU2] = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, }, | ||
1607 | [B2056_SYN_LOGEN_PU3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1608 | [B2056_SYN_LOGEN_PU5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1609 | [B2056_SYN_LOGEN_PU6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1610 | [B2056_SYN_LOGEN_PU7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1611 | [B2056_SYN_LOGEN_PU8] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1612 | [B2056_SYN_LOGEN_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1613 | [B2056_SYN_LOGEN_RCCR1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1614 | [B2056_SYN_LOGEN_VCOBUF1] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
1615 | [B2056_SYN_LOGEN_MIXER1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1616 | [B2056_SYN_LOGEN_MIXER2] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1617 | [B2056_SYN_LOGEN_BUF1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1618 | [B2056_SYN_LOGENBUF2] = { .ghz5 = 0x008f, .ghz2 = 0x008f, UPLOAD, }, | ||
1619 | [B2056_SYN_LOGEN_BUF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1620 | [B2056_SYN_LOGEN_BUF4] = { .ghz5 = 0x00cc, .ghz2 = 0x00cc, NOUPLOAD, }, | ||
1621 | [B2056_SYN_LOGEN_DIV1] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1622 | [B2056_SYN_LOGEN_DIV2] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1623 | [B2056_SYN_LOGEN_DIV3] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1624 | [B2056_SYN_LOGEN_ACL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1625 | [B2056_SYN_LOGEN_ACL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1626 | [B2056_SYN_LOGEN_ACL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1627 | [B2056_SYN_LOGEN_ACL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1628 | [B2056_SYN_LOGEN_ACL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1629 | [B2056_SYN_LOGEN_ACL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1630 | [B2056_SYN_LOGEN_ACLOUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1631 | [B2056_SYN_LOGEN_ACLCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1632 | [B2056_SYN_LOGEN_ACLCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1633 | [B2056_SYN_LOGEN_ACLCAL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1634 | [B2056_SYN_CALEN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1635 | [B2056_SYN_LOGEN_PEAKDET1] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, NOUPLOAD, }, | ||
1636 | [B2056_SYN_LOGEN_CORE_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1637 | [B2056_SYN_LOGEN_RX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1638 | [B2056_SYN_LOGEN_TX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1639 | [B2056_SYN_LOGEN_RX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1640 | [B2056_SYN_LOGEN_TX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1641 | [B2056_SYN_LOGEN_VCOBUF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1642 | [B2056_SYN_LOGEN_MIXER3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1643 | [B2056_SYN_LOGEN_BUF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1644 | [B2056_SYN_LOGEN_BUF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1645 | [B2056_SYN_LOGEN_CBUFRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1646 | [B2056_SYN_LOGEN_CBUFRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1647 | [B2056_SYN_LOGEN_CBUFRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1648 | [B2056_SYN_LOGEN_CBUFRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1649 | [B2056_SYN_LOGEN_CBUFTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1650 | [B2056_SYN_LOGEN_CBUFTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1651 | [B2056_SYN_LOGEN_CBUFTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1652 | [B2056_SYN_LOGEN_CBUFTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1653 | [B2056_SYN_LOGEN_CMOSRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1654 | [B2056_SYN_LOGEN_CMOSRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1655 | [B2056_SYN_LOGEN_CMOSRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1656 | [B2056_SYN_LOGEN_CMOSRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1657 | [B2056_SYN_LOGEN_CMOSTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1658 | [B2056_SYN_LOGEN_CMOSTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1659 | [B2056_SYN_LOGEN_CMOSTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1660 | [B2056_SYN_LOGEN_CMOSTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1661 | [B2056_SYN_LOGEN_VCOBUF2_OVRVAL]= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
1662 | [B2056_SYN_LOGEN_MIXER3_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1663 | [B2056_SYN_LOGEN_BUF5_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1664 | [B2056_SYN_LOGEN_BUF6_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1665 | [B2056_SYN_LOGEN_CBUFRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1666 | [B2056_SYN_LOGEN_CBUFRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1667 | [B2056_SYN_LOGEN_CBUFRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1668 | [B2056_SYN_LOGEN_CBUFRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1669 | [B2056_SYN_LOGEN_CBUFTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1670 | [B2056_SYN_LOGEN_CBUFTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1671 | [B2056_SYN_LOGEN_CBUFTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1672 | [B2056_SYN_LOGEN_CBUFTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1673 | [B2056_SYN_LOGEN_CMOSRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1674 | [B2056_SYN_LOGEN_CMOSRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1675 | [B2056_SYN_LOGEN_CMOSRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1676 | [B2056_SYN_LOGEN_CMOSRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1677 | [B2056_SYN_LOGEN_CMOSTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1678 | [B2056_SYN_LOGEN_CMOSTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1679 | [B2056_SYN_LOGEN_CMOSTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1680 | [B2056_SYN_LOGEN_CMOSTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
1681 | [B2056_SYN_LOGEN_ACL_WAITCNT] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
1682 | [B2056_SYN_LOGEN_CORE_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1683 | [B2056_SYN_LOGEN_RX_CMOS_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1684 | [B2056_SYN_LOGEN_TX_CMOS_VALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1685 | }; | ||
1686 | |||
1687 | static const struct b2056_inittab_entry b2056_inittab_rev6_tx[] = { | ||
1688 | [B2056_TX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1689 | [B2056_TX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1690 | [B2056_TX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1691 | [B2056_TX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1692 | [B2056_TX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1693 | [B2056_TX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1694 | [B2056_TX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1695 | [B2056_TX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1696 | [B2056_TX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1697 | [B2056_TX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1698 | [B2056_TX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1699 | [B2056_TX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1700 | [B2056_TX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1701 | [B2056_TX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1702 | [B2056_TX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1703 | [B2056_TX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1704 | [B2056_TX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1705 | [B2056_TX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1706 | [B2056_TX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1707 | [B2056_TX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1708 | [B2056_TX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1709 | [B2056_TX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1710 | [B2056_TX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1711 | [B2056_TX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1712 | [B2056_TX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1713 | [B2056_TX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1714 | [B2056_TX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1715 | [B2056_TX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1716 | [B2056_TX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1717 | [B2056_TX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1718 | [B2056_TX_IQCAL_GAIN_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1719 | [B2056_TX_LOFT_FINE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1720 | [B2056_TX_LOFT_FINE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1721 | [B2056_TX_LOFT_COARSE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1722 | [B2056_TX_LOFT_COARSE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1723 | [B2056_TX_TX_COM_MASTER1] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1724 | [B2056_TX_TX_COM_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1725 | [B2056_TX_RXIQCAL_TXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1726 | [B2056_TX_TX_SSI_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1727 | [B2056_TX_IQCAL_VCM_HG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1728 | [B2056_TX_IQCAL_IDAC] = { .ghz5 = 0x0037, .ghz2 = 0x0037, NOUPLOAD, }, | ||
1729 | [B2056_TX_TSSI_VCM] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1730 | [B2056_TX_TX_AMP_DET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1731 | [B2056_TX_TX_SSI_MUX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1732 | [B2056_TX_TSSIA] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1733 | [B2056_TX_TSSIG] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1734 | [B2056_TX_TSSI_MISC1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1735 | [B2056_TX_TSSI_MISC2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1736 | [B2056_TX_TSSI_MISC3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1737 | [B2056_TX_PA_SPARE1] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
1738 | [B2056_TX_PA_SPARE2] = { .ghz5 = 0x00ee, .ghz2 = 0x00ee, UPLOAD, }, | ||
1739 | [B2056_TX_INTPAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1740 | [B2056_TX_INTPAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1741 | [B2056_TX_INTPAA_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1742 | [B2056_TX_INTPAA_IAUX_STAT] = { .ghz5 = 0x0050, .ghz2 = 0x0050, UPLOAD, }, | ||
1743 | [B2056_TX_INTPAA_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1744 | [B2056_TX_INTPAA_IMAIN_STAT] = { .ghz5 = 0x0050, .ghz2 = 0x0050, UPLOAD, }, | ||
1745 | [B2056_TX_INTPAA_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1746 | [B2056_TX_INTPAA_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
1747 | [B2056_TX_INTPAA_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
1748 | [B2056_TX_INTPAA_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1749 | [B2056_TX_INTPAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1750 | [B2056_TX_INTPAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1751 | [B2056_TX_INTPAG_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1752 | [B2056_TX_INTPAG_IAUX_STAT] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1753 | [B2056_TX_INTPAG_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1754 | [B2056_TX_INTPAG_IMAIN_STAT] = { .ghz5 = 0x001e, .ghz2 = 0x001e, NOUPLOAD, }, | ||
1755 | [B2056_TX_INTPAG_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1756 | [B2056_TX_INTPAG_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
1757 | [B2056_TX_INTPAG_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
1758 | [B2056_TX_INTPAG_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1759 | [B2056_TX_PADA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1760 | [B2056_TX_PADA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
1761 | [B2056_TX_PADA_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1762 | [B2056_TX_PADA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1763 | [B2056_TX_PADA_BOOST_TUNE] = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, }, | ||
1764 | [B2056_TX_PADA_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
1765 | [B2056_TX_PADG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1766 | [B2056_TX_PADG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1767 | [B2056_TX_PADG_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1768 | [B2056_TX_PADG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1769 | [B2056_TX_PADG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1770 | [B2056_TX_PADG_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
1771 | [B2056_TX_PGAA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1772 | [B2056_TX_PGAA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
1773 | [B2056_TX_PGAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1774 | [B2056_TX_PGAA_BOOST_TUNE] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, | ||
1775 | [B2056_TX_PGAA_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
1776 | [B2056_TX_PGAA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1777 | [B2056_TX_PGAG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1778 | [B2056_TX_PGAG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1779 | [B2056_TX_PGAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1780 | [B2056_TX_PGAG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1781 | [B2056_TX_PGAG_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
1782 | [B2056_TX_PGAG_MISC] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1783 | [B2056_TX_MIXA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1784 | [B2056_TX_MIXA_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1785 | [B2056_TX_MIXG] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1786 | [B2056_TX_MIXG_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1787 | [B2056_TX_BB_GM_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1788 | [B2056_TX_GMBB_GM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1789 | [B2056_TX_GMBB_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
1790 | [B2056_TX_TXLPF_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1791 | [B2056_TX_TXLPF_RCCAL] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
1792 | [B2056_TX_TXLPF_RCCAL_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1793 | [B2056_TX_TXLPF_RCCAL_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1794 | [B2056_TX_TXLPF_RCCAL_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1795 | [B2056_TX_TXLPF_RCCAL_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1796 | [B2056_TX_TXLPF_RCCAL_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1797 | [B2056_TX_TXLPF_RCCAL_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1798 | [B2056_TX_TXLPF_RCCAL_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1799 | [B2056_TX_TXLPF_BW] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1800 | [B2056_TX_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1801 | [B2056_TX_TXLPF_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1802 | [B2056_TX_TXLPF_IDAC_0] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
1803 | [B2056_TX_TXLPF_IDAC_1] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
1804 | [B2056_TX_TXLPF_IDAC_2] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
1805 | [B2056_TX_TXLPF_IDAC_3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
1806 | [B2056_TX_TXLPF_IDAC_4] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
1807 | [B2056_TX_TXLPF_IDAC_5] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
1808 | [B2056_TX_TXLPF_IDAC_6] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
1809 | [B2056_TX_TXLPF_OPAMP_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
1810 | [B2056_TX_TXLPF_MISC] = { .ghz5 = 0x005b, .ghz2 = 0x005b, NOUPLOAD, }, | ||
1811 | [B2056_TX_TXSPARE1] = { .ghz5 = 0x0030, .ghz2 = 0x0030, UPLOAD, }, | ||
1812 | [B2056_TX_TXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1813 | [B2056_TX_TXSPARE3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1814 | [B2056_TX_TXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1815 | [B2056_TX_TXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1816 | [B2056_TX_TXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1817 | [B2056_TX_TXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1818 | [B2056_TX_TXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1819 | [B2056_TX_TXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1820 | [B2056_TX_TXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1821 | [B2056_TX_TXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1822 | [B2056_TX_TXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1823 | [B2056_TX_TXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1824 | [B2056_TX_TXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1825 | [B2056_TX_TXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1826 | [B2056_TX_TXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1827 | [B2056_TX_STATUS_INTPA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1828 | [B2056_TX_STATUS_PAD_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1829 | [B2056_TX_STATUS_PGA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1830 | [B2056_TX_STATUS_GM_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1831 | [B2056_TX_STATUS_TXLPF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1832 | [B2056_TX_STATUS_TXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1833 | [B2056_TX_GMBB_IDAC0] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
1834 | [B2056_TX_GMBB_IDAC1] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
1835 | [B2056_TX_GMBB_IDAC2] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
1836 | [B2056_TX_GMBB_IDAC3] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
1837 | [B2056_TX_GMBB_IDAC4] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
1838 | [B2056_TX_GMBB_IDAC5] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
1839 | [B2056_TX_GMBB_IDAC6] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
1840 | [B2056_TX_GMBB_IDAC7] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
1841 | }; | ||
1842 | |||
1843 | static const struct b2056_inittab_entry b2056_inittab_rev6_rx[] = { | ||
1844 | [B2056_RX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1845 | [B2056_RX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1846 | [B2056_RX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1847 | [B2056_RX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1848 | [B2056_RX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1849 | [B2056_RX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1850 | [B2056_RX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1851 | [B2056_RX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1852 | [B2056_RX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1853 | [B2056_RX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1854 | [B2056_RX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1855 | [B2056_RX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1856 | [B2056_RX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1857 | [B2056_RX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1858 | [B2056_RX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1859 | [B2056_RX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1860 | [B2056_RX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1861 | [B2056_RX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1862 | [B2056_RX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1863 | [B2056_RX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1864 | [B2056_RX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1865 | [B2056_RX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1866 | [B2056_RX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1867 | [B2056_RX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1868 | [B2056_RX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1869 | [B2056_RX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1870 | [B2056_RX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1871 | [B2056_RX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1872 | [B2056_RX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1873 | [B2056_RX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1874 | [B2056_RX_RXIQCAL_RXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
1875 | [B2056_RX_RSSI_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1876 | [B2056_RX_RSSI_SEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1877 | [B2056_RX_RSSI_GAIN] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
1878 | [B2056_RX_RSSI_NB_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
1879 | [B2056_RX_RSSI_WB2I_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
1880 | [B2056_RX_RSSI_WB2I_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
1881 | [B2056_RX_RSSI_WB2Q_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
1882 | [B2056_RX_RSSI_WB2Q_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
1883 | [B2056_RX_RSSI_POLE] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
1884 | [B2056_RX_RSSI_WB1_IDAC] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
1885 | [B2056_RX_RSSI_MISC] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
1886 | [B2056_RX_LNAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1887 | [B2056_RX_LNAA_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1888 | [B2056_RX_LNAA_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
1889 | [B2056_RX_LNA_A_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
1890 | [B2056_RX_BIASPOLE_LNAA1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
1891 | [B2056_RX_LNAA2_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
1892 | [B2056_RX_LNA1A_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
1893 | [B2056_RX_LNAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1894 | [B2056_RX_LNAG_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
1895 | [B2056_RX_LNAG_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
1896 | [B2056_RX_LNA_G_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
1897 | [B2056_RX_BIASPOLE_LNAG1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
1898 | [B2056_RX_LNAG2_IDAC] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
1899 | [B2056_RX_LNA1G_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
1900 | [B2056_RX_MIXA_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1901 | [B2056_RX_MIXA_VCM] = { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, | ||
1902 | [B2056_RX_MIXA_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1903 | [B2056_RX_MIXA_LOB_BIAS] = { .ghz5 = 0x0088, .ghz2 = 0x0088, UPLOAD, }, | ||
1904 | [B2056_RX_MIXA_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1905 | [B2056_RX_MIXA_CMFB_IDAC] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
1906 | [B2056_RX_MIXA_BIAS_AUX] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
1907 | [B2056_RX_MIXA_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
1908 | [B2056_RX_MIXA_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
1909 | [B2056_RX_MIXA_MAST_BIAS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1910 | [B2056_RX_MIXG_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1911 | [B2056_RX_MIXG_VCM] = { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, | ||
1912 | [B2056_RX_MIXG_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1913 | [B2056_RX_MIXG_LOB_BIAS] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
1914 | [B2056_RX_MIXG_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1915 | [B2056_RX_MIXG_CMFB_IDAC] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
1916 | [B2056_RX_MIXG_BIAS_AUX] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1917 | [B2056_RX_MIXG_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
1918 | [B2056_RX_MIXG_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
1919 | [B2056_RX_MIXG_MAST_BIAS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1920 | [B2056_RX_TIA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1921 | [B2056_RX_TIA_IOPAMP] = { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, | ||
1922 | [B2056_RX_TIA_QOPAMP] = { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, | ||
1923 | [B2056_RX_TIA_IMISC] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
1924 | [B2056_RX_TIA_QMISC] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
1925 | [B2056_RX_TIA_GAIN] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
1926 | [B2056_RX_TIA_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1927 | [B2056_RX_TIA_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1928 | [B2056_RX_BB_LPF_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1929 | [B2056_RX_AACI_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
1930 | [B2056_RX_RXLPF_IDAC] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1931 | [B2056_RX_RXLPF_OPAMPBIAS_LOWQ] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
1932 | [B2056_RX_RXLPF_OPAMPBIAS_HIGHQ]= { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
1933 | [B2056_RX_RXLPF_BIAS_DCCANCEL] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
1934 | [B2056_RX_RXLPF_OUTVCM] = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, | ||
1935 | [B2056_RX_RXLPF_INVCM_BODY] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
1936 | [B2056_RX_RXLPF_CC_OP] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
1937 | [B2056_RX_RXLPF_GAIN] = { .ghz5 = 0x0023, .ghz2 = 0x0023, NOUPLOAD, }, | ||
1938 | [B2056_RX_RXLPF_Q_BW] = { .ghz5 = 0x0041, .ghz2 = 0x0041, NOUPLOAD, }, | ||
1939 | [B2056_RX_RXLPF_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1940 | [B2056_RX_RXLPF_RCCAL_HPC] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
1941 | [B2056_RX_RXHPF_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1942 | [B2056_RX_RXHPF_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1943 | [B2056_RX_RXHPF_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1944 | [B2056_RX_RXHPF_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1945 | [B2056_RX_RXHPF_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1946 | [B2056_RX_RXHPF_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1947 | [B2056_RX_RXHPF_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1948 | [B2056_RX_RXHPF_OFF7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1949 | [B2056_RX_RXLPF_RCCAL_LPC] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
1950 | [B2056_RX_RXLPF_OFF_0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1951 | [B2056_RX_RXLPF_OFF_1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1952 | [B2056_RX_RXLPF_OFF_2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1953 | [B2056_RX_RXLPF_OFF_3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1954 | [B2056_RX_RXLPF_OFF_4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1955 | [B2056_RX_UNUSED] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1956 | [B2056_RX_VGA_MASTER] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
1957 | [B2056_RX_VGA_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
1958 | [B2056_RX_VGA_BIAS_DCCANCEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
1959 | [B2056_RX_VGA_GAIN] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
1960 | [B2056_RX_VGA_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
1961 | [B2056_RX_VGABUF_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
1962 | [B2056_RX_VGABUF_GAIN_BW] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
1963 | [B2056_RX_TXFBMIX_A] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1964 | [B2056_RX_TXFBMIX_G] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1965 | [B2056_RX_RXSPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1966 | [B2056_RX_RXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1967 | [B2056_RX_RXSPARE3] = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, }, | ||
1968 | [B2056_RX_RXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1969 | [B2056_RX_RXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1970 | [B2056_RX_RXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1971 | [B2056_RX_RXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1972 | [B2056_RX_RXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1973 | [B2056_RX_RXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1974 | [B2056_RX_RXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1975 | [B2056_RX_RXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1976 | [B2056_RX_RXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1977 | [B2056_RX_RXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1978 | [B2056_RX_RXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1979 | [B2056_RX_RXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1980 | [B2056_RX_RXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1981 | [B2056_RX_STATUS_LNAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1982 | [B2056_RX_STATUS_LNAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1983 | [B2056_RX_STATUS_MIXTIA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1984 | [B2056_RX_STATUS_RXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1985 | [B2056_RX_STATUS_VGA_BUF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1986 | [B2056_RX_STATUS_RXLPF_Q] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1987 | [B2056_RX_STATUS_RXLPF_BUF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1988 | [B2056_RX_STATUS_RXLPF_VGA_HPC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1989 | [B2056_RX_STATUS_RXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1990 | [B2056_RX_STATUS_HPC_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1991 | }; | ||
1992 | |||
1993 | static const struct b2056_inittab_entry b2056_inittab_rev7_syn[] = { | ||
1994 | [B2056_SYN_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1995 | [B2056_SYN_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1996 | [B2056_SYN_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1997 | [B2056_SYN_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1998 | [B2056_SYN_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
1999 | [B2056_SYN_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2000 | [B2056_SYN_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2001 | [B2056_SYN_COM_PU] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2002 | [B2056_SYN_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2003 | [B2056_SYN_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2004 | [B2056_SYN_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2005 | [B2056_SYN_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2006 | [B2056_SYN_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2007 | [B2056_SYN_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2008 | [B2056_SYN_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2009 | [B2056_SYN_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2010 | [B2056_SYN_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2011 | [B2056_SYN_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2012 | [B2056_SYN_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2013 | [B2056_SYN_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2014 | [B2056_SYN_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2015 | [B2056_SYN_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2016 | [B2056_SYN_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2017 | [B2056_SYN_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2018 | [B2056_SYN_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2019 | [B2056_SYN_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2020 | [B2056_SYN_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2021 | [B2056_SYN_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2022 | [B2056_SYN_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2023 | [B2056_SYN_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2024 | [B2056_SYN_GPIO_MASTER1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2025 | [B2056_SYN_GPIO_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2026 | [B2056_SYN_TOPBIAS_MASTER] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
2027 | [B2056_SYN_TOPBIAS_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
2028 | [B2056_SYN_AFEREG] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2029 | [B2056_SYN_TEMPPROCSENSE] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2030 | [B2056_SYN_TEMPPROCSENSEIDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2031 | [B2056_SYN_TEMPPROCSENSERCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2032 | [B2056_SYN_LPO] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2033 | [B2056_SYN_VDDCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2034 | [B2056_SYN_VDDCAL_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2035 | [B2056_SYN_VDDCAL_STATUS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2036 | [B2056_SYN_RCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2037 | [B2056_SYN_RCAL_CODE_OUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2038 | [B2056_SYN_RCCAL_CTRL0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2039 | [B2056_SYN_RCCAL_CTRL1] = { .ghz5 = 0x001f, .ghz2 = 0x001f, NOUPLOAD, }, | ||
2040 | [B2056_SYN_RCCAL_CTRL2] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
2041 | [B2056_SYN_RCCAL_CTRL3] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
2042 | [B2056_SYN_RCCAL_CTRL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2043 | [B2056_SYN_RCCAL_CTRL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2044 | [B2056_SYN_RCCAL_CTRL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2045 | [B2056_SYN_RCCAL_CTRL7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2046 | [B2056_SYN_RCCAL_CTRL8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2047 | [B2056_SYN_RCCAL_CTRL9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2048 | [B2056_SYN_RCCAL_CTRL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2049 | [B2056_SYN_RCCAL_CTRL11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2050 | [B2056_SYN_ZCAL_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2051 | [B2056_SYN_ZCAL_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2052 | [B2056_SYN_PLL_MAST1] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
2053 | [B2056_SYN_PLL_MAST2] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
2054 | [B2056_SYN_PLL_MAST3] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
2055 | [B2056_SYN_PLL_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2056 | [B2056_SYN_PLL_XTAL0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2057 | [B2056_SYN_PLL_XTAL1] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
2058 | [B2056_SYN_PLL_XTAL3] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
2059 | [B2056_SYN_PLL_XTAL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2060 | [B2056_SYN_PLL_XTAL5] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
2061 | [B2056_SYN_PLL_XTAL6] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2062 | [B2056_SYN_PLL_REFDIV] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2063 | [B2056_SYN_PLL_PFD] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
2064 | [B2056_SYN_PLL_CP1] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
2065 | [B2056_SYN_PLL_CP2] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
2066 | [B2056_SYN_PLL_CP3] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
2067 | [B2056_SYN_PLL_LOOPFILTER1] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
2068 | [B2056_SYN_PLL_LOOPFILTER2] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
2069 | [B2056_SYN_PLL_LOOPFILTER3] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
2070 | [B2056_SYN_PLL_LOOPFILTER4] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
2071 | [B2056_SYN_PLL_LOOPFILTER5] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2072 | [B2056_SYN_PLL_MMD1] = { .ghz5 = 0x001c, .ghz2 = 0x001c, NOUPLOAD, }, | ||
2073 | [B2056_SYN_PLL_MMD2] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2074 | [B2056_SYN_PLL_VCO1] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2075 | [B2056_SYN_PLL_VCO2] = { .ghz5 = 0x00f7, .ghz2 = 0x00f7, UPLOAD, }, | ||
2076 | [B2056_SYN_PLL_MONITOR1] = { .ghz5 = 0x00b4, .ghz2 = 0x00b4, NOUPLOAD, }, | ||
2077 | [B2056_SYN_PLL_MONITOR2] = { .ghz5 = 0x00d2, .ghz2 = 0x00d2, NOUPLOAD, }, | ||
2078 | [B2056_SYN_PLL_VCOCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2079 | [B2056_SYN_PLL_VCOCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2080 | [B2056_SYN_PLL_VCOCAL4] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
2081 | [B2056_SYN_PLL_VCOCAL5] = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, }, | ||
2082 | [B2056_SYN_PLL_VCOCAL6] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
2083 | [B2056_SYN_PLL_VCOCAL7] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
2084 | [B2056_SYN_PLL_VCOCAL8] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
2085 | [B2056_SYN_PLL_VCOCAL9] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2086 | [B2056_SYN_PLL_VCOCAL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2087 | [B2056_SYN_PLL_VCOCAL11] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2088 | [B2056_SYN_PLL_VCOCAL12] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
2089 | [B2056_SYN_PLL_VCOCAL13] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2090 | [B2056_SYN_PLL_VREG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2091 | [B2056_SYN_PLL_STATUS1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2092 | [B2056_SYN_PLL_STATUS2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2093 | [B2056_SYN_PLL_STATUS3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2094 | [B2056_SYN_LOGEN_PU0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2095 | [B2056_SYN_LOGEN_PU1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2096 | [B2056_SYN_LOGEN_PU2] = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, }, | ||
2097 | [B2056_SYN_LOGEN_PU3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2098 | [B2056_SYN_LOGEN_PU5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2099 | [B2056_SYN_LOGEN_PU6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2100 | [B2056_SYN_LOGEN_PU7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2101 | [B2056_SYN_LOGEN_PU8] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2102 | [B2056_SYN_LOGEN_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2103 | [B2056_SYN_LOGEN_RCCR1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2104 | [B2056_SYN_LOGEN_VCOBUF1] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
2105 | [B2056_SYN_LOGEN_MIXER1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2106 | [B2056_SYN_LOGEN_MIXER2] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2107 | [B2056_SYN_LOGEN_BUF1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2108 | [B2056_SYN_LOGENBUF2] = { .ghz5 = 0x008f, .ghz2 = 0x008f, UPLOAD, }, | ||
2109 | [B2056_SYN_LOGEN_BUF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2110 | [B2056_SYN_LOGEN_BUF4] = { .ghz5 = 0x00cc, .ghz2 = 0x00cc, NOUPLOAD, }, | ||
2111 | [B2056_SYN_LOGEN_DIV1] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2112 | [B2056_SYN_LOGEN_DIV2] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2113 | [B2056_SYN_LOGEN_DIV3] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2114 | [B2056_SYN_LOGEN_ACL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2115 | [B2056_SYN_LOGEN_ACL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2116 | [B2056_SYN_LOGEN_ACL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2117 | [B2056_SYN_LOGEN_ACL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2118 | [B2056_SYN_LOGEN_ACL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2119 | [B2056_SYN_LOGEN_ACL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2120 | [B2056_SYN_LOGEN_ACLOUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2121 | [B2056_SYN_LOGEN_ACLCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2122 | [B2056_SYN_LOGEN_ACLCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2123 | [B2056_SYN_LOGEN_ACLCAL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2124 | [B2056_SYN_CALEN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2125 | [B2056_SYN_LOGEN_PEAKDET1] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, NOUPLOAD, }, | ||
2126 | [B2056_SYN_LOGEN_CORE_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2127 | [B2056_SYN_LOGEN_RX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2128 | [B2056_SYN_LOGEN_TX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2129 | [B2056_SYN_LOGEN_RX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2130 | [B2056_SYN_LOGEN_TX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2131 | [B2056_SYN_LOGEN_VCOBUF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2132 | [B2056_SYN_LOGEN_MIXER3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2133 | [B2056_SYN_LOGEN_BUF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2134 | [B2056_SYN_LOGEN_BUF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2135 | [B2056_SYN_LOGEN_CBUFRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2136 | [B2056_SYN_LOGEN_CBUFRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2137 | [B2056_SYN_LOGEN_CBUFRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2138 | [B2056_SYN_LOGEN_CBUFRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2139 | [B2056_SYN_LOGEN_CBUFTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2140 | [B2056_SYN_LOGEN_CBUFTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2141 | [B2056_SYN_LOGEN_CBUFTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2142 | [B2056_SYN_LOGEN_CBUFTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2143 | [B2056_SYN_LOGEN_CMOSRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2144 | [B2056_SYN_LOGEN_CMOSRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2145 | [B2056_SYN_LOGEN_CMOSRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2146 | [B2056_SYN_LOGEN_CMOSRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2147 | [B2056_SYN_LOGEN_CMOSTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2148 | [B2056_SYN_LOGEN_CMOSTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2149 | [B2056_SYN_LOGEN_CMOSTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2150 | [B2056_SYN_LOGEN_CMOSTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2151 | [B2056_SYN_LOGEN_VCOBUF2_OVRVAL]= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
2152 | [B2056_SYN_LOGEN_MIXER3_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2153 | [B2056_SYN_LOGEN_BUF5_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2154 | [B2056_SYN_LOGEN_BUF6_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2155 | [B2056_SYN_LOGEN_CBUFRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2156 | [B2056_SYN_LOGEN_CBUFRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2157 | [B2056_SYN_LOGEN_CBUFRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2158 | [B2056_SYN_LOGEN_CBUFRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2159 | [B2056_SYN_LOGEN_CBUFTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2160 | [B2056_SYN_LOGEN_CBUFTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2161 | [B2056_SYN_LOGEN_CBUFTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2162 | [B2056_SYN_LOGEN_CBUFTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2163 | [B2056_SYN_LOGEN_CMOSRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2164 | [B2056_SYN_LOGEN_CMOSRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2165 | [B2056_SYN_LOGEN_CMOSRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2166 | [B2056_SYN_LOGEN_CMOSRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2167 | [B2056_SYN_LOGEN_CMOSTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2168 | [B2056_SYN_LOGEN_CMOSTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2169 | [B2056_SYN_LOGEN_CMOSTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2170 | [B2056_SYN_LOGEN_CMOSTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2171 | [B2056_SYN_LOGEN_ACL_WAITCNT] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
2172 | [B2056_SYN_LOGEN_CORE_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2173 | [B2056_SYN_LOGEN_RX_CMOS_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2174 | [B2056_SYN_LOGEN_TX_CMOS_VALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2175 | }; | ||
2176 | |||
2177 | static const struct b2056_inittab_entry b2056_inittab_rev7_tx[] = { | ||
2178 | [B2056_TX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2179 | [B2056_TX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2180 | [B2056_TX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2181 | [B2056_TX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2182 | [B2056_TX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2183 | [B2056_TX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2184 | [B2056_TX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2185 | [B2056_TX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2186 | [B2056_TX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2187 | [B2056_TX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2188 | [B2056_TX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2189 | [B2056_TX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2190 | [B2056_TX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2191 | [B2056_TX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2192 | [B2056_TX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2193 | [B2056_TX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2194 | [B2056_TX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2195 | [B2056_TX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2196 | [B2056_TX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2197 | [B2056_TX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2198 | [B2056_TX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2199 | [B2056_TX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2200 | [B2056_TX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2201 | [B2056_TX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2202 | [B2056_TX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2203 | [B2056_TX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2204 | [B2056_TX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2205 | [B2056_TX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2206 | [B2056_TX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2207 | [B2056_TX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2208 | [B2056_TX_IQCAL_GAIN_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2209 | [B2056_TX_LOFT_FINE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2210 | [B2056_TX_LOFT_FINE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2211 | [B2056_TX_LOFT_COARSE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2212 | [B2056_TX_LOFT_COARSE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2213 | [B2056_TX_TX_COM_MASTER1] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2214 | [B2056_TX_TX_COM_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2215 | [B2056_TX_RXIQCAL_TXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2216 | [B2056_TX_TX_SSI_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2217 | [B2056_TX_IQCAL_VCM_HG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2218 | [B2056_TX_IQCAL_IDAC] = { .ghz5 = 0x0037, .ghz2 = 0x0037, NOUPLOAD, }, | ||
2219 | [B2056_TX_TSSI_VCM] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2220 | [B2056_TX_TX_AMP_DET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2221 | [B2056_TX_TX_SSI_MUX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2222 | [B2056_TX_TSSIA] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2223 | [B2056_TX_TSSIG] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2224 | [B2056_TX_TSSI_MISC1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2225 | [B2056_TX_TSSI_MISC2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2226 | [B2056_TX_TSSI_MISC3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2227 | [B2056_TX_PA_SPARE1] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
2228 | [B2056_TX_PA_SPARE2] = { .ghz5 = 0x00ee, .ghz2 = 0x00ee, UPLOAD, }, | ||
2229 | [B2056_TX_INTPAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2230 | [B2056_TX_INTPAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2231 | [B2056_TX_INTPAA_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2232 | [B2056_TX_INTPAA_IAUX_STAT] = { .ghz5 = 0x0050, .ghz2 = 0x0050, UPLOAD, }, | ||
2233 | [B2056_TX_INTPAA_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2234 | [B2056_TX_INTPAA_IMAIN_STAT] = { .ghz5 = 0x0050, .ghz2 = 0x0050, UPLOAD, }, | ||
2235 | [B2056_TX_INTPAA_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2236 | [B2056_TX_INTPAA_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
2237 | [B2056_TX_INTPAA_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
2238 | [B2056_TX_INTPAA_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2239 | [B2056_TX_INTPAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2240 | [B2056_TX_INTPAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2241 | [B2056_TX_INTPAG_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2242 | [B2056_TX_INTPAG_IAUX_STAT] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2243 | [B2056_TX_INTPAG_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2244 | [B2056_TX_INTPAG_IMAIN_STAT] = { .ghz5 = 0x001e, .ghz2 = 0x001e, NOUPLOAD, }, | ||
2245 | [B2056_TX_INTPAG_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2246 | [B2056_TX_INTPAG_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
2247 | [B2056_TX_INTPAG_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
2248 | [B2056_TX_INTPAG_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2249 | [B2056_TX_PADA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2250 | [B2056_TX_PADA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
2251 | [B2056_TX_PADA_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2252 | [B2056_TX_PADA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2253 | [B2056_TX_PADA_BOOST_TUNE] = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, }, | ||
2254 | [B2056_TX_PADA_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
2255 | [B2056_TX_PADG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2256 | [B2056_TX_PADG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2257 | [B2056_TX_PADG_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2258 | [B2056_TX_PADG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2259 | [B2056_TX_PADG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2260 | [B2056_TX_PADG_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
2261 | [B2056_TX_PGAA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2262 | [B2056_TX_PGAA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
2263 | [B2056_TX_PGAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2264 | [B2056_TX_PGAA_BOOST_TUNE] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, | ||
2265 | [B2056_TX_PGAA_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
2266 | [B2056_TX_PGAA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2267 | [B2056_TX_PGAG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2268 | [B2056_TX_PGAG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2269 | [B2056_TX_PGAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2270 | [B2056_TX_PGAG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2271 | [B2056_TX_PGAG_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
2272 | [B2056_TX_PGAG_MISC] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2273 | [B2056_TX_MIXA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2274 | [B2056_TX_MIXA_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2275 | [B2056_TX_MIXG] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2276 | [B2056_TX_MIXG_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2277 | [B2056_TX_BB_GM_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2278 | [B2056_TX_GMBB_GM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2279 | [B2056_TX_GMBB_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
2280 | [B2056_TX_TXLPF_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2281 | [B2056_TX_TXLPF_RCCAL] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
2282 | [B2056_TX_TXLPF_RCCAL_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2283 | [B2056_TX_TXLPF_RCCAL_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2284 | [B2056_TX_TXLPF_RCCAL_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2285 | [B2056_TX_TXLPF_RCCAL_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2286 | [B2056_TX_TXLPF_RCCAL_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2287 | [B2056_TX_TXLPF_RCCAL_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2288 | [B2056_TX_TXLPF_RCCAL_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2289 | [B2056_TX_TXLPF_BW] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2290 | [B2056_TX_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2291 | [B2056_TX_TXLPF_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2292 | [B2056_TX_TXLPF_IDAC_0] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
2293 | [B2056_TX_TXLPF_IDAC_1] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
2294 | [B2056_TX_TXLPF_IDAC_2] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
2295 | [B2056_TX_TXLPF_IDAC_3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
2296 | [B2056_TX_TXLPF_IDAC_4] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
2297 | [B2056_TX_TXLPF_IDAC_5] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
2298 | [B2056_TX_TXLPF_IDAC_6] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
2299 | [B2056_TX_TXLPF_OPAMP_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
2300 | [B2056_TX_TXLPF_MISC] = { .ghz5 = 0x005b, .ghz2 = 0x005b, NOUPLOAD, }, | ||
2301 | [B2056_TX_TXSPARE1] = { .ghz5 = 0x0030, .ghz2 = 0x0030, UPLOAD, }, | ||
2302 | [B2056_TX_TXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2303 | [B2056_TX_TXSPARE3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2304 | [B2056_TX_TXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2305 | [B2056_TX_TXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2306 | [B2056_TX_TXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2307 | [B2056_TX_TXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2308 | [B2056_TX_TXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2309 | [B2056_TX_TXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2310 | [B2056_TX_TXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2311 | [B2056_TX_TXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2312 | [B2056_TX_TXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2313 | [B2056_TX_TXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2314 | [B2056_TX_TXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2315 | [B2056_TX_TXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2316 | [B2056_TX_TXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2317 | [B2056_TX_STATUS_INTPA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2318 | [B2056_TX_STATUS_PAD_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2319 | [B2056_TX_STATUS_PGA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2320 | [B2056_TX_STATUS_GM_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2321 | [B2056_TX_STATUS_TXLPF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2322 | [B2056_TX_STATUS_TXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2323 | [B2056_TX_GMBB_IDAC0] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
2324 | [B2056_TX_GMBB_IDAC1] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
2325 | [B2056_TX_GMBB_IDAC2] = { .ghz5 = 0x0071, .ghz2 = 0x0071, UPLOAD, }, | ||
2326 | [B2056_TX_GMBB_IDAC3] = { .ghz5 = 0x0071, .ghz2 = 0x0071, UPLOAD, }, | ||
2327 | [B2056_TX_GMBB_IDAC4] = { .ghz5 = 0x0072, .ghz2 = 0x0072, UPLOAD, }, | ||
2328 | [B2056_TX_GMBB_IDAC5] = { .ghz5 = 0x0073, .ghz2 = 0x0073, UPLOAD, }, | ||
2329 | [B2056_TX_GMBB_IDAC6] = { .ghz5 = 0x0074, .ghz2 = 0x0074, UPLOAD, }, | ||
2330 | [B2056_TX_GMBB_IDAC7] = { .ghz5 = 0x0075, .ghz2 = 0x0075, UPLOAD, }, | ||
2331 | }; | ||
2332 | |||
2333 | static const struct b2056_inittab_entry b2056_inittab_rev7_rx[] = { | ||
2334 | [B2056_RX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2335 | [B2056_RX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2336 | [B2056_RX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2337 | [B2056_RX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2338 | [B2056_RX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2339 | [B2056_RX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2340 | [B2056_RX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2341 | [B2056_RX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2342 | [B2056_RX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2343 | [B2056_RX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2344 | [B2056_RX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2345 | [B2056_RX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2346 | [B2056_RX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2347 | [B2056_RX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2348 | [B2056_RX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2349 | [B2056_RX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2350 | [B2056_RX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2351 | [B2056_RX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2352 | [B2056_RX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2353 | [B2056_RX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2354 | [B2056_RX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2355 | [B2056_RX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2356 | [B2056_RX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2357 | [B2056_RX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2358 | [B2056_RX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2359 | [B2056_RX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2360 | [B2056_RX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2361 | [B2056_RX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2362 | [B2056_RX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2363 | [B2056_RX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2364 | [B2056_RX_RXIQCAL_RXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2365 | [B2056_RX_RSSI_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2366 | [B2056_RX_RSSI_SEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2367 | [B2056_RX_RSSI_GAIN] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
2368 | [B2056_RX_RSSI_NB_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
2369 | [B2056_RX_RSSI_WB2I_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
2370 | [B2056_RX_RSSI_WB2I_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
2371 | [B2056_RX_RSSI_WB2Q_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
2372 | [B2056_RX_RSSI_WB2Q_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
2373 | [B2056_RX_RSSI_POLE] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
2374 | [B2056_RX_RSSI_WB1_IDAC] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
2375 | [B2056_RX_RSSI_MISC] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
2376 | [B2056_RX_LNAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2377 | [B2056_RX_LNAA_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2378 | [B2056_RX_LNAA_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
2379 | [B2056_RX_LNA_A_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
2380 | [B2056_RX_BIASPOLE_LNAA1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
2381 | [B2056_RX_LNAA2_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
2382 | [B2056_RX_LNA1A_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
2383 | [B2056_RX_LNAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2384 | [B2056_RX_LNAG_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2385 | [B2056_RX_LNAG_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
2386 | [B2056_RX_LNA_G_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
2387 | [B2056_RX_BIASPOLE_LNAG1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
2388 | [B2056_RX_LNAG2_IDAC] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
2389 | [B2056_RX_LNA1G_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
2390 | [B2056_RX_MIXA_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2391 | [B2056_RX_MIXA_VCM] = { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, | ||
2392 | [B2056_RX_MIXA_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2393 | [B2056_RX_MIXA_LOB_BIAS] = { .ghz5 = 0x0088, .ghz2 = 0x0088, UPLOAD, }, | ||
2394 | [B2056_RX_MIXA_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2395 | [B2056_RX_MIXA_CMFB_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
2396 | [B2056_RX_MIXA_BIAS_AUX] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
2397 | [B2056_RX_MIXA_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
2398 | [B2056_RX_MIXA_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
2399 | [B2056_RX_MIXA_MAST_BIAS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2400 | [B2056_RX_MIXG_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2401 | [B2056_RX_MIXG_VCM] = { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, | ||
2402 | [B2056_RX_MIXG_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2403 | [B2056_RX_MIXG_LOB_BIAS] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
2404 | [B2056_RX_MIXG_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2405 | [B2056_RX_MIXG_CMFB_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
2406 | [B2056_RX_MIXG_BIAS_AUX] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2407 | [B2056_RX_MIXG_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
2408 | [B2056_RX_MIXG_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
2409 | [B2056_RX_MIXG_MAST_BIAS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2410 | [B2056_RX_TIA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2411 | [B2056_RX_TIA_IOPAMP] = { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, | ||
2412 | [B2056_RX_TIA_QOPAMP] = { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, | ||
2413 | [B2056_RX_TIA_IMISC] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
2414 | [B2056_RX_TIA_QMISC] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
2415 | [B2056_RX_TIA_GAIN] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
2416 | [B2056_RX_TIA_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2417 | [B2056_RX_TIA_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2418 | [B2056_RX_BB_LPF_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2419 | [B2056_RX_AACI_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2420 | [B2056_RX_RXLPF_IDAC] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2421 | [B2056_RX_RXLPF_OPAMPBIAS_LOWQ] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
2422 | [B2056_RX_RXLPF_OPAMPBIAS_HIGHQ]= { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
2423 | [B2056_RX_RXLPF_BIAS_DCCANCEL] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2424 | [B2056_RX_RXLPF_OUTVCM] = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, | ||
2425 | [B2056_RX_RXLPF_INVCM_BODY] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2426 | [B2056_RX_RXLPF_CC_OP] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
2427 | [B2056_RX_RXLPF_GAIN] = { .ghz5 = 0x0023, .ghz2 = 0x0023, NOUPLOAD, }, | ||
2428 | [B2056_RX_RXLPF_Q_BW] = { .ghz5 = 0x0041, .ghz2 = 0x0041, NOUPLOAD, }, | ||
2429 | [B2056_RX_RXLPF_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2430 | [B2056_RX_RXLPF_RCCAL_HPC] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
2431 | [B2056_RX_RXHPF_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2432 | [B2056_RX_RXHPF_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2433 | [B2056_RX_RXHPF_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2434 | [B2056_RX_RXHPF_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2435 | [B2056_RX_RXHPF_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2436 | [B2056_RX_RXHPF_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2437 | [B2056_RX_RXHPF_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2438 | [B2056_RX_RXHPF_OFF7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2439 | [B2056_RX_RXLPF_RCCAL_LPC] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2440 | [B2056_RX_RXLPF_OFF_0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2441 | [B2056_RX_RXLPF_OFF_1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2442 | [B2056_RX_RXLPF_OFF_2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2443 | [B2056_RX_RXLPF_OFF_3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2444 | [B2056_RX_RXLPF_OFF_4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2445 | [B2056_RX_UNUSED] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2446 | [B2056_RX_VGA_MASTER] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
2447 | [B2056_RX_VGA_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
2448 | [B2056_RX_VGA_BIAS_DCCANCEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
2449 | [B2056_RX_VGA_GAIN] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
2450 | [B2056_RX_VGA_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2451 | [B2056_RX_VGABUF_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
2452 | [B2056_RX_VGABUF_GAIN_BW] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
2453 | [B2056_RX_TXFBMIX_A] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2454 | [B2056_RX_TXFBMIX_G] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2455 | [B2056_RX_RXSPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2456 | [B2056_RX_RXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2457 | [B2056_RX_RXSPARE3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2458 | [B2056_RX_RXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2459 | [B2056_RX_RXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2460 | [B2056_RX_RXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2461 | [B2056_RX_RXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2462 | [B2056_RX_RXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2463 | [B2056_RX_RXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2464 | [B2056_RX_RXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2465 | [B2056_RX_RXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2466 | [B2056_RX_RXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2467 | [B2056_RX_RXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2468 | [B2056_RX_RXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2469 | [B2056_RX_RXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2470 | [B2056_RX_RXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2471 | [B2056_RX_STATUS_LNAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2472 | [B2056_RX_STATUS_LNAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2473 | [B2056_RX_STATUS_MIXTIA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2474 | [B2056_RX_STATUS_RXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2475 | [B2056_RX_STATUS_VGA_BUF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2476 | [B2056_RX_STATUS_RXLPF_Q] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2477 | [B2056_RX_STATUS_RXLPF_BUF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2478 | [B2056_RX_STATUS_RXLPF_VGA_HPC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2479 | [B2056_RX_STATUS_RXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2480 | [B2056_RX_STATUS_HPC_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2481 | }; | ||
2482 | |||
2483 | static const struct b2056_inittab_entry b2056_inittab_rev8_syn[] = { | ||
2484 | [B2056_SYN_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2485 | [B2056_SYN_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2486 | [B2056_SYN_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2487 | [B2056_SYN_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2488 | [B2056_SYN_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2489 | [B2056_SYN_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2490 | [B2056_SYN_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2491 | [B2056_SYN_COM_PU] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2492 | [B2056_SYN_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2493 | [B2056_SYN_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2494 | [B2056_SYN_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2495 | [B2056_SYN_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2496 | [B2056_SYN_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2497 | [B2056_SYN_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2498 | [B2056_SYN_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2499 | [B2056_SYN_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2500 | [B2056_SYN_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2501 | [B2056_SYN_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2502 | [B2056_SYN_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2503 | [B2056_SYN_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2504 | [B2056_SYN_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2505 | [B2056_SYN_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2506 | [B2056_SYN_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2507 | [B2056_SYN_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2508 | [B2056_SYN_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2509 | [B2056_SYN_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2510 | [B2056_SYN_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2511 | [B2056_SYN_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2512 | [B2056_SYN_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2513 | [B2056_SYN_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2514 | [B2056_SYN_GPIO_MASTER1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2515 | [B2056_SYN_GPIO_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2516 | [B2056_SYN_TOPBIAS_MASTER] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
2517 | [B2056_SYN_TOPBIAS_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
2518 | [B2056_SYN_AFEREG] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2519 | [B2056_SYN_TEMPPROCSENSE] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2520 | [B2056_SYN_TEMPPROCSENSEIDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2521 | [B2056_SYN_TEMPPROCSENSERCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2522 | [B2056_SYN_LPO] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2523 | [B2056_SYN_VDDCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2524 | [B2056_SYN_VDDCAL_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2525 | [B2056_SYN_VDDCAL_STATUS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2526 | [B2056_SYN_RCAL_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2527 | [B2056_SYN_RCAL_CODE_OUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2528 | [B2056_SYN_RCCAL_CTRL0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2529 | [B2056_SYN_RCCAL_CTRL1] = { .ghz5 = 0x001f, .ghz2 = 0x001f, NOUPLOAD, }, | ||
2530 | [B2056_SYN_RCCAL_CTRL2] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
2531 | [B2056_SYN_RCCAL_CTRL3] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
2532 | [B2056_SYN_RCCAL_CTRL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2533 | [B2056_SYN_RCCAL_CTRL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2534 | [B2056_SYN_RCCAL_CTRL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2535 | [B2056_SYN_RCCAL_CTRL7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2536 | [B2056_SYN_RCCAL_CTRL8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2537 | [B2056_SYN_RCCAL_CTRL9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2538 | [B2056_SYN_RCCAL_CTRL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2539 | [B2056_SYN_RCCAL_CTRL11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2540 | [B2056_SYN_ZCAL_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2541 | [B2056_SYN_ZCAL_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2542 | [B2056_SYN_PLL_MAST1] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
2543 | [B2056_SYN_PLL_MAST2] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
2544 | [B2056_SYN_PLL_MAST3] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
2545 | [B2056_SYN_PLL_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2546 | [B2056_SYN_PLL_XTAL0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2547 | [B2056_SYN_PLL_XTAL1] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
2548 | [B2056_SYN_PLL_XTAL3] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
2549 | [B2056_SYN_PLL_XTAL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2550 | [B2056_SYN_PLL_XTAL5] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
2551 | [B2056_SYN_PLL_XTAL6] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2552 | [B2056_SYN_PLL_REFDIV] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2553 | [B2056_SYN_PLL_PFD] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
2554 | [B2056_SYN_PLL_CP1] = { .ghz5 = 0x000f, .ghz2 = 0x000f, NOUPLOAD, }, | ||
2555 | [B2056_SYN_PLL_CP2] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
2556 | [B2056_SYN_PLL_CP3] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
2557 | [B2056_SYN_PLL_LOOPFILTER1] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
2558 | [B2056_SYN_PLL_LOOPFILTER2] = { .ghz5 = 0x000d, .ghz2 = 0x000d, NOUPLOAD, }, | ||
2559 | [B2056_SYN_PLL_LOOPFILTER3] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
2560 | [B2056_SYN_PLL_LOOPFILTER4] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
2561 | [B2056_SYN_PLL_LOOPFILTER5] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2562 | [B2056_SYN_PLL_MMD1] = { .ghz5 = 0x001c, .ghz2 = 0x001c, NOUPLOAD, }, | ||
2563 | [B2056_SYN_PLL_MMD2] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2564 | [B2056_SYN_PLL_VCO1] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2565 | [B2056_SYN_PLL_VCO2] = { .ghz5 = 0x00f7, .ghz2 = 0x00f7, UPLOAD, }, | ||
2566 | [B2056_SYN_PLL_MONITOR1] = { .ghz5 = 0x00b4, .ghz2 = 0x00b4, NOUPLOAD, }, | ||
2567 | [B2056_SYN_PLL_MONITOR2] = { .ghz5 = 0x00d2, .ghz2 = 0x00d2, NOUPLOAD, }, | ||
2568 | [B2056_SYN_PLL_VCOCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2569 | [B2056_SYN_PLL_VCOCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2570 | [B2056_SYN_PLL_VCOCAL4] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
2571 | [B2056_SYN_PLL_VCOCAL5] = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, }, | ||
2572 | [B2056_SYN_PLL_VCOCAL6] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
2573 | [B2056_SYN_PLL_VCOCAL7] = { .ghz5 = 0x003e, .ghz2 = 0x003e, NOUPLOAD, }, | ||
2574 | [B2056_SYN_PLL_VCOCAL8] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
2575 | [B2056_SYN_PLL_VCOCAL9] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2576 | [B2056_SYN_PLL_VCOCAL10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2577 | [B2056_SYN_PLL_VCOCAL11] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2578 | [B2056_SYN_PLL_VCOCAL12] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
2579 | [B2056_SYN_PLL_VCOCAL13] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2580 | [B2056_SYN_PLL_VREG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2581 | [B2056_SYN_PLL_STATUS1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2582 | [B2056_SYN_PLL_STATUS2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2583 | [B2056_SYN_PLL_STATUS3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2584 | [B2056_SYN_LOGEN_PU0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2585 | [B2056_SYN_LOGEN_PU1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2586 | [B2056_SYN_LOGEN_PU2] = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, }, | ||
2587 | [B2056_SYN_LOGEN_PU3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2588 | [B2056_SYN_LOGEN_PU5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2589 | [B2056_SYN_LOGEN_PU6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2590 | [B2056_SYN_LOGEN_PU7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2591 | [B2056_SYN_LOGEN_PU8] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2592 | [B2056_SYN_LOGEN_BIAS_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2593 | [B2056_SYN_LOGEN_RCCR1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2594 | [B2056_SYN_LOGEN_VCOBUF1] = { .ghz5 = 0x0060, .ghz2 = 0x0060, NOUPLOAD, }, | ||
2595 | [B2056_SYN_LOGEN_MIXER1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2596 | [B2056_SYN_LOGEN_MIXER2] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2597 | [B2056_SYN_LOGEN_BUF1] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2598 | [B2056_SYN_LOGENBUF2] = { .ghz5 = 0x008f, .ghz2 = 0x008f, UPLOAD, }, | ||
2599 | [B2056_SYN_LOGEN_BUF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2600 | [B2056_SYN_LOGEN_BUF4] = { .ghz5 = 0x00cc, .ghz2 = 0x00cc, NOUPLOAD, }, | ||
2601 | [B2056_SYN_LOGEN_DIV1] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2602 | [B2056_SYN_LOGEN_DIV2] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2603 | [B2056_SYN_LOGEN_DIV3] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2604 | [B2056_SYN_LOGEN_ACL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2605 | [B2056_SYN_LOGEN_ACL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2606 | [B2056_SYN_LOGEN_ACL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2607 | [B2056_SYN_LOGEN_ACL4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2608 | [B2056_SYN_LOGEN_ACL5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2609 | [B2056_SYN_LOGEN_ACL6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2610 | [B2056_SYN_LOGEN_ACLOUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2611 | [B2056_SYN_LOGEN_ACLCAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2612 | [B2056_SYN_LOGEN_ACLCAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2613 | [B2056_SYN_LOGEN_ACLCAL3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2614 | [B2056_SYN_CALEN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2615 | [B2056_SYN_LOGEN_PEAKDET1] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, NOUPLOAD, }, | ||
2616 | [B2056_SYN_LOGEN_CORE_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2617 | [B2056_SYN_LOGEN_RX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2618 | [B2056_SYN_LOGEN_TX_DIFF_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2619 | [B2056_SYN_LOGEN_RX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2620 | [B2056_SYN_LOGEN_TX_CMOS_ACL_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2621 | [B2056_SYN_LOGEN_VCOBUF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2622 | [B2056_SYN_LOGEN_MIXER3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2623 | [B2056_SYN_LOGEN_BUF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2624 | [B2056_SYN_LOGEN_BUF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2625 | [B2056_SYN_LOGEN_CBUFRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2626 | [B2056_SYN_LOGEN_CBUFRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2627 | [B2056_SYN_LOGEN_CBUFRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2628 | [B2056_SYN_LOGEN_CBUFRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2629 | [B2056_SYN_LOGEN_CBUFTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2630 | [B2056_SYN_LOGEN_CBUFTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2631 | [B2056_SYN_LOGEN_CBUFTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2632 | [B2056_SYN_LOGEN_CBUFTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2633 | [B2056_SYN_LOGEN_CMOSRX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2634 | [B2056_SYN_LOGEN_CMOSRX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2635 | [B2056_SYN_LOGEN_CMOSRX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2636 | [B2056_SYN_LOGEN_CMOSRX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2637 | [B2056_SYN_LOGEN_CMOSTX1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2638 | [B2056_SYN_LOGEN_CMOSTX2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2639 | [B2056_SYN_LOGEN_CMOSTX3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2640 | [B2056_SYN_LOGEN_CMOSTX4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2641 | [B2056_SYN_LOGEN_VCOBUF2_OVRVAL]= { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
2642 | [B2056_SYN_LOGEN_MIXER3_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2643 | [B2056_SYN_LOGEN_BUF5_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2644 | [B2056_SYN_LOGEN_BUF6_OVRVAL] = { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2645 | [B2056_SYN_LOGEN_CBUFRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2646 | [B2056_SYN_LOGEN_CBUFRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2647 | [B2056_SYN_LOGEN_CBUFRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2648 | [B2056_SYN_LOGEN_CBUFRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2649 | [B2056_SYN_LOGEN_CBUFTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2650 | [B2056_SYN_LOGEN_CBUFTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2651 | [B2056_SYN_LOGEN_CBUFTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2652 | [B2056_SYN_LOGEN_CBUFTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2653 | [B2056_SYN_LOGEN_CMOSRX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2654 | [B2056_SYN_LOGEN_CMOSRX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2655 | [B2056_SYN_LOGEN_CMOSRX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2656 | [B2056_SYN_LOGEN_CMOSRX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2657 | [B2056_SYN_LOGEN_CMOSTX1_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2658 | [B2056_SYN_LOGEN_CMOSTX2_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2659 | [B2056_SYN_LOGEN_CMOSTX3_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2660 | [B2056_SYN_LOGEN_CMOSTX4_OVRVAL]= { .ghz5 = 0x0066, .ghz2 = 0x0066, NOUPLOAD, }, | ||
2661 | [B2056_SYN_LOGEN_ACL_WAITCNT] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
2662 | [B2056_SYN_LOGEN_CORE_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2663 | [B2056_SYN_LOGEN_RX_CMOS_CALVALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2664 | [B2056_SYN_LOGEN_TX_CMOS_VALID] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2665 | }; | ||
2666 | |||
2667 | static const struct b2056_inittab_entry b2056_inittab_rev8_tx[] = { | ||
2668 | [B2056_TX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2669 | [B2056_TX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2670 | [B2056_TX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2671 | [B2056_TX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2672 | [B2056_TX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2673 | [B2056_TX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2674 | [B2056_TX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2675 | [B2056_TX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2676 | [B2056_TX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2677 | [B2056_TX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2678 | [B2056_TX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2679 | [B2056_TX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2680 | [B2056_TX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2681 | [B2056_TX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2682 | [B2056_TX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2683 | [B2056_TX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2684 | [B2056_TX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2685 | [B2056_TX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2686 | [B2056_TX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2687 | [B2056_TX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2688 | [B2056_TX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2689 | [B2056_TX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2690 | [B2056_TX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2691 | [B2056_TX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2692 | [B2056_TX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2693 | [B2056_TX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2694 | [B2056_TX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2695 | [B2056_TX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2696 | [B2056_TX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2697 | [B2056_TX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2698 | [B2056_TX_IQCAL_GAIN_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2699 | [B2056_TX_LOFT_FINE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2700 | [B2056_TX_LOFT_FINE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2701 | [B2056_TX_LOFT_COARSE_I] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2702 | [B2056_TX_LOFT_COARSE_Q] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2703 | [B2056_TX_TX_COM_MASTER1] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2704 | [B2056_TX_TX_COM_MASTER2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2705 | [B2056_TX_RXIQCAL_TXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2706 | [B2056_TX_TX_SSI_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2707 | [B2056_TX_IQCAL_VCM_HG] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2708 | [B2056_TX_IQCAL_IDAC] = { .ghz5 = 0x0037, .ghz2 = 0x0037, NOUPLOAD, }, | ||
2709 | [B2056_TX_TSSI_VCM] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2710 | [B2056_TX_TX_AMP_DET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2711 | [B2056_TX_TX_SSI_MUX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2712 | [B2056_TX_TSSIA] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2713 | [B2056_TX_TSSIG] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2714 | [B2056_TX_TSSI_MISC1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2715 | [B2056_TX_TSSI_MISC2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2716 | [B2056_TX_TSSI_MISC3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2717 | [B2056_TX_PA_SPARE1] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
2718 | [B2056_TX_PA_SPARE2] = { .ghz5 = 0x00ee, .ghz2 = 0x00ee, UPLOAD, }, | ||
2719 | [B2056_TX_INTPAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2720 | [B2056_TX_INTPAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2721 | [B2056_TX_INTPAA_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2722 | [B2056_TX_INTPAA_IAUX_STAT] = { .ghz5 = 0x0050, .ghz2 = 0x0050, UPLOAD, }, | ||
2723 | [B2056_TX_INTPAA_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2724 | [B2056_TX_INTPAA_IMAIN_STAT] = { .ghz5 = 0x0050, .ghz2 = 0x0050, UPLOAD, }, | ||
2725 | [B2056_TX_INTPAA_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2726 | [B2056_TX_INTPAA_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
2727 | [B2056_TX_INTPAA_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
2728 | [B2056_TX_INTPAA_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2729 | [B2056_TX_INTPAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2730 | [B2056_TX_INTPAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2731 | [B2056_TX_INTPAG_BOOST_TUNE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2732 | [B2056_TX_INTPAG_IAUX_STAT] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2733 | [B2056_TX_INTPAG_IAUX_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2734 | [B2056_TX_INTPAG_IMAIN_STAT] = { .ghz5 = 0x001e, .ghz2 = 0x001e, NOUPLOAD, }, | ||
2735 | [B2056_TX_INTPAG_IMAIN_DYN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2736 | [B2056_TX_INTPAG_CASCBIAS] = { .ghz5 = 0x006e, .ghz2 = 0x006e, NOUPLOAD, }, | ||
2737 | [B2056_TX_INTPAG_PASLOPE] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
2738 | [B2056_TX_INTPAG_PA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2739 | [B2056_TX_PADA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2740 | [B2056_TX_PADA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
2741 | [B2056_TX_PADA_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2742 | [B2056_TX_PADA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2743 | [B2056_TX_PADA_BOOST_TUNE] = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, }, | ||
2744 | [B2056_TX_PADA_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
2745 | [B2056_TX_PADG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2746 | [B2056_TX_PADG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2747 | [B2056_TX_PADG_CASCBIAS] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2748 | [B2056_TX_PADG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2749 | [B2056_TX_PADG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2750 | [B2056_TX_PADG_SLOPE] = { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, | ||
2751 | [B2056_TX_PGAA_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2752 | [B2056_TX_PGAA_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
2753 | [B2056_TX_PGAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2754 | [B2056_TX_PGAA_BOOST_TUNE] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, | ||
2755 | [B2056_TX_PGAA_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
2756 | [B2056_TX_PGAA_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2757 | [B2056_TX_PGAG_MASTER] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2758 | [B2056_TX_PGAG_IDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2759 | [B2056_TX_PGAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2760 | [B2056_TX_PGAG_BOOST_TUNE] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2761 | [B2056_TX_PGAG_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, | ||
2762 | [B2056_TX_PGAG_MISC] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2763 | [B2056_TX_MIXA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2764 | [B2056_TX_MIXA_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2765 | [B2056_TX_MIXG] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2766 | [B2056_TX_MIXG_BOOST_TUNE] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2767 | [B2056_TX_BB_GM_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2768 | [B2056_TX_GMBB_GM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2769 | [B2056_TX_GMBB_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
2770 | [B2056_TX_TXLPF_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2771 | [B2056_TX_TXLPF_RCCAL] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
2772 | [B2056_TX_TXLPF_RCCAL_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2773 | [B2056_TX_TXLPF_RCCAL_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2774 | [B2056_TX_TXLPF_RCCAL_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2775 | [B2056_TX_TXLPF_RCCAL_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2776 | [B2056_TX_TXLPF_RCCAL_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2777 | [B2056_TX_TXLPF_RCCAL_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2778 | [B2056_TX_TXLPF_RCCAL_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2779 | [B2056_TX_TXLPF_BW] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2780 | [B2056_TX_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2781 | [B2056_TX_TXLPF_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2782 | [B2056_TX_TXLPF_IDAC_0] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
2783 | [B2056_TX_TXLPF_IDAC_1] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
2784 | [B2056_TX_TXLPF_IDAC_2] = { .ghz5 = 0x000e, .ghz2 = 0x000e, NOUPLOAD, }, | ||
2785 | [B2056_TX_TXLPF_IDAC_3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
2786 | [B2056_TX_TXLPF_IDAC_4] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
2787 | [B2056_TX_TXLPF_IDAC_5] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
2788 | [B2056_TX_TXLPF_IDAC_6] = { .ghz5 = 0x001b, .ghz2 = 0x001b, NOUPLOAD, }, | ||
2789 | [B2056_TX_TXLPF_OPAMP_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
2790 | [B2056_TX_TXLPF_MISC] = { .ghz5 = 0x005b, .ghz2 = 0x005b, NOUPLOAD, }, | ||
2791 | [B2056_TX_TXSPARE1] = { .ghz5 = 0x0030, .ghz2 = 0x0030, UPLOAD, }, | ||
2792 | [B2056_TX_TXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2793 | [B2056_TX_TXSPARE3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2794 | [B2056_TX_TXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2795 | [B2056_TX_TXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2796 | [B2056_TX_TXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2797 | [B2056_TX_TXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2798 | [B2056_TX_TXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2799 | [B2056_TX_TXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2800 | [B2056_TX_TXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2801 | [B2056_TX_TXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2802 | [B2056_TX_TXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2803 | [B2056_TX_TXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2804 | [B2056_TX_TXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2805 | [B2056_TX_TXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2806 | [B2056_TX_TXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2807 | [B2056_TX_STATUS_INTPA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2808 | [B2056_TX_STATUS_PAD_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2809 | [B2056_TX_STATUS_PGA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2810 | [B2056_TX_STATUS_GM_TXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2811 | [B2056_TX_STATUS_TXLPF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2812 | [B2056_TX_STATUS_TXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2813 | [B2056_TX_GMBB_IDAC0] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
2814 | [B2056_TX_GMBB_IDAC1] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
2815 | [B2056_TX_GMBB_IDAC2] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
2816 | [B2056_TX_GMBB_IDAC3] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
2817 | [B2056_TX_GMBB_IDAC4] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
2818 | [B2056_TX_GMBB_IDAC5] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
2819 | [B2056_TX_GMBB_IDAC6] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
2820 | [B2056_TX_GMBB_IDAC7] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
2821 | }; | ||
2822 | |||
2823 | static const struct b2056_inittab_entry b2056_inittab_rev8_rx[] = { | ||
2824 | [B2056_RX_RESERVED_ADDR2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2825 | [B2056_RX_RESERVED_ADDR3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2826 | [B2056_RX_RESERVED_ADDR4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2827 | [B2056_RX_RESERVED_ADDR5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2828 | [B2056_RX_RESERVED_ADDR6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2829 | [B2056_RX_RESERVED_ADDR7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2830 | [B2056_RX_COM_CTRL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2831 | [B2056_RX_COM_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2832 | [B2056_RX_COM_OVR] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2833 | [B2056_RX_COM_RESET] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2834 | [B2056_RX_COM_RCAL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2835 | [B2056_RX_COM_RC_RXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2836 | [B2056_RX_COM_RC_TXLPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2837 | [B2056_RX_COM_RC_RXHPF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2838 | [B2056_RX_RESERVED_ADDR16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2839 | [B2056_RX_RESERVED_ADDR17] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2840 | [B2056_RX_RESERVED_ADDR18] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2841 | [B2056_RX_RESERVED_ADDR19] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2842 | [B2056_RX_RESERVED_ADDR20] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2843 | [B2056_RX_RESERVED_ADDR21] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2844 | [B2056_RX_RESERVED_ADDR22] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2845 | [B2056_RX_RESERVED_ADDR23] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2846 | [B2056_RX_RESERVED_ADDR24] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2847 | [B2056_RX_RESERVED_ADDR25] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2848 | [B2056_RX_RESERVED_ADDR26] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2849 | [B2056_RX_RESERVED_ADDR27] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2850 | [B2056_RX_RESERVED_ADDR28] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2851 | [B2056_RX_RESERVED_ADDR29] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2852 | [B2056_RX_RESERVED_ADDR30] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2853 | [B2056_RX_RESERVED_ADDR31] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2854 | [B2056_RX_RXIQCAL_RXMUX] = { .ghz5 = 0x0003, .ghz2 = 0x0003, NOUPLOAD, }, | ||
2855 | [B2056_RX_RSSI_PU] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2856 | [B2056_RX_RSSI_SEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2857 | [B2056_RX_RSSI_GAIN] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
2858 | [B2056_RX_RSSI_NB_IDAC] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
2859 | [B2056_RX_RSSI_WB2I_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
2860 | [B2056_RX_RSSI_WB2I_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
2861 | [B2056_RX_RSSI_WB2Q_IDAC_1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
2862 | [B2056_RX_RSSI_WB2Q_IDAC_2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, NOUPLOAD, }, | ||
2863 | [B2056_RX_RSSI_POLE] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
2864 | [B2056_RX_RSSI_WB1_IDAC] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
2865 | [B2056_RX_RSSI_MISC] = { .ghz5 = 0x0090, .ghz2 = 0x0090, NOUPLOAD, }, | ||
2866 | [B2056_RX_LNAA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2867 | [B2056_RX_LNAA_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2868 | [B2056_RX_LNAA_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
2869 | [B2056_RX_LNA_A_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
2870 | [B2056_RX_BIASPOLE_LNAA1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
2871 | [B2056_RX_LNAA2_IDAC] = { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, | ||
2872 | [B2056_RX_LNA1A_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
2873 | [B2056_RX_LNAG_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2874 | [B2056_RX_LNAG_TUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
2875 | [B2056_RX_LNAG_GAIN] = { .ghz5 = 0x0032, .ghz2 = 0x0032, NOUPLOAD, }, | ||
2876 | [B2056_RX_LNA_G_SLOPE] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
2877 | [B2056_RX_BIASPOLE_LNAG1_IDAC] = { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, | ||
2878 | [B2056_RX_LNAG2_IDAC] = { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, | ||
2879 | [B2056_RX_LNA1G_MISC] = { .ghz5 = 0x0020, .ghz2 = 0x0020, NOUPLOAD, }, | ||
2880 | [B2056_RX_MIXA_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2881 | [B2056_RX_MIXA_VCM] = { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, | ||
2882 | [B2056_RX_MIXA_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2883 | [B2056_RX_MIXA_LOB_BIAS] = { .ghz5 = 0x0088, .ghz2 = 0x0088, UPLOAD, }, | ||
2884 | [B2056_RX_MIXA_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2885 | [B2056_RX_MIXA_CMFB_IDAC] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
2886 | [B2056_RX_MIXA_BIAS_AUX] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
2887 | [B2056_RX_MIXA_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
2888 | [B2056_RX_MIXA_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
2889 | [B2056_RX_MIXA_MAST_BIAS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2890 | [B2056_RX_MIXG_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2891 | [B2056_RX_MIXG_VCM] = { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, | ||
2892 | [B2056_RX_MIXG_CTRLPTAT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2893 | [B2056_RX_MIXG_LOB_BIAS] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
2894 | [B2056_RX_MIXG_CORE_IDAC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2895 | [B2056_RX_MIXG_CMFB_IDAC] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
2896 | [B2056_RX_MIXG_BIAS_AUX] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2897 | [B2056_RX_MIXG_BIAS_MAIN] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
2898 | [B2056_RX_MIXG_BIAS_MISC] = { .ghz5 = 0x0004, .ghz2 = 0x0004, NOUPLOAD, }, | ||
2899 | [B2056_RX_MIXG_MAST_BIAS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2900 | [B2056_RX_TIA_MASTER] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2901 | [B2056_RX_TIA_IOPAMP] = { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, | ||
2902 | [B2056_RX_TIA_QOPAMP] = { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, | ||
2903 | [B2056_RX_TIA_IMISC] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
2904 | [B2056_RX_TIA_QMISC] = { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, | ||
2905 | [B2056_RX_TIA_GAIN] = { .ghz5 = 0x0044, .ghz2 = 0x0044, NOUPLOAD, }, | ||
2906 | [B2056_RX_TIA_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2907 | [B2056_RX_TIA_SPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2908 | [B2056_RX_BB_LPF_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2909 | [B2056_RX_AACI_MASTER] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
2910 | [B2056_RX_RXLPF_IDAC] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2911 | [B2056_RX_RXLPF_OPAMPBIAS_LOWQ] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
2912 | [B2056_RX_RXLPF_OPAMPBIAS_HIGHQ]= { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
2913 | [B2056_RX_RXLPF_BIAS_DCCANCEL] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
2914 | [B2056_RX_RXLPF_OUTVCM] = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, | ||
2915 | [B2056_RX_RXLPF_INVCM_BODY] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
2916 | [B2056_RX_RXLPF_CC_OP] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
2917 | [B2056_RX_RXLPF_GAIN] = { .ghz5 = 0x0023, .ghz2 = 0x0023, NOUPLOAD, }, | ||
2918 | [B2056_RX_RXLPF_Q_BW] = { .ghz5 = 0x0041, .ghz2 = 0x0041, NOUPLOAD, }, | ||
2919 | [B2056_RX_RXLPF_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2920 | [B2056_RX_RXLPF_RCCAL_HPC] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
2921 | [B2056_RX_RXHPF_OFF0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2922 | [B2056_RX_RXHPF_OFF1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2923 | [B2056_RX_RXHPF_OFF2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2924 | [B2056_RX_RXHPF_OFF3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2925 | [B2056_RX_RXHPF_OFF4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2926 | [B2056_RX_RXHPF_OFF5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2927 | [B2056_RX_RXHPF_OFF6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2928 | [B2056_RX_RXHPF_OFF7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2929 | [B2056_RX_RXLPF_RCCAL_LPC] = { .ghz5 = 0x000c, .ghz2 = 0x000c, NOUPLOAD, }, | ||
2930 | [B2056_RX_RXLPF_OFF_0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2931 | [B2056_RX_RXLPF_OFF_1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2932 | [B2056_RX_RXLPF_OFF_2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2933 | [B2056_RX_RXLPF_OFF_3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2934 | [B2056_RX_RXLPF_OFF_4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2935 | [B2056_RX_UNUSED] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2936 | [B2056_RX_VGA_MASTER] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
2937 | [B2056_RX_VGA_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
2938 | [B2056_RX_VGA_BIAS_DCCANCEL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, | ||
2939 | [B2056_RX_VGA_GAIN] = { .ghz5 = 0x000a, .ghz2 = 0x000a, NOUPLOAD, }, | ||
2940 | [B2056_RX_VGA_HP_CORNER_BW] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
2941 | [B2056_RX_VGABUF_BIAS] = { .ghz5 = 0x0022, .ghz2 = 0x0022, NOUPLOAD, }, | ||
2942 | [B2056_RX_VGABUF_GAIN_BW] = { .ghz5 = 0x0030, .ghz2 = 0x0030, NOUPLOAD, }, | ||
2943 | [B2056_RX_TXFBMIX_A] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2944 | [B2056_RX_TXFBMIX_G] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2945 | [B2056_RX_RXSPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2946 | [B2056_RX_RXSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2947 | [B2056_RX_RXSPARE3] = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, }, | ||
2948 | [B2056_RX_RXSPARE4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2949 | [B2056_RX_RXSPARE5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2950 | [B2056_RX_RXSPARE6] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2951 | [B2056_RX_RXSPARE7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2952 | [B2056_RX_RXSPARE8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2953 | [B2056_RX_RXSPARE9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2954 | [B2056_RX_RXSPARE10] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2955 | [B2056_RX_RXSPARE11] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2956 | [B2056_RX_RXSPARE12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2957 | [B2056_RX_RXSPARE13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2958 | [B2056_RX_RXSPARE14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2959 | [B2056_RX_RXSPARE15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2960 | [B2056_RX_RXSPARE16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2961 | [B2056_RX_STATUS_LNAA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2962 | [B2056_RX_STATUS_LNAG_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2963 | [B2056_RX_STATUS_MIXTIA_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2964 | [B2056_RX_STATUS_RXLPF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2965 | [B2056_RX_STATUS_VGA_BUF_GAIN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2966 | [B2056_RX_STATUS_RXLPF_Q] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2967 | [B2056_RX_STATUS_RXLPF_BUF_BW] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2968 | [B2056_RX_STATUS_RXLPF_VGA_HPC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2969 | [B2056_RX_STATUS_RXLPF_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2970 | [B2056_RX_STATUS_HPC_RC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
2971 | }; | ||
2972 | |||
2973 | #define INITTABSPTS(prefix) \ | ||
2974 | .syn = prefix##_syn, \ | ||
2975 | .syn_length = ARRAY_SIZE(prefix##_syn), \ | ||
2976 | .tx = prefix##_tx, \ | ||
2977 | .tx_length = ARRAY_SIZE(prefix##_tx), \ | ||
2978 | .rx = prefix##_rx, \ | ||
2979 | .rx_length = ARRAY_SIZE(prefix##_rx) | ||
2980 | |||
2981 | struct b2056_inittabs_pts b2056_inittabs[] = { | ||
2982 | [3] = { INITTABSPTS(b2056_inittab_rev3) }, | ||
2983 | [4] = { INITTABSPTS(b2056_inittab_rev4) }, | ||
2984 | [5] = { INITTABSPTS(b2056_inittab_rev5) }, | ||
2985 | [6] = { INITTABSPTS(b2056_inittab_rev6) }, | ||
2986 | [7] = { INITTABSPTS(b2056_inittab_rev7) }, | ||
2987 | [8] = { INITTABSPTS(b2056_inittab_rev8) }, | ||
2988 | [9] = { INITTABSPTS(b2056_inittab_rev7) }, | ||
2989 | }; | ||
2990 | |||
2991 | #define RADIOREGS3(r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, \ | ||
2992 | r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, \ | ||
2993 | r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, \ | ||
2994 | r30, r31, r32, r33, r34, r35, r36) \ | ||
2995 | .radio_syn_pll_vcocal1 = r00, \ | ||
2996 | .radio_syn_pll_vcocal2 = r01, \ | ||
2997 | .radio_syn_pll_refdiv = r02, \ | ||
2998 | .radio_syn_pll_mmd2 = r03, \ | ||
2999 | .radio_syn_pll_mmd1 = r04, \ | ||
3000 | .radio_syn_pll_loopfilter1 = r05, \ | ||
3001 | .radio_syn_pll_loopfilter2 = r06, \ | ||
3002 | .radio_syn_pll_loopfilter3 = r07, \ | ||
3003 | .radio_syn_pll_loopfilter4 = r08, \ | ||
3004 | .radio_syn_pll_loopfilter5 = r09, \ | ||
3005 | .radio_syn_reserved_addr27 = r10, \ | ||
3006 | .radio_syn_reserved_addr28 = r11, \ | ||
3007 | .radio_syn_reserved_addr29 = r12, \ | ||
3008 | .radio_syn_logen_vcobuf1 = r13, \ | ||
3009 | .radio_syn_logen_mixer2 = r14, \ | ||
3010 | .radio_syn_logen_buf3 = r15, \ | ||
3011 | .radio_syn_logen_buf4 = r16, \ | ||
3012 | .radio_rx0_lnaa_tune = r17, \ | ||
3013 | .radio_rx0_lnag_tune = r18, \ | ||
3014 | .radio_tx0_intpaa_boost_tune = r19, \ | ||
3015 | .radio_tx0_intpag_boost_tune = r20, \ | ||
3016 | .radio_tx0_pada_boost_tune = r21, \ | ||
3017 | .radio_tx0_padg_boost_tune = r22, \ | ||
3018 | .radio_tx0_pgaa_boost_tune = r23, \ | ||
3019 | .radio_tx0_pgag_boost_tune = r24, \ | ||
3020 | .radio_tx0_mixa_boost_tune = r25, \ | ||
3021 | .radio_tx0_mixg_boost_tune = r26, \ | ||
3022 | .radio_rx1_lnaa_tune = r27, \ | ||
3023 | .radio_rx1_lnag_tune = r28, \ | ||
3024 | .radio_tx1_intpaa_boost_tune = r29, \ | ||
3025 | .radio_tx1_intpag_boost_tune = r30, \ | ||
3026 | .radio_tx1_pada_boost_tune = r31, \ | ||
3027 | .radio_tx1_padg_boost_tune = r32, \ | ||
3028 | .radio_tx1_pgaa_boost_tune = r33, \ | ||
3029 | .radio_tx1_pgag_boost_tune = r34, \ | ||
3030 | .radio_tx1_mixa_boost_tune = r35, \ | ||
3031 | .radio_tx1_mixg_boost_tune = r36 | ||
3032 | |||
3033 | #define PHYREGS(r0, r1, r2, r3, r4, r5) \ | ||
3034 | .phy_regs.phy_bw1a = r0, \ | ||
3035 | .phy_regs.phy_bw2 = r1, \ | ||
3036 | .phy_regs.phy_bw3 = r2, \ | ||
3037 | .phy_regs.phy_bw4 = r3, \ | ||
3038 | .phy_regs.phy_bw5 = r4, \ | ||
3039 | .phy_regs.phy_bw6 = r5 | ||
3040 | |||
3041 | /* http://bcm-v4.sipsolutions.net/802.11/Radio/2056/ChannelTable */ | ||
3042 | static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev3[] = { | ||
3043 | { .freq = 4920, | ||
3044 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, | ||
3045 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
3046 | 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b, | ||
3047 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, | ||
3048 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3049 | PHYREGS(0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216), | ||
3050 | }, | ||
3051 | { .freq = 4930, | ||
3052 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, | ||
3053 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
3054 | 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b, | ||
3055 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, | ||
3056 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3057 | PHYREGS(0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215), | ||
3058 | }, | ||
3059 | { .freq = 4940, | ||
3060 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, | ||
3061 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
3062 | 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b, | ||
3063 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, | ||
3064 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3065 | PHYREGS(0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214), | ||
3066 | }, | ||
3067 | { .freq = 4950, | ||
3068 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, | ||
3069 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
3070 | 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b, | ||
3071 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, | ||
3072 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3073 | PHYREGS(0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213), | ||
3074 | }, | ||
3075 | { .freq = 4960, | ||
3076 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, | ||
3077 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3078 | 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b, | ||
3079 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, | ||
3080 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3081 | PHYREGS(0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212), | ||
3082 | }, | ||
3083 | { .freq = 4970, | ||
3084 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, | ||
3085 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3086 | 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b, | ||
3087 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, | ||
3088 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3089 | PHYREGS(0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211), | ||
3090 | }, | ||
3091 | { .freq = 4980, | ||
3092 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, | ||
3093 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3094 | 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b, | ||
3095 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, | ||
3096 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3097 | PHYREGS(0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f), | ||
3098 | }, | ||
3099 | { .freq = 4990, | ||
3100 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, | ||
3101 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3102 | 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b, | ||
3103 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, | ||
3104 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3105 | PHYREGS(0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e), | ||
3106 | }, | ||
3107 | { .freq = 5000, | ||
3108 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, | ||
3109 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3110 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3111 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3112 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3113 | PHYREGS(0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d), | ||
3114 | }, | ||
3115 | { .freq = 5010, | ||
3116 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, | ||
3117 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3118 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3119 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3120 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3121 | PHYREGS(0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c), | ||
3122 | }, | ||
3123 | { .freq = 5020, | ||
3124 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, | ||
3125 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3126 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3127 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3128 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3129 | PHYREGS(0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b), | ||
3130 | }, | ||
3131 | { .freq = 5030, | ||
3132 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, | ||
3133 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3134 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3135 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3136 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3137 | PHYREGS(0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a), | ||
3138 | }, | ||
3139 | { .freq = 5040, | ||
3140 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, | ||
3141 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3142 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3143 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3144 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3145 | PHYREGS(0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209), | ||
3146 | }, | ||
3147 | { .freq = 5050, | ||
3148 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, | ||
3149 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3150 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3151 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3152 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3153 | PHYREGS(0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208), | ||
3154 | }, | ||
3155 | { .freq = 5060, | ||
3156 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, | ||
3157 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3158 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3159 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3160 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3161 | PHYREGS(0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207), | ||
3162 | }, | ||
3163 | { .freq = 5070, | ||
3164 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, | ||
3165 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3166 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3167 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3168 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3169 | PHYREGS(0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206), | ||
3170 | }, | ||
3171 | { .freq = 5080, | ||
3172 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, | ||
3173 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3174 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3175 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3176 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3177 | PHYREGS(0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205), | ||
3178 | }, | ||
3179 | { .freq = 5090, | ||
3180 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, | ||
3181 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
3182 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3183 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3184 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3185 | PHYREGS(0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204), | ||
3186 | }, | ||
3187 | { .freq = 5100, | ||
3188 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, | ||
3189 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3190 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3191 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3192 | 0x00, 0x0b, 0x00, 0xff, 0x00), | ||
3193 | PHYREGS(0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203), | ||
3194 | }, | ||
3195 | { .freq = 5110, | ||
3196 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, | ||
3197 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3198 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3199 | 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3200 | 0x00, 0x0b, 0x00, 0xfc, 0x00), | ||
3201 | PHYREGS(0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202), | ||
3202 | }, | ||
3203 | { .freq = 5120, | ||
3204 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, | ||
3205 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3206 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3207 | 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3208 | 0x00, 0x0b, 0x00, 0xfc, 0x00), | ||
3209 | PHYREGS(0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201), | ||
3210 | }, | ||
3211 | { .freq = 5130, | ||
3212 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, | ||
3213 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3214 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3215 | 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3216 | 0x00, 0x0b, 0x00, 0xfc, 0x00), | ||
3217 | PHYREGS(0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200), | ||
3218 | }, | ||
3219 | { .freq = 5140, | ||
3220 | RADIOREGS3(0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, | ||
3221 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3222 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3223 | 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3224 | 0x00, 0x0b, 0x00, 0xfc, 0x00), | ||
3225 | PHYREGS(0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff), | ||
3226 | }, | ||
3227 | { .freq = 5160, | ||
3228 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, | ||
3229 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3230 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3231 | 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3232 | 0x00, 0x0b, 0x00, 0xfc, 0x00), | ||
3233 | PHYREGS(0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd), | ||
3234 | }, | ||
3235 | { .freq = 5170, | ||
3236 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, | ||
3237 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3238 | 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3239 | 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, | ||
3240 | 0x00, 0x0b, 0x00, 0xfc, 0x00), | ||
3241 | PHYREGS(0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc), | ||
3242 | }, | ||
3243 | { .freq = 5180, | ||
3244 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, | ||
3245 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3246 | 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3247 | 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, | ||
3248 | 0x00, 0x0b, 0x00, 0xfc, 0x00), | ||
3249 | PHYREGS(0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb), | ||
3250 | }, | ||
3251 | { .freq = 5190, | ||
3252 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, | ||
3253 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3254 | 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b, | ||
3255 | 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, | ||
3256 | 0x00, 0x0b, 0x00, 0xfc, 0x00), | ||
3257 | PHYREGS(0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa), | ||
3258 | }, | ||
3259 | { .freq = 5200, | ||
3260 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, | ||
3261 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3262 | 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a, | ||
3263 | 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, | ||
3264 | 0x00, 0x0a, 0x00, 0xfc, 0x00), | ||
3265 | PHYREGS(0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9), | ||
3266 | }, | ||
3267 | { .freq = 5210, | ||
3268 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, | ||
3269 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3270 | 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a, | ||
3271 | 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, | ||
3272 | 0x00, 0x0a, 0x00, 0xfc, 0x00), | ||
3273 | PHYREGS(0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8), | ||
3274 | }, | ||
3275 | { .freq = 5220, | ||
3276 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, | ||
3277 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3278 | 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a, | ||
3279 | 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, | ||
3280 | 0x00, 0x0a, 0x00, 0xfc, 0x00), | ||
3281 | PHYREGS(0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7), | ||
3282 | }, | ||
3283 | { .freq = 5230, | ||
3284 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, | ||
3285 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3286 | 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a, | ||
3287 | 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, | ||
3288 | 0x00, 0x0a, 0x00, 0xfc, 0x00), | ||
3289 | PHYREGS(0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6), | ||
3290 | }, | ||
3291 | { .freq = 5240, | ||
3292 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, | ||
3293 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3294 | 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a, | ||
3295 | 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, | ||
3296 | 0x00, 0x0a, 0x00, 0xfc, 0x00), | ||
3297 | PHYREGS(0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5), | ||
3298 | }, | ||
3299 | { .freq = 5250, | ||
3300 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, | ||
3301 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3302 | 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a, | ||
3303 | 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, | ||
3304 | 0x00, 0x0a, 0x00, 0xfc, 0x00), | ||
3305 | PHYREGS(0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4), | ||
3306 | }, | ||
3307 | { .freq = 5260, | ||
3308 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, | ||
3309 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
3310 | 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a, | ||
3311 | 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, | ||
3312 | 0x00, 0x0a, 0x00, 0xfc, 0x00), | ||
3313 | PHYREGS(0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3), | ||
3314 | }, | ||
3315 | { .freq = 5270, | ||
3316 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, | ||
3317 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, | ||
3318 | 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a, | ||
3319 | 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, | ||
3320 | 0x00, 0x0a, 0x00, 0xfc, 0x00), | ||
3321 | PHYREGS(0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2), | ||
3322 | }, | ||
3323 | { .freq = 5280, | ||
3324 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, | ||
3325 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, | ||
3326 | 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a, | ||
3327 | 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, | ||
3328 | 0x00, 0x0a, 0x00, 0xfc, 0x00), | ||
3329 | PHYREGS(0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1), | ||
3330 | }, | ||
3331 | { .freq = 5290, | ||
3332 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, | ||
3333 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, | ||
3334 | 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a, | ||
3335 | 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, | ||
3336 | 0x00, 0x0a, 0x00, 0xfc, 0x00), | ||
3337 | PHYREGS(0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0), | ||
3338 | }, | ||
3339 | { .freq = 5300, | ||
3340 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, | ||
3341 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
3342 | 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09, | ||
3343 | 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, | ||
3344 | 0x00, 0x09, 0x00, 0xfc, 0x00), | ||
3345 | PHYREGS(0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0), | ||
3346 | }, | ||
3347 | { .freq = 5310, | ||
3348 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, | ||
3349 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
3350 | 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09, | ||
3351 | 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, | ||
3352 | 0x00, 0x09, 0x00, 0xfa, 0x00), | ||
3353 | PHYREGS(0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef), | ||
3354 | }, | ||
3355 | { .freq = 5320, | ||
3356 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, | ||
3357 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
3358 | 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09, | ||
3359 | 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, | ||
3360 | 0x00, 0x09, 0x00, 0xfa, 0x00), | ||
3361 | PHYREGS(0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee), | ||
3362 | }, | ||
3363 | { .freq = 5330, | ||
3364 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, | ||
3365 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
3366 | 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09, | ||
3367 | 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, | ||
3368 | 0x00, 0x09, 0x00, 0xfa, 0x00), | ||
3369 | PHYREGS(0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed), | ||
3370 | }, | ||
3371 | { .freq = 5340, | ||
3372 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, | ||
3373 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
3374 | 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09, | ||
3375 | 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, | ||
3376 | 0x00, 0x09, 0x00, 0xfa, 0x00), | ||
3377 | PHYREGS(0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec), | ||
3378 | }, | ||
3379 | { .freq = 5350, | ||
3380 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, | ||
3381 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
3382 | 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09, | ||
3383 | 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, | ||
3384 | 0x00, 0x09, 0x00, 0xfa, 0x00), | ||
3385 | PHYREGS(0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb), | ||
3386 | }, | ||
3387 | { .freq = 5360, | ||
3388 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, | ||
3389 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
3390 | 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09, | ||
3391 | 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, | ||
3392 | 0x00, 0x09, 0x00, 0xfa, 0x00), | ||
3393 | PHYREGS(0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea), | ||
3394 | }, | ||
3395 | { .freq = 5370, | ||
3396 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, | ||
3397 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
3398 | 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09, | ||
3399 | 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, | ||
3400 | 0x00, 0x09, 0x00, 0xfa, 0x00), | ||
3401 | PHYREGS(0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9), | ||
3402 | }, | ||
3403 | { .freq = 5380, | ||
3404 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, | ||
3405 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
3406 | 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09, | ||
3407 | 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, | ||
3408 | 0x00, 0x09, 0x00, 0xfa, 0x00), | ||
3409 | PHYREGS(0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8), | ||
3410 | }, | ||
3411 | { .freq = 5390, | ||
3412 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, | ||
3413 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
3414 | 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09, | ||
3415 | 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, | ||
3416 | 0x00, 0x09, 0x00, 0xfa, 0x00), | ||
3417 | PHYREGS(0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7), | ||
3418 | }, | ||
3419 | { .freq = 5400, | ||
3420 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, | ||
3421 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
3422 | 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08, | ||
3423 | 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, | ||
3424 | 0x00, 0x08, 0x00, 0xfa, 0x00), | ||
3425 | PHYREGS(0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6), | ||
3426 | }, | ||
3427 | { .freq = 5410, | ||
3428 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, | ||
3429 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
3430 | 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08, | ||
3431 | 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, | ||
3432 | 0x00, 0x08, 0x00, 0xfa, 0x00), | ||
3433 | PHYREGS(0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5), | ||
3434 | }, | ||
3435 | { .freq = 5420, | ||
3436 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, | ||
3437 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
3438 | 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08, | ||
3439 | 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, | ||
3440 | 0x00, 0x08, 0x00, 0xfa, 0x00), | ||
3441 | PHYREGS(0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5), | ||
3442 | }, | ||
3443 | { .freq = 5430, | ||
3444 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, | ||
3445 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
3446 | 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08, | ||
3447 | 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, | ||
3448 | 0x00, 0x08, 0x00, 0xfa, 0x00), | ||
3449 | PHYREGS(0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4), | ||
3450 | }, | ||
3451 | { .freq = 5440, | ||
3452 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, | ||
3453 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
3454 | 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08, | ||
3455 | 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, | ||
3456 | 0x00, 0x08, 0x00, 0xfa, 0x00), | ||
3457 | PHYREGS(0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3), | ||
3458 | }, | ||
3459 | { .freq = 5450, | ||
3460 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, | ||
3461 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
3462 | 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08, | ||
3463 | 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, | ||
3464 | 0x00, 0x08, 0x00, 0xfa, 0x00), | ||
3465 | PHYREGS(0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2), | ||
3466 | }, | ||
3467 | { .freq = 5460, | ||
3468 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, | ||
3469 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
3470 | 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08, | ||
3471 | 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, | ||
3472 | 0x00, 0x08, 0x00, 0xf8, 0x00), | ||
3473 | PHYREGS(0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1), | ||
3474 | }, | ||
3475 | { .freq = 5470, | ||
3476 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, | ||
3477 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
3478 | 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08, | ||
3479 | 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, | ||
3480 | 0x00, 0x08, 0x00, 0xf8, 0x00), | ||
3481 | PHYREGS(0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0), | ||
3482 | }, | ||
3483 | { .freq = 5480, | ||
3484 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, | ||
3485 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
3486 | 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08, | ||
3487 | 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, | ||
3488 | 0x00, 0x08, 0x00, 0xf8, 0x00), | ||
3489 | PHYREGS(0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df), | ||
3490 | }, | ||
3491 | { .freq = 5490, | ||
3492 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, | ||
3493 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
3494 | 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08, | ||
3495 | 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, | ||
3496 | 0x00, 0x08, 0x00, 0xf8, 0x00), | ||
3497 | PHYREGS(0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de), | ||
3498 | }, | ||
3499 | { .freq = 5500, | ||
3500 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, | ||
3501 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
3502 | 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3503 | 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, | ||
3504 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3505 | PHYREGS(0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd), | ||
3506 | }, | ||
3507 | { .freq = 5510, | ||
3508 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, | ||
3509 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
3510 | 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3511 | 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, | ||
3512 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3513 | PHYREGS(0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd), | ||
3514 | }, | ||
3515 | { .freq = 5520, | ||
3516 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, | ||
3517 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
3518 | 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3519 | 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, | ||
3520 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3521 | PHYREGS(0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc), | ||
3522 | }, | ||
3523 | { .freq = 5530, | ||
3524 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, | ||
3525 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
3526 | 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3527 | 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, | ||
3528 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3529 | PHYREGS(0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db), | ||
3530 | }, | ||
3531 | { .freq = 5540, | ||
3532 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, | ||
3533 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
3534 | 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3535 | 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, | ||
3536 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3537 | PHYREGS(0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da), | ||
3538 | }, | ||
3539 | { .freq = 5550, | ||
3540 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, | ||
3541 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
3542 | 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3543 | 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, | ||
3544 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3545 | PHYREGS(0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9), | ||
3546 | }, | ||
3547 | { .freq = 5560, | ||
3548 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, | ||
3549 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
3550 | 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3551 | 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, | ||
3552 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3553 | PHYREGS(0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8), | ||
3554 | }, | ||
3555 | { .freq = 5570, | ||
3556 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, | ||
3557 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
3558 | 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3559 | 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, | ||
3560 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3561 | PHYREGS(0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7), | ||
3562 | }, | ||
3563 | { .freq = 5580, | ||
3564 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, | ||
3565 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
3566 | 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3567 | 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, | ||
3568 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3569 | PHYREGS(0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7), | ||
3570 | }, | ||
3571 | { .freq = 5590, | ||
3572 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, | ||
3573 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
3574 | 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3575 | 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, | ||
3576 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3577 | PHYREGS(0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6), | ||
3578 | }, | ||
3579 | { .freq = 5600, | ||
3580 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, | ||
3581 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
3582 | 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3583 | 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, | ||
3584 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3585 | PHYREGS(0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5), | ||
3586 | }, | ||
3587 | { .freq = 5610, | ||
3588 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, | ||
3589 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
3590 | 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3591 | 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, | ||
3592 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3593 | PHYREGS(0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4), | ||
3594 | }, | ||
3595 | { .freq = 5620, | ||
3596 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, | ||
3597 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
3598 | 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3599 | 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, | ||
3600 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3601 | PHYREGS(0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3), | ||
3602 | }, | ||
3603 | { .freq = 5630, | ||
3604 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, | ||
3605 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
3606 | 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3607 | 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, | ||
3608 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3609 | PHYREGS(0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2), | ||
3610 | }, | ||
3611 | { .freq = 5640, | ||
3612 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, | ||
3613 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
3614 | 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3615 | 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, | ||
3616 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3617 | PHYREGS(0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2), | ||
3618 | }, | ||
3619 | { .freq = 5650, | ||
3620 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, | ||
3621 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
3622 | 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3623 | 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, | ||
3624 | 0x00, 0x07, 0x00, 0xf8, 0x00), | ||
3625 | PHYREGS(0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1), | ||
3626 | }, | ||
3627 | { .freq = 5660, | ||
3628 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, | ||
3629 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
3630 | 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3631 | 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, | ||
3632 | 0x00, 0x07, 0x00, 0xf6, 0x00), | ||
3633 | PHYREGS(0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0), | ||
3634 | }, | ||
3635 | { .freq = 5670, | ||
3636 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, | ||
3637 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
3638 | 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3639 | 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, | ||
3640 | 0x00, 0x07, 0x00, 0xf6, 0x00), | ||
3641 | PHYREGS(0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf), | ||
3642 | }, | ||
3643 | { .freq = 5680, | ||
3644 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, | ||
3645 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
3646 | 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3647 | 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, | ||
3648 | 0x00, 0x07, 0x00, 0xf6, 0x00), | ||
3649 | PHYREGS(0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce), | ||
3650 | }, | ||
3651 | { .freq = 5690, | ||
3652 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, | ||
3653 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
3654 | 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07, | ||
3655 | 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, | ||
3656 | 0x00, 0x07, 0x00, 0xf6, 0x00), | ||
3657 | PHYREGS(0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce), | ||
3658 | }, | ||
3659 | { .freq = 5700, | ||
3660 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, | ||
3661 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3662 | 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3663 | 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, | ||
3664 | 0x00, 0x06, 0x00, 0xf6, 0x00), | ||
3665 | PHYREGS(0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd), | ||
3666 | }, | ||
3667 | { .freq = 5710, | ||
3668 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, | ||
3669 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3670 | 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3671 | 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, | ||
3672 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3673 | PHYREGS(0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc), | ||
3674 | }, | ||
3675 | { .freq = 5720, | ||
3676 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, | ||
3677 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3678 | 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3679 | 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, | ||
3680 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3681 | PHYREGS(0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb), | ||
3682 | }, | ||
3683 | { .freq = 5725, | ||
3684 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, | ||
3685 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3686 | 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3687 | 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, | ||
3688 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3689 | PHYREGS(0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb), | ||
3690 | }, | ||
3691 | { .freq = 5730, | ||
3692 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, | ||
3693 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3694 | 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3695 | 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, | ||
3696 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3697 | PHYREGS(0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca), | ||
3698 | }, | ||
3699 | { .freq = 5735, | ||
3700 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, | ||
3701 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3702 | 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3703 | 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, | ||
3704 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3705 | PHYREGS(0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca), | ||
3706 | }, | ||
3707 | { .freq = 5740, | ||
3708 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, | ||
3709 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3710 | 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3711 | 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, | ||
3712 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3713 | PHYREGS(0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9), | ||
3714 | }, | ||
3715 | { .freq = 5745, | ||
3716 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, | ||
3717 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3718 | 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3719 | 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, | ||
3720 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3721 | PHYREGS(0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9), | ||
3722 | }, | ||
3723 | { .freq = 5750, | ||
3724 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, | ||
3725 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3726 | 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3727 | 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, | ||
3728 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3729 | PHYREGS(0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9), | ||
3730 | }, | ||
3731 | { .freq = 5755, | ||
3732 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, | ||
3733 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3734 | 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3735 | 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, | ||
3736 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3737 | PHYREGS(0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8), | ||
3738 | }, | ||
3739 | { .freq = 5760, | ||
3740 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, | ||
3741 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3742 | 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3743 | 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, | ||
3744 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3745 | PHYREGS(0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8), | ||
3746 | }, | ||
3747 | { .freq = 5765, | ||
3748 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, | ||
3749 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3750 | 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3751 | 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, | ||
3752 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3753 | PHYREGS(0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8), | ||
3754 | }, | ||
3755 | { .freq = 5770, | ||
3756 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, | ||
3757 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3758 | 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3759 | 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, | ||
3760 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3761 | PHYREGS(0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7), | ||
3762 | }, | ||
3763 | { .freq = 5775, | ||
3764 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, | ||
3765 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3766 | 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3767 | 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, | ||
3768 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3769 | PHYREGS(0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7), | ||
3770 | }, | ||
3771 | { .freq = 5780, | ||
3772 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, | ||
3773 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
3774 | 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3775 | 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, | ||
3776 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3777 | PHYREGS(0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6), | ||
3778 | }, | ||
3779 | { .freq = 5785, | ||
3780 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, | ||
3781 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, | ||
3782 | 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3783 | 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, | ||
3784 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3785 | PHYREGS(0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6), | ||
3786 | }, | ||
3787 | { .freq = 5790, | ||
3788 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, | ||
3789 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, | ||
3790 | 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3791 | 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, | ||
3792 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3793 | PHYREGS(0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6), | ||
3794 | }, | ||
3795 | { .freq = 5795, | ||
3796 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, | ||
3797 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, | ||
3798 | 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06, | ||
3799 | 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, | ||
3800 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3801 | PHYREGS(0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5), | ||
3802 | }, | ||
3803 | { .freq = 5800, | ||
3804 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, | ||
3805 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3806 | 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3807 | 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, | ||
3808 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3809 | PHYREGS(0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5), | ||
3810 | }, | ||
3811 | { .freq = 5805, | ||
3812 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, | ||
3813 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3814 | 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3815 | 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, | ||
3816 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3817 | PHYREGS(0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4), | ||
3818 | }, | ||
3819 | { .freq = 5810, | ||
3820 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, | ||
3821 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3822 | 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3823 | 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, | ||
3824 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3825 | PHYREGS(0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4), | ||
3826 | }, | ||
3827 | { .freq = 5815, | ||
3828 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, | ||
3829 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3830 | 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3831 | 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, | ||
3832 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3833 | PHYREGS(0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4), | ||
3834 | }, | ||
3835 | { .freq = 5820, | ||
3836 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, | ||
3837 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3838 | 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3839 | 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, | ||
3840 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3841 | PHYREGS(0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3), | ||
3842 | }, | ||
3843 | { .freq = 5825, | ||
3844 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, | ||
3845 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3846 | 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3847 | 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, | ||
3848 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3849 | PHYREGS(0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3), | ||
3850 | }, | ||
3851 | { .freq = 5830, | ||
3852 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, | ||
3853 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3854 | 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3855 | 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, | ||
3856 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3857 | PHYREGS(0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2), | ||
3858 | }, | ||
3859 | { .freq = 5840, | ||
3860 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, | ||
3861 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3862 | 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3863 | 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, | ||
3864 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3865 | PHYREGS(0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2), | ||
3866 | }, | ||
3867 | { .freq = 5850, | ||
3868 | RADIOREGS3(0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, | ||
3869 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3870 | 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3871 | 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, | ||
3872 | 0x00, 0x06, 0x00, 0xf4, 0x00), | ||
3873 | PHYREGS(0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1), | ||
3874 | }, | ||
3875 | { .freq = 5860, | ||
3876 | RADIOREGS3(0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, | ||
3877 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3878 | 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3879 | 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, | ||
3880 | 0x00, 0x06, 0x00, 0xf2, 0x00), | ||
3881 | PHYREGS(0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0), | ||
3882 | }, | ||
3883 | { .freq = 5870, | ||
3884 | RADIOREGS3(0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, | ||
3885 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3886 | 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3887 | 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, | ||
3888 | 0x00, 0x06, 0x00, 0xf2, 0x00), | ||
3889 | PHYREGS(0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf), | ||
3890 | }, | ||
3891 | { .freq = 5880, | ||
3892 | RADIOREGS3(0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, | ||
3893 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3894 | 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3895 | 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, | ||
3896 | 0x00, 0x06, 0x00, 0xf2, 0x00), | ||
3897 | PHYREGS(0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf), | ||
3898 | }, | ||
3899 | { .freq = 5890, | ||
3900 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, | ||
3901 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
3902 | 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06, | ||
3903 | 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, | ||
3904 | 0x00, 0x06, 0x00, 0xf2, 0x00), | ||
3905 | PHYREGS(0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be), | ||
3906 | }, | ||
3907 | { .freq = 5900, | ||
3908 | RADIOREGS3(0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, | ||
3909 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, | ||
3910 | 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05, | ||
3911 | 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, | ||
3912 | 0x00, 0x05, 0x00, 0xf2, 0x00), | ||
3913 | PHYREGS(0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd), | ||
3914 | }, | ||
3915 | { .freq = 5910, | ||
3916 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, | ||
3917 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, | ||
3918 | 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05, | ||
3919 | 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, | ||
3920 | 0x00, 0x05, 0x00, 0xf2, 0x00), | ||
3921 | PHYREGS(0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc), | ||
3922 | }, | ||
3923 | { .freq = 2412, | ||
3924 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, | ||
3925 | 0x16, 0x01, 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, | ||
3926 | 0x00, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
3927 | 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, | ||
3928 | 0x70, 0x00, 0x0f, 0x00, 0x0f), | ||
3929 | PHYREGS(0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443), | ||
3930 | }, | ||
3931 | { .freq = 2417, | ||
3932 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, | ||
3933 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
3934 | 0x00, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
3935 | 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, | ||
3936 | 0x70, 0x00, 0x0f, 0x00, 0x0f), | ||
3937 | PHYREGS(0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441), | ||
3938 | }, | ||
3939 | { .freq = 2422, | ||
3940 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, | ||
3941 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
3942 | 0x00, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
3943 | 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, | ||
3944 | 0x70, 0x00, 0x0f, 0x00, 0x0f), | ||
3945 | PHYREGS(0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f), | ||
3946 | }, | ||
3947 | { .freq = 2427, | ||
3948 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, | ||
3949 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
3950 | 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
3951 | 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, | ||
3952 | 0x70, 0x00, 0x0f, 0x00, 0x0f), | ||
3953 | PHYREGS(0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d), | ||
3954 | }, | ||
3955 | { .freq = 2432, | ||
3956 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, | ||
3957 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
3958 | 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
3959 | 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, | ||
3960 | 0x70, 0x00, 0x0f, 0x00, 0x0f), | ||
3961 | PHYREGS(0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a), | ||
3962 | }, | ||
3963 | { .freq = 2437, | ||
3964 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, | ||
3965 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
3966 | 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
3967 | 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, | ||
3968 | 0x70, 0x00, 0x0f, 0x00, 0x0f), | ||
3969 | PHYREGS(0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438), | ||
3970 | }, | ||
3971 | { .freq = 2442, | ||
3972 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, | ||
3973 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
3974 | 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
3975 | 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, | ||
3976 | 0x70, 0x00, 0x0f, 0x00, 0x0f), | ||
3977 | PHYREGS(0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436), | ||
3978 | }, | ||
3979 | { .freq = 2447, | ||
3980 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, | ||
3981 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
3982 | 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
3983 | 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, | ||
3984 | 0x70, 0x00, 0x0f, 0x00, 0x0f), | ||
3985 | PHYREGS(0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434), | ||
3986 | }, | ||
3987 | { .freq = 2452, | ||
3988 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, | ||
3989 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
3990 | 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
3991 | 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, | ||
3992 | 0x70, 0x00, 0x0f, 0x00, 0x0f), | ||
3993 | PHYREGS(0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431), | ||
3994 | }, | ||
3995 | { .freq = 2457, | ||
3996 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, | ||
3997 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
3998 | 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
3999 | 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, | ||
4000 | 0x70, 0x00, 0x0f, 0x00, 0x0d), | ||
4001 | PHYREGS(0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f), | ||
4002 | }, | ||
4003 | { .freq = 2462, | ||
4004 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, | ||
4005 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
4006 | 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
4007 | 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, | ||
4008 | 0x70, 0x00, 0x0f, 0x00, 0x0d), | ||
4009 | PHYREGS(0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d), | ||
4010 | }, | ||
4011 | { .freq = 2467, | ||
4012 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, | ||
4013 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
4014 | 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
4015 | 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, | ||
4016 | 0x70, 0x00, 0x0f, 0x00, 0x0d), | ||
4017 | PHYREGS(0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b), | ||
4018 | }, | ||
4019 | { .freq = 2472, | ||
4020 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, | ||
4021 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, | ||
4022 | 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
4023 | 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, | ||
4024 | 0x70, 0x00, 0x0f, 0x00, 0x0d), | ||
4025 | PHYREGS(0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429), | ||
4026 | }, | ||
4027 | { .freq = 2484, | ||
4028 | RADIOREGS3(0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, | ||
4029 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, | ||
4030 | 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00, | ||
4031 | 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, | ||
4032 | 0x70, 0x00, 0x0f, 0x00, 0x0d), | ||
4033 | PHYREGS(0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424), | ||
4034 | }, | ||
4035 | }; | ||
4036 | |||
4037 | static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev4[] = { | ||
4038 | { .freq = 4920, | ||
4039 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, | ||
4040 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
4041 | 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f, | ||
4042 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, | ||
4043 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4044 | PHYREGS(0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216), | ||
4045 | }, | ||
4046 | { .freq = 4930, | ||
4047 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, | ||
4048 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
4049 | 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f, | ||
4050 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, | ||
4051 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4052 | PHYREGS(0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215), | ||
4053 | }, | ||
4054 | { .freq = 4940, | ||
4055 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, | ||
4056 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
4057 | 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f, | ||
4058 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, | ||
4059 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4060 | PHYREGS(0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214), | ||
4061 | }, | ||
4062 | { .freq = 4950, | ||
4063 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, | ||
4064 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
4065 | 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f, | ||
4066 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, | ||
4067 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4068 | PHYREGS(0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213), | ||
4069 | }, | ||
4070 | { .freq = 4960, | ||
4071 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, | ||
4072 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4073 | 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f, | ||
4074 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, | ||
4075 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4076 | PHYREGS(0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212), | ||
4077 | }, | ||
4078 | { .freq = 4970, | ||
4079 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, | ||
4080 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4081 | 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f, | ||
4082 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, | ||
4083 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4084 | PHYREGS(0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211), | ||
4085 | }, | ||
4086 | { .freq = 4980, | ||
4087 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, | ||
4088 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4089 | 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f, | ||
4090 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, | ||
4091 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4092 | PHYREGS(0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f), | ||
4093 | }, | ||
4094 | { .freq = 4990, | ||
4095 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, | ||
4096 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4097 | 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f, | ||
4098 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, | ||
4099 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4100 | PHYREGS(0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e), | ||
4101 | }, | ||
4102 | { .freq = 5000, | ||
4103 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, | ||
4104 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4105 | 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f, | ||
4106 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, | ||
4107 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4108 | PHYREGS(0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d), | ||
4109 | }, | ||
4110 | { .freq = 5010, | ||
4111 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, | ||
4112 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4113 | 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f, | ||
4114 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, | ||
4115 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4116 | PHYREGS(0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c), | ||
4117 | }, | ||
4118 | { .freq = 5020, | ||
4119 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, | ||
4120 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4121 | 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f, | ||
4122 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, | ||
4123 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4124 | PHYREGS(0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b), | ||
4125 | }, | ||
4126 | { .freq = 5030, | ||
4127 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, | ||
4128 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4129 | 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f, | ||
4130 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, | ||
4131 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4132 | PHYREGS(0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a), | ||
4133 | }, | ||
4134 | { .freq = 5040, | ||
4135 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, | ||
4136 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4137 | 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f, | ||
4138 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, | ||
4139 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4140 | PHYREGS(0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209), | ||
4141 | }, | ||
4142 | { .freq = 5050, | ||
4143 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, | ||
4144 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4145 | 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f, | ||
4146 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, | ||
4147 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4148 | PHYREGS(0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208), | ||
4149 | }, | ||
4150 | { .freq = 5060, | ||
4151 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, | ||
4152 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4153 | 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f, | ||
4154 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, | ||
4155 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4156 | PHYREGS(0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207), | ||
4157 | }, | ||
4158 | { .freq = 5070, | ||
4159 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, | ||
4160 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4161 | 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f, | ||
4162 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, | ||
4163 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4164 | PHYREGS(0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206), | ||
4165 | }, | ||
4166 | { .freq = 5080, | ||
4167 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, | ||
4168 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4169 | 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f, | ||
4170 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, | ||
4171 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4172 | PHYREGS(0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205), | ||
4173 | }, | ||
4174 | { .freq = 5090, | ||
4175 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, | ||
4176 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
4177 | 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f, | ||
4178 | 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, | ||
4179 | 0x00, 0x0f, 0x00, 0xff, 0x00), | ||
4180 | PHYREGS(0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204), | ||
4181 | }, | ||
4182 | { .freq = 5100, | ||
4183 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, | ||
4184 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4185 | 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f, | ||
4186 | 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, | ||
4187 | 0x00, 0x0f, 0x00, 0xfe, 0x00), | ||
4188 | PHYREGS(0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203), | ||
4189 | }, | ||
4190 | { .freq = 5110, | ||
4191 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, | ||
4192 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4193 | 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f, | ||
4194 | 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, | ||
4195 | 0x00, 0x0f, 0x00, 0xfe, 0x00), | ||
4196 | PHYREGS(0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202), | ||
4197 | }, | ||
4198 | { .freq = 5120, | ||
4199 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, | ||
4200 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4201 | 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f, | ||
4202 | 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, | ||
4203 | 0x00, 0x0f, 0x00, 0xfe, 0x00), | ||
4204 | PHYREGS(0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201), | ||
4205 | }, | ||
4206 | { .freq = 5130, | ||
4207 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, | ||
4208 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4209 | 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f, | ||
4210 | 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, | ||
4211 | 0x00, 0x0f, 0x00, 0xfe, 0x00), | ||
4212 | PHYREGS(0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200), | ||
4213 | }, | ||
4214 | { .freq = 5140, | ||
4215 | RADIOREGS3(0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, | ||
4216 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4217 | 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f, | ||
4218 | 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, | ||
4219 | 0x00, 0x0f, 0x00, 0xfe, 0x00), | ||
4220 | PHYREGS(0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff), | ||
4221 | }, | ||
4222 | { .freq = 5160, | ||
4223 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, | ||
4224 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4225 | 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f, | ||
4226 | 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, | ||
4227 | 0x00, 0x0f, 0x00, 0xfe, 0x00), | ||
4228 | PHYREGS(0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd), | ||
4229 | }, | ||
4230 | { .freq = 5170, | ||
4231 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, | ||
4232 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4233 | 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f, | ||
4234 | 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, | ||
4235 | 0x00, 0x0f, 0x00, 0xfe, 0x00), | ||
4236 | PHYREGS(0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc), | ||
4237 | }, | ||
4238 | { .freq = 5180, | ||
4239 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, | ||
4240 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4241 | 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f, | ||
4242 | 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, | ||
4243 | 0x00, 0x0f, 0x00, 0xfe, 0x00), | ||
4244 | PHYREGS(0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb), | ||
4245 | }, | ||
4246 | { .freq = 5190, | ||
4247 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, | ||
4248 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4249 | 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f, | ||
4250 | 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, | ||
4251 | 0x00, 0x0f, 0x00, 0xfe, 0x00), | ||
4252 | PHYREGS(0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa), | ||
4253 | }, | ||
4254 | { .freq = 5200, | ||
4255 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, | ||
4256 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4257 | 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f, | ||
4258 | 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, | ||
4259 | 0x00, 0x0f, 0x00, 0xfc, 0x00), | ||
4260 | PHYREGS(0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9), | ||
4261 | }, | ||
4262 | { .freq = 5210, | ||
4263 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, | ||
4264 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4265 | 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f, | ||
4266 | 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, | ||
4267 | 0x00, 0x0f, 0x00, 0xfc, 0x00), | ||
4268 | PHYREGS(0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8), | ||
4269 | }, | ||
4270 | { .freq = 5220, | ||
4271 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, | ||
4272 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4273 | 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f, | ||
4274 | 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, | ||
4275 | 0x00, 0x0f, 0x00, 0xfc, 0x00), | ||
4276 | PHYREGS(0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7), | ||
4277 | }, | ||
4278 | { .freq = 5230, | ||
4279 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, | ||
4280 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4281 | 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f, | ||
4282 | 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, | ||
4283 | 0x00, 0x0f, 0x00, 0xfc, 0x00), | ||
4284 | PHYREGS(0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6), | ||
4285 | }, | ||
4286 | { .freq = 5240, | ||
4287 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, | ||
4288 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4289 | 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f, | ||
4290 | 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, | ||
4291 | 0x00, 0x0f, 0x00, 0xfc, 0x00), | ||
4292 | PHYREGS(0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5), | ||
4293 | }, | ||
4294 | { .freq = 5250, | ||
4295 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, | ||
4296 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4297 | 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f, | ||
4298 | 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, | ||
4299 | 0x00, 0x0f, 0x00, 0xfc, 0x00), | ||
4300 | PHYREGS(0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4), | ||
4301 | }, | ||
4302 | { .freq = 5260, | ||
4303 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, | ||
4304 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
4305 | 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f, | ||
4306 | 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, | ||
4307 | 0x00, 0x0f, 0x00, 0xfc, 0x00), | ||
4308 | PHYREGS(0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3), | ||
4309 | }, | ||
4310 | { .freq = 5270, | ||
4311 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, | ||
4312 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, | ||
4313 | 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f, | ||
4314 | 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, | ||
4315 | 0x00, 0x0f, 0x00, 0xfc, 0x00), | ||
4316 | PHYREGS(0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2), | ||
4317 | }, | ||
4318 | { .freq = 5280, | ||
4319 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, | ||
4320 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, | ||
4321 | 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f, | ||
4322 | 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, | ||
4323 | 0x00, 0x0f, 0x00, 0xfc, 0x00), | ||
4324 | PHYREGS(0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1), | ||
4325 | }, | ||
4326 | { .freq = 5290, | ||
4327 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, | ||
4328 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, | ||
4329 | 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f, | ||
4330 | 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, | ||
4331 | 0x00, 0x0f, 0x00, 0xfc, 0x00), | ||
4332 | PHYREGS(0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0), | ||
4333 | }, | ||
4334 | { .freq = 5300, | ||
4335 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, | ||
4336 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
4337 | 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f, | ||
4338 | 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, | ||
4339 | 0x00, 0x0f, 0x00, 0xfa, 0x00), | ||
4340 | PHYREGS(0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0), | ||
4341 | }, | ||
4342 | { .freq = 5310, | ||
4343 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, | ||
4344 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
4345 | 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f, | ||
4346 | 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, | ||
4347 | 0x00, 0x0f, 0x00, 0xfa, 0x00), | ||
4348 | PHYREGS(0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef), | ||
4349 | }, | ||
4350 | { .freq = 5320, | ||
4351 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, | ||
4352 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
4353 | 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f, | ||
4354 | 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, | ||
4355 | 0x00, 0x0f, 0x00, 0xfa, 0x00), | ||
4356 | PHYREGS(0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee), | ||
4357 | }, | ||
4358 | { .freq = 5330, | ||
4359 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, | ||
4360 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
4361 | 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f, | ||
4362 | 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, | ||
4363 | 0x00, 0x0f, 0x00, 0xfa, 0x00), | ||
4364 | PHYREGS(0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed), | ||
4365 | }, | ||
4366 | { .freq = 5340, | ||
4367 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, | ||
4368 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
4369 | 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f, | ||
4370 | 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, | ||
4371 | 0x00, 0x0f, 0x00, 0xfa, 0x00), | ||
4372 | PHYREGS(0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec), | ||
4373 | }, | ||
4374 | { .freq = 5350, | ||
4375 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, | ||
4376 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
4377 | 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f, | ||
4378 | 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, | ||
4379 | 0x00, 0x0f, 0x00, 0xfa, 0x00), | ||
4380 | PHYREGS(0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb), | ||
4381 | }, | ||
4382 | { .freq = 5360, | ||
4383 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, | ||
4384 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
4385 | 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f, | ||
4386 | 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, | ||
4387 | 0x00, 0x0f, 0x00, 0xfa, 0x00), | ||
4388 | PHYREGS(0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea), | ||
4389 | }, | ||
4390 | { .freq = 5370, | ||
4391 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, | ||
4392 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
4393 | 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f, | ||
4394 | 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, | ||
4395 | 0x00, 0x0f, 0x00, 0xfa, 0x00), | ||
4396 | PHYREGS(0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9), | ||
4397 | }, | ||
4398 | { .freq = 5380, | ||
4399 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, | ||
4400 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
4401 | 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f, | ||
4402 | 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, | ||
4403 | 0x00, 0x0f, 0x00, 0xfa, 0x00), | ||
4404 | PHYREGS(0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8), | ||
4405 | }, | ||
4406 | { .freq = 5390, | ||
4407 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, | ||
4408 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
4409 | 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f, | ||
4410 | 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, | ||
4411 | 0x00, 0x0f, 0x00, 0xfa, 0x00), | ||
4412 | PHYREGS(0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7), | ||
4413 | }, | ||
4414 | { .freq = 5400, | ||
4415 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, | ||
4416 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
4417 | 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f, | ||
4418 | 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, | ||
4419 | 0x00, 0x0f, 0x00, 0xf8, 0x00), | ||
4420 | PHYREGS(0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6), | ||
4421 | }, | ||
4422 | { .freq = 5410, | ||
4423 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, | ||
4424 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
4425 | 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f, | ||
4426 | 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, | ||
4427 | 0x00, 0x0f, 0x00, 0xf8, 0x00), | ||
4428 | PHYREGS(0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5), | ||
4429 | }, | ||
4430 | { .freq = 5420, | ||
4431 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, | ||
4432 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
4433 | 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f, | ||
4434 | 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, | ||
4435 | 0x00, 0x0f, 0x00, 0xf8, 0x00), | ||
4436 | PHYREGS(0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5), | ||
4437 | }, | ||
4438 | { .freq = 5430, | ||
4439 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, | ||
4440 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
4441 | 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f, | ||
4442 | 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, | ||
4443 | 0x00, 0x0f, 0x00, 0xf8, 0x00), | ||
4444 | PHYREGS(0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4), | ||
4445 | }, | ||
4446 | { .freq = 5440, | ||
4447 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, | ||
4448 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
4449 | 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f, | ||
4450 | 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, | ||
4451 | 0x00, 0x0f, 0x00, 0xf8, 0x00), | ||
4452 | PHYREGS(0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3), | ||
4453 | }, | ||
4454 | { .freq = 5450, | ||
4455 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, | ||
4456 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
4457 | 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f, | ||
4458 | 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, | ||
4459 | 0x00, 0x0f, 0x00, 0xf8, 0x00), | ||
4460 | PHYREGS(0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2), | ||
4461 | }, | ||
4462 | { .freq = 5460, | ||
4463 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, | ||
4464 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
4465 | 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f, | ||
4466 | 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, | ||
4467 | 0x00, 0x0f, 0x00, 0xf8, 0x00), | ||
4468 | PHYREGS(0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1), | ||
4469 | }, | ||
4470 | { .freq = 5470, | ||
4471 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, | ||
4472 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
4473 | 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f, | ||
4474 | 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, | ||
4475 | 0x00, 0x0f, 0x00, 0xf8, 0x00), | ||
4476 | PHYREGS(0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0), | ||
4477 | }, | ||
4478 | { .freq = 5480, | ||
4479 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, | ||
4480 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
4481 | 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f, | ||
4482 | 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, | ||
4483 | 0x00, 0x0f, 0x00, 0xf8, 0x00), | ||
4484 | PHYREGS(0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df), | ||
4485 | }, | ||
4486 | { .freq = 5490, | ||
4487 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, | ||
4488 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
4489 | 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f, | ||
4490 | 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, | ||
4491 | 0x00, 0x0f, 0x00, 0xf8, 0x00), | ||
4492 | PHYREGS(0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de), | ||
4493 | }, | ||
4494 | { .freq = 5500, | ||
4495 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, | ||
4496 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
4497 | 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d, | ||
4498 | 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, | ||
4499 | 0x00, 0x0d, 0x00, 0xf6, 0x00), | ||
4500 | PHYREGS(0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd), | ||
4501 | }, | ||
4502 | { .freq = 5510, | ||
4503 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, | ||
4504 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
4505 | 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d, | ||
4506 | 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, | ||
4507 | 0x00, 0x0d, 0x00, 0xf6, 0x00), | ||
4508 | PHYREGS(0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd), | ||
4509 | }, | ||
4510 | { .freq = 5520, | ||
4511 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, | ||
4512 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
4513 | 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d, | ||
4514 | 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, | ||
4515 | 0x00, 0x0d, 0x00, 0xf6, 0x00), | ||
4516 | PHYREGS(0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc), | ||
4517 | }, | ||
4518 | { .freq = 5530, | ||
4519 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, | ||
4520 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
4521 | 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d, | ||
4522 | 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, | ||
4523 | 0x00, 0x0d, 0x00, 0xf6, 0x00), | ||
4524 | PHYREGS(0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db), | ||
4525 | }, | ||
4526 | { .freq = 5540, | ||
4527 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, | ||
4528 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
4529 | 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d, | ||
4530 | 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, | ||
4531 | 0x00, 0x0d, 0x00, 0xf6, 0x00), | ||
4532 | PHYREGS(0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da), | ||
4533 | }, | ||
4534 | { .freq = 5550, | ||
4535 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, | ||
4536 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
4537 | 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d, | ||
4538 | 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, | ||
4539 | 0x00, 0x0d, 0x00, 0xf6, 0x00), | ||
4540 | PHYREGS(0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9), | ||
4541 | }, | ||
4542 | { .freq = 5560, | ||
4543 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, | ||
4544 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
4545 | 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d, | ||
4546 | 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, | ||
4547 | 0x00, 0x0d, 0x00, 0xf6, 0x00), | ||
4548 | PHYREGS(0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8), | ||
4549 | }, | ||
4550 | { .freq = 5570, | ||
4551 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, | ||
4552 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
4553 | 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d, | ||
4554 | 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, | ||
4555 | 0x00, 0x0d, 0x00, 0xf6, 0x00), | ||
4556 | PHYREGS(0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7), | ||
4557 | }, | ||
4558 | { .freq = 5580, | ||
4559 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, | ||
4560 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
4561 | 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d, | ||
4562 | 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, | ||
4563 | 0x00, 0x0d, 0x00, 0xf6, 0x00), | ||
4564 | PHYREGS(0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7), | ||
4565 | }, | ||
4566 | { .freq = 5590, | ||
4567 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, | ||
4568 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
4569 | 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d, | ||
4570 | 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, | ||
4571 | 0x00, 0x0d, 0x00, 0xf6, 0x00), | ||
4572 | PHYREGS(0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6), | ||
4573 | }, | ||
4574 | { .freq = 5600, | ||
4575 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, | ||
4576 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
4577 | 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b, | ||
4578 | 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, | ||
4579 | 0x00, 0x0b, 0x00, 0xf4, 0x00), | ||
4580 | PHYREGS(0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5), | ||
4581 | }, | ||
4582 | { .freq = 5610, | ||
4583 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, | ||
4584 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
4585 | 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b, | ||
4586 | 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, | ||
4587 | 0x00, 0x0b, 0x00, 0xf4, 0x00), | ||
4588 | PHYREGS(0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4), | ||
4589 | }, | ||
4590 | { .freq = 5620, | ||
4591 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, | ||
4592 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
4593 | 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b, | ||
4594 | 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, | ||
4595 | 0x00, 0x0b, 0x00, 0xf4, 0x00), | ||
4596 | PHYREGS(0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3), | ||
4597 | }, | ||
4598 | { .freq = 5630, | ||
4599 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, | ||
4600 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
4601 | 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b, | ||
4602 | 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, | ||
4603 | 0x00, 0x0b, 0x00, 0xf4, 0x00), | ||
4604 | PHYREGS(0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2), | ||
4605 | }, | ||
4606 | { .freq = 5640, | ||
4607 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, | ||
4608 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
4609 | 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b, | ||
4610 | 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, | ||
4611 | 0x00, 0x0b, 0x00, 0xf4, 0x00), | ||
4612 | PHYREGS(0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2), | ||
4613 | }, | ||
4614 | { .freq = 5650, | ||
4615 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, | ||
4616 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
4617 | 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b, | ||
4618 | 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, | ||
4619 | 0x00, 0x0b, 0x00, 0xf4, 0x00), | ||
4620 | PHYREGS(0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1), | ||
4621 | }, | ||
4622 | { .freq = 5660, | ||
4623 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, | ||
4624 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
4625 | 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b, | ||
4626 | 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, | ||
4627 | 0x00, 0x0b, 0x00, 0xf4, 0x00), | ||
4628 | PHYREGS(0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0), | ||
4629 | }, | ||
4630 | { .freq = 5670, | ||
4631 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, | ||
4632 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
4633 | 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b, | ||
4634 | 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, | ||
4635 | 0x00, 0x0b, 0x00, 0xf4, 0x00), | ||
4636 | PHYREGS(0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf), | ||
4637 | }, | ||
4638 | { .freq = 5680, | ||
4639 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, | ||
4640 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
4641 | 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b, | ||
4642 | 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, | ||
4643 | 0x00, 0x0b, 0x00, 0xf4, 0x00), | ||
4644 | PHYREGS(0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce), | ||
4645 | }, | ||
4646 | { .freq = 5690, | ||
4647 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, | ||
4648 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
4649 | 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b, | ||
4650 | 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, | ||
4651 | 0x00, 0x0b, 0x00, 0xf4, 0x00), | ||
4652 | PHYREGS(0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce), | ||
4653 | }, | ||
4654 | { .freq = 5700, | ||
4655 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, | ||
4656 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4657 | 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4658 | 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, | ||
4659 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4660 | PHYREGS(0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd), | ||
4661 | }, | ||
4662 | { .freq = 5710, | ||
4663 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, | ||
4664 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4665 | 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4666 | 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, | ||
4667 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4668 | PHYREGS(0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc), | ||
4669 | }, | ||
4670 | { .freq = 5720, | ||
4671 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, | ||
4672 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4673 | 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4674 | 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, | ||
4675 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4676 | PHYREGS(0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb), | ||
4677 | }, | ||
4678 | { .freq = 5725, | ||
4679 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, | ||
4680 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4681 | 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4682 | 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, | ||
4683 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4684 | PHYREGS(0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb), | ||
4685 | }, | ||
4686 | { .freq = 5730, | ||
4687 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, | ||
4688 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4689 | 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4690 | 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, | ||
4691 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4692 | PHYREGS(0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca), | ||
4693 | }, | ||
4694 | { .freq = 5735, | ||
4695 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, | ||
4696 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4697 | 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4698 | 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, | ||
4699 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4700 | PHYREGS(0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca), | ||
4701 | }, | ||
4702 | { .freq = 5740, | ||
4703 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, | ||
4704 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4705 | 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4706 | 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, | ||
4707 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4708 | PHYREGS(0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9), | ||
4709 | }, | ||
4710 | { .freq = 5745, | ||
4711 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, | ||
4712 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4713 | 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4714 | 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, | ||
4715 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4716 | PHYREGS(0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9), | ||
4717 | }, | ||
4718 | { .freq = 5750, | ||
4719 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, | ||
4720 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4721 | 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4722 | 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, | ||
4723 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4724 | PHYREGS(0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9), | ||
4725 | }, | ||
4726 | { .freq = 5755, | ||
4727 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, | ||
4728 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4729 | 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4730 | 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, | ||
4731 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4732 | PHYREGS(0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8), | ||
4733 | }, | ||
4734 | { .freq = 5760, | ||
4735 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, | ||
4736 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4737 | 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4738 | 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, | ||
4739 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4740 | PHYREGS(0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8), | ||
4741 | }, | ||
4742 | { .freq = 5765, | ||
4743 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, | ||
4744 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4745 | 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4746 | 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, | ||
4747 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4748 | PHYREGS(0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8), | ||
4749 | }, | ||
4750 | { .freq = 5770, | ||
4751 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, | ||
4752 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4753 | 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4754 | 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, | ||
4755 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4756 | PHYREGS(0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7), | ||
4757 | }, | ||
4758 | { .freq = 5775, | ||
4759 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, | ||
4760 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4761 | 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4762 | 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, | ||
4763 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4764 | PHYREGS(0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7), | ||
4765 | }, | ||
4766 | { .freq = 5780, | ||
4767 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, | ||
4768 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
4769 | 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4770 | 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, | ||
4771 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4772 | PHYREGS(0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6), | ||
4773 | }, | ||
4774 | { .freq = 5785, | ||
4775 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, | ||
4776 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, | ||
4777 | 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4778 | 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, | ||
4779 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4780 | PHYREGS(0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6), | ||
4781 | }, | ||
4782 | { .freq = 5790, | ||
4783 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, | ||
4784 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, | ||
4785 | 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4786 | 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, | ||
4787 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4788 | PHYREGS(0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6), | ||
4789 | }, | ||
4790 | { .freq = 5795, | ||
4791 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, | ||
4792 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, | ||
4793 | 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a, | ||
4794 | 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, | ||
4795 | 0x00, 0x0a, 0x00, 0xf2, 0x00), | ||
4796 | PHYREGS(0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5), | ||
4797 | }, | ||
4798 | { .freq = 5800, | ||
4799 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, | ||
4800 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4801 | 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4802 | 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, | ||
4803 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4804 | PHYREGS(0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5), | ||
4805 | }, | ||
4806 | { .freq = 5805, | ||
4807 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, | ||
4808 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4809 | 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4810 | 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, | ||
4811 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4812 | PHYREGS(0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4), | ||
4813 | }, | ||
4814 | { .freq = 5810, | ||
4815 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, | ||
4816 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4817 | 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4818 | 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, | ||
4819 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4820 | PHYREGS(0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4), | ||
4821 | }, | ||
4822 | { .freq = 5815, | ||
4823 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, | ||
4824 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4825 | 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4826 | 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, | ||
4827 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4828 | PHYREGS(0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4), | ||
4829 | }, | ||
4830 | { .freq = 5820, | ||
4831 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, | ||
4832 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4833 | 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4834 | 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, | ||
4835 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4836 | PHYREGS(0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3), | ||
4837 | }, | ||
4838 | { .freq = 5825, | ||
4839 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, | ||
4840 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4841 | 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4842 | 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, | ||
4843 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4844 | PHYREGS(0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3), | ||
4845 | }, | ||
4846 | { .freq = 5830, | ||
4847 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, | ||
4848 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4849 | 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4850 | 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, | ||
4851 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4852 | PHYREGS(0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2), | ||
4853 | }, | ||
4854 | { .freq = 5840, | ||
4855 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, | ||
4856 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4857 | 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4858 | 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, | ||
4859 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4860 | PHYREGS(0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2), | ||
4861 | }, | ||
4862 | { .freq = 5850, | ||
4863 | RADIOREGS3(0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, | ||
4864 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4865 | 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4866 | 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, | ||
4867 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4868 | PHYREGS(0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1), | ||
4869 | }, | ||
4870 | { .freq = 5860, | ||
4871 | RADIOREGS3(0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, | ||
4872 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4873 | 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4874 | 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, | ||
4875 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4876 | PHYREGS(0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0), | ||
4877 | }, | ||
4878 | { .freq = 5870, | ||
4879 | RADIOREGS3(0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, | ||
4880 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4881 | 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4882 | 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, | ||
4883 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4884 | PHYREGS(0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf), | ||
4885 | }, | ||
4886 | { .freq = 5880, | ||
4887 | RADIOREGS3(0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, | ||
4888 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4889 | 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4890 | 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, | ||
4891 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4892 | PHYREGS(0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf), | ||
4893 | }, | ||
4894 | { .freq = 5890, | ||
4895 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, | ||
4896 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
4897 | 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09, | ||
4898 | 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, | ||
4899 | 0x00, 0x09, 0x00, 0xf0, 0x00), | ||
4900 | PHYREGS(0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be), | ||
4901 | }, | ||
4902 | { .freq = 5900, | ||
4903 | RADIOREGS3(0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, | ||
4904 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, | ||
4905 | 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07, | ||
4906 | 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, | ||
4907 | 0x00, 0x07, 0x00, 0xf0, 0x00), | ||
4908 | PHYREGS(0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd), | ||
4909 | }, | ||
4910 | { .freq = 5910, | ||
4911 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, | ||
4912 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, | ||
4913 | 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07, | ||
4914 | 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, | ||
4915 | 0x00, 0x07, 0x00, 0xf0, 0x00), | ||
4916 | PHYREGS(0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc), | ||
4917 | }, | ||
4918 | { .freq = 2412, | ||
4919 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, | ||
4920 | 0x16, 0x01, 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, | ||
4921 | 0x00, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
4922 | 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, | ||
4923 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
4924 | PHYREGS(0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443), | ||
4925 | }, | ||
4926 | { .freq = 2417, | ||
4927 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, | ||
4928 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
4929 | 0x00, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
4930 | 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, | ||
4931 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
4932 | PHYREGS(0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441), | ||
4933 | }, | ||
4934 | { .freq = 2422, | ||
4935 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, | ||
4936 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
4937 | 0x00, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
4938 | 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, | ||
4939 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
4940 | PHYREGS(0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f), | ||
4941 | }, | ||
4942 | { .freq = 2427, | ||
4943 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, | ||
4944 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
4945 | 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
4946 | 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, | ||
4947 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
4948 | PHYREGS(0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d), | ||
4949 | }, | ||
4950 | { .freq = 2432, | ||
4951 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, | ||
4952 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
4953 | 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
4954 | 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, | ||
4955 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
4956 | PHYREGS(0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a), | ||
4957 | }, | ||
4958 | { .freq = 2437, | ||
4959 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, | ||
4960 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
4961 | 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
4962 | 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, | ||
4963 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
4964 | PHYREGS(0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438), | ||
4965 | }, | ||
4966 | { .freq = 2442, | ||
4967 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, | ||
4968 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
4969 | 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
4970 | 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, | ||
4971 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
4972 | PHYREGS(0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436), | ||
4973 | }, | ||
4974 | { .freq = 2447, | ||
4975 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, | ||
4976 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
4977 | 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
4978 | 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, | ||
4979 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
4980 | PHYREGS(0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434), | ||
4981 | }, | ||
4982 | { .freq = 2452, | ||
4983 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, | ||
4984 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
4985 | 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
4986 | 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, | ||
4987 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
4988 | PHYREGS(0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431), | ||
4989 | }, | ||
4990 | { .freq = 2457, | ||
4991 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, | ||
4992 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
4993 | 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
4994 | 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, | ||
4995 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
4996 | PHYREGS(0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f), | ||
4997 | }, | ||
4998 | { .freq = 2462, | ||
4999 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, | ||
5000 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
5001 | 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
5002 | 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, | ||
5003 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
5004 | PHYREGS(0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d), | ||
5005 | }, | ||
5006 | { .freq = 2467, | ||
5007 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, | ||
5008 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
5009 | 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
5010 | 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, | ||
5011 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
5012 | PHYREGS(0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b), | ||
5013 | }, | ||
5014 | { .freq = 2472, | ||
5015 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, | ||
5016 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, | ||
5017 | 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
5018 | 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, | ||
5019 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
5020 | PHYREGS(0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429), | ||
5021 | }, | ||
5022 | { .freq = 2484, | ||
5023 | RADIOREGS3(0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, | ||
5024 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, | ||
5025 | 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00, | ||
5026 | 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, | ||
5027 | 0x70, 0x00, 0x0f, 0x00, 0x0e), | ||
5028 | PHYREGS(0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424), | ||
5029 | }, | ||
5030 | }; | ||
5031 | |||
5032 | static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev5[] = { | ||
5033 | { .freq = 4920, | ||
5034 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, | ||
5035 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
5036 | 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f, | ||
5037 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, | ||
5038 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
5039 | PHYREGS(0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216), | ||
5040 | }, | ||
5041 | { .freq = 4930, | ||
5042 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, | ||
5043 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
5044 | 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e, | ||
5045 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, | ||
5046 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
5047 | PHYREGS(0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215), | ||
5048 | }, | ||
5049 | { .freq = 4940, | ||
5050 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, | ||
5051 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
5052 | 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e, | ||
5053 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, | ||
5054 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
5055 | PHYREGS(0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214), | ||
5056 | }, | ||
5057 | { .freq = 4950, | ||
5058 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, | ||
5059 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
5060 | 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e, | ||
5061 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, | ||
5062 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
5063 | PHYREGS(0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213), | ||
5064 | }, | ||
5065 | { .freq = 4960, | ||
5066 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, | ||
5067 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5068 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e, | ||
5069 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
5070 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
5071 | PHYREGS(0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212), | ||
5072 | }, | ||
5073 | { .freq = 4970, | ||
5074 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, | ||
5075 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5076 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d, | ||
5077 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
5078 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
5079 | PHYREGS(0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211), | ||
5080 | }, | ||
5081 | { .freq = 4980, | ||
5082 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, | ||
5083 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5084 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d, | ||
5085 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
5086 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
5087 | PHYREGS(0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f), | ||
5088 | }, | ||
5089 | { .freq = 4990, | ||
5090 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, | ||
5091 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5092 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d, | ||
5093 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
5094 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
5095 | PHYREGS(0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e), | ||
5096 | }, | ||
5097 | { .freq = 5000, | ||
5098 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, | ||
5099 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5100 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d, | ||
5101 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
5102 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
5103 | PHYREGS(0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d), | ||
5104 | }, | ||
5105 | { .freq = 5010, | ||
5106 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, | ||
5107 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5108 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d, | ||
5109 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
5110 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
5111 | PHYREGS(0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c), | ||
5112 | }, | ||
5113 | { .freq = 5020, | ||
5114 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, | ||
5115 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5116 | 0xff, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d, | ||
5117 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, | ||
5118 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
5119 | PHYREGS(0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b), | ||
5120 | }, | ||
5121 | { .freq = 5030, | ||
5122 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, | ||
5123 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5124 | 0xff, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c, | ||
5125 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, | ||
5126 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
5127 | PHYREGS(0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a), | ||
5128 | }, | ||
5129 | { .freq = 5040, | ||
5130 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, | ||
5131 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5132 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c, | ||
5133 | 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, | ||
5134 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
5135 | PHYREGS(0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209), | ||
5136 | }, | ||
5137 | { .freq = 5050, | ||
5138 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, | ||
5139 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5140 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c, | ||
5141 | 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, | ||
5142 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
5143 | PHYREGS(0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208), | ||
5144 | }, | ||
5145 | { .freq = 5060, | ||
5146 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, | ||
5147 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5148 | 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c, | ||
5149 | 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, | ||
5150 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
5151 | PHYREGS(0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207), | ||
5152 | }, | ||
5153 | { .freq = 5070, | ||
5154 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, | ||
5155 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5156 | 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
5157 | 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, | ||
5158 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
5159 | PHYREGS(0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206), | ||
5160 | }, | ||
5161 | { .freq = 5080, | ||
5162 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, | ||
5163 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5164 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
5165 | 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, | ||
5166 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
5167 | PHYREGS(0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205), | ||
5168 | }, | ||
5169 | { .freq = 5090, | ||
5170 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, | ||
5171 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
5172 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
5173 | 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, | ||
5174 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
5175 | PHYREGS(0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204), | ||
5176 | }, | ||
5177 | { .freq = 5100, | ||
5178 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, | ||
5179 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5180 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
5181 | 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, | ||
5182 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
5183 | PHYREGS(0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203), | ||
5184 | }, | ||
5185 | { .freq = 5110, | ||
5186 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, | ||
5187 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5188 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
5189 | 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, | ||
5190 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
5191 | PHYREGS(0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202), | ||
5192 | }, | ||
5193 | { .freq = 5120, | ||
5194 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, | ||
5195 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5196 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
5197 | 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, | ||
5198 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
5199 | PHYREGS(0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201), | ||
5200 | }, | ||
5201 | { .freq = 5130, | ||
5202 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, | ||
5203 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5204 | 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a, | ||
5205 | 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, | ||
5206 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
5207 | PHYREGS(0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200), | ||
5208 | }, | ||
5209 | { .freq = 5140, | ||
5210 | RADIOREGS3(0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, | ||
5211 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5212 | 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a, | ||
5213 | 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, | ||
5214 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
5215 | PHYREGS(0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff), | ||
5216 | }, | ||
5217 | { .freq = 5160, | ||
5218 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, | ||
5219 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5220 | 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09, | ||
5221 | 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, | ||
5222 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
5223 | PHYREGS(0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd), | ||
5224 | }, | ||
5225 | { .freq = 5170, | ||
5226 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, | ||
5227 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5228 | 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
5229 | 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, | ||
5230 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
5231 | PHYREGS(0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc), | ||
5232 | }, | ||
5233 | { .freq = 5180, | ||
5234 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, | ||
5235 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5236 | 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
5237 | 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, | ||
5238 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
5239 | PHYREGS(0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb), | ||
5240 | }, | ||
5241 | { .freq = 5190, | ||
5242 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, | ||
5243 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5244 | 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
5245 | 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, | ||
5246 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
5247 | PHYREGS(0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa), | ||
5248 | }, | ||
5249 | { .freq = 5200, | ||
5250 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, | ||
5251 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5252 | 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
5253 | 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, | ||
5254 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
5255 | PHYREGS(0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9), | ||
5256 | }, | ||
5257 | { .freq = 5210, | ||
5258 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, | ||
5259 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5260 | 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
5261 | 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, | ||
5262 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
5263 | PHYREGS(0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8), | ||
5264 | }, | ||
5265 | { .freq = 5220, | ||
5266 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, | ||
5267 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5268 | 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
5269 | 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, | ||
5270 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
5271 | PHYREGS(0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7), | ||
5272 | }, | ||
5273 | { .freq = 5230, | ||
5274 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, | ||
5275 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5276 | 0xff, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08, | ||
5277 | 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, | ||
5278 | 0x00, 0x08, 0x00, 0x6e, 0x00), | ||
5279 | PHYREGS(0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6), | ||
5280 | }, | ||
5281 | { .freq = 5240, | ||
5282 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, | ||
5283 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5284 | 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08, | ||
5285 | 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, | ||
5286 | 0x00, 0x08, 0x00, 0x6d, 0x00), | ||
5287 | PHYREGS(0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5), | ||
5288 | }, | ||
5289 | { .freq = 5250, | ||
5290 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, | ||
5291 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5292 | 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08, | ||
5293 | 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, | ||
5294 | 0x00, 0x08, 0x00, 0x6d, 0x00), | ||
5295 | PHYREGS(0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4), | ||
5296 | }, | ||
5297 | { .freq = 5260, | ||
5298 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, | ||
5299 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
5300 | 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08, | ||
5301 | 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, | ||
5302 | 0x00, 0x08, 0x00, 0x6d, 0x00), | ||
5303 | PHYREGS(0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3), | ||
5304 | }, | ||
5305 | { .freq = 5270, | ||
5306 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, | ||
5307 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, | ||
5308 | 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
5309 | 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, | ||
5310 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
5311 | PHYREGS(0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2), | ||
5312 | }, | ||
5313 | { .freq = 5280, | ||
5314 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, | ||
5315 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, | ||
5316 | 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
5317 | 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, | ||
5318 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
5319 | PHYREGS(0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1), | ||
5320 | }, | ||
5321 | { .freq = 5290, | ||
5322 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, | ||
5323 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, | ||
5324 | 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
5325 | 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, | ||
5326 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
5327 | PHYREGS(0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0), | ||
5328 | }, | ||
5329 | { .freq = 5300, | ||
5330 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, | ||
5331 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
5332 | 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
5333 | 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, | ||
5334 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
5335 | PHYREGS(0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0), | ||
5336 | }, | ||
5337 | { .freq = 5310, | ||
5338 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, | ||
5339 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
5340 | 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
5341 | 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, | ||
5342 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
5343 | PHYREGS(0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef), | ||
5344 | }, | ||
5345 | { .freq = 5320, | ||
5346 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, | ||
5347 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
5348 | 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
5349 | 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, | ||
5350 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
5351 | PHYREGS(0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee), | ||
5352 | }, | ||
5353 | { .freq = 5330, | ||
5354 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, | ||
5355 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
5356 | 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
5357 | 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, | ||
5358 | 0x00, 0x07, 0x00, 0x6b, 0x00), | ||
5359 | PHYREGS(0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed), | ||
5360 | }, | ||
5361 | { .freq = 5340, | ||
5362 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, | ||
5363 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
5364 | 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07, | ||
5365 | 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, | ||
5366 | 0x00, 0x07, 0x00, 0x6b, 0x00), | ||
5367 | PHYREGS(0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec), | ||
5368 | }, | ||
5369 | { .freq = 5350, | ||
5370 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, | ||
5371 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
5372 | 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
5373 | 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, | ||
5374 | 0x00, 0x06, 0x00, 0x6b, 0x00), | ||
5375 | PHYREGS(0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb), | ||
5376 | }, | ||
5377 | { .freq = 5360, | ||
5378 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, | ||
5379 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
5380 | 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
5381 | 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, | ||
5382 | 0x00, 0x06, 0x00, 0x6b, 0x00), | ||
5383 | PHYREGS(0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea), | ||
5384 | }, | ||
5385 | { .freq = 5370, | ||
5386 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, | ||
5387 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
5388 | 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
5389 | 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, | ||
5390 | 0x00, 0x06, 0x00, 0x5b, 0x00), | ||
5391 | PHYREGS(0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9), | ||
5392 | }, | ||
5393 | { .freq = 5380, | ||
5394 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, | ||
5395 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
5396 | 0xff, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
5397 | 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, | ||
5398 | 0x00, 0x06, 0x00, 0x5a, 0x00), | ||
5399 | PHYREGS(0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8), | ||
5400 | }, | ||
5401 | { .freq = 5390, | ||
5402 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, | ||
5403 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, | ||
5404 | 0xff, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
5405 | 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, | ||
5406 | 0x00, 0x06, 0x00, 0x5a, 0x00), | ||
5407 | PHYREGS(0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7), | ||
5408 | }, | ||
5409 | { .freq = 5400, | ||
5410 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, | ||
5411 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
5412 | 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
5413 | 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, | ||
5414 | 0x00, 0x06, 0x00, 0x5a, 0x00), | ||
5415 | PHYREGS(0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6), | ||
5416 | }, | ||
5417 | { .freq = 5410, | ||
5418 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, | ||
5419 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
5420 | 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05, | ||
5421 | 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, | ||
5422 | 0x00, 0x05, 0x00, 0x5a, 0x00), | ||
5423 | PHYREGS(0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5), | ||
5424 | }, | ||
5425 | { .freq = 5420, | ||
5426 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, | ||
5427 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
5428 | 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05, | ||
5429 | 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, | ||
5430 | 0x00, 0x05, 0x00, 0x5a, 0x00), | ||
5431 | PHYREGS(0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5), | ||
5432 | }, | ||
5433 | { .freq = 5430, | ||
5434 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, | ||
5435 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
5436 | 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05, | ||
5437 | 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, | ||
5438 | 0x00, 0x05, 0x00, 0x59, 0x00), | ||
5439 | PHYREGS(0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4), | ||
5440 | }, | ||
5441 | { .freq = 5440, | ||
5442 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, | ||
5443 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
5444 | 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05, | ||
5445 | 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, | ||
5446 | 0x00, 0x05, 0x00, 0x59, 0x00), | ||
5447 | PHYREGS(0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3), | ||
5448 | }, | ||
5449 | { .freq = 5450, | ||
5450 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, | ||
5451 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
5452 | 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05, | ||
5453 | 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, | ||
5454 | 0x00, 0x05, 0x00, 0x59, 0x00), | ||
5455 | PHYREGS(0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2), | ||
5456 | }, | ||
5457 | { .freq = 5460, | ||
5458 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, | ||
5459 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
5460 | 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04, | ||
5461 | 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, | ||
5462 | 0x00, 0x04, 0x00, 0x69, 0x00), | ||
5463 | PHYREGS(0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1), | ||
5464 | }, | ||
5465 | { .freq = 5470, | ||
5466 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, | ||
5467 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
5468 | 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
5469 | 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, | ||
5470 | 0x00, 0x04, 0x00, 0x69, 0x00), | ||
5471 | PHYREGS(0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0), | ||
5472 | }, | ||
5473 | { .freq = 5480, | ||
5474 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, | ||
5475 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
5476 | 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
5477 | 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, | ||
5478 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
5479 | PHYREGS(0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df), | ||
5480 | }, | ||
5481 | { .freq = 5490, | ||
5482 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, | ||
5483 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, | ||
5484 | 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
5485 | 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, | ||
5486 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
5487 | PHYREGS(0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de), | ||
5488 | }, | ||
5489 | { .freq = 5500, | ||
5490 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, | ||
5491 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
5492 | 0x84, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
5493 | 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, | ||
5494 | 0x00, 0x04, 0x00, 0x78, 0x00), | ||
5495 | PHYREGS(0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd), | ||
5496 | }, | ||
5497 | { .freq = 5510, | ||
5498 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, | ||
5499 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
5500 | 0x84, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
5501 | 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, | ||
5502 | 0x00, 0x04, 0x00, 0x78, 0x00), | ||
5503 | PHYREGS(0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd), | ||
5504 | }, | ||
5505 | { .freq = 5520, | ||
5506 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, | ||
5507 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
5508 | 0x84, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
5509 | 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, | ||
5510 | 0x00, 0x04, 0x00, 0x78, 0x00), | ||
5511 | PHYREGS(0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc), | ||
5512 | }, | ||
5513 | { .freq = 5530, | ||
5514 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, | ||
5515 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
5516 | 0x84, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03, | ||
5517 | 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, | ||
5518 | 0x00, 0x03, 0x00, 0x78, 0x00), | ||
5519 | PHYREGS(0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db), | ||
5520 | }, | ||
5521 | { .freq = 5540, | ||
5522 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, | ||
5523 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
5524 | 0x84, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03, | ||
5525 | 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, | ||
5526 | 0x00, 0x03, 0x00, 0x77, 0x00), | ||
5527 | PHYREGS(0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da), | ||
5528 | }, | ||
5529 | { .freq = 5550, | ||
5530 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, | ||
5531 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
5532 | 0x84, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03, | ||
5533 | 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, | ||
5534 | 0x00, 0x03, 0x00, 0x77, 0x00), | ||
5535 | PHYREGS(0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9), | ||
5536 | }, | ||
5537 | { .freq = 5560, | ||
5538 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, | ||
5539 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
5540 | 0x84, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03, | ||
5541 | 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, | ||
5542 | 0x00, 0x03, 0x00, 0x77, 0x00), | ||
5543 | PHYREGS(0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8), | ||
5544 | }, | ||
5545 | { .freq = 5570, | ||
5546 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, | ||
5547 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
5548 | 0x84, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
5549 | 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, | ||
5550 | 0x00, 0x02, 0x00, 0x76, 0x00), | ||
5551 | PHYREGS(0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7), | ||
5552 | }, | ||
5553 | { .freq = 5580, | ||
5554 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, | ||
5555 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
5556 | 0x84, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
5557 | 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, | ||
5558 | 0x00, 0x02, 0x00, 0x76, 0x00), | ||
5559 | PHYREGS(0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7), | ||
5560 | }, | ||
5561 | { .freq = 5590, | ||
5562 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, | ||
5563 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, | ||
5564 | 0x84, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
5565 | 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
5566 | 0x00, 0x02, 0x00, 0x76, 0x00), | ||
5567 | PHYREGS(0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6), | ||
5568 | }, | ||
5569 | { .freq = 5600, | ||
5570 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, | ||
5571 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
5572 | 0x70, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
5573 | 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
5574 | 0x00, 0x02, 0x00, 0x76, 0x00), | ||
5575 | PHYREGS(0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5), | ||
5576 | }, | ||
5577 | { .freq = 5610, | ||
5578 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, | ||
5579 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
5580 | 0x70, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
5581 | 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
5582 | 0x00, 0x02, 0x00, 0x76, 0x00), | ||
5583 | PHYREGS(0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4), | ||
5584 | }, | ||
5585 | { .freq = 5620, | ||
5586 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, | ||
5587 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
5588 | 0x70, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
5589 | 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
5590 | 0x00, 0x02, 0x00, 0x76, 0x00), | ||
5591 | PHYREGS(0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3), | ||
5592 | }, | ||
5593 | { .freq = 5630, | ||
5594 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, | ||
5595 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
5596 | 0x70, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
5597 | 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
5598 | 0x00, 0x02, 0x00, 0x76, 0x00), | ||
5599 | PHYREGS(0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2), | ||
5600 | }, | ||
5601 | { .freq = 5640, | ||
5602 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, | ||
5603 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
5604 | 0x70, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
5605 | 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
5606 | 0x00, 0x02, 0x00, 0x75, 0x00), | ||
5607 | PHYREGS(0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2), | ||
5608 | }, | ||
5609 | { .freq = 5650, | ||
5610 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, | ||
5611 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
5612 | 0x70, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
5613 | 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, | ||
5614 | 0x00, 0x01, 0x00, 0x75, 0x00), | ||
5615 | PHYREGS(0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1), | ||
5616 | }, | ||
5617 | { .freq = 5660, | ||
5618 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, | ||
5619 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
5620 | 0x70, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
5621 | 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, | ||
5622 | 0x00, 0x01, 0x00, 0x75, 0x00), | ||
5623 | PHYREGS(0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0), | ||
5624 | }, | ||
5625 | { .freq = 5670, | ||
5626 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, | ||
5627 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
5628 | 0x70, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
5629 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
5630 | 0x00, 0x01, 0x00, 0x74, 0x00), | ||
5631 | PHYREGS(0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf), | ||
5632 | }, | ||
5633 | { .freq = 5680, | ||
5634 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, | ||
5635 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
5636 | 0x70, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
5637 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
5638 | 0x00, 0x01, 0x00, 0x74, 0x00), | ||
5639 | PHYREGS(0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce), | ||
5640 | }, | ||
5641 | { .freq = 5690, | ||
5642 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, | ||
5643 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, | ||
5644 | 0x70, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
5645 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
5646 | 0x00, 0x01, 0x00, 0x74, 0x00), | ||
5647 | PHYREGS(0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce), | ||
5648 | }, | ||
5649 | { .freq = 5700, | ||
5650 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, | ||
5651 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5652 | 0x40, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
5653 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
5654 | 0x00, 0x01, 0x00, 0x74, 0x00), | ||
5655 | PHYREGS(0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd), | ||
5656 | }, | ||
5657 | { .freq = 5710, | ||
5658 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, | ||
5659 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5660 | 0x40, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
5661 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
5662 | 0x00, 0x01, 0x00, 0x74, 0x00), | ||
5663 | PHYREGS(0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc), | ||
5664 | }, | ||
5665 | { .freq = 5720, | ||
5666 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, | ||
5667 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5668 | 0x40, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
5669 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
5670 | 0x00, 0x01, 0x00, 0x74, 0x00), | ||
5671 | PHYREGS(0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb), | ||
5672 | }, | ||
5673 | { .freq = 5725, | ||
5674 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, | ||
5675 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5676 | 0x40, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
5677 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
5678 | 0x00, 0x01, 0x00, 0x74, 0x00), | ||
5679 | PHYREGS(0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb), | ||
5680 | }, | ||
5681 | { .freq = 5730, | ||
5682 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, | ||
5683 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5684 | 0x40, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
5685 | 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
5686 | 0x00, 0x01, 0x00, 0x84, 0x00), | ||
5687 | PHYREGS(0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca), | ||
5688 | }, | ||
5689 | { .freq = 5735, | ||
5690 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, | ||
5691 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5692 | 0x40, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5693 | 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
5694 | 0x00, 0x00, 0x00, 0x83, 0x00), | ||
5695 | PHYREGS(0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca), | ||
5696 | }, | ||
5697 | { .freq = 5740, | ||
5698 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, | ||
5699 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5700 | 0x40, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5701 | 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
5702 | 0x00, 0x00, 0x00, 0x83, 0x00), | ||
5703 | PHYREGS(0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9), | ||
5704 | }, | ||
5705 | { .freq = 5745, | ||
5706 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, | ||
5707 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5708 | 0x40, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5709 | 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
5710 | 0x00, 0x00, 0x00, 0x83, 0x00), | ||
5711 | PHYREGS(0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9), | ||
5712 | }, | ||
5713 | { .freq = 5750, | ||
5714 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, | ||
5715 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5716 | 0x40, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5717 | 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
5718 | 0x00, 0x00, 0x00, 0x83, 0x00), | ||
5719 | PHYREGS(0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9), | ||
5720 | }, | ||
5721 | { .freq = 5755, | ||
5722 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, | ||
5723 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5724 | 0x40, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5725 | 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
5726 | 0x00, 0x00, 0x00, 0x83, 0x00), | ||
5727 | PHYREGS(0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8), | ||
5728 | }, | ||
5729 | { .freq = 5760, | ||
5730 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, | ||
5731 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5732 | 0x40, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5733 | 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, | ||
5734 | 0x00, 0x00, 0x00, 0x83, 0x00), | ||
5735 | PHYREGS(0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8), | ||
5736 | }, | ||
5737 | { .freq = 5765, | ||
5738 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, | ||
5739 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5740 | 0x40, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5741 | 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, | ||
5742 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5743 | PHYREGS(0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8), | ||
5744 | }, | ||
5745 | { .freq = 5770, | ||
5746 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, | ||
5747 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5748 | 0x40, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5749 | 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, | ||
5750 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5751 | PHYREGS(0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7), | ||
5752 | }, | ||
5753 | { .freq = 5775, | ||
5754 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, | ||
5755 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5756 | 0x40, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5757 | 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, | ||
5758 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5759 | PHYREGS(0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7), | ||
5760 | }, | ||
5761 | { .freq = 5780, | ||
5762 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, | ||
5763 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, | ||
5764 | 0x40, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5765 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5766 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5767 | PHYREGS(0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6), | ||
5768 | }, | ||
5769 | { .freq = 5785, | ||
5770 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, | ||
5771 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, | ||
5772 | 0x40, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5773 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5774 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5775 | PHYREGS(0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6), | ||
5776 | }, | ||
5777 | { .freq = 5790, | ||
5778 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, | ||
5779 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, | ||
5780 | 0x40, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5781 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5782 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5783 | PHYREGS(0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6), | ||
5784 | }, | ||
5785 | { .freq = 5795, | ||
5786 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, | ||
5787 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, | ||
5788 | 0x40, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5789 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5790 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5791 | PHYREGS(0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5), | ||
5792 | }, | ||
5793 | { .freq = 5800, | ||
5794 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, | ||
5795 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5796 | 0x20, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5797 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5798 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5799 | PHYREGS(0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5), | ||
5800 | }, | ||
5801 | { .freq = 5805, | ||
5802 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, | ||
5803 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5804 | 0x20, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5805 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5806 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5807 | PHYREGS(0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4), | ||
5808 | }, | ||
5809 | { .freq = 5810, | ||
5810 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, | ||
5811 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5812 | 0x20, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5813 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5814 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5815 | PHYREGS(0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4), | ||
5816 | }, | ||
5817 | { .freq = 5815, | ||
5818 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, | ||
5819 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5820 | 0x20, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5821 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5822 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5823 | PHYREGS(0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4), | ||
5824 | }, | ||
5825 | { .freq = 5820, | ||
5826 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, | ||
5827 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5828 | 0x20, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5829 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5830 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5831 | PHYREGS(0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3), | ||
5832 | }, | ||
5833 | { .freq = 5825, | ||
5834 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, | ||
5835 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5836 | 0x20, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5837 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5838 | 0x00, 0x00, 0x00, 0x82, 0x00), | ||
5839 | PHYREGS(0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3), | ||
5840 | }, | ||
5841 | { .freq = 5830, | ||
5842 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, | ||
5843 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5844 | 0x20, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5845 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5846 | 0x00, 0x00, 0x00, 0x72, 0x00), | ||
5847 | PHYREGS(0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2), | ||
5848 | }, | ||
5849 | { .freq = 5840, | ||
5850 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, | ||
5851 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5852 | 0x20, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5853 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
5854 | 0x00, 0x00, 0x00, 0x72, 0x00), | ||
5855 | PHYREGS(0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2), | ||
5856 | }, | ||
5857 | { .freq = 5850, | ||
5858 | RADIOREGS3(0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, | ||
5859 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5860 | 0x20, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5861 | 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
5862 | 0x00, 0x00, 0x00, 0x72, 0x00), | ||
5863 | PHYREGS(0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1), | ||
5864 | }, | ||
5865 | { .freq = 5860, | ||
5866 | RADIOREGS3(0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, | ||
5867 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5868 | 0x20, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5869 | 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
5870 | 0x00, 0x00, 0x00, 0x72, 0x00), | ||
5871 | PHYREGS(0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0), | ||
5872 | }, | ||
5873 | { .freq = 5870, | ||
5874 | RADIOREGS3(0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, | ||
5875 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5876 | 0x20, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5877 | 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
5878 | 0x00, 0x00, 0x00, 0x71, 0x00), | ||
5879 | PHYREGS(0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf), | ||
5880 | }, | ||
5881 | { .freq = 5880, | ||
5882 | RADIOREGS3(0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, | ||
5883 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5884 | 0x20, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5885 | 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
5886 | 0x00, 0x00, 0x00, 0x71, 0x00), | ||
5887 | PHYREGS(0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf), | ||
5888 | }, | ||
5889 | { .freq = 5890, | ||
5890 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, | ||
5891 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, | ||
5892 | 0x20, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5893 | 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
5894 | 0x00, 0x00, 0x00, 0x71, 0x00), | ||
5895 | PHYREGS(0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be), | ||
5896 | }, | ||
5897 | { .freq = 5900, | ||
5898 | RADIOREGS3(0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, | ||
5899 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, | ||
5900 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5901 | 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
5902 | 0x00, 0x00, 0x00, 0x71, 0x00), | ||
5903 | PHYREGS(0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd), | ||
5904 | }, | ||
5905 | { .freq = 5910, | ||
5906 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, | ||
5907 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, | ||
5908 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
5909 | 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
5910 | 0x00, 0x00, 0x00, 0x71, 0x00), | ||
5911 | PHYREGS(0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc), | ||
5912 | }, | ||
5913 | { .freq = 2412, | ||
5914 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, | ||
5915 | 0x16, 0x01, 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, | ||
5916 | 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
5917 | 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, | ||
5918 | 0x70, 0x00, 0x0f, 0x00, 0x0b), | ||
5919 | PHYREGS(0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443), | ||
5920 | }, | ||
5921 | { .freq = 2417, | ||
5922 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, | ||
5923 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
5924 | 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
5925 | 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, | ||
5926 | 0x70, 0x00, 0x0f, 0x00, 0x0a), | ||
5927 | PHYREGS(0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441), | ||
5928 | }, | ||
5929 | { .freq = 2422, | ||
5930 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, | ||
5931 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
5932 | 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
5933 | 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, | ||
5934 | 0x70, 0x00, 0x0f, 0x00, 0x0a), | ||
5935 | PHYREGS(0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f), | ||
5936 | }, | ||
5937 | { .freq = 2427, | ||
5938 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, | ||
5939 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
5940 | 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
5941 | 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, | ||
5942 | 0x70, 0x00, 0x0e, 0x00, 0x0a), | ||
5943 | PHYREGS(0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d), | ||
5944 | }, | ||
5945 | { .freq = 2432, | ||
5946 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, | ||
5947 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
5948 | 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
5949 | 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, | ||
5950 | 0x70, 0x00, 0x0e, 0x00, 0x0a), | ||
5951 | PHYREGS(0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a), | ||
5952 | }, | ||
5953 | { .freq = 2437, | ||
5954 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, | ||
5955 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
5956 | 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
5957 | 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, | ||
5958 | 0x70, 0x00, 0x0e, 0x00, 0x0a), | ||
5959 | PHYREGS(0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438), | ||
5960 | }, | ||
5961 | { .freq = 2442, | ||
5962 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, | ||
5963 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
5964 | 0x00, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
5965 | 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, | ||
5966 | 0x70, 0x00, 0x0e, 0x00, 0x0a), | ||
5967 | PHYREGS(0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436), | ||
5968 | }, | ||
5969 | { .freq = 2447, | ||
5970 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, | ||
5971 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
5972 | 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
5973 | 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, | ||
5974 | 0x70, 0x00, 0x0e, 0x00, 0x09), | ||
5975 | PHYREGS(0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434), | ||
5976 | }, | ||
5977 | { .freq = 2452, | ||
5978 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, | ||
5979 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
5980 | 0x00, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
5981 | 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, | ||
5982 | 0x70, 0x00, 0x0e, 0x00, 0x09), | ||
5983 | PHYREGS(0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431), | ||
5984 | }, | ||
5985 | { .freq = 2457, | ||
5986 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, | ||
5987 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
5988 | 0x00, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
5989 | 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, | ||
5990 | 0x70, 0x00, 0x0d, 0x00, 0x09), | ||
5991 | PHYREGS(0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f), | ||
5992 | }, | ||
5993 | { .freq = 2462, | ||
5994 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, | ||
5995 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
5996 | 0x00, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
5997 | 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, | ||
5998 | 0x70, 0x00, 0x0d, 0x00, 0x09), | ||
5999 | PHYREGS(0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d), | ||
6000 | }, | ||
6001 | { .freq = 2467, | ||
6002 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, | ||
6003 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
6004 | 0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
6005 | 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, | ||
6006 | 0x70, 0x00, 0x0d, 0x00, 0x08), | ||
6007 | PHYREGS(0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b), | ||
6008 | }, | ||
6009 | { .freq = 2472, | ||
6010 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, | ||
6011 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, | ||
6012 | 0x00, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
6013 | 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, | ||
6014 | 0x70, 0x00, 0x0d, 0x00, 0x08), | ||
6015 | PHYREGS(0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429), | ||
6016 | }, | ||
6017 | { .freq = 2484, | ||
6018 | RADIOREGS3(0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, | ||
6019 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, | ||
6020 | 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
6021 | 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, | ||
6022 | 0x70, 0x00, 0x0d, 0x00, 0x08), | ||
6023 | PHYREGS(0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424), | ||
6024 | }, | ||
6025 | }; | ||
6026 | |||
6027 | static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev6[] = { | ||
6028 | { .freq = 4920, | ||
6029 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, | ||
6030 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
6031 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6032 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6033 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6034 | PHYREGS(0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216), | ||
6035 | }, | ||
6036 | { .freq = 4930, | ||
6037 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, | ||
6038 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
6039 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6040 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6041 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6042 | PHYREGS(0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215), | ||
6043 | }, | ||
6044 | { .freq = 4940, | ||
6045 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, | ||
6046 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
6047 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6048 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6049 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6050 | PHYREGS(0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214), | ||
6051 | }, | ||
6052 | { .freq = 4950, | ||
6053 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, | ||
6054 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
6055 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6056 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6057 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6058 | PHYREGS(0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213), | ||
6059 | }, | ||
6060 | { .freq = 4960, | ||
6061 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, | ||
6062 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6063 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6064 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6065 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6066 | PHYREGS(0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212), | ||
6067 | }, | ||
6068 | { .freq = 4970, | ||
6069 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, | ||
6070 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6071 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6072 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6073 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6074 | PHYREGS(0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211), | ||
6075 | }, | ||
6076 | { .freq = 4980, | ||
6077 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, | ||
6078 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6079 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6080 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6081 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6082 | PHYREGS(0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f), | ||
6083 | }, | ||
6084 | { .freq = 4990, | ||
6085 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, | ||
6086 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6087 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6088 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6089 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6090 | PHYREGS(0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e), | ||
6091 | }, | ||
6092 | { .freq = 5000, | ||
6093 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, | ||
6094 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6095 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6096 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6097 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6098 | PHYREGS(0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d), | ||
6099 | }, | ||
6100 | { .freq = 5010, | ||
6101 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, | ||
6102 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6103 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6104 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6105 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6106 | PHYREGS(0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c), | ||
6107 | }, | ||
6108 | { .freq = 5020, | ||
6109 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, | ||
6110 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6111 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6112 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6113 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6114 | PHYREGS(0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b), | ||
6115 | }, | ||
6116 | { .freq = 5030, | ||
6117 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, | ||
6118 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6119 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6120 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6121 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6122 | PHYREGS(0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a), | ||
6123 | }, | ||
6124 | { .freq = 5040, | ||
6125 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, | ||
6126 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6127 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6128 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6129 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6130 | PHYREGS(0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209), | ||
6131 | }, | ||
6132 | { .freq = 5050, | ||
6133 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, | ||
6134 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6135 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6136 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6137 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6138 | PHYREGS(0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208), | ||
6139 | }, | ||
6140 | { .freq = 5060, | ||
6141 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, | ||
6142 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6143 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6144 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
6145 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6146 | PHYREGS(0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207), | ||
6147 | }, | ||
6148 | { .freq = 5070, | ||
6149 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, | ||
6150 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6151 | 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6152 | 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, | ||
6153 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6154 | PHYREGS(0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206), | ||
6155 | }, | ||
6156 | { .freq = 5080, | ||
6157 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, | ||
6158 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6159 | 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6160 | 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, | ||
6161 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6162 | PHYREGS(0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205), | ||
6163 | }, | ||
6164 | { .freq = 5090, | ||
6165 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, | ||
6166 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
6167 | 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
6168 | 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, | ||
6169 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6170 | PHYREGS(0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204), | ||
6171 | }, | ||
6172 | { .freq = 5100, | ||
6173 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, | ||
6174 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6175 | 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, | ||
6176 | 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, | ||
6177 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6178 | PHYREGS(0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203), | ||
6179 | }, | ||
6180 | { .freq = 5110, | ||
6181 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, | ||
6182 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6183 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, | ||
6184 | 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, | ||
6185 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6186 | PHYREGS(0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202), | ||
6187 | }, | ||
6188 | { .freq = 5120, | ||
6189 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, | ||
6190 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6191 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, | ||
6192 | 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, | ||
6193 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6194 | PHYREGS(0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201), | ||
6195 | }, | ||
6196 | { .freq = 5130, | ||
6197 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, | ||
6198 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6199 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, | ||
6200 | 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, | ||
6201 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6202 | PHYREGS(0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200), | ||
6203 | }, | ||
6204 | { .freq = 5140, | ||
6205 | RADIOREGS3(0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, | ||
6206 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6207 | 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, | ||
6208 | 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, | ||
6209 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
6210 | PHYREGS(0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff), | ||
6211 | }, | ||
6212 | { .freq = 5160, | ||
6213 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, | ||
6214 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6215 | 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e, | ||
6216 | 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, | ||
6217 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
6218 | PHYREGS(0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd), | ||
6219 | }, | ||
6220 | { .freq = 5170, | ||
6221 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, | ||
6222 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6223 | 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e, | ||
6224 | 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, | ||
6225 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
6226 | PHYREGS(0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc), | ||
6227 | }, | ||
6228 | { .freq = 5180, | ||
6229 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, | ||
6230 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6231 | 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e, | ||
6232 | 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, | ||
6233 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
6234 | PHYREGS(0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb), | ||
6235 | }, | ||
6236 | { .freq = 5190, | ||
6237 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, | ||
6238 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6239 | 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d, | ||
6240 | 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, | ||
6241 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
6242 | PHYREGS(0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa), | ||
6243 | }, | ||
6244 | { .freq = 5200, | ||
6245 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, | ||
6246 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6247 | 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
6248 | 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, | ||
6249 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
6250 | PHYREGS(0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9), | ||
6251 | }, | ||
6252 | { .freq = 5210, | ||
6253 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, | ||
6254 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
6255 | 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
6256 | 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, | ||
6257 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
6258 | PHYREGS(0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8), | ||
6259 | }, | ||
6260 | { .freq = 5220, | ||
6261 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, | ||
6262 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
6263 | 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
6264 | 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, | ||
6265 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
6266 | PHYREGS(0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7), | ||
6267 | }, | ||
6268 | { .freq = 5230, | ||
6269 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, | ||
6270 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
6271 | 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
6272 | 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, | ||
6273 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
6274 | PHYREGS(0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6), | ||
6275 | }, | ||
6276 | { .freq = 5240, | ||
6277 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, | ||
6278 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
6279 | 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
6280 | 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, | ||
6281 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
6282 | PHYREGS(0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5), | ||
6283 | }, | ||
6284 | { .freq = 5250, | ||
6285 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, | ||
6286 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
6287 | 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
6288 | 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, | ||
6289 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
6290 | PHYREGS(0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4), | ||
6291 | }, | ||
6292 | { .freq = 5260, | ||
6293 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, | ||
6294 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, | ||
6295 | 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d, | ||
6296 | 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, | ||
6297 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
6298 | PHYREGS(0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3), | ||
6299 | }, | ||
6300 | { .freq = 5270, | ||
6301 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, | ||
6302 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, | ||
6303 | 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c, | ||
6304 | 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, | ||
6305 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
6306 | PHYREGS(0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2), | ||
6307 | }, | ||
6308 | { .freq = 5280, | ||
6309 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, | ||
6310 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
6311 | 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, | ||
6312 | 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, | ||
6313 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
6314 | PHYREGS(0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1), | ||
6315 | }, | ||
6316 | { .freq = 5290, | ||
6317 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, | ||
6318 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
6319 | 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, | ||
6320 | 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, | ||
6321 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
6322 | PHYREGS(0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0), | ||
6323 | }, | ||
6324 | { .freq = 5300, | ||
6325 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, | ||
6326 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
6327 | 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, | ||
6328 | 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, | ||
6329 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
6330 | PHYREGS(0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0), | ||
6331 | }, | ||
6332 | { .freq = 5310, | ||
6333 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, | ||
6334 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
6335 | 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, | ||
6336 | 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, | ||
6337 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
6338 | PHYREGS(0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef), | ||
6339 | }, | ||
6340 | { .freq = 5320, | ||
6341 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, | ||
6342 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
6343 | 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, | ||
6344 | 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, | ||
6345 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
6346 | PHYREGS(0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee), | ||
6347 | }, | ||
6348 | { .freq = 5330, | ||
6349 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, | ||
6350 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
6351 | 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b, | ||
6352 | 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, | ||
6353 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
6354 | PHYREGS(0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed), | ||
6355 | }, | ||
6356 | { .freq = 5340, | ||
6357 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, | ||
6358 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
6359 | 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b, | ||
6360 | 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, | ||
6361 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
6362 | PHYREGS(0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec), | ||
6363 | }, | ||
6364 | { .freq = 5350, | ||
6365 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, | ||
6366 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, | ||
6367 | 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b, | ||
6368 | 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, | ||
6369 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
6370 | PHYREGS(0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb), | ||
6371 | }, | ||
6372 | { .freq = 5360, | ||
6373 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, | ||
6374 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, | ||
6375 | 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, | ||
6376 | 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, | ||
6377 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
6378 | PHYREGS(0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea), | ||
6379 | }, | ||
6380 | { .freq = 5370, | ||
6381 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, | ||
6382 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, | ||
6383 | 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, | ||
6384 | 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, | ||
6385 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
6386 | PHYREGS(0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9), | ||
6387 | }, | ||
6388 | { .freq = 5380, | ||
6389 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, | ||
6390 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
6391 | 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, | ||
6392 | 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, | ||
6393 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
6394 | PHYREGS(0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8), | ||
6395 | }, | ||
6396 | { .freq = 5390, | ||
6397 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, | ||
6398 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
6399 | 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, | ||
6400 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, | ||
6401 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
6402 | PHYREGS(0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7), | ||
6403 | }, | ||
6404 | { .freq = 5400, | ||
6405 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, | ||
6406 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
6407 | 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, | ||
6408 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, | ||
6409 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
6410 | PHYREGS(0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6), | ||
6411 | }, | ||
6412 | { .freq = 5410, | ||
6413 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, | ||
6414 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
6415 | 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a, | ||
6416 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, | ||
6417 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
6418 | PHYREGS(0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5), | ||
6419 | }, | ||
6420 | { .freq = 5420, | ||
6421 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, | ||
6422 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
6423 | 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a, | ||
6424 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, | ||
6425 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
6426 | PHYREGS(0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5), | ||
6427 | }, | ||
6428 | { .freq = 5430, | ||
6429 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, | ||
6430 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, | ||
6431 | 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a, | ||
6432 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, | ||
6433 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
6434 | PHYREGS(0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4), | ||
6435 | }, | ||
6436 | { .freq = 5440, | ||
6437 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, | ||
6438 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
6439 | 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09, | ||
6440 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, | ||
6441 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6442 | PHYREGS(0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3), | ||
6443 | }, | ||
6444 | { .freq = 5450, | ||
6445 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, | ||
6446 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
6447 | 0x95, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09, | ||
6448 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, | ||
6449 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6450 | PHYREGS(0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2), | ||
6451 | }, | ||
6452 | { .freq = 5460, | ||
6453 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, | ||
6454 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
6455 | 0x95, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09, | ||
6456 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, | ||
6457 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6458 | PHYREGS(0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1), | ||
6459 | }, | ||
6460 | { .freq = 5470, | ||
6461 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, | ||
6462 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
6463 | 0x94, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09, | ||
6464 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, | ||
6465 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6466 | PHYREGS(0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0), | ||
6467 | }, | ||
6468 | { .freq = 5480, | ||
6469 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, | ||
6470 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
6471 | 0x84, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
6472 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
6473 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6474 | PHYREGS(0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df), | ||
6475 | }, | ||
6476 | { .freq = 5490, | ||
6477 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, | ||
6478 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
6479 | 0x83, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
6480 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
6481 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6482 | PHYREGS(0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de), | ||
6483 | }, | ||
6484 | { .freq = 5500, | ||
6485 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, | ||
6486 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
6487 | 0x82, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
6488 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
6489 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6490 | PHYREGS(0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd), | ||
6491 | }, | ||
6492 | { .freq = 5510, | ||
6493 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, | ||
6494 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
6495 | 0x82, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
6496 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
6497 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6498 | PHYREGS(0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd), | ||
6499 | }, | ||
6500 | { .freq = 5520, | ||
6501 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, | ||
6502 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
6503 | 0x72, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
6504 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
6505 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6506 | PHYREGS(0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc), | ||
6507 | }, | ||
6508 | { .freq = 5530, | ||
6509 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, | ||
6510 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, | ||
6511 | 0x72, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
6512 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
6513 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6514 | PHYREGS(0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db), | ||
6515 | }, | ||
6516 | { .freq = 5540, | ||
6517 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, | ||
6518 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, | ||
6519 | 0x71, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
6520 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
6521 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6522 | PHYREGS(0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da), | ||
6523 | }, | ||
6524 | { .freq = 5550, | ||
6525 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, | ||
6526 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, | ||
6527 | 0x61, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
6528 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
6529 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6530 | PHYREGS(0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9), | ||
6531 | }, | ||
6532 | { .freq = 5560, | ||
6533 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, | ||
6534 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, | ||
6535 | 0x61, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
6536 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
6537 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6538 | PHYREGS(0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8), | ||
6539 | }, | ||
6540 | { .freq = 5570, | ||
6541 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, | ||
6542 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, | ||
6543 | 0x61, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
6544 | 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, | ||
6545 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
6546 | PHYREGS(0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7), | ||
6547 | }, | ||
6548 | { .freq = 5580, | ||
6549 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, | ||
6550 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, | ||
6551 | 0x60, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, | ||
6552 | 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, | ||
6553 | 0x00, 0x08, 0x00, 0x6f, 0x00), | ||
6554 | PHYREGS(0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7), | ||
6555 | }, | ||
6556 | { .freq = 5590, | ||
6557 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, | ||
6558 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, | ||
6559 | 0x50, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, | ||
6560 | 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, | ||
6561 | 0x00, 0x08, 0x00, 0x6f, 0x00), | ||
6562 | PHYREGS(0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6), | ||
6563 | }, | ||
6564 | { .freq = 5600, | ||
6565 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, | ||
6566 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, | ||
6567 | 0x50, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, | ||
6568 | 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, | ||
6569 | 0x00, 0x08, 0x00, 0x6f, 0x00), | ||
6570 | PHYREGS(0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5), | ||
6571 | }, | ||
6572 | { .freq = 5610, | ||
6573 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, | ||
6574 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, | ||
6575 | 0x50, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, | ||
6576 | 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, | ||
6577 | 0x00, 0x08, 0x00, 0x6f, 0x00), | ||
6578 | PHYREGS(0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4), | ||
6579 | }, | ||
6580 | { .freq = 5620, | ||
6581 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, | ||
6582 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, | ||
6583 | 0x50, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, | ||
6584 | 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, | ||
6585 | 0x00, 0x07, 0x00, 0x6f, 0x00), | ||
6586 | PHYREGS(0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3), | ||
6587 | }, | ||
6588 | { .freq = 5630, | ||
6589 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, | ||
6590 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
6591 | 0x50, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, | ||
6592 | 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, | ||
6593 | 0x00, 0x07, 0x00, 0x6f, 0x00), | ||
6594 | PHYREGS(0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2), | ||
6595 | }, | ||
6596 | { .freq = 5640, | ||
6597 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, | ||
6598 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
6599 | 0x40, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, | ||
6600 | 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, | ||
6601 | 0x00, 0x07, 0x00, 0x6f, 0x00), | ||
6602 | PHYREGS(0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2), | ||
6603 | }, | ||
6604 | { .freq = 5650, | ||
6605 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, | ||
6606 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
6607 | 0x40, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, | ||
6608 | 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, | ||
6609 | 0x00, 0x07, 0x00, 0x6f, 0x00), | ||
6610 | PHYREGS(0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1), | ||
6611 | }, | ||
6612 | { .freq = 5660, | ||
6613 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, | ||
6614 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
6615 | 0x40, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6616 | 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, | ||
6617 | 0x00, 0x06, 0x00, 0x6f, 0x00), | ||
6618 | PHYREGS(0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0), | ||
6619 | }, | ||
6620 | { .freq = 5670, | ||
6621 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, | ||
6622 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
6623 | 0x40, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6624 | 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6625 | 0x00, 0x06, 0x00, 0x6f, 0x00), | ||
6626 | PHYREGS(0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf), | ||
6627 | }, | ||
6628 | { .freq = 5680, | ||
6629 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, | ||
6630 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
6631 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6632 | 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6633 | 0x00, 0x06, 0x00, 0x6f, 0x00), | ||
6634 | PHYREGS(0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce), | ||
6635 | }, | ||
6636 | { .freq = 5690, | ||
6637 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, | ||
6638 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
6639 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6640 | 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6641 | 0x00, 0x06, 0x00, 0x6f, 0x00), | ||
6642 | PHYREGS(0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce), | ||
6643 | }, | ||
6644 | { .freq = 5700, | ||
6645 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, | ||
6646 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
6647 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6648 | 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6649 | 0x00, 0x06, 0x00, 0x6e, 0x00), | ||
6650 | PHYREGS(0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd), | ||
6651 | }, | ||
6652 | { .freq = 5710, | ||
6653 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, | ||
6654 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
6655 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6656 | 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6657 | 0x00, 0x06, 0x00, 0x6e, 0x00), | ||
6658 | PHYREGS(0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc), | ||
6659 | }, | ||
6660 | { .freq = 5720, | ||
6661 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, | ||
6662 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
6663 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6664 | 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6665 | 0x00, 0x06, 0x00, 0x6e, 0x00), | ||
6666 | PHYREGS(0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb), | ||
6667 | }, | ||
6668 | { .freq = 5725, | ||
6669 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, | ||
6670 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
6671 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6672 | 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6673 | 0x00, 0x06, 0x00, 0x6e, 0x00), | ||
6674 | PHYREGS(0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb), | ||
6675 | }, | ||
6676 | { .freq = 5730, | ||
6677 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, | ||
6678 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
6679 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6680 | 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6681 | 0x00, 0x06, 0x00, 0x6e, 0x00), | ||
6682 | PHYREGS(0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca), | ||
6683 | }, | ||
6684 | { .freq = 5735, | ||
6685 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, | ||
6686 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
6687 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6688 | 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6689 | 0x00, 0x06, 0x00, 0x6d, 0x00), | ||
6690 | PHYREGS(0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca), | ||
6691 | }, | ||
6692 | { .freq = 5740, | ||
6693 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, | ||
6694 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
6695 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6696 | 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6697 | 0x00, 0x06, 0x00, 0x6d, 0x00), | ||
6698 | PHYREGS(0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9), | ||
6699 | }, | ||
6700 | { .freq = 5745, | ||
6701 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, | ||
6702 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
6703 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
6704 | 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
6705 | 0x00, 0x06, 0x00, 0x6d, 0x00), | ||
6706 | PHYREGS(0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9), | ||
6707 | }, | ||
6708 | { .freq = 5750, | ||
6709 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, | ||
6710 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
6711 | 0x20, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6712 | 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, | ||
6713 | 0x00, 0x05, 0x00, 0x6d, 0x00), | ||
6714 | PHYREGS(0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9), | ||
6715 | }, | ||
6716 | { .freq = 5755, | ||
6717 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, | ||
6718 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
6719 | 0x10, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6720 | 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, | ||
6721 | 0x00, 0x05, 0x00, 0x6c, 0x00), | ||
6722 | PHYREGS(0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8), | ||
6723 | }, | ||
6724 | { .freq = 5760, | ||
6725 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, | ||
6726 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, | ||
6727 | 0x10, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6728 | 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, | ||
6729 | 0x00, 0x05, 0x00, 0x6c, 0x00), | ||
6730 | PHYREGS(0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8), | ||
6731 | }, | ||
6732 | { .freq = 5765, | ||
6733 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, | ||
6734 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, | ||
6735 | 0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6736 | 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
6737 | 0x00, 0x05, 0x00, 0x6c, 0x00), | ||
6738 | PHYREGS(0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8), | ||
6739 | }, | ||
6740 | { .freq = 5770, | ||
6741 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, | ||
6742 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, | ||
6743 | 0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6744 | 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
6745 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
6746 | PHYREGS(0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7), | ||
6747 | }, | ||
6748 | { .freq = 5775, | ||
6749 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, | ||
6750 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, | ||
6751 | 0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6752 | 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
6753 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
6754 | PHYREGS(0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7), | ||
6755 | }, | ||
6756 | { .freq = 5780, | ||
6757 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, | ||
6758 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, | ||
6759 | 0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6760 | 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
6761 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
6762 | PHYREGS(0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6), | ||
6763 | }, | ||
6764 | { .freq = 5785, | ||
6765 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, | ||
6766 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6767 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6768 | 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
6769 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
6770 | PHYREGS(0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6), | ||
6771 | }, | ||
6772 | { .freq = 5790, | ||
6773 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, | ||
6774 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6775 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6776 | 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
6777 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
6778 | PHYREGS(0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6), | ||
6779 | }, | ||
6780 | { .freq = 5795, | ||
6781 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, | ||
6782 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6783 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6784 | 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6785 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
6786 | PHYREGS(0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5), | ||
6787 | }, | ||
6788 | { .freq = 5800, | ||
6789 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, | ||
6790 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6791 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6792 | 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6793 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
6794 | PHYREGS(0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5), | ||
6795 | }, | ||
6796 | { .freq = 5805, | ||
6797 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, | ||
6798 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6799 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6800 | 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6801 | 0x00, 0x05, 0x00, 0x6a, 0x00), | ||
6802 | PHYREGS(0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4), | ||
6803 | }, | ||
6804 | { .freq = 5810, | ||
6805 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, | ||
6806 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6807 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6808 | 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6809 | 0x00, 0x05, 0x00, 0x6a, 0x00), | ||
6810 | PHYREGS(0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4), | ||
6811 | }, | ||
6812 | { .freq = 5815, | ||
6813 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, | ||
6814 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6815 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6816 | 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6817 | 0x00, 0x05, 0x00, 0x6a, 0x00), | ||
6818 | PHYREGS(0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4), | ||
6819 | }, | ||
6820 | { .freq = 5820, | ||
6821 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, | ||
6822 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6823 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6824 | 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6825 | 0x00, 0x05, 0x00, 0x6a, 0x00), | ||
6826 | PHYREGS(0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3), | ||
6827 | }, | ||
6828 | { .freq = 5825, | ||
6829 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, | ||
6830 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6831 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6832 | 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6833 | 0x00, 0x05, 0x00, 0x69, 0x00), | ||
6834 | PHYREGS(0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3), | ||
6835 | }, | ||
6836 | { .freq = 5830, | ||
6837 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, | ||
6838 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6839 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
6840 | 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6841 | 0x00, 0x05, 0x00, 0x69, 0x00), | ||
6842 | PHYREGS(0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2), | ||
6843 | }, | ||
6844 | { .freq = 5840, | ||
6845 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, | ||
6846 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
6847 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
6848 | 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6849 | 0x00, 0x04, 0x00, 0x69, 0x00), | ||
6850 | PHYREGS(0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2), | ||
6851 | }, | ||
6852 | { .freq = 5850, | ||
6853 | RADIOREGS3(0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, | ||
6854 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
6855 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
6856 | 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6857 | 0x00, 0x04, 0x00, 0x69, 0x00), | ||
6858 | PHYREGS(0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1), | ||
6859 | }, | ||
6860 | { .freq = 5860, | ||
6861 | RADIOREGS3(0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, | ||
6862 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
6863 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
6864 | 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6865 | 0x00, 0x04, 0x00, 0x69, 0x00), | ||
6866 | PHYREGS(0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0), | ||
6867 | }, | ||
6868 | { .freq = 5870, | ||
6869 | RADIOREGS3(0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, | ||
6870 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
6871 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
6872 | 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6873 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
6874 | PHYREGS(0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf), | ||
6875 | }, | ||
6876 | { .freq = 5880, | ||
6877 | RADIOREGS3(0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, | ||
6878 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
6879 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
6880 | 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6881 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
6882 | PHYREGS(0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf), | ||
6883 | }, | ||
6884 | { .freq = 5890, | ||
6885 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, | ||
6886 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
6887 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
6888 | 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6889 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
6890 | PHYREGS(0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be), | ||
6891 | }, | ||
6892 | { .freq = 5900, | ||
6893 | RADIOREGS3(0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, | ||
6894 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
6895 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
6896 | 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6897 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
6898 | PHYREGS(0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd), | ||
6899 | }, | ||
6900 | { .freq = 5910, | ||
6901 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, | ||
6902 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
6903 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
6904 | 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
6905 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
6906 | PHYREGS(0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc), | ||
6907 | }, | ||
6908 | { .freq = 2412, | ||
6909 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, | ||
6910 | 0x16, 0x01, 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, | ||
6911 | 0x00, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
6912 | 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, | ||
6913 | 0x70, 0x00, 0x0b, 0x00, 0x0a), | ||
6914 | PHYREGS(0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443), | ||
6915 | }, | ||
6916 | { .freq = 2417, | ||
6917 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, | ||
6918 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
6919 | 0x00, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
6920 | 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, | ||
6921 | 0x70, 0x00, 0x0b, 0x00, 0x0a), | ||
6922 | PHYREGS(0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441), | ||
6923 | }, | ||
6924 | { .freq = 2422, | ||
6925 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, | ||
6926 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
6927 | 0x00, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
6928 | 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, | ||
6929 | 0x70, 0x00, 0x0b, 0x00, 0x0a), | ||
6930 | PHYREGS(0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f), | ||
6931 | }, | ||
6932 | { .freq = 2427, | ||
6933 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, | ||
6934 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
6935 | 0x00, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
6936 | 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, | ||
6937 | 0x70, 0x00, 0x0a, 0x00, 0x0a), | ||
6938 | PHYREGS(0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d), | ||
6939 | }, | ||
6940 | { .freq = 2432, | ||
6941 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, | ||
6942 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
6943 | 0x00, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
6944 | 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, | ||
6945 | 0x70, 0x00, 0x0a, 0x00, 0x0a), | ||
6946 | PHYREGS(0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a), | ||
6947 | }, | ||
6948 | { .freq = 2437, | ||
6949 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, | ||
6950 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
6951 | 0x00, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
6952 | 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, | ||
6953 | 0x70, 0x00, 0x0a, 0x00, 0x0a), | ||
6954 | PHYREGS(0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438), | ||
6955 | }, | ||
6956 | { .freq = 2442, | ||
6957 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, | ||
6958 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
6959 | 0x00, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
6960 | 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, | ||
6961 | 0x70, 0x00, 0x0a, 0x00, 0x0a), | ||
6962 | PHYREGS(0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436), | ||
6963 | }, | ||
6964 | { .freq = 2447, | ||
6965 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, | ||
6966 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
6967 | 0x00, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
6968 | 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, | ||
6969 | 0x70, 0x00, 0x0a, 0x00, 0x09), | ||
6970 | PHYREGS(0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434), | ||
6971 | }, | ||
6972 | { .freq = 2452, | ||
6973 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, | ||
6974 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
6975 | 0x00, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
6976 | 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, | ||
6977 | 0x70, 0x00, 0x0a, 0x00, 0x09), | ||
6978 | PHYREGS(0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431), | ||
6979 | }, | ||
6980 | { .freq = 2457, | ||
6981 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, | ||
6982 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
6983 | 0x00, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
6984 | 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, | ||
6985 | 0x70, 0x00, 0x0a, 0x00, 0x09), | ||
6986 | PHYREGS(0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f), | ||
6987 | }, | ||
6988 | { .freq = 2462, | ||
6989 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, | ||
6990 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
6991 | 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
6992 | 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, | ||
6993 | 0x70, 0x00, 0x09, 0x00, 0x09), | ||
6994 | PHYREGS(0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d), | ||
6995 | }, | ||
6996 | { .freq = 2467, | ||
6997 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, | ||
6998 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
6999 | 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
7000 | 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, | ||
7001 | 0x70, 0x00, 0x09, 0x00, 0x09), | ||
7002 | PHYREGS(0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b), | ||
7003 | }, | ||
7004 | { .freq = 2472, | ||
7005 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, | ||
7006 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, | ||
7007 | 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
7008 | 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, | ||
7009 | 0x70, 0x00, 0x09, 0x00, 0x09), | ||
7010 | PHYREGS(0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429), | ||
7011 | }, | ||
7012 | { .freq = 2484, | ||
7013 | RADIOREGS3(0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, | ||
7014 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, | ||
7015 | 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
7016 | 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, | ||
7017 | 0x70, 0x00, 0x09, 0x00, 0x09), | ||
7018 | PHYREGS(0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424), | ||
7019 | }, | ||
7020 | }; | ||
7021 | |||
7022 | static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev7_9[] = { | ||
7023 | { .freq = 4920, | ||
7024 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, | ||
7025 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
7026 | 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f, | ||
7027 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, | ||
7028 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
7029 | PHYREGS(0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216), | ||
7030 | }, | ||
7031 | { .freq = 4930, | ||
7032 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, | ||
7033 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
7034 | 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e, | ||
7035 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, | ||
7036 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
7037 | PHYREGS(0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215), | ||
7038 | }, | ||
7039 | { .freq = 4940, | ||
7040 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, | ||
7041 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
7042 | 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e, | ||
7043 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, | ||
7044 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
7045 | PHYREGS(0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214), | ||
7046 | }, | ||
7047 | { .freq = 4950, | ||
7048 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, | ||
7049 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
7050 | 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e, | ||
7051 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, | ||
7052 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
7053 | PHYREGS(0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213), | ||
7054 | }, | ||
7055 | { .freq = 4960, | ||
7056 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, | ||
7057 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7058 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e, | ||
7059 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
7060 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
7061 | PHYREGS(0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212), | ||
7062 | }, | ||
7063 | { .freq = 4970, | ||
7064 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, | ||
7065 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7066 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d, | ||
7067 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
7068 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
7069 | PHYREGS(0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211), | ||
7070 | }, | ||
7071 | { .freq = 4980, | ||
7072 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, | ||
7073 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7074 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d, | ||
7075 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
7076 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
7077 | PHYREGS(0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f), | ||
7078 | }, | ||
7079 | { .freq = 4990, | ||
7080 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, | ||
7081 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7082 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d, | ||
7083 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
7084 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
7085 | PHYREGS(0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e), | ||
7086 | }, | ||
7087 | { .freq = 5000, | ||
7088 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, | ||
7089 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7090 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d, | ||
7091 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
7092 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
7093 | PHYREGS(0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d), | ||
7094 | }, | ||
7095 | { .freq = 5010, | ||
7096 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, | ||
7097 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7098 | 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d, | ||
7099 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, | ||
7100 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
7101 | PHYREGS(0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c), | ||
7102 | }, | ||
7103 | { .freq = 5020, | ||
7104 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, | ||
7105 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7106 | 0xff, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d, | ||
7107 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, | ||
7108 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
7109 | PHYREGS(0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b), | ||
7110 | }, | ||
7111 | { .freq = 5030, | ||
7112 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, | ||
7113 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7114 | 0xff, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c, | ||
7115 | 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, | ||
7116 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
7117 | PHYREGS(0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a), | ||
7118 | }, | ||
7119 | { .freq = 5040, | ||
7120 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, | ||
7121 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7122 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c, | ||
7123 | 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, | ||
7124 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
7125 | PHYREGS(0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209), | ||
7126 | }, | ||
7127 | { .freq = 5050, | ||
7128 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, | ||
7129 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7130 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c, | ||
7131 | 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, | ||
7132 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
7133 | PHYREGS(0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208), | ||
7134 | }, | ||
7135 | { .freq = 5060, | ||
7136 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, | ||
7137 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7138 | 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c, | ||
7139 | 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, | ||
7140 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
7141 | PHYREGS(0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207), | ||
7142 | }, | ||
7143 | { .freq = 5070, | ||
7144 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, | ||
7145 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7146 | 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
7147 | 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, | ||
7148 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
7149 | PHYREGS(0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206), | ||
7150 | }, | ||
7151 | { .freq = 5080, | ||
7152 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, | ||
7153 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7154 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
7155 | 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, | ||
7156 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
7157 | PHYREGS(0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205), | ||
7158 | }, | ||
7159 | { .freq = 5090, | ||
7160 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, | ||
7161 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
7162 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
7163 | 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, | ||
7164 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
7165 | PHYREGS(0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204), | ||
7166 | }, | ||
7167 | { .freq = 5100, | ||
7168 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, | ||
7169 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7170 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
7171 | 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, | ||
7172 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
7173 | PHYREGS(0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203), | ||
7174 | }, | ||
7175 | { .freq = 5110, | ||
7176 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, | ||
7177 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7178 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
7179 | 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, | ||
7180 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
7181 | PHYREGS(0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202), | ||
7182 | }, | ||
7183 | { .freq = 5120, | ||
7184 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, | ||
7185 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7186 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b, | ||
7187 | 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, | ||
7188 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
7189 | PHYREGS(0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201), | ||
7190 | }, | ||
7191 | { .freq = 5130, | ||
7192 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, | ||
7193 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7194 | 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a, | ||
7195 | 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, | ||
7196 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
7197 | PHYREGS(0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200), | ||
7198 | }, | ||
7199 | { .freq = 5140, | ||
7200 | RADIOREGS3(0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, | ||
7201 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7202 | 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a, | ||
7203 | 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, | ||
7204 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
7205 | PHYREGS(0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff), | ||
7206 | }, | ||
7207 | { .freq = 5160, | ||
7208 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, | ||
7209 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7210 | 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09, | ||
7211 | 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, | ||
7212 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
7213 | PHYREGS(0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd), | ||
7214 | }, | ||
7215 | { .freq = 5170, | ||
7216 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, | ||
7217 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7218 | 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
7219 | 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, | ||
7220 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
7221 | PHYREGS(0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc), | ||
7222 | }, | ||
7223 | { .freq = 5180, | ||
7224 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, | ||
7225 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7226 | 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
7227 | 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, | ||
7228 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
7229 | PHYREGS(0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb), | ||
7230 | }, | ||
7231 | { .freq = 5190, | ||
7232 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, | ||
7233 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7234 | 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
7235 | 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, | ||
7236 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
7237 | PHYREGS(0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa), | ||
7238 | }, | ||
7239 | { .freq = 5200, | ||
7240 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, | ||
7241 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7242 | 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
7243 | 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, | ||
7244 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
7245 | PHYREGS(0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9), | ||
7246 | }, | ||
7247 | { .freq = 5210, | ||
7248 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, | ||
7249 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
7250 | 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
7251 | 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, | ||
7252 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
7253 | PHYREGS(0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8), | ||
7254 | }, | ||
7255 | { .freq = 5220, | ||
7256 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, | ||
7257 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
7258 | 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09, | ||
7259 | 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, | ||
7260 | 0x00, 0x09, 0x00, 0x6e, 0x00), | ||
7261 | PHYREGS(0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7), | ||
7262 | }, | ||
7263 | { .freq = 5230, | ||
7264 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, | ||
7265 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
7266 | 0xee, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08, | ||
7267 | 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, | ||
7268 | 0x00, 0x08, 0x00, 0x6e, 0x00), | ||
7269 | PHYREGS(0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6), | ||
7270 | }, | ||
7271 | { .freq = 5240, | ||
7272 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, | ||
7273 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
7274 | 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08, | ||
7275 | 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, | ||
7276 | 0x00, 0x08, 0x00, 0x6d, 0x00), | ||
7277 | PHYREGS(0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5), | ||
7278 | }, | ||
7279 | { .freq = 5250, | ||
7280 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, | ||
7281 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
7282 | 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08, | ||
7283 | 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, | ||
7284 | 0x00, 0x08, 0x00, 0x6d, 0x00), | ||
7285 | PHYREGS(0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4), | ||
7286 | }, | ||
7287 | { .freq = 5260, | ||
7288 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, | ||
7289 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, | ||
7290 | 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08, | ||
7291 | 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, | ||
7292 | 0x00, 0x08, 0x00, 0x6d, 0x00), | ||
7293 | PHYREGS(0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3), | ||
7294 | }, | ||
7295 | { .freq = 5270, | ||
7296 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, | ||
7297 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, | ||
7298 | 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
7299 | 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, | ||
7300 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
7301 | PHYREGS(0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2), | ||
7302 | }, | ||
7303 | { .freq = 5280, | ||
7304 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, | ||
7305 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
7306 | 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
7307 | 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, | ||
7308 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
7309 | PHYREGS(0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1), | ||
7310 | }, | ||
7311 | { .freq = 5290, | ||
7312 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, | ||
7313 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
7314 | 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
7315 | 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, | ||
7316 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
7317 | PHYREGS(0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0), | ||
7318 | }, | ||
7319 | { .freq = 5300, | ||
7320 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, | ||
7321 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
7322 | 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
7323 | 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, | ||
7324 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
7325 | PHYREGS(0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0), | ||
7326 | }, | ||
7327 | { .freq = 5310, | ||
7328 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, | ||
7329 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
7330 | 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
7331 | 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, | ||
7332 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
7333 | PHYREGS(0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef), | ||
7334 | }, | ||
7335 | { .freq = 5320, | ||
7336 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, | ||
7337 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
7338 | 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
7339 | 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, | ||
7340 | 0x00, 0x07, 0x00, 0x6c, 0x00), | ||
7341 | PHYREGS(0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee), | ||
7342 | }, | ||
7343 | { .freq = 5330, | ||
7344 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, | ||
7345 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
7346 | 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07, | ||
7347 | 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, | ||
7348 | 0x00, 0x07, 0x00, 0x6b, 0x00), | ||
7349 | PHYREGS(0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed), | ||
7350 | }, | ||
7351 | { .freq = 5340, | ||
7352 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, | ||
7353 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
7354 | 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07, | ||
7355 | 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, | ||
7356 | 0x00, 0x07, 0x00, 0x6b, 0x00), | ||
7357 | PHYREGS(0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec), | ||
7358 | }, | ||
7359 | { .freq = 5350, | ||
7360 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, | ||
7361 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, | ||
7362 | 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
7363 | 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, | ||
7364 | 0x00, 0x06, 0x00, 0x6b, 0x00), | ||
7365 | PHYREGS(0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb), | ||
7366 | }, | ||
7367 | { .freq = 5360, | ||
7368 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, | ||
7369 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, | ||
7370 | 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
7371 | 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, | ||
7372 | 0x00, 0x06, 0x00, 0x6b, 0x00), | ||
7373 | PHYREGS(0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea), | ||
7374 | }, | ||
7375 | { .freq = 5370, | ||
7376 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, | ||
7377 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, | ||
7378 | 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
7379 | 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, | ||
7380 | 0x00, 0x06, 0x00, 0x7b, 0x00), | ||
7381 | PHYREGS(0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9), | ||
7382 | }, | ||
7383 | { .freq = 5380, | ||
7384 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, | ||
7385 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
7386 | 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
7387 | 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, | ||
7388 | 0x00, 0x06, 0x00, 0x7a, 0x00), | ||
7389 | PHYREGS(0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8), | ||
7390 | }, | ||
7391 | { .freq = 5390, | ||
7392 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, | ||
7393 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
7394 | 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
7395 | 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, | ||
7396 | 0x00, 0x06, 0x00, 0x7a, 0x00), | ||
7397 | PHYREGS(0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7), | ||
7398 | }, | ||
7399 | { .freq = 5400, | ||
7400 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, | ||
7401 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
7402 | 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06, | ||
7403 | 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, | ||
7404 | 0x00, 0x06, 0x00, 0x7a, 0x00), | ||
7405 | PHYREGS(0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6), | ||
7406 | }, | ||
7407 | { .freq = 5410, | ||
7408 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, | ||
7409 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
7410 | 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05, | ||
7411 | 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, | ||
7412 | 0x00, 0x05, 0x00, 0x7a, 0x00), | ||
7413 | PHYREGS(0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5), | ||
7414 | }, | ||
7415 | { .freq = 5420, | ||
7416 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, | ||
7417 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
7418 | 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05, | ||
7419 | 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, | ||
7420 | 0x00, 0x05, 0x00, 0x7a, 0x00), | ||
7421 | PHYREGS(0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5), | ||
7422 | }, | ||
7423 | { .freq = 5430, | ||
7424 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, | ||
7425 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, | ||
7426 | 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05, | ||
7427 | 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, | ||
7428 | 0x00, 0x05, 0x00, 0x79, 0x00), | ||
7429 | PHYREGS(0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4), | ||
7430 | }, | ||
7431 | { .freq = 5440, | ||
7432 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, | ||
7433 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
7434 | 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05, | ||
7435 | 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, | ||
7436 | 0x00, 0x05, 0x00, 0x79, 0x00), | ||
7437 | PHYREGS(0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3), | ||
7438 | }, | ||
7439 | { .freq = 5450, | ||
7440 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, | ||
7441 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
7442 | 0x95, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05, | ||
7443 | 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, | ||
7444 | 0x00, 0x05, 0x00, 0x79, 0x00), | ||
7445 | PHYREGS(0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2), | ||
7446 | }, | ||
7447 | { .freq = 5460, | ||
7448 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, | ||
7449 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
7450 | 0x95, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04, | ||
7451 | 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, | ||
7452 | 0x00, 0x04, 0x00, 0x79, 0x00), | ||
7453 | PHYREGS(0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1), | ||
7454 | }, | ||
7455 | { .freq = 5470, | ||
7456 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, | ||
7457 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
7458 | 0x94, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
7459 | 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, | ||
7460 | 0x00, 0x04, 0x00, 0x79, 0x00), | ||
7461 | PHYREGS(0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0), | ||
7462 | }, | ||
7463 | { .freq = 5480, | ||
7464 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, | ||
7465 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
7466 | 0x84, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
7467 | 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, | ||
7468 | 0x00, 0x04, 0x00, 0x78, 0x00), | ||
7469 | PHYREGS(0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df), | ||
7470 | }, | ||
7471 | { .freq = 5490, | ||
7472 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, | ||
7473 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
7474 | 0x83, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
7475 | 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, | ||
7476 | 0x00, 0x04, 0x00, 0x78, 0x00), | ||
7477 | PHYREGS(0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de), | ||
7478 | }, | ||
7479 | { .freq = 5500, | ||
7480 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, | ||
7481 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
7482 | 0x82, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
7483 | 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, | ||
7484 | 0x00, 0x04, 0x00, 0x78, 0x00), | ||
7485 | PHYREGS(0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd), | ||
7486 | }, | ||
7487 | { .freq = 5510, | ||
7488 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, | ||
7489 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
7490 | 0x82, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
7491 | 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, | ||
7492 | 0x00, 0x04, 0x00, 0x78, 0x00), | ||
7493 | PHYREGS(0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd), | ||
7494 | }, | ||
7495 | { .freq = 5520, | ||
7496 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, | ||
7497 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
7498 | 0x72, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04, | ||
7499 | 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, | ||
7500 | 0x00, 0x04, 0x00, 0x78, 0x00), | ||
7501 | PHYREGS(0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc), | ||
7502 | }, | ||
7503 | { .freq = 5530, | ||
7504 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, | ||
7505 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, | ||
7506 | 0x72, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03, | ||
7507 | 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, | ||
7508 | 0x00, 0x03, 0x00, 0x78, 0x00), | ||
7509 | PHYREGS(0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db), | ||
7510 | }, | ||
7511 | { .freq = 5540, | ||
7512 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, | ||
7513 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, | ||
7514 | 0x71, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03, | ||
7515 | 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, | ||
7516 | 0x00, 0x03, 0x00, 0x77, 0x00), | ||
7517 | PHYREGS(0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da), | ||
7518 | }, | ||
7519 | { .freq = 5550, | ||
7520 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, | ||
7521 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, | ||
7522 | 0x61, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03, | ||
7523 | 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, | ||
7524 | 0x00, 0x03, 0x00, 0x77, 0x00), | ||
7525 | PHYREGS(0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9), | ||
7526 | }, | ||
7527 | { .freq = 5560, | ||
7528 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, | ||
7529 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, | ||
7530 | 0x61, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03, | ||
7531 | 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, | ||
7532 | 0x00, 0x03, 0x00, 0x77, 0x00), | ||
7533 | PHYREGS(0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8), | ||
7534 | }, | ||
7535 | { .freq = 5570, | ||
7536 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, | ||
7537 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, | ||
7538 | 0x61, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
7539 | 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, | ||
7540 | 0x00, 0x02, 0x00, 0x76, 0x00), | ||
7541 | PHYREGS(0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7), | ||
7542 | }, | ||
7543 | { .freq = 5580, | ||
7544 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, | ||
7545 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, | ||
7546 | 0x60, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
7547 | 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, | ||
7548 | 0x00, 0x02, 0x00, 0x86, 0x00), | ||
7549 | PHYREGS(0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7), | ||
7550 | }, | ||
7551 | { .freq = 5590, | ||
7552 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, | ||
7553 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, | ||
7554 | 0x50, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
7555 | 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
7556 | 0x00, 0x02, 0x00, 0x86, 0x00), | ||
7557 | PHYREGS(0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6), | ||
7558 | }, | ||
7559 | { .freq = 5600, | ||
7560 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, | ||
7561 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, | ||
7562 | 0x50, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
7563 | 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
7564 | 0x00, 0x02, 0x00, 0x86, 0x00), | ||
7565 | PHYREGS(0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5), | ||
7566 | }, | ||
7567 | { .freq = 5610, | ||
7568 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, | ||
7569 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, | ||
7570 | 0x50, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
7571 | 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
7572 | 0x00, 0x02, 0x00, 0x86, 0x00), | ||
7573 | PHYREGS(0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4), | ||
7574 | }, | ||
7575 | { .freq = 5620, | ||
7576 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, | ||
7577 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, | ||
7578 | 0x50, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
7579 | 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
7580 | 0x00, 0x02, 0x00, 0x86, 0x00), | ||
7581 | PHYREGS(0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3), | ||
7582 | }, | ||
7583 | { .freq = 5630, | ||
7584 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, | ||
7585 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
7586 | 0x50, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
7587 | 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
7588 | 0x00, 0x02, 0x00, 0x86, 0x00), | ||
7589 | PHYREGS(0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2), | ||
7590 | }, | ||
7591 | { .freq = 5640, | ||
7592 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, | ||
7593 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
7594 | 0x40, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02, | ||
7595 | 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, | ||
7596 | 0x00, 0x02, 0x00, 0x85, 0x00), | ||
7597 | PHYREGS(0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2), | ||
7598 | }, | ||
7599 | { .freq = 5650, | ||
7600 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, | ||
7601 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
7602 | 0x40, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
7603 | 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, | ||
7604 | 0x00, 0x01, 0x00, 0x85, 0x00), | ||
7605 | PHYREGS(0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1), | ||
7606 | }, | ||
7607 | { .freq = 5660, | ||
7608 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, | ||
7609 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
7610 | 0x40, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
7611 | 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, | ||
7612 | 0x00, 0x01, 0x00, 0x85, 0x00), | ||
7613 | PHYREGS(0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0), | ||
7614 | }, | ||
7615 | { .freq = 5670, | ||
7616 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, | ||
7617 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
7618 | 0x40, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
7619 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
7620 | 0x00, 0x01, 0x00, 0x84, 0x00), | ||
7621 | PHYREGS(0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf), | ||
7622 | }, | ||
7623 | { .freq = 5680, | ||
7624 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, | ||
7625 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
7626 | 0x30, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
7627 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
7628 | 0x00, 0x01, 0x00, 0x84, 0x00), | ||
7629 | PHYREGS(0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce), | ||
7630 | }, | ||
7631 | { .freq = 5690, | ||
7632 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, | ||
7633 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
7634 | 0x30, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
7635 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
7636 | 0x00, 0x01, 0x00, 0x94, 0x00), | ||
7637 | PHYREGS(0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce), | ||
7638 | }, | ||
7639 | { .freq = 5700, | ||
7640 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, | ||
7641 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
7642 | 0x30, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
7643 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
7644 | 0x00, 0x01, 0x00, 0x94, 0x00), | ||
7645 | PHYREGS(0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd), | ||
7646 | }, | ||
7647 | { .freq = 5710, | ||
7648 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, | ||
7649 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
7650 | 0x30, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
7651 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
7652 | 0x00, 0x01, 0x00, 0x94, 0x00), | ||
7653 | PHYREGS(0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc), | ||
7654 | }, | ||
7655 | { .freq = 5720, | ||
7656 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, | ||
7657 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
7658 | 0x30, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
7659 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
7660 | 0x00, 0x01, 0x00, 0x94, 0x00), | ||
7661 | PHYREGS(0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb), | ||
7662 | }, | ||
7663 | { .freq = 5725, | ||
7664 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, | ||
7665 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
7666 | 0x30, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
7667 | 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, | ||
7668 | 0x00, 0x01, 0x00, 0x94, 0x00), | ||
7669 | PHYREGS(0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb), | ||
7670 | }, | ||
7671 | { .freq = 5730, | ||
7672 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, | ||
7673 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
7674 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01, | ||
7675 | 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
7676 | 0x00, 0x01, 0x00, 0x94, 0x00), | ||
7677 | PHYREGS(0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca), | ||
7678 | }, | ||
7679 | { .freq = 5735, | ||
7680 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, | ||
7681 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
7682 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7683 | 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
7684 | 0x00, 0x00, 0x00, 0x93, 0x00), | ||
7685 | PHYREGS(0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca), | ||
7686 | }, | ||
7687 | { .freq = 5740, | ||
7688 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, | ||
7689 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
7690 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7691 | 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
7692 | 0x00, 0x00, 0x00, 0x93, 0x00), | ||
7693 | PHYREGS(0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9), | ||
7694 | }, | ||
7695 | { .freq = 5745, | ||
7696 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, | ||
7697 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
7698 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7699 | 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
7700 | 0x00, 0x00, 0x00, 0x93, 0x00), | ||
7701 | PHYREGS(0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9), | ||
7702 | }, | ||
7703 | { .freq = 5750, | ||
7704 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, | ||
7705 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
7706 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7707 | 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
7708 | 0x00, 0x00, 0x00, 0x93, 0x00), | ||
7709 | PHYREGS(0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9), | ||
7710 | }, | ||
7711 | { .freq = 5755, | ||
7712 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, | ||
7713 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
7714 | 0x10, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7715 | 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, | ||
7716 | 0x00, 0x00, 0x00, 0x93, 0x00), | ||
7717 | PHYREGS(0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8), | ||
7718 | }, | ||
7719 | { .freq = 5760, | ||
7720 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, | ||
7721 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, | ||
7722 | 0x10, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7723 | 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, | ||
7724 | 0x00, 0x00, 0x00, 0x93, 0x00), | ||
7725 | PHYREGS(0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8), | ||
7726 | }, | ||
7727 | { .freq = 5765, | ||
7728 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, | ||
7729 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, | ||
7730 | 0x10, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7731 | 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, | ||
7732 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7733 | PHYREGS(0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8), | ||
7734 | }, | ||
7735 | { .freq = 5770, | ||
7736 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, | ||
7737 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, | ||
7738 | 0x10, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7739 | 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, | ||
7740 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7741 | PHYREGS(0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7), | ||
7742 | }, | ||
7743 | { .freq = 5775, | ||
7744 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, | ||
7745 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, | ||
7746 | 0x10, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7747 | 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, | ||
7748 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7749 | PHYREGS(0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7), | ||
7750 | }, | ||
7751 | { .freq = 5780, | ||
7752 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, | ||
7753 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, | ||
7754 | 0x10, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7755 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7756 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7757 | PHYREGS(0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6), | ||
7758 | }, | ||
7759 | { .freq = 5785, | ||
7760 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, | ||
7761 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7762 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7763 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7764 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7765 | PHYREGS(0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6), | ||
7766 | }, | ||
7767 | { .freq = 5790, | ||
7768 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, | ||
7769 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7770 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7771 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7772 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7773 | PHYREGS(0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6), | ||
7774 | }, | ||
7775 | { .freq = 5795, | ||
7776 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, | ||
7777 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7778 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7779 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7780 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7781 | PHYREGS(0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5), | ||
7782 | }, | ||
7783 | { .freq = 5800, | ||
7784 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, | ||
7785 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7786 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7787 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7788 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7789 | PHYREGS(0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5), | ||
7790 | }, | ||
7791 | { .freq = 5805, | ||
7792 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, | ||
7793 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7794 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7795 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7796 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7797 | PHYREGS(0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4), | ||
7798 | }, | ||
7799 | { .freq = 5810, | ||
7800 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, | ||
7801 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7802 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7803 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7804 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7805 | PHYREGS(0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4), | ||
7806 | }, | ||
7807 | { .freq = 5815, | ||
7808 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, | ||
7809 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7810 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7811 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7812 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7813 | PHYREGS(0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4), | ||
7814 | }, | ||
7815 | { .freq = 5820, | ||
7816 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, | ||
7817 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7818 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7819 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7820 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7821 | PHYREGS(0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3), | ||
7822 | }, | ||
7823 | { .freq = 5825, | ||
7824 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, | ||
7825 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7826 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7827 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7828 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7829 | PHYREGS(0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3), | ||
7830 | }, | ||
7831 | { .freq = 5830, | ||
7832 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, | ||
7833 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7834 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7835 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7836 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7837 | PHYREGS(0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2), | ||
7838 | }, | ||
7839 | { .freq = 5840, | ||
7840 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, | ||
7841 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
7842 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7843 | 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, | ||
7844 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7845 | PHYREGS(0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2), | ||
7846 | }, | ||
7847 | { .freq = 5850, | ||
7848 | RADIOREGS3(0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, | ||
7849 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
7850 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7851 | 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
7852 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7853 | PHYREGS(0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1), | ||
7854 | }, | ||
7855 | { .freq = 5860, | ||
7856 | RADIOREGS3(0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, | ||
7857 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
7858 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7859 | 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
7860 | 0x00, 0x00, 0x00, 0x92, 0x00), | ||
7861 | PHYREGS(0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0), | ||
7862 | }, | ||
7863 | { .freq = 5870, | ||
7864 | RADIOREGS3(0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, | ||
7865 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
7866 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7867 | 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
7868 | 0x00, 0x00, 0x00, 0x91, 0x00), | ||
7869 | PHYREGS(0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf), | ||
7870 | }, | ||
7871 | { .freq = 5880, | ||
7872 | RADIOREGS3(0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, | ||
7873 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
7874 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7875 | 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
7876 | 0x00, 0x00, 0x00, 0x91, 0x00), | ||
7877 | PHYREGS(0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf), | ||
7878 | }, | ||
7879 | { .freq = 5890, | ||
7880 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, | ||
7881 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
7882 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7883 | 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
7884 | 0x00, 0x00, 0x00, 0x91, 0x00), | ||
7885 | PHYREGS(0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be), | ||
7886 | }, | ||
7887 | { .freq = 5900, | ||
7888 | RADIOREGS3(0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, | ||
7889 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
7890 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7891 | 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
7892 | 0x00, 0x00, 0x00, 0x91, 0x00), | ||
7893 | PHYREGS(0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd), | ||
7894 | }, | ||
7895 | { .freq = 5910, | ||
7896 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, | ||
7897 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
7898 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, | ||
7899 | 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, | ||
7900 | 0x00, 0x00, 0x00, 0x91, 0x00), | ||
7901 | PHYREGS(0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc), | ||
7902 | }, | ||
7903 | { .freq = 2412, | ||
7904 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, | ||
7905 | 0x16, 0x01, 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, | ||
7906 | 0x00, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
7907 | 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, | ||
7908 | 0x70, 0x00, 0x0f, 0x00, 0x0b), | ||
7909 | PHYREGS(0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443), | ||
7910 | }, | ||
7911 | { .freq = 2417, | ||
7912 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, | ||
7913 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
7914 | 0x00, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
7915 | 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, | ||
7916 | 0x70, 0x00, 0x0f, 0x00, 0x0a), | ||
7917 | PHYREGS(0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441), | ||
7918 | }, | ||
7919 | { .freq = 2422, | ||
7920 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, | ||
7921 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
7922 | 0x00, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
7923 | 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, | ||
7924 | 0x70, 0x00, 0x0f, 0x00, 0x0a), | ||
7925 | PHYREGS(0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f), | ||
7926 | }, | ||
7927 | { .freq = 2427, | ||
7928 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, | ||
7929 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
7930 | 0x00, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
7931 | 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, | ||
7932 | 0x70, 0x00, 0x0e, 0x00, 0x0a), | ||
7933 | PHYREGS(0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d), | ||
7934 | }, | ||
7935 | { .freq = 2432, | ||
7936 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, | ||
7937 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
7938 | 0x00, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
7939 | 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, | ||
7940 | 0x70, 0x00, 0x0e, 0x00, 0x0a), | ||
7941 | PHYREGS(0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a), | ||
7942 | }, | ||
7943 | { .freq = 2437, | ||
7944 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, | ||
7945 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
7946 | 0x00, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
7947 | 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, | ||
7948 | 0x70, 0x00, 0x0e, 0x00, 0x0a), | ||
7949 | PHYREGS(0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438), | ||
7950 | }, | ||
7951 | { .freq = 2442, | ||
7952 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, | ||
7953 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
7954 | 0x00, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
7955 | 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, | ||
7956 | 0x70, 0x00, 0x0e, 0x00, 0x0a), | ||
7957 | PHYREGS(0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436), | ||
7958 | }, | ||
7959 | { .freq = 2447, | ||
7960 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, | ||
7961 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
7962 | 0x00, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
7963 | 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, | ||
7964 | 0x70, 0x00, 0x0e, 0x00, 0x09), | ||
7965 | PHYREGS(0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434), | ||
7966 | }, | ||
7967 | { .freq = 2452, | ||
7968 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, | ||
7969 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
7970 | 0x00, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
7971 | 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, | ||
7972 | 0x70, 0x00, 0x0e, 0x00, 0x09), | ||
7973 | PHYREGS(0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431), | ||
7974 | }, | ||
7975 | { .freq = 2457, | ||
7976 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, | ||
7977 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
7978 | 0x00, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
7979 | 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, | ||
7980 | 0x70, 0x00, 0x0d, 0x00, 0x09), | ||
7981 | PHYREGS(0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f), | ||
7982 | }, | ||
7983 | { .freq = 2462, | ||
7984 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, | ||
7985 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
7986 | 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
7987 | 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, | ||
7988 | 0x70, 0x00, 0x0d, 0x00, 0x09), | ||
7989 | PHYREGS(0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d), | ||
7990 | }, | ||
7991 | { .freq = 2467, | ||
7992 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, | ||
7993 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
7994 | 0x00, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
7995 | 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, | ||
7996 | 0x70, 0x00, 0x0d, 0x00, 0x08), | ||
7997 | PHYREGS(0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b), | ||
7998 | }, | ||
7999 | { .freq = 2472, | ||
8000 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, | ||
8001 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, | ||
8002 | 0x00, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
8003 | 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, | ||
8004 | 0x70, 0x00, 0x0d, 0x00, 0x08), | ||
8005 | PHYREGS(0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429), | ||
8006 | }, | ||
8007 | { .freq = 2484, | ||
8008 | RADIOREGS3(0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, | ||
8009 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, | ||
8010 | 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
8011 | 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, | ||
8012 | 0x70, 0x00, 0x0d, 0x00, 0x08), | ||
8013 | PHYREGS(0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424), | ||
8014 | }, | ||
8015 | }; | ||
8016 | |||
8017 | static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev8[] = { | ||
8018 | { .freq = 4920, | ||
8019 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, | ||
8020 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
8021 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8022 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8023 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8024 | PHYREGS(0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216), | ||
8025 | }, | ||
8026 | { .freq = 4930, | ||
8027 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, | ||
8028 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
8029 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8030 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8031 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8032 | PHYREGS(0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215), | ||
8033 | }, | ||
8034 | { .freq = 4940, | ||
8035 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, | ||
8036 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
8037 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8038 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8039 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8040 | PHYREGS(0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214), | ||
8041 | }, | ||
8042 | { .freq = 4950, | ||
8043 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, | ||
8044 | 0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, | ||
8045 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8046 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8047 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8048 | PHYREGS(0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213), | ||
8049 | }, | ||
8050 | { .freq = 4960, | ||
8051 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, | ||
8052 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8053 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8054 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8055 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8056 | PHYREGS(0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212), | ||
8057 | }, | ||
8058 | { .freq = 4970, | ||
8059 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, | ||
8060 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8061 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8062 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8063 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8064 | PHYREGS(0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211), | ||
8065 | }, | ||
8066 | { .freq = 4980, | ||
8067 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, | ||
8068 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8069 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8070 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8071 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8072 | PHYREGS(0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f), | ||
8073 | }, | ||
8074 | { .freq = 4990, | ||
8075 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, | ||
8076 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8077 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8078 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8079 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8080 | PHYREGS(0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e), | ||
8081 | }, | ||
8082 | { .freq = 5000, | ||
8083 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, | ||
8084 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8085 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8086 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8087 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8088 | PHYREGS(0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d), | ||
8089 | }, | ||
8090 | { .freq = 5010, | ||
8091 | RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, | ||
8092 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8093 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8094 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8095 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8096 | PHYREGS(0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c), | ||
8097 | }, | ||
8098 | { .freq = 5020, | ||
8099 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, | ||
8100 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8101 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8102 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8103 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8104 | PHYREGS(0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b), | ||
8105 | }, | ||
8106 | { .freq = 5030, | ||
8107 | RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, | ||
8108 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8109 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8110 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8111 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8112 | PHYREGS(0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a), | ||
8113 | }, | ||
8114 | { .freq = 5040, | ||
8115 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, | ||
8116 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8117 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8118 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8119 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8120 | PHYREGS(0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209), | ||
8121 | }, | ||
8122 | { .freq = 5050, | ||
8123 | RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, | ||
8124 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8125 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8126 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8127 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8128 | PHYREGS(0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208), | ||
8129 | }, | ||
8130 | { .freq = 5060, | ||
8131 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, | ||
8132 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8133 | 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8134 | 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, | ||
8135 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8136 | PHYREGS(0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207), | ||
8137 | }, | ||
8138 | { .freq = 5070, | ||
8139 | RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, | ||
8140 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8141 | 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8142 | 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, | ||
8143 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8144 | PHYREGS(0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206), | ||
8145 | }, | ||
8146 | { .freq = 5080, | ||
8147 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, | ||
8148 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8149 | 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8150 | 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, | ||
8151 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8152 | PHYREGS(0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205), | ||
8153 | }, | ||
8154 | { .freq = 5090, | ||
8155 | RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, | ||
8156 | 0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, | ||
8157 | 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, | ||
8158 | 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, | ||
8159 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8160 | PHYREGS(0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204), | ||
8161 | }, | ||
8162 | { .freq = 5100, | ||
8163 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, | ||
8164 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8165 | 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, | ||
8166 | 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, | ||
8167 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8168 | PHYREGS(0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203), | ||
8169 | }, | ||
8170 | { .freq = 5110, | ||
8171 | RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, | ||
8172 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8173 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, | ||
8174 | 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, | ||
8175 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8176 | PHYREGS(0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202), | ||
8177 | }, | ||
8178 | { .freq = 5120, | ||
8179 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, | ||
8180 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8181 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, | ||
8182 | 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, | ||
8183 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8184 | PHYREGS(0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201), | ||
8185 | }, | ||
8186 | { .freq = 5130, | ||
8187 | RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, | ||
8188 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8189 | 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, | ||
8190 | 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, | ||
8191 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8192 | PHYREGS(0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200), | ||
8193 | }, | ||
8194 | { .freq = 5140, | ||
8195 | RADIOREGS3(0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, | ||
8196 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8197 | 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, | ||
8198 | 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, | ||
8199 | 0x00, 0x0f, 0x00, 0x6f, 0x00), | ||
8200 | PHYREGS(0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff), | ||
8201 | }, | ||
8202 | { .freq = 5160, | ||
8203 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, | ||
8204 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8205 | 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e, | ||
8206 | 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, | ||
8207 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
8208 | PHYREGS(0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd), | ||
8209 | }, | ||
8210 | { .freq = 5170, | ||
8211 | RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, | ||
8212 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8213 | 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e, | ||
8214 | 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, | ||
8215 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
8216 | PHYREGS(0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc), | ||
8217 | }, | ||
8218 | { .freq = 5180, | ||
8219 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, | ||
8220 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8221 | 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e, | ||
8222 | 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, | ||
8223 | 0x00, 0x0e, 0x00, 0x6f, 0x00), | ||
8224 | PHYREGS(0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb), | ||
8225 | }, | ||
8226 | { .freq = 5190, | ||
8227 | RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, | ||
8228 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8229 | 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d, | ||
8230 | 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, | ||
8231 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
8232 | PHYREGS(0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa), | ||
8233 | }, | ||
8234 | { .freq = 5200, | ||
8235 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, | ||
8236 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8237 | 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
8238 | 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, | ||
8239 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
8240 | PHYREGS(0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9), | ||
8241 | }, | ||
8242 | { .freq = 5210, | ||
8243 | RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, | ||
8244 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, | ||
8245 | 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
8246 | 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, | ||
8247 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
8248 | PHYREGS(0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8), | ||
8249 | }, | ||
8250 | { .freq = 5220, | ||
8251 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, | ||
8252 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
8253 | 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
8254 | 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, | ||
8255 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
8256 | PHYREGS(0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7), | ||
8257 | }, | ||
8258 | { .freq = 5230, | ||
8259 | RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, | ||
8260 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
8261 | 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
8262 | 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, | ||
8263 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
8264 | PHYREGS(0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6), | ||
8265 | }, | ||
8266 | { .freq = 5240, | ||
8267 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, | ||
8268 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
8269 | 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
8270 | 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, | ||
8271 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
8272 | PHYREGS(0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5), | ||
8273 | }, | ||
8274 | { .freq = 5250, | ||
8275 | RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, | ||
8276 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, | ||
8277 | 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, | ||
8278 | 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, | ||
8279 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
8280 | PHYREGS(0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4), | ||
8281 | }, | ||
8282 | { .freq = 5260, | ||
8283 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, | ||
8284 | 0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, | ||
8285 | 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d, | ||
8286 | 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, | ||
8287 | 0x00, 0x0d, 0x00, 0x6f, 0x00), | ||
8288 | PHYREGS(0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3), | ||
8289 | }, | ||
8290 | { .freq = 5270, | ||
8291 | RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, | ||
8292 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, | ||
8293 | 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c, | ||
8294 | 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, | ||
8295 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
8296 | PHYREGS(0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2), | ||
8297 | }, | ||
8298 | { .freq = 5280, | ||
8299 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, | ||
8300 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
8301 | 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, | ||
8302 | 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, | ||
8303 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
8304 | PHYREGS(0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1), | ||
8305 | }, | ||
8306 | { .freq = 5290, | ||
8307 | RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, | ||
8308 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
8309 | 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, | ||
8310 | 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, | ||
8311 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
8312 | PHYREGS(0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0), | ||
8313 | }, | ||
8314 | { .freq = 5300, | ||
8315 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, | ||
8316 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
8317 | 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, | ||
8318 | 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, | ||
8319 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
8320 | PHYREGS(0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0), | ||
8321 | }, | ||
8322 | { .freq = 5310, | ||
8323 | RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, | ||
8324 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
8325 | 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, | ||
8326 | 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, | ||
8327 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
8328 | PHYREGS(0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef), | ||
8329 | }, | ||
8330 | { .freq = 5320, | ||
8331 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, | ||
8332 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, | ||
8333 | 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, | ||
8334 | 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, | ||
8335 | 0x00, 0x0c, 0x00, 0x6f, 0x00), | ||
8336 | PHYREGS(0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee), | ||
8337 | }, | ||
8338 | { .freq = 5330, | ||
8339 | RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, | ||
8340 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
8341 | 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b, | ||
8342 | 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, | ||
8343 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
8344 | PHYREGS(0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed), | ||
8345 | }, | ||
8346 | { .freq = 5340, | ||
8347 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, | ||
8348 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, | ||
8349 | 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b, | ||
8350 | 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, | ||
8351 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
8352 | PHYREGS(0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec), | ||
8353 | }, | ||
8354 | { .freq = 5350, | ||
8355 | RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, | ||
8356 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, | ||
8357 | 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b, | ||
8358 | 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, | ||
8359 | 0x00, 0x0b, 0x00, 0x6f, 0x00), | ||
8360 | PHYREGS(0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb), | ||
8361 | }, | ||
8362 | { .freq = 5360, | ||
8363 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, | ||
8364 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, | ||
8365 | 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, | ||
8366 | 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, | ||
8367 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
8368 | PHYREGS(0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea), | ||
8369 | }, | ||
8370 | { .freq = 5370, | ||
8371 | RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, | ||
8372 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, | ||
8373 | 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, | ||
8374 | 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, | ||
8375 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
8376 | PHYREGS(0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9), | ||
8377 | }, | ||
8378 | { .freq = 5380, | ||
8379 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, | ||
8380 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
8381 | 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, | ||
8382 | 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, | ||
8383 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
8384 | PHYREGS(0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8), | ||
8385 | }, | ||
8386 | { .freq = 5390, | ||
8387 | RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, | ||
8388 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
8389 | 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, | ||
8390 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, | ||
8391 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
8392 | PHYREGS(0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7), | ||
8393 | }, | ||
8394 | { .freq = 5400, | ||
8395 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, | ||
8396 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
8397 | 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, | ||
8398 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, | ||
8399 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
8400 | PHYREGS(0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6), | ||
8401 | }, | ||
8402 | { .freq = 5410, | ||
8403 | RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, | ||
8404 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
8405 | 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a, | ||
8406 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, | ||
8407 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
8408 | PHYREGS(0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5), | ||
8409 | }, | ||
8410 | { .freq = 5420, | ||
8411 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, | ||
8412 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, | ||
8413 | 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a, | ||
8414 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, | ||
8415 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
8416 | PHYREGS(0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5), | ||
8417 | }, | ||
8418 | { .freq = 5430, | ||
8419 | RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, | ||
8420 | 0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, | ||
8421 | 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a, | ||
8422 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, | ||
8423 | 0x00, 0x0a, 0x00, 0x6f, 0x00), | ||
8424 | PHYREGS(0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4), | ||
8425 | }, | ||
8426 | { .freq = 5440, | ||
8427 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, | ||
8428 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
8429 | 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09, | ||
8430 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, | ||
8431 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8432 | PHYREGS(0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3), | ||
8433 | }, | ||
8434 | { .freq = 5450, | ||
8435 | RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, | ||
8436 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
8437 | 0x95, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09, | ||
8438 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, | ||
8439 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8440 | PHYREGS(0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2), | ||
8441 | }, | ||
8442 | { .freq = 5460, | ||
8443 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, | ||
8444 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
8445 | 0x95, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09, | ||
8446 | 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, | ||
8447 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8448 | PHYREGS(0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1), | ||
8449 | }, | ||
8450 | { .freq = 5470, | ||
8451 | RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, | ||
8452 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, | ||
8453 | 0x94, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09, | ||
8454 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, | ||
8455 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8456 | PHYREGS(0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0), | ||
8457 | }, | ||
8458 | { .freq = 5480, | ||
8459 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, | ||
8460 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
8461 | 0x84, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
8462 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
8463 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8464 | PHYREGS(0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df), | ||
8465 | }, | ||
8466 | { .freq = 5490, | ||
8467 | RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, | ||
8468 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
8469 | 0x83, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
8470 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
8471 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8472 | PHYREGS(0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de), | ||
8473 | }, | ||
8474 | { .freq = 5500, | ||
8475 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, | ||
8476 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
8477 | 0x82, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
8478 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
8479 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8480 | PHYREGS(0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd), | ||
8481 | }, | ||
8482 | { .freq = 5510, | ||
8483 | RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, | ||
8484 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
8485 | 0x82, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
8486 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
8487 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8488 | PHYREGS(0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd), | ||
8489 | }, | ||
8490 | { .freq = 5520, | ||
8491 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, | ||
8492 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, | ||
8493 | 0x72, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
8494 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
8495 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8496 | PHYREGS(0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc), | ||
8497 | }, | ||
8498 | { .freq = 5530, | ||
8499 | RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, | ||
8500 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, | ||
8501 | 0x72, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
8502 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
8503 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8504 | PHYREGS(0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db), | ||
8505 | }, | ||
8506 | { .freq = 5540, | ||
8507 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, | ||
8508 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, | ||
8509 | 0x71, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
8510 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
8511 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8512 | PHYREGS(0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da), | ||
8513 | }, | ||
8514 | { .freq = 5550, | ||
8515 | RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, | ||
8516 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, | ||
8517 | 0x61, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
8518 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
8519 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8520 | PHYREGS(0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9), | ||
8521 | }, | ||
8522 | { .freq = 5560, | ||
8523 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, | ||
8524 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, | ||
8525 | 0x61, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
8526 | 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, | ||
8527 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8528 | PHYREGS(0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8), | ||
8529 | }, | ||
8530 | { .freq = 5570, | ||
8531 | RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, | ||
8532 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, | ||
8533 | 0x61, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, | ||
8534 | 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, | ||
8535 | 0x00, 0x09, 0x00, 0x6f, 0x00), | ||
8536 | PHYREGS(0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7), | ||
8537 | }, | ||
8538 | { .freq = 5580, | ||
8539 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, | ||
8540 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, | ||
8541 | 0x60, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, | ||
8542 | 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, | ||
8543 | 0x00, 0x08, 0x00, 0x6f, 0x00), | ||
8544 | PHYREGS(0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7), | ||
8545 | }, | ||
8546 | { .freq = 5590, | ||
8547 | RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, | ||
8548 | 0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, | ||
8549 | 0x50, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, | ||
8550 | 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, | ||
8551 | 0x00, 0x08, 0x00, 0x6f, 0x00), | ||
8552 | PHYREGS(0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6), | ||
8553 | }, | ||
8554 | { .freq = 5600, | ||
8555 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, | ||
8556 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, | ||
8557 | 0x50, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, | ||
8558 | 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, | ||
8559 | 0x00, 0x08, 0x00, 0x6f, 0x00), | ||
8560 | PHYREGS(0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5), | ||
8561 | }, | ||
8562 | { .freq = 5610, | ||
8563 | RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, | ||
8564 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, | ||
8565 | 0x50, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, | ||
8566 | 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, | ||
8567 | 0x00, 0x08, 0x00, 0x6f, 0x00), | ||
8568 | PHYREGS(0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4), | ||
8569 | }, | ||
8570 | { .freq = 5620, | ||
8571 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, | ||
8572 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, | ||
8573 | 0x50, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, | ||
8574 | 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, | ||
8575 | 0x00, 0x07, 0x00, 0x6f, 0x00), | ||
8576 | PHYREGS(0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3), | ||
8577 | }, | ||
8578 | { .freq = 5630, | ||
8579 | RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, | ||
8580 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
8581 | 0x50, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, | ||
8582 | 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, | ||
8583 | 0x00, 0x07, 0x00, 0x6f, 0x00), | ||
8584 | PHYREGS(0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2), | ||
8585 | }, | ||
8586 | { .freq = 5640, | ||
8587 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, | ||
8588 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
8589 | 0x40, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, | ||
8590 | 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, | ||
8591 | 0x00, 0x07, 0x00, 0x6f, 0x00), | ||
8592 | PHYREGS(0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2), | ||
8593 | }, | ||
8594 | { .freq = 5650, | ||
8595 | RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, | ||
8596 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
8597 | 0x40, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, | ||
8598 | 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, | ||
8599 | 0x00, 0x07, 0x00, 0x6f, 0x00), | ||
8600 | PHYREGS(0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1), | ||
8601 | }, | ||
8602 | { .freq = 5660, | ||
8603 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, | ||
8604 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
8605 | 0x40, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8606 | 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, | ||
8607 | 0x00, 0x06, 0x00, 0x6f, 0x00), | ||
8608 | PHYREGS(0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0), | ||
8609 | }, | ||
8610 | { .freq = 5670, | ||
8611 | RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, | ||
8612 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, | ||
8613 | 0x40, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8614 | 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8615 | 0x00, 0x06, 0x00, 0x6f, 0x00), | ||
8616 | PHYREGS(0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf), | ||
8617 | }, | ||
8618 | { .freq = 5680, | ||
8619 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, | ||
8620 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
8621 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8622 | 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8623 | 0x00, 0x06, 0x00, 0x6f, 0x00), | ||
8624 | PHYREGS(0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce), | ||
8625 | }, | ||
8626 | { .freq = 5690, | ||
8627 | RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, | ||
8628 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
8629 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8630 | 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8631 | 0x00, 0x06, 0x00, 0x6f, 0x00), | ||
8632 | PHYREGS(0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce), | ||
8633 | }, | ||
8634 | { .freq = 5700, | ||
8635 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, | ||
8636 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
8637 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8638 | 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8639 | 0x00, 0x06, 0x00, 0x6e, 0x00), | ||
8640 | PHYREGS(0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd), | ||
8641 | }, | ||
8642 | { .freq = 5710, | ||
8643 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, | ||
8644 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
8645 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8646 | 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8647 | 0x00, 0x06, 0x00, 0x6e, 0x00), | ||
8648 | PHYREGS(0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc), | ||
8649 | }, | ||
8650 | { .freq = 5720, | ||
8651 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, | ||
8652 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
8653 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8654 | 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8655 | 0x00, 0x06, 0x00, 0x6e, 0x00), | ||
8656 | PHYREGS(0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb), | ||
8657 | }, | ||
8658 | { .freq = 5725, | ||
8659 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, | ||
8660 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, | ||
8661 | 0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8662 | 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8663 | 0x00, 0x06, 0x00, 0x6e, 0x00), | ||
8664 | PHYREGS(0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb), | ||
8665 | }, | ||
8666 | { .freq = 5730, | ||
8667 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, | ||
8668 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
8669 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8670 | 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8671 | 0x00, 0x06, 0x00, 0x6e, 0x00), | ||
8672 | PHYREGS(0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca), | ||
8673 | }, | ||
8674 | { .freq = 5735, | ||
8675 | RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, | ||
8676 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
8677 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8678 | 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8679 | 0x00, 0x06, 0x00, 0x6d, 0x00), | ||
8680 | PHYREGS(0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca), | ||
8681 | }, | ||
8682 | { .freq = 5740, | ||
8683 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, | ||
8684 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
8685 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8686 | 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8687 | 0x00, 0x06, 0x00, 0x6d, 0x00), | ||
8688 | PHYREGS(0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9), | ||
8689 | }, | ||
8690 | { .freq = 5745, | ||
8691 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, | ||
8692 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
8693 | 0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, | ||
8694 | 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, | ||
8695 | 0x00, 0x06, 0x00, 0x6d, 0x00), | ||
8696 | PHYREGS(0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9), | ||
8697 | }, | ||
8698 | { .freq = 5750, | ||
8699 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, | ||
8700 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
8701 | 0x20, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8702 | 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, | ||
8703 | 0x00, 0x05, 0x00, 0x6d, 0x00), | ||
8704 | PHYREGS(0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9), | ||
8705 | }, | ||
8706 | { .freq = 5755, | ||
8707 | RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, | ||
8708 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, | ||
8709 | 0x10, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8710 | 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, | ||
8711 | 0x00, 0x05, 0x00, 0x6c, 0x00), | ||
8712 | PHYREGS(0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8), | ||
8713 | }, | ||
8714 | { .freq = 5760, | ||
8715 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, | ||
8716 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, | ||
8717 | 0x10, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8718 | 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, | ||
8719 | 0x00, 0x05, 0x00, 0x6c, 0x00), | ||
8720 | PHYREGS(0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8), | ||
8721 | }, | ||
8722 | { .freq = 5765, | ||
8723 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, | ||
8724 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, | ||
8725 | 0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8726 | 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
8727 | 0x00, 0x05, 0x00, 0x6c, 0x00), | ||
8728 | PHYREGS(0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8), | ||
8729 | }, | ||
8730 | { .freq = 5770, | ||
8731 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, | ||
8732 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, | ||
8733 | 0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8734 | 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
8735 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
8736 | PHYREGS(0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7), | ||
8737 | }, | ||
8738 | { .freq = 5775, | ||
8739 | RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, | ||
8740 | 0x10, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, | ||
8741 | 0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8742 | 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
8743 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
8744 | PHYREGS(0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7), | ||
8745 | }, | ||
8746 | { .freq = 5780, | ||
8747 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, | ||
8748 | 0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, | ||
8749 | 0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8750 | 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
8751 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
8752 | PHYREGS(0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6), | ||
8753 | }, | ||
8754 | { .freq = 5785, | ||
8755 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, | ||
8756 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8757 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8758 | 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
8759 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
8760 | PHYREGS(0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6), | ||
8761 | }, | ||
8762 | { .freq = 5790, | ||
8763 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, | ||
8764 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8765 | 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8766 | 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, | ||
8767 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
8768 | PHYREGS(0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6), | ||
8769 | }, | ||
8770 | { .freq = 5795, | ||
8771 | RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, | ||
8772 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8773 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8774 | 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8775 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
8776 | PHYREGS(0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5), | ||
8777 | }, | ||
8778 | { .freq = 5800, | ||
8779 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, | ||
8780 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8781 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8782 | 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8783 | 0x00, 0x05, 0x00, 0x6b, 0x00), | ||
8784 | PHYREGS(0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5), | ||
8785 | }, | ||
8786 | { .freq = 5805, | ||
8787 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, | ||
8788 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8789 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8790 | 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8791 | 0x00, 0x05, 0x00, 0x6a, 0x00), | ||
8792 | PHYREGS(0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4), | ||
8793 | }, | ||
8794 | { .freq = 5810, | ||
8795 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, | ||
8796 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8797 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8798 | 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8799 | 0x00, 0x05, 0x00, 0x6a, 0x00), | ||
8800 | PHYREGS(0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4), | ||
8801 | }, | ||
8802 | { .freq = 5815, | ||
8803 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, | ||
8804 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8805 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8806 | 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8807 | 0x00, 0x05, 0x00, 0x6a, 0x00), | ||
8808 | PHYREGS(0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4), | ||
8809 | }, | ||
8810 | { .freq = 5820, | ||
8811 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, | ||
8812 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8813 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8814 | 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8815 | 0x00, 0x05, 0x00, 0x6a, 0x00), | ||
8816 | PHYREGS(0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3), | ||
8817 | }, | ||
8818 | { .freq = 5825, | ||
8819 | RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, | ||
8820 | 0x10, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8821 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8822 | 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8823 | 0x00, 0x05, 0x00, 0x69, 0x00), | ||
8824 | PHYREGS(0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3), | ||
8825 | }, | ||
8826 | { .freq = 5830, | ||
8827 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, | ||
8828 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8829 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, | ||
8830 | 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8831 | 0x00, 0x05, 0x00, 0x69, 0x00), | ||
8832 | PHYREGS(0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2), | ||
8833 | }, | ||
8834 | { .freq = 5840, | ||
8835 | RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, | ||
8836 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, | ||
8837 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
8838 | 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8839 | 0x00, 0x04, 0x00, 0x69, 0x00), | ||
8840 | PHYREGS(0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2), | ||
8841 | }, | ||
8842 | { .freq = 5850, | ||
8843 | RADIOREGS3(0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, | ||
8844 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
8845 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
8846 | 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8847 | 0x00, 0x04, 0x00, 0x69, 0x00), | ||
8848 | PHYREGS(0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1), | ||
8849 | }, | ||
8850 | { .freq = 5860, | ||
8851 | RADIOREGS3(0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, | ||
8852 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
8853 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
8854 | 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8855 | 0x00, 0x04, 0x00, 0x69, 0x00), | ||
8856 | PHYREGS(0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0), | ||
8857 | }, | ||
8858 | { .freq = 5870, | ||
8859 | RADIOREGS3(0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, | ||
8860 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
8861 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
8862 | 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8863 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
8864 | PHYREGS(0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf), | ||
8865 | }, | ||
8866 | { .freq = 5880, | ||
8867 | RADIOREGS3(0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, | ||
8868 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
8869 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
8870 | 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8871 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
8872 | PHYREGS(0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf), | ||
8873 | }, | ||
8874 | { .freq = 5890, | ||
8875 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, | ||
8876 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
8877 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
8878 | 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8879 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
8880 | PHYREGS(0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be), | ||
8881 | }, | ||
8882 | { .freq = 5900, | ||
8883 | RADIOREGS3(0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, | ||
8884 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
8885 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
8886 | 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8887 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
8888 | PHYREGS(0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd), | ||
8889 | }, | ||
8890 | { .freq = 5910, | ||
8891 | RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, | ||
8892 | 0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, | ||
8893 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, | ||
8894 | 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, | ||
8895 | 0x00, 0x04, 0x00, 0x68, 0x00), | ||
8896 | PHYREGS(0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc), | ||
8897 | }, | ||
8898 | { .freq = 2412, | ||
8899 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, | ||
8900 | 0x16, 0x01, 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, | ||
8901 | 0x00, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
8902 | 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, | ||
8903 | 0x70, 0x00, 0x0b, 0x00, 0x0a), | ||
8904 | PHYREGS(0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443), | ||
8905 | }, | ||
8906 | { .freq = 2417, | ||
8907 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, | ||
8908 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
8909 | 0x00, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
8910 | 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, | ||
8911 | 0x70, 0x00, 0x0b, 0x00, 0x0a), | ||
8912 | PHYREGS(0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441), | ||
8913 | }, | ||
8914 | { .freq = 2422, | ||
8915 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, | ||
8916 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
8917 | 0x00, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
8918 | 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, | ||
8919 | 0x70, 0x00, 0x0b, 0x00, 0x0a), | ||
8920 | PHYREGS(0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f), | ||
8921 | }, | ||
8922 | { .freq = 2427, | ||
8923 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, | ||
8924 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
8925 | 0x00, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
8926 | 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, | ||
8927 | 0x70, 0x00, 0x0a, 0x00, 0x0a), | ||
8928 | PHYREGS(0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d), | ||
8929 | }, | ||
8930 | { .freq = 2432, | ||
8931 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, | ||
8932 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
8933 | 0x00, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
8934 | 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, | ||
8935 | 0x70, 0x00, 0x0a, 0x00, 0x0a), | ||
8936 | PHYREGS(0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a), | ||
8937 | }, | ||
8938 | { .freq = 2437, | ||
8939 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, | ||
8940 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
8941 | 0x00, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00, | ||
8942 | 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, | ||
8943 | 0x70, 0x00, 0x0a, 0x00, 0x0a), | ||
8944 | PHYREGS(0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438), | ||
8945 | }, | ||
8946 | { .freq = 2442, | ||
8947 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, | ||
8948 | 0x16, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, | ||
8949 | 0x00, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
8950 | 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, | ||
8951 | 0x70, 0x00, 0x0a, 0x00, 0x0a), | ||
8952 | PHYREGS(0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436), | ||
8953 | }, | ||
8954 | { .freq = 2447, | ||
8955 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, | ||
8956 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
8957 | 0x00, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
8958 | 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, | ||
8959 | 0x70, 0x00, 0x0a, 0x00, 0x09), | ||
8960 | PHYREGS(0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434), | ||
8961 | }, | ||
8962 | { .freq = 2452, | ||
8963 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, | ||
8964 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
8965 | 0x00, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
8966 | 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, | ||
8967 | 0x70, 0x00, 0x0a, 0x00, 0x09), | ||
8968 | PHYREGS(0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431), | ||
8969 | }, | ||
8970 | { .freq = 2457, | ||
8971 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, | ||
8972 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
8973 | 0x00, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
8974 | 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, | ||
8975 | 0x70, 0x00, 0x0a, 0x00, 0x09), | ||
8976 | PHYREGS(0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f), | ||
8977 | }, | ||
8978 | { .freq = 2462, | ||
8979 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, | ||
8980 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
8981 | 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
8982 | 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, | ||
8983 | 0x70, 0x00, 0x09, 0x00, 0x09), | ||
8984 | PHYREGS(0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d), | ||
8985 | }, | ||
8986 | { .freq = 2467, | ||
8987 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, | ||
8988 | 0x16, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, | ||
8989 | 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
8990 | 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, | ||
8991 | 0x70, 0x00, 0x09, 0x00, 0x09), | ||
8992 | PHYREGS(0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b), | ||
8993 | }, | ||
8994 | { .freq = 2472, | ||
8995 | RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, | ||
8996 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, | ||
8997 | 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
8998 | 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, | ||
8999 | 0x70, 0x00, 0x09, 0x00, 0x09), | ||
9000 | PHYREGS(0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429), | ||
9001 | }, | ||
9002 | { .freq = 2484, | ||
9003 | RADIOREGS3(0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, | ||
9004 | 0x16, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, | ||
9005 | 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00, | ||
9006 | 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, | ||
9007 | 0x70, 0x00, 0x09, 0x00, 0x09), | ||
9008 | PHYREGS(0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424), | ||
9009 | }, | ||
9010 | }; | ||
9011 | |||
9012 | static void b2056_upload_inittab(struct b43_wldev *dev, bool ghz5, | ||
9013 | bool ignore_uploadflag, u16 routing, | ||
9014 | const struct b2056_inittab_entry *e, | ||
9015 | unsigned int length) | ||
9016 | { | ||
9017 | unsigned int i; | ||
9018 | u16 value; | ||
9019 | |||
9020 | for (i = 0; i < length; i++, e++) { | ||
9021 | if (!(e->flags & B2056_INITTAB_ENTRY_OK)) | ||
9022 | continue; | ||
9023 | if ((e->flags & B2056_INITTAB_UPLOAD) || ignore_uploadflag) { | ||
9024 | if (ghz5) | ||
9025 | value = e->ghz5; | ||
9026 | else | ||
9027 | value = e->ghz2; | ||
9028 | b43_radio_write(dev, routing | i, value); | ||
9029 | } | ||
9030 | } | ||
9031 | } | ||
9032 | |||
9033 | void b2056_upload_inittabs(struct b43_wldev *dev, | ||
9034 | bool ghz5, bool ignore_uploadflag) | ||
9035 | { | ||
9036 | struct b2056_inittabs_pts *pts; | ||
9037 | |||
9038 | if (dev->phy.rev >= ARRAY_SIZE(b2056_inittabs)) { | ||
9039 | B43_WARN_ON(1); | ||
9040 | return; | ||
9041 | } | ||
9042 | pts = &b2056_inittabs[dev->phy.rev]; | ||
9043 | |||
9044 | b2056_upload_inittab(dev, ghz5, ignore_uploadflag, | ||
9045 | B2056_SYN, pts->syn, pts->syn_length); | ||
9046 | b2056_upload_inittab(dev, ghz5, ignore_uploadflag, | ||
9047 | B2056_TX0, pts->tx, pts->tx_length); | ||
9048 | b2056_upload_inittab(dev, ghz5, ignore_uploadflag, | ||
9049 | B2056_TX1, pts->tx, pts->tx_length); | ||
9050 | b2056_upload_inittab(dev, ghz5, ignore_uploadflag, | ||
9051 | B2056_RX0, pts->rx, pts->rx_length); | ||
9052 | b2056_upload_inittab(dev, ghz5, ignore_uploadflag, | ||
9053 | B2056_RX1, pts->rx, pts->rx_length); | ||
9054 | } | ||
9055 | |||
9056 | const struct b43_nphy_channeltab_entry_rev3 * | ||
9057 | b43_nphy_get_chantabent_rev3(struct b43_wldev *dev, u16 freq) | ||
9058 | { | ||
9059 | const struct b43_nphy_channeltab_entry_rev3 *e; | ||
9060 | unsigned int length, i; | ||
9061 | |||
9062 | switch (dev->phy.rev) { | ||
9063 | case 3: | ||
9064 | e = b43_nphy_channeltab_rev3; | ||
9065 | length = ARRAY_SIZE(b43_nphy_channeltab_rev3); | ||
9066 | break; | ||
9067 | case 4: | ||
9068 | e = b43_nphy_channeltab_rev4; | ||
9069 | length = ARRAY_SIZE(b43_nphy_channeltab_rev4); | ||
9070 | break; | ||
9071 | case 5: | ||
9072 | e = b43_nphy_channeltab_rev5; | ||
9073 | length = ARRAY_SIZE(b43_nphy_channeltab_rev5); | ||
9074 | break; | ||
9075 | case 6: | ||
9076 | e = b43_nphy_channeltab_rev6; | ||
9077 | length = ARRAY_SIZE(b43_nphy_channeltab_rev6); | ||
9078 | break; | ||
9079 | case 7: | ||
9080 | case 9: | ||
9081 | e = b43_nphy_channeltab_rev7_9; | ||
9082 | length = ARRAY_SIZE(b43_nphy_channeltab_rev7_9); | ||
9083 | break; | ||
9084 | case 8: | ||
9085 | e = b43_nphy_channeltab_rev8; | ||
9086 | length = ARRAY_SIZE(b43_nphy_channeltab_rev8); | ||
9087 | break; | ||
9088 | default: | ||
9089 | B43_WARN_ON(1); | ||
9090 | return NULL; | ||
9091 | } | ||
9092 | |||
9093 | for (i = 0; i < length; i++, e++) { | ||
9094 | if (e->freq == freq) | ||
9095 | return e; | ||
9096 | } | ||
9097 | |||
9098 | return NULL; | ||
9099 | } | ||
diff --git a/drivers/net/wireless/b43/radio_2056.h b/drivers/net/wireless/b43/radio_2056.h new file mode 100644 index 000000000000..d601f6e7e313 --- /dev/null +++ b/drivers/net/wireless/b43/radio_2056.h | |||
@@ -0,0 +1,1120 @@ | |||
1 | /* | ||
2 | |||
3 | Broadcom B43 wireless driver | ||
4 | |||
5 | Copyright (c) 2010 Rafał Miłecki <zajec5@gmail.com> | ||
6 | |||
7 | Some parts of the code in this file are derived from the brcm80211 | ||
8 | driver Copyright (c) 2010 Broadcom Corporation | ||
9 | |||
10 | This program is free software; you can redistribute it and/or modify | ||
11 | it under the terms of the GNU General Public License as published by | ||
12 | the Free Software Foundation; either version 2 of the License, or | ||
13 | (at your option) any later version. | ||
14 | |||
15 | This program is distributed in the hope that it will be useful, | ||
16 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | GNU General Public License for more details. | ||
19 | |||
20 | You should have received a copy of the GNU General Public License | ||
21 | along with this program; see the file COPYING. If not, write to | ||
22 | the Free Software Foundation, Inc., 51 Franklin Steet, Fifth Floor, | ||
23 | Boston, MA 02110-1301, USA. | ||
24 | |||
25 | */ | ||
26 | |||
27 | #ifndef B43_RADIO_2056_H_ | ||
28 | #define B43_RADIO_2056_H_ | ||
29 | |||
30 | #include <linux/types.h> | ||
31 | |||
32 | #include "tables_nphy.h" | ||
33 | |||
34 | #define B2056_SYN (0x0 << 12) | ||
35 | #define B2056_TX0 (0x2 << 12) | ||
36 | #define B2056_TX1 (0x3 << 12) | ||
37 | #define B2056_RX0 (0x6 << 12) | ||
38 | #define B2056_RX1 (0x7 << 12) | ||
39 | #define B2056_ALLTX (0xE << 12) | ||
40 | #define B2056_ALLRX (0xF << 12) | ||
41 | |||
42 | #define B2056_SYN_RESERVED_ADDR0 0x00 | ||
43 | #define B2056_SYN_IDCODE 0x01 | ||
44 | #define B2056_SYN_RESERVED_ADDR2 0x02 | ||
45 | #define B2056_SYN_RESERVED_ADDR3 0x03 | ||
46 | #define B2056_SYN_RESERVED_ADDR4 0x04 | ||
47 | #define B2056_SYN_RESERVED_ADDR5 0x05 | ||
48 | #define B2056_SYN_RESERVED_ADDR6 0x06 | ||
49 | #define B2056_SYN_RESERVED_ADDR7 0x07 | ||
50 | #define B2056_SYN_COM_CTRL 0x08 | ||
51 | #define B2056_SYN_COM_PU 0x09 | ||
52 | #define B2056_SYN_COM_OVR 0x0A | ||
53 | #define B2056_SYN_COM_RESET 0x0B | ||
54 | #define B2056_SYN_COM_RCAL 0x0C | ||
55 | #define B2056_SYN_COM_RC_RXLPF 0x0D | ||
56 | #define B2056_SYN_COM_RC_TXLPF 0x0E | ||
57 | #define B2056_SYN_COM_RC_RXHPF 0x0F | ||
58 | #define B2056_SYN_RESERVED_ADDR16 0x10 | ||
59 | #define B2056_SYN_RESERVED_ADDR17 0x11 | ||
60 | #define B2056_SYN_RESERVED_ADDR18 0x12 | ||
61 | #define B2056_SYN_RESERVED_ADDR19 0x13 | ||
62 | #define B2056_SYN_RESERVED_ADDR20 0x14 | ||
63 | #define B2056_SYN_RESERVED_ADDR21 0x15 | ||
64 | #define B2056_SYN_RESERVED_ADDR22 0x16 | ||
65 | #define B2056_SYN_RESERVED_ADDR23 0x17 | ||
66 | #define B2056_SYN_RESERVED_ADDR24 0x18 | ||
67 | #define B2056_SYN_RESERVED_ADDR25 0x19 | ||
68 | #define B2056_SYN_RESERVED_ADDR26 0x1A | ||
69 | #define B2056_SYN_RESERVED_ADDR27 0x1B | ||
70 | #define B2056_SYN_RESERVED_ADDR28 0x1C | ||
71 | #define B2056_SYN_RESERVED_ADDR29 0x1D | ||
72 | #define B2056_SYN_RESERVED_ADDR30 0x1E | ||
73 | #define B2056_SYN_RESERVED_ADDR31 0x1F | ||
74 | #define B2056_SYN_GPIO_MASTER1 0x20 | ||
75 | #define B2056_SYN_GPIO_MASTER2 0x21 | ||
76 | #define B2056_SYN_TOPBIAS_MASTER 0x22 | ||
77 | #define B2056_SYN_TOPBIAS_RCAL 0x23 | ||
78 | #define B2056_SYN_AFEREG 0x24 | ||
79 | #define B2056_SYN_TEMPPROCSENSE 0x25 | ||
80 | #define B2056_SYN_TEMPPROCSENSEIDAC 0x26 | ||
81 | #define B2056_SYN_TEMPPROCSENSERCAL 0x27 | ||
82 | #define B2056_SYN_LPO 0x28 | ||
83 | #define B2056_SYN_VDDCAL_MASTER 0x29 | ||
84 | #define B2056_SYN_VDDCAL_IDAC 0x2A | ||
85 | #define B2056_SYN_VDDCAL_STATUS 0x2B | ||
86 | #define B2056_SYN_RCAL_MASTER 0x2C | ||
87 | #define B2056_SYN_RCAL_CODE_OUT 0x2D | ||
88 | #define B2056_SYN_RCCAL_CTRL0 0x2E | ||
89 | #define B2056_SYN_RCCAL_CTRL1 0x2F | ||
90 | #define B2056_SYN_RCCAL_CTRL2 0x30 | ||
91 | #define B2056_SYN_RCCAL_CTRL3 0x31 | ||
92 | #define B2056_SYN_RCCAL_CTRL4 0x32 | ||
93 | #define B2056_SYN_RCCAL_CTRL5 0x33 | ||
94 | #define B2056_SYN_RCCAL_CTRL6 0x34 | ||
95 | #define B2056_SYN_RCCAL_CTRL7 0x35 | ||
96 | #define B2056_SYN_RCCAL_CTRL8 0x36 | ||
97 | #define B2056_SYN_RCCAL_CTRL9 0x37 | ||
98 | #define B2056_SYN_RCCAL_CTRL10 0x38 | ||
99 | #define B2056_SYN_RCCAL_CTRL11 0x39 | ||
100 | #define B2056_SYN_ZCAL_SPARE1 0x3A | ||
101 | #define B2056_SYN_ZCAL_SPARE2 0x3B | ||
102 | #define B2056_SYN_PLL_MAST1 0x3C | ||
103 | #define B2056_SYN_PLL_MAST2 0x3D | ||
104 | #define B2056_SYN_PLL_MAST3 0x3E | ||
105 | #define B2056_SYN_PLL_BIAS_RESET 0x3F | ||
106 | #define B2056_SYN_PLL_XTAL0 0x40 | ||
107 | #define B2056_SYN_PLL_XTAL1 0x41 | ||
108 | #define B2056_SYN_PLL_XTAL3 0x42 | ||
109 | #define B2056_SYN_PLL_XTAL4 0x43 | ||
110 | #define B2056_SYN_PLL_XTAL5 0x44 | ||
111 | #define B2056_SYN_PLL_XTAL6 0x45 | ||
112 | #define B2056_SYN_PLL_REFDIV 0x46 | ||
113 | #define B2056_SYN_PLL_PFD 0x47 | ||
114 | #define B2056_SYN_PLL_CP1 0x48 | ||
115 | #define B2056_SYN_PLL_CP2 0x49 | ||
116 | #define B2056_SYN_PLL_CP3 0x4A | ||
117 | #define B2056_SYN_PLL_LOOPFILTER1 0x4B | ||
118 | #define B2056_SYN_PLL_LOOPFILTER2 0x4C | ||
119 | #define B2056_SYN_PLL_LOOPFILTER3 0x4D | ||
120 | #define B2056_SYN_PLL_LOOPFILTER4 0x4E | ||
121 | #define B2056_SYN_PLL_LOOPFILTER5 0x4F | ||
122 | #define B2056_SYN_PLL_MMD1 0x50 | ||
123 | #define B2056_SYN_PLL_MMD2 0x51 | ||
124 | #define B2056_SYN_PLL_VCO1 0x52 | ||
125 | #define B2056_SYN_PLL_VCO2 0x53 | ||
126 | #define B2056_SYN_PLL_MONITOR1 0x54 | ||
127 | #define B2056_SYN_PLL_MONITOR2 0x55 | ||
128 | #define B2056_SYN_PLL_VCOCAL1 0x56 | ||
129 | #define B2056_SYN_PLL_VCOCAL2 0x57 | ||
130 | #define B2056_SYN_PLL_VCOCAL4 0x58 | ||
131 | #define B2056_SYN_PLL_VCOCAL5 0x59 | ||
132 | #define B2056_SYN_PLL_VCOCAL6 0x5A | ||
133 | #define B2056_SYN_PLL_VCOCAL7 0x5B | ||
134 | #define B2056_SYN_PLL_VCOCAL8 0x5C | ||
135 | #define B2056_SYN_PLL_VCOCAL9 0x5D | ||
136 | #define B2056_SYN_PLL_VCOCAL10 0x5E | ||
137 | #define B2056_SYN_PLL_VCOCAL11 0x5F | ||
138 | #define B2056_SYN_PLL_VCOCAL12 0x60 | ||
139 | #define B2056_SYN_PLL_VCOCAL13 0x61 | ||
140 | #define B2056_SYN_PLL_VREG 0x62 | ||
141 | #define B2056_SYN_PLL_STATUS1 0x63 | ||
142 | #define B2056_SYN_PLL_STATUS2 0x64 | ||
143 | #define B2056_SYN_PLL_STATUS3 0x65 | ||
144 | #define B2056_SYN_LOGEN_PU0 0x66 | ||
145 | #define B2056_SYN_LOGEN_PU1 0x67 | ||
146 | #define B2056_SYN_LOGEN_PU2 0x68 | ||
147 | #define B2056_SYN_LOGEN_PU3 0x69 | ||
148 | #define B2056_SYN_LOGEN_PU5 0x6A | ||
149 | #define B2056_SYN_LOGEN_PU6 0x6B | ||
150 | #define B2056_SYN_LOGEN_PU7 0x6C | ||
151 | #define B2056_SYN_LOGEN_PU8 0x6D | ||
152 | #define B2056_SYN_LOGEN_BIAS_RESET 0x6E | ||
153 | #define B2056_SYN_LOGEN_RCCR1 0x6F | ||
154 | #define B2056_SYN_LOGEN_VCOBUF1 0x70 | ||
155 | #define B2056_SYN_LOGEN_MIXER1 0x71 | ||
156 | #define B2056_SYN_LOGEN_MIXER2 0x72 | ||
157 | #define B2056_SYN_LOGEN_BUF1 0x73 | ||
158 | #define B2056_SYN_LOGENBUF2 0x74 | ||
159 | #define B2056_SYN_LOGEN_BUF3 0x75 | ||
160 | #define B2056_SYN_LOGEN_BUF4 0x76 | ||
161 | #define B2056_SYN_LOGEN_DIV1 0x77 | ||
162 | #define B2056_SYN_LOGEN_DIV2 0x78 | ||
163 | #define B2056_SYN_LOGEN_DIV3 0x79 | ||
164 | #define B2056_SYN_LOGEN_ACL1 0x7A | ||
165 | #define B2056_SYN_LOGEN_ACL2 0x7B | ||
166 | #define B2056_SYN_LOGEN_ACL3 0x7C | ||
167 | #define B2056_SYN_LOGEN_ACL4 0x7D | ||
168 | #define B2056_SYN_LOGEN_ACL5 0x7E | ||
169 | #define B2056_SYN_LOGEN_ACL6 0x7F | ||
170 | #define B2056_SYN_LOGEN_ACLOUT 0x80 | ||
171 | #define B2056_SYN_LOGEN_ACLCAL1 0x81 | ||
172 | #define B2056_SYN_LOGEN_ACLCAL2 0x82 | ||
173 | #define B2056_SYN_LOGEN_ACLCAL3 0x83 | ||
174 | #define B2056_SYN_CALEN 0x84 | ||
175 | #define B2056_SYN_LOGEN_PEAKDET1 0x85 | ||
176 | #define B2056_SYN_LOGEN_CORE_ACL_OVR 0x86 | ||
177 | #define B2056_SYN_LOGEN_RX_DIFF_ACL_OVR 0x87 | ||
178 | #define B2056_SYN_LOGEN_TX_DIFF_ACL_OVR 0x88 | ||
179 | #define B2056_SYN_LOGEN_RX_CMOS_ACL_OVR 0x89 | ||
180 | #define B2056_SYN_LOGEN_TX_CMOS_ACL_OVR 0x8A | ||
181 | #define B2056_SYN_LOGEN_VCOBUF2 0x8B | ||
182 | #define B2056_SYN_LOGEN_MIXER3 0x8C | ||
183 | #define B2056_SYN_LOGEN_BUF5 0x8D | ||
184 | #define B2056_SYN_LOGEN_BUF6 0x8E | ||
185 | #define B2056_SYN_LOGEN_CBUFRX1 0x8F | ||
186 | #define B2056_SYN_LOGEN_CBUFRX2 0x90 | ||
187 | #define B2056_SYN_LOGEN_CBUFRX3 0x91 | ||
188 | #define B2056_SYN_LOGEN_CBUFRX4 0x92 | ||
189 | #define B2056_SYN_LOGEN_CBUFTX1 0x93 | ||
190 | #define B2056_SYN_LOGEN_CBUFTX2 0x94 | ||
191 | #define B2056_SYN_LOGEN_CBUFTX3 0x95 | ||
192 | #define B2056_SYN_LOGEN_CBUFTX4 0x96 | ||
193 | #define B2056_SYN_LOGEN_CMOSRX1 0x97 | ||
194 | #define B2056_SYN_LOGEN_CMOSRX2 0x98 | ||
195 | #define B2056_SYN_LOGEN_CMOSRX3 0x99 | ||
196 | #define B2056_SYN_LOGEN_CMOSRX4 0x9A | ||
197 | #define B2056_SYN_LOGEN_CMOSTX1 0x9B | ||
198 | #define B2056_SYN_LOGEN_CMOSTX2 0x9C | ||
199 | #define B2056_SYN_LOGEN_CMOSTX3 0x9D | ||
200 | #define B2056_SYN_LOGEN_CMOSTX4 0x9E | ||
201 | #define B2056_SYN_LOGEN_VCOBUF2_OVRVAL 0x9F | ||
202 | #define B2056_SYN_LOGEN_MIXER3_OVRVAL 0xA0 | ||
203 | #define B2056_SYN_LOGEN_BUF5_OVRVAL 0xA1 | ||
204 | #define B2056_SYN_LOGEN_BUF6_OVRVAL 0xA2 | ||
205 | #define B2056_SYN_LOGEN_CBUFRX1_OVRVAL 0xA3 | ||
206 | #define B2056_SYN_LOGEN_CBUFRX2_OVRVAL 0xA4 | ||
207 | #define B2056_SYN_LOGEN_CBUFRX3_OVRVAL 0xA5 | ||
208 | #define B2056_SYN_LOGEN_CBUFRX4_OVRVAL 0xA6 | ||
209 | #define B2056_SYN_LOGEN_CBUFTX1_OVRVAL 0xA7 | ||
210 | #define B2056_SYN_LOGEN_CBUFTX2_OVRVAL 0xA8 | ||
211 | #define B2056_SYN_LOGEN_CBUFTX3_OVRVAL 0xA9 | ||
212 | #define B2056_SYN_LOGEN_CBUFTX4_OVRVAL 0xAA | ||
213 | #define B2056_SYN_LOGEN_CMOSRX1_OVRVAL 0xAB | ||
214 | #define B2056_SYN_LOGEN_CMOSRX2_OVRVAL 0xAC | ||
215 | #define B2056_SYN_LOGEN_CMOSRX3_OVRVAL 0xAD | ||
216 | #define B2056_SYN_LOGEN_CMOSRX4_OVRVAL 0xAE | ||
217 | #define B2056_SYN_LOGEN_CMOSTX1_OVRVAL 0xAF | ||
218 | #define B2056_SYN_LOGEN_CMOSTX2_OVRVAL 0xB0 | ||
219 | #define B2056_SYN_LOGEN_CMOSTX3_OVRVAL 0xB1 | ||
220 | #define B2056_SYN_LOGEN_CMOSTX4_OVRVAL 0xB2 | ||
221 | #define B2056_SYN_LOGEN_ACL_WAITCNT 0xB3 | ||
222 | #define B2056_SYN_LOGEN_CORE_CALVALID 0xB4 | ||
223 | #define B2056_SYN_LOGEN_RX_CMOS_CALVALID 0xB5 | ||
224 | #define B2056_SYN_LOGEN_TX_CMOS_VALID 0xB6 | ||
225 | |||
226 | #define B2056_TX_RESERVED_ADDR0 0x00 | ||
227 | #define B2056_TX_IDCODE 0x01 | ||
228 | #define B2056_TX_RESERVED_ADDR2 0x02 | ||
229 | #define B2056_TX_RESERVED_ADDR3 0x03 | ||
230 | #define B2056_TX_RESERVED_ADDR4 0x04 | ||
231 | #define B2056_TX_RESERVED_ADDR5 0x05 | ||
232 | #define B2056_TX_RESERVED_ADDR6 0x06 | ||
233 | #define B2056_TX_RESERVED_ADDR7 0x07 | ||
234 | #define B2056_TX_COM_CTRL 0x08 | ||
235 | #define B2056_TX_COM_PU 0x09 | ||
236 | #define B2056_TX_COM_OVR 0x0A | ||
237 | #define B2056_TX_COM_RESET 0x0B | ||
238 | #define B2056_TX_COM_RCAL 0x0C | ||
239 | #define B2056_TX_COM_RC_RXLPF 0x0D | ||
240 | #define B2056_TX_COM_RC_TXLPF 0x0E | ||
241 | #define B2056_TX_COM_RC_RXHPF 0x0F | ||
242 | #define B2056_TX_RESERVED_ADDR16 0x10 | ||
243 | #define B2056_TX_RESERVED_ADDR17 0x11 | ||
244 | #define B2056_TX_RESERVED_ADDR18 0x12 | ||
245 | #define B2056_TX_RESERVED_ADDR19 0x13 | ||
246 | #define B2056_TX_RESERVED_ADDR20 0x14 | ||
247 | #define B2056_TX_RESERVED_ADDR21 0x15 | ||
248 | #define B2056_TX_RESERVED_ADDR22 0x16 | ||
249 | #define B2056_TX_RESERVED_ADDR23 0x17 | ||
250 | #define B2056_TX_RESERVED_ADDR24 0x18 | ||
251 | #define B2056_TX_RESERVED_ADDR25 0x19 | ||
252 | #define B2056_TX_RESERVED_ADDR26 0x1A | ||
253 | #define B2056_TX_RESERVED_ADDR27 0x1B | ||
254 | #define B2056_TX_RESERVED_ADDR28 0x1C | ||
255 | #define B2056_TX_RESERVED_ADDR29 0x1D | ||
256 | #define B2056_TX_RESERVED_ADDR30 0x1E | ||
257 | #define B2056_TX_RESERVED_ADDR31 0x1F | ||
258 | #define B2056_TX_IQCAL_GAIN_BW 0x20 | ||
259 | #define B2056_TX_LOFT_FINE_I 0x21 | ||
260 | #define B2056_TX_LOFT_FINE_Q 0x22 | ||
261 | #define B2056_TX_LOFT_COARSE_I 0x23 | ||
262 | #define B2056_TX_LOFT_COARSE_Q 0x24 | ||
263 | #define B2056_TX_TX_COM_MASTER1 0x25 | ||
264 | #define B2056_TX_TX_COM_MASTER2 0x26 | ||
265 | #define B2056_TX_RXIQCAL_TXMUX 0x27 | ||
266 | #define B2056_TX_TX_SSI_MASTER 0x28 | ||
267 | #define B2056_TX_IQCAL_VCM_HG 0x29 | ||
268 | #define B2056_TX_IQCAL_IDAC 0x2A | ||
269 | #define B2056_TX_TSSI_VCM 0x2B | ||
270 | #define B2056_TX_TX_AMP_DET 0x2C | ||
271 | #define B2056_TX_TX_SSI_MUX 0x2D | ||
272 | #define B2056_TX_TSSIA 0x2E | ||
273 | #define B2056_TX_TSSIG 0x2F | ||
274 | #define B2056_TX_TSSI_MISC1 0x30 | ||
275 | #define B2056_TX_TSSI_MISC2 0x31 | ||
276 | #define B2056_TX_TSSI_MISC3 0x32 | ||
277 | #define B2056_TX_PA_SPARE1 0x33 | ||
278 | #define B2056_TX_PA_SPARE2 0x34 | ||
279 | #define B2056_TX_INTPAA_MASTER 0x35 | ||
280 | #define B2056_TX_INTPAA_GAIN 0x36 | ||
281 | #define B2056_TX_INTPAA_BOOST_TUNE 0x37 | ||
282 | #define B2056_TX_INTPAA_IAUX_STAT 0x38 | ||
283 | #define B2056_TX_INTPAA_IAUX_DYN 0x39 | ||
284 | #define B2056_TX_INTPAA_IMAIN_STAT 0x3A | ||
285 | #define B2056_TX_INTPAA_IMAIN_DYN 0x3B | ||
286 | #define B2056_TX_INTPAA_CASCBIAS 0x3C | ||
287 | #define B2056_TX_INTPAA_PASLOPE 0x3D | ||
288 | #define B2056_TX_INTPAA_PA_MISC 0x3E | ||
289 | #define B2056_TX_INTPAG_MASTER 0x3F | ||
290 | #define B2056_TX_INTPAG_GAIN 0x40 | ||
291 | #define B2056_TX_INTPAG_BOOST_TUNE 0x41 | ||
292 | #define B2056_TX_INTPAG_IAUX_STAT 0x42 | ||
293 | #define B2056_TX_INTPAG_IAUX_DYN 0x43 | ||
294 | #define B2056_TX_INTPAG_IMAIN_STAT 0x44 | ||
295 | #define B2056_TX_INTPAG_IMAIN_DYN 0x45 | ||
296 | #define B2056_TX_INTPAG_CASCBIAS 0x46 | ||
297 | #define B2056_TX_INTPAG_PASLOPE 0x47 | ||
298 | #define B2056_TX_INTPAG_PA_MISC 0x48 | ||
299 | #define B2056_TX_PADA_MASTER 0x49 | ||
300 | #define B2056_TX_PADA_IDAC 0x4A | ||
301 | #define B2056_TX_PADA_CASCBIAS 0x4B | ||
302 | #define B2056_TX_PADA_GAIN 0x4C | ||
303 | #define B2056_TX_PADA_BOOST_TUNE 0x4D | ||
304 | #define B2056_TX_PADA_SLOPE 0x4E | ||
305 | #define B2056_TX_PADG_MASTER 0x4F | ||
306 | #define B2056_TX_PADG_IDAC 0x50 | ||
307 | #define B2056_TX_PADG_CASCBIAS 0x51 | ||
308 | #define B2056_TX_PADG_GAIN 0x52 | ||
309 | #define B2056_TX_PADG_BOOST_TUNE 0x53 | ||
310 | #define B2056_TX_PADG_SLOPE 0x54 | ||
311 | #define B2056_TX_PGAA_MASTER 0x55 | ||
312 | #define B2056_TX_PGAA_IDAC 0x56 | ||
313 | #define B2056_TX_PGAA_GAIN 0x57 | ||
314 | #define B2056_TX_PGAA_BOOST_TUNE 0x58 | ||
315 | #define B2056_TX_PGAA_SLOPE 0x59 | ||
316 | #define B2056_TX_PGAA_MISC 0x5A | ||
317 | #define B2056_TX_PGAG_MASTER 0x5B | ||
318 | #define B2056_TX_PGAG_IDAC 0x5C | ||
319 | #define B2056_TX_PGAG_GAIN 0x5D | ||
320 | #define B2056_TX_PGAG_BOOST_TUNE 0x5E | ||
321 | #define B2056_TX_PGAG_SLOPE 0x5F | ||
322 | #define B2056_TX_PGAG_MISC 0x60 | ||
323 | #define B2056_TX_MIXA_MASTER 0x61 | ||
324 | #define B2056_TX_MIXA_BOOST_TUNE 0x62 | ||
325 | #define B2056_TX_MIXG 0x63 | ||
326 | #define B2056_TX_MIXG_BOOST_TUNE 0x64 | ||
327 | #define B2056_TX_BB_GM_MASTER 0x65 | ||
328 | #define B2056_TX_GMBB_GM 0x66 | ||
329 | #define B2056_TX_GMBB_IDAC 0x67 | ||
330 | #define B2056_TX_TXLPF_MASTER 0x68 | ||
331 | #define B2056_TX_TXLPF_RCCAL 0x69 | ||
332 | #define B2056_TX_TXLPF_RCCAL_OFF0 0x6A | ||
333 | #define B2056_TX_TXLPF_RCCAL_OFF1 0x6B | ||
334 | #define B2056_TX_TXLPF_RCCAL_OFF2 0x6C | ||
335 | #define B2056_TX_TXLPF_RCCAL_OFF3 0x6D | ||
336 | #define B2056_TX_TXLPF_RCCAL_OFF4 0x6E | ||
337 | #define B2056_TX_TXLPF_RCCAL_OFF5 0x6F | ||
338 | #define B2056_TX_TXLPF_RCCAL_OFF6 0x70 | ||
339 | #define B2056_TX_TXLPF_BW 0x71 | ||
340 | #define B2056_TX_TXLPF_GAIN 0x72 | ||
341 | #define B2056_TX_TXLPF_IDAC 0x73 | ||
342 | #define B2056_TX_TXLPF_IDAC_0 0x74 | ||
343 | #define B2056_TX_TXLPF_IDAC_1 0x75 | ||
344 | #define B2056_TX_TXLPF_IDAC_2 0x76 | ||
345 | #define B2056_TX_TXLPF_IDAC_3 0x77 | ||
346 | #define B2056_TX_TXLPF_IDAC_4 0x78 | ||
347 | #define B2056_TX_TXLPF_IDAC_5 0x79 | ||
348 | #define B2056_TX_TXLPF_IDAC_6 0x7A | ||
349 | #define B2056_TX_TXLPF_OPAMP_IDAC 0x7B | ||
350 | #define B2056_TX_TXLPF_MISC 0x7C | ||
351 | #define B2056_TX_TXSPARE1 0x7D | ||
352 | #define B2056_TX_TXSPARE2 0x7E | ||
353 | #define B2056_TX_TXSPARE3 0x7F | ||
354 | #define B2056_TX_TXSPARE4 0x80 | ||
355 | #define B2056_TX_TXSPARE5 0x81 | ||
356 | #define B2056_TX_TXSPARE6 0x82 | ||
357 | #define B2056_TX_TXSPARE7 0x83 | ||
358 | #define B2056_TX_TXSPARE8 0x84 | ||
359 | #define B2056_TX_TXSPARE9 0x85 | ||
360 | #define B2056_TX_TXSPARE10 0x86 | ||
361 | #define B2056_TX_TXSPARE11 0x87 | ||
362 | #define B2056_TX_TXSPARE12 0x88 | ||
363 | #define B2056_TX_TXSPARE13 0x89 | ||
364 | #define B2056_TX_TXSPARE14 0x8A | ||
365 | #define B2056_TX_TXSPARE15 0x8B | ||
366 | #define B2056_TX_TXSPARE16 0x8C | ||
367 | #define B2056_TX_STATUS_INTPA_GAIN 0x8D | ||
368 | #define B2056_TX_STATUS_PAD_GAIN 0x8E | ||
369 | #define B2056_TX_STATUS_PGA_GAIN 0x8F | ||
370 | #define B2056_TX_STATUS_GM_TXLPF_GAIN 0x90 | ||
371 | #define B2056_TX_STATUS_TXLPF_BW 0x91 | ||
372 | #define B2056_TX_STATUS_TXLPF_RC 0x92 | ||
373 | #define B2056_TX_GMBB_IDAC0 0x93 | ||
374 | #define B2056_TX_GMBB_IDAC1 0x94 | ||
375 | #define B2056_TX_GMBB_IDAC2 0x95 | ||
376 | #define B2056_TX_GMBB_IDAC3 0x96 | ||
377 | #define B2056_TX_GMBB_IDAC4 0x97 | ||
378 | #define B2056_TX_GMBB_IDAC5 0x98 | ||
379 | #define B2056_TX_GMBB_IDAC6 0x99 | ||
380 | #define B2056_TX_GMBB_IDAC7 0x9A | ||
381 | |||
382 | #define B2056_RX_RESERVED_ADDR0 0x00 | ||
383 | #define B2056_RX_IDCODE 0x01 | ||
384 | #define B2056_RX_RESERVED_ADDR2 0x02 | ||
385 | #define B2056_RX_RESERVED_ADDR3 0x03 | ||
386 | #define B2056_RX_RESERVED_ADDR4 0x04 | ||
387 | #define B2056_RX_RESERVED_ADDR5 0x05 | ||
388 | #define B2056_RX_RESERVED_ADDR6 0x06 | ||
389 | #define B2056_RX_RESERVED_ADDR7 0x07 | ||
390 | #define B2056_RX_COM_CTRL 0x08 | ||
391 | #define B2056_RX_COM_PU 0x09 | ||
392 | #define B2056_RX_COM_OVR 0x0A | ||
393 | #define B2056_RX_COM_RESET 0x0B | ||
394 | #define B2056_RX_COM_RCAL 0x0C | ||
395 | #define B2056_RX_COM_RC_RXLPF 0x0D | ||
396 | #define B2056_RX_COM_RC_TXLPF 0x0E | ||
397 | #define B2056_RX_COM_RC_RXHPF 0x0F | ||
398 | #define B2056_RX_RESERVED_ADDR16 0x10 | ||
399 | #define B2056_RX_RESERVED_ADDR17 0x11 | ||
400 | #define B2056_RX_RESERVED_ADDR18 0x12 | ||
401 | #define B2056_RX_RESERVED_ADDR19 0x13 | ||
402 | #define B2056_RX_RESERVED_ADDR20 0x14 | ||
403 | #define B2056_RX_RESERVED_ADDR21 0x15 | ||
404 | #define B2056_RX_RESERVED_ADDR22 0x16 | ||
405 | #define B2056_RX_RESERVED_ADDR23 0x17 | ||
406 | #define B2056_RX_RESERVED_ADDR24 0x18 | ||
407 | #define B2056_RX_RESERVED_ADDR25 0x19 | ||
408 | #define B2056_RX_RESERVED_ADDR26 0x1A | ||
409 | #define B2056_RX_RESERVED_ADDR27 0x1B | ||
410 | #define B2056_RX_RESERVED_ADDR28 0x1C | ||
411 | #define B2056_RX_RESERVED_ADDR29 0x1D | ||
412 | #define B2056_RX_RESERVED_ADDR30 0x1E | ||
413 | #define B2056_RX_RESERVED_ADDR31 0x1F | ||
414 | #define B2056_RX_RXIQCAL_RXMUX 0x20 | ||
415 | #define B2056_RX_RSSI_PU 0x21 | ||
416 | #define B2056_RX_RSSI_SEL 0x22 | ||
417 | #define B2056_RX_RSSI_GAIN 0x23 | ||
418 | #define B2056_RX_RSSI_NB_IDAC 0x24 | ||
419 | #define B2056_RX_RSSI_WB2I_IDAC_1 0x25 | ||
420 | #define B2056_RX_RSSI_WB2I_IDAC_2 0x26 | ||
421 | #define B2056_RX_RSSI_WB2Q_IDAC_1 0x27 | ||
422 | #define B2056_RX_RSSI_WB2Q_IDAC_2 0x28 | ||
423 | #define B2056_RX_RSSI_POLE 0x29 | ||
424 | #define B2056_RX_RSSI_WB1_IDAC 0x2A | ||
425 | #define B2056_RX_RSSI_MISC 0x2B | ||
426 | #define B2056_RX_LNAA_MASTER 0x2C | ||
427 | #define B2056_RX_LNAA_TUNE 0x2D | ||
428 | #define B2056_RX_LNAA_GAIN 0x2E | ||
429 | #define B2056_RX_LNA_A_SLOPE 0x2F | ||
430 | #define B2056_RX_BIASPOLE_LNAA1_IDAC 0x30 | ||
431 | #define B2056_RX_LNAA2_IDAC 0x31 | ||
432 | #define B2056_RX_LNA1A_MISC 0x32 | ||
433 | #define B2056_RX_LNAG_MASTER 0x33 | ||
434 | #define B2056_RX_LNAG_TUNE 0x34 | ||
435 | #define B2056_RX_LNAG_GAIN 0x35 | ||
436 | #define B2056_RX_LNA_G_SLOPE 0x36 | ||
437 | #define B2056_RX_BIASPOLE_LNAG1_IDAC 0x37 | ||
438 | #define B2056_RX_LNAG2_IDAC 0x38 | ||
439 | #define B2056_RX_LNA1G_MISC 0x39 | ||
440 | #define B2056_RX_MIXA_MASTER 0x3A | ||
441 | #define B2056_RX_MIXA_VCM 0x3B | ||
442 | #define B2056_RX_MIXA_CTRLPTAT 0x3C | ||
443 | #define B2056_RX_MIXA_LOB_BIAS 0x3D | ||
444 | #define B2056_RX_MIXA_CORE_IDAC 0x3E | ||
445 | #define B2056_RX_MIXA_CMFB_IDAC 0x3F | ||
446 | #define B2056_RX_MIXA_BIAS_AUX 0x40 | ||
447 | #define B2056_RX_MIXA_BIAS_MAIN 0x41 | ||
448 | #define B2056_RX_MIXA_BIAS_MISC 0x42 | ||
449 | #define B2056_RX_MIXA_MAST_BIAS 0x43 | ||
450 | #define B2056_RX_MIXG_MASTER 0x44 | ||
451 | #define B2056_RX_MIXG_VCM 0x45 | ||
452 | #define B2056_RX_MIXG_CTRLPTAT 0x46 | ||
453 | #define B2056_RX_MIXG_LOB_BIAS 0x47 | ||
454 | #define B2056_RX_MIXG_CORE_IDAC 0x48 | ||
455 | #define B2056_RX_MIXG_CMFB_IDAC 0x49 | ||
456 | #define B2056_RX_MIXG_BIAS_AUX 0x4A | ||
457 | #define B2056_RX_MIXG_BIAS_MAIN 0x4B | ||
458 | #define B2056_RX_MIXG_BIAS_MISC 0x4C | ||
459 | #define B2056_RX_MIXG_MAST_BIAS 0x4D | ||
460 | #define B2056_RX_TIA_MASTER 0x4E | ||
461 | #define B2056_RX_TIA_IOPAMP 0x4F | ||
462 | #define B2056_RX_TIA_QOPAMP 0x50 | ||
463 | #define B2056_RX_TIA_IMISC 0x51 | ||
464 | #define B2056_RX_TIA_QMISC 0x52 | ||
465 | #define B2056_RX_TIA_GAIN 0x53 | ||
466 | #define B2056_RX_TIA_SPARE1 0x54 | ||
467 | #define B2056_RX_TIA_SPARE2 0x55 | ||
468 | #define B2056_RX_BB_LPF_MASTER 0x56 | ||
469 | #define B2056_RX_AACI_MASTER 0x57 | ||
470 | #define B2056_RX_RXLPF_IDAC 0x58 | ||
471 | #define B2056_RX_RXLPF_OPAMPBIAS_LOWQ 0x59 | ||
472 | #define B2056_RX_RXLPF_OPAMPBIAS_HIGHQ 0x5A | ||
473 | #define B2056_RX_RXLPF_BIAS_DCCANCEL 0x5B | ||
474 | #define B2056_RX_RXLPF_OUTVCM 0x5C | ||
475 | #define B2056_RX_RXLPF_INVCM_BODY 0x5D | ||
476 | #define B2056_RX_RXLPF_CC_OP 0x5E | ||
477 | #define B2056_RX_RXLPF_GAIN 0x5F | ||
478 | #define B2056_RX_RXLPF_Q_BW 0x60 | ||
479 | #define B2056_RX_RXLPF_HP_CORNER_BW 0x61 | ||
480 | #define B2056_RX_RXLPF_RCCAL_HPC 0x62 | ||
481 | #define B2056_RX_RXHPF_OFF0 0x63 | ||
482 | #define B2056_RX_RXHPF_OFF1 0x64 | ||
483 | #define B2056_RX_RXHPF_OFF2 0x65 | ||
484 | #define B2056_RX_RXHPF_OFF3 0x66 | ||
485 | #define B2056_RX_RXHPF_OFF4 0x67 | ||
486 | #define B2056_RX_RXHPF_OFF5 0x68 | ||
487 | #define B2056_RX_RXHPF_OFF6 0x69 | ||
488 | #define B2056_RX_RXHPF_OFF7 0x6A | ||
489 | #define B2056_RX_RXLPF_RCCAL_LPC 0x6B | ||
490 | #define B2056_RX_RXLPF_OFF_0 0x6C | ||
491 | #define B2056_RX_RXLPF_OFF_1 0x6D | ||
492 | #define B2056_RX_RXLPF_OFF_2 0x6E | ||
493 | #define B2056_RX_RXLPF_OFF_3 0x6F | ||
494 | #define B2056_RX_RXLPF_OFF_4 0x70 | ||
495 | #define B2056_RX_UNUSED 0x71 | ||
496 | #define B2056_RX_VGA_MASTER 0x72 | ||
497 | #define B2056_RX_VGA_BIAS 0x73 | ||
498 | #define B2056_RX_VGA_BIAS_DCCANCEL 0x74 | ||
499 | #define B2056_RX_VGA_GAIN 0x75 | ||
500 | #define B2056_RX_VGA_HP_CORNER_BW 0x76 | ||
501 | #define B2056_RX_VGABUF_BIAS 0x77 | ||
502 | #define B2056_RX_VGABUF_GAIN_BW 0x78 | ||
503 | #define B2056_RX_TXFBMIX_A 0x79 | ||
504 | #define B2056_RX_TXFBMIX_G 0x7A | ||
505 | #define B2056_RX_RXSPARE1 0x7B | ||
506 | #define B2056_RX_RXSPARE2 0x7C | ||
507 | #define B2056_RX_RXSPARE3 0x7D | ||
508 | #define B2056_RX_RXSPARE4 0x7E | ||
509 | #define B2056_RX_RXSPARE5 0x7F | ||
510 | #define B2056_RX_RXSPARE6 0x80 | ||
511 | #define B2056_RX_RXSPARE7 0x81 | ||
512 | #define B2056_RX_RXSPARE8 0x82 | ||
513 | #define B2056_RX_RXSPARE9 0x83 | ||
514 | #define B2056_RX_RXSPARE10 0x84 | ||
515 | #define B2056_RX_RXSPARE11 0x85 | ||
516 | #define B2056_RX_RXSPARE12 0x86 | ||
517 | #define B2056_RX_RXSPARE13 0x87 | ||
518 | #define B2056_RX_RXSPARE14 0x88 | ||
519 | #define B2056_RX_RXSPARE15 0x89 | ||
520 | #define B2056_RX_RXSPARE16 0x8A | ||
521 | #define B2056_RX_STATUS_LNAA_GAIN 0x8B | ||
522 | #define B2056_RX_STATUS_LNAG_GAIN 0x8C | ||
523 | #define B2056_RX_STATUS_MIXTIA_GAIN 0x8D | ||
524 | #define B2056_RX_STATUS_RXLPF_GAIN 0x8E | ||
525 | #define B2056_RX_STATUS_VGA_BUF_GAIN 0x8F | ||
526 | #define B2056_RX_STATUS_RXLPF_Q 0x90 | ||
527 | #define B2056_RX_STATUS_RXLPF_BUF_BW 0x91 | ||
528 | #define B2056_RX_STATUS_RXLPF_VGA_HPC 0x92 | ||
529 | #define B2056_RX_STATUS_RXLPF_RC 0x93 | ||
530 | #define B2056_RX_STATUS_HPC_RC 0x94 | ||
531 | |||
532 | #define B2056_LNA1_A_PU 0x01 | ||
533 | #define B2056_LNA2_A_PU 0x02 | ||
534 | #define B2056_LNA1_G_PU 0x01 | ||
535 | #define B2056_LNA2_G_PU 0x02 | ||
536 | #define B2056_MIXA_PU_I 0x01 | ||
537 | #define B2056_MIXA_PU_Q 0x02 | ||
538 | #define B2056_MIXA_PU_GM 0x10 | ||
539 | #define B2056_MIXG_PU_I 0x01 | ||
540 | #define B2056_MIXG_PU_Q 0x02 | ||
541 | #define B2056_MIXG_PU_GM 0x10 | ||
542 | #define B2056_TIA_PU 0x01 | ||
543 | #define B2056_BB_LPF_PU 0x20 | ||
544 | #define B2056_W1_PU 0x02 | ||
545 | #define B2056_W2_PU 0x04 | ||
546 | #define B2056_NB_PU 0x08 | ||
547 | #define B2056_RSSI_W1_SEL 0x02 | ||
548 | #define B2056_RSSI_W2_SEL 0x04 | ||
549 | #define B2056_RSSI_NB_SEL 0x08 | ||
550 | #define B2056_VCM_MASK 0x1C | ||
551 | #define B2056_RSSI_VCM_SHIFT 0x02 | ||
552 | |||
553 | #define B2056_SYN (0x0 << 12) | ||
554 | #define B2056_TX0 (0x2 << 12) | ||
555 | #define B2056_TX1 (0x3 << 12) | ||
556 | #define B2056_RX0 (0x6 << 12) | ||
557 | #define B2056_RX1 (0x7 << 12) | ||
558 | #define B2056_ALLTX (0xE << 12) | ||
559 | #define B2056_ALLRX (0xF << 12) | ||
560 | |||
561 | #define B2056_SYN_RESERVED_ADDR0 0x00 | ||
562 | #define B2056_SYN_IDCODE 0x01 | ||
563 | #define B2056_SYN_RESERVED_ADDR2 0x02 | ||
564 | #define B2056_SYN_RESERVED_ADDR3 0x03 | ||
565 | #define B2056_SYN_RESERVED_ADDR4 0x04 | ||
566 | #define B2056_SYN_RESERVED_ADDR5 0x05 | ||
567 | #define B2056_SYN_RESERVED_ADDR6 0x06 | ||
568 | #define B2056_SYN_RESERVED_ADDR7 0x07 | ||
569 | #define B2056_SYN_COM_CTRL 0x08 | ||
570 | #define B2056_SYN_COM_PU 0x09 | ||
571 | #define B2056_SYN_COM_OVR 0x0A | ||
572 | #define B2056_SYN_COM_RESET 0x0B | ||
573 | #define B2056_SYN_COM_RCAL 0x0C | ||
574 | #define B2056_SYN_COM_RC_RXLPF 0x0D | ||
575 | #define B2056_SYN_COM_RC_TXLPF 0x0E | ||
576 | #define B2056_SYN_COM_RC_RXHPF 0x0F | ||
577 | #define B2056_SYN_RESERVED_ADDR16 0x10 | ||
578 | #define B2056_SYN_RESERVED_ADDR17 0x11 | ||
579 | #define B2056_SYN_RESERVED_ADDR18 0x12 | ||
580 | #define B2056_SYN_RESERVED_ADDR19 0x13 | ||
581 | #define B2056_SYN_RESERVED_ADDR20 0x14 | ||
582 | #define B2056_SYN_RESERVED_ADDR21 0x15 | ||
583 | #define B2056_SYN_RESERVED_ADDR22 0x16 | ||
584 | #define B2056_SYN_RESERVED_ADDR23 0x17 | ||
585 | #define B2056_SYN_RESERVED_ADDR24 0x18 | ||
586 | #define B2056_SYN_RESERVED_ADDR25 0x19 | ||
587 | #define B2056_SYN_RESERVED_ADDR26 0x1A | ||
588 | #define B2056_SYN_RESERVED_ADDR27 0x1B | ||
589 | #define B2056_SYN_RESERVED_ADDR28 0x1C | ||
590 | #define B2056_SYN_RESERVED_ADDR29 0x1D | ||
591 | #define B2056_SYN_RESERVED_ADDR30 0x1E | ||
592 | #define B2056_SYN_RESERVED_ADDR31 0x1F | ||
593 | #define B2056_SYN_GPIO_MASTER1 0x20 | ||
594 | #define B2056_SYN_GPIO_MASTER2 0x21 | ||
595 | #define B2056_SYN_TOPBIAS_MASTER 0x22 | ||
596 | #define B2056_SYN_TOPBIAS_RCAL 0x23 | ||
597 | #define B2056_SYN_AFEREG 0x24 | ||
598 | #define B2056_SYN_TEMPPROCSENSE 0x25 | ||
599 | #define B2056_SYN_TEMPPROCSENSEIDAC 0x26 | ||
600 | #define B2056_SYN_TEMPPROCSENSERCAL 0x27 | ||
601 | #define B2056_SYN_LPO 0x28 | ||
602 | #define B2056_SYN_VDDCAL_MASTER 0x29 | ||
603 | #define B2056_SYN_VDDCAL_IDAC 0x2A | ||
604 | #define B2056_SYN_VDDCAL_STATUS 0x2B | ||
605 | #define B2056_SYN_RCAL_MASTER 0x2C | ||
606 | #define B2056_SYN_RCAL_CODE_OUT 0x2D | ||
607 | #define B2056_SYN_RCCAL_CTRL0 0x2E | ||
608 | #define B2056_SYN_RCCAL_CTRL1 0x2F | ||
609 | #define B2056_SYN_RCCAL_CTRL2 0x30 | ||
610 | #define B2056_SYN_RCCAL_CTRL3 0x31 | ||
611 | #define B2056_SYN_RCCAL_CTRL4 0x32 | ||
612 | #define B2056_SYN_RCCAL_CTRL5 0x33 | ||
613 | #define B2056_SYN_RCCAL_CTRL6 0x34 | ||
614 | #define B2056_SYN_RCCAL_CTRL7 0x35 | ||
615 | #define B2056_SYN_RCCAL_CTRL8 0x36 | ||
616 | #define B2056_SYN_RCCAL_CTRL9 0x37 | ||
617 | #define B2056_SYN_RCCAL_CTRL10 0x38 | ||
618 | #define B2056_SYN_RCCAL_CTRL11 0x39 | ||
619 | #define B2056_SYN_ZCAL_SPARE1 0x3A | ||
620 | #define B2056_SYN_ZCAL_SPARE2 0x3B | ||
621 | #define B2056_SYN_PLL_MAST1 0x3C | ||
622 | #define B2056_SYN_PLL_MAST2 0x3D | ||
623 | #define B2056_SYN_PLL_MAST3 0x3E | ||
624 | #define B2056_SYN_PLL_BIAS_RESET 0x3F | ||
625 | #define B2056_SYN_PLL_XTAL0 0x40 | ||
626 | #define B2056_SYN_PLL_XTAL1 0x41 | ||
627 | #define B2056_SYN_PLL_XTAL3 0x42 | ||
628 | #define B2056_SYN_PLL_XTAL4 0x43 | ||
629 | #define B2056_SYN_PLL_XTAL5 0x44 | ||
630 | #define B2056_SYN_PLL_XTAL6 0x45 | ||
631 | #define B2056_SYN_PLL_REFDIV 0x46 | ||
632 | #define B2056_SYN_PLL_PFD 0x47 | ||
633 | #define B2056_SYN_PLL_CP1 0x48 | ||
634 | #define B2056_SYN_PLL_CP2 0x49 | ||
635 | #define B2056_SYN_PLL_CP3 0x4A | ||
636 | #define B2056_SYN_PLL_LOOPFILTER1 0x4B | ||
637 | #define B2056_SYN_PLL_LOOPFILTER2 0x4C | ||
638 | #define B2056_SYN_PLL_LOOPFILTER3 0x4D | ||
639 | #define B2056_SYN_PLL_LOOPFILTER4 0x4E | ||
640 | #define B2056_SYN_PLL_LOOPFILTER5 0x4F | ||
641 | #define B2056_SYN_PLL_MMD1 0x50 | ||
642 | #define B2056_SYN_PLL_MMD2 0x51 | ||
643 | #define B2056_SYN_PLL_VCO1 0x52 | ||
644 | #define B2056_SYN_PLL_VCO2 0x53 | ||
645 | #define B2056_SYN_PLL_MONITOR1 0x54 | ||
646 | #define B2056_SYN_PLL_MONITOR2 0x55 | ||
647 | #define B2056_SYN_PLL_VCOCAL1 0x56 | ||
648 | #define B2056_SYN_PLL_VCOCAL2 0x57 | ||
649 | #define B2056_SYN_PLL_VCOCAL4 0x58 | ||
650 | #define B2056_SYN_PLL_VCOCAL5 0x59 | ||
651 | #define B2056_SYN_PLL_VCOCAL6 0x5A | ||
652 | #define B2056_SYN_PLL_VCOCAL7 0x5B | ||
653 | #define B2056_SYN_PLL_VCOCAL8 0x5C | ||
654 | #define B2056_SYN_PLL_VCOCAL9 0x5D | ||
655 | #define B2056_SYN_PLL_VCOCAL10 0x5E | ||
656 | #define B2056_SYN_PLL_VCOCAL11 0x5F | ||
657 | #define B2056_SYN_PLL_VCOCAL12 0x60 | ||
658 | #define B2056_SYN_PLL_VCOCAL13 0x61 | ||
659 | #define B2056_SYN_PLL_VREG 0x62 | ||
660 | #define B2056_SYN_PLL_STATUS1 0x63 | ||
661 | #define B2056_SYN_PLL_STATUS2 0x64 | ||
662 | #define B2056_SYN_PLL_STATUS3 0x65 | ||
663 | #define B2056_SYN_LOGEN_PU0 0x66 | ||
664 | #define B2056_SYN_LOGEN_PU1 0x67 | ||
665 | #define B2056_SYN_LOGEN_PU2 0x68 | ||
666 | #define B2056_SYN_LOGEN_PU3 0x69 | ||
667 | #define B2056_SYN_LOGEN_PU5 0x6A | ||
668 | #define B2056_SYN_LOGEN_PU6 0x6B | ||
669 | #define B2056_SYN_LOGEN_PU7 0x6C | ||
670 | #define B2056_SYN_LOGEN_PU8 0x6D | ||
671 | #define B2056_SYN_LOGEN_BIAS_RESET 0x6E | ||
672 | #define B2056_SYN_LOGEN_RCCR1 0x6F | ||
673 | #define B2056_SYN_LOGEN_VCOBUF1 0x70 | ||
674 | #define B2056_SYN_LOGEN_MIXER1 0x71 | ||
675 | #define B2056_SYN_LOGEN_MIXER2 0x72 | ||
676 | #define B2056_SYN_LOGEN_BUF1 0x73 | ||
677 | #define B2056_SYN_LOGENBUF2 0x74 | ||
678 | #define B2056_SYN_LOGEN_BUF3 0x75 | ||
679 | #define B2056_SYN_LOGEN_BUF4 0x76 | ||
680 | #define B2056_SYN_LOGEN_DIV1 0x77 | ||
681 | #define B2056_SYN_LOGEN_DIV2 0x78 | ||
682 | #define B2056_SYN_LOGEN_DIV3 0x79 | ||
683 | #define B2056_SYN_LOGEN_ACL1 0x7A | ||
684 | #define B2056_SYN_LOGEN_ACL2 0x7B | ||
685 | #define B2056_SYN_LOGEN_ACL3 0x7C | ||
686 | #define B2056_SYN_LOGEN_ACL4 0x7D | ||
687 | #define B2056_SYN_LOGEN_ACL5 0x7E | ||
688 | #define B2056_SYN_LOGEN_ACL6 0x7F | ||
689 | #define B2056_SYN_LOGEN_ACLOUT 0x80 | ||
690 | #define B2056_SYN_LOGEN_ACLCAL1 0x81 | ||
691 | #define B2056_SYN_LOGEN_ACLCAL2 0x82 | ||
692 | #define B2056_SYN_LOGEN_ACLCAL3 0x83 | ||
693 | #define B2056_SYN_CALEN 0x84 | ||
694 | #define B2056_SYN_LOGEN_PEAKDET1 0x85 | ||
695 | #define B2056_SYN_LOGEN_CORE_ACL_OVR 0x86 | ||
696 | #define B2056_SYN_LOGEN_RX_DIFF_ACL_OVR 0x87 | ||
697 | #define B2056_SYN_LOGEN_TX_DIFF_ACL_OVR 0x88 | ||
698 | #define B2056_SYN_LOGEN_RX_CMOS_ACL_OVR 0x89 | ||
699 | #define B2056_SYN_LOGEN_TX_CMOS_ACL_OVR 0x8A | ||
700 | #define B2056_SYN_LOGEN_VCOBUF2 0x8B | ||
701 | #define B2056_SYN_LOGEN_MIXER3 0x8C | ||
702 | #define B2056_SYN_LOGEN_BUF5 0x8D | ||
703 | #define B2056_SYN_LOGEN_BUF6 0x8E | ||
704 | #define B2056_SYN_LOGEN_CBUFRX1 0x8F | ||
705 | #define B2056_SYN_LOGEN_CBUFRX2 0x90 | ||
706 | #define B2056_SYN_LOGEN_CBUFRX3 0x91 | ||
707 | #define B2056_SYN_LOGEN_CBUFRX4 0x92 | ||
708 | #define B2056_SYN_LOGEN_CBUFTX1 0x93 | ||
709 | #define B2056_SYN_LOGEN_CBUFTX2 0x94 | ||
710 | #define B2056_SYN_LOGEN_CBUFTX3 0x95 | ||
711 | #define B2056_SYN_LOGEN_CBUFTX4 0x96 | ||
712 | #define B2056_SYN_LOGEN_CMOSRX1 0x97 | ||
713 | #define B2056_SYN_LOGEN_CMOSRX2 0x98 | ||
714 | #define B2056_SYN_LOGEN_CMOSRX3 0x99 | ||
715 | #define B2056_SYN_LOGEN_CMOSRX4 0x9A | ||
716 | #define B2056_SYN_LOGEN_CMOSTX1 0x9B | ||
717 | #define B2056_SYN_LOGEN_CMOSTX2 0x9C | ||
718 | #define B2056_SYN_LOGEN_CMOSTX3 0x9D | ||
719 | #define B2056_SYN_LOGEN_CMOSTX4 0x9E | ||
720 | #define B2056_SYN_LOGEN_VCOBUF2_OVRVAL 0x9F | ||
721 | #define B2056_SYN_LOGEN_MIXER3_OVRVAL 0xA0 | ||
722 | #define B2056_SYN_LOGEN_BUF5_OVRVAL 0xA1 | ||
723 | #define B2056_SYN_LOGEN_BUF6_OVRVAL 0xA2 | ||
724 | #define B2056_SYN_LOGEN_CBUFRX1_OVRVAL 0xA3 | ||
725 | #define B2056_SYN_LOGEN_CBUFRX2_OVRVAL 0xA4 | ||
726 | #define B2056_SYN_LOGEN_CBUFRX3_OVRVAL 0xA5 | ||
727 | #define B2056_SYN_LOGEN_CBUFRX4_OVRVAL 0xA6 | ||
728 | #define B2056_SYN_LOGEN_CBUFTX1_OVRVAL 0xA7 | ||
729 | #define B2056_SYN_LOGEN_CBUFTX2_OVRVAL 0xA8 | ||
730 | #define B2056_SYN_LOGEN_CBUFTX3_OVRVAL 0xA9 | ||
731 | #define B2056_SYN_LOGEN_CBUFTX4_OVRVAL 0xAA | ||
732 | #define B2056_SYN_LOGEN_CMOSRX1_OVRVAL 0xAB | ||
733 | #define B2056_SYN_LOGEN_CMOSRX2_OVRVAL 0xAC | ||
734 | #define B2056_SYN_LOGEN_CMOSRX3_OVRVAL 0xAD | ||
735 | #define B2056_SYN_LOGEN_CMOSRX4_OVRVAL 0xAE | ||
736 | #define B2056_SYN_LOGEN_CMOSTX1_OVRVAL 0xAF | ||
737 | #define B2056_SYN_LOGEN_CMOSTX2_OVRVAL 0xB0 | ||
738 | #define B2056_SYN_LOGEN_CMOSTX3_OVRVAL 0xB1 | ||
739 | #define B2056_SYN_LOGEN_CMOSTX4_OVRVAL 0xB2 | ||
740 | #define B2056_SYN_LOGEN_ACL_WAITCNT 0xB3 | ||
741 | #define B2056_SYN_LOGEN_CORE_CALVALID 0xB4 | ||
742 | #define B2056_SYN_LOGEN_RX_CMOS_CALVALID 0xB5 | ||
743 | #define B2056_SYN_LOGEN_TX_CMOS_VALID 0xB6 | ||
744 | |||
745 | #define B2056_TX_RESERVED_ADDR0 0x00 | ||
746 | #define B2056_TX_IDCODE 0x01 | ||
747 | #define B2056_TX_RESERVED_ADDR2 0x02 | ||
748 | #define B2056_TX_RESERVED_ADDR3 0x03 | ||
749 | #define B2056_TX_RESERVED_ADDR4 0x04 | ||
750 | #define B2056_TX_RESERVED_ADDR5 0x05 | ||
751 | #define B2056_TX_RESERVED_ADDR6 0x06 | ||
752 | #define B2056_TX_RESERVED_ADDR7 0x07 | ||
753 | #define B2056_TX_COM_CTRL 0x08 | ||
754 | #define B2056_TX_COM_PU 0x09 | ||
755 | #define B2056_TX_COM_OVR 0x0A | ||
756 | #define B2056_TX_COM_RESET 0x0B | ||
757 | #define B2056_TX_COM_RCAL 0x0C | ||
758 | #define B2056_TX_COM_RC_RXLPF 0x0D | ||
759 | #define B2056_TX_COM_RC_TXLPF 0x0E | ||
760 | #define B2056_TX_COM_RC_RXHPF 0x0F | ||
761 | #define B2056_TX_RESERVED_ADDR16 0x10 | ||
762 | #define B2056_TX_RESERVED_ADDR17 0x11 | ||
763 | #define B2056_TX_RESERVED_ADDR18 0x12 | ||
764 | #define B2056_TX_RESERVED_ADDR19 0x13 | ||
765 | #define B2056_TX_RESERVED_ADDR20 0x14 | ||
766 | #define B2056_TX_RESERVED_ADDR21 0x15 | ||
767 | #define B2056_TX_RESERVED_ADDR22 0x16 | ||
768 | #define B2056_TX_RESERVED_ADDR23 0x17 | ||
769 | #define B2056_TX_RESERVED_ADDR24 0x18 | ||
770 | #define B2056_TX_RESERVED_ADDR25 0x19 | ||
771 | #define B2056_TX_RESERVED_ADDR26 0x1A | ||
772 | #define B2056_TX_RESERVED_ADDR27 0x1B | ||
773 | #define B2056_TX_RESERVED_ADDR28 0x1C | ||
774 | #define B2056_TX_RESERVED_ADDR29 0x1D | ||
775 | #define B2056_TX_RESERVED_ADDR30 0x1E | ||
776 | #define B2056_TX_RESERVED_ADDR31 0x1F | ||
777 | #define B2056_TX_IQCAL_GAIN_BW 0x20 | ||
778 | #define B2056_TX_LOFT_FINE_I 0x21 | ||
779 | #define B2056_TX_LOFT_FINE_Q 0x22 | ||
780 | #define B2056_TX_LOFT_COARSE_I 0x23 | ||
781 | #define B2056_TX_LOFT_COARSE_Q 0x24 | ||
782 | #define B2056_TX_TX_COM_MASTER1 0x25 | ||
783 | #define B2056_TX_TX_COM_MASTER2 0x26 | ||
784 | #define B2056_TX_RXIQCAL_TXMUX 0x27 | ||
785 | #define B2056_TX_TX_SSI_MASTER 0x28 | ||
786 | #define B2056_TX_IQCAL_VCM_HG 0x29 | ||
787 | #define B2056_TX_IQCAL_IDAC 0x2A | ||
788 | #define B2056_TX_TSSI_VCM 0x2B | ||
789 | #define B2056_TX_TX_AMP_DET 0x2C | ||
790 | #define B2056_TX_TX_SSI_MUX 0x2D | ||
791 | #define B2056_TX_TSSIA 0x2E | ||
792 | #define B2056_TX_TSSIG 0x2F | ||
793 | #define B2056_TX_TSSI_MISC1 0x30 | ||
794 | #define B2056_TX_TSSI_MISC2 0x31 | ||
795 | #define B2056_TX_TSSI_MISC3 0x32 | ||
796 | #define B2056_TX_PA_SPARE1 0x33 | ||
797 | #define B2056_TX_PA_SPARE2 0x34 | ||
798 | #define B2056_TX_INTPAA_MASTER 0x35 | ||
799 | #define B2056_TX_INTPAA_GAIN 0x36 | ||
800 | #define B2056_TX_INTPAA_BOOST_TUNE 0x37 | ||
801 | #define B2056_TX_INTPAA_IAUX_STAT 0x38 | ||
802 | #define B2056_TX_INTPAA_IAUX_DYN 0x39 | ||
803 | #define B2056_TX_INTPAA_IMAIN_STAT 0x3A | ||
804 | #define B2056_TX_INTPAA_IMAIN_DYN 0x3B | ||
805 | #define B2056_TX_INTPAA_CASCBIAS 0x3C | ||
806 | #define B2056_TX_INTPAA_PASLOPE 0x3D | ||
807 | #define B2056_TX_INTPAA_PA_MISC 0x3E | ||
808 | #define B2056_TX_INTPAG_MASTER 0x3F | ||
809 | #define B2056_TX_INTPAG_GAIN 0x40 | ||
810 | #define B2056_TX_INTPAG_BOOST_TUNE 0x41 | ||
811 | #define B2056_TX_INTPAG_IAUX_STAT 0x42 | ||
812 | #define B2056_TX_INTPAG_IAUX_DYN 0x43 | ||
813 | #define B2056_TX_INTPAG_IMAIN_STAT 0x44 | ||
814 | #define B2056_TX_INTPAG_IMAIN_DYN 0x45 | ||
815 | #define B2056_TX_INTPAG_CASCBIAS 0x46 | ||
816 | #define B2056_TX_INTPAG_PASLOPE 0x47 | ||
817 | #define B2056_TX_INTPAG_PA_MISC 0x48 | ||
818 | #define B2056_TX_PADA_MASTER 0x49 | ||
819 | #define B2056_TX_PADA_IDAC 0x4A | ||
820 | #define B2056_TX_PADA_CASCBIAS 0x4B | ||
821 | #define B2056_TX_PADA_GAIN 0x4C | ||
822 | #define B2056_TX_PADA_BOOST_TUNE 0x4D | ||
823 | #define B2056_TX_PADA_SLOPE 0x4E | ||
824 | #define B2056_TX_PADG_MASTER 0x4F | ||
825 | #define B2056_TX_PADG_IDAC 0x50 | ||
826 | #define B2056_TX_PADG_CASCBIAS 0x51 | ||
827 | #define B2056_TX_PADG_GAIN 0x52 | ||
828 | #define B2056_TX_PADG_BOOST_TUNE 0x53 | ||
829 | #define B2056_TX_PADG_SLOPE 0x54 | ||
830 | #define B2056_TX_PGAA_MASTER 0x55 | ||
831 | #define B2056_TX_PGAA_IDAC 0x56 | ||
832 | #define B2056_TX_PGAA_GAIN 0x57 | ||
833 | #define B2056_TX_PGAA_BOOST_TUNE 0x58 | ||
834 | #define B2056_TX_PGAA_SLOPE 0x59 | ||
835 | #define B2056_TX_PGAA_MISC 0x5A | ||
836 | #define B2056_TX_PGAG_MASTER 0x5B | ||
837 | #define B2056_TX_PGAG_IDAC 0x5C | ||
838 | #define B2056_TX_PGAG_GAIN 0x5D | ||
839 | #define B2056_TX_PGAG_BOOST_TUNE 0x5E | ||
840 | #define B2056_TX_PGAG_SLOPE 0x5F | ||
841 | #define B2056_TX_PGAG_MISC 0x60 | ||
842 | #define B2056_TX_MIXA_MASTER 0x61 | ||
843 | #define B2056_TX_MIXA_BOOST_TUNE 0x62 | ||
844 | #define B2056_TX_MIXG 0x63 | ||
845 | #define B2056_TX_MIXG_BOOST_TUNE 0x64 | ||
846 | #define B2056_TX_BB_GM_MASTER 0x65 | ||
847 | #define B2056_TX_GMBB_GM 0x66 | ||
848 | #define B2056_TX_GMBB_IDAC 0x67 | ||
849 | #define B2056_TX_TXLPF_MASTER 0x68 | ||
850 | #define B2056_TX_TXLPF_RCCAL 0x69 | ||
851 | #define B2056_TX_TXLPF_RCCAL_OFF0 0x6A | ||
852 | #define B2056_TX_TXLPF_RCCAL_OFF1 0x6B | ||
853 | #define B2056_TX_TXLPF_RCCAL_OFF2 0x6C | ||
854 | #define B2056_TX_TXLPF_RCCAL_OFF3 0x6D | ||
855 | #define B2056_TX_TXLPF_RCCAL_OFF4 0x6E | ||
856 | #define B2056_TX_TXLPF_RCCAL_OFF5 0x6F | ||
857 | #define B2056_TX_TXLPF_RCCAL_OFF6 0x70 | ||
858 | #define B2056_TX_TXLPF_BW 0x71 | ||
859 | #define B2056_TX_TXLPF_GAIN 0x72 | ||
860 | #define B2056_TX_TXLPF_IDAC 0x73 | ||
861 | #define B2056_TX_TXLPF_IDAC_0 0x74 | ||
862 | #define B2056_TX_TXLPF_IDAC_1 0x75 | ||
863 | #define B2056_TX_TXLPF_IDAC_2 0x76 | ||
864 | #define B2056_TX_TXLPF_IDAC_3 0x77 | ||
865 | #define B2056_TX_TXLPF_IDAC_4 0x78 | ||
866 | #define B2056_TX_TXLPF_IDAC_5 0x79 | ||
867 | #define B2056_TX_TXLPF_IDAC_6 0x7A | ||
868 | #define B2056_TX_TXLPF_OPAMP_IDAC 0x7B | ||
869 | #define B2056_TX_TXLPF_MISC 0x7C | ||
870 | #define B2056_TX_TXSPARE1 0x7D | ||
871 | #define B2056_TX_TXSPARE2 0x7E | ||
872 | #define B2056_TX_TXSPARE3 0x7F | ||
873 | #define B2056_TX_TXSPARE4 0x80 | ||
874 | #define B2056_TX_TXSPARE5 0x81 | ||
875 | #define B2056_TX_TXSPARE6 0x82 | ||
876 | #define B2056_TX_TXSPARE7 0x83 | ||
877 | #define B2056_TX_TXSPARE8 0x84 | ||
878 | #define B2056_TX_TXSPARE9 0x85 | ||
879 | #define B2056_TX_TXSPARE10 0x86 | ||
880 | #define B2056_TX_TXSPARE11 0x87 | ||
881 | #define B2056_TX_TXSPARE12 0x88 | ||
882 | #define B2056_TX_TXSPARE13 0x89 | ||
883 | #define B2056_TX_TXSPARE14 0x8A | ||
884 | #define B2056_TX_TXSPARE15 0x8B | ||
885 | #define B2056_TX_TXSPARE16 0x8C | ||
886 | #define B2056_TX_STATUS_INTPA_GAIN 0x8D | ||
887 | #define B2056_TX_STATUS_PAD_GAIN 0x8E | ||
888 | #define B2056_TX_STATUS_PGA_GAIN 0x8F | ||
889 | #define B2056_TX_STATUS_GM_TXLPF_GAIN 0x90 | ||
890 | #define B2056_TX_STATUS_TXLPF_BW 0x91 | ||
891 | #define B2056_TX_STATUS_TXLPF_RC 0x92 | ||
892 | #define B2056_TX_GMBB_IDAC0 0x93 | ||
893 | #define B2056_TX_GMBB_IDAC1 0x94 | ||
894 | #define B2056_TX_GMBB_IDAC2 0x95 | ||
895 | #define B2056_TX_GMBB_IDAC3 0x96 | ||
896 | #define B2056_TX_GMBB_IDAC4 0x97 | ||
897 | #define B2056_TX_GMBB_IDAC5 0x98 | ||
898 | #define B2056_TX_GMBB_IDAC6 0x99 | ||
899 | #define B2056_TX_GMBB_IDAC7 0x9A | ||
900 | |||
901 | #define B2056_RX_RESERVED_ADDR0 0x00 | ||
902 | #define B2056_RX_IDCODE 0x01 | ||
903 | #define B2056_RX_RESERVED_ADDR2 0x02 | ||
904 | #define B2056_RX_RESERVED_ADDR3 0x03 | ||
905 | #define B2056_RX_RESERVED_ADDR4 0x04 | ||
906 | #define B2056_RX_RESERVED_ADDR5 0x05 | ||
907 | #define B2056_RX_RESERVED_ADDR6 0x06 | ||
908 | #define B2056_RX_RESERVED_ADDR7 0x07 | ||
909 | #define B2056_RX_COM_CTRL 0x08 | ||
910 | #define B2056_RX_COM_PU 0x09 | ||
911 | #define B2056_RX_COM_OVR 0x0A | ||
912 | #define B2056_RX_COM_RESET 0x0B | ||
913 | #define B2056_RX_COM_RCAL 0x0C | ||
914 | #define B2056_RX_COM_RC_RXLPF 0x0D | ||
915 | #define B2056_RX_COM_RC_TXLPF 0x0E | ||
916 | #define B2056_RX_COM_RC_RXHPF 0x0F | ||
917 | #define B2056_RX_RESERVED_ADDR16 0x10 | ||
918 | #define B2056_RX_RESERVED_ADDR17 0x11 | ||
919 | #define B2056_RX_RESERVED_ADDR18 0x12 | ||
920 | #define B2056_RX_RESERVED_ADDR19 0x13 | ||
921 | #define B2056_RX_RESERVED_ADDR20 0x14 | ||
922 | #define B2056_RX_RESERVED_ADDR21 0x15 | ||
923 | #define B2056_RX_RESERVED_ADDR22 0x16 | ||
924 | #define B2056_RX_RESERVED_ADDR23 0x17 | ||
925 | #define B2056_RX_RESERVED_ADDR24 0x18 | ||
926 | #define B2056_RX_RESERVED_ADDR25 0x19 | ||
927 | #define B2056_RX_RESERVED_ADDR26 0x1A | ||
928 | #define B2056_RX_RESERVED_ADDR27 0x1B | ||
929 | #define B2056_RX_RESERVED_ADDR28 0x1C | ||
930 | #define B2056_RX_RESERVED_ADDR29 0x1D | ||
931 | #define B2056_RX_RESERVED_ADDR30 0x1E | ||
932 | #define B2056_RX_RESERVED_ADDR31 0x1F | ||
933 | #define B2056_RX_RXIQCAL_RXMUX 0x20 | ||
934 | #define B2056_RX_RSSI_PU 0x21 | ||
935 | #define B2056_RX_RSSI_SEL 0x22 | ||
936 | #define B2056_RX_RSSI_GAIN 0x23 | ||
937 | #define B2056_RX_RSSI_NB_IDAC 0x24 | ||
938 | #define B2056_RX_RSSI_WB2I_IDAC_1 0x25 | ||
939 | #define B2056_RX_RSSI_WB2I_IDAC_2 0x26 | ||
940 | #define B2056_RX_RSSI_WB2Q_IDAC_1 0x27 | ||
941 | #define B2056_RX_RSSI_WB2Q_IDAC_2 0x28 | ||
942 | #define B2056_RX_RSSI_POLE 0x29 | ||
943 | #define B2056_RX_RSSI_WB1_IDAC 0x2A | ||
944 | #define B2056_RX_RSSI_MISC 0x2B | ||
945 | #define B2056_RX_LNAA_MASTER 0x2C | ||
946 | #define B2056_RX_LNAA_TUNE 0x2D | ||
947 | #define B2056_RX_LNAA_GAIN 0x2E | ||
948 | #define B2056_RX_LNA_A_SLOPE 0x2F | ||
949 | #define B2056_RX_BIASPOLE_LNAA1_IDAC 0x30 | ||
950 | #define B2056_RX_LNAA2_IDAC 0x31 | ||
951 | #define B2056_RX_LNA1A_MISC 0x32 | ||
952 | #define B2056_RX_LNAG_MASTER 0x33 | ||
953 | #define B2056_RX_LNAG_TUNE 0x34 | ||
954 | #define B2056_RX_LNAG_GAIN 0x35 | ||
955 | #define B2056_RX_LNA_G_SLOPE 0x36 | ||
956 | #define B2056_RX_BIASPOLE_LNAG1_IDAC 0x37 | ||
957 | #define B2056_RX_LNAG2_IDAC 0x38 | ||
958 | #define B2056_RX_LNA1G_MISC 0x39 | ||
959 | #define B2056_RX_MIXA_MASTER 0x3A | ||
960 | #define B2056_RX_MIXA_VCM 0x3B | ||
961 | #define B2056_RX_MIXA_CTRLPTAT 0x3C | ||
962 | #define B2056_RX_MIXA_LOB_BIAS 0x3D | ||
963 | #define B2056_RX_MIXA_CORE_IDAC 0x3E | ||
964 | #define B2056_RX_MIXA_CMFB_IDAC 0x3F | ||
965 | #define B2056_RX_MIXA_BIAS_AUX 0x40 | ||
966 | #define B2056_RX_MIXA_BIAS_MAIN 0x41 | ||
967 | #define B2056_RX_MIXA_BIAS_MISC 0x42 | ||
968 | #define B2056_RX_MIXA_MAST_BIAS 0x43 | ||
969 | #define B2056_RX_MIXG_MASTER 0x44 | ||
970 | #define B2056_RX_MIXG_VCM 0x45 | ||
971 | #define B2056_RX_MIXG_CTRLPTAT 0x46 | ||
972 | #define B2056_RX_MIXG_LOB_BIAS 0x47 | ||
973 | #define B2056_RX_MIXG_CORE_IDAC 0x48 | ||
974 | #define B2056_RX_MIXG_CMFB_IDAC 0x49 | ||
975 | #define B2056_RX_MIXG_BIAS_AUX 0x4A | ||
976 | #define B2056_RX_MIXG_BIAS_MAIN 0x4B | ||
977 | #define B2056_RX_MIXG_BIAS_MISC 0x4C | ||
978 | #define B2056_RX_MIXG_MAST_BIAS 0x4D | ||
979 | #define B2056_RX_TIA_MASTER 0x4E | ||
980 | #define B2056_RX_TIA_IOPAMP 0x4F | ||
981 | #define B2056_RX_TIA_QOPAMP 0x50 | ||
982 | #define B2056_RX_TIA_IMISC 0x51 | ||
983 | #define B2056_RX_TIA_QMISC 0x52 | ||
984 | #define B2056_RX_TIA_GAIN 0x53 | ||
985 | #define B2056_RX_TIA_SPARE1 0x54 | ||
986 | #define B2056_RX_TIA_SPARE2 0x55 | ||
987 | #define B2056_RX_BB_LPF_MASTER 0x56 | ||
988 | #define B2056_RX_AACI_MASTER 0x57 | ||
989 | #define B2056_RX_RXLPF_IDAC 0x58 | ||
990 | #define B2056_RX_RXLPF_OPAMPBIAS_LOWQ 0x59 | ||
991 | #define B2056_RX_RXLPF_OPAMPBIAS_HIGHQ 0x5A | ||
992 | #define B2056_RX_RXLPF_BIAS_DCCANCEL 0x5B | ||
993 | #define B2056_RX_RXLPF_OUTVCM 0x5C | ||
994 | #define B2056_RX_RXLPF_INVCM_BODY 0x5D | ||
995 | #define B2056_RX_RXLPF_CC_OP 0x5E | ||
996 | #define B2056_RX_RXLPF_GAIN 0x5F | ||
997 | #define B2056_RX_RXLPF_Q_BW 0x60 | ||
998 | #define B2056_RX_RXLPF_HP_CORNER_BW 0x61 | ||
999 | #define B2056_RX_RXLPF_RCCAL_HPC 0x62 | ||
1000 | #define B2056_RX_RXHPF_OFF0 0x63 | ||
1001 | #define B2056_RX_RXHPF_OFF1 0x64 | ||
1002 | #define B2056_RX_RXHPF_OFF2 0x65 | ||
1003 | #define B2056_RX_RXHPF_OFF3 0x66 | ||
1004 | #define B2056_RX_RXHPF_OFF4 0x67 | ||
1005 | #define B2056_RX_RXHPF_OFF5 0x68 | ||
1006 | #define B2056_RX_RXHPF_OFF6 0x69 | ||
1007 | #define B2056_RX_RXHPF_OFF7 0x6A | ||
1008 | #define B2056_RX_RXLPF_RCCAL_LPC 0x6B | ||
1009 | #define B2056_RX_RXLPF_OFF_0 0x6C | ||
1010 | #define B2056_RX_RXLPF_OFF_1 0x6D | ||
1011 | #define B2056_RX_RXLPF_OFF_2 0x6E | ||
1012 | #define B2056_RX_RXLPF_OFF_3 0x6F | ||
1013 | #define B2056_RX_RXLPF_OFF_4 0x70 | ||
1014 | #define B2056_RX_UNUSED 0x71 | ||
1015 | #define B2056_RX_VGA_MASTER 0x72 | ||
1016 | #define B2056_RX_VGA_BIAS 0x73 | ||
1017 | #define B2056_RX_VGA_BIAS_DCCANCEL 0x74 | ||
1018 | #define B2056_RX_VGA_GAIN 0x75 | ||
1019 | #define B2056_RX_VGA_HP_CORNER_BW 0x76 | ||
1020 | #define B2056_RX_VGABUF_BIAS 0x77 | ||
1021 | #define B2056_RX_VGABUF_GAIN_BW 0x78 | ||
1022 | #define B2056_RX_TXFBMIX_A 0x79 | ||
1023 | #define B2056_RX_TXFBMIX_G 0x7A | ||
1024 | #define B2056_RX_RXSPARE1 0x7B | ||
1025 | #define B2056_RX_RXSPARE2 0x7C | ||
1026 | #define B2056_RX_RXSPARE3 0x7D | ||
1027 | #define B2056_RX_RXSPARE4 0x7E | ||
1028 | #define B2056_RX_RXSPARE5 0x7F | ||
1029 | #define B2056_RX_RXSPARE6 0x80 | ||
1030 | #define B2056_RX_RXSPARE7 0x81 | ||
1031 | #define B2056_RX_RXSPARE8 0x82 | ||
1032 | #define B2056_RX_RXSPARE9 0x83 | ||
1033 | #define B2056_RX_RXSPARE10 0x84 | ||
1034 | #define B2056_RX_RXSPARE11 0x85 | ||
1035 | #define B2056_RX_RXSPARE12 0x86 | ||
1036 | #define B2056_RX_RXSPARE13 0x87 | ||
1037 | #define B2056_RX_RXSPARE14 0x88 | ||
1038 | #define B2056_RX_RXSPARE15 0x89 | ||
1039 | #define B2056_RX_RXSPARE16 0x8A | ||
1040 | #define B2056_RX_STATUS_LNAA_GAIN 0x8B | ||
1041 | #define B2056_RX_STATUS_LNAG_GAIN 0x8C | ||
1042 | #define B2056_RX_STATUS_MIXTIA_GAIN 0x8D | ||
1043 | #define B2056_RX_STATUS_RXLPF_GAIN 0x8E | ||
1044 | #define B2056_RX_STATUS_VGA_BUF_GAIN 0x8F | ||
1045 | #define B2056_RX_STATUS_RXLPF_Q 0x90 | ||
1046 | #define B2056_RX_STATUS_RXLPF_BUF_BW 0x91 | ||
1047 | #define B2056_RX_STATUS_RXLPF_VGA_HPC 0x92 | ||
1048 | #define B2056_RX_STATUS_RXLPF_RC 0x93 | ||
1049 | #define B2056_RX_STATUS_HPC_RC 0x94 | ||
1050 | |||
1051 | #define B2056_LNA1_A_PU 0x01 | ||
1052 | #define B2056_LNA2_A_PU 0x02 | ||
1053 | #define B2056_LNA1_G_PU 0x01 | ||
1054 | #define B2056_LNA2_G_PU 0x02 | ||
1055 | #define B2056_MIXA_PU_I 0x01 | ||
1056 | #define B2056_MIXA_PU_Q 0x02 | ||
1057 | #define B2056_MIXA_PU_GM 0x10 | ||
1058 | #define B2056_MIXG_PU_I 0x01 | ||
1059 | #define B2056_MIXG_PU_Q 0x02 | ||
1060 | #define B2056_MIXG_PU_GM 0x10 | ||
1061 | #define B2056_TIA_PU 0x01 | ||
1062 | #define B2056_BB_LPF_PU 0x20 | ||
1063 | #define B2056_W1_PU 0x02 | ||
1064 | #define B2056_W2_PU 0x04 | ||
1065 | #define B2056_NB_PU 0x08 | ||
1066 | #define B2056_RSSI_W1_SEL 0x02 | ||
1067 | #define B2056_RSSI_W2_SEL 0x04 | ||
1068 | #define B2056_RSSI_NB_SEL 0x08 | ||
1069 | #define B2056_VCM_MASK 0x1C | ||
1070 | #define B2056_RSSI_VCM_SHIFT 0x02 | ||
1071 | |||
1072 | struct b43_nphy_channeltab_entry_rev3 { | ||
1073 | /* The channel frequency in MHz */ | ||
1074 | u16 freq; | ||
1075 | /* Radio register values on channelswitch */ | ||
1076 | u8 radio_syn_pll_vcocal1; | ||
1077 | u8 radio_syn_pll_vcocal2; | ||
1078 | u8 radio_syn_pll_refdiv; | ||
1079 | u8 radio_syn_pll_mmd2; | ||
1080 | u8 radio_syn_pll_mmd1; | ||
1081 | u8 radio_syn_pll_loopfilter1; | ||
1082 | u8 radio_syn_pll_loopfilter2; | ||
1083 | u8 radio_syn_pll_loopfilter3; | ||
1084 | u8 radio_syn_pll_loopfilter4; | ||
1085 | u8 radio_syn_pll_loopfilter5; | ||
1086 | u8 radio_syn_reserved_addr27; | ||
1087 | u8 radio_syn_reserved_addr28; | ||
1088 | u8 radio_syn_reserved_addr29; | ||
1089 | u8 radio_syn_logen_vcobuf1; | ||
1090 | u8 radio_syn_logen_mixer2; | ||
1091 | u8 radio_syn_logen_buf3; | ||
1092 | u8 radio_syn_logen_buf4; | ||
1093 | u8 radio_rx0_lnaa_tune; | ||
1094 | u8 radio_rx0_lnag_tune; | ||
1095 | u8 radio_tx0_intpaa_boost_tune; | ||
1096 | u8 radio_tx0_intpag_boost_tune; | ||
1097 | u8 radio_tx0_pada_boost_tune; | ||
1098 | u8 radio_tx0_padg_boost_tune; | ||
1099 | u8 radio_tx0_pgaa_boost_tune; | ||
1100 | u8 radio_tx0_pgag_boost_tune; | ||
1101 | u8 radio_tx0_mixa_boost_tune; | ||
1102 | u8 radio_tx0_mixg_boost_tune; | ||
1103 | u8 radio_rx1_lnaa_tune; | ||
1104 | u8 radio_rx1_lnag_tune; | ||
1105 | u8 radio_tx1_intpaa_boost_tune; | ||
1106 | u8 radio_tx1_intpag_boost_tune; | ||
1107 | u8 radio_tx1_pada_boost_tune; | ||
1108 | u8 radio_tx1_padg_boost_tune; | ||
1109 | u8 radio_tx1_pgaa_boost_tune; | ||
1110 | u8 radio_tx1_pgag_boost_tune; | ||
1111 | u8 radio_tx1_mixa_boost_tune; | ||
1112 | u8 radio_tx1_mixg_boost_tune; | ||
1113 | /* PHY register values on channelswitch */ | ||
1114 | struct b43_phy_n_sfo_cfg phy_regs; | ||
1115 | }; | ||
1116 | |||
1117 | void b2056_upload_inittabs(struct b43_wldev *dev, | ||
1118 | bool ghz5, bool ignore_uploadflag); | ||
1119 | |||
1120 | #endif /* B43_RADIO_2056_H_ */ | ||
diff --git a/drivers/net/wireless/b43/rfkill.c b/drivers/net/wireless/b43/rfkill.c index 78016ae21c50..a617efe38289 100644 --- a/drivers/net/wireless/b43/rfkill.c +++ b/drivers/net/wireless/b43/rfkill.c | |||
@@ -28,23 +28,8 @@ | |||
28 | /* Returns TRUE, if the radio is enabled in hardware. */ | 28 | /* Returns TRUE, if the radio is enabled in hardware. */ |
29 | bool b43_is_hw_radio_enabled(struct b43_wldev *dev) | 29 | bool b43_is_hw_radio_enabled(struct b43_wldev *dev) |
30 | { | 30 | { |
31 | if (dev->phy.rev >= 3 || dev->phy.type == B43_PHYTYPE_LP) { | 31 | return !(b43_read32(dev, B43_MMIO_RADIO_HWENABLED_HI) |
32 | if (!(b43_read32(dev, B43_MMIO_RADIO_HWENABLED_HI) | 32 | & B43_MMIO_RADIO_HWENABLED_HI_MASK); |
33 | & B43_MMIO_RADIO_HWENABLED_HI_MASK)) | ||
34 | return 1; | ||
35 | } else { | ||
36 | /* To prevent CPU fault on PPC, do not read a register | ||
37 | * unless the interface is started; however, on resume | ||
38 | * for hibernation, this routine is entered early. When | ||
39 | * that happens, unconditionally return TRUE. | ||
40 | */ | ||
41 | if (b43_status(dev) < B43_STAT_STARTED) | ||
42 | return 1; | ||
43 | if (b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO) | ||
44 | & B43_MMIO_RADIO_HWENABLED_LO_MASK) | ||
45 | return 1; | ||
46 | } | ||
47 | return 0; | ||
48 | } | 33 | } |
49 | 34 | ||
50 | /* The poll callback for the hardware button. */ | 35 | /* The poll callback for the hardware button. */ |
@@ -52,7 +37,7 @@ void b43_rfkill_poll(struct ieee80211_hw *hw) | |||
52 | { | 37 | { |
53 | struct b43_wl *wl = hw_to_b43_wl(hw); | 38 | struct b43_wl *wl = hw_to_b43_wl(hw); |
54 | struct b43_wldev *dev = wl->current_dev; | 39 | struct b43_wldev *dev = wl->current_dev; |
55 | struct ssb_bus *bus = dev->dev->bus; | 40 | struct ssb_bus *bus = dev->sdev->bus; |
56 | bool enabled; | 41 | bool enabled; |
57 | bool brought_up = false; | 42 | bool brought_up = false; |
58 | 43 | ||
@@ -62,7 +47,7 @@ void b43_rfkill_poll(struct ieee80211_hw *hw) | |||
62 | mutex_unlock(&wl->mutex); | 47 | mutex_unlock(&wl->mutex); |
63 | return; | 48 | return; |
64 | } | 49 | } |
65 | ssb_device_enable(dev->dev, 0); | 50 | ssb_device_enable(dev->sdev, 0); |
66 | brought_up = true; | 51 | brought_up = true; |
67 | } | 52 | } |
68 | 53 | ||
@@ -78,7 +63,7 @@ void b43_rfkill_poll(struct ieee80211_hw *hw) | |||
78 | } | 63 | } |
79 | 64 | ||
80 | if (brought_up) { | 65 | if (brought_up) { |
81 | ssb_device_disable(dev->dev, 0); | 66 | ssb_device_disable(dev->sdev, 0); |
82 | ssb_bus_may_powerdown(bus); | 67 | ssb_bus_may_powerdown(bus); |
83 | } | 68 | } |
84 | 69 | ||
diff --git a/drivers/net/wireless/b43/sdio.c b/drivers/net/wireless/b43/sdio.c index 45933cf8e8c2..808e25b79703 100644 --- a/drivers/net/wireless/b43/sdio.c +++ b/drivers/net/wireless/b43/sdio.c | |||
@@ -66,7 +66,7 @@ static void b43_sdio_interrupt_dispatcher(struct sdio_func *func) | |||
66 | int b43_sdio_request_irq(struct b43_wldev *dev, | 66 | int b43_sdio_request_irq(struct b43_wldev *dev, |
67 | void (*handler)(struct b43_wldev *dev)) | 67 | void (*handler)(struct b43_wldev *dev)) |
68 | { | 68 | { |
69 | struct ssb_bus *bus = dev->dev->bus; | 69 | struct ssb_bus *bus = dev->sdev->bus; |
70 | struct sdio_func *func = bus->host_sdio; | 70 | struct sdio_func *func = bus->host_sdio; |
71 | struct b43_sdio *sdio = sdio_get_drvdata(func); | 71 | struct b43_sdio *sdio = sdio_get_drvdata(func); |
72 | int err; | 72 | int err; |
@@ -82,7 +82,7 @@ int b43_sdio_request_irq(struct b43_wldev *dev, | |||
82 | 82 | ||
83 | void b43_sdio_free_irq(struct b43_wldev *dev) | 83 | void b43_sdio_free_irq(struct b43_wldev *dev) |
84 | { | 84 | { |
85 | struct ssb_bus *bus = dev->dev->bus; | 85 | struct ssb_bus *bus = dev->sdev->bus; |
86 | struct sdio_func *func = bus->host_sdio; | 86 | struct sdio_func *func = bus->host_sdio; |
87 | struct b43_sdio *sdio = sdio_get_drvdata(func); | 87 | struct b43_sdio *sdio = sdio_get_drvdata(func); |
88 | 88 | ||
@@ -163,6 +163,7 @@ static int b43_sdio_probe(struct sdio_func *func, | |||
163 | err_free_ssb: | 163 | err_free_ssb: |
164 | kfree(sdio); | 164 | kfree(sdio); |
165 | err_disable_func: | 165 | err_disable_func: |
166 | sdio_claim_host(func); | ||
166 | sdio_disable_func(func); | 167 | sdio_disable_func(func); |
167 | err_release_host: | 168 | err_release_host: |
168 | sdio_release_host(func); | 169 | sdio_release_host(func); |
@@ -175,7 +176,9 @@ static void b43_sdio_remove(struct sdio_func *func) | |||
175 | struct b43_sdio *sdio = sdio_get_drvdata(func); | 176 | struct b43_sdio *sdio = sdio_get_drvdata(func); |
176 | 177 | ||
177 | ssb_bus_unregister(&sdio->ssb); | 178 | ssb_bus_unregister(&sdio->ssb); |
179 | sdio_claim_host(func); | ||
178 | sdio_disable_func(func); | 180 | sdio_disable_func(func); |
181 | sdio_release_host(func); | ||
179 | kfree(sdio); | 182 | kfree(sdio); |
180 | sdio_set_drvdata(func, NULL); | 183 | sdio_set_drvdata(func, NULL); |
181 | } | 184 | } |
diff --git a/drivers/net/wireless/b43/sysfs.c b/drivers/net/wireless/b43/sysfs.c index f1ae4e05a32c..57af619725c3 100644 --- a/drivers/net/wireless/b43/sysfs.c +++ b/drivers/net/wireless/b43/sysfs.c | |||
@@ -140,7 +140,7 @@ static DEVICE_ATTR(interference, 0644, | |||
140 | 140 | ||
141 | int b43_sysfs_register(struct b43_wldev *wldev) | 141 | int b43_sysfs_register(struct b43_wldev *wldev) |
142 | { | 142 | { |
143 | struct device *dev = wldev->dev->dev; | 143 | struct device *dev = wldev->sdev->dev; |
144 | 144 | ||
145 | B43_WARN_ON(b43_status(wldev) != B43_STAT_INITIALIZED); | 145 | B43_WARN_ON(b43_status(wldev) != B43_STAT_INITIALIZED); |
146 | 146 | ||
@@ -149,7 +149,7 @@ int b43_sysfs_register(struct b43_wldev *wldev) | |||
149 | 149 | ||
150 | void b43_sysfs_unregister(struct b43_wldev *wldev) | 150 | void b43_sysfs_unregister(struct b43_wldev *wldev) |
151 | { | 151 | { |
152 | struct device *dev = wldev->dev->dev; | 152 | struct device *dev = wldev->sdev->dev; |
153 | 153 | ||
154 | device_remove_file(dev, &dev_attr_interference); | 154 | device_remove_file(dev, &dev_attr_interference); |
155 | } | 155 | } |
diff --git a/drivers/net/wireless/b43/tables_lpphy.c b/drivers/net/wireless/b43/tables_lpphy.c index 61027ee84fb5..59df3c64af63 100644 --- a/drivers/net/wireless/b43/tables_lpphy.c +++ b/drivers/net/wireless/b43/tables_lpphy.c | |||
@@ -2304,7 +2304,7 @@ void lpphy_rev0_1_table_init(struct b43_wldev *dev) | |||
2304 | 2304 | ||
2305 | void lpphy_rev2plus_table_init(struct b43_wldev *dev) | 2305 | void lpphy_rev2plus_table_init(struct b43_wldev *dev) |
2306 | { | 2306 | { |
2307 | struct ssb_bus *bus = dev->dev->bus; | 2307 | struct ssb_bus *bus = dev->sdev->bus; |
2308 | int i; | 2308 | int i; |
2309 | 2309 | ||
2310 | B43_WARN_ON(dev->phy.rev < 2); | 2310 | B43_WARN_ON(dev->phy.rev < 2); |
@@ -2416,7 +2416,7 @@ void lpphy_write_gain_table_bulk(struct b43_wldev *dev, int offset, int count, | |||
2416 | 2416 | ||
2417 | void lpphy_init_tx_gain_table(struct b43_wldev *dev) | 2417 | void lpphy_init_tx_gain_table(struct b43_wldev *dev) |
2418 | { | 2418 | { |
2419 | struct ssb_bus *bus = dev->dev->bus; | 2419 | struct ssb_bus *bus = dev->sdev->bus; |
2420 | 2420 | ||
2421 | switch (dev->phy.rev) { | 2421 | switch (dev->phy.rev) { |
2422 | case 0: | 2422 | case 0: |
diff --git a/drivers/net/wireless/b43/tables_nphy.c b/drivers/net/wireless/b43/tables_nphy.c index d96e870ab8fe..2de483b3d3ba 100644 --- a/drivers/net/wireless/b43/tables_nphy.c +++ b/drivers/net/wireless/b43/tables_nphy.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | 2 | ||
3 | Broadcom B43 wireless driver | 3 | Broadcom B43 wireless driver |
4 | IEEE 802.11n PHY and radio device data tables | 4 | IEEE 802.11n PHY data tables |
5 | 5 | ||
6 | Copyright (c) 2008 Michael Buesch <mb@bu3sch.de> | 6 | Copyright (c) 2008 Michael Buesch <mb@bu3sch.de> |
7 | 7 | ||
@@ -27,1351 +27,42 @@ | |||
27 | #include "phy_common.h" | 27 | #include "phy_common.h" |
28 | #include "phy_n.h" | 28 | #include "phy_n.h" |
29 | 29 | ||
30 | |||
31 | struct b2055_inittab_entry { | ||
32 | /* Value to write if we use the 5GHz band. */ | ||
33 | u16 ghz5; | ||
34 | /* Value to write if we use the 2.4GHz band. */ | ||
35 | u16 ghz2; | ||
36 | /* Flags */ | ||
37 | u8 flags; | ||
38 | #define B2055_INITTAB_ENTRY_OK 0x01 | ||
39 | #define B2055_INITTAB_UPLOAD 0x02 | ||
40 | }; | ||
41 | #define UPLOAD .flags = B2055_INITTAB_ENTRY_OK | B2055_INITTAB_UPLOAD | ||
42 | #define NOUPLOAD .flags = B2055_INITTAB_ENTRY_OK | ||
43 | |||
44 | static const struct b2055_inittab_entry b2055_inittab [] = { | ||
45 | [B2055_SP_PINPD] = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, }, | ||
46 | [B2055_C1_SP_RSSI] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
47 | [B2055_C1_SP_PDMISC] = { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, }, | ||
48 | [B2055_C2_SP_RSSI] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
49 | [B2055_C2_SP_PDMISC] = { .ghz5 = 0x0027, .ghz2 = 0x0027, NOUPLOAD, }, | ||
50 | [B2055_C1_SP_RXGC1] = { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, }, | ||
51 | [B2055_C1_SP_RXGC2] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
52 | [B2055_C2_SP_RXGC1] = { .ghz5 = 0x007F, .ghz2 = 0x007F, UPLOAD, }, | ||
53 | [B2055_C2_SP_RXGC2] = { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, | ||
54 | [B2055_C1_SP_LPFBWSEL] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
55 | [B2055_C2_SP_LPFBWSEL] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
56 | [B2055_C1_SP_TXGC1] = { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, }, | ||
57 | [B2055_C1_SP_TXGC2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, }, | ||
58 | [B2055_C2_SP_TXGC1] = { .ghz5 = 0x004F, .ghz2 = 0x004F, UPLOAD, }, | ||
59 | [B2055_C2_SP_TXGC2] = { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, }, | ||
60 | [B2055_MASTER1] = { .ghz5 = 0x00D0, .ghz2 = 0x00D0, NOUPLOAD, }, | ||
61 | [B2055_MASTER2] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
62 | [B2055_PD_LGEN] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
63 | [B2055_PD_PLLTS] = { .ghz5 = 0x0040, .ghz2 = 0x0040, NOUPLOAD, }, | ||
64 | [B2055_C1_PD_LGBUF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
65 | [B2055_C1_PD_TX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
66 | [B2055_C1_PD_RXTX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
67 | [B2055_C1_PD_RSSIMISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
68 | [B2055_C2_PD_LGBUF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
69 | [B2055_C2_PD_TX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
70 | [B2055_C2_PD_RXTX] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
71 | [B2055_C2_PD_RSSIMISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
72 | [B2055_PWRDET_LGEN] = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, }, | ||
73 | [B2055_C1_PWRDET_LGBUF] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, | ||
74 | [B2055_C1_PWRDET_RXTX] = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, }, | ||
75 | [B2055_C2_PWRDET_LGBUF] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, | ||
76 | [B2055_C2_PWRDET_RXTX] = { .ghz5 = 0x00C0, .ghz2 = 0x00C0, NOUPLOAD, }, | ||
77 | [B2055_RRCCAL_CS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
78 | [B2055_RRCCAL_NOPTSEL] = { .ghz5 = 0x002C, .ghz2 = 0x002C, NOUPLOAD, }, | ||
79 | [B2055_CAL_MISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
80 | [B2055_CAL_COUT] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
81 | [B2055_CAL_COUT2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
82 | [B2055_CAL_CVARCTL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
83 | [B2055_CAL_RVARCTL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
84 | [B2055_CAL_LPOCTL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
85 | [B2055_CAL_TS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
86 | [B2055_CAL_RCCALRTS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
87 | [B2055_CAL_RCALRTS] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
88 | [B2055_PADDRV] = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, }, | ||
89 | [B2055_XOCTL1] = { .ghz5 = 0x0038, .ghz2 = 0x0038, NOUPLOAD, }, | ||
90 | [B2055_XOCTL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
91 | [B2055_XOREGUL] = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, | ||
92 | [B2055_XOMISC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
93 | [B2055_PLL_LFC1] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, | ||
94 | [B2055_PLL_CALVTH] = { .ghz5 = 0x0087, .ghz2 = 0x0087, NOUPLOAD, }, | ||
95 | [B2055_PLL_LFC2] = { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, }, | ||
96 | [B2055_PLL_REF] = { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, }, | ||
97 | [B2055_PLL_LFR1] = { .ghz5 = 0x0011, .ghz2 = 0x0011, NOUPLOAD, }, | ||
98 | [B2055_PLL_PFDCP] = { .ghz5 = 0x0018, .ghz2 = 0x0018, UPLOAD, }, | ||
99 | [B2055_PLL_IDAC_CPOPAMP] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
100 | [B2055_PLL_CPREG] = { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, | ||
101 | [B2055_PLL_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
102 | [B2055_RF_PLLMOD0] = { .ghz5 = 0x009E, .ghz2 = 0x009E, NOUPLOAD, }, | ||
103 | [B2055_RF_PLLMOD1] = { .ghz5 = 0x0009, .ghz2 = 0x0009, NOUPLOAD, }, | ||
104 | [B2055_RF_MMDIDAC1] = { .ghz5 = 0x00C8, .ghz2 = 0x00C8, UPLOAD, }, | ||
105 | [B2055_RF_MMDIDAC0] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
106 | [B2055_RF_MMDSP] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
107 | [B2055_VCO_CAL1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
108 | [B2055_VCO_CAL2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
109 | [B2055_VCO_CAL3] = { .ghz5 = 0x0001, .ghz2 = 0x0001, NOUPLOAD, }, | ||
110 | [B2055_VCO_CAL4] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
111 | [B2055_VCO_CAL5] = { .ghz5 = 0x0096, .ghz2 = 0x0096, NOUPLOAD, }, | ||
112 | [B2055_VCO_CAL6] = { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, }, | ||
113 | [B2055_VCO_CAL7] = { .ghz5 = 0x003E, .ghz2 = 0x003E, NOUPLOAD, }, | ||
114 | [B2055_VCO_CAL8] = { .ghz5 = 0x0013, .ghz2 = 0x0013, NOUPLOAD, }, | ||
115 | [B2055_VCO_CAL9] = { .ghz5 = 0x0002, .ghz2 = 0x0002, NOUPLOAD, }, | ||
116 | [B2055_VCO_CAL10] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
117 | [B2055_VCO_CAL11] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
118 | [B2055_VCO_CAL12] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
119 | [B2055_VCO_CAL13] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
120 | [B2055_VCO_CAL14] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
121 | [B2055_VCO_CAL15] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
122 | [B2055_VCO_CAL16] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
123 | [B2055_VCO_KVCO] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
124 | [B2055_VCO_CAPTAIL] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
125 | [B2055_VCO_IDACVCO] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
126 | [B2055_VCO_REG] = { .ghz5 = 0x0084, .ghz2 = 0x0084, UPLOAD, }, | ||
127 | [B2055_PLL_RFVTH] = { .ghz5 = 0x00C3, .ghz2 = 0x00C3, NOUPLOAD, }, | ||
128 | [B2055_LGBUF_CENBUF] = { .ghz5 = 0x008F, .ghz2 = 0x008F, NOUPLOAD, }, | ||
129 | [B2055_LGEN_TUNE1] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, | ||
130 | [B2055_LGEN_TUNE2] = { .ghz5 = 0x00FF, .ghz2 = 0x00FF, NOUPLOAD, }, | ||
131 | [B2055_LGEN_IDAC1] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
132 | [B2055_LGEN_IDAC2] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
133 | [B2055_LGEN_BIASC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
134 | [B2055_LGEN_BIASIDAC] = { .ghz5 = 0x00CC, .ghz2 = 0x00CC, NOUPLOAD, }, | ||
135 | [B2055_LGEN_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
136 | [B2055_LGEN_DIV] = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, }, | ||
137 | [B2055_LGEN_SPARE2] = { .ghz5 = 0x0080, .ghz2 = 0x0080, NOUPLOAD, }, | ||
138 | [B2055_C1_LGBUF_ATUNE] = { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, }, | ||
139 | [B2055_C1_LGBUF_GTUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
140 | [B2055_C1_LGBUF_DIV] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
141 | [B2055_C1_LGBUF_AIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, }, | ||
142 | [B2055_C1_LGBUF_GIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
143 | [B2055_C1_LGBUF_IDACFO] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
144 | [B2055_C1_LGBUF_SPARE] = { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, }, | ||
145 | [B2055_C1_RX_RFSPC1] = { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, }, | ||
146 | [B2055_C1_RX_RFR1] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
147 | [B2055_C1_RX_RFR2] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, | ||
148 | [B2055_C1_RX_RFRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
149 | [B2055_C1_RX_BB_BLCMP] = { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, }, | ||
150 | [B2055_C1_RX_BB_LPF] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, | ||
151 | [B2055_C1_RX_BB_MIDACHP] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, | ||
152 | [B2055_C1_RX_BB_VGA1IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
153 | [B2055_C1_RX_BB_VGA2IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
154 | [B2055_C1_RX_BB_VGA3IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
155 | [B2055_C1_RX_BB_BUFOCTL] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
156 | [B2055_C1_RX_BB_RCCALCTL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
157 | [B2055_C1_RX_BB_RSSICTL1] = { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, }, | ||
158 | [B2055_C1_RX_BB_RSSICTL2] = { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, }, | ||
159 | [B2055_C1_RX_BB_RSSICTL3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, }, | ||
160 | [B2055_C1_RX_BB_RSSICTL4] = { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, }, | ||
161 | [B2055_C1_RX_BB_RSSICTL5] = { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, }, | ||
162 | [B2055_C1_RX_BB_REG] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, | ||
163 | [B2055_C1_RX_BB_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
164 | [B2055_C1_RX_TXBBRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
165 | [B2055_C1_TX_RF_SPGA] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
166 | [B2055_C1_TX_RF_SPAD] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
167 | [B2055_C1_TX_RF_CNTPGA1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
168 | [B2055_C1_TX_RF_CNTPAD1] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
169 | [B2055_C1_TX_RF_PGAIDAC] = { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, }, | ||
170 | [B2055_C1_TX_PGAPADTN] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
171 | [B2055_C1_TX_PADIDAC1] = { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, }, | ||
172 | [B2055_C1_TX_PADIDAC2] = { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, }, | ||
173 | [B2055_C1_TX_MXBGTRIM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
174 | [B2055_C1_TX_RF_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
175 | [B2055_C1_TX_RF_PADTSSI1] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, | ||
176 | [B2055_C1_TX_RF_PADTSSI2] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, | ||
177 | [B2055_C1_TX_RF_SPARE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, | ||
178 | [B2055_C1_TX_RF_IQCAL1] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
179 | [B2055_C1_TX_RF_IQCAL2] = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, }, | ||
180 | [B2055_C1_TXBB_RCCAL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
181 | [B2055_C1_TXBB_LPF1] = { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, }, | ||
182 | [B2055_C1_TX_VOSCNCL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
183 | [B2055_C1_TX_LPF_MXGMIDAC] = { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, }, | ||
184 | [B2055_C1_TX_BB_MXGM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
185 | [B2055_C2_LGBUF_ATUNE] = { .ghz5 = 0x00F8, .ghz2 = 0x00F8, NOUPLOAD, }, | ||
186 | [B2055_C2_LGBUF_GTUNE] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
187 | [B2055_C2_LGBUF_DIV] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
188 | [B2055_C2_LGBUF_AIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0008, UPLOAD, }, | ||
189 | [B2055_C2_LGBUF_GIDAC] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
190 | [B2055_C2_LGBUF_IDACFO] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
191 | [B2055_C2_LGBUF_SPARE] = { .ghz5 = 0x0001, .ghz2 = 0x0001, UPLOAD, }, | ||
192 | [B2055_C2_RX_RFSPC1] = { .ghz5 = 0x008A, .ghz2 = 0x008A, NOUPLOAD, }, | ||
193 | [B2055_C2_RX_RFR1] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
194 | [B2055_C2_RX_RFR2] = { .ghz5 = 0x0083, .ghz2 = 0x0083, NOUPLOAD, }, | ||
195 | [B2055_C2_RX_RFRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
196 | [B2055_C2_RX_BB_BLCMP] = { .ghz5 = 0x00A0, .ghz2 = 0x00A0, NOUPLOAD, }, | ||
197 | [B2055_C2_RX_BB_LPF] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, | ||
198 | [B2055_C2_RX_BB_MIDACHP] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, | ||
199 | [B2055_C2_RX_BB_VGA1IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
200 | [B2055_C2_RX_BB_VGA2IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
201 | [B2055_C2_RX_BB_VGA3IDAC] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
202 | [B2055_C2_RX_BB_BUFOCTL] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
203 | [B2055_C2_RX_BB_RCCALCTL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
204 | [B2055_C2_RX_BB_RSSICTL1] = { .ghz5 = 0x006A, .ghz2 = 0x006A, UPLOAD, }, | ||
205 | [B2055_C2_RX_BB_RSSICTL2] = { .ghz5 = 0x00AB, .ghz2 = 0x00AB, UPLOAD, }, | ||
206 | [B2055_C2_RX_BB_RSSICTL3] = { .ghz5 = 0x0013, .ghz2 = 0x0013, UPLOAD, }, | ||
207 | [B2055_C2_RX_BB_RSSICTL4] = { .ghz5 = 0x00C1, .ghz2 = 0x00C1, UPLOAD, }, | ||
208 | [B2055_C2_RX_BB_RSSICTL5] = { .ghz5 = 0x00AA, .ghz2 = 0x00AA, UPLOAD, }, | ||
209 | [B2055_C2_RX_BB_REG] = { .ghz5 = 0x0087, .ghz2 = 0x0087, UPLOAD, }, | ||
210 | [B2055_C2_RX_BB_SPARE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
211 | [B2055_C2_RX_TXBBRCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
212 | [B2055_C2_TX_RF_SPGA] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
213 | [B2055_C2_TX_RF_SPAD] = { .ghz5 = 0x0007, .ghz2 = 0x0007, NOUPLOAD, }, | ||
214 | [B2055_C2_TX_RF_CNTPGA1] = { .ghz5 = 0x0015, .ghz2 = 0x0015, NOUPLOAD, }, | ||
215 | [B2055_C2_TX_RF_CNTPAD1] = { .ghz5 = 0x0055, .ghz2 = 0x0055, NOUPLOAD, }, | ||
216 | [B2055_C2_TX_RF_PGAIDAC] = { .ghz5 = 0x0097, .ghz2 = 0x0097, UPLOAD, }, | ||
217 | [B2055_C2_TX_PGAPADTN] = { .ghz5 = 0x0008, .ghz2 = 0x0008, NOUPLOAD, }, | ||
218 | [B2055_C2_TX_PADIDAC1] = { .ghz5 = 0x0014, .ghz2 = 0x0014, UPLOAD, }, | ||
219 | [B2055_C2_TX_PADIDAC2] = { .ghz5 = 0x0033, .ghz2 = 0x0033, NOUPLOAD, }, | ||
220 | [B2055_C2_TX_MXBGTRIM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
221 | [B2055_C2_TX_RF_RCAL] = { .ghz5 = 0x0006, .ghz2 = 0x0006, NOUPLOAD, }, | ||
222 | [B2055_C2_TX_RF_PADTSSI1] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, | ||
223 | [B2055_C2_TX_RF_PADTSSI2] = { .ghz5 = 0x000A, .ghz2 = 0x000A, NOUPLOAD, }, | ||
224 | [B2055_C2_TX_RF_SPARE] = { .ghz5 = 0x0003, .ghz2 = 0x0003, UPLOAD, }, | ||
225 | [B2055_C2_TX_RF_IQCAL1] = { .ghz5 = 0x002A, .ghz2 = 0x002A, NOUPLOAD, }, | ||
226 | [B2055_C2_TX_RF_IQCAL2] = { .ghz5 = 0x00A4, .ghz2 = 0x00A4, NOUPLOAD, }, | ||
227 | [B2055_C2_TXBB_RCCAL] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
228 | [B2055_C2_TXBB_LPF1] = { .ghz5 = 0x0028, .ghz2 = 0x0028, NOUPLOAD, }, | ||
229 | [B2055_C2_TX_VOSCNCL] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
230 | [B2055_C2_TX_LPF_MXGMIDAC] = { .ghz5 = 0x004A, .ghz2 = 0x004A, NOUPLOAD, }, | ||
231 | [B2055_C2_TX_BB_MXGM] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
232 | [B2055_PRG_GCHP21] = { .ghz5 = 0x0071, .ghz2 = 0x0071, NOUPLOAD, }, | ||
233 | [B2055_PRG_GCHP22] = { .ghz5 = 0x0072, .ghz2 = 0x0072, NOUPLOAD, }, | ||
234 | [B2055_PRG_GCHP23] = { .ghz5 = 0x0073, .ghz2 = 0x0073, NOUPLOAD, }, | ||
235 | [B2055_PRG_GCHP24] = { .ghz5 = 0x0074, .ghz2 = 0x0074, NOUPLOAD, }, | ||
236 | [B2055_PRG_GCHP25] = { .ghz5 = 0x0075, .ghz2 = 0x0075, NOUPLOAD, }, | ||
237 | [B2055_PRG_GCHP26] = { .ghz5 = 0x0076, .ghz2 = 0x0076, NOUPLOAD, }, | ||
238 | [B2055_PRG_GCHP27] = { .ghz5 = 0x0077, .ghz2 = 0x0077, NOUPLOAD, }, | ||
239 | [B2055_PRG_GCHP28] = { .ghz5 = 0x0078, .ghz2 = 0x0078, NOUPLOAD, }, | ||
240 | [B2055_PRG_GCHP29] = { .ghz5 = 0x0079, .ghz2 = 0x0079, NOUPLOAD, }, | ||
241 | [B2055_PRG_GCHP30] = { .ghz5 = 0x007A, .ghz2 = 0x007A, NOUPLOAD, }, | ||
242 | [0xC7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
243 | [0xC8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
244 | [0xC9] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
245 | [0xCA] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
246 | [0xCB] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
247 | [0xCC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
248 | [B2055_C1_LNA_GAINBST] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
249 | [0xCE] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
250 | [0xCF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
251 | [0xD0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
252 | [0xD1] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
253 | [B2055_C1_B0NB_RSSIVCM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
254 | [0xD3] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
255 | [0xD4] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
256 | [0xD5] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
257 | [B2055_C1_GENSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
258 | [0xD7] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
259 | [0xD8] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
260 | [B2055_C2_LNA_GAINBST] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
261 | [0xDA] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
262 | [0xDB] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
263 | [0xDC] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
264 | [0xDD] = { .ghz5 = 0x0018, .ghz2 = 0x0018, NOUPLOAD, }, | ||
265 | [B2055_C2_B0NB_RSSIVCM] = { .ghz5 = 0x0088, .ghz2 = 0x0088, NOUPLOAD, }, | ||
266 | [0xDF] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
267 | [0xE0] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
268 | [0xE1] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
269 | [B2055_C2_GENSPARE2] = { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, | ||
270 | }; | ||
271 | |||
272 | |||
273 | void b2055_upload_inittab(struct b43_wldev *dev, | ||
274 | bool ghz5, bool ignore_uploadflag) | ||
275 | { | ||
276 | const struct b2055_inittab_entry *e; | ||
277 | unsigned int i; | ||
278 | u16 value; | ||
279 | |||
280 | for (i = 0; i < ARRAY_SIZE(b2055_inittab); i++) { | ||
281 | e = &(b2055_inittab[i]); | ||
282 | if (!(e->flags & B2055_INITTAB_ENTRY_OK)) | ||
283 | continue; | ||
284 | if ((e->flags & B2055_INITTAB_UPLOAD) || ignore_uploadflag) { | ||
285 | if (ghz5) | ||
286 | value = e->ghz5; | ||
287 | else | ||
288 | value = e->ghz2; | ||
289 | b43_radio_write16(dev, i, value); | ||
290 | } | ||
291 | } | ||
292 | } | ||
293 | |||
294 | |||
295 | #define RADIOREGS(r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, \ | ||
296 | r12, r13, r14, r15, r16, r17, r18, r19, r20, r21) \ | ||
297 | .radio_pll_ref = r0, \ | ||
298 | .radio_rf_pllmod0 = r1, \ | ||
299 | .radio_rf_pllmod1 = r2, \ | ||
300 | .radio_vco_captail = r3, \ | ||
301 | .radio_vco_cal1 = r4, \ | ||
302 | .radio_vco_cal2 = r5, \ | ||
303 | .radio_pll_lfc1 = r6, \ | ||
304 | .radio_pll_lfr1 = r7, \ | ||
305 | .radio_pll_lfc2 = r8, \ | ||
306 | .radio_lgbuf_cenbuf = r9, \ | ||
307 | .radio_lgen_tune1 = r10, \ | ||
308 | .radio_lgen_tune2 = r11, \ | ||
309 | .radio_c1_lgbuf_atune = r12, \ | ||
310 | .radio_c1_lgbuf_gtune = r13, \ | ||
311 | .radio_c1_rx_rfr1 = r14, \ | ||
312 | .radio_c1_tx_pgapadtn = r15, \ | ||
313 | .radio_c1_tx_mxbgtrim = r16, \ | ||
314 | .radio_c2_lgbuf_atune = r17, \ | ||
315 | .radio_c2_lgbuf_gtune = r18, \ | ||
316 | .radio_c2_rx_rfr1 = r19, \ | ||
317 | .radio_c2_tx_pgapadtn = r20, \ | ||
318 | .radio_c2_tx_mxbgtrim = r21 | ||
319 | |||
320 | #define PHYREGS(r0, r1, r2, r3, r4, r5) \ | ||
321 | .phy_regs.phy_bw1a = r0, \ | ||
322 | .phy_regs.phy_bw2 = r1, \ | ||
323 | .phy_regs.phy_bw3 = r2, \ | ||
324 | .phy_regs.phy_bw4 = r3, \ | ||
325 | .phy_regs.phy_bw5 = r4, \ | ||
326 | .phy_regs.phy_bw6 = r5 | ||
327 | |||
328 | static const struct b43_nphy_channeltab_entry_rev2 b43_nphy_channeltab[] = { | ||
329 | { .channel = 184, | ||
330 | .freq = 4920, /* MHz */ | ||
331 | .unk2 = 3280, | ||
332 | RADIOREGS(0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
333 | 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, | ||
334 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
335 | PHYREGS(0xB407, 0xB007, 0xAC07, 0x1402, 0x1502, 0x1602), | ||
336 | }, | ||
337 | { .channel = 186, | ||
338 | .freq = 4930, /* MHz */ | ||
339 | .unk2 = 3287, | ||
340 | RADIOREGS(0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
341 | 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, | ||
342 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
343 | PHYREGS(0xB807, 0xB407, 0xB007, 0x1302, 0x1402, 0x1502), | ||
344 | }, | ||
345 | { .channel = 188, | ||
346 | .freq = 4940, /* MHz */ | ||
347 | .unk2 = 3293, | ||
348 | RADIOREGS(0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
349 | 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, | ||
350 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
351 | PHYREGS(0xBC07, 0xB807, 0xB407, 0x1202, 0x1302, 0x1402), | ||
352 | }, | ||
353 | { .channel = 190, | ||
354 | .freq = 4950, /* MHz */ | ||
355 | .unk2 = 3300, | ||
356 | RADIOREGS(0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
357 | 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, | ||
358 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
359 | PHYREGS(0xC007, 0xBC07, 0xB807, 0x1102, 0x1202, 0x1302), | ||
360 | }, | ||
361 | { .channel = 192, | ||
362 | .freq = 4960, /* MHz */ | ||
363 | .unk2 = 3307, | ||
364 | RADIOREGS(0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
365 | 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, | ||
366 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
367 | PHYREGS(0xC407, 0xC007, 0xBC07, 0x0F02, 0x1102, 0x1202), | ||
368 | }, | ||
369 | { .channel = 194, | ||
370 | .freq = 4970, /* MHz */ | ||
371 | .unk2 = 3313, | ||
372 | RADIOREGS(0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A, | ||
373 | 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, | ||
374 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
375 | PHYREGS(0xC807, 0xC407, 0xC007, 0x0E02, 0x0F02, 0x1102), | ||
376 | }, | ||
377 | { .channel = 196, | ||
378 | .freq = 4980, /* MHz */ | ||
379 | .unk2 = 3320, | ||
380 | RADIOREGS(0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A, | ||
381 | 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, | ||
382 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
383 | PHYREGS(0xCC07, 0xC807, 0xC407, 0x0D02, 0x0E02, 0x0F02), | ||
384 | }, | ||
385 | { .channel = 198, | ||
386 | .freq = 4990, /* MHz */ | ||
387 | .unk2 = 3327, | ||
388 | RADIOREGS(0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A, | ||
389 | 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, | ||
390 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
391 | PHYREGS(0xD007, 0xCC07, 0xC807, 0x0C02, 0x0D02, 0x0E02), | ||
392 | }, | ||
393 | { .channel = 200, | ||
394 | .freq = 5000, /* MHz */ | ||
395 | .unk2 = 3333, | ||
396 | RADIOREGS(0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A, | ||
397 | 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, | ||
398 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
399 | PHYREGS(0xD407, 0xD007, 0xCC07, 0x0B02, 0x0C02, 0x0D02), | ||
400 | }, | ||
401 | { .channel = 202, | ||
402 | .freq = 5010, /* MHz */ | ||
403 | .unk2 = 3340, | ||
404 | RADIOREGS(0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A, | ||
405 | 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, | ||
406 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
407 | PHYREGS(0xD807, 0xD407, 0xD007, 0x0A02, 0x0B02, 0x0C02), | ||
408 | }, | ||
409 | { .channel = 204, | ||
410 | .freq = 5020, /* MHz */ | ||
411 | .unk2 = 3347, | ||
412 | RADIOREGS(0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A, | ||
413 | 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, | ||
414 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
415 | PHYREGS(0xDC07, 0xD807, 0xD407, 0x0902, 0x0A02, 0x0B02), | ||
416 | }, | ||
417 | { .channel = 206, | ||
418 | .freq = 5030, /* MHz */ | ||
419 | .unk2 = 3353, | ||
420 | RADIOREGS(0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A, | ||
421 | 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, | ||
422 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
423 | PHYREGS(0xE007, 0xDC07, 0xD807, 0x0802, 0x0902, 0x0A02), | ||
424 | }, | ||
425 | { .channel = 208, | ||
426 | .freq = 5040, /* MHz */ | ||
427 | .unk2 = 3360, | ||
428 | RADIOREGS(0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A, | ||
429 | 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, | ||
430 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
431 | PHYREGS(0xE407, 0xE007, 0xDC07, 0x0702, 0x0802, 0x0902), | ||
432 | }, | ||
433 | { .channel = 210, | ||
434 | .freq = 5050, /* MHz */ | ||
435 | .unk2 = 3367, | ||
436 | RADIOREGS(0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A, | ||
437 | 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, | ||
438 | 0x8F, 0xFF, 0x00, 0x0F, 0x0F, 0x8F), | ||
439 | PHYREGS(0xE807, 0xE407, 0xE007, 0x0602, 0x0702, 0x0802), | ||
440 | }, | ||
441 | { .channel = 212, | ||
442 | .freq = 5060, /* MHz */ | ||
443 | .unk2 = 3373, | ||
444 | RADIOREGS(0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A, | ||
445 | 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, | ||
446 | 0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E), | ||
447 | PHYREGS(0xEC07, 0xE807, 0xE407, 0x0502, 0x0602, 0x0702), | ||
448 | }, | ||
449 | { .channel = 214, | ||
450 | .freq = 5070, /* MHz */ | ||
451 | .unk2 = 3380, | ||
452 | RADIOREGS(0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A, | ||
453 | 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, | ||
454 | 0x8E, 0xFF, 0x00, 0x0E, 0x0F, 0x8E), | ||
455 | PHYREGS(0xF007, 0xEC07, 0xE807, 0x0402, 0x0502, 0x0602), | ||
456 | }, | ||
457 | { .channel = 216, | ||
458 | .freq = 5080, /* MHz */ | ||
459 | .unk2 = 3387, | ||
460 | RADIOREGS(0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A, | ||
461 | 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, | ||
462 | 0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D), | ||
463 | PHYREGS(0xF407, 0xF007, 0xEC07, 0x0302, 0x0402, 0x0502), | ||
464 | }, | ||
465 | { .channel = 218, | ||
466 | .freq = 5090, /* MHz */ | ||
467 | .unk2 = 3393, | ||
468 | RADIOREGS(0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A, | ||
469 | 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, | ||
470 | 0x8D, 0xEE, 0x00, 0x0E, 0x0F, 0x8D), | ||
471 | PHYREGS(0xF807, 0xF407, 0xF007, 0x0202, 0x0302, 0x0402), | ||
472 | }, | ||
473 | { .channel = 220, | ||
474 | .freq = 5100, /* MHz */ | ||
475 | .unk2 = 3400, | ||
476 | RADIOREGS(0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A, | ||
477 | 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, | ||
478 | 0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D), | ||
479 | PHYREGS(0xFC07, 0xF807, 0xF407, 0x0102, 0x0202, 0x0302), | ||
480 | }, | ||
481 | { .channel = 222, | ||
482 | .freq = 5110, /* MHz */ | ||
483 | .unk2 = 3407, | ||
484 | RADIOREGS(0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A, | ||
485 | 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, | ||
486 | 0x8D, 0xEE, 0x00, 0x0D, 0x0F, 0x8D), | ||
487 | PHYREGS(0x0008, 0xFC07, 0xF807, 0x0002, 0x0102, 0x0202), | ||
488 | }, | ||
489 | { .channel = 224, | ||
490 | .freq = 5120, /* MHz */ | ||
491 | .unk2 = 3413, | ||
492 | RADIOREGS(0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A, | ||
493 | 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, | ||
494 | 0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C), | ||
495 | PHYREGS(0x0408, 0x0008, 0xFC07, 0xFF01, 0x0002, 0x0102), | ||
496 | }, | ||
497 | { .channel = 226, | ||
498 | .freq = 5130, /* MHz */ | ||
499 | .unk2 = 3420, | ||
500 | RADIOREGS(0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A, | ||
501 | 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, | ||
502 | 0x8C, 0xDD, 0x00, 0x0D, 0x0F, 0x8C), | ||
503 | PHYREGS(0x0808, 0x0408, 0x0008, 0xFE01, 0xFF01, 0x0002), | ||
504 | }, | ||
505 | { .channel = 228, | ||
506 | .freq = 5140, /* MHz */ | ||
507 | .unk2 = 3427, | ||
508 | RADIOREGS(0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A, | ||
509 | 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, | ||
510 | 0x8B, 0xDD, 0x00, 0x0C, 0x0E, 0x8B), | ||
511 | PHYREGS(0x0C08, 0x0808, 0x0408, 0xFD01, 0xFE01, 0xFF01), | ||
512 | }, | ||
513 | { .channel = 32, | ||
514 | .freq = 5160, /* MHz */ | ||
515 | .unk2 = 3440, | ||
516 | RADIOREGS(0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A, | ||
517 | 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, | ||
518 | 0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A), | ||
519 | PHYREGS(0x1408, 0x1008, 0x0C08, 0xFB01, 0xFC01, 0xFD01), | ||
520 | }, | ||
521 | { .channel = 34, | ||
522 | .freq = 5170, /* MHz */ | ||
523 | .unk2 = 3447, | ||
524 | RADIOREGS(0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A, | ||
525 | 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, | ||
526 | 0x8A, 0xCC, 0x00, 0x0B, 0x0D, 0x8A), | ||
527 | PHYREGS(0x1808, 0x1408, 0x1008, 0xFA01, 0xFB01, 0xFC01), | ||
528 | }, | ||
529 | { .channel = 36, | ||
530 | .freq = 5180, /* MHz */ | ||
531 | .unk2 = 3453, | ||
532 | RADIOREGS(0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A, | ||
533 | 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, | ||
534 | 0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89), | ||
535 | PHYREGS(0x1C08, 0x1808, 0x1408, 0xF901, 0xFA01, 0xFB01), | ||
536 | }, | ||
537 | { .channel = 38, | ||
538 | .freq = 5190, /* MHz */ | ||
539 | .unk2 = 3460, | ||
540 | RADIOREGS(0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A, | ||
541 | 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, | ||
542 | 0x89, 0xCC, 0x00, 0x0B, 0x0C, 0x89), | ||
543 | PHYREGS(0x2008, 0x1C08, 0x1808, 0xF801, 0xF901, 0xFA01), | ||
544 | }, | ||
545 | { .channel = 40, | ||
546 | .freq = 5200, /* MHz */ | ||
547 | .unk2 = 3467, | ||
548 | RADIOREGS(0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A, | ||
549 | 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, | ||
550 | 0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89), | ||
551 | PHYREGS(0x2408, 0x2008, 0x1C08, 0xF701, 0xF801, 0xF901), | ||
552 | }, | ||
553 | { .channel = 42, | ||
554 | .freq = 5210, /* MHz */ | ||
555 | .unk2 = 3473, | ||
556 | RADIOREGS(0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A, | ||
557 | 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, | ||
558 | 0x89, 0xBB, 0x00, 0x0A, 0x0B, 0x89), | ||
559 | PHYREGS(0x2808, 0x2408, 0x2008, 0xF601, 0xF701, 0xF801), | ||
560 | }, | ||
561 | { .channel = 44, | ||
562 | .freq = 5220, /* MHz */ | ||
563 | .unk2 = 3480, | ||
564 | RADIOREGS(0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A, | ||
565 | 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, | ||
566 | 0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88), | ||
567 | PHYREGS(0x2C08, 0x2808, 0x2408, 0xF501, 0xF601, 0xF701), | ||
568 | }, | ||
569 | { .channel = 46, | ||
570 | .freq = 5230, /* MHz */ | ||
571 | .unk2 = 3487, | ||
572 | RADIOREGS(0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A, | ||
573 | 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, | ||
574 | 0x88, 0xBB, 0x00, 0x09, 0x0A, 0x88), | ||
575 | PHYREGS(0x3008, 0x2C08, 0x2808, 0xF401, 0xF501, 0xF601), | ||
576 | }, | ||
577 | { .channel = 48, | ||
578 | .freq = 5240, /* MHz */ | ||
579 | .unk2 = 3493, | ||
580 | RADIOREGS(0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A, | ||
581 | 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, | ||
582 | 0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87), | ||
583 | PHYREGS(0x3408, 0x3008, 0x2C08, 0xF301, 0xF401, 0xF501), | ||
584 | }, | ||
585 | { .channel = 50, | ||
586 | .freq = 5250, /* MHz */ | ||
587 | .unk2 = 3500, | ||
588 | RADIOREGS(0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A, | ||
589 | 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, | ||
590 | 0x87, 0xAA, 0x00, 0x09, 0x0A, 0x87), | ||
591 | PHYREGS(0x3808, 0x3408, 0x3008, 0xF201, 0xF301, 0xF401), | ||
592 | }, | ||
593 | { .channel = 52, | ||
594 | .freq = 5260, /* MHz */ | ||
595 | .unk2 = 3507, | ||
596 | RADIOREGS(0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A, | ||
597 | 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, | ||
598 | 0x87, 0xAA, 0x00, 0x08, 0x09, 0x87), | ||
599 | PHYREGS(0x3C08, 0x3808, 0x3408, 0xF101, 0xF201, 0xF301), | ||
600 | }, | ||
601 | { .channel = 54, | ||
602 | .freq = 5270, /* MHz */ | ||
603 | .unk2 = 3513, | ||
604 | RADIOREGS(0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A, | ||
605 | 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, | ||
606 | 0x87, 0xAA, 0x00, 0x08, 0x09, 0x87), | ||
607 | PHYREGS(0x4008, 0x3C08, 0x3808, 0xF001, 0xF101, 0xF201), | ||
608 | }, | ||
609 | { .channel = 56, | ||
610 | .freq = 5280, /* MHz */ | ||
611 | .unk2 = 3520, | ||
612 | RADIOREGS(0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A, | ||
613 | 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, | ||
614 | 0x86, 0x99, 0x00, 0x08, 0x08, 0x86), | ||
615 | PHYREGS(0x4408, 0x4008, 0x3C08, 0xF001, 0xF001, 0xF101), | ||
616 | }, | ||
617 | { .channel = 58, | ||
618 | .freq = 5290, /* MHz */ | ||
619 | .unk2 = 3527, | ||
620 | RADIOREGS(0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A, | ||
621 | 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, | ||
622 | 0x86, 0x99, 0x00, 0x08, 0x08, 0x86), | ||
623 | PHYREGS(0x4808, 0x4408, 0x4008, 0xEF01, 0xF001, 0xF001), | ||
624 | }, | ||
625 | { .channel = 60, | ||
626 | .freq = 5300, /* MHz */ | ||
627 | .unk2 = 3533, | ||
628 | RADIOREGS(0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A, | ||
629 | 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, | ||
630 | 0x85, 0x99, 0x00, 0x08, 0x07, 0x85), | ||
631 | PHYREGS(0x4C08, 0x4808, 0x4408, 0xEE01, 0xEF01, 0xF001), | ||
632 | }, | ||
633 | { .channel = 62, | ||
634 | .freq = 5310, /* MHz */ | ||
635 | .unk2 = 3540, | ||
636 | RADIOREGS(0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A, | ||
637 | 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, | ||
638 | 0x85, 0x99, 0x00, 0x08, 0x07, 0x85), | ||
639 | PHYREGS(0x5008, 0x4C08, 0x4808, 0xED01, 0xEE01, 0xEF01), | ||
640 | }, | ||
641 | { .channel = 64, | ||
642 | .freq = 5320, /* MHz */ | ||
643 | .unk2 = 3547, | ||
644 | RADIOREGS(0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A, | ||
645 | 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, | ||
646 | 0x84, 0x88, 0x00, 0x07, 0x07, 0x84), | ||
647 | PHYREGS(0x5408, 0x5008, 0x4C08, 0xEC01, 0xED01, 0xEE01), | ||
648 | }, | ||
649 | { .channel = 66, | ||
650 | .freq = 5330, /* MHz */ | ||
651 | .unk2 = 3553, | ||
652 | RADIOREGS(0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A, | ||
653 | 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, | ||
654 | 0x84, 0x88, 0x00, 0x07, 0x07, 0x84), | ||
655 | PHYREGS(0x5808, 0x5408, 0x5008, 0xEB01, 0xEC01, 0xED01), | ||
656 | }, | ||
657 | { .channel = 68, | ||
658 | .freq = 5340, /* MHz */ | ||
659 | .unk2 = 3560, | ||
660 | RADIOREGS(0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A, | ||
661 | 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, | ||
662 | 0x84, 0x88, 0x00, 0x07, 0x06, 0x84), | ||
663 | PHYREGS(0x5C08, 0x5808, 0x5408, 0xEA01, 0xEB01, 0xEC01), | ||
664 | }, | ||
665 | { .channel = 70, | ||
666 | .freq = 5350, /* MHz */ | ||
667 | .unk2 = 3567, | ||
668 | RADIOREGS(0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A, | ||
669 | 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, | ||
670 | 0x84, 0x88, 0x00, 0x07, 0x06, 0x84), | ||
671 | PHYREGS(0x6008, 0x5C08, 0x5808, 0xE901, 0xEA01, 0xEB01), | ||
672 | }, | ||
673 | { .channel = 72, | ||
674 | .freq = 5360, /* MHz */ | ||
675 | .unk2 = 3573, | ||
676 | RADIOREGS(0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A, | ||
677 | 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, | ||
678 | 0x83, 0x77, 0x00, 0x06, 0x05, 0x83), | ||
679 | PHYREGS(0x6408, 0x6008, 0x5C08, 0xE801, 0xE901, 0xEA01), | ||
680 | }, | ||
681 | { .channel = 74, | ||
682 | .freq = 5370, /* MHz */ | ||
683 | .unk2 = 3580, | ||
684 | RADIOREGS(0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A, | ||
685 | 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, | ||
686 | 0x83, 0x77, 0x00, 0x06, 0x05, 0x83), | ||
687 | PHYREGS(0x6808, 0x6408, 0x6008, 0xE701, 0xE801, 0xE901), | ||
688 | }, | ||
689 | { .channel = 76, | ||
690 | .freq = 5380, /* MHz */ | ||
691 | .unk2 = 3587, | ||
692 | RADIOREGS(0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A, | ||
693 | 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, | ||
694 | 0x82, 0x77, 0x00, 0x06, 0x04, 0x82), | ||
695 | PHYREGS(0x6C08, 0x6808, 0x6408, 0xE601, 0xE701, 0xE801), | ||
696 | }, | ||
697 | { .channel = 78, | ||
698 | .freq = 5390, /* MHz */ | ||
699 | .unk2 = 3593, | ||
700 | RADIOREGS(0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A, | ||
701 | 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, | ||
702 | 0x82, 0x77, 0x00, 0x06, 0x04, 0x82), | ||
703 | PHYREGS(0x7008, 0x6C08, 0x6808, 0xE501, 0xE601, 0xE701), | ||
704 | }, | ||
705 | { .channel = 80, | ||
706 | .freq = 5400, /* MHz */ | ||
707 | .unk2 = 3600, | ||
708 | RADIOREGS(0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A, | ||
709 | 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, | ||
710 | 0x81, 0x66, 0x00, 0x05, 0x04, 0x81), | ||
711 | PHYREGS(0x7408, 0x7008, 0x6C08, 0xE501, 0xE501, 0xE601), | ||
712 | }, | ||
713 | { .channel = 82, | ||
714 | .freq = 5410, /* MHz */ | ||
715 | .unk2 = 3607, | ||
716 | RADIOREGS(0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A, | ||
717 | 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, | ||
718 | 0x81, 0x66, 0x00, 0x05, 0x04, 0x81), | ||
719 | PHYREGS(0x7808, 0x7408, 0x7008, 0xE401, 0xE501, 0xE501), | ||
720 | }, | ||
721 | { .channel = 84, | ||
722 | .freq = 5420, /* MHz */ | ||
723 | .unk2 = 3613, | ||
724 | RADIOREGS(0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A, | ||
725 | 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, | ||
726 | 0x80, 0x66, 0x00, 0x05, 0x03, 0x80), | ||
727 | PHYREGS(0x7C08, 0x7808, 0x7408, 0xE301, 0xE401, 0xE501), | ||
728 | }, | ||
729 | { .channel = 86, | ||
730 | .freq = 5430, /* MHz */ | ||
731 | .unk2 = 3620, | ||
732 | RADIOREGS(0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A, | ||
733 | 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, | ||
734 | 0x80, 0x66, 0x00, 0x05, 0x03, 0x80), | ||
735 | PHYREGS(0x8008, 0x7C08, 0x7808, 0xE201, 0xE301, 0xE401), | ||
736 | }, | ||
737 | { .channel = 88, | ||
738 | .freq = 5440, /* MHz */ | ||
739 | .unk2 = 3627, | ||
740 | RADIOREGS(0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A, | ||
741 | 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, | ||
742 | 0x80, 0x55, 0x00, 0x04, 0x02, 0x80), | ||
743 | PHYREGS(0x8408, 0x8008, 0x7C08, 0xE101, 0xE201, 0xE301), | ||
744 | }, | ||
745 | { .channel = 90, | ||
746 | .freq = 5450, /* MHz */ | ||
747 | .unk2 = 3633, | ||
748 | RADIOREGS(0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A, | ||
749 | 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, | ||
750 | 0x80, 0x55, 0x00, 0x04, 0x02, 0x80), | ||
751 | PHYREGS(0x8808, 0x8408, 0x8008, 0xE001, 0xE101, 0xE201), | ||
752 | }, | ||
753 | { .channel = 92, | ||
754 | .freq = 5460, /* MHz */ | ||
755 | .unk2 = 3640, | ||
756 | RADIOREGS(0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A, | ||
757 | 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, | ||
758 | 0x80, 0x55, 0x00, 0x04, 0x01, 0x80), | ||
759 | PHYREGS(0x8C08, 0x8808, 0x8408, 0xDF01, 0xE001, 0xE101), | ||
760 | }, | ||
761 | { .channel = 94, | ||
762 | .freq = 5470, /* MHz */ | ||
763 | .unk2 = 3647, | ||
764 | RADIOREGS(0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A, | ||
765 | 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, | ||
766 | 0x80, 0x55, 0x00, 0x04, 0x01, 0x80), | ||
767 | PHYREGS(0x9008, 0x8C08, 0x8808, 0xDE01, 0xDF01, 0xE001), | ||
768 | }, | ||
769 | { .channel = 96, | ||
770 | .freq = 5480, /* MHz */ | ||
771 | .unk2 = 3653, | ||
772 | RADIOREGS(0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A, | ||
773 | 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, | ||
774 | 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), | ||
775 | PHYREGS(0x9408, 0x9008, 0x8C08, 0xDD01, 0xDE01, 0xDF01), | ||
776 | }, | ||
777 | { .channel = 98, | ||
778 | .freq = 5490, /* MHz */ | ||
779 | .unk2 = 3660, | ||
780 | RADIOREGS(0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A, | ||
781 | 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, | ||
782 | 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), | ||
783 | PHYREGS(0x9808, 0x9408, 0x9008, 0xDD01, 0xDD01, 0xDE01), | ||
784 | }, | ||
785 | { .channel = 100, | ||
786 | .freq = 5500, /* MHz */ | ||
787 | .unk2 = 3667, | ||
788 | RADIOREGS(0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A, | ||
789 | 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, | ||
790 | 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), | ||
791 | PHYREGS(0x9C08, 0x9808, 0x9408, 0xDC01, 0xDD01, 0xDD01), | ||
792 | }, | ||
793 | { .channel = 102, | ||
794 | .freq = 5510, /* MHz */ | ||
795 | .unk2 = 3673, | ||
796 | RADIOREGS(0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A, | ||
797 | 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, | ||
798 | 0x80, 0x44, 0x00, 0x03, 0x00, 0x80), | ||
799 | PHYREGS(0xA008, 0x9C08, 0x9808, 0xDB01, 0xDC01, 0xDD01), | ||
800 | }, | ||
801 | { .channel = 104, | ||
802 | .freq = 5520, /* MHz */ | ||
803 | .unk2 = 3680, | ||
804 | RADIOREGS(0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A, | ||
805 | 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, | ||
806 | 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), | ||
807 | PHYREGS(0xA408, 0xA008, 0x9C08, 0xDA01, 0xDB01, 0xDC01), | ||
808 | }, | ||
809 | { .channel = 106, | ||
810 | .freq = 5530, /* MHz */ | ||
811 | .unk2 = 3687, | ||
812 | RADIOREGS(0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A, | ||
813 | 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, | ||
814 | 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), | ||
815 | PHYREGS(0xA808, 0xA408, 0xA008, 0xD901, 0xDA01, 0xDB01), | ||
816 | }, | ||
817 | { .channel = 108, | ||
818 | .freq = 5540, /* MHz */ | ||
819 | .unk2 = 3693, | ||
820 | RADIOREGS(0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A, | ||
821 | 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, | ||
822 | 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), | ||
823 | PHYREGS(0xAC08, 0xA808, 0xA408, 0xD801, 0xD901, 0xDA01), | ||
824 | }, | ||
825 | { .channel = 110, | ||
826 | .freq = 5550, /* MHz */ | ||
827 | .unk2 = 3700, | ||
828 | RADIOREGS(0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A, | ||
829 | 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, | ||
830 | 0x80, 0x33, 0x00, 0x02, 0x00, 0x80), | ||
831 | PHYREGS(0xB008, 0xAC08, 0xA808, 0xD701, 0xD801, 0xD901), | ||
832 | }, | ||
833 | { .channel = 112, | ||
834 | .freq = 5560, /* MHz */ | ||
835 | .unk2 = 3707, | ||
836 | RADIOREGS(0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A, | ||
837 | 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, | ||
838 | 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), | ||
839 | PHYREGS(0xB408, 0xB008, 0xAC08, 0xD701, 0xD701, 0xD801), | ||
840 | }, | ||
841 | { .channel = 114, | ||
842 | .freq = 5570, /* MHz */ | ||
843 | .unk2 = 3713, | ||
844 | RADIOREGS(0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A, | ||
845 | 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, | ||
846 | 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), | ||
847 | PHYREGS(0xB808, 0xB408, 0xB008, 0xD601, 0xD701, 0xD701), | ||
848 | }, | ||
849 | { .channel = 116, | ||
850 | .freq = 5580, /* MHz */ | ||
851 | .unk2 = 3720, | ||
852 | RADIOREGS(0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A, | ||
853 | 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, | ||
854 | 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), | ||
855 | PHYREGS(0xBC08, 0xB808, 0xB408, 0xD501, 0xD601, 0xD701), | ||
856 | }, | ||
857 | { .channel = 118, | ||
858 | .freq = 5590, /* MHz */ | ||
859 | .unk2 = 3727, | ||
860 | RADIOREGS(0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A, | ||
861 | 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, | ||
862 | 0x80, 0x22, 0x00, 0x01, 0x00, 0x80), | ||
863 | PHYREGS(0xC008, 0xBC08, 0xB808, 0xD401, 0xD501, 0xD601), | ||
864 | }, | ||
865 | { .channel = 120, | ||
866 | .freq = 5600, /* MHz */ | ||
867 | .unk2 = 3733, | ||
868 | RADIOREGS(0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A, | ||
869 | 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, | ||
870 | 0x80, 0x11, 0x00, 0x01, 0x00, 0x80), | ||
871 | PHYREGS(0xC408, 0xC008, 0xBC08, 0xD301, 0xD401, 0xD501), | ||
872 | }, | ||
873 | { .channel = 122, | ||
874 | .freq = 5610, /* MHz */ | ||
875 | .unk2 = 3740, | ||
876 | RADIOREGS(0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A, | ||
877 | 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, | ||
878 | 0x80, 0x11, 0x00, 0x01, 0x00, 0x80), | ||
879 | PHYREGS(0xC808, 0xC408, 0xC008, 0xD201, 0xD301, 0xD401), | ||
880 | }, | ||
881 | { .channel = 124, | ||
882 | .freq = 5620, /* MHz */ | ||
883 | .unk2 = 3747, | ||
884 | RADIOREGS(0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A, | ||
885 | 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, | ||
886 | 0x80, 0x11, 0x00, 0x00, 0x00, 0x80), | ||
887 | PHYREGS(0xCC08, 0xC808, 0xC408, 0xD201, 0xD201, 0xD301), | ||
888 | }, | ||
889 | { .channel = 126, | ||
890 | .freq = 5630, /* MHz */ | ||
891 | .unk2 = 3753, | ||
892 | RADIOREGS(0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A, | ||
893 | 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, | ||
894 | 0x80, 0x11, 0x00, 0x00, 0x00, 0x80), | ||
895 | PHYREGS(0xD008, 0xCC08, 0xC808, 0xD101, 0xD201, 0xD201), | ||
896 | }, | ||
897 | { .channel = 128, | ||
898 | .freq = 5640, /* MHz */ | ||
899 | .unk2 = 3760, | ||
900 | RADIOREGS(0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A, | ||
901 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
902 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
903 | PHYREGS(0xD408, 0xD008, 0xCC08, 0xD001, 0xD101, 0xD201), | ||
904 | }, | ||
905 | { .channel = 130, | ||
906 | .freq = 5650, /* MHz */ | ||
907 | .unk2 = 3767, | ||
908 | RADIOREGS(0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A, | ||
909 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
910 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
911 | PHYREGS(0xD808, 0xD408, 0xD008, 0xCF01, 0xD001, 0xD101), | ||
912 | }, | ||
913 | { .channel = 132, | ||
914 | .freq = 5660, /* MHz */ | ||
915 | .unk2 = 3773, | ||
916 | RADIOREGS(0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A, | ||
917 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
918 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
919 | PHYREGS(0xDC08, 0xD808, 0xD408, 0xCE01, 0xCF01, 0xD001), | ||
920 | }, | ||
921 | { .channel = 134, | ||
922 | .freq = 5670, /* MHz */ | ||
923 | .unk2 = 3780, | ||
924 | RADIOREGS(0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A, | ||
925 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
926 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
927 | PHYREGS(0xE008, 0xDC08, 0xD808, 0xCE01, 0xCE01, 0xCF01), | ||
928 | }, | ||
929 | { .channel = 136, | ||
930 | .freq = 5680, /* MHz */ | ||
931 | .unk2 = 3787, | ||
932 | RADIOREGS(0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A, | ||
933 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
934 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
935 | PHYREGS(0xE408, 0xE008, 0xDC08, 0xCD01, 0xCE01, 0xCE01), | ||
936 | }, | ||
937 | { .channel = 138, | ||
938 | .freq = 5690, /* MHz */ | ||
939 | .unk2 = 3793, | ||
940 | RADIOREGS(0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A, | ||
941 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
942 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
943 | PHYREGS(0xE808, 0xE408, 0xE008, 0xCC01, 0xCD01, 0xCE01), | ||
944 | }, | ||
945 | { .channel = 140, | ||
946 | .freq = 5700, /* MHz */ | ||
947 | .unk2 = 3800, | ||
948 | RADIOREGS(0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
949 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
950 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
951 | PHYREGS(0xEC08, 0xE808, 0xE408, 0xCB01, 0xCC01, 0xCD01), | ||
952 | }, | ||
953 | { .channel = 142, | ||
954 | .freq = 5710, /* MHz */ | ||
955 | .unk2 = 3807, | ||
956 | RADIOREGS(0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
957 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
958 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
959 | PHYREGS(0xF008, 0xEC08, 0xE808, 0xCA01, 0xCB01, 0xCC01), | ||
960 | }, | ||
961 | { .channel = 144, | ||
962 | .freq = 5720, /* MHz */ | ||
963 | .unk2 = 3813, | ||
964 | RADIOREGS(0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
965 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
966 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
967 | PHYREGS(0xF408, 0xF008, 0xEC08, 0xC901, 0xCA01, 0xCB01), | ||
968 | }, | ||
969 | { .channel = 145, | ||
970 | .freq = 5725, /* MHz */ | ||
971 | .unk2 = 3817, | ||
972 | RADIOREGS(0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14, | ||
973 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
974 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
975 | PHYREGS(0xF608, 0xF208, 0xEE08, 0xC901, 0xCA01, 0xCB01), | ||
976 | }, | ||
977 | { .channel = 146, | ||
978 | .freq = 5730, /* MHz */ | ||
979 | .unk2 = 3820, | ||
980 | RADIOREGS(0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
981 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
982 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
983 | PHYREGS(0xF808, 0xF408, 0xF008, 0xC901, 0xC901, 0xCA01), | ||
984 | }, | ||
985 | { .channel = 147, | ||
986 | .freq = 5735, /* MHz */ | ||
987 | .unk2 = 3823, | ||
988 | RADIOREGS(0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14, | ||
989 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
990 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
991 | PHYREGS(0xFA08, 0xF608, 0xF208, 0xC801, 0xC901, 0xCA01), | ||
992 | }, | ||
993 | { .channel = 148, | ||
994 | .freq = 5740, /* MHz */ | ||
995 | .unk2 = 3827, | ||
996 | RADIOREGS(0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
997 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
998 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
999 | PHYREGS(0xFC08, 0xF808, 0xF408, 0xC801, 0xC901, 0xC901), | ||
1000 | }, | ||
1001 | { .channel = 149, | ||
1002 | .freq = 5745, /* MHz */ | ||
1003 | .unk2 = 3830, | ||
1004 | RADIOREGS(0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14, | ||
1005 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1006 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1007 | PHYREGS(0xFE08, 0xFA08, 0xF608, 0xC801, 0xC801, 0xC901), | ||
1008 | }, | ||
1009 | { .channel = 150, | ||
1010 | .freq = 5750, /* MHz */ | ||
1011 | .unk2 = 3833, | ||
1012 | RADIOREGS(0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
1013 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1014 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1015 | PHYREGS(0x0009, 0xFC08, 0xF808, 0xC701, 0xC801, 0xC901), | ||
1016 | }, | ||
1017 | { .channel = 151, | ||
1018 | .freq = 5755, /* MHz */ | ||
1019 | .unk2 = 3837, | ||
1020 | RADIOREGS(0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14, | ||
1021 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1022 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1023 | PHYREGS(0x0209, 0xFE08, 0xFA08, 0xC701, 0xC801, 0xC801), | ||
1024 | }, | ||
1025 | { .channel = 152, | ||
1026 | .freq = 5760, /* MHz */ | ||
1027 | .unk2 = 3840, | ||
1028 | RADIOREGS(0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
1029 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1030 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1031 | PHYREGS(0x0409, 0x0009, 0xFC08, 0xC601, 0xC701, 0xC801), | ||
1032 | }, | ||
1033 | { .channel = 153, | ||
1034 | .freq = 5765, /* MHz */ | ||
1035 | .unk2 = 3843, | ||
1036 | RADIOREGS(0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14, | ||
1037 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1038 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1039 | PHYREGS(0x0609, 0x0209, 0xFE08, 0xC601, 0xC701, 0xC801), | ||
1040 | }, | ||
1041 | { .channel = 154, | ||
1042 | .freq = 5770, /* MHz */ | ||
1043 | .unk2 = 3847, | ||
1044 | RADIOREGS(0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
1045 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1046 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1047 | PHYREGS(0x0809, 0x0409, 0x0009, 0xC601, 0xC601, 0xC701), | ||
1048 | }, | ||
1049 | { .channel = 155, | ||
1050 | .freq = 5775, /* MHz */ | ||
1051 | .unk2 = 3850, | ||
1052 | RADIOREGS(0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14, | ||
1053 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1054 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1055 | PHYREGS(0x0A09, 0x0609, 0x0209, 0xC501, 0xC601, 0xC701), | ||
1056 | }, | ||
1057 | { .channel = 156, | ||
1058 | .freq = 5780, /* MHz */ | ||
1059 | .unk2 = 3853, | ||
1060 | RADIOREGS(0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
1061 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1062 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1063 | PHYREGS(0x0C09, 0x0809, 0x0409, 0xC501, 0xC601, 0xC601), | ||
1064 | }, | ||
1065 | { .channel = 157, | ||
1066 | .freq = 5785, /* MHz */ | ||
1067 | .unk2 = 3857, | ||
1068 | RADIOREGS(0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14, | ||
1069 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1070 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1071 | PHYREGS(0x0E09, 0x0A09, 0x0609, 0xC401, 0xC501, 0xC601), | ||
1072 | }, | ||
1073 | { .channel = 158, | ||
1074 | .freq = 5790, /* MHz */ | ||
1075 | .unk2 = 3860, | ||
1076 | RADIOREGS(0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A, | ||
1077 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1078 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1079 | PHYREGS(0x1009, 0x0C09, 0x0809, 0xC401, 0xC501, 0xC601), | ||
1080 | }, | ||
1081 | { .channel = 159, | ||
1082 | .freq = 5795, /* MHz */ | ||
1083 | .unk2 = 3863, | ||
1084 | RADIOREGS(0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14, | ||
1085 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1086 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1087 | PHYREGS(0x1209, 0x0E09, 0x0A09, 0xC401, 0xC401, 0xC501), | ||
1088 | }, | ||
1089 | { .channel = 160, | ||
1090 | .freq = 5800, /* MHz */ | ||
1091 | .unk2 = 3867, | ||
1092 | RADIOREGS(0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A, | ||
1093 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1094 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1095 | PHYREGS(0x1409, 0x1009, 0x0C09, 0xC301, 0xC401, 0xC501), | ||
1096 | }, | ||
1097 | { .channel = 161, | ||
1098 | .freq = 5805, /* MHz */ | ||
1099 | .unk2 = 3870, | ||
1100 | RADIOREGS(0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14, | ||
1101 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1102 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1103 | PHYREGS(0x1609, 0x1209, 0x0E09, 0xC301, 0xC401, 0xC401), | ||
1104 | }, | ||
1105 | { .channel = 162, | ||
1106 | .freq = 5810, /* MHz */ | ||
1107 | .unk2 = 3873, | ||
1108 | RADIOREGS(0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A, | ||
1109 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1110 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1111 | PHYREGS(0x1809, 0x1409, 0x1009, 0xC201, 0xC301, 0xC401), | ||
1112 | }, | ||
1113 | { .channel = 163, | ||
1114 | .freq = 5815, /* MHz */ | ||
1115 | .unk2 = 3877, | ||
1116 | RADIOREGS(0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14, | ||
1117 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1118 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1119 | PHYREGS(0x1A09, 0x1609, 0x1209, 0xC201, 0xC301, 0xC401), | ||
1120 | }, | ||
1121 | { .channel = 164, | ||
1122 | .freq = 5820, /* MHz */ | ||
1123 | .unk2 = 3880, | ||
1124 | RADIOREGS(0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A, | ||
1125 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1126 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1127 | PHYREGS(0x1C09, 0x1809, 0x1409, 0xC201, 0xC201, 0xC301), | ||
1128 | }, | ||
1129 | { .channel = 165, | ||
1130 | .freq = 5825, /* MHz */ | ||
1131 | .unk2 = 3883, | ||
1132 | RADIOREGS(0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14, | ||
1133 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1134 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1135 | PHYREGS(0x1E09, 0x1A09, 0x1609, 0xC101, 0xC201, 0xC301), | ||
1136 | }, | ||
1137 | { .channel = 166, | ||
1138 | .freq = 5830, /* MHz */ | ||
1139 | .unk2 = 3887, | ||
1140 | RADIOREGS(0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A, | ||
1141 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1142 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1143 | PHYREGS(0x2009, 0x1C09, 0x1809, 0xC101, 0xC201, 0xC201), | ||
1144 | }, | ||
1145 | { .channel = 168, | ||
1146 | .freq = 5840, /* MHz */ | ||
1147 | .unk2 = 3893, | ||
1148 | RADIOREGS(0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A, | ||
1149 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1150 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1151 | PHYREGS(0x2409, 0x2009, 0x1C09, 0xC001, 0xC101, 0xC201), | ||
1152 | }, | ||
1153 | { .channel = 170, | ||
1154 | .freq = 5850, /* MHz */ | ||
1155 | .unk2 = 3900, | ||
1156 | RADIOREGS(0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A, | ||
1157 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1158 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1159 | PHYREGS(0x2809, 0x2409, 0x2009, 0xBF01, 0xC001, 0xC101), | ||
1160 | }, | ||
1161 | { .channel = 172, | ||
1162 | .freq = 5860, /* MHz */ | ||
1163 | .unk2 = 3907, | ||
1164 | RADIOREGS(0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A, | ||
1165 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1166 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1167 | PHYREGS(0x2C09, 0x2809, 0x2409, 0xBF01, 0xBF01, 0xC001), | ||
1168 | }, | ||
1169 | { .channel = 174, | ||
1170 | .freq = 5870, /* MHz */ | ||
1171 | .unk2 = 3913, | ||
1172 | RADIOREGS(0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A, | ||
1173 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1174 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1175 | PHYREGS(0x3009, 0x2C09, 0x2809, 0xBE01, 0xBF01, 0xBF01), | ||
1176 | }, | ||
1177 | { .channel = 176, | ||
1178 | .freq = 5880, /* MHz */ | ||
1179 | .unk2 = 3920, | ||
1180 | RADIOREGS(0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A, | ||
1181 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1182 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1183 | PHYREGS(0x3409, 0x3009, 0x2C09, 0xBD01, 0xBE01, 0xBF01), | ||
1184 | }, | ||
1185 | { .channel = 178, | ||
1186 | .freq = 5890, /* MHz */ | ||
1187 | .unk2 = 3927, | ||
1188 | RADIOREGS(0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A, | ||
1189 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1190 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1191 | PHYREGS(0x3809, 0x3409, 0x3009, 0xBC01, 0xBD01, 0xBE01), | ||
1192 | }, | ||
1193 | { .channel = 180, | ||
1194 | .freq = 5900, /* MHz */ | ||
1195 | .unk2 = 3933, | ||
1196 | RADIOREGS(0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A, | ||
1197 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1198 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1199 | PHYREGS(0x3C09, 0x3809, 0x3409, 0xBC01, 0xBC01, 0xBD01), | ||
1200 | }, | ||
1201 | { .channel = 182, | ||
1202 | .freq = 5910, /* MHz */ | ||
1203 | .unk2 = 3940, | ||
1204 | RADIOREGS(0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A, | ||
1205 | 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1206 | 0x80, 0x00, 0x00, 0x00, 0x00, 0x80), | ||
1207 | PHYREGS(0x4009, 0x3C09, 0x3809, 0xBB01, 0xBC01, 0xBC01), | ||
1208 | }, | ||
1209 | { .channel = 1, | ||
1210 | .freq = 2412, /* MHz */ | ||
1211 | .unk2 = 3216, | ||
1212 | RADIOREGS(0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1213 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, | ||
1214 | 0x80, 0xFF, 0x88, 0x0D, 0x0C, 0x80), | ||
1215 | PHYREGS(0xC903, 0xC503, 0xC103, 0x3A04, 0x3F04, 0x4304), | ||
1216 | }, | ||
1217 | { .channel = 2, | ||
1218 | .freq = 2417, /* MHz */ | ||
1219 | .unk2 = 3223, | ||
1220 | RADIOREGS(0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1221 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, | ||
1222 | 0x80, 0xFF, 0x88, 0x0C, 0x0B, 0x80), | ||
1223 | PHYREGS(0xCB03, 0xC703, 0xC303, 0x3804, 0x3D04, 0x4104), | ||
1224 | }, | ||
1225 | { .channel = 3, | ||
1226 | .freq = 2422, /* MHz */ | ||
1227 | .unk2 = 3229, | ||
1228 | RADIOREGS(0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1229 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, | ||
1230 | 0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80), | ||
1231 | PHYREGS(0xCD03, 0xC903, 0xC503, 0x3604, 0x3A04, 0x3F04), | ||
1232 | }, | ||
1233 | { .channel = 4, | ||
1234 | .freq = 2427, /* MHz */ | ||
1235 | .unk2 = 3236, | ||
1236 | RADIOREGS(0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1237 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, | ||
1238 | 0x80, 0xFF, 0x88, 0x0C, 0x0A, 0x80), | ||
1239 | PHYREGS(0xCF03, 0xCB03, 0xC703, 0x3404, 0x3804, 0x3D04), | ||
1240 | }, | ||
1241 | { .channel = 5, | ||
1242 | .freq = 2432, /* MHz */ | ||
1243 | .unk2 = 3243, | ||
1244 | RADIOREGS(0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1245 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, | ||
1246 | 0x80, 0xFF, 0x88, 0x0C, 0x09, 0x80), | ||
1247 | PHYREGS(0xD103, 0xCD03, 0xC903, 0x3104, 0x3604, 0x3A04), | ||
1248 | }, | ||
1249 | { .channel = 6, | ||
1250 | .freq = 2437, /* MHz */ | ||
1251 | .unk2 = 3249, | ||
1252 | RADIOREGS(0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1253 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, | ||
1254 | 0x80, 0xFF, 0x88, 0x0B, 0x08, 0x80), | ||
1255 | PHYREGS(0xD303, 0xCF03, 0xCB03, 0x2F04, 0x3404, 0x3804), | ||
1256 | }, | ||
1257 | { .channel = 7, | ||
1258 | .freq = 2442, /* MHz */ | ||
1259 | .unk2 = 3256, | ||
1260 | RADIOREGS(0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1261 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, | ||
1262 | 0x80, 0xFF, 0x88, 0x0A, 0x07, 0x80), | ||
1263 | PHYREGS(0xD503, 0xD103, 0xCD03, 0x2D04, 0x3104, 0x3604), | ||
1264 | }, | ||
1265 | { .channel = 8, | ||
1266 | .freq = 2447, /* MHz */ | ||
1267 | .unk2 = 3263, | ||
1268 | RADIOREGS(0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1269 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, | ||
1270 | 0x80, 0xFF, 0x88, 0x0A, 0x06, 0x80), | ||
1271 | PHYREGS(0xD703, 0xD303, 0xCF03, 0x2B04, 0x2F04, 0x3404), | ||
1272 | }, | ||
1273 | { .channel = 9, | ||
1274 | .freq = 2452, /* MHz */ | ||
1275 | .unk2 = 3269, | ||
1276 | RADIOREGS(0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1277 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, | ||
1278 | 0x80, 0xFF, 0x88, 0x09, 0x06, 0x80), | ||
1279 | PHYREGS(0xD903, 0xD503, 0xD103, 0x2904, 0x2D04, 0x3104), | ||
1280 | }, | ||
1281 | { .channel = 10, | ||
1282 | .freq = 2457, /* MHz */ | ||
1283 | .unk2 = 3276, | ||
1284 | RADIOREGS(0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1285 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, | ||
1286 | 0x80, 0xFF, 0x88, 0x08, 0x05, 0x80), | ||
1287 | PHYREGS(0xDB03, 0xD703, 0xD303, 0x2704, 0x2B04, 0x2F04), | ||
1288 | }, | ||
1289 | { .channel = 11, | ||
1290 | .freq = 2462, /* MHz */ | ||
1291 | .unk2 = 3283, | ||
1292 | RADIOREGS(0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1293 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, | ||
1294 | 0x80, 0xFF, 0x88, 0x08, 0x04, 0x80), | ||
1295 | PHYREGS(0xDD03, 0xD903, 0xD503, 0x2404, 0x2904, 0x2D04), | ||
1296 | }, | ||
1297 | { .channel = 12, | ||
1298 | .freq = 2467, /* MHz */ | ||
1299 | .unk2 = 3289, | ||
1300 | RADIOREGS(0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1301 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, | ||
1302 | 0x80, 0xFF, 0x88, 0x08, 0x03, 0x80), | ||
1303 | PHYREGS(0xDF03, 0xDB03, 0xD703, 0x2204, 0x2704, 0x2B04), | ||
1304 | }, | ||
1305 | { .channel = 13, | ||
1306 | .freq = 2472, /* MHz */ | ||
1307 | .unk2 = 3296, | ||
1308 | RADIOREGS(0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15, | ||
1309 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, | ||
1310 | 0x80, 0xFF, 0x88, 0x07, 0x03, 0x80), | ||
1311 | PHYREGS(0xE103, 0xDD03, 0xD903, 0x2004, 0x2404, 0x2904), | ||
1312 | }, | ||
1313 | { .channel = 14, | ||
1314 | .freq = 2484, /* MHz */ | ||
1315 | .unk2 = 3312, | ||
1316 | RADIOREGS(0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15, | ||
1317 | 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, | ||
1318 | 0x80, 0xFF, 0x88, 0x07, 0x01, 0x80), | ||
1319 | PHYREGS(0xE603, 0xE203, 0xDE03, 0x1B04, 0x1F04, 0x2404), | ||
1320 | }, | ||
1321 | }; | ||
1322 | |||
1323 | const struct b43_nphy_channeltab_entry_rev2 * | ||
1324 | b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel) | ||
1325 | { | ||
1326 | const struct b43_nphy_channeltab_entry_rev2 *e; | ||
1327 | unsigned int i; | ||
1328 | |||
1329 | for (i = 0; i < ARRAY_SIZE(b43_nphy_channeltab); i++) { | ||
1330 | e = &(b43_nphy_channeltab[i]); | ||
1331 | if (e->channel == channel) | ||
1332 | return e; | ||
1333 | } | ||
1334 | |||
1335 | return NULL; | ||
1336 | } | ||
1337 | |||
1338 | |||
1339 | static const u8 b43_ntab_adjustpower0[] = { | 30 | static const u8 b43_ntab_adjustpower0[] = { |
1340 | 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, | 31 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1341 | 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, | 32 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1342 | 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, | 33 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1343 | 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, | 34 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1344 | 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, | 35 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1345 | 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, | 36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1346 | 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, | 37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1347 | 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, | 38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1348 | 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, | 39 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1349 | 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, | 40 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1350 | 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, | 41 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1351 | 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, | 42 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1352 | 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, | 43 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1353 | 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, | 44 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1354 | 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, | 45 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1355 | 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, | 46 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1356 | }; | 47 | }; |
1357 | 48 | ||
1358 | static const u8 b43_ntab_adjustpower1[] = { | 49 | static const u8 b43_ntab_adjustpower1[] = { |
1359 | 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, | 50 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1360 | 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, | 51 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1361 | 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, | 52 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1362 | 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, | 53 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1363 | 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, | 54 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1364 | 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, | 55 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1365 | 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, | 56 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1366 | 0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, | 57 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1367 | 0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, | 58 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1368 | 0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, | 59 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1369 | 0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, | 60 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1370 | 0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, | 61 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1371 | 0x18, 0x18, 0x18, 0x18, 0x19, 0x19, 0x19, 0x19, | 62 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1372 | 0x1A, 0x1A, 0x1A, 0x1A, 0x1B, 0x1B, 0x1B, 0x1B, | 63 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1373 | 0x1C, 0x1C, 0x1C, 0x1C, 0x1D, 0x1D, 0x1D, 0x1D, | 64 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1374 | 0x1E, 0x1E, 0x1E, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, | 65 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
1375 | }; | 66 | }; |
1376 | 67 | ||
1377 | static const u16 b43_ntab_bdi[] = { | 68 | static const u16 b43_ntab_bdi[] = { |
@@ -1439,8 +130,8 @@ static const u32 b43_ntab_framestruct[] = { | |||
1439 | 0x09804506, 0x00100030, 0x09804507, 0x00100030, | 130 | 0x09804506, 0x00100030, 0x09804507, 0x00100030, |
1440 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 131 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1441 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 132 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1442 | 0x08004A0C, 0x00100008, 0x01000A0D, 0x00100028, | 133 | 0x08004A0C, 0x00100004, 0x01000A0D, 0x00100024, |
1443 | 0x0980450E, 0x00100038, 0x0980450F, 0x00100038, | 134 | 0x0980450E, 0x00100034, 0x0980450F, 0x00100034, |
1444 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 135 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1445 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 136 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1446 | 0x00000A04, 0x00100000, 0x11008A05, 0x00100020, | 137 | 0x00000A04, 0x00100000, 0x11008A05, 0x00100020, |
@@ -1511,13 +202,13 @@ static const u32 b43_ntab_framestruct[] = { | |||
1511 | 0x53028A06, 0x01900060, 0x53028A07, 0x01900060, | 202 | 0x53028A06, 0x01900060, 0x53028A07, 0x01900060, |
1512 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 203 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1513 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 204 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1514 | 0x4002140C, 0x000F4810, 0x6203140D, 0x00100050, | 205 | 0x4002140C, 0x000F4808, 0x6203140D, 0x00100048, |
1515 | 0x53028A0E, 0x01900070, 0x53028A0F, 0x01900070, | 206 | 0x53028A0E, 0x01900068, 0x53028A0F, 0x01900068, |
1516 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 207 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1517 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 208 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1518 | 0x00000A0C, 0x00100008, 0x11008A0D, 0x00100028, | 209 | 0x00000A0C, 0x00100004, 0x11008A0D, 0x00100024, |
1519 | 0x1980C50E, 0x00100038, 0x2181050E, 0x00100038, | 210 | 0x1980C50E, 0x00100034, 0x2181050E, 0x00100034, |
1520 | 0x2181050E, 0x00100038, 0x0180050C, 0x00100038, | 211 | 0x2181050E, 0x00100034, 0x0180050C, 0x00100038, |
1521 | 0x1180850D, 0x00100038, 0x1181850D, 0x00100038, | 212 | 0x1180850D, 0x00100038, 0x1181850D, 0x00100038, |
1522 | 0x2981450F, 0x01100038, 0x00000000, 0x00000000, | 213 | 0x2981450F, 0x01100038, 0x00000000, 0x00000000, |
1523 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 214 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
@@ -1547,9 +238,9 @@ static const u32 b43_ntab_framestruct[] = { | |||
1547 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 238 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1548 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 239 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1549 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 240 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
1550 | 0x4002140C, 0x00100010, 0x0200140D, 0x00100050, | 241 | 0x4002140C, 0x00100008, 0x0200140D, 0x00100048, |
1551 | 0x0B004A0E, 0x01900070, 0x13008A0E, 0x01900070, | 242 | 0x0B004A0E, 0x01900068, 0x13008A0E, 0x01900068, |
1552 | 0x13008A0E, 0x01900070, 0x43020A0C, 0x00100070, | 243 | 0x13008A0E, 0x01900068, 0x43020A0C, 0x00100070, |
1553 | 0x1B00CA0D, 0x00100070, 0x1B014A0D, 0x00100070, | 244 | 0x1B00CA0D, 0x00100070, 0x1B014A0D, 0x00100070, |
1554 | 0x23010A0F, 0x01500070, 0x00000000, 0x00000000, | 245 | 0x23010A0F, 0x01500070, 0x00000000, 0x00000000, |
1555 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 246 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
@@ -1646,73 +337,73 @@ static const u32 b43_ntab_framestruct[] = { | |||
1646 | }; | 337 | }; |
1647 | 338 | ||
1648 | static const u32 b43_ntab_gainctl0[] = { | 339 | static const u32 b43_ntab_gainctl0[] = { |
1649 | 0x007F003F, 0x007E013F, 0x007D023E, 0x007C033E, | 340 | 0x03CC2B44, 0x03CC2B42, 0x03CC2B40, 0x03CC2B3E, |
1650 | 0x007B043D, 0x007A053D, 0x0079063C, 0x0078073C, | 341 | 0x03CC2B3D, 0x03CC2B3B, 0x03C82B44, 0x03C82B42, |
1651 | 0x0077083B, 0x0076093B, 0x00750A3A, 0x00740B3A, | 342 | 0x03C82B40, 0x03C82B3E, 0x03C82B3D, 0x03C82B3B, |
1652 | 0x00730C39, 0x00720D39, 0x00710E38, 0x00700F38, | 343 | 0x03C82B39, 0x03C82B38, 0x03C82B36, 0x03C82B34, |
1653 | 0x006F0037, 0x006E0137, 0x006D0236, 0x006C0336, | 344 | 0x03C42B44, 0x03C42B42, 0x03C42B40, 0x03C42B3E, |
1654 | 0x006B0435, 0x006A0535, 0x00690634, 0x00680734, | 345 | 0x03C42B3D, 0x03C42B3B, 0x03C42B39, 0x03C42B38, |
1655 | 0x00670833, 0x00660933, 0x00650A32, 0x00640B32, | 346 | 0x03C42B36, 0x03C42B34, 0x03C42B33, 0x03C42B32, |
1656 | 0x00630C31, 0x00620D31, 0x00610E30, 0x00600F30, | 347 | 0x03C42B30, 0x03C42B2F, 0x03C42B2D, 0x03C02B44, |
1657 | 0x005F002F, 0x005E012F, 0x005D022E, 0x005C032E, | 348 | 0x03C02B42, 0x03C02B40, 0x03C02B3E, 0x03C02B3D, |
1658 | 0x005B042D, 0x005A052D, 0x0059062C, 0x0058072C, | 349 | 0x03C02B3B, 0x03C02B39, 0x03C02B38, 0x03C02B36, |
1659 | 0x0057082B, 0x0056092B, 0x00550A2A, 0x00540B2A, | 350 | 0x03C02B34, 0x03B02B44, 0x03B02B42, 0x03B02B40, |
1660 | 0x00530C29, 0x00520D29, 0x00510E28, 0x00500F28, | 351 | 0x03B02B3E, 0x03B02B3D, 0x03B02B3B, 0x03B02B39, |
1661 | 0x004F0027, 0x004E0127, 0x004D0226, 0x004C0326, | 352 | 0x03B02B38, 0x03B02B36, 0x03B02B34, 0x03B02B33, |
1662 | 0x004B0425, 0x004A0525, 0x00490624, 0x00480724, | 353 | 0x03B02B32, 0x03B02B30, 0x03B02B2F, 0x03B02B2D, |
1663 | 0x00470823, 0x00460923, 0x00450A22, 0x00440B22, | 354 | 0x03A02B44, 0x03A02B42, 0x03A02B40, 0x03A02B3E, |
1664 | 0x00430C21, 0x00420D21, 0x00410E20, 0x00400F20, | 355 | 0x03A02B3D, 0x03A02B3B, 0x03A02B39, 0x03A02B38, |
1665 | 0x003F001F, 0x003E011F, 0x003D021E, 0x003C031E, | 356 | 0x03A02B36, 0x03A02B34, 0x03902B44, 0x03902B42, |
1666 | 0x003B041D, 0x003A051D, 0x0039061C, 0x0038071C, | 357 | 0x03902B40, 0x03902B3E, 0x03902B3D, 0x03902B3B, |
1667 | 0x0037081B, 0x0036091B, 0x00350A1A, 0x00340B1A, | 358 | 0x03902B39, 0x03902B38, 0x03902B36, 0x03902B34, |
1668 | 0x00330C19, 0x00320D19, 0x00310E18, 0x00300F18, | 359 | 0x03902B33, 0x03902B32, 0x03902B30, 0x03802B44, |
1669 | 0x002F0017, 0x002E0117, 0x002D0216, 0x002C0316, | 360 | 0x03802B42, 0x03802B40, 0x03802B3E, 0x03802B3D, |
1670 | 0x002B0415, 0x002A0515, 0x00290614, 0x00280714, | 361 | 0x03802B3B, 0x03802B39, 0x03802B38, 0x03802B36, |
1671 | 0x00270813, 0x00260913, 0x00250A12, 0x00240B12, | 362 | 0x03802B34, 0x03802B33, 0x03802B32, 0x03802B30, |
1672 | 0x00230C11, 0x00220D11, 0x00210E10, 0x00200F10, | 363 | 0x03802B2F, 0x03802B2D, 0x03802B2C, 0x03802B2B, |
1673 | 0x001F000F, 0x001E010F, 0x001D020E, 0x001C030E, | 364 | 0x03802B2A, 0x03802B29, 0x03802B27, 0x03802B26, |
1674 | 0x001B040D, 0x001A050D, 0x0019060C, 0x0018070C, | 365 | 0x03802B25, 0x03802B24, 0x03802B23, 0x03802B22, |
1675 | 0x0017080B, 0x0016090B, 0x00150A0A, 0x00140B0A, | 366 | 0x03802B21, 0x03802B20, 0x03802B1F, 0x03802B1E, |
1676 | 0x00130C09, 0x00120D09, 0x00110E08, 0x00100F08, | 367 | 0x03802B1E, 0x03802B1D, 0x03802B1C, 0x03802B1B, |
1677 | 0x000F0007, 0x000E0107, 0x000D0206, 0x000C0306, | 368 | 0x03802B1A, 0x03802B1A, 0x03802B19, 0x03802B18, |
1678 | 0x000B0405, 0x000A0505, 0x00090604, 0x00080704, | 369 | 0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18, |
1679 | 0x00070803, 0x00060903, 0x00050A02, 0x00040B02, | 370 | 0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18, |
1680 | 0x00030C01, 0x00020D01, 0x00010E00, 0x00000F00, | 371 | 0x03802B18, 0x03802B18, 0x03802B18, 0x00002B00, |
1681 | }; | 372 | }; |
1682 | 373 | ||
1683 | static const u32 b43_ntab_gainctl1[] = { | 374 | static const u32 b43_ntab_gainctl1[] = { |
1684 | 0x007F003F, 0x007E013F, 0x007D023E, 0x007C033E, | 375 | 0x03CC2B44, 0x03CC2B42, 0x03CC2B40, 0x03CC2B3E, |
1685 | 0x007B043D, 0x007A053D, 0x0079063C, 0x0078073C, | 376 | 0x03CC2B3D, 0x03CC2B3B, 0x03C82B44, 0x03C82B42, |
1686 | 0x0077083B, 0x0076093B, 0x00750A3A, 0x00740B3A, | 377 | 0x03C82B40, 0x03C82B3E, 0x03C82B3D, 0x03C82B3B, |
1687 | 0x00730C39, 0x00720D39, 0x00710E38, 0x00700F38, | 378 | 0x03C82B39, 0x03C82B38, 0x03C82B36, 0x03C82B34, |
1688 | 0x006F0037, 0x006E0137, 0x006D0236, 0x006C0336, | 379 | 0x03C42B44, 0x03C42B42, 0x03C42B40, 0x03C42B3E, |
1689 | 0x006B0435, 0x006A0535, 0x00690634, 0x00680734, | 380 | 0x03C42B3D, 0x03C42B3B, 0x03C42B39, 0x03C42B38, |
1690 | 0x00670833, 0x00660933, 0x00650A32, 0x00640B32, | 381 | 0x03C42B36, 0x03C42B34, 0x03C42B33, 0x03C42B32, |
1691 | 0x00630C31, 0x00620D31, 0x00610E30, 0x00600F30, | 382 | 0x03C42B30, 0x03C42B2F, 0x03C42B2D, 0x03C02B44, |
1692 | 0x005F002F, 0x005E012F, 0x005D022E, 0x005C032E, | 383 | 0x03C02B42, 0x03C02B40, 0x03C02B3E, 0x03C02B3D, |
1693 | 0x005B042D, 0x005A052D, 0x0059062C, 0x0058072C, | 384 | 0x03C02B3B, 0x03C02B39, 0x03C02B38, 0x03C02B36, |
1694 | 0x0057082B, 0x0056092B, 0x00550A2A, 0x00540B2A, | 385 | 0x03C02B34, 0x03B02B44, 0x03B02B42, 0x03B02B40, |
1695 | 0x00530C29, 0x00520D29, 0x00510E28, 0x00500F28, | 386 | 0x03B02B3E, 0x03B02B3D, 0x03B02B3B, 0x03B02B39, |
1696 | 0x004F0027, 0x004E0127, 0x004D0226, 0x004C0326, | 387 | 0x03B02B38, 0x03B02B36, 0x03B02B34, 0x03B02B33, |
1697 | 0x004B0425, 0x004A0525, 0x00490624, 0x00480724, | 388 | 0x03B02B32, 0x03B02B30, 0x03B02B2F, 0x03B02B2D, |
1698 | 0x00470823, 0x00460923, 0x00450A22, 0x00440B22, | 389 | 0x03A02B44, 0x03A02B42, 0x03A02B40, 0x03A02B3E, |
1699 | 0x00430C21, 0x00420D21, 0x00410E20, 0x00400F20, | 390 | 0x03A02B3D, 0x03A02B3B, 0x03A02B39, 0x03A02B38, |
1700 | 0x003F001F, 0x003E011F, 0x003D021E, 0x003C031E, | 391 | 0x03A02B36, 0x03A02B34, 0x03902B44, 0x03902B42, |
1701 | 0x003B041D, 0x003A051D, 0x0039061C, 0x0038071C, | 392 | 0x03902B40, 0x03902B3E, 0x03902B3D, 0x03902B3B, |
1702 | 0x0037081B, 0x0036091B, 0x00350A1A, 0x00340B1A, | 393 | 0x03902B39, 0x03902B38, 0x03902B36, 0x03902B34, |
1703 | 0x00330C19, 0x00320D19, 0x00310E18, 0x00300F18, | 394 | 0x03902B33, 0x03902B32, 0x03902B30, 0x03802B44, |
1704 | 0x002F0017, 0x002E0117, 0x002D0216, 0x002C0316, | 395 | 0x03802B42, 0x03802B40, 0x03802B3E, 0x03802B3D, |
1705 | 0x002B0415, 0x002A0515, 0x00290614, 0x00280714, | 396 | 0x03802B3B, 0x03802B39, 0x03802B38, 0x03802B36, |
1706 | 0x00270813, 0x00260913, 0x00250A12, 0x00240B12, | 397 | 0x03802B34, 0x03802B33, 0x03802B32, 0x03802B30, |
1707 | 0x00230C11, 0x00220D11, 0x00210E10, 0x00200F10, | 398 | 0x03802B2F, 0x03802B2D, 0x03802B2C, 0x03802B2B, |
1708 | 0x001F000F, 0x001E010F, 0x001D020E, 0x001C030E, | 399 | 0x03802B2A, 0x03802B29, 0x03802B27, 0x03802B26, |
1709 | 0x001B040D, 0x001A050D, 0x0019060C, 0x0018070C, | 400 | 0x03802B25, 0x03802B24, 0x03802B23, 0x03802B22, |
1710 | 0x0017080B, 0x0016090B, 0x00150A0A, 0x00140B0A, | 401 | 0x03802B21, 0x03802B20, 0x03802B1F, 0x03802B1E, |
1711 | 0x00130C09, 0x00120D09, 0x00110E08, 0x00100F08, | 402 | 0x03802B1E, 0x03802B1D, 0x03802B1C, 0x03802B1B, |
1712 | 0x000F0007, 0x000E0107, 0x000D0206, 0x000C0306, | 403 | 0x03802B1A, 0x03802B1A, 0x03802B19, 0x03802B18, |
1713 | 0x000B0405, 0x000A0505, 0x00090604, 0x00080704, | 404 | 0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18, |
1714 | 0x00070803, 0x00060903, 0x00050A02, 0x00040B02, | 405 | 0x03802B18, 0x03802B18, 0x03802B18, 0x03802B18, |
1715 | 0x00030C01, 0x00020D01, 0x00010E00, 0x00000F00, | 406 | 0x03802B18, 0x03802B18, 0x03802B18, 0x00002B00, |
1716 | }; | 407 | }; |
1717 | 408 | ||
1718 | static const u32 b43_ntab_intlevel[] = { | 409 | static const u32 b43_ntab_intlevel[] = { |
@@ -2406,6 +1097,1080 @@ static const u32 b43_ntab_tmap[] = { | |||
2406 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | 1097 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, |
2407 | }; | 1098 | }; |
2408 | 1099 | ||
1100 | /* static tables, PHY revision >= 3 */ | ||
1101 | static const u32 b43_ntab_framestruct_r3[] = { | ||
1102 | 0x08004a04, 0x00100000, 0x01000a05, 0x00100020, | ||
1103 | 0x09804506, 0x00100030, 0x09804507, 0x00100030, | ||
1104 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1105 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1106 | 0x08004a0c, 0x00100004, 0x01000a0d, 0x00100024, | ||
1107 | 0x0980450e, 0x00100034, 0x0980450f, 0x00100034, | ||
1108 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1109 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1110 | 0x00000a04, 0x00100000, 0x11008a05, 0x00100020, | ||
1111 | 0x1980c506, 0x00100030, 0x21810506, 0x00100030, | ||
1112 | 0x21810506, 0x00100030, 0x01800504, 0x00100030, | ||
1113 | 0x11808505, 0x00100030, 0x29814507, 0x01100030, | ||
1114 | 0x00000a04, 0x00100000, 0x11008a05, 0x00100020, | ||
1115 | 0x21810506, 0x00100030, 0x21810506, 0x00100030, | ||
1116 | 0x29814507, 0x01100030, 0x00000000, 0x00000000, | ||
1117 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1118 | 0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028, | ||
1119 | 0x1980c50e, 0x00100038, 0x2181050e, 0x00100038, | ||
1120 | 0x2181050e, 0x00100038, 0x0180050c, 0x00100038, | ||
1121 | 0x1180850d, 0x00100038, 0x2981450f, 0x01100038, | ||
1122 | 0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028, | ||
1123 | 0x2181050e, 0x00100038, 0x2181050e, 0x00100038, | ||
1124 | 0x2981450f, 0x01100038, 0x00000000, 0x00000000, | ||
1125 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1126 | 0x08004a04, 0x00100000, 0x01000a05, 0x00100020, | ||
1127 | 0x1980c506, 0x00100030, 0x1980c506, 0x00100030, | ||
1128 | 0x11808504, 0x00100030, 0x3981ca05, 0x00100030, | ||
1129 | 0x29814507, 0x01100030, 0x00000000, 0x00000000, | ||
1130 | 0x10008a04, 0x00100000, 0x3981ca05, 0x00100030, | ||
1131 | 0x1980c506, 0x00100030, 0x29814507, 0x01100030, | ||
1132 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1133 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1134 | 0x08004a0c, 0x00100008, 0x01000a0d, 0x00100028, | ||
1135 | 0x1980c50e, 0x00100038, 0x1980c50e, 0x00100038, | ||
1136 | 0x1180850c, 0x00100038, 0x3981ca0d, 0x00100038, | ||
1137 | 0x2981450f, 0x01100038, 0x00000000, 0x00000000, | ||
1138 | 0x10008a0c, 0x00100008, 0x3981ca0d, 0x00100038, | ||
1139 | 0x1980c50e, 0x00100038, 0x2981450f, 0x01100038, | ||
1140 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1141 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1142 | 0x40021404, 0x00100000, 0x02001405, 0x00100040, | ||
1143 | 0x0b004a06, 0x01900060, 0x13008a06, 0x01900060, | ||
1144 | 0x13008a06, 0x01900060, 0x43020a04, 0x00100060, | ||
1145 | 0x1b00ca05, 0x00100060, 0x23010a07, 0x01500060, | ||
1146 | 0x40021404, 0x00100000, 0x1a00d405, 0x00100040, | ||
1147 | 0x13008a06, 0x01900060, 0x13008a06, 0x01900060, | ||
1148 | 0x23010a07, 0x01500060, 0x00000000, 0x00000000, | ||
1149 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1150 | 0x4002140c, 0x00100010, 0x0200140d, 0x00100050, | ||
1151 | 0x0b004a0e, 0x01900070, 0x13008a0e, 0x01900070, | ||
1152 | 0x13008a0e, 0x01900070, 0x43020a0c, 0x00100070, | ||
1153 | 0x1b00ca0d, 0x00100070, 0x23010a0f, 0x01500070, | ||
1154 | 0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050, | ||
1155 | 0x13008a0e, 0x01900070, 0x13008a0e, 0x01900070, | ||
1156 | 0x23010a0f, 0x01500070, 0x00000000, 0x00000000, | ||
1157 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1158 | 0x50029404, 0x00100000, 0x32019405, 0x00100040, | ||
1159 | 0x0b004a06, 0x01900060, 0x0b004a06, 0x01900060, | ||
1160 | 0x5b02ca04, 0x00100060, 0x3b01d405, 0x00100060, | ||
1161 | 0x23010a07, 0x01500060, 0x00000000, 0x00000000, | ||
1162 | 0x5802d404, 0x00100000, 0x3b01d405, 0x00100060, | ||
1163 | 0x0b004a06, 0x01900060, 0x23010a07, 0x01500060, | ||
1164 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1165 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1166 | 0x5002940c, 0x00100010, 0x3201940d, 0x00100050, | ||
1167 | 0x0b004a0e, 0x01900070, 0x0b004a0e, 0x01900070, | ||
1168 | 0x5b02ca0c, 0x00100070, 0x3b01d40d, 0x00100070, | ||
1169 | 0x23010a0f, 0x01500070, 0x00000000, 0x00000000, | ||
1170 | 0x5802d40c, 0x00100010, 0x3b01d40d, 0x00100070, | ||
1171 | 0x0b004a0e, 0x01900070, 0x23010a0f, 0x01500070, | ||
1172 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1173 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1174 | 0x40021404, 0x000f4800, 0x62031405, 0x00100040, | ||
1175 | 0x53028a06, 0x01900060, 0x53028a07, 0x01900060, | ||
1176 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1177 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1178 | 0x4002140c, 0x000f4808, 0x6203140d, 0x00100048, | ||
1179 | 0x53028a0e, 0x01900068, 0x53028a0f, 0x01900068, | ||
1180 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1181 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1182 | 0x00000a0c, 0x00100004, 0x11008a0d, 0x00100024, | ||
1183 | 0x1980c50e, 0x00100034, 0x2181050e, 0x00100034, | ||
1184 | 0x2181050e, 0x00100034, 0x0180050c, 0x00100038, | ||
1185 | 0x1180850d, 0x00100038, 0x1181850d, 0x00100038, | ||
1186 | 0x2981450f, 0x01100038, 0x00000000, 0x00000000, | ||
1187 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1188 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1189 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1190 | 0x00000a0c, 0x00100008, 0x11008a0d, 0x00100028, | ||
1191 | 0x2181050e, 0x00100038, 0x2181050e, 0x00100038, | ||
1192 | 0x1181850d, 0x00100038, 0x2981450f, 0x01100038, | ||
1193 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1194 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1195 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1196 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1197 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1198 | 0x08004a04, 0x00100000, 0x01000a05, 0x00100020, | ||
1199 | 0x0180c506, 0x00100030, 0x0180c506, 0x00100030, | ||
1200 | 0x2180c50c, 0x00100030, 0x49820a0d, 0x0016a130, | ||
1201 | 0x41824a0d, 0x0016a130, 0x2981450f, 0x01100030, | ||
1202 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1203 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1204 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1205 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1206 | 0x2000ca0c, 0x00100000, 0x49820a0d, 0x0016a130, | ||
1207 | 0x1980c50e, 0x00100030, 0x41824a0d, 0x0016a130, | ||
1208 | 0x2981450f, 0x01100030, 0x00000000, 0x00000000, | ||
1209 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1210 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1211 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1212 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1213 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1214 | 0x4002140c, 0x00100008, 0x0200140d, 0x00100048, | ||
1215 | 0x0b004a0e, 0x01900068, 0x13008a0e, 0x01900068, | ||
1216 | 0x13008a0e, 0x01900068, 0x43020a0c, 0x00100070, | ||
1217 | 0x1b00ca0d, 0x00100070, 0x1b014a0d, 0x00100070, | ||
1218 | 0x23010a0f, 0x01500070, 0x00000000, 0x00000000, | ||
1219 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1220 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1221 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1222 | 0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050, | ||
1223 | 0x13008a0e, 0x01900070, 0x13008a0e, 0x01900070, | ||
1224 | 0x1b014a0d, 0x00100070, 0x23010a0f, 0x01500070, | ||
1225 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1226 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1227 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1228 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1229 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1230 | 0x50029404, 0x00100000, 0x32019405, 0x00100040, | ||
1231 | 0x03004a06, 0x01900060, 0x03004a06, 0x01900060, | ||
1232 | 0x6b030a0c, 0x00100060, 0x4b02140d, 0x0016a160, | ||
1233 | 0x4302540d, 0x0016a160, 0x23010a0f, 0x01500060, | ||
1234 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1235 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1236 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1237 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1238 | 0x6b03140c, 0x00100060, 0x4b02140d, 0x0016a160, | ||
1239 | 0x0b004a0e, 0x01900060, 0x4302540d, 0x0016a160, | ||
1240 | 0x23010a0f, 0x01500060, 0x00000000, 0x00000000, | ||
1241 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1242 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1243 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1244 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1245 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1246 | 0x40021404, 0x00100000, 0x1a00d405, 0x00100040, | ||
1247 | 0x53028a06, 0x01900060, 0x5b02ca06, 0x01900060, | ||
1248 | 0x5b02ca06, 0x01900060, 0x43020a04, 0x00100060, | ||
1249 | 0x1b00ca05, 0x00100060, 0x53028a07, 0x0190c060, | ||
1250 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1251 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1252 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1253 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1254 | 0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050, | ||
1255 | 0x53028a0e, 0x01900070, 0x5b02ca0e, 0x01900070, | ||
1256 | 0x5b02ca0e, 0x01900070, 0x43020a0c, 0x00100070, | ||
1257 | 0x1b00ca0d, 0x00100070, 0x53028a0f, 0x0190c070, | ||
1258 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1259 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1260 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1261 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1262 | 0x40021404, 0x00100000, 0x1a00d405, 0x00100040, | ||
1263 | 0x5b02ca06, 0x01900060, 0x5b02ca06, 0x01900060, | ||
1264 | 0x53028a07, 0x0190c060, 0x00000000, 0x00000000, | ||
1265 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1266 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1267 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1268 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1269 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1270 | 0x4002140c, 0x00100010, 0x1a00d40d, 0x00100050, | ||
1271 | 0x5b02ca0e, 0x01900070, 0x5b02ca0e, 0x01900070, | ||
1272 | 0x53028a0f, 0x0190c070, 0x00000000, 0x00000000, | ||
1273 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1274 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1275 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1276 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1277 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1278 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1279 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1280 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1281 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1282 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1283 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1284 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1285 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1286 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1287 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1288 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1289 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1290 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1291 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1292 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1293 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1294 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1295 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1296 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1297 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1298 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1299 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1300 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1301 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1302 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1303 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1304 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1305 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1306 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1307 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1308 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1309 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1310 | }; | ||
1311 | |||
1312 | static const u16 b43_ntab_pilot_r3[] = { | ||
1313 | 0xff08, 0xff08, 0xff08, 0xff08, 0xff08, 0xff08, | ||
1314 | 0xff08, 0xff08, 0x80d5, 0x80d5, 0x80d5, 0x80d5, | ||
1315 | 0x80d5, 0x80d5, 0x80d5, 0x80d5, 0xff0a, 0xff82, | ||
1316 | 0xffa0, 0xff28, 0xffff, 0xffff, 0xffff, 0xffff, | ||
1317 | 0xff82, 0xffa0, 0xff28, 0xff0a, 0xffff, 0xffff, | ||
1318 | 0xffff, 0xffff, 0xf83f, 0xfa1f, 0xfa97, 0xfab5, | ||
1319 | 0xf2bd, 0xf0bf, 0xffff, 0xffff, 0xf017, 0xf815, | ||
1320 | 0xf215, 0xf095, 0xf035, 0xf01d, 0xffff, 0xffff, | ||
1321 | 0xff08, 0xff02, 0xff80, 0xff20, 0xff08, 0xff02, | ||
1322 | 0xff80, 0xff20, 0xf01f, 0xf817, 0xfa15, 0xf295, | ||
1323 | 0xf0b5, 0xf03d, 0xffff, 0xffff, 0xf82a, 0xfa0a, | ||
1324 | 0xfa82, 0xfaa0, 0xf2a8, 0xf0aa, 0xffff, 0xffff, | ||
1325 | 0xf002, 0xf800, 0xf200, 0xf080, 0xf020, 0xf008, | ||
1326 | 0xffff, 0xffff, 0xf00a, 0xf802, 0xfa00, 0xf280, | ||
1327 | 0xf0a0, 0xf028, 0xffff, 0xffff, | ||
1328 | }; | ||
1329 | |||
1330 | static const u32 b43_ntab_tmap_r3[] = { | ||
1331 | 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, | ||
1332 | 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1333 | 0xf1111110, 0x11111111, 0x11f11111, 0x00000111, | ||
1334 | 0x11000000, 0x1111f111, 0x11111111, 0x111111f1, | ||
1335 | 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x000aa888, | ||
1336 | 0x88880000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1337 | 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, | ||
1338 | 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, | ||
1339 | 0xa2222220, 0x22222222, 0x22c22222, 0x00000222, | ||
1340 | 0x22000000, 0x2222a222, 0x22222222, 0x222222a2, | ||
1341 | 0xf1111110, 0x11111111, 0x11f11111, 0x00011111, | ||
1342 | 0x11110000, 0x1111f111, 0x11111111, 0x111111f1, | ||
1343 | 0xa8aa88a0, 0xa88888a8, 0xa8a8a88a, 0x00088aaa, | ||
1344 | 0xaaaa0000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a, | ||
1345 | 0xaaa8aaa0, 0x8aaa8aaa, 0xaa8a8a8a, 0x000aaa88, | ||
1346 | 0x8aaa0000, 0xaaa8a888, 0x8aa88a8a, 0x8a88a888, | ||
1347 | 0x08080a00, 0x0a08080a, 0x080a0a08, 0x00080808, | ||
1348 | 0x080a0000, 0x080a0808, 0x080a0808, 0x0a0a0a08, | ||
1349 | 0xa0a0a0a0, 0x80a0a080, 0x8080a0a0, 0x00008080, | ||
1350 | 0x80a00000, 0x80a080a0, 0xa080a0a0, 0x8080a0a0, | ||
1351 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1352 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1353 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1354 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1355 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1356 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1357 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1358 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1359 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1360 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1361 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1362 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1363 | 0x99999000, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9, | ||
1364 | 0x9b99bb90, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999, | ||
1365 | 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1366 | 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00aaa888, | ||
1367 | 0x22000000, 0x2222b222, 0x22222222, 0x222222b2, | ||
1368 | 0xb2222220, 0x22222222, 0x22d22222, 0x00000222, | ||
1369 | 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, | ||
1370 | 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, | ||
1371 | 0x33000000, 0x3333b333, 0x33333333, 0x333333b3, | ||
1372 | 0xb3333330, 0x33333333, 0x33d33333, 0x00000333, | ||
1373 | 0x22000000, 0x2222a222, 0x22222222, 0x222222a2, | ||
1374 | 0xa2222220, 0x22222222, 0x22c22222, 0x00000222, | ||
1375 | 0x99b99b00, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9, | ||
1376 | 0x9b99bb99, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999, | ||
1377 | 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1378 | 0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x08aaa888, | ||
1379 | 0x22222200, 0x2222f222, 0x22222222, 0x222222f2, | ||
1380 | 0x22222222, 0x22222222, 0x22f22222, 0x00000222, | ||
1381 | 0x11000000, 0x1111f111, 0x11111111, 0x11111111, | ||
1382 | 0xf1111111, 0x11111111, 0x11f11111, 0x01111111, | ||
1383 | 0xbb9bb900, 0xb9b9bb99, 0xb99bbbbb, 0xbbbb9b9b, | ||
1384 | 0xb9bb99bb, 0xb99999b9, 0xb9b9b99b, 0x00000bbb, | ||
1385 | 0xaa000000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a, | ||
1386 | 0xa8aa88aa, 0xa88888a8, 0xa8a8a88a, 0x0a888aaa, | ||
1387 | 0xaa000000, 0xa8a8aa88, 0xa88aaaaa, 0xaaaa8a8a, | ||
1388 | 0xa8aa88a0, 0xa88888a8, 0xa8a8a88a, 0x00000aaa, | ||
1389 | 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1390 | 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, | ||
1391 | 0xbbbbbb00, 0x999bbbbb, 0x9bb99b9b, 0xb9b9b9bb, | ||
1392 | 0xb9b99bbb, 0xb9b9b9bb, 0xb9bb9b99, 0x00000999, | ||
1393 | 0x8a000000, 0xaa88a888, 0xa88888aa, 0xa88a8a88, | ||
1394 | 0xa88aa88a, 0x88a8aaaa, 0xa8aa8aaa, 0x0888a88a, | ||
1395 | 0x0b0b0b00, 0x090b0b0b, 0x0b090b0b, 0x0909090b, | ||
1396 | 0x09090b0b, 0x09090b0b, 0x09090b09, 0x00000909, | ||
1397 | 0x0a000000, 0x0a080808, 0x080a080a, 0x080a0a08, | ||
1398 | 0x080a080a, 0x0808080a, 0x0a0a0a08, 0x0808080a, | ||
1399 | 0xb0b0b000, 0x9090b0b0, 0x90b09090, 0xb0b0b090, | ||
1400 | 0xb0b090b0, 0x90b0b0b0, 0xb0b09090, 0x00000090, | ||
1401 | 0x80000000, 0xa080a080, 0xa08080a0, 0xa0808080, | ||
1402 | 0xa080a080, 0x80a0a0a0, 0xa0a080a0, 0x00a0a0a0, | ||
1403 | 0x22000000, 0x2222f222, 0x22222222, 0x222222f2, | ||
1404 | 0xf2222220, 0x22222222, 0x22f22222, 0x00000222, | ||
1405 | 0x11000000, 0x1111f111, 0x11111111, 0x111111f1, | ||
1406 | 0xf1111110, 0x11111111, 0x11f11111, 0x00000111, | ||
1407 | 0x33000000, 0x3333f333, 0x33333333, 0x333333f3, | ||
1408 | 0xf3333330, 0x33333333, 0x33f33333, 0x00000333, | ||
1409 | 0x22000000, 0x2222f222, 0x22222222, 0x222222f2, | ||
1410 | 0xf2222220, 0x22222222, 0x22f22222, 0x00000222, | ||
1411 | 0x99000000, 0x9b9b99bb, 0x9bb99999, 0x9999b9b9, | ||
1412 | 0x9b99bb90, 0x9bbbbb9b, 0x9b9b9bb9, 0x00000999, | ||
1413 | 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1414 | 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, | ||
1415 | 0x88888000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1416 | 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, | ||
1417 | 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1418 | 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00aaa888, | ||
1419 | 0x88a88a00, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1420 | 0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, | ||
1421 | 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1422 | 0x8a88aa88, 0x8aaaaa8a, 0x8a8a8aa8, 0x08aaa888, | ||
1423 | 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, | ||
1424 | 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, | ||
1425 | 0x11000000, 0x1111a111, 0x11111111, 0x111111a1, | ||
1426 | 0xa1111110, 0x11111111, 0x11c11111, 0x00000111, | ||
1427 | 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1428 | 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, | ||
1429 | 0x88000000, 0x8a8a88aa, 0x8aa88888, 0x8888a8a8, | ||
1430 | 0x8a88aa80, 0x8aaaaa8a, 0x8a8a8aa8, 0x00000888, | ||
1431 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1432 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1433 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1434 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1435 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1436 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1437 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1438 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1439 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1440 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1441 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1442 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1443 | }; | ||
1444 | |||
1445 | static const u32 b43_ntab_intlevel_r3[] = { | ||
1446 | 0x00802070, 0x0671188d, 0x0a60192c, 0x0a300e46, | ||
1447 | 0x00c1188d, 0x080024d2, 0x00000070, | ||
1448 | }; | ||
1449 | |||
1450 | static const u32 b43_ntab_tdtrn_r3[] = { | ||
1451 | 0x061c061c, 0x0050ee68, 0xf592fe36, 0xfe5212f6, | ||
1452 | 0x00000c38, 0xfe5212f6, 0xf592fe36, 0x0050ee68, | ||
1453 | 0x061c061c, 0xee680050, 0xfe36f592, 0x12f6fe52, | ||
1454 | 0x0c380000, 0x12f6fe52, 0xfe36f592, 0xee680050, | ||
1455 | 0x061c061c, 0x0050ee68, 0xf592fe36, 0xfe5212f6, | ||
1456 | 0x00000c38, 0xfe5212f6, 0xf592fe36, 0x0050ee68, | ||
1457 | 0x061c061c, 0xee680050, 0xfe36f592, 0x12f6fe52, | ||
1458 | 0x0c380000, 0x12f6fe52, 0xfe36f592, 0xee680050, | ||
1459 | 0x05e305e3, 0x004def0c, 0xf5f3fe47, 0xfe611246, | ||
1460 | 0x00000bc7, 0xfe611246, 0xf5f3fe47, 0x004def0c, | ||
1461 | 0x05e305e3, 0xef0c004d, 0xfe47f5f3, 0x1246fe61, | ||
1462 | 0x0bc70000, 0x1246fe61, 0xfe47f5f3, 0xef0c004d, | ||
1463 | 0x05e305e3, 0x004def0c, 0xf5f3fe47, 0xfe611246, | ||
1464 | 0x00000bc7, 0xfe611246, 0xf5f3fe47, 0x004def0c, | ||
1465 | 0x05e305e3, 0xef0c004d, 0xfe47f5f3, 0x1246fe61, | ||
1466 | 0x0bc70000, 0x1246fe61, 0xfe47f5f3, 0xef0c004d, | ||
1467 | 0xfa58fa58, 0xf895043b, 0xff4c09c0, 0xfbc6ffa8, | ||
1468 | 0xfb84f384, 0x0798f6f9, 0x05760122, 0x058409f6, | ||
1469 | 0x0b500000, 0x05b7f542, 0x08860432, 0x06ddfee7, | ||
1470 | 0xfb84f384, 0xf9d90664, 0xf7e8025c, 0x00fff7bd, | ||
1471 | 0x05a805a8, 0xf7bd00ff, 0x025cf7e8, 0x0664f9d9, | ||
1472 | 0xf384fb84, 0xfee706dd, 0x04320886, 0xf54205b7, | ||
1473 | 0x00000b50, 0x09f60584, 0x01220576, 0xf6f90798, | ||
1474 | 0xf384fb84, 0xffa8fbc6, 0x09c0ff4c, 0x043bf895, | ||
1475 | 0x02d402d4, 0x07de0270, 0xfc96079c, 0xf90afe94, | ||
1476 | 0xfe00ff2c, 0x02d4065d, 0x092a0096, 0x0014fbb8, | ||
1477 | 0xfd2cfd2c, 0x076afb3c, 0x0096f752, 0xf991fd87, | ||
1478 | 0xfb2c0200, 0xfeb8f960, 0x08e0fc96, 0x049802a8, | ||
1479 | 0xfd2cfd2c, 0x02a80498, 0xfc9608e0, 0xf960feb8, | ||
1480 | 0x0200fb2c, 0xfd87f991, 0xf7520096, 0xfb3c076a, | ||
1481 | 0xfd2cfd2c, 0xfbb80014, 0x0096092a, 0x065d02d4, | ||
1482 | 0xff2cfe00, 0xfe94f90a, 0x079cfc96, 0x027007de, | ||
1483 | 0x02d402d4, 0x027007de, 0x079cfc96, 0xfe94f90a, | ||
1484 | 0xff2cfe00, 0x065d02d4, 0x0096092a, 0xfbb80014, | ||
1485 | 0xfd2cfd2c, 0xfb3c076a, 0xf7520096, 0xfd87f991, | ||
1486 | 0x0200fb2c, 0xf960feb8, 0xfc9608e0, 0x02a80498, | ||
1487 | 0xfd2cfd2c, 0x049802a8, 0x08e0fc96, 0xfeb8f960, | ||
1488 | 0xfb2c0200, 0xf991fd87, 0x0096f752, 0x076afb3c, | ||
1489 | 0xfd2cfd2c, 0x0014fbb8, 0x092a0096, 0x02d4065d, | ||
1490 | 0xfe00ff2c, 0xf90afe94, 0xfc96079c, 0x07de0270, | ||
1491 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1492 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1493 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1494 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1495 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1496 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1497 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1498 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1499 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1500 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1501 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1502 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1503 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1504 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1505 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1506 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1507 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1508 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1509 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1510 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1511 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1512 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1513 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1514 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
1515 | 0x062a0000, 0xfefa0759, 0x08b80908, 0xf396fc2d, | ||
1516 | 0xf9d6045c, 0xfc4ef608, 0xf748f596, 0x07b207bf, | ||
1517 | 0x062a062a, 0xf84ef841, 0xf748f596, 0x03b209f8, | ||
1518 | 0xf9d6045c, 0x0c6a03d3, 0x08b80908, 0x0106f8a7, | ||
1519 | 0x062a0000, 0xfefaf8a7, 0x08b8f6f8, 0xf39603d3, | ||
1520 | 0xf9d6fba4, 0xfc4e09f8, 0xf7480a6a, 0x07b2f841, | ||
1521 | 0x062af9d6, 0xf84e07bf, 0xf7480a6a, 0x03b2f608, | ||
1522 | 0xf9d6fba4, 0x0c6afc2d, 0x08b8f6f8, 0x01060759, | ||
1523 | 0x062a0000, 0xfefa0759, 0x08b80908, 0xf396fc2d, | ||
1524 | 0xf9d6045c, 0xfc4ef608, 0xf748f596, 0x07b207bf, | ||
1525 | 0x062a062a, 0xf84ef841, 0xf748f596, 0x03b209f8, | ||
1526 | 0xf9d6045c, 0x0c6a03d3, 0x08b80908, 0x0106f8a7, | ||
1527 | 0x062a0000, 0xfefaf8a7, 0x08b8f6f8, 0xf39603d3, | ||
1528 | 0xf9d6fba4, 0xfc4e09f8, 0xf7480a6a, 0x07b2f841, | ||
1529 | 0x062af9d6, 0xf84e07bf, 0xf7480a6a, 0x03b2f608, | ||
1530 | 0xf9d6fba4, 0x0c6afc2d, 0x08b8f6f8, 0x01060759, | ||
1531 | 0x061c061c, 0xff30009d, 0xffb21141, 0xfd87fb54, | ||
1532 | 0xf65dfe59, 0x02eef99e, 0x0166f03c, 0xfff809b6, | ||
1533 | 0x000008a4, 0x000af42b, 0x00eff577, 0xfa840bf2, | ||
1534 | 0xfc02ff51, 0x08260f67, 0xfff0036f, 0x0842f9c3, | ||
1535 | 0x00000000, 0x063df7be, 0xfc910010, 0xf099f7da, | ||
1536 | 0x00af03fe, 0xf40e057c, 0x0a89ff11, 0x0bd5fff6, | ||
1537 | 0xf75c0000, 0xf64a0008, 0x0fc4fe9a, 0x0662fd12, | ||
1538 | 0x01a709a3, 0x04ac0279, 0xeebf004e, 0xff6300d0, | ||
1539 | 0xf9e4f9e4, 0x00d0ff63, 0x004eeebf, 0x027904ac, | ||
1540 | 0x09a301a7, 0xfd120662, 0xfe9a0fc4, 0x0008f64a, | ||
1541 | 0x0000f75c, 0xfff60bd5, 0xff110a89, 0x057cf40e, | ||
1542 | 0x03fe00af, 0xf7daf099, 0x0010fc91, 0xf7be063d, | ||
1543 | 0x00000000, 0xf9c30842, 0x036ffff0, 0x0f670826, | ||
1544 | 0xff51fc02, 0x0bf2fa84, 0xf57700ef, 0xf42b000a, | ||
1545 | 0x08a40000, 0x09b6fff8, 0xf03c0166, 0xf99e02ee, | ||
1546 | 0xfe59f65d, 0xfb54fd87, 0x1141ffb2, 0x009dff30, | ||
1547 | 0x05e30000, 0xff060705, 0x085408a0, 0xf425fc59, | ||
1548 | 0xfa1d042a, 0xfc78f67a, 0xf7acf60e, 0x075a0766, | ||
1549 | 0x05e305e3, 0xf8a6f89a, 0xf7acf60e, 0x03880986, | ||
1550 | 0xfa1d042a, 0x0bdb03a7, 0x085408a0, 0x00faf8fb, | ||
1551 | 0x05e30000, 0xff06f8fb, 0x0854f760, 0xf42503a7, | ||
1552 | 0xfa1dfbd6, 0xfc780986, 0xf7ac09f2, 0x075af89a, | ||
1553 | 0x05e3fa1d, 0xf8a60766, 0xf7ac09f2, 0x0388f67a, | ||
1554 | 0xfa1dfbd6, 0x0bdbfc59, 0x0854f760, 0x00fa0705, | ||
1555 | 0x05e30000, 0xff060705, 0x085408a0, 0xf425fc59, | ||
1556 | 0xfa1d042a, 0xfc78f67a, 0xf7acf60e, 0x075a0766, | ||
1557 | 0x05e305e3, 0xf8a6f89a, 0xf7acf60e, 0x03880986, | ||
1558 | 0xfa1d042a, 0x0bdb03a7, 0x085408a0, 0x00faf8fb, | ||
1559 | 0x05e30000, 0xff06f8fb, 0x0854f760, 0xf42503a7, | ||
1560 | 0xfa1dfbd6, 0xfc780986, 0xf7ac09f2, 0x075af89a, | ||
1561 | 0x05e3fa1d, 0xf8a60766, 0xf7ac09f2, 0x0388f67a, | ||
1562 | 0xfa1dfbd6, 0x0bdbfc59, 0x0854f760, 0x00fa0705, | ||
1563 | 0xfa58fa58, 0xf8f0fe00, 0x0448073d, 0xfdc9fe46, | ||
1564 | 0xf9910258, 0x089d0407, 0xfd5cf71a, 0x02affde0, | ||
1565 | 0x083e0496, 0xff5a0740, 0xff7afd97, 0x00fe01f1, | ||
1566 | 0x0009082e, 0xfa94ff75, 0xfecdf8ea, 0xffb0f693, | ||
1567 | 0xfd2cfa58, 0x0433ff16, 0xfba405dd, 0xfa610341, | ||
1568 | 0x06a606cb, 0x0039fd2d, 0x0677fa97, 0x01fa05e0, | ||
1569 | 0xf896003e, 0x075a068b, 0x012cfc3e, 0xfa23f98d, | ||
1570 | 0xfc7cfd43, 0xff90fc0d, 0x01c10982, 0x00c601d6, | ||
1571 | 0xfd2cfd2c, 0x01d600c6, 0x098201c1, 0xfc0dff90, | ||
1572 | 0xfd43fc7c, 0xf98dfa23, 0xfc3e012c, 0x068b075a, | ||
1573 | 0x003ef896, 0x05e001fa, 0xfa970677, 0xfd2d0039, | ||
1574 | 0x06cb06a6, 0x0341fa61, 0x05ddfba4, 0xff160433, | ||
1575 | 0xfa58fd2c, 0xf693ffb0, 0xf8eafecd, 0xff75fa94, | ||
1576 | 0x082e0009, 0x01f100fe, 0xfd97ff7a, 0x0740ff5a, | ||
1577 | 0x0496083e, 0xfde002af, 0xf71afd5c, 0x0407089d, | ||
1578 | 0x0258f991, 0xfe46fdc9, 0x073d0448, 0xfe00f8f0, | ||
1579 | 0xfd2cfd2c, 0xfce00500, 0xfc09fddc, 0xfe680157, | ||
1580 | 0x04c70571, 0xfc3aff21, 0xfcd70228, 0x056d0277, | ||
1581 | 0x0200fe00, 0x0022f927, 0xfe3c032b, 0xfc44ff3c, | ||
1582 | 0x03e9fbdb, 0x04570313, 0x04c9ff5c, 0x000d03b8, | ||
1583 | 0xfa580000, 0xfbe900d2, 0xf9d0fe0b, 0x0125fdf9, | ||
1584 | 0x042501bf, 0x0328fa2b, 0xffa902f0, 0xfa250157, | ||
1585 | 0x0200fe00, 0x03740438, 0xff0405fd, 0x030cfe52, | ||
1586 | 0x0037fb39, 0xff6904c5, 0x04f8fd23, 0xfd31fc1b, | ||
1587 | 0xfd2cfd2c, 0xfc1bfd31, 0xfd2304f8, 0x04c5ff69, | ||
1588 | 0xfb390037, 0xfe52030c, 0x05fdff04, 0x04380374, | ||
1589 | 0xfe000200, 0x0157fa25, 0x02f0ffa9, 0xfa2b0328, | ||
1590 | 0x01bf0425, 0xfdf90125, 0xfe0bf9d0, 0x00d2fbe9, | ||
1591 | 0x0000fa58, 0x03b8000d, 0xff5c04c9, 0x03130457, | ||
1592 | 0xfbdb03e9, 0xff3cfc44, 0x032bfe3c, 0xf9270022, | ||
1593 | 0xfe000200, 0x0277056d, 0x0228fcd7, 0xff21fc3a, | ||
1594 | 0x057104c7, 0x0157fe68, 0xfddcfc09, 0x0500fce0, | ||
1595 | 0xfd2cfd2c, 0x0500fce0, 0xfddcfc09, 0x0157fe68, | ||
1596 | 0x057104c7, 0xff21fc3a, 0x0228fcd7, 0x0277056d, | ||
1597 | 0xfe000200, 0xf9270022, 0x032bfe3c, 0xff3cfc44, | ||
1598 | 0xfbdb03e9, 0x03130457, 0xff5c04c9, 0x03b8000d, | ||
1599 | 0x0000fa58, 0x00d2fbe9, 0xfe0bf9d0, 0xfdf90125, | ||
1600 | 0x01bf0425, 0xfa2b0328, 0x02f0ffa9, 0x0157fa25, | ||
1601 | 0xfe000200, 0x04380374, 0x05fdff04, 0xfe52030c, | ||
1602 | 0xfb390037, 0x04c5ff69, 0xfd2304f8, 0xfc1bfd31, | ||
1603 | 0xfd2cfd2c, 0xfd31fc1b, 0x04f8fd23, 0xff6904c5, | ||
1604 | 0x0037fb39, 0x030cfe52, 0xff0405fd, 0x03740438, | ||
1605 | 0x0200fe00, 0xfa250157, 0xffa902f0, 0x0328fa2b, | ||
1606 | 0x042501bf, 0x0125fdf9, 0xf9d0fe0b, 0xfbe900d2, | ||
1607 | 0xfa580000, 0x000d03b8, 0x04c9ff5c, 0x04570313, | ||
1608 | 0x03e9fbdb, 0xfc44ff3c, 0xfe3c032b, 0x0022f927, | ||
1609 | 0x0200fe00, 0x056d0277, 0xfcd70228, 0xfc3aff21, | ||
1610 | 0x04c70571, 0xfe680157, 0xfc09fddc, 0xfce00500, | ||
1611 | 0x05a80000, 0xff1006be, 0x0800084a, 0xf49cfc7e, | ||
1612 | 0xfa580400, 0xfc9cf6da, 0xf800f672, 0x0710071c, | ||
1613 | 0x05a805a8, 0xf8f0f8e4, 0xf800f672, 0x03640926, | ||
1614 | 0xfa580400, 0x0b640382, 0x0800084a, 0x00f0f942, | ||
1615 | 0x05a80000, 0xff10f942, 0x0800f7b6, 0xf49c0382, | ||
1616 | 0xfa58fc00, 0xfc9c0926, 0xf800098e, 0x0710f8e4, | ||
1617 | 0x05a8fa58, 0xf8f0071c, 0xf800098e, 0x0364f6da, | ||
1618 | 0xfa58fc00, 0x0b64fc7e, 0x0800f7b6, 0x00f006be, | ||
1619 | 0x05a80000, 0xff1006be, 0x0800084a, 0xf49cfc7e, | ||
1620 | 0xfa580400, 0xfc9cf6da, 0xf800f672, 0x0710071c, | ||
1621 | 0x05a805a8, 0xf8f0f8e4, 0xf800f672, 0x03640926, | ||
1622 | 0xfa580400, 0x0b640382, 0x0800084a, 0x00f0f942, | ||
1623 | 0x05a80000, 0xff10f942, 0x0800f7b6, 0xf49c0382, | ||
1624 | 0xfa58fc00, 0xfc9c0926, 0xf800098e, 0x0710f8e4, | ||
1625 | 0x05a8fa58, 0xf8f0071c, 0xf800098e, 0x0364f6da, | ||
1626 | 0xfa58fc00, 0x0b64fc7e, 0x0800f7b6, 0x00f006be, | ||
1627 | }; | ||
1628 | |||
1629 | static const u32 b43_ntab_noisevar0_r3[] = { | ||
1630 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1631 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1632 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1633 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1634 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1635 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1636 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1637 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1638 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1639 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1640 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1641 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1642 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1643 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1644 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1645 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1646 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1647 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1648 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1649 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1650 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1651 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1652 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1653 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1654 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1655 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1656 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1657 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1658 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1659 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1660 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1661 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1662 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1663 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1664 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1665 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1666 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1667 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1668 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1669 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1670 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1671 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1672 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1673 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1674 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1675 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1676 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1677 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1678 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1679 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1680 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1681 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1682 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1683 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1684 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1685 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1686 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1687 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1688 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1689 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1690 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1691 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1692 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1693 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1694 | }; | ||
1695 | |||
1696 | static const u32 b43_ntab_noisevar1_r3[] = { | ||
1697 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1698 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1699 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1700 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1701 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1702 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1703 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1704 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1705 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1706 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1707 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1708 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1709 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1710 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1711 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1712 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1713 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1714 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1715 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1716 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1717 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1718 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1719 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1720 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1721 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1722 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1723 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1724 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1725 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1726 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1727 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1728 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1729 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1730 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1731 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1732 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1733 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1734 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1735 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1736 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1737 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1738 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1739 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1740 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1741 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1742 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1743 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1744 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1745 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1746 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1747 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1748 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1749 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1750 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1751 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1752 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1753 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1754 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1755 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1756 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1757 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1758 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1759 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1760 | 0x02110211, 0x0000014d, 0x02110211, 0x0000014d, | ||
1761 | }; | ||
1762 | |||
1763 | static const u16 b43_ntab_mcs_r3[] = { | ||
1764 | 0x0000, 0x0008, 0x000a, 0x0010, 0x0012, 0x0019, | ||
1765 | 0x001a, 0x001c, 0x0080, 0x0088, 0x008a, 0x0090, | ||
1766 | 0x0092, 0x0099, 0x009a, 0x009c, 0x0100, 0x0108, | ||
1767 | 0x010a, 0x0110, 0x0112, 0x0119, 0x011a, 0x011c, | ||
1768 | 0x0180, 0x0188, 0x018a, 0x0190, 0x0192, 0x0199, | ||
1769 | 0x019a, 0x019c, 0x0000, 0x0098, 0x00a0, 0x00a8, | ||
1770 | 0x009a, 0x00a2, 0x00aa, 0x0120, 0x0128, 0x0128, | ||
1771 | 0x0130, 0x0138, 0x0138, 0x0140, 0x0122, 0x012a, | ||
1772 | 0x012a, 0x0132, 0x013a, 0x013a, 0x0142, 0x01a8, | ||
1773 | 0x01b0, 0x01b8, 0x01b0, 0x01b8, 0x01c0, 0x01c8, | ||
1774 | 0x01c0, 0x01c8, 0x01d0, 0x01d0, 0x01d8, 0x01aa, | ||
1775 | 0x01b2, 0x01ba, 0x01b2, 0x01ba, 0x01c2, 0x01ca, | ||
1776 | 0x01c2, 0x01ca, 0x01d2, 0x01d2, 0x01da, 0x0001, | ||
1777 | 0x0002, 0x0004, 0x0009, 0x000c, 0x0011, 0x0014, | ||
1778 | 0x0018, 0x0020, 0x0021, 0x0022, 0x0024, 0x0081, | ||
1779 | 0x0082, 0x0084, 0x0089, 0x008c, 0x0091, 0x0094, | ||
1780 | 0x0098, 0x00a0, 0x00a1, 0x00a2, 0x00a4, 0x0007, | ||
1781 | 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, | ||
1782 | 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, | ||
1783 | 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, | ||
1784 | 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, 0x0007, | ||
1785 | 0x0007, 0x0007, | ||
1786 | }; | ||
1787 | |||
1788 | static const u32 b43_ntab_tdi20a0_r3[] = { | ||
1789 | 0x00091226, 0x000a1429, 0x000b56ad, 0x000c58b0, | ||
1790 | 0x000d5ab3, 0x000e9cb6, 0x000f9eba, 0x0000c13d, | ||
1791 | 0x00020301, 0x00030504, 0x00040708, 0x0005090b, | ||
1792 | 0x00064b8e, 0x00095291, 0x000a5494, 0x000b9718, | ||
1793 | 0x000c9927, 0x000d9b2a, 0x000edd2e, 0x000fdf31, | ||
1794 | 0x000101b4, 0x000243b7, 0x000345bb, 0x000447be, | ||
1795 | 0x00058982, 0x00068c05, 0x00099309, 0x000a950c, | ||
1796 | 0x000bd78f, 0x000cd992, 0x000ddb96, 0x000f1d99, | ||
1797 | 0x00005fa8, 0x0001422c, 0x0002842f, 0x00038632, | ||
1798 | 0x00048835, 0x0005ca38, 0x0006ccbc, 0x0009d3bf, | ||
1799 | 0x000b1603, 0x000c1806, 0x000d1a0a, 0x000e1c0d, | ||
1800 | 0x000f5e10, 0x00008093, 0x00018297, 0x0002c49a, | ||
1801 | 0x0003c680, 0x0004c880, 0x00060b00, 0x00070d00, | ||
1802 | 0x00000000, 0x00000000, 0x00000000, | ||
1803 | }; | ||
1804 | |||
1805 | static const u32 b43_ntab_tdi20a1_r3[] = { | ||
1806 | 0x00014b26, 0x00028d29, 0x000393ad, 0x00049630, | ||
1807 | 0x0005d833, 0x0006da36, 0x00099c3a, 0x000a9e3d, | ||
1808 | 0x000bc081, 0x000cc284, 0x000dc488, 0x000f068b, | ||
1809 | 0x0000488e, 0x00018b91, 0x0002d214, 0x0003d418, | ||
1810 | 0x0004d6a7, 0x000618aa, 0x00071aae, 0x0009dcb1, | ||
1811 | 0x000b1eb4, 0x000c0137, 0x000d033b, 0x000e053e, | ||
1812 | 0x000f4702, 0x00008905, 0x00020c09, 0x0003128c, | ||
1813 | 0x0004148f, 0x00051712, 0x00065916, 0x00091b19, | ||
1814 | 0x000a1d28, 0x000b5f2c, 0x000c41af, 0x000d43b2, | ||
1815 | 0x000e85b5, 0x000f87b8, 0x0000c9bc, 0x00024cbf, | ||
1816 | 0x00035303, 0x00045506, 0x0005978a, 0x0006998d, | ||
1817 | 0x00095b90, 0x000a5d93, 0x000b9f97, 0x000c821a, | ||
1818 | 0x000d8400, 0x000ec600, 0x000fc800, 0x00010a00, | ||
1819 | 0x00000000, 0x00000000, 0x00000000, | ||
1820 | }; | ||
1821 | |||
1822 | static const u32 b43_ntab_tdi40a0_r3[] = { | ||
1823 | 0x0011a346, 0x00136ccf, 0x0014f5d9, 0x001641e2, | ||
1824 | 0x0017cb6b, 0x00195475, 0x001b2383, 0x001cad0c, | ||
1825 | 0x001e7616, 0x0000821f, 0x00020ba8, 0x0003d4b2, | ||
1826 | 0x00056447, 0x00072dd0, 0x0008b6da, 0x000a02e3, | ||
1827 | 0x000b8c6c, 0x000d15f6, 0x0011e484, 0x0013ae0d, | ||
1828 | 0x00153717, 0x00168320, 0x00180ca9, 0x00199633, | ||
1829 | 0x001b6548, 0x001ceed1, 0x001eb7db, 0x0000c3e4, | ||
1830 | 0x00024d6d, 0x000416f7, 0x0005a585, 0x00076f0f, | ||
1831 | 0x0008f818, 0x000a4421, 0x000bcdab, 0x000d9734, | ||
1832 | 0x00122649, 0x0013efd2, 0x001578dc, 0x0016c4e5, | ||
1833 | 0x00184e6e, 0x001a17f8, 0x001ba686, 0x001d3010, | ||
1834 | 0x001ef999, 0x00010522, 0x00028eac, 0x00045835, | ||
1835 | 0x0005e74a, 0x0007b0d3, 0x00093a5d, 0x000a85e6, | ||
1836 | 0x000c0f6f, 0x000dd8f9, 0x00126787, 0x00143111, | ||
1837 | 0x0015ba9a, 0x00170623, 0x00188fad, 0x001a5936, | ||
1838 | 0x001be84b, 0x001db1d4, 0x001f3b5e, 0x000146e7, | ||
1839 | 0x00031070, 0x000499fa, 0x00062888, 0x0007f212, | ||
1840 | 0x00097b9b, 0x000ac7a4, 0x000c50ae, 0x000e1a37, | ||
1841 | 0x0012a94c, 0x001472d5, 0x0015fc5f, 0x00174868, | ||
1842 | 0x0018d171, 0x001a9afb, 0x001c2989, 0x001df313, | ||
1843 | 0x001f7c9c, 0x000188a5, 0x000351af, 0x0004db38, | ||
1844 | 0x0006aa4d, 0x000833d7, 0x0009bd60, 0x000b0969, | ||
1845 | 0x000c9273, 0x000e5bfc, 0x00132a8a, 0x0014b414, | ||
1846 | 0x00163d9d, 0x001789a6, 0x001912b0, 0x001adc39, | ||
1847 | 0x001c6bce, 0x001e34d8, 0x001fbe61, 0x0001ca6a, | ||
1848 | 0x00039374, 0x00051cfd, 0x0006ec0b, 0x00087515, | ||
1849 | 0x0009fe9e, 0x000b4aa7, 0x000cd3b1, 0x000e9d3a, | ||
1850 | 0x00000000, 0x00000000, | ||
1851 | }; | ||
1852 | |||
1853 | static const u32 b43_ntab_tdi40a1_r3[] = { | ||
1854 | 0x001edb36, 0x000129ca, 0x0002b353, 0x00047cdd, | ||
1855 | 0x0005c8e6, 0x000791ef, 0x00091bf9, 0x000aaa07, | ||
1856 | 0x000c3391, 0x000dfd1a, 0x00120923, 0x0013d22d, | ||
1857 | 0x00155c37, 0x0016eacb, 0x00187454, 0x001a3dde, | ||
1858 | 0x001b89e7, 0x001d12f0, 0x001f1cfa, 0x00016b88, | ||
1859 | 0x00033492, 0x0004be1b, 0x00060a24, 0x0007d32e, | ||
1860 | 0x00095d38, 0x000aec4c, 0x000c7555, 0x000e3edf, | ||
1861 | 0x00124ae8, 0x001413f1, 0x0015a37b, 0x00172c89, | ||
1862 | 0x0018b593, 0x001a419c, 0x001bcb25, 0x001d942f, | ||
1863 | 0x001f63b9, 0x0001ad4d, 0x00037657, 0x0004c260, | ||
1864 | 0x00068be9, 0x000814f3, 0x0009a47c, 0x000b2d8a, | ||
1865 | 0x000cb694, 0x000e429d, 0x00128c26, 0x001455b0, | ||
1866 | 0x0015e4ba, 0x00176e4e, 0x0018f758, 0x001a8361, | ||
1867 | 0x001c0cea, 0x001dd674, 0x001fa57d, 0x0001ee8b, | ||
1868 | 0x0003b795, 0x0005039e, 0x0006cd27, 0x000856b1, | ||
1869 | 0x0009e5c6, 0x000b6f4f, 0x000cf859, 0x000e8462, | ||
1870 | 0x00130deb, 0x00149775, 0x00162603, 0x0017af8c, | ||
1871 | 0x00193896, 0x001ac49f, 0x001c4e28, 0x001e17b2, | ||
1872 | 0x0000a6c7, 0x00023050, 0x0003f9da, 0x00054563, | ||
1873 | 0x00070eec, 0x00089876, 0x000a2704, 0x000bb08d, | ||
1874 | 0x000d3a17, 0x001185a0, 0x00134f29, 0x0014d8b3, | ||
1875 | 0x001667c8, 0x0017f151, 0x00197adb, 0x001b0664, | ||
1876 | 0x001c8fed, 0x001e5977, 0x0000e805, 0x0002718f, | ||
1877 | 0x00043b18, 0x000586a1, 0x0007502b, 0x0008d9b4, | ||
1878 | 0x000a68c9, 0x000bf252, 0x000dbbdc, 0x0011c7e5, | ||
1879 | 0x001390ee, 0x00151a78, 0x0016a906, 0x00183290, | ||
1880 | 0x0019bc19, 0x001b4822, 0x001cd12c, 0x001e9ab5, | ||
1881 | 0x00000000, 0x00000000, | ||
1882 | }; | ||
1883 | |||
1884 | static const u32 b43_ntab_pilotlt_r3[] = { | ||
1885 | 0x76540213, 0x62407351, 0x76543210, 0x76540213, | ||
1886 | 0x76540213, 0x76430521, | ||
1887 | }; | ||
1888 | |||
1889 | static const u32 b43_ntab_channelest_r3[] = { | ||
1890 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1891 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1892 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1893 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1894 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1895 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1896 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1897 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1898 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1899 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1900 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1901 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1902 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1903 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1904 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1905 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1906 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1907 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1908 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1909 | 0x44444444, 0x44444444, 0x44444444, 0x44444444, | ||
1910 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1911 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1912 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1913 | 0x10101010, 0x10101010, 0x10101010, 0x10101010, | ||
1914 | }; | ||
1915 | |||
1916 | static const u8 b43_ntab_framelookup_r3[] = { | ||
1917 | 0x02, 0x04, 0x14, 0x14, 0x03, 0x05, 0x16, 0x16, | ||
1918 | 0x0a, 0x0c, 0x1c, 0x1c, 0x0b, 0x0d, 0x1e, 0x1e, | ||
1919 | 0x06, 0x08, 0x18, 0x18, 0x07, 0x09, 0x1a, 0x1a, | ||
1920 | 0x0e, 0x10, 0x20, 0x28, 0x0f, 0x11, 0x22, 0x2a, | ||
1921 | }; | ||
1922 | |||
1923 | static const u8 b43_ntab_estimatepowerlt0_r3[] = { | ||
1924 | 0x55, 0x54, 0x54, 0x53, 0x52, 0x52, 0x51, 0x51, | ||
1925 | 0x50, 0x4f, 0x4f, 0x4e, 0x4e, 0x4d, 0x4c, 0x4c, | ||
1926 | 0x4b, 0x4a, 0x49, 0x49, 0x48, 0x47, 0x46, 0x46, | ||
1927 | 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x40, 0x3f, | ||
1928 | 0x3e, 0x3d, 0x3c, 0x3a, 0x39, 0x38, 0x37, 0x36, | ||
1929 | 0x35, 0x33, 0x32, 0x31, 0x2f, 0x2e, 0x2c, 0x2b, | ||
1930 | 0x29, 0x27, 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1a, | ||
1931 | 0x18, 0x15, 0x12, 0x0e, 0x0b, 0x07, 0x02, 0xfd, | ||
1932 | }; | ||
1933 | |||
1934 | static const u8 b43_ntab_estimatepowerlt1_r3[] = { | ||
1935 | 0x55, 0x54, 0x54, 0x53, 0x52, 0x52, 0x51, 0x51, | ||
1936 | 0x50, 0x4f, 0x4f, 0x4e, 0x4e, 0x4d, 0x4c, 0x4c, | ||
1937 | 0x4b, 0x4a, 0x49, 0x49, 0x48, 0x47, 0x46, 0x46, | ||
1938 | 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x40, 0x3f, | ||
1939 | 0x3e, 0x3d, 0x3c, 0x3a, 0x39, 0x38, 0x37, 0x36, | ||
1940 | 0x35, 0x33, 0x32, 0x31, 0x2f, 0x2e, 0x2c, 0x2b, | ||
1941 | 0x29, 0x27, 0x25, 0x23, 0x21, 0x1f, 0x1d, 0x1a, | ||
1942 | 0x18, 0x15, 0x12, 0x0e, 0x0b, 0x07, 0x02, 0xfd, | ||
1943 | }; | ||
1944 | |||
1945 | static const u8 b43_ntab_adjustpower0_r3[] = { | ||
1946 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1947 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1948 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1949 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1950 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1951 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1952 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1953 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1954 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1955 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1956 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1957 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1958 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1959 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1960 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1961 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1962 | }; | ||
1963 | |||
1964 | static const u8 b43_ntab_adjustpower1_r3[] = { | ||
1965 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1966 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1967 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1968 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1969 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1970 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1971 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1972 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1973 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1974 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1975 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1976 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1977 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1978 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1979 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1980 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
1981 | }; | ||
1982 | |||
1983 | static const u32 b43_ntab_gainctl0_r3[] = { | ||
1984 | 0x5bf70044, 0x5bf70042, 0x5bf70040, 0x5bf7003e, | ||
1985 | 0x5bf7003c, 0x5bf7003b, 0x5bf70039, 0x5bf70037, | ||
1986 | 0x5bf70036, 0x5bf70034, 0x5bf70033, 0x5bf70031, | ||
1987 | 0x5bf70030, 0x5ba70044, 0x5ba70042, 0x5ba70040, | ||
1988 | 0x5ba7003e, 0x5ba7003c, 0x5ba7003b, 0x5ba70039, | ||
1989 | 0x5ba70037, 0x5ba70036, 0x5ba70034, 0x5ba70033, | ||
1990 | 0x5b770044, 0x5b770042, 0x5b770040, 0x5b77003e, | ||
1991 | 0x5b77003c, 0x5b77003b, 0x5b770039, 0x5b770037, | ||
1992 | 0x5b770036, 0x5b770034, 0x5b770033, 0x5b770031, | ||
1993 | 0x5b770030, 0x5b77002f, 0x5b77002d, 0x5b77002c, | ||
1994 | 0x5b470044, 0x5b470042, 0x5b470040, 0x5b47003e, | ||
1995 | 0x5b47003c, 0x5b47003b, 0x5b470039, 0x5b470037, | ||
1996 | 0x5b470036, 0x5b470034, 0x5b470033, 0x5b470031, | ||
1997 | 0x5b470030, 0x5b47002f, 0x5b47002d, 0x5b47002c, | ||
1998 | 0x5b47002b, 0x5b47002a, 0x5b270044, 0x5b270042, | ||
1999 | 0x5b270040, 0x5b27003e, 0x5b27003c, 0x5b27003b, | ||
2000 | 0x5b270039, 0x5b270037, 0x5b270036, 0x5b270034, | ||
2001 | 0x5b270033, 0x5b270031, 0x5b270030, 0x5b27002f, | ||
2002 | 0x5b170044, 0x5b170042, 0x5b170040, 0x5b17003e, | ||
2003 | 0x5b17003c, 0x5b17003b, 0x5b170039, 0x5b170037, | ||
2004 | 0x5b170036, 0x5b170034, 0x5b170033, 0x5b170031, | ||
2005 | 0x5b170030, 0x5b17002f, 0x5b17002d, 0x5b17002c, | ||
2006 | 0x5b17002b, 0x5b17002a, 0x5b170028, 0x5b170027, | ||
2007 | 0x5b170026, 0x5b170025, 0x5b170024, 0x5b170023, | ||
2008 | 0x5b070044, 0x5b070042, 0x5b070040, 0x5b07003e, | ||
2009 | 0x5b07003c, 0x5b07003b, 0x5b070039, 0x5b070037, | ||
2010 | 0x5b070036, 0x5b070034, 0x5b070033, 0x5b070031, | ||
2011 | 0x5b070030, 0x5b07002f, 0x5b07002d, 0x5b07002c, | ||
2012 | 0x5b07002b, 0x5b07002a, 0x5b070028, 0x5b070027, | ||
2013 | 0x5b070026, 0x5b070025, 0x5b070024, 0x5b070023, | ||
2014 | 0x5b070022, 0x5b070021, 0x5b070020, 0x5b07001f, | ||
2015 | 0x5b07001e, 0x5b07001d, 0x5b07001d, 0x5b07001c, | ||
2016 | }; | ||
2017 | |||
2018 | static const u32 b43_ntab_gainctl1_r3[] = { | ||
2019 | 0x5bf70044, 0x5bf70042, 0x5bf70040, 0x5bf7003e, | ||
2020 | 0x5bf7003c, 0x5bf7003b, 0x5bf70039, 0x5bf70037, | ||
2021 | 0x5bf70036, 0x5bf70034, 0x5bf70033, 0x5bf70031, | ||
2022 | 0x5bf70030, 0x5ba70044, 0x5ba70042, 0x5ba70040, | ||
2023 | 0x5ba7003e, 0x5ba7003c, 0x5ba7003b, 0x5ba70039, | ||
2024 | 0x5ba70037, 0x5ba70036, 0x5ba70034, 0x5ba70033, | ||
2025 | 0x5b770044, 0x5b770042, 0x5b770040, 0x5b77003e, | ||
2026 | 0x5b77003c, 0x5b77003b, 0x5b770039, 0x5b770037, | ||
2027 | 0x5b770036, 0x5b770034, 0x5b770033, 0x5b770031, | ||
2028 | 0x5b770030, 0x5b77002f, 0x5b77002d, 0x5b77002c, | ||
2029 | 0x5b470044, 0x5b470042, 0x5b470040, 0x5b47003e, | ||
2030 | 0x5b47003c, 0x5b47003b, 0x5b470039, 0x5b470037, | ||
2031 | 0x5b470036, 0x5b470034, 0x5b470033, 0x5b470031, | ||
2032 | 0x5b470030, 0x5b47002f, 0x5b47002d, 0x5b47002c, | ||
2033 | 0x5b47002b, 0x5b47002a, 0x5b270044, 0x5b270042, | ||
2034 | 0x5b270040, 0x5b27003e, 0x5b27003c, 0x5b27003b, | ||
2035 | 0x5b270039, 0x5b270037, 0x5b270036, 0x5b270034, | ||
2036 | 0x5b270033, 0x5b270031, 0x5b270030, 0x5b27002f, | ||
2037 | 0x5b170044, 0x5b170042, 0x5b170040, 0x5b17003e, | ||
2038 | 0x5b17003c, 0x5b17003b, 0x5b170039, 0x5b170037, | ||
2039 | 0x5b170036, 0x5b170034, 0x5b170033, 0x5b170031, | ||
2040 | 0x5b170030, 0x5b17002f, 0x5b17002d, 0x5b17002c, | ||
2041 | 0x5b17002b, 0x5b17002a, 0x5b170028, 0x5b170027, | ||
2042 | 0x5b170026, 0x5b170025, 0x5b170024, 0x5b170023, | ||
2043 | 0x5b070044, 0x5b070042, 0x5b070040, 0x5b07003e, | ||
2044 | 0x5b07003c, 0x5b07003b, 0x5b070039, 0x5b070037, | ||
2045 | 0x5b070036, 0x5b070034, 0x5b070033, 0x5b070031, | ||
2046 | 0x5b070030, 0x5b07002f, 0x5b07002d, 0x5b07002c, | ||
2047 | 0x5b07002b, 0x5b07002a, 0x5b070028, 0x5b070027, | ||
2048 | 0x5b070026, 0x5b070025, 0x5b070024, 0x5b070023, | ||
2049 | 0x5b070022, 0x5b070021, 0x5b070020, 0x5b07001f, | ||
2050 | 0x5b07001e, 0x5b07001d, 0x5b07001d, 0x5b07001c, | ||
2051 | }; | ||
2052 | |||
2053 | static const u32 b43_ntab_iqlt0_r3[] = { | ||
2054 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2055 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2056 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2057 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2058 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2059 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2060 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2061 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2062 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2063 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2064 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2065 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2066 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2067 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2068 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2069 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2070 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2071 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2072 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2073 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2074 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2075 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2076 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2077 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2078 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2079 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2080 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2081 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2082 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2083 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2084 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2085 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2086 | }; | ||
2087 | |||
2088 | static const u32 b43_ntab_iqlt1_r3[] = { | ||
2089 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2090 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2091 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2092 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2093 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2094 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2095 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2096 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2097 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2098 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2099 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2100 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2101 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2102 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2103 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2104 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2105 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2106 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2107 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2108 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2109 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2110 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2111 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2112 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2113 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2114 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2115 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2116 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2117 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2118 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2119 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2120 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
2121 | }; | ||
2122 | |||
2123 | static const u16 b43_ntab_loftlt0_r3[] = { | ||
2124 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2125 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2126 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2127 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2128 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2129 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2130 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2131 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2132 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2133 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2134 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2135 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2136 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2137 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2138 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2139 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2140 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2141 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2142 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2143 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2144 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2145 | 0x0000, 0x0000, | ||
2146 | }; | ||
2147 | |||
2148 | static const u16 b43_ntab_loftlt1_r3[] = { | ||
2149 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2150 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2151 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2152 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2153 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2154 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2155 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2156 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2157 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2158 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2159 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2160 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2161 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2162 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2163 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2164 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2165 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2166 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2167 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2168 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2169 | 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, | ||
2170 | 0x0000, 0x0000, | ||
2171 | }; | ||
2172 | |||
2173 | /* TX gain tables */ | ||
2409 | const u32 b43_ntab_tx_gain_rev0_1_2[] = { | 2174 | const u32 b43_ntab_tx_gain_rev0_1_2[] = { |
2410 | 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42, | 2175 | 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42, |
2411 | 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44, | 2176 | 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44, |
@@ -2944,6 +2709,79 @@ const struct nphy_rf_control_override_rev3 tbl_rf_control_override_rev3[] = { | |||
2944 | { 0x00C0, 6, 0xE7, 0xF9, 0xEC, 0xFB } /* field == 0x4000 (fls 15) */ | 2709 | { 0x00C0, 6, 0xE7, 0xF9, 0xEC, 0xFB } /* field == 0x4000 (fls 15) */ |
2945 | }; | 2710 | }; |
2946 | 2711 | ||
2712 | struct nphy_gain_ctl_workaround_entry nphy_gain_ctl_workaround[2][3] = { | ||
2713 | { /* 2GHz */ | ||
2714 | { /* PHY rev 3 */ | ||
2715 | { 7, 11, 16, 23 }, | ||
2716 | { -5, 6, 10, 14 }, | ||
2717 | { 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA }, | ||
2718 | { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }, | ||
2719 | 0x627E, | ||
2720 | { 0x613F, 0x613F, 0x613F, 0x613F }, | ||
2721 | 0x107E, 0x0066, 0x0074, | ||
2722 | 0x18, 0x18, 0x18, | ||
2723 | 0x020D, 0x5, | ||
2724 | }, | ||
2725 | { /* PHY rev 4 */ | ||
2726 | { 8, 12, 17, 25 }, | ||
2727 | { -5, 6, 10, 14 }, | ||
2728 | { 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA }, | ||
2729 | { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }, | ||
2730 | 0x527E, | ||
2731 | { 0x513F, 0x513F, 0x513F, 0x513F }, | ||
2732 | 0x007E, 0x0066, 0x0074, | ||
2733 | 0x18, 0x18, 0x18, | ||
2734 | 0x01A1, 0x5, | ||
2735 | }, | ||
2736 | { /* PHY rev 5+ */ | ||
2737 | { 9, 13, 18, 26 }, | ||
2738 | { -3, 7, 11, 16 }, | ||
2739 | { 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA, 0xA }, | ||
2740 | { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }, | ||
2741 | 0x427E, /* invalid for external LNA! */ | ||
2742 | { 0x413F, 0x413F, 0x413F, 0x413F }, /* invalid for external LNA! */ | ||
2743 | 0x1076, 0x0066, 0x106A, | ||
2744 | 0xC, 0xC, 0xC, | ||
2745 | 0x01D0, 0x5, | ||
2746 | }, | ||
2747 | }, | ||
2748 | { /* 5GHz */ | ||
2749 | { /* PHY rev 3 */ | ||
2750 | { 7, 11, 17, 23 }, | ||
2751 | { -6, 2, 6, 10 }, | ||
2752 | { 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 }, | ||
2753 | { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }, | ||
2754 | 0x52DE, | ||
2755 | { 0x516F, 0x516F, 0x516F, 0x516F }, | ||
2756 | 0x00DE, 0x00CA, 0x00CC, | ||
2757 | 0x1E, 0x1E, 0x1E, | ||
2758 | 0x01A1, 25, | ||
2759 | }, | ||
2760 | { /* PHY rev 4 */ | ||
2761 | { 8, 12, 18, 23 }, | ||
2762 | { -5, 2, 6, 10 }, | ||
2763 | { 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD }, | ||
2764 | { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }, | ||
2765 | 0x629E, | ||
2766 | { 0x614F, 0x614F, 0x614F, 0x614F }, | ||
2767 | 0x029E, 0x1084, 0x0086, | ||
2768 | 0x24, 0x24, 0x24, | ||
2769 | 0x0107, 25, | ||
2770 | }, | ||
2771 | { /* PHY rev 5+ */ | ||
2772 | { 6, 10, 16, 21 }, | ||
2773 | { -7, 0, 4, 8 }, | ||
2774 | { 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD, 0xD }, | ||
2775 | { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }, | ||
2776 | 0x729E, | ||
2777 | { 0x714F, 0x714F, 0x714F, 0x714F }, | ||
2778 | 0x029E, 0x2084, 0x2086, | ||
2779 | 0x24, 0x24, 0x24, | ||
2780 | 0x00A9, 25, | ||
2781 | }, | ||
2782 | }, | ||
2783 | }; | ||
2784 | |||
2947 | static inline void assert_ntab_array_sizes(void) | 2785 | static inline void assert_ntab_array_sizes(void) |
2948 | { | 2786 | { |
2949 | #undef check | 2787 | #undef check |
@@ -3120,11 +2958,8 @@ void b43_ntab_write_bulk(struct b43_wldev *dev, u32 offset, | |||
3120 | } | 2958 | } |
3121 | 2959 | ||
3122 | #define ntab_upload(dev, offset, data) do { \ | 2960 | #define ntab_upload(dev, offset, data) do { \ |
3123 | unsigned int i; \ | 2961 | b43_ntab_write_bulk(dev, offset, offset##_SIZE, data); \ |
3124 | for (i = 0; i < (offset##_SIZE); i++) \ | ||
3125 | b43_ntab_write(dev, (offset) + i, (data)[i]); \ | ||
3126 | } while (0) | 2962 | } while (0) |
3127 | |||
3128 | void b43_nphy_rev0_1_2_tables_init(struct b43_wldev *dev) | 2963 | void b43_nphy_rev0_1_2_tables_init(struct b43_wldev *dev) |
3129 | { | 2964 | { |
3130 | /* Static tables */ | 2965 | /* Static tables */ |
@@ -3134,35 +2969,94 @@ void b43_nphy_rev0_1_2_tables_init(struct b43_wldev *dev) | |||
3134 | ntab_upload(dev, B43_NTAB_TDTRN, b43_ntab_tdtrn); | 2969 | ntab_upload(dev, B43_NTAB_TDTRN, b43_ntab_tdtrn); |
3135 | ntab_upload(dev, B43_NTAB_INTLEVEL, b43_ntab_intlevel); | 2970 | ntab_upload(dev, B43_NTAB_INTLEVEL, b43_ntab_intlevel); |
3136 | ntab_upload(dev, B43_NTAB_PILOT, b43_ntab_pilot); | 2971 | ntab_upload(dev, B43_NTAB_PILOT, b43_ntab_pilot); |
3137 | ntab_upload(dev, B43_NTAB_PILOTLT, b43_ntab_pilotlt); | ||
3138 | ntab_upload(dev, B43_NTAB_TDI20A0, b43_ntab_tdi20a0); | 2972 | ntab_upload(dev, B43_NTAB_TDI20A0, b43_ntab_tdi20a0); |
3139 | ntab_upload(dev, B43_NTAB_TDI20A1, b43_ntab_tdi20a1); | 2973 | ntab_upload(dev, B43_NTAB_TDI20A1, b43_ntab_tdi20a1); |
3140 | ntab_upload(dev, B43_NTAB_TDI40A0, b43_ntab_tdi40a0); | 2974 | ntab_upload(dev, B43_NTAB_TDI40A0, b43_ntab_tdi40a0); |
3141 | ntab_upload(dev, B43_NTAB_TDI40A1, b43_ntab_tdi40a1); | 2975 | ntab_upload(dev, B43_NTAB_TDI40A1, b43_ntab_tdi40a1); |
3142 | ntab_upload(dev, B43_NTAB_BDI, b43_ntab_bdi); | ||
3143 | ntab_upload(dev, B43_NTAB_CHANEST, b43_ntab_channelest); | 2976 | ntab_upload(dev, B43_NTAB_CHANEST, b43_ntab_channelest); |
3144 | ntab_upload(dev, B43_NTAB_MCS, b43_ntab_mcs); | 2977 | ntab_upload(dev, B43_NTAB_MCS, b43_ntab_mcs); |
3145 | |||
3146 | /* Volatile tables */ | ||
3147 | ntab_upload(dev, B43_NTAB_NOISEVAR10, b43_ntab_noisevar10); | 2978 | ntab_upload(dev, B43_NTAB_NOISEVAR10, b43_ntab_noisevar10); |
3148 | ntab_upload(dev, B43_NTAB_NOISEVAR11, b43_ntab_noisevar11); | 2979 | ntab_upload(dev, B43_NTAB_NOISEVAR11, b43_ntab_noisevar11); |
2980 | |||
2981 | /* Volatile tables */ | ||
2982 | ntab_upload(dev, B43_NTAB_BDI, b43_ntab_bdi); | ||
2983 | ntab_upload(dev, B43_NTAB_PILOTLT, b43_ntab_pilotlt); | ||
2984 | ntab_upload(dev, B43_NTAB_C0_GAINCTL, b43_ntab_gainctl0); | ||
2985 | ntab_upload(dev, B43_NTAB_C1_GAINCTL, b43_ntab_gainctl1); | ||
3149 | ntab_upload(dev, B43_NTAB_C0_ESTPLT, b43_ntab_estimatepowerlt0); | 2986 | ntab_upload(dev, B43_NTAB_C0_ESTPLT, b43_ntab_estimatepowerlt0); |
3150 | ntab_upload(dev, B43_NTAB_C1_ESTPLT, b43_ntab_estimatepowerlt1); | 2987 | ntab_upload(dev, B43_NTAB_C1_ESTPLT, b43_ntab_estimatepowerlt1); |
3151 | ntab_upload(dev, B43_NTAB_C0_ADJPLT, b43_ntab_adjustpower0); | 2988 | ntab_upload(dev, B43_NTAB_C0_ADJPLT, b43_ntab_adjustpower0); |
3152 | ntab_upload(dev, B43_NTAB_C1_ADJPLT, b43_ntab_adjustpower1); | 2989 | ntab_upload(dev, B43_NTAB_C1_ADJPLT, b43_ntab_adjustpower1); |
3153 | ntab_upload(dev, B43_NTAB_C0_GAINCTL, b43_ntab_gainctl0); | ||
3154 | ntab_upload(dev, B43_NTAB_C1_GAINCTL, b43_ntab_gainctl1); | ||
3155 | ntab_upload(dev, B43_NTAB_C0_IQLT, b43_ntab_iqlt0); | 2990 | ntab_upload(dev, B43_NTAB_C0_IQLT, b43_ntab_iqlt0); |
3156 | ntab_upload(dev, B43_NTAB_C1_IQLT, b43_ntab_iqlt1); | 2991 | ntab_upload(dev, B43_NTAB_C1_IQLT, b43_ntab_iqlt1); |
3157 | ntab_upload(dev, B43_NTAB_C0_LOFEEDTH, b43_ntab_loftlt0); | 2992 | ntab_upload(dev, B43_NTAB_C0_LOFEEDTH, b43_ntab_loftlt0); |
3158 | ntab_upload(dev, B43_NTAB_C1_LOFEEDTH, b43_ntab_loftlt1); | 2993 | ntab_upload(dev, B43_NTAB_C1_LOFEEDTH, b43_ntab_loftlt1); |
3159 | } | 2994 | } |
3160 | 2995 | ||
2996 | #define ntab_upload_r3(dev, offset, data) do { \ | ||
2997 | b43_ntab_write_bulk(dev, offset, ARRAY_SIZE(data), data); \ | ||
2998 | } while (0) | ||
3161 | void b43_nphy_rev3plus_tables_init(struct b43_wldev *dev) | 2999 | void b43_nphy_rev3plus_tables_init(struct b43_wldev *dev) |
3162 | { | 3000 | { |
3163 | /* Static tables */ | 3001 | /* Static tables */ |
3164 | /* TODO */ | 3002 | ntab_upload_r3(dev, B43_NTAB_FRAMESTRUCT_R3, b43_ntab_framestruct_r3); |
3003 | ntab_upload_r3(dev, B43_NTAB_PILOT_R3, b43_ntab_pilot_r3); | ||
3004 | ntab_upload_r3(dev, B43_NTAB_TMAP_R3, b43_ntab_tmap_r3); | ||
3005 | ntab_upload_r3(dev, B43_NTAB_INTLEVEL_R3, b43_ntab_intlevel_r3); | ||
3006 | ntab_upload_r3(dev, B43_NTAB_TDTRN_R3, b43_ntab_tdtrn_r3); | ||
3007 | ntab_upload_r3(dev, B43_NTAB_NOISEVAR0_R3, b43_ntab_noisevar0_r3); | ||
3008 | ntab_upload_r3(dev, B43_NTAB_NOISEVAR1_R3, b43_ntab_noisevar1_r3); | ||
3009 | ntab_upload_r3(dev, B43_NTAB_MCS_R3, b43_ntab_mcs_r3); | ||
3010 | ntab_upload_r3(dev, B43_NTAB_TDI20A0_R3, b43_ntab_tdi20a0_r3); | ||
3011 | ntab_upload_r3(dev, B43_NTAB_TDI20A1_R3, b43_ntab_tdi20a1_r3); | ||
3012 | ntab_upload_r3(dev, B43_NTAB_TDI40A0_R3, b43_ntab_tdi40a0_r3); | ||
3013 | ntab_upload_r3(dev, B43_NTAB_TDI40A1_R3, b43_ntab_tdi40a1_r3); | ||
3014 | ntab_upload_r3(dev, B43_NTAB_PILOTLT_R3, b43_ntab_pilotlt_r3); | ||
3015 | ntab_upload_r3(dev, B43_NTAB_CHANEST_R3, b43_ntab_channelest_r3); | ||
3016 | ntab_upload_r3(dev, B43_NTAB_FRAMELT_R3, b43_ntab_framelookup_r3); | ||
3017 | ntab_upload_r3(dev, B43_NTAB_C0_ESTPLT_R3, | ||
3018 | b43_ntab_estimatepowerlt0_r3); | ||
3019 | ntab_upload_r3(dev, B43_NTAB_C1_ESTPLT_R3, | ||
3020 | b43_ntab_estimatepowerlt1_r3); | ||
3021 | ntab_upload_r3(dev, B43_NTAB_C0_ADJPLT_R3, b43_ntab_adjustpower0_r3); | ||
3022 | ntab_upload_r3(dev, B43_NTAB_C1_ADJPLT_R3, b43_ntab_adjustpower1_r3); | ||
3023 | ntab_upload_r3(dev, B43_NTAB_C0_GAINCTL_R3, b43_ntab_gainctl0_r3); | ||
3024 | ntab_upload_r3(dev, B43_NTAB_C1_GAINCTL_R3, b43_ntab_gainctl1_r3); | ||
3025 | ntab_upload_r3(dev, B43_NTAB_C0_IQLT_R3, b43_ntab_iqlt0_r3); | ||
3026 | ntab_upload_r3(dev, B43_NTAB_C1_IQLT_R3, b43_ntab_iqlt1_r3); | ||
3027 | ntab_upload_r3(dev, B43_NTAB_C0_LOFEEDTH_R3, b43_ntab_loftlt0_r3); | ||
3028 | ntab_upload_r3(dev, B43_NTAB_C1_LOFEEDTH_R3, b43_ntab_loftlt1_r3); | ||
3165 | 3029 | ||
3166 | /* Volatile tables */ | 3030 | /* Volatile tables */ |
3167 | /* TODO */ | 3031 | /* TODO */ |
3168 | } | 3032 | } |
3033 | |||
3034 | struct nphy_gain_ctl_workaround_entry *b43_nphy_get_gain_ctl_workaround_ent( | ||
3035 | struct b43_wldev *dev, bool ghz5, bool ext_lna) | ||
3036 | { | ||
3037 | struct nphy_gain_ctl_workaround_entry *e; | ||
3038 | u8 phy_idx; | ||
3039 | |||
3040 | B43_WARN_ON(dev->phy.rev < 3); | ||
3041 | if (dev->phy.rev >= 5) | ||
3042 | phy_idx = 2; | ||
3043 | else if (dev->phy.rev == 4) | ||
3044 | phy_idx = 1; | ||
3045 | else | ||
3046 | phy_idx = 0; | ||
3047 | |||
3048 | e = &nphy_gain_ctl_workaround[ghz5][phy_idx]; | ||
3049 | |||
3050 | /* Only one entry differs for external LNA, so instead making whole | ||
3051 | * table 2 times bigger, hack is here | ||
3052 | */ | ||
3053 | if (!ghz5 && dev->phy.rev >= 5 && ext_lna) { | ||
3054 | e->rfseq_init[0] &= 0x0FFF; | ||
3055 | e->rfseq_init[1] &= 0x0FFF; | ||
3056 | e->rfseq_init[2] &= 0x0FFF; | ||
3057 | e->rfseq_init[3] &= 0x0FFF; | ||
3058 | e->init_gain &= 0x0FFF; | ||
3059 | } | ||
3060 | |||
3061 | return e; | ||
3062 | } | ||
diff --git a/drivers/net/wireless/b43/tables_nphy.h b/drivers/net/wireless/b43/tables_nphy.h index 8fc1da9f8fe5..18569367ce43 100644 --- a/drivers/net/wireless/b43/tables_nphy.h +++ b/drivers/net/wireless/b43/tables_nphy.h | |||
@@ -3,7 +3,6 @@ | |||
3 | 3 | ||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | 5 | ||
6 | |||
7 | struct b43_phy_n_sfo_cfg { | 6 | struct b43_phy_n_sfo_cfg { |
8 | u16 phy_bw1a; | 7 | u16 phy_bw1a; |
9 | u16 phy_bw2; | 8 | u16 phy_bw2; |
@@ -13,52 +12,6 @@ struct b43_phy_n_sfo_cfg { | |||
13 | u16 phy_bw6; | 12 | u16 phy_bw6; |
14 | }; | 13 | }; |
15 | 14 | ||
16 | struct b43_nphy_channeltab_entry_rev2 { | ||
17 | /* The channel number */ | ||
18 | u8 channel; | ||
19 | /* The channel frequency in MHz */ | ||
20 | u16 freq; | ||
21 | /* An unknown value */ | ||
22 | u16 unk2; | ||
23 | /* Radio register values on channelswitch */ | ||
24 | u8 radio_pll_ref; | ||
25 | u8 radio_rf_pllmod0; | ||
26 | u8 radio_rf_pllmod1; | ||
27 | u8 radio_vco_captail; | ||
28 | u8 radio_vco_cal1; | ||
29 | u8 radio_vco_cal2; | ||
30 | u8 radio_pll_lfc1; | ||
31 | u8 radio_pll_lfr1; | ||
32 | u8 radio_pll_lfc2; | ||
33 | u8 radio_lgbuf_cenbuf; | ||
34 | u8 radio_lgen_tune1; | ||
35 | u8 radio_lgen_tune2; | ||
36 | u8 radio_c1_lgbuf_atune; | ||
37 | u8 radio_c1_lgbuf_gtune; | ||
38 | u8 radio_c1_rx_rfr1; | ||
39 | u8 radio_c1_tx_pgapadtn; | ||
40 | u8 radio_c1_tx_mxbgtrim; | ||
41 | u8 radio_c2_lgbuf_atune; | ||
42 | u8 radio_c2_lgbuf_gtune; | ||
43 | u8 radio_c2_rx_rfr1; | ||
44 | u8 radio_c2_tx_pgapadtn; | ||
45 | u8 radio_c2_tx_mxbgtrim; | ||
46 | /* PHY register values on channelswitch */ | ||
47 | struct b43_phy_n_sfo_cfg phy_regs; | ||
48 | }; | ||
49 | |||
50 | struct b43_nphy_channeltab_entry_rev3 { | ||
51 | /* The channel number */ | ||
52 | u8 channel; | ||
53 | /* The channel frequency in MHz */ | ||
54 | u16 freq; | ||
55 | /* Radio register values on channelswitch */ | ||
56 | /* TODO */ | ||
57 | /* PHY register values on channelswitch */ | ||
58 | struct b43_phy_n_sfo_cfg phy_regs; | ||
59 | }; | ||
60 | |||
61 | |||
62 | struct b43_wldev; | 15 | struct b43_wldev; |
63 | 16 | ||
64 | struct nphy_txiqcal_ladder { | 17 | struct nphy_txiqcal_ladder { |
@@ -82,18 +35,37 @@ struct nphy_rf_control_override_rev3 { | |||
82 | u8 val_addr1; | 35 | u8 val_addr1; |
83 | }; | 36 | }; |
84 | 37 | ||
85 | /* Upload the default register value table. | 38 | struct nphy_gain_ctl_workaround_entry { |
86 | * If "ghz5" is true, we upload the 5Ghz table. Otherwise the 2.4Ghz | 39 | s8 lna1_gain[4]; |
87 | * table is uploaded. If "ignore_uploadflag" is true, we upload any value | 40 | s8 lna2_gain[4]; |
88 | * and ignore the "UPLOAD" flag. */ | 41 | u8 gain_db[10]; |
89 | void b2055_upload_inittab(struct b43_wldev *dev, | 42 | u8 gain_bits[10]; |
90 | bool ghz5, bool ignore_uploadflag); | ||
91 | 43 | ||
44 | u16 init_gain; | ||
45 | u16 rfseq_init[4]; | ||
92 | 46 | ||
93 | /* Get the NPHY Channel Switch Table entry for a channel number. | 47 | u16 cliphi_gain; |
48 | u16 clipmd_gain; | ||
49 | u16 cliplo_gain; | ||
50 | |||
51 | u16 crsmin; | ||
52 | u16 crsminl; | ||
53 | u16 crsminu; | ||
54 | |||
55 | u16 nbclip; | ||
56 | u16 wlclip; | ||
57 | }; | ||
58 | |||
59 | /* Get entry with workaround values for gain ctl. Does not return NULL. */ | ||
60 | struct nphy_gain_ctl_workaround_entry *b43_nphy_get_gain_ctl_workaround_ent( | ||
61 | struct b43_wldev *dev, bool ghz5, bool ext_lna); | ||
62 | |||
63 | /* Get the NPHY Channel Switch Table entry for a channel. | ||
94 | * Returns NULL on failure to find an entry. */ | 64 | * Returns NULL on failure to find an entry. */ |
95 | const struct b43_nphy_channeltab_entry_rev2 * | 65 | const struct b43_nphy_channeltab_entry_rev2 * |
96 | b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel); | 66 | b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel); |
67 | const struct b43_nphy_channeltab_entry_rev3 * | ||
68 | b43_nphy_get_chantabent_rev3(struct b43_wldev *dev, u16 freq); | ||
97 | 69 | ||
98 | 70 | ||
99 | /* The N-PHY tables. */ | 71 | /* The N-PHY tables. */ |
@@ -162,6 +134,33 @@ b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel); | |||
162 | #define B43_NTAB_C1_LOFEEDTH B43_NTAB16(0x1B, 0x1C0) /* Local Oscillator Feed Through Lookup Table Core 1 */ | 134 | #define B43_NTAB_C1_LOFEEDTH B43_NTAB16(0x1B, 0x1C0) /* Local Oscillator Feed Through Lookup Table Core 1 */ |
163 | #define B43_NTAB_C1_LOFEEDTH_SIZE 128 | 135 | #define B43_NTAB_C1_LOFEEDTH_SIZE 128 |
164 | 136 | ||
137 | /* Static N-PHY tables, PHY revision >= 3 */ | ||
138 | #define B43_NTAB_FRAMESTRUCT_R3 B43_NTAB32(10, 000) /* frame struct */ | ||
139 | #define B43_NTAB_PILOT_R3 B43_NTAB16(11, 000) /* pilot */ | ||
140 | #define B43_NTAB_TMAP_R3 B43_NTAB32(12, 000) /* TM AP */ | ||
141 | #define B43_NTAB_INTLEVEL_R3 B43_NTAB32(13, 000) /* INT LV */ | ||
142 | #define B43_NTAB_TDTRN_R3 B43_NTAB32(14, 000) /* TD TRN */ | ||
143 | #define B43_NTAB_NOISEVAR0_R3 B43_NTAB32(16, 000) /* noise variance 0 */ | ||
144 | #define B43_NTAB_NOISEVAR1_R3 B43_NTAB32(16, 128) /* noise variance 1 */ | ||
145 | #define B43_NTAB_MCS_R3 B43_NTAB16(18, 000) /* MCS */ | ||
146 | #define B43_NTAB_TDI20A0_R3 B43_NTAB32(19, 128) /* TDI 20/0 */ | ||
147 | #define B43_NTAB_TDI20A1_R3 B43_NTAB32(19, 256) /* TDI 20/1 */ | ||
148 | #define B43_NTAB_TDI40A0_R3 B43_NTAB32(19, 640) /* TDI 40/0 */ | ||
149 | #define B43_NTAB_TDI40A1_R3 B43_NTAB32(19, 768) /* TDI 40/1 */ | ||
150 | #define B43_NTAB_PILOTLT_R3 B43_NTAB32(20, 000) /* PLT lookup */ | ||
151 | #define B43_NTAB_CHANEST_R3 B43_NTAB32(22, 000) /* channel estimate */ | ||
152 | #define B43_NTAB_FRAMELT_R3 B43_NTAB8 (24, 000) /* frame lookup */ | ||
153 | #define B43_NTAB_C0_ESTPLT_R3 B43_NTAB8 (26, 000) /* estimated power lookup 0 */ | ||
154 | #define B43_NTAB_C1_ESTPLT_R3 B43_NTAB8 (27, 000) /* estimated power lookup 1 */ | ||
155 | #define B43_NTAB_C0_ADJPLT_R3 B43_NTAB8 (26, 064) /* adjusted power lookup 0 */ | ||
156 | #define B43_NTAB_C1_ADJPLT_R3 B43_NTAB8 (27, 064) /* adjusted power lookup 1 */ | ||
157 | #define B43_NTAB_C0_GAINCTL_R3 B43_NTAB32(26, 192) /* gain control lookup 0 */ | ||
158 | #define B43_NTAB_C1_GAINCTL_R3 B43_NTAB32(27, 192) /* gain control lookup 1 */ | ||
159 | #define B43_NTAB_C0_IQLT_R3 B43_NTAB32(26, 320) /* I/Q lookup 0 */ | ||
160 | #define B43_NTAB_C1_IQLT_R3 B43_NTAB32(27, 320) /* I/Q lookup 1 */ | ||
161 | #define B43_NTAB_C0_LOFEEDTH_R3 B43_NTAB16(26, 448) /* Local Oscillator Feed Through lookup 0 */ | ||
162 | #define B43_NTAB_C1_LOFEEDTH_R3 B43_NTAB16(27, 448) /* Local Oscillator Feed Through lookup 1 */ | ||
163 | |||
165 | #define B43_NTAB_TX_IQLO_CAL_LOFT_LADDER_40_SIZE 18 | 164 | #define B43_NTAB_TX_IQLO_CAL_LOFT_LADDER_40_SIZE 18 |
166 | #define B43_NTAB_TX_IQLO_CAL_LOFT_LADDER_20_SIZE 18 | 165 | #define B43_NTAB_TX_IQLO_CAL_LOFT_LADDER_20_SIZE 18 |
167 | #define B43_NTAB_TX_IQLO_CAL_IQIMB_LADDER_40_SIZE 18 | 166 | #define B43_NTAB_TX_IQLO_CAL_IQIMB_LADDER_40_SIZE 18 |
diff --git a/drivers/net/wireless/b43/wa.c b/drivers/net/wireless/b43/wa.c index 9a335da65b42..8f4db448ec33 100644 --- a/drivers/net/wireless/b43/wa.c +++ b/drivers/net/wireless/b43/wa.c | |||
@@ -458,7 +458,7 @@ static void b43_wa_rssi_adc(struct b43_wldev *dev) | |||
458 | 458 | ||
459 | static void b43_wa_boards_a(struct b43_wldev *dev) | 459 | static void b43_wa_boards_a(struct b43_wldev *dev) |
460 | { | 460 | { |
461 | struct ssb_bus *bus = dev->dev->bus; | 461 | struct ssb_bus *bus = dev->sdev->bus; |
462 | 462 | ||
463 | if (bus->boardinfo.vendor == SSB_BOARDVENDOR_BCM && | 463 | if (bus->boardinfo.vendor == SSB_BOARDVENDOR_BCM && |
464 | bus->boardinfo.type == SSB_BOARD_BU4306 && | 464 | bus->boardinfo.type == SSB_BOARD_BU4306 && |
@@ -486,7 +486,7 @@ static void b43_wa_boards_a(struct b43_wldev *dev) | |||
486 | 486 | ||
487 | static void b43_wa_boards_g(struct b43_wldev *dev) | 487 | static void b43_wa_boards_g(struct b43_wldev *dev) |
488 | { | 488 | { |
489 | struct ssb_bus *bus = dev->dev->bus; | 489 | struct ssb_bus *bus = dev->sdev->bus; |
490 | struct b43_phy *phy = &dev->phy; | 490 | struct b43_phy *phy = &dev->phy; |
491 | 491 | ||
492 | if (bus->boardinfo.vendor != SSB_BOARDVENDOR_BCM || | 492 | if (bus->boardinfo.vendor != SSB_BOARDVENDOR_BCM || |
diff --git a/drivers/net/wireless/b43/xmit.c b/drivers/net/wireless/b43/xmit.c index e6b0528f3b52..c8f99aebe01f 100644 --- a/drivers/net/wireless/b43/xmit.c +++ b/drivers/net/wireless/b43/xmit.c | |||
@@ -32,6 +32,36 @@ | |||
32 | #include "dma.h" | 32 | #include "dma.h" |
33 | #include "pio.h" | 33 | #include "pio.h" |
34 | 34 | ||
35 | static const struct b43_tx_legacy_rate_phy_ctl_entry b43_tx_legacy_rate_phy_ctl[] = { | ||
36 | { B43_CCK_RATE_1MB, 0x0, 0x0 }, | ||
37 | { B43_CCK_RATE_2MB, 0x0, 0x1 }, | ||
38 | { B43_CCK_RATE_5MB, 0x0, 0x2 }, | ||
39 | { B43_CCK_RATE_11MB, 0x0, 0x3 }, | ||
40 | { B43_OFDM_RATE_6MB, B43_TXH_PHY1_CRATE_1_2, B43_TXH_PHY1_MODUL_BPSK }, | ||
41 | { B43_OFDM_RATE_9MB, B43_TXH_PHY1_CRATE_3_4, B43_TXH_PHY1_MODUL_BPSK }, | ||
42 | { B43_OFDM_RATE_12MB, B43_TXH_PHY1_CRATE_1_2, B43_TXH_PHY1_MODUL_QPSK }, | ||
43 | { B43_OFDM_RATE_18MB, B43_TXH_PHY1_CRATE_3_4, B43_TXH_PHY1_MODUL_QPSK }, | ||
44 | { B43_OFDM_RATE_24MB, B43_TXH_PHY1_CRATE_1_2, B43_TXH_PHY1_MODUL_QAM16 }, | ||
45 | { B43_OFDM_RATE_36MB, B43_TXH_PHY1_CRATE_3_4, B43_TXH_PHY1_MODUL_QAM16 }, | ||
46 | { B43_OFDM_RATE_48MB, B43_TXH_PHY1_CRATE_2_3, B43_TXH_PHY1_MODUL_QAM64 }, | ||
47 | { B43_OFDM_RATE_54MB, B43_TXH_PHY1_CRATE_3_4, B43_TXH_PHY1_MODUL_QAM64 }, | ||
48 | }; | ||
49 | |||
50 | static const struct b43_tx_legacy_rate_phy_ctl_entry * | ||
51 | b43_tx_legacy_rate_phy_ctl_ent(u8 bitrate) | ||
52 | { | ||
53 | const struct b43_tx_legacy_rate_phy_ctl_entry *e; | ||
54 | unsigned int i; | ||
55 | |||
56 | for (i = 0; i < ARRAY_SIZE(b43_tx_legacy_rate_phy_ctl); i++) { | ||
57 | e = &(b43_tx_legacy_rate_phy_ctl[i]); | ||
58 | if (e->bitrate == bitrate) | ||
59 | return e; | ||
60 | } | ||
61 | |||
62 | B43_WARN_ON(1); | ||
63 | return NULL; | ||
64 | } | ||
35 | 65 | ||
36 | /* Extract the bitrate index out of a CCK PLCP header. */ | 66 | /* Extract the bitrate index out of a CCK PLCP header. */ |
37 | static int b43_plcp_get_bitrate_idx_cck(struct b43_plcp_hdr6 *plcp) | 67 | static int b43_plcp_get_bitrate_idx_cck(struct b43_plcp_hdr6 *plcp) |
@@ -145,6 +175,34 @@ void b43_generate_plcp_hdr(struct b43_plcp_hdr4 *plcp, | |||
145 | } | 175 | } |
146 | } | 176 | } |
147 | 177 | ||
178 | static u16 b43_generate_tx_phy_ctl1(struct b43_wldev *dev, u8 bitrate) | ||
179 | { | ||
180 | const struct b43_phy *phy = &dev->phy; | ||
181 | const struct b43_tx_legacy_rate_phy_ctl_entry *e; | ||
182 | u16 control = 0; | ||
183 | u16 bw; | ||
184 | |||
185 | if (phy->type == B43_PHYTYPE_LP) | ||
186 | bw = B43_TXH_PHY1_BW_20; | ||
187 | else /* FIXME */ | ||
188 | bw = B43_TXH_PHY1_BW_20; | ||
189 | |||
190 | if (0) { /* FIXME: MIMO */ | ||
191 | } else if (b43_is_cck_rate(bitrate) && phy->type != B43_PHYTYPE_LP) { | ||
192 | control = bw; | ||
193 | } else { | ||
194 | control = bw; | ||
195 | e = b43_tx_legacy_rate_phy_ctl_ent(bitrate); | ||
196 | if (e) { | ||
197 | control |= e->coding_rate; | ||
198 | control |= e->modulation; | ||
199 | } | ||
200 | control |= B43_TXH_PHY1_MODE_SISO; | ||
201 | } | ||
202 | |||
203 | return control; | ||
204 | } | ||
205 | |||
148 | static u8 b43_calc_fallback_rate(u8 bitrate) | 206 | static u8 b43_calc_fallback_rate(u8 bitrate) |
149 | { | 207 | { |
150 | switch (bitrate) { | 208 | switch (bitrate) { |
@@ -437,6 +495,14 @@ int b43_generate_txhdr(struct b43_wldev *dev, | |||
437 | extra_ft |= B43_TXH_EFT_RTSFB_OFDM; | 495 | extra_ft |= B43_TXH_EFT_RTSFB_OFDM; |
438 | else | 496 | else |
439 | extra_ft |= B43_TXH_EFT_RTSFB_CCK; | 497 | extra_ft |= B43_TXH_EFT_RTSFB_CCK; |
498 | |||
499 | if (rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS && | ||
500 | phy->type == B43_PHYTYPE_N) { | ||
501 | txhdr->phy_ctl1_rts = cpu_to_le16( | ||
502 | b43_generate_tx_phy_ctl1(dev, rts_rate)); | ||
503 | txhdr->phy_ctl1_rts_fb = cpu_to_le16( | ||
504 | b43_generate_tx_phy_ctl1(dev, rts_rate_fb)); | ||
505 | } | ||
440 | } | 506 | } |
441 | 507 | ||
442 | /* Magic cookie */ | 508 | /* Magic cookie */ |
@@ -445,6 +511,13 @@ int b43_generate_txhdr(struct b43_wldev *dev, | |||
445 | else | 511 | else |
446 | txhdr->new_format.cookie = cpu_to_le16(cookie); | 512 | txhdr->new_format.cookie = cpu_to_le16(cookie); |
447 | 513 | ||
514 | if (phy->type == B43_PHYTYPE_N) { | ||
515 | txhdr->phy_ctl1 = | ||
516 | cpu_to_le16(b43_generate_tx_phy_ctl1(dev, rate)); | ||
517 | txhdr->phy_ctl1_fb = | ||
518 | cpu_to_le16(b43_generate_tx_phy_ctl1(dev, rate_fb)); | ||
519 | } | ||
520 | |||
448 | /* Apply the bitfields */ | 521 | /* Apply the bitfields */ |
449 | txhdr->mac_ctl = cpu_to_le32(mac_ctl); | 522 | txhdr->mac_ctl = cpu_to_le32(mac_ctl); |
450 | txhdr->phy_ctl = cpu_to_le16(phy_ctl); | 523 | txhdr->phy_ctl = cpu_to_le16(phy_ctl); |
@@ -474,7 +547,7 @@ static s8 b43_rssi_postprocess(struct b43_wldev *dev, | |||
474 | else | 547 | else |
475 | tmp -= 3; | 548 | tmp -= 3; |
476 | } else { | 549 | } else { |
477 | if (dev->dev->bus->sprom. | 550 | if (dev->sdev->bus->sprom. |
478 | boardflags_lo & B43_BFL_RSSI) { | 551 | boardflags_lo & B43_BFL_RSSI) { |
479 | if (in_rssi > 63) | 552 | if (in_rssi > 63) |
480 | in_rssi = 63; | 553 | in_rssi = 63; |
@@ -652,7 +725,7 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr) | |||
652 | status.mactime += mactime; | 725 | status.mactime += mactime; |
653 | if (low_mactime_now <= mactime) | 726 | if (low_mactime_now <= mactime) |
654 | status.mactime -= 0x10000; | 727 | status.mactime -= 0x10000; |
655 | status.flag |= RX_FLAG_TSFT; | 728 | status.flag |= RX_FLAG_MACTIME_MPDU; |
656 | } | 729 | } |
657 | 730 | ||
658 | chanid = (chanstat & B43_RX_CHAN_ID) >> B43_RX_CHAN_ID_SHIFT; | 731 | chanid = (chanstat & B43_RX_CHAN_ID) >> B43_RX_CHAN_ID_SHIFT; |
diff --git a/drivers/net/wireless/b43/xmit.h b/drivers/net/wireless/b43/xmit.h index d4cf9b390af3..42debb5cd6fa 100644 --- a/drivers/net/wireless/b43/xmit.h +++ b/drivers/net/wireless/b43/xmit.h | |||
@@ -73,6 +73,12 @@ struct b43_txhdr { | |||
73 | } __packed; | 73 | } __packed; |
74 | } __packed; | 74 | } __packed; |
75 | 75 | ||
76 | struct b43_tx_legacy_rate_phy_ctl_entry { | ||
77 | u8 bitrate; | ||
78 | u16 coding_rate; | ||
79 | u16 modulation; | ||
80 | }; | ||
81 | |||
76 | /* MAC TX control */ | 82 | /* MAC TX control */ |
77 | #define B43_TXH_MAC_USEFBR 0x10000000 /* Use fallback rate for this AMPDU */ | 83 | #define B43_TXH_MAC_USEFBR 0x10000000 /* Use fallback rate for this AMPDU */ |
78 | #define B43_TXH_MAC_KEYIDX 0x0FF00000 /* Security key index */ | 84 | #define B43_TXH_MAC_KEYIDX 0x0FF00000 /* Security key index */ |