123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507/* SPDX-License-Identifier: GPL-2.0 */
#ifndef B43_RADIO_2057_H_
#define B43_RADIO_2057_H_

#include <linux/types.h>

#include "tables_nphy.h"

#define R2057_DACBUF_VINCM_CORE0		0x000
#define R2057_IDCODE				0x001
#define R2057_RCCAL_MASTER			0x002
#define R2057_RCCAL_CAP_SIZE			0x003
#define R2057_RCAL_CONFIG			0x004
#define R2057_GPAIO_CONFIG			0x005
#define R2057_GPAIO_SEL1			0x006
#define R2057_GPAIO_SEL0			0x007
#define R2057_CLPO_CONFIG			0x008
#define R2057_BANDGAP_CONFIG			0x009
#define R2057_BANDGAP_RCAL_TRIM			0x00a
#define R2057_AFEREG_CONFIG			0x00b
#define R2057_TEMPSENSE_CONFIG			0x00c
#define R2057_XTAL_CONFIG1			0x00d
#define R2057_XTAL_ICORE_SIZE			0x00e
#define R2057_XTAL_BUF_SIZE			0x00f
#define R2057_XTAL_PULLCAP_SIZE			0x010
#define R2057_RFPLL_MASTER			0x011
#define R2057_VCOMONITOR_VTH_L			0x012
#define R2057_VCOMONITOR_VTH_H			0x013
#define R2057_VCOCAL_BIASRESET_RFPLLREG_VOUT	0x014
#define R2057_VCO_VARCSIZE_IDAC			0x015
#define R2057_VCOCAL_COUNTVAL0			0x016
#define R2057_VCOCAL_COUNTVAL1			0x017
#define R2057_VCOCAL_INTCLK_COUNT		0x018
#define R2057_VCOCAL_MASTER			0x019
#define R2057_VCOCAL_NUMCAPCHANGE		0x01a
#define R2057_VCOCAL_WINSIZE			0x01b
#define R2057_VCOCAL_DELAY_AFTER_REFRESH	0x01c
#define R2057_VCOCAL_DELAY_AFTER_CLOSELOOP	0x01d
#define R2057_VCOCAL_DELAY_AFTER_OPENLOOP	0x01e
#define R2057_VCOCAL_DELAY_BEFORE_OPENLOOP	0x01f
#define R2057_VCO_FORCECAPEN_FORCECAP1		0x020
#define R2057_VCO_FORCECAP0			0x021
#define R2057_RFPLL_REFMASTER_SPAREXTALSIZE	0x022
#define R2057_RFPLL_PFD_RESET_PW		0x023
#define R2057_RFPLL_LOOPFILTER_R2		0x024
#define R2057_RFPLL_LOOPFILTER_R1		0x025
#define R2057_RFPLL_LOOPFILTER_C3		0x026
#define R2057_RFPLL_LOOPFILTER_C2		0x027
#define R2057_RFPLL_LOOPFILTER_C1		0x028
#define R2057_CP_KPD_IDAC			0x029
#define R2057_RFPLL_IDACS			0x02a
#define R2057_RFPLL_MISC_EN			0x02b
#define R2057_RFPLL_MMD0			0x02c
#define R2057_RFPLL_MMD1			0x02d
#define R2057_RFPLL_MISC_CAL_RESETN		0x02e
#define R2057_JTAGXTAL_SIZE_CPBIAS_FILTRES	0x02f
#define R2057_VCO_ALCREF_BBPLLXTAL_SIZE		0x030
#define R2057_VCOCAL_READCAP0			0x031
#define R2057_VCOCAL_READCAP1			0x032
#define R2057_VCOCAL_STATUS			0x033
#define R2057_LOGEN_PUS				0x034
#define R2057_LOGEN_PTAT_RESETS			0x035
#define R2057_VCOBUF_IDACS			0x036
#define R2057_VCOBUF_TUNE			0x037
#define R2057_CMOSBUF_TX2GQ_IDACS		0x038
#define R2057_CMOSBUF_TX2GI_IDACS		0x039
#define R2057_CMOSBUF_TX5GQ_IDACS		0x03a
#define R2057_CMOSBUF_TX5GI_IDACS		0x03b
#define R2057_CMOSBUF_RX2GQ_IDACS		0x03c
#define R2057_CMOSBUF_RX2GI_IDACS		0x03d
#define R2057_CMOSBUF_RX5GQ_IDACS		0x03e
#define R2057_CMOSBUF_RX5GI_IDACS		0x03f
#define R2057_LOGEN_MX2G_IDACS			0x040
#define R2057_LOGEN_MX2G_TUNE			0x041
#define R2057_LOGEN_MX5G_IDACS			0x042
#define R2057_LOGEN_MX5G_TUNE			0x043
#define R2057_LOGEN_MX5G_RCCR			0x044
#define R2057_LOGEN_INDBUF2G_IDAC		0x045
#define R2057_LOGEN_INDBUF2G_IBOOST		0x046
#define R2057_LOGEN_INDBUF2G_TUNE		0x047
#define R2057_LOGEN_INDBUF5G_IDAC		0x048
#define R2057_LOGEN_INDBUF5G_IBOOST		0x049
#define R2057_LOGEN_INDBUF5G_TUNE		0x04a
#define R2057_CMOSBUF_TX_RCCR			0x04b
#define R2057_CMOSBUF_RX_RCCR			0x04c
#define R2057_LOGEN_SEL_PKDET			0x04d
#define R2057_CMOSBUF_SHAREIQ_PTAT		0x04e

