diff options
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 */ |
