/* * Copyright 2010 Free Software Foundation, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef DB_WBXNG_H #define DB_WBXNG_H #include // IO Pin functions // Tx and Rx have shared defs, but different i/o regs #define ENABLE_5 (1 << 7) // enables 5.0V power supply #define ENABLE_33 (1 << 6) // enables 3.3V supply //#define RX_TXN (1 << 15) // Tx only: T/R antenna switch for TX/RX port //#define RX2_RX1N (1 << 15) // Rx only: antenna switch between RX2 and TX/RX port #define RX_TXN ((1 << 5)|(1 << 15)) // Tx only: T/R antenna switch for TX/RX port #define RX2_RX1N ((1 << 5)|(1 << 15)) // Rx only: antenna switch between RX2 and TX/RX port #define RXBB_EN (1 << 4) #define TXMOD_EN (1 << 4) #define PLL_CE (1 << 3) #define PLL_PDBRF (1 << 2) #define PLL_MUXOUT (1 << 1) #define PLL_LOCK_DETECT (1 << 0) // RX Attenuator constants #define ATTN_SHIFT 8 #define ATTN_MASK (63 << ATTN_SHIFT) struct db_wbxng_common { // RFX common stuff uint16_t adf4350_regs_int; uint16_t adf4350_regs_frac; uint8_t adf4350_regs_prescaler; uint16_t adf4350_regs_mod; uint16_t adf4350_regs_10_bit_r_counter; uint8_t adf4350_regs_divider_select; uint8_t adf4350_regs_8_bit_band_select_clock_divider_value; int freq_mult; int spi_mask; }; struct db_wbxng_dummy { struct db_base base; struct db_wbxng_common common; }; struct db_wbxng_rx { struct db_base base; struct db_wbxng_common common; }; struct db_wbxng_tx { struct db_base base; struct db_wbxng_common common; }; #endif /* DB_WBXNG_H */