/* MISC core 0 */
#define R2057_RXTXBIAS_CONFIG_CORE0		0x04f
#define R2057_TXGM_TXRF_PUS_CORE0		0x050
#define R2057_TXGM_IDAC_BLEED_CORE0		0x051
#define R2057_TXGM_GAIN_CORE0			0x056
#define R2057_TXGM2G_PKDET_PUS_CORE0		0x057
#define R2057_PAD2G_PTATS_CORE0			0x058
#define R2057_PAD2G_IDACS_CORE0			0x059
#define R2057_PAD2G_BOOST_PU_CORE0		0x05a
#define R2057_PAD2G_CASCV_GAIN_CORE0		0x05b
#define R2057_TXMIX2G_TUNE_BOOST_PU_CORE0	0x05c
#define R2057_TXMIX2G_LODC_CORE0		0x05d
#define R2057_PAD2G_TUNE_PUS_CORE0		0x05e
#define R2057_IPA2G_GAIN_CORE0			0x05f
#define R2057_TSSI2G_SPARE1_CORE0		0x060
#define R2057_TSSI2G_SPARE2_CORE0		0x061
#define R2057_IPA2G_TUNEV_CASCV_PTAT_CORE0	0x062
#define R2057_IPA2G_IMAIN_CORE0			0x063
#define R2057_IPA2G_CASCONV_CORE0		0x064
#define R2057_IPA2G_CASCOFFV_CORE0		0x065
#define R2057_IPA2G_BIAS_FILTER_CORE0		0x066
#define R2057_TX5G_PKDET_CORE0			0x069
#define R2057_PGA_PTAT_TXGM5G_PU_CORE0		0x06a
#define R2057_PAD5G_PTATS1_CORE0		0x06b
#define R2057_PAD5G_CLASS_PTATS2_CORE0		0x06c
#define R2057_PGA_BOOSTPTAT_IMAIN_CORE0		0x06d
#define R2057_PAD5G_CASCV_IMAIN_CORE0		0x06e
#define R2057_TXMIX5G_IBOOST_PAD_IAUX_CORE0	0x06f
#define R2057_PGA_BOOST_TUNE_CORE0		0x070
#define R2057_PGA_GAIN_CORE0			0x071
#define R2057_PAD5G_CASCOFFV_GAIN_PUS_CORE0	0x072
#define R2057_TXMIX5G_BOOST_TUNE_CORE0		0x073
#define R2057_PAD5G_TUNE_MISC_PUS_CORE0		0x074
#define R2057_IPA5G_IAUX_CORE0			0x075
#define R2057_IPA5G_GAIN_CORE0			0x076
#define R2057_TSSI5G_SPARE1_CORE0		0x077
#define R2057_TSSI5G_SPARE2_CORE0		0x078
#define R2057_IPA5G_CASCOFFV_PU_CORE0		0x079
#define R2057_IPA5G_PTAT_CORE0			0x07a
#define R2057_IPA5G_IMAIN_CORE0			0x07b
#define R2057_IPA5G_CASCONV_CORE0		0x07c
#define R2057_IPA5G_BIAS_FILTER_CORE0		0x07d
#define R2057_PAD_BIAS_FILTER_BWS_CORE0		0x080
#define R2057_TR2G_CONFIG1_CORE0_NU		0x081
#define R2057_TR2G_CONFIG2_CORE0_NU		0x082
#define R2057_LNA5G_RFEN_CORE0			0x083
#define R2057_TR5G_CONFIG2_CORE0_NU		0x084
#define R2057_RXRFBIAS_IBOOST_PU_CORE0		0x085
#define R2057_RXRF_IABAND_RXGM_IMAIN_PTAT_CORE0	0x086
#define R2057_RXGM_CMFBITAIL_AUXPTAT_CORE0	0x087
#define R2057_RXMIX_ICORE_RXGM_IAUX_CORE0	0x088
#define R2057_RXMIX_CMFBITAIL_PU_CORE0		0x089
#define R2057_LNA2_IMAIN_PTAT_PU_CORE0		0x08a
#define R2057_LNA2_IAUX_PTAT_CORE0		0x08b
#define R2057_LNA1_IMAIN_PTAT_PU_CORE0		0x08c
#define R2057_LNA15G_INPUT_MATCH_TUNE_CORE0	0x08d
#define R2057_RXRFBIAS_BANDSEL_CORE0		0x08e
#define R2057_TIA_CONFIG_CORE0			0x08f
#define R2057_TIA_IQGAIN_CORE0			0x090
#define R2057_TIA_IBIAS2_CORE0			0x091
#define R2057_TIA_IBIAS1_CORE0			0x092
#define R2057_TIA_SPARE_Q_CORE0			0x093
#define R2057_TIA_SPARE_I_CORE0			0x094
#define R2057_RXMIX2G_PUS_CORE0			0x095
#define R2057_RXMIX2G_VCMREFS_CORE0		0x096
#define R2057_RXMIX2G_LODC_QI_CORE0		0x097
#define R2057_W12G_BW_LNA2G_PUS_CORE0		0x098
#define R2057_LNA2G_GAIN_CORE0			0x099
#define R2057_LNA2G_TUNE_CORE0			0x09a
#define R2057_RXMIX5G_PUS_CORE0			0x09b
#define R2057_RXMIX5G_VCMREFS_CORE0		0x09c
#define R2057_RXMIX5G_LODC_QI_CORE0		0x09d
#define R2057_W15G_BW_LNA5G_PUS_CORE0		0x09e
#define R2057_LNA5G_GAIN_CORE0			0x09f
#define R2057_LNA5G_TUNE_CORE0			0x0a0
#define R2057_LPFSEL_TXRX_RXBB_PUS_CORE0	0x0a1
#define R2057_RXBB_BIAS_MASTER_CORE0		0x0a2
#define R2057_RXBB_VGABUF_IDACS_CORE0		0x0a3
#define R2057_LPF_VCMREF_TXBUF_VCMREF_CORE0	0x0a4
#define R2057_TXBUF_VINCM_CORE0			0x0a5
#define R2057_TXBUF_IDACS_CORE0			0x0a6
#define R2057_LPF_RESP_RXBUF_BW_CORE0		0x0a7
#define R2057_RXBB_CC_CORE0			0x0a8
#define R2057_RXBB_SPARE3_CORE0			0x0a9
#define R2057_RXBB_RCCAL_HPC_CORE0		0x0aa
#define R2057_LPF_IDACS_CORE0			0x0ab
#define R2057_LPFBYP_DCLOOP_BYP_IDAC_CORE0	0x0ac
#define R2057_TXBUF_GAIN_CORE0			0x0ad
#define R2057_AFELOOPBACK_AACI_RESP_CORE0	0x0ae
#define R2057_RXBUF_DEGEN_CORE0			0x0af
#define R2057_RXBB_SPARE2_CORE0			0x0b0
#define R2057_RXBB_SPARE1_CORE0			0x0b1
#define R2057_RSSI_MASTER_CORE0			0x0b2
#define R2057_W2_MASTER_CORE0			0x0b3
#define R2057_NB_MASTER_CORE0			0x0b4
#define R2057_W2_IDACS0_Q_CORE0			0x0b5
#define R2057_W2_IDACS1_Q_CORE0			0x0b6
#define R2057_W2_IDACS0_I_CORE0			0x0b7
#define R2057_W2_IDACS1_I_CORE0			0x0b8
#define R2057_RSSI_GPAIOSEL_W1_IDACS_CORE0	0x0b9
#define R2057_NB_IDACS_Q_CORE0			0x0ba
#define R2057_NB_IDACS_I_CORE0			0x0bb
#define R2057_BACKUP4_CORE0			0x0c1
#define R2057_BACKUP3_CORE0			0x0c2
#define R2057_BACKUP2_CORE0			0x0c3
#define R2057_BACKUP1_CORE0			0x0c4
#define R2057_SPARE16_CORE0			0x0c5
#define R2057_SPARE15_CORE0			0x0c6
#define R2057_SPARE14_CORE0			0x0c7
#define R2057_SPARE13_CORE0			0x0c8
#define R2057_SPARE12_CORE0			0x0c9
#define R2057_SPARE11_CORE0			0x0ca
#define R2057_TX2G_BIAS_RESETS_CORE0		0x0cb
#define R2057_TX5G_BIAS_RESETS_CORE0		0x0cc
#define R2057_IQTEST_SEL_PU			0x0cd
#define R2057_XTAL_CONFIG2			0x0ce
#define R2057_BUFS_MISC_LPFBW_CORE0		0x0cf
#define R2057_TXLPF_RCCAL_CORE0			0x0d0
#define R2057_RXBB_GPAIOSEL_RXLPF_RCCAL_CORE0	0x0d1
#define R2057_LPF_GAIN_CORE0			0x0d2
#define R2057_DACBUF_IDACS_BW_CORE0		0x0d3

/* MISC core 1 */
#define R2057_RXTXBIAS_CONFIG_CORE1		0x0d4
#define R2057_TXGM_TXRF_PUS_CORE1		0x0d5
#define R2057_TXGM_IDAC_BLEED_CORE1		0x0d6
#define R2057_TXGM_GAIN_CORE1			0x0db
#define R2057_TXGM2G_PKDET_PUS_CORE1		0x0dc
#define R2057_PAD2G_PTATS_CORE1			0x0dd
#define R2057_PAD2G_IDACS_CORE1			0x0de
#define R2057_PAD2G_BOOST_PU_CORE1		0x0df
#define R2057_PAD2G_CASCV_GAIN_CORE1		0x0e0
#define R2057_TXMIX2G_TUNE_BOOST_PU_CORE1	0x0e1
#define R2057_TXMIX2G_LODC_CORE1		0x0e2
#define R2057_PAD2G_TUNE_PUS_CORE1		0x0e3
#define R2057_IPA2G_GAIN_CORE1			0x0e4
#define R2057_TSSI2G_SPARE1_CORE1		0x0e5
#define R2057_TSSI2G_SPARE2_CORE1		0x0e6
#define R2057_IPA2G_TUNEV_CASCV_PTAT_CORE1	0x0e7
#define R2057_IPA2G_IMAIN_CORE1			0x0e8
#define R2057_IPA2G_CASCONV_CORE1		0x0e9
#define R2057_IPA2G_CASCOFFV_CORE1		0x0ea
#define R2057_IPA2G_BIAS_FILTER_CORE1		0x0eb
#define R2057_TX5G_PKDET_CORE1			0x0ee
#define R2057_PGA_PTAT_TXGM5G_PU_CORE1		0x0ef
#define R2057_PAD5G_PTATS1_CORE1		0x0f0
#define R2057_PAD5G_CLASS_PTATS2_CORE1		0x0f1
#define R2057_PGA_BOOSTPTAT_IMAIN_CORE1		0x0f2
#define R2057_PAD5G_CASCV_IMAIN_CORE1		0x0f3
#define R2057_TXMIX5G_IBOOST_PAD_IAUX_CORE1	0x0f4
#define R2057_PGA_BOOST_TUNE_CORE1		0x0f5
#define R2057_PGA_GAIN_CORE1			0x0f6
#define R2057_PAD5G_CASCOFFV_GAIN_PUS_CORE1	0x0f7
#define R2057_TXMIX5G_BOOST_TUNE_CORE1		0x0f8
#define R2057_PAD5G_TUNE_MISC_PUS_CORE1		0x0f9
#define R2057_IPA5G_IAUX_CORE1			0x0fa
#define R2057_IPA5G_GAIN_CORE1			0x0fb
#define R2057_TSSI5G_SPARE1_CORE1		0x0fc
#define R2057_TSSI5G_SPARE2_CORE1		0x0fd
#define R2057_IPA5G_CASCOFFV_PU_CORE1		0x0fe
#define R2057_IPA5G_PTAT_CORE1			0x0ff
#define R2057_IPA5G_IMAIN_CORE1			0x100
#define R2057_IPA5G_CASCONV_CORE1		0x101
#define R2057_IPA5G_BIAS_FILTER_CORE1		0x102
#define R2057_PAD_BIAS_FILTER_BWS_CORE1		0x105
#define R2057_TR2G_CONFIG1_CORE1_NU		0x106
#define R2057_TR2G_CONFIG2_CORE1_NU		0x107
#define R2057_LNA5G_RFEN_CORE1			0x108
#define R2057_TR5G_CONFIG2_CORE1_NU		0x109
#define R2057_RXRFBIAS_IBOOST_PU_CORE1		0x10a
#define R2057_RXRF_IABAND_RXGM_IMAIN_PTAT_CORE1	0x10b
#define R2057_RXGM_CMFBITAIL_AUXPTAT_CORE1	0x10c
#define R2057_RXMIX_ICORE_RXGM_IAUX_CORE1	0x10d
#define R2057_RXMIX_CMFBITAIL_PU_CORE1		0x10e
#define R2057_LNA2_IMAIN_PTAT_PU_CORE1		0x10f
#define R2057_LNA2_IAUX_PTAT_CORE1		0x110
#define R2057_LNA1_IMAIN_PTAT_PU_CORE1		0x111
#define R2057_LNA15G_INPUT_MATCH_TUNE_CORE1	0x112
#define R2057_RXRFBIAS_BANDSEL_CORE1		0x113
#define R2057_TIA_CONFIG_CORE1			0x114
#define R2057_TIA_IQGAIN_CORE1			0x115
#define R2057_TIA_IBIAS2_CORE1			0x116
#define R2057_TIA_IBIAS1_CORE1			0x117
#define R2057_TIA_SPARE_Q_CORE1			0x118
#define R2057_TIA_SPARE_I_CORE1			0x119
#define R2057_RXMIX2G_PUS_CORE1			0x11a
#define R2057_RXMIX2G_VCMREFS_CORE1		0x11b
#define R2057_RXMIX2G_LODC_QI_CORE1		0x11c
#define R2057_W12G_BW_LNA2G_PUS_CORE1		0x11d
#define R2057_LNA2G_GAIN_CORE1			0x11e
#define R2057_LNA2G_TUNE_CORE1			0x11f
#define R2057_RXMIX5G_PUS_CORE1			0x120
#define R2057_RXMIX5G_VCMREFS_CORE1		0x121
#define R2057_RXMIX5G_LODC_QI_CORE1		0x122
#define R2057_W15G_BW_LNA5G_PUS_CORE1		0x123
#define R2057_LNA5G_GAIN_CORE1			0x124
#define R2057_LNA5G_TUNE_CORE1			0x125
#define R2057_LPFSEL_TXRX_RXBB_PUS_CORE1	0x126
#define R2057_RXBB_BIAS_MASTER_CORE1		0x127
#define R2057_RXBB_VGABUF_IDACS_CORE1		0x128
#define R2057_LPF_VCMREF_TXBUF_VCMREF_CORE1	0x129
#define R2057_TXBUF_VINCM_CORE1			0x12a
#define R2057_TXBUF_IDACS_CORE1			0x12b
#define R2057_LPF_RESP_RXBUF_BW_CORE1		0x12c
#define R2057_RXBB_CC_CORE1			0x12d
#define R2057_RXBB_SPARE3_CORE1			0x12e
#define R2057_RXBB_RCCAL_HPC_CORE1		0x12f
#define R2057_LPF_IDACS_CORE1			0x130
#define R2057_LPFBYP_DCLOOP_BYP_IDAC_CORE1	0x131
#define R2057_TXBUF_GAIN_CORE1			0x132
#define R2057_AFELOOPBACK_AACI_RESP_CORE1	0x133
#define R2057_RXBUF_DEGEN_CORE1			0x134
#define R2057_RXBB_SPARE2_CORE1			0x135
#define R2057_RXBB_SPARE1_CORE1			0x136
#define R2057_RSSI_MASTER_CORE1			0x137
#define R2057_W2_MASTER_CORE1			0x138
#define R2057_NB_MASTER_CORE1			0x139
#define R2057_W2_IDACS0_Q_CORE1			0x13a
#define R2057_W2_IDACS1_Q_CORE1			0x13b
#define R2057_W2_IDACS0_I_CORE1			0x13c
#define R2057_W2_IDACS1_I_CORE1			0x13d
#define R2057_RSSI_GPAIOSEL_W1_IDACS_CORE1	0x13e
#define R2057_NB_IDACS_Q_CORE1			0x13f
#define R2057_NB_IDACS_I_CORE1			0x140
#define R2057_BACKUP4_CORE1			0x146
#define R2057_BACKUP3_CORE1			0x147
#define R2057_BACKUP2_CORE1			0x148
#define R2057_BACKUP1_CORE1			0x149
#define R2057_SPARE16_CORE1			0x14a
#define R2057_SPARE15_CORE1			0x14b
#define R2057_SPARE14_CORE1			0x14c
#define R2057_SPARE13_CORE1			0x14d
#define R2057_SPARE12_CORE1			0x14e
#define R2057_SPARE11_CORE1			0x14f
#define R2057_TX2G_BIAS_RESETS_CORE1		0x150
#define R2057_TX5G_BIAS_RESETS_CORE1		0x151
#define R2057_SPARE8_CORE1			0x152
#define R2057_SPARE7_CORE1			0x153
#define R2057_BUFS_MISC_LPFBW_CORE1		0x154
#define R2057_TXLPF_RCCAL_CORE1			0x155
#define R2057_RXBB_GPAIOSEL_RXLPF_RCCAL_CORE1	0x156
#define R2057_LPF_GAIN_CORE1			0x157
#define R2057_DACBUF_IDACS_BW_CORE1		0x158

#define R2057_DACBUF_VINCM_CORE1		0x159
#define R2057_RCCAL_START_R1_Q1_P1		0x15a
#define R2057_RCCAL_X1				0x15b
#define R2057_RCCAL_TRC0			0x15c
#define R2057_RCCAL_TRC1			0x15d
#define R2057_RCCAL_DONE_OSCCAP			0x15e
#define R2057_RCCAL_N0_0			0x15f
#define R2057_RCCAL_N0_1			0x160
#define R2057_RCCAL_N1_0			0x161
#define R2057_RCCAL_N1_1			0x162
#define R2057_RCAL_STATUS			0x163
#define R2057_XTALPUOVR_PINCTRL			0x164
#define R2057_OVR_REG0				0x165
#define R2057_OVR_REG1				0x166
#define R2057_OVR_REG2				0x167
#define R2057_OVR_REG3				0x168
#define R2057_OVR_REG4				0x169
#define R2057_RCCAL_SCAP_VAL			0x16a
#define R2057_RCCAL_BCAP_VAL			0x16b
#define R2057_RCCAL_HPC_VAL			0x16c
#define R2057_RCCAL_OVERRIDES			0x16d

/* TX core 0 */
#define R2057_TX0_IQCAL_GAIN_BW			0x170
#define R2057_TX0_LOFT_FINE_I			0x171
#define R2057_TX0_LOFT_FINE_Q			0x172
#define R2057_TX0_LOFT_COARSE_I			0x173
#define R2057_TX0_LOFT_COARSE_Q			0x174
#define R2057_TX0_TX_SSI_MASTER			0x175
#define R2057_TX0_IQCAL_VCM_HG			0x176
#define R2057_TX0_IQCAL_IDAC			0x177
#define R2057_TX0_TSSI_VCM			0x178
#define R2057_TX0_TX_SSI_MUX			0x179
#define R2057_TX0_TSSIA				0x17a
#define R2057_TX0_TSSIG				0x17b
#define R2057_TX0_TSSI_MISC1			0x17c
#define R2057_TX0_TXRXCOUPLE_2G_ATTEN		0x17d
#define R2057_TX0_TXRXCOUPLE_2G_PWRUP		0x17e
#define R2057_TX0_TXRXCOUPLE_5G_ATTEN		0x17f
#define R2057_TX0_TXRXCOUPLE_5G_PWRUP		0x180

/* TX core 1 */
#define R2057_TX1_IQCAL_GAIN_BW			0x190
#define R2057_TX1_LOFT_FINE_I			0x191
#define R2057_TX1_LOFT_FINE_Q			0x192
#define R2057_TX1_LOFT_COARSE_I			0x193
#define R2057_TX1_LOFT_COARSE_Q			0x194
#define R2057_TX1_TX_SSI_MASTER			0x195
#define R2057_TX1_IQCAL_VCM_HG			0x196
#define R2057_TX1_IQCAL_IDAC			0x197
#define R2057_TX1_TSSI_VCM			0x198
#define R2057_TX1_TX_SSI_MUX			0x199
#define R2057_TX1_TSSIA				0x19a
#define R2057_TX1_TSSIG				0x19b
#define R2057_TX1_TSSI_MISC1			0x19c
#define R2057_TX1_TXRXCOUPLE_2G_ATTEN		0x19d
#define R2057_TX1_TXRXCOUPLE_2G_PWRUP		0x19e
#define R2057_TX1_TXRXCOUPLE_5G_ATTEN		0x19f
#define R2057_TX1_TXRXCOUPLE_5G_PWRUP		0x1a0

#define R2057_AFE_VCM_CAL_MASTER_CORE0		0x1a1
#define R2057_AFE_SET_VCM_I_CORE0		0x1a2
#define R2057_AFE_SET_VCM_Q_CORE0		0x1a3
#define R2057_AFE_STATUS_VCM_IQADC_CORE0	0x1a4
#define R2057_AFE_STATUS_VCM_I_CORE0		0x1a5
#define R2057_AFE_STATUS_VCM_Q_CORE0		0x1a6
#define R2057_AFE_VCM_CAL_MASTER_CORE1		0x1a7
#define R2057_AFE_SET_VCM_I_CORE1		0x1a8
#define R2057_AFE_SET_VCM_Q_CORE1		0x1a9
#define R2057_AFE_STATUS_VCM_IQADC_CORE1	0x1aa
#define R2057_AFE_STATUS_VCM_I_CORE1		0x1ab
#define R2057_AFE_STATUS_VCM_Q_CORE1		0x1ac

#define R2057v7_DACBUF_VINCM_CORE0		0x1ad
#define R2057v7_RCCAL_MASTER			0x1ae
#define R2057v7_TR2G_CONFIG3_CORE0_NU		0x1af
#define R2057v7_TR2G_CONFIG3_CORE1_NU		0x1b0
#define R2057v7_LOGEN_PUS1			0x1b1
#define R2057v7_OVR_REG5			0x1b2
#define R2057v7_OVR_REG6			0x1b3
#define R2057v7_OVR_REG7			0x1b4
#define R2057v7_OVR_REG8			0x1b5
#define R2057v7_OVR_REG9			0x1b6
#define R2057v7_OVR_REG10			0x1b7
#define R2057v7_OVR_REG11			0x1b8
#define R2057v7_OVR_REG12			0x1b9
#define R2057v7_OVR_REG13			0x1ba
#define R2057v7_OVR_REG14			0x1bb
#define R2057v7_OVR_REG15			0x1bc
#define R2057v7_OVR_REG16			0x1bd
#define R2057v7_OVR_REG1			0x1be
#define R2057v7_OVR_REG18			0x1bf
#define R2057v7_OVR_REG19			0x1c0
#define R2057v7_OVR_REG20			0x1c1
#define R2057v7_OVR_REG21			0x1c2
#define R2057v7_OVR_REG2			0x1c3
#define R2057v7_OVR_REG23			0x1c4
#define R2057v7_OVR_REG24			0x1c5
#define R2057v7_OVR_REG25			0x1c6
#define R2057v7_OVR_REG26			0x1c7
#define R2057v7_OVR_REG27			0x1c8
#define R2057v7_OVR_REG28			0x1c9
#define R2057v7_IQTEST_SEL_PU2			0x1ca

#define R2057_VCM_MASK				0x7

struct b43_nphy_chantabent_rev7 {
	/* The channel frequency in MHz */
	u16 freq;
	/* Radio regs values on channelswitch */
	u8 radio_vcocal_countval0;
	u8 radio_vcocal_countval1;
	u8 radio_rfpll_refmaster_sparextalsize;
	u8 radio_rfpll_loopfilter_r1;
	u8 radio_rfpll_loopfilter_c2;
	u8 radio_rfpll_loopfilter_c1;
	u8 radio_cp_kpd_idac;
	u8 radio_rfpll_mmd0;
	u8 radio_rfpll_mmd1;
	u8 radio_vcobuf_tune;
	u8 radio_logen_mx2g_tune;
	u8 radio_logen_mx5g_tune;
	u8 radio_logen_indbuf2g_tune;
	u8 radio_logen_indbuf5g_tune;
	u8 radio_txmix2g_tune_boost_pu_core0;
	u8 radio_pad2g_tune_pus_core0;
	u8 radio_pga_boost_tune_core0;
	u8 radio_txmix5g_boost_tune_core0;
	u8 radio_pad5g_tune_misc_pus_core0;
	u8 radio_lna2g_tune_core0;
	u8 radio_lna5g_tune_core0;
	u8 radio_txmix2g_tune_boost_pu_core1;
	u8 radio_pad2g_tune_pus_core1;
	u8 radio_pga_boost_tune_core1;
	u8 radio_txmix5g_boost_tune_core1;
	u8 radio_pad5g_tune_misc_pus_core1;
	u8 radio_lna2g_tune_core1;
	u8 radio_lna5g_tune_core1;
	/* PHY res values on channelswitch */
	struct b43_phy_n_sfo_cfg phy_regs;
};

struct b43_nphy_chantabent_rev7_2g {
	/* The channel frequency in MHz */
	u16 freq;
	/* Radio regs values on channelswitch */
	u8 radio_vcocal_countval0;
	u8 radio_vcocal_countval1;
	u8 radio_rfpll_refmaster_sparextalsize;
	u8 radio_rfpll_loopfilter_r1;
	u8 radio_rfpll_loopfilter_c2;
	u8 radio_rfpll_loopfilter_c1;
	u8 radio_cp_kpd_idac;
	u8 radio_rfpll_mmd0;
	u8 radio_rfpll_mmd1;
	u8 radio_vcobuf_tune;
	u8 radio_logen_mx2g_tune;
	u8 radio_logen_indbuf2g_tune;
	u8 radio_txmix2g_tune_boost_pu_core0;
	u8 radio_pad2g_tune_pus_core0;
	u8 radio_lna2g_tune_core0;
	u8 radio_txmix2g_tune_boost_pu_core1;
	u8 radio_pad2g_tune_pus_core1;
	u8 radio_lna2g_tune_core1;
	/* PHY regs values on channelswitch */
	struct b43_phy_n_sfo_cfg phy_regs;
};

void r2057_upload_inittabs(struct b43_wldev *dev);

void r2057_get_chantabent_rev7(struct b43_wldev *dev, u16 freq,
			       const struct b43_nphy_chantabent_rev7 **tabent_r7,
			       const struct b43_nphy_chantabent_rev7_2g **tabent_r7_2g);

#endif /* B43_RADIO_2057_H_ */