Go to the documentation of this file.
81 uint32_t rx_path_clock_frequencies[6];
82 uint32_t tx_path_clock_frequencies[6];
93 uint32_t dcxo_coarse_and_fine_tune[2];
283 uint32_t (*ad9361_rfpll_ext_recalc_rate)(
struct refclk_scale *clk_priv);
288 #ifndef AXI_ADC_NOT_PRESENT
298 int16_t rx_coef[128];
300 uint32_t rx_path_clks[6];
308 int16_t tx_coef[128];
310 uint32_t tx_path_clks[6];
353 #define HIGHEST_OSR 0
354 #define NOMINAL_OSR 1
384 uint32_t bandwidth_hz);
387 uint32_t *bandwidth_hz);
390 uint32_t sampling_freq_hz);
393 uint32_t *sampling_freq_hz);
457 uint32_t attenuation_mdb);
460 uint32_t *attenuation_mdb);
463 uint32_t bandwidth_hz);
466 uint32_t *bandwidth_hz);
469 uint32_t sampling_freq_hz);
472 uint32_t *sampling_freq_hz);
491 uint32_t *rssi_db_x_1000);
519 uint32_t *rx_path_clks, uint32_t *tx_path_clks);
522 uint32_t *rx_path_clks, uint32_t *tx_path_clks);
uint32_t pcore_version
Definition: ad9361_util.h:79
int32_t ad9361_spi_read(struct no_os_spi_desc *spi, uint32_t reg)
Definition: ad9361.c:735
uint8_t mgc_rx2_ctrl_inp_enable
Definition: ad9361_api.h:112
uint8_t agc_inner_thresh_low
Definition: ad9361.h:2948
int32_t ad9361_tx_lo_powerdown(struct ad9361_rf_phy *phy, uint8_t option)
Definition: ad9361_api.c:1864
Driver for the Analog Devices AXI-ADC-CORE module.
#define RSSI_MULTIPLIER
Definition: ad9361.h:2808
uint8_t agc_outer_thresh_low
Definition: ad9361_api.h:133
uint8_t lvds_bias_ctrl
Definition: ad9361.h:3065
bool gpo3_slave_rx_en
Definition: ad9361.h:3105
#define REG_TX_FILTER_COEF_READ_DATA_1
Definition: ad9361.h:133
int32_t ad9361_set_rx_bbdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1162
uint8_t lmt_overload_large_inc_steps
Definition: ad9361.h:2961
#define ENSM_STATE_SLEEP
Definition: ad9361.h:764
int32_t ad9361_set_trx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:2061
bool f_agc_rst_gla_large_lmt_overload_en
Definition: ad9361.h:3004
uint8_t pp_conf[3]
Definition: ad9361.h:3061
int32_t ad9361_get_trx_path_clks(struct ad9361_rf_phy *phy, uint32_t *rx_path_clks, uint32_t *tx_path_clks)
Definition: ad9361_api.c:1914
bool bbdc_track_en
Definition: ad9361.h:3394
uint8_t gc_adc_large_overload_thresh
Definition: ad9361_api.h:98
uint8_t gpo2_slave_tx_enable
Definition: ad9361_api.h:250
@ BB_REFCLK
Definition: ad9361.h:3261
uint8_t gpo0_inactive_state_high_enable
Definition: ad9361_api.h:241
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:79
#define ENABLE_ENSM_PIN_CTRL
Definition: ad9361.h:719
uint32_t rx_path_clks[6]
Definition: ad9361_api.h:300
Definition: ad9361_util.h:87
uint8_t mgc_dec_gain_step
Definition: ad9361_api.h:109
#define TX_RSSI_2
Definition: ad9361.h:1045
uint8_t agc_dig_gain_step_size
Definition: ad9361_api.h:119
uint8_t agc_inner_thresh_high_dec_steps
Definition: ad9361_api.h:125
uint8_t agc_lmt_overload_large_exceed_counter
Definition: ad9361_api.h:128
uint8_t gc_adc_ovr_sample_size
Definition: ad9361_api.h:99
bool elna_2_control_en
Definition: ad9361.h:3079
uint8_t gpo2_rx_delay_us
Definition: ad9361_api.h:257
uint8_t two_t_two_r_timing_enable
Definition: ad9361_api.h:215
int32_t ad9361_get_rx_bbdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1183
int32_t ad9361_set_rx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1084
int32_t ad9361_fastlock_recall(struct ad9361_rf_phy *phy, bool tx, uint32_t profile)
Definition: ad9361.c:5173
bool immed_gain_change_if_large_lmt_overload
Definition: ad9361.h:2969
int32_t ad9361_get_tx_lo_freq(struct ad9361_rf_phy *phy, uint64_t *lo_freq_hz)
Definition: ad9361_api.c:1534
uint8_t agc_inner_thresh_low_inc_steps
Definition: ad9361.h:2949
int32_t ad9361_set_tx_fir_config(struct ad9361_rf_phy *phy, AD9361_TXFIRConfig fir_cfg)
Definition: ad9361_api.c:1572
uint8_t rx_frame_pulse_mode_enable
Definition: ad9361_api.h:214
struct no_os_gpio_desc * gpio_desc_cal_sw2
Definition: ad9361.h:3340
int32_t ad9361_tx_fastlock_store(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1801
int32_t ad9361_set_rx_rfdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1124
int32_t ad9361_set_rx_bbdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1162
int32_t rx_gain
Definition: ad9361_api.h:296
uint8_t half_duplex_mode_enable
Definition: ad9361_api.h:224
@ LO_DONTCARE
Definition: ad9361.h:3323
uint8_t adc_large_overload_inc_steps
Definition: ad9361.h:2955
bool gpo0_inactive_state_high_en
Definition: ad9361.h:3095
uint8_t gc_rx1_mode
Definition: ad9361_api.h:96
struct no_os_clk * clks[NUM_AD9361_CLKS]
Definition: ad9361.h:3346
uint8_t gpo_manual_mode_enable
Definition: ad9361_api.h:239
int32_t ad9361_fastlock_save(struct ad9361_rf_phy *phy, bool tx, uint32_t profile, uint8_t *values)
Definition: ad9361.c:5229
uint32_t fagc_lpf_final_settling_steps
Definition: ad9361_api.h:148
Definition: ad9361.h:3216
bool gpo3_inactive_state_high_en
Definition: ad9361.h:3098
uint8_t dac1_rx_delay_us
Definition: ad9361.h:3028
bool adc_lmt_small_overload_prevent_gain_inc
Definition: ad9361.h:2957
#define FIR_START_CLK
Definition: ad9361.h:1020
@ ENSM_MODE_RX
Definition: ad9361_api.h:316
int32_t ad9361_get_tx_rssi(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t *rssi_db_x_1000)
Definition: ad9361_api.c:1687
struct axiadc_state * adc_state
Definition: ad9361.h:3403
int32_t ad9361_get_temperature(struct ad9361_rf_phy *phy, int32_t *temp)
Definition: ad9361_api.c:2223
uint32_t aux_dac2_rx_delay_us
Definition: ad9361_api.h:190
uint8_t digital_interface_tune_fir_disable
Definition: ad9361_api.h:209
#define REV_MASK
Definition: ad9361.h:856
uint8_t agc_inner_thresh_high
Definition: ad9361_api.h:124
uint8_t tx_fastlock_pincontrol_enable
Definition: ad9361_api.h:62
uint32_t agc_gain_update_interval_us
Definition: ad9361_api.h:121
int32_t ad9361_tx_fastlock_recall(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1816
uint32_t tx_mon_duration
Definition: ad9361_api.h:268
int32_t ad9361_reset(struct ad9361_rf_phy *phy)
Definition: ad9361.c:1042
Header file of SPI Interface.
int32_t ad9361_register_clocks(struct ad9361_rf_phy *phy)
Definition: ad9361.c:7288
uint32_t low_gain_dB
Definition: ad9361_api.h:263
uint8_t agc_lmt_overload_small_exceed_counter
Definition: ad9361_api.h:130
uint8_t index
Definition: ad9361.h:3070
fir_dest
Definition: ad9361.h:2886
bool dac2_in_rx_en
Definition: ad9361.h:3024
uint8_t mgc_split_table_ctrl_inp_gain_mode
Definition: ad9361_api.h:113
uint8_t gpo3_inactive_state_high_enable
Definition: ad9361_api.h:244
uint8_t f_agc_rst_gla_engergy_lost_sig_thresh_below_ll
Definition: ad9361.h:3001
uint64_t tx_synthesizer_frequency_hz
Definition: ad9361_api.h:78
int32_t ad9361_set_tx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t bandwidth_hz)
Definition: ad9361_api.c:1433
uint8_t lmt_overload_small_exceed_counter
Definition: ad9361.h:2960
uint8_t gpo0_tx_delay_us
Definition: ad9361_api.h:254
uint16_t gc_dec_pow_measurement_duration
Definition: ad9361_api.h:101
bool elna_in_gaintable_all_index_en
Definition: ad9361.h:3080
int32_t ad9361_trx_load_enable_fir(struct ad9361_rf_phy *phy, AD9361_RXFIRConfig rx_fir_cfg, AD9361_TXFIRConfig tx_fir_cfg)
Definition: ad9361_api.c:2139
uint8_t adc_ovr_sample_size
Definition: ad9361.h:2920
int32_t ad9361_do_calib(struct ad9361_rf_phy *phy, uint32_t cal, int32_t arg)
Definition: ad9361_api.c:2125
uint8_t dc_offset_tracking_update_event_mask
Definition: ad9361_api.h:65
uint8_t fdd_alt_word_order_enable
Definition: ad9361_api.h:218
AXI ADC Initialization Parameters structure.
Definition: axi_adc_core.h:143
int32_t ad9361_set_no_ch_mode(struct ad9361_rf_phy *phy, uint8_t no_ch_mode)
Definition: ad9361_api.c:1932
@ T1_CLK
Definition: ad9361.h:3272
int32_t ad9361_set_rx_gain_control_mode(struct ad9361_rf_phy *phy, uint8_t ch, uint8_t gc_mode)
Definition: ad9361_api.c:966
uint8_t ensm_enable_txnrx_control_enable
Definition: ad9361_api.h:75
Definition: ad9361_api.h:46
bool gpo_manual_mode_en
Definition: ad9361.h:3094
uint32_t high_gain_dB
Definition: ad9361_api.h:264
bool rfdc_track_en
Definition: ad9361.h:3393
int32_t ad9361_get_en_state_machine_mode(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:684
int32_t ad9361_spi_readm(struct no_os_spi_desc *spi, uint32_t reg, uint8_t *rbuf, uint32_t num)
Definition: ad9361.c:694
int32_t ad9361_get_tx_lo_power(struct ad9361_rf_phy *phy, uint8_t *option)
Definition: ad9361_api.c:1875
bool elna_1_control_en
Definition: ad9361.h:3078
uint8_t fdd_rx_rate_2tx_enable
Definition: ad9361_api.h:220
uint8_t tx_channel_swap_enable
Definition: ad9361_api.h:212
uint8_t full_port_enable
Definition: ad9361_api.h:226
int32_t ad9361_get_rx_fir_config(struct ad9361_rf_phy *phy, uint8_t rx_ch, AD9361_RXFIRConfig *fir_cfg)
Definition: ad9361_api.c:1027
uint32_t tx1_mon_lo_cm
Definition: ad9361_api.h:271
int32_t ad9361_get_tx_attenuation(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t *attenuation_mdb)
Definition: ad9361_api.c:1407
bool f_agc_rst_gla_engergy_lost_goto_optim_gain_en
Definition: ad9361.h:3000
int32_t ad9361_set_rx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t sampling_freq_hz)
Definition: ad9361_api.c:833
int32_t ad9361_fastlock_load(struct ad9361_rf_phy *phy, bool tx, uint32_t profile, uint8_t *values)
Definition: ad9361.c:4998
uint8_t gpo3_tx_delay_us
Definition: ad9361.h:3114
uint32_t fagc_optimized_gain_offset
Definition: ad9361_api.h:157
uint32_t fagc_power_measurement_duration_in_state5
Definition: ad9361_api.h:167
uint32_t fagc_lp_thresh_increment_time
Definition: ad9361_api.h:142
uint8_t one_rx_one_tx_mode_use_rx_num
Definition: ad9361_api.h:53
int32_t ad9361_get_tx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t *bandwidth_hz)
Definition: ad9361_api.c:1455
uint8_t invert_data_bus_enable
Definition: ad9361_api.h:216
int32_t ad9361_get_temp(struct ad9361_rf_phy *phy)
Definition: ad9361.c:4214
int8_t offset
Definition: ad9361.h:3084
#define RX_LO_POWER_DOWN
Definition: ad9361.h:938
uint8_t invert_rx_frame_enable
Definition: ad9361_api.h:219
int32_t ad9361_rx_fastlock_store(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1286
@ ID_AD9364
Definition: ad9361.h:3330
uint8_t one_shot_mode_en
Definition: ad9361_api.h:266
Definition: ad9361.h:3414
uint8_t gpo3_tx_delay_us
Definition: ad9361_api.h:260
uint16_t dac2_default_value
Definition: ad9361.h:3016
Header file of Delay functions.
@ TX_SAMPL_FREQ
Definition: ad9361.h:3147
uint32_t rf_rx_bandwidth_hz
Definition: ad9361_api.h:83
uint8_t rx_coef_size
Definition: ad9361_api.h:299
#define PRODUCT_ID_9361
Definition: ad9361.h:855
uint32_t tx_data_delay
Definition: ad9361_api.h:232
uint16_t temp_sense_measurement_interval_ms
Definition: ad9361_api.h:194
#define REG_TX_CLOCK_DATA_DELAY
Definition: ad9361.h:52
uint8_t update_tx_gain_in_alert_enable
Definition: ad9361_api.h:90
int32_t ad9361_set_rx_lo_int_ext(struct ad9361_rf_phy *phy, uint8_t int_ext)
Definition: ad9361_api.c:912
int32_t ad9361_get_rx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t *sampling_freq_hz)
Definition: ad9361_api.c:858
int32_t ad9361_get_rx_rf_gain(struct ad9361_rf_phy *phy, uint8_t ch, int32_t *gain_db)
Definition: ad9361_api.c:769
uint8_t agc_mode[2]
Definition: ad9361.h:3392
uint8_t gpo0_tx_delay_us
Definition: ad9361.h:3108
uint32_t fagc_rst_gla_if_en_agc_pulled_high_mode
Definition: ad9361_api.h:166
Definition: no_os_clk.h:64
uint16_t gc_lmt_overload_high_thresh
Definition: ad9361_api.h:103
int32_t ad9361_do_mcs(struct ad9361_rf_phy *phy_master, struct ad9361_rf_phy *phy_slave)
Definition: ad9361_api.c:2015
bool gpo3_slave_tx_en
Definition: ad9361.h:3106
int32_t ad9361_remove(struct ad9361_rf_phy *phy)
Definition: ad9361_api.c:596
uint32_t gpo_manual_mode_enable_mask
Definition: ad9361.h:3093
#define TX_DATA_DELAY(x)
Definition: ad9361.h:639
struct no_os_spi_desc * spi
Definition: ad9361.h:3336
uint8_t fagc_use_last_lock_level_for_set_gain_en
Definition: ad9361_api.h:155
int32_t ad9361_get_rx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t *bandwidth_hz)
Definition: ad9361_api.c:815
int32_t ad9361_set_tx_lo_int_ext(struct ad9361_rf_phy *phy, uint8_t int_ext)
Definition: ad9361_api.c:1552
#define ENSM_STATE_SLEEP_WAIT
Definition: ad9361.h:755
uint8_t f_agc_optimized_gain_offset
Definition: ad9361.h:2996
uint8_t gpo3_slave_rx_enable
Definition: ad9361_api.h:251
int32_t ad9361_do_dcxo_tune_fine(struct ad9361_rf_phy *phy, uint32_t fine)
Definition: ad9361_api.c:2208
int32_t ad9361_rf_port_setup(struct ad9361_rf_phy *phy, bool is_out, uint32_t rx_inputs, uint32_t txb)
Definition: ad9361.c:3637
uint8_t rx_channel_swap_enable
Definition: ad9361_api.h:213
uint8_t rx_clk_data_delay
Definition: ad9361.h:3062
uint8_t gpo1_slave_tx_enable
Definition: ad9361_api.h:248
uint8_t gpo2_rx_delay_us
Definition: ad9361.h:3111
uint8_t elna_rx2_gpo1_control_enable
Definition: ad9361_api.h:205
#define _SOFT_RESET
Definition: ad9361.h:579
int32_t ad9361_tx_fastlock_load(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1833
AD9361 Header file of Util driver.
int32_t ad9361_set_dcxo_tune(struct ad9361_rf_phy *phy, uint32_t coarse, uint32_t fine)
Definition: ad9361.c:3523
uint8_t tx1_mon_lo_cm
Definition: ad9361.h:3127
int32_t ad9361_clk_mux_set_parent(struct refclk_scale *clk_priv, uint8_t index)
Definition: ad9361.c:7151
Driver for the Analog Devices AXI-DAC-CORE module.
@ RX_RFPLL_DUMMY
Definition: ad9361.h:3277
struct no_os_clk * clk_refin
Definition: ad9361.h:3345
uint8_t mgc_inc_gain_step
Definition: ad9361.h:2937
int32_t ad9361_1rx1tx_channel_map(struct ad9361_rf_phy *phy, bool tx, int32_t channel)
Definition: ad9361.c:1018
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:54
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:49
struct gain_table_info ad9361_adi_gt_info[]
Definition: ad9361.c:599
int32_t ad9361_rx_lo_powerdown(struct ad9361_rf_phy *phy, uint8_t option)
Definition: ad9361_api.c:1349
uint8_t fagc_gain_increase_after_gain_lock_en
Definition: ad9361_api.h:152
uint32_t filt_tx_path_clks[NUM_TX_CLOCKS]
Definition: ad9361.h:3385
uint32_t ad9361_rfpll_recalc_rate(struct refclk_scale *clk_priv)
Definition: ad9361.c:7010
uint8_t invert_data_clk_enable
Definition: ad9361_api.h:217
int32_t ad9361_set_rx_rf_gain(struct ad9361_rf_phy *phy, uint8_t ch, int32_t gain_db)
Definition: ad9361_api.c:743
uint32_t fagc_rst_gla_stronger_sig_thresh_above_ll
Definition: ad9361_api.h:158
#define ENSM_STATE_TX
Definition: ad9361.h:757
int32_t ad9361_get_rx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1107
uint8_t full_duplex_swap_bits_enable
Definition: ad9361_api.h:227
bool f_agc_allow_agc_gain_increase
Definition: ad9361.h:2977
uint8_t external_rx_lo_enable
Definition: ad9361_api.h:63
uint8_t ctrl_outs_enable_mask
Definition: ad9361_api.h:198
#define RSSI_RESOLUTION
Definition: ad9361.h:2809
uint8_t tdd_use_dual_synth_mode_enable
Definition: ad9361_api.h:57
int32_t ad9361_rx_fastlock_store(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1286
uint8_t adc_large_overload_exceed_counter
Definition: ad9361.h:2954
@ BIST_DISABLE
Definition: ad9361.h:3317
uint8_t aux_dac1_active_in_alert_enable
Definition: ad9361_api.h:183
int32_t ad9361_get_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1783
int32_t ad9361_set_trx_clock_chain(struct ad9361_rf_phy *phy, uint32_t *rx_path_clks, uint32_t *tx_path_clks)
Definition: ad9361.c:4640
uint8_t tx_clk_data_delay
Definition: ad9361.h:3063
int32_t ad9361_rx_fastlock_load(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1318
uint16_t tx_mon_delay
Definition: ad9361.h:3123
uint32_t aux_dac2_default_value_mV
Definition: ad9361_api.h:186
uint32_t aux_dac1_default_value_mV
Definition: ad9361_api.h:180
uint8_t agc_adc_small_overload_exceed_counter
Definition: ad9361_api.h:118
uint8_t gpo2_inactive_state_high_enable
Definition: ad9361_api.h:243
uint8_t adc_large_overload_thresh
Definition: ad9361.h:2922
uint8_t agc_outer_thresh_low_inc_steps
Definition: ad9361_api.h:134
uint8_t gc_dig_gain_enable
Definition: ad9361_api.h:102
uint8_t agc_inner_thresh_low
Definition: ad9361_api.h:126
uint32_t rssi_wait
Definition: ad9361_api.h:174
uint32_t clk_output_mode_select
Definition: ad9361_api.h:94
uint8_t frequency_division_duplex_mode_enable
Definition: ad9361_api.h:55
int32_t ad9361_set_en_state_machine_mode(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:632
#define REG_STATE
Definition: ad9361.h:67
int32_t ad9361_set_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1646
int32_t tx_attenuation_mdB
Definition: ad9361_api.h:89
#define ENSM_STATE_FDD
Definition: ad9361.h:761
@ RX_SAMPL_CLK
Definition: ad9361.h:3269
int32_t ad9361_set_rx_gain(struct ad9361_rf_phy *phy, uint32_t rx_id, struct rf_rx_gain *rx_gain)
Definition: ad9361.c:2225
uint32_t tx2_mon_lo_cm
Definition: ad9361_api.h:272
uint8_t rx_fastlock_pincontrol_enable
Definition: ad9361_api.h:61
enum ad9361_bist_mode bist_prbs_mode
Definition: ad9361.h:3406
uint8_t agc_outer_thresh_high
Definition: ad9361.h:2944
uint8_t f_agc_lmt_final_settling_steps
Definition: ad9361.h:2987
bool mgc_rx1_ctrl_inp_en
Definition: ad9361.h:2934
uint32_t reference_clk_rate
Definition: ad9361_api.h:50
int32_t ad9361_spi_write(struct no_os_spi_desc *spi, uint32_t reg, uint32_t val)
Definition: ad9361.c:811
int32_t ad9361_get_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t *rate_gov)
Definition: ad9361_api.c:2106
uint8_t single_port_mode_enable
Definition: ad9361_api.h:225
enum f_agc_target_gain_index_type f_agc_gain_index_type_after_exit_rx_mode
Definition: ad9361.h:2993
bool f_agc_rst_gla_stronger_sig_thresh_exceeded_en
Definition: ad9361.h:2997
@ TX_RFPLL
Definition: ad9361.h:3280
int32_t ad9361_do_dcxo_tune_coarse(struct ad9361_rf_phy *phy, uint32_t coarse)
Definition: ad9361_api.c:2193
bool f_agc_rst_gla_engergy_lost_sig_thresh_exceeded_en
Definition: ad9361.h:2999
bool dig_gain_en
Definition: ad9361.h:2930
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:126
uint8_t digital_interface_tune_skip_mode
Definition: ad9361_api.h:208
int32_t ad9361_init(struct ad9361_rf_phy **ad9361_phy, AD9361_InitParam *init_param)
Definition: ad9361_api.c:76
bool gpo0_slave_tx_en
Definition: ad9361.h:3100
int32_t ad9361_set_tx_attenuation(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t attenuation_mdb)
Definition: ad9361_api.c:1381
int32_t ad9361_post_setup(struct ad9361_rf_phy *phy)
Definition: ad9361_conv.c:599
int32_t ad9361_get_tx_fir_config(struct ad9361_rf_phy *phy, uint8_t tx_ch, AD9361_TXFIRConfig *fir_cfg)
Definition: ad9361_api.c:1594
uint32_t fagc_large_overload_inc_steps
Definition: ad9361_api.h:168
uint8_t lvds_mode_enable
Definition: ad9361_api.h:223
uint8_t external_tx_lo_enable
Definition: ad9361_api.h:64
int32_t ad9361_tx_fastlock_recall(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1816
uint16_t dac1_default_value
Definition: ad9361.h:3015
uint8_t mgc_rx1_ctrl_inp_enable
Definition: ad9361_api.h:111
int32_t ad9361_get_rx_lo_freq(struct ad9361_rf_phy *phy, uint64_t *lo_freq_hz)
Definition: ad9361_api.c:894
@ ENSM_MODE_PINCTRL_FDD_INDEP
Definition: ad9361_api.h:322
uint8_t gpo2_tx_delay_us
Definition: ad9361_api.h:258
Header file of AD9361 Driver.
int32_t ad9361_get_tx_fir_config(struct ad9361_rf_phy *phy, uint8_t tx_ch, AD9361_TXFIRConfig *fir_cfg)
Definition: ad9361_api.c:1594
@ ID_AD9363A
Definition: ad9361.h:3331
#define FB_CLK_DELAY(x)
Definition: ad9361.h:638
#define REG_TX_FILTER_COEF_ADDR
Definition: ad9361.h:130
@ RX_REFCLK
Definition: ad9361.h:3262
@ SOFT_RESET
Definition: ad738x.h:136
uint32_t aux_dac2_tx_delay_us
Definition: ad9361_api.h:191
Definition: ad9361_util.h:82
ad9361_ensm_mode
Definition: ad9361_api.h:314
uint8_t agc_immed_gain_change_if_large_lmt_overload_enable
Definition: ad9361_api.h:123
int32_t ad9361_get_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1669
#define REG_RX_FILTER_COEF_ADDR
Definition: ad9361.h:213
uint32_t filt_rx_path_clks[NUM_RX_CLOCKS]
Definition: ad9361.h:3384
rf_gain_ctrl_mode
Definition: ad9361.h:2901
@ ENSM_MODE_SLEEP
Definition: ad9361_api.h:320
Definition: ad9361_util.h:77
int32_t ad9361_get_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1749
bool gpo1_slave_rx_en
Definition: ad9361.h:3101
uint8_t gc_rx2_mode
Definition: ad9361_api.h:97
uint8_t dc_offset_count_high_range
Definition: ad9361_api.h:68
int32_t ad9361_set_trx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:2061
Definition: ad9361_api.h:294
uint8_t tx_mon_track_en
Definition: ad9361_api.h:265
int32_t ad9361_tx_fastlock_store(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1801
uint8_t tdd_skip_vco_cal_enable
Definition: ad9361_api.h:58
#define REG_TX_FILTER_COEF_READ_DATA_2
Definition: ad9361.h:134
int32_t ad9361_do_dcxo_tune_coarse(struct ad9361_rf_phy *phy, uint32_t coarse)
Definition: ad9361_api.c:2193
uint32_t aux_dac1_tx_delay_us
Definition: ad9361_api.h:185
uint8_t aux_dac1_active_in_tx_enable
Definition: ad9361_api.h:182
struct no_os_gpio_desc * gpio_desc_cal_sw1
Definition: ad9361.h:3339
@ TX_REFCLK
Definition: ad9361.h:3263
int32_t ad9361_get_tx_rssi(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t *rssi_db_x_1000)
Definition: ad9361_api.c:1687
int32_t ad9361_set_ensm_mode(struct ad9361_rf_phy *phy, bool fdd, bool pinctrl)
Definition: ad9361.c:4908
uint32_t f_agc_state_wait_time_ns
Definition: ad9361.h:2975
bool bypass_rx_fir
Definition: ad9361.h:3380
int32_t ad9361_set_tx_lo_freq(struct ad9361_rf_phy *phy, uint64_t lo_freq_hz)
Definition: ad9361_api.c:1517
uint8_t elna_rx1_gpo0_control_enable
Definition: ad9361_api.h:204
int32_t axi_adc_read(struct axi_adc *adc, uint32_t reg_addr, uint32_t *reg_data)
AXI ADC Data read.
Definition: axi_adc_core.c:55
bool f_agc_lock_level_lmt_gain_increase_en
Definition: ad9361.h:2983
#define ENSM_STATE_RX
Definition: ad9361.h:759
uint8_t frequency_division_duplex_independent_mode_enable
Definition: ad9361_api.h:56
int ad9361_synth_lo_powerdown(struct ad9361_rf_phy *phy, enum synth_pd_ctrl rx, enum synth_pd_ctrl tx)
Definition: ad9361.c:3468
uint32_t fagc_lock_level_gain_increase_upper_limit
Definition: ad9361_api.h:146
uint8_t dig_saturation_exceed_counter
Definition: ad9361.h:2963
int32_t ad9361_set_rx_quad_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1200
uint32_t bist_tone_level_dB
Definition: ad9361.h:3409
uint32_t ad9361_clk_factor_recalc_rate(struct refclk_scale *clk_priv, uint32_t parent_rate)
Definition: ad9361.c:6489
int32_t tx_gain
Definition: ad9361_api.h:306
int32_t ad9361_get_rx_lo_freq(struct ad9361_rf_phy *phy, uint64_t *lo_freq_hz)
Definition: ad9361_api.c:894
uint8_t agc_outer_thresh_low
Definition: ad9361.h:2950
int32_t ad9361_set_no_ch_mode(struct ad9361_rf_phy *phy, uint8_t no_ch_mode)
Definition: ad9361_api.c:1932
int32_t ad9361_setup(struct ad9361_rf_phy *phy)
Definition: ad9361.c:5363
uint16_t lmt_overload_low_thresh
Definition: ad9361.h:2925
#define TX_LO_POWER_DOWN
Definition: ad9361.h:947
int32_t ad9361_get_en_state_machine_mode(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:684
int32_t ad9361_get_rx_rf_gain(struct ad9361_rf_phy *phy, uint8_t ch, int32_t *gain_db)
Definition: ad9361_api.c:769
uint8_t rx_fir_dec
Definition: ad9361.h:3390
int32_t ad9361_rx_fastlock_save(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1334
uint32_t ad9361_rfpll_int_recalc_rate(struct refclk_scale *clk_priv, uint32_t parent_rate)
Definition: ad9361.c:6778
uint8_t agc_sync_for_gain_counter_enable
Definition: ad9361_api.h:136
int32_t ad9361_set_en_state_machine_mode(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:632
int32_t ad9361_get_tx_lo_freq(struct ad9361_rf_phy *phy, uint64_t *lo_freq_hz)
Definition: ad9361_api.c:1534
#define ON
Definition: ad9361_api.h:359
struct no_os_gpio_desc * gpio_desc_resetb
Definition: ad9361.h:3337
uint32_t rx_fastlock_delay_ns
Definition: ad9361_api.h:60
uint8_t aux_dac2_active_in_rx_enable
Definition: ad9361_api.h:187
int32_t ad9361_set_rx_lo_freq(struct ad9361_rf_phy *phy, uint64_t lo_freq_hz)
Definition: ad9361_api.c:877
bool auto_cal_en
Definition: ad9361.h:3364
ad9361_clkout
Definition: ad9361.h:3151
uint8_t gc_low_power_thresh
Definition: ad9361_api.h:105
@ T2_CLK
Definition: ad9361.h:3271
int32_t ad9361_load_fir_filter_coef(struct ad9361_rf_phy *phy, enum fir_dest dest, int32_t gain_dB, uint32_t ntaps, int16_t *coef)
Definition: ad9361.c:5829
uint16_t tx_mon_duration
Definition: ad9361.h:3124
#define ENSM_STATE_ALERT
Definition: ad9361.h:756
uint8_t agc_attack_delay_extra_margin_us
Definition: ad9361.h:2942
uint8_t mgc_split_table_ctrl_inp_gain_mode
Definition: ad9361.h:2939
int32_t no_os_clk_set_rate(struct no_os_clk_desc *desc, uint64_t rate)
int32_t ad9361_set_tx_fir_config(struct ad9361_rf_phy *phy, AD9361_TXFIRConfig fir_cfg)
Definition: ad9361_api.c:1572
uint8_t single_data_rate_enable
Definition: ad9361_api.h:222
uint8_t gpo0_slave_rx_enable
Definition: ad9361_api.h:245
struct axi_adc * rx_adc
Definition: ad9361.h:3342
bool tx_mon_track_en
Definition: ad9361.h:3118
uint16_t gc_lmt_overload_low_thresh
Definition: ad9361_api.h:104
int32_t ad9361_set_gain_ctrl_mode(struct ad9361_rf_phy *phy, struct rf_gain_ctrl *gain_ctrl)
Definition: ad9361.c:2378
#define PRODUCT_ID_MASK
Definition: ad9361.h:854
uint32_t clk_get_rate(struct ad9361_rf_phy *phy, struct refclk_scale *clk_priv)
clk_get_rate
Definition: ad9361_util.c:61
uint32_t tx
Definition: ad9361_api.h:305
enum dev_id dev_sel
Definition: ad9361.h:3335
uint8_t gpo3_slave_tx_enable
Definition: ad9361_api.h:252
uint8_t gpo0_rx_delay_us
Definition: ad9361_api.h:253
int32_t ad9361_get_rx_gain_control_mode(struct ad9361_rf_phy *phy, uint8_t ch, uint8_t *gc_mode)
Definition: ad9361_api.c:989
#define REG_RX_FILTER_CONFIG
Definition: ad9361.h:218
int16_t rx_coef[128]
Definition: ad9361_api.h:298
uint32_t fagc_lp_thresh_increment_steps
Definition: ad9361_api.h:143
int32_t ad9361_tx_fastlock_save(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1849
uint8_t f_agc_lpf_final_settling_steps
Definition: ad9361.h:2986
uint8_t agc_adc_lmt_small_overload_prevent_gain_inc_enable
Definition: ad9361_api.h:117
uint32_t filt_rx_bw_Hz
Definition: ad9361.h:3386
uint8_t agc_inner_thresh_high
Definition: ad9361.h:2946
uint32_t rssi_duration
Definition: ad9361_api.h:171
uint32_t tx_fastlock_delay_ns
Definition: ad9361_api.h:59
int32_t ad9361_get_rx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1107
int32_t ad9361_ensm_set_state(struct ad9361_rf_phy *phy, uint8_t ensm_state, bool pinctrl)
Definition: ad9361.c:4434
enum ad9361_bist_mode bist_tone_mode
Definition: ad9361.h:3407
#define FILTER_GAIN(x)
Definition: ad9361.h:1335
@ LO_OFF
Definition: ad9361.h:3324
uint8_t agc_lmt_overload_large_inc_steps
Definition: ad9361_api.h:129
int32_t ad9361_set_tx_attenuation(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t attenuation_mdb)
Definition: ad9361_api.c:1381
@ R2_CLK
Definition: ad9361.h:3266
Definition: axi_dac_core.h:68
uint8_t agc_inner_thresh_high_dec_steps
Definition: ad9361.h:2947
uint8_t rssi_restart_mode
Definition: ad9361_api.h:172
int32_t gain_db
Definition: ad9361.h:3218
int32_t ad9361_set_rx_fir_config(struct ad9361_rf_phy *phy, AD9361_RXFIRConfig fir_cfg)
Definition: ad9361_api.c:1005
@ LO_ON
Definition: ad9361.h:3325
int32_t no_os_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition: no_os_gpio.c:104
int32_t ad9361_get_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1783
uint32_t elna_gain_mdB
Definition: ad9361_api.h:202
int32_t ad9361_rx_fastlock_load(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1318
uint8_t dac2_rx_delay_us
Definition: ad9361.h:3030
rssi_restart_mode
Definition: ad9361.h:3034
uint8_t qec_tracking_slow_mode_enable
Definition: ad9361_api.h:72
uint32_t rx_rf_port_input_select
Definition: ad9361_api.h:86
uint16_t lmt_overload_high_thresh
Definition: ad9361.h:2924
int32_t ad9361_set_tx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t sampling_freq_hz)
Definition: ad9361_api.c:1473
int32_t(* ad9361_rfpll_ext_round_rate)(struct refclk_scale *clk_priv, uint32_t rate)
Definition: ad9361.h:3349
void ad9361_clear_state(struct ad9361_rf_phy *phy)
Definition: ad9361.c:5304
uint8_t f_agc_lock_level_gain_increase_upper_limit
Definition: ad9361.h:2984
uint32_t temp_sensor_decimation
Definition: ad9361.h:3086
bool dac1_in_alert_en
Definition: ad9361.h:3022
int32_t ad9361_get_rx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t *bandwidth_hz)
Definition: ad9361_api.c:815
bool f_agc_rst_gla_large_adc_overload_en
Definition: ad9361.h:3003
Definition: ad9361.h:3334
uint8_t f_agc_lp_thresh_increment_time
Definition: ad9361.h:2978
@ FIR_IS_RX
Definition: ad9361.h:2893
bool gpo2_slave_tx_en
Definition: ad9361.h:3104
bool dac2_in_alert_en
Definition: ad9361.h:3026
Definition: ad9361.h:2896
uint8_t two_rx_two_tx_mode_enable
Definition: ad9361_api.h:52
uint8_t f_agc_energy_lost_stronger_sig_gain_lock_exit_cnt
Definition: ad9361.h:3002
uint8_t ensm_enable_pin_pulse_mode_enable
Definition: ad9361_api.h:74
uint8_t f_agc_power_measurement_duration_in_state5
Definition: ad9361.h:3010
int32_t ad9361_set_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1248
uint8_t mgc_inc_gain_step
Definition: ad9361_api.h:110
uint32_t fagc_rst_gla_engergy_lost_sig_thresh_below_ll
Definition: ad9361_api.h:161
int32_t ad9361_rx_fastlock_recall(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1301
uint8_t fagc_rst_gla_large_adc_overload_en
Definition: ad9361_api.h:163
uint8_t rssi_unit_is_rx_samples_enable
Definition: ad9361_api.h:173
uint32_t trx_synthesizer_target_fref_overwrite_hz
Definition: ad9361_api.h:71
uint8_t cached_synth_pd[2]
Definition: ad9361.h:3358
uint32_t tx_path_clks[6]
Definition: ad9361_api.h:310
int32_t ad9361_get_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1669
uint32_t(* ad9361_rfpll_ext_recalc_rate)(struct refclk_scale *clk_priv)
Definition: ad9361.h:3348
int32_t ad9361_set_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1729
uint32_t fagc_energy_lost_stronger_sig_gain_lock_exit_cnt
Definition: ad9361_api.h:162
int32_t ad9361_set_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1766
int32_t ad9361_get_rx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t *sampling_freq_hz)
Definition: ad9361_api.c:858
uint32_t current_rx_bw_Hz
Definition: ad9361.h:3376
int32_t ad9361_set_trx_path_clks(struct ad9361_rf_phy *phy, uint32_t *rx_path_clks, uint32_t *tx_path_clks)
Definition: ad9361_api.c:1891
int32_t ad9361_validate_enable_fir(struct ad9361_rf_phy *phy)
Definition: ad9361.c:6085
int32_t ad9361_set_rx_lo_int_ext(struct ad9361_rf_phy *phy, uint8_t int_ext)
Definition: ad9361_api.c:912
uint8_t dc_offset_count_low_range
Definition: ad9361_api.h:69
uint32_t fagc_lmt_final_settling_steps
Definition: ad9361_api.h:149
uint16_t gain_mdB
Definition: ad9361.h:3075
int32_t ad9361_init(struct ad9361_rf_phy **ad9361_phy, AD9361_InitParam *init_param)
Definition: ad9361_api.c:76
int8_t temp_sense_offset_signed
Definition: ad9361_api.h:195
uint8_t temp_sense_periodic_measurement_enable
Definition: ad9361_api.h:196
uint32_t rx
Definition: ad9361_api.h:295
uint8_t agc_adc_large_overload_exceed_counter
Definition: ad9361_api.h:115
uint8_t gpo2_slave_rx_enable
Definition: ad9361_api.h:249
uint32_t auxadc_clock_rate
Definition: ad9361.h:3088
bool quad_track_en
Definition: ad9361.h:3395
uint32_t fagc_state_wait_time_ns
Definition: ad9361_api.h:139
uint8_t tx_fir_int
Definition: ad9361.h:3388
int32_t ad9361_set_tx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t bandwidth_hz)
Definition: ad9361_api.c:1433
Definition: ad9361.h:2877
uint32_t gpo_manual_mode_enable_mask
Definition: ad9361_api.h:240
uint32_t temp_time_inteval_ms
Definition: ad9361.h:3085
#define REG_PRODUCT_ID
Definition: ad9361.h:98
uint8_t mgc_dec_gain_step
Definition: ad9361.h:2938
int32_t ad9361_get_tx_lo_power(struct ad9361_rf_phy *phy, uint8_t *option)
Definition: ad9361_api.c:1875
@ CLKTF_CLK
Definition: ad9361.h:3273
int32_t ad9361_get_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1749
uint32_t low_high_gain_threshold_mdB
Definition: ad9361.h:3120
int32_t ad9361_get_rx_rfdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1145
int32_t ad9361_set_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1248
#define REG_RX_FILTER_COEF_READ_DATA_2
Definition: ad9361.h:217
int32_t ad9361_get_rx_quad_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1221
struct refclk_scale * ref_clk_scale[NUM_AD9361_CLKS]
Definition: ad9361.h:3347
uint32_t ad9361_to_clk(uint64_t freq)
Definition: ad9361.c:1392
uint64_t rx_synthesizer_frequency_hz
Definition: ad9361_api.h:77
uint8_t gc_max_dig_gain
Definition: ad9361_api.h:106
int32_t no_os_gpio_get(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Obtain the GPIO decriptor.
Definition: no_os_gpio.c:49
int32_t ad9361_set_tx_atten(struct ad9361_rf_phy *phy, uint32_t atten_mdb, bool tx1, bool tx2, bool immed)
Definition: ad9361.c:1642
uint8_t agc_immed_gain_change_if_large_adc_overload_enable
Definition: ad9361_api.h:122
@ RX_RFPLL
Definition: ad9361.h:3279
uint8_t lvds_rx_onchip_termination_enable
Definition: ad9361_api.h:234
uint8_t aux_dac_manual_mode_enable
Definition: ad9361_api.h:179
int16_t tx_coef[128]
Definition: ad9361_api.h:308
int32_t ad9361_tx_fastlock_load(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1833
int32_t ad9361_do_calib(struct ad9361_rf_phy *phy, uint32_t cal, int32_t arg)
Definition: ad9361_api.c:2125
uint8_t lvds_invert1_control
Definition: ad9361_api.h:236
int32_t ad9361_get_rx_rssi(struct ad9361_rf_phy *phy, uint8_t ch, struct rf_rssi *rssi)
Definition: ad9361_api.c:936
uint32_t tx1_mon_front_end_gain
Definition: ad9361_api.h:269
@ DAC_CLK
Definition: ad9361.h:3270
uint8_t fagc_rst_gla_stronger_sig_thresh_exceeded_en
Definition: ad9361_api.h:156
uint8_t max_dig_gain
Definition: ad9361.h:2931
#define REG_TX_RSSI_LSB
Definition: ad9361.h:142
bool f_agc_rst_gla_en_agc_pulled_high_en
Definition: ad9361.h:3005
uint8_t tx2_mon_lo_cm
Definition: ad9361.h:3128
#define AD9364_DEVICE
Definition: app_config.h:40
uint32_t elna_bypass_loss_mdB
Definition: ad9361_api.h:203
int32_t ad9361_get_rx_gain_control_mode(struct ad9361_rf_phy *phy, uint8_t ch, uint8_t *gc_mode)
Definition: ad9361_api.c:989
int32_t ad9361_get_rx_lo_power(struct ad9361_rf_phy *phy, uint8_t *option)
Definition: ad9361_api.c:1360
int32_t ad9361_set_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1729
uint8_t en_mask
Definition: ad9361.h:3071
Definition: ad9361_api.h:304
uint8_t mode
Definition: ad9361.h:2898
bool auxdac_manual_mode_en
Definition: ad9361.h:3018
bool dac2_in_tx_en
Definition: ad9361.h:3025
int32_t ad9361_get_temperature(struct ad9361_rf_phy *phy, int32_t *temp)
Definition: ad9361_api.c:2223
bool dac1_in_rx_en
Definition: ad9361.h:3020
uint32_t aux_dac1_rx_delay_us
Definition: ad9361_api.h:184
uint8_t gpo1_rx_delay_us
Definition: ad9361.h:3109
@ TX_RFPLL_INT
Definition: ad9361.h:3276
uint32_t bist_tone_mask
Definition: ad9361.h:3410
#define EXT_LO
Definition: ad9361_api.h:357
uint8_t split_gain_table_mode_enable
Definition: ad9361_api.h:70
bool rx_eq_2tx
Definition: ad9361.h:3382
uint8_t aux_dac2_active_in_tx_enable
Definition: ad9361_api.h:188
int32_t ad9361_set_rx_fir_config(struct ad9361_rf_phy *phy, AD9361_RXFIRConfig fir_cfg)
Definition: ad9361_api.c:1005
#define FIR_NUM_TAPS(x)
Definition: ad9361.h:1023
int32_t ad9361_get_tx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t *sampling_freq_hz)
Definition: ad9361_api.c:1498
uint8_t pp_tx_swap_enable
Definition: ad9361_api.h:210
#define FIR_SELECT(x)
Definition: ad9361.h:1022
int32_t ad9361_get_rx_fir_config(struct ad9361_rf_phy *phy, uint8_t rx_ch, AD9361_RXFIRConfig *fir_cfg)
Definition: ad9361_api.c:1027
@ RX_SAMPL_FREQ
Definition: ad9361.h:3137
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:69
int32_t ad9361_get_rx_rssi(struct ad9361_rf_phy *phy, uint8_t ch, struct rf_rssi *rssi)
Definition: ad9361_api.c:936
uint8_t ctrl_outs_index
Definition: ad9361_api.h:199
#define REG_RX_FILTER_COEF_READ_DATA_1
Definition: ad9361.h:216
int32_t ad9361_get_trx_path_clks(struct ad9361_rf_phy *phy, uint32_t *rx_path_clks, uint32_t *tx_path_clks)
Definition: ad9361_api.c:1914
uint32_t elna_settling_delay_ns
Definition: ad9361_api.h:201
uint32_t rate_governor
Definition: ad9361.h:3379
uint8_t gpo1_inactive_state_high_enable
Definition: ad9361_api.h:242
uint8_t fagc_rst_gla_engergy_lost_goto_optim_gain_en
Definition: ad9361_api.h:160
uint32_t fagc_final_overrange_count
Definition: ad9361_api.h:150
int32_t ad9361_set_rx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1084
uint8_t aux_dac2_active_in_alert_enable
Definition: ad9361_api.h:189
int32_t ad9361_mcs(struct ad9361_rf_phy *phy, int32_t step)
Definition: ad9361.c:5249
uint8_t gpo3_rx_delay_us
Definition: ad9361.h:3113
uint32_t tx_int
Definition: ad9361_api.h:307
bool gpo1_slave_tx_en
Definition: ad9361.h:3102
bool gpo1_inactive_state_high_en
Definition: ad9361.h:3096
@ ENSM_MODE_WAIT
Definition: ad9361_api.h:319
int32_t axi_adc_init(struct axi_adc **adc_core, const struct axi_adc_init *init)
AXI ADC Main Initialization.
Definition: axi_adc_core.c:641
uint8_t tx_coef_size
Definition: ad9361_api.h:309
uint32_t low_high_gain_threshold_mdB
Definition: ad9361_api.h:262
uint8_t rx1rx2_phase_inversion_en
Definition: ad9361_api.h:235
#define TX_FIR_GAIN_6DB
Definition: ad9361.h:1019
@ TX_RFPLL_DUMMY
Definition: ad9361.h:3278
uint64_t ad9361_from_clk(uint32_t freq)
Definition: ad9361.c:1403
uint8_t lvds_invert[2]
Definition: ad9361.h:3066
uint8_t xo_disable_use_ext_refclk_enable
Definition: ad9361_api.h:92
bool gpo2_slave_rx_en
Definition: ad9361.h:3103
uint8_t f_agc_large_overload_inc_steps
Definition: ad9361.h:3011
int32_t ad9361_set_rx_rfdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1124
uint32_t agc_attack_delay_extra_margin_us
Definition: ad9361_api.h:135
uint32_t rx_dec
Definition: ad9361_api.h:297
int32_t ad9361_do_dcxo_tune_fine(struct ad9361_rf_phy *phy, uint32_t fine)
Definition: ad9361_api.c:2208
bool gpo2_inactive_state_high_en
Definition: ad9361.h:3097
#define REG_SPI_CONF
Definition: ad9361.h:45
int32_t(* ad9361_rfpll_ext_set_rate)(struct refclk_scale *clk_priv, uint32_t rate)
Definition: ad9361.h:3351
#define REG_RX_FILTER_GAIN
Definition: ad9361.h:219
int32_t ad9361_get_rx_rfdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1145
uint32_t aux_adc_decimation
Definition: ad9361_api.h:176
uint32_t auxadc_decimation
Definition: ad9361.h:3089
uint8_t f_agc_rst_gla_stronger_sig_thresh_above_ll
Definition: ad9361.h:2998
uint8_t dac2_tx_delay_us
Definition: ad9361.h:3031
bool mgc_rx2_ctrl_inp_en
Definition: ad9361.h:2935
int32_t ad9361_get_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1268
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:113
uint32_t fagc_dec_pow_measuremnt_duration
Definition: ad9361_api.h:138
int32_t ad9361_read_rssi(struct ad9361_rf_phy *phy, struct rf_rssi *rssi)
Definition: ad9361.c:2453
uint8_t low_gain_dB
Definition: ad9361.h:3121
struct ad9361_rf_phy * ad9361_phy
Definition: main.c:510
@ R1_CLK
Definition: ad9361.h:3267
uint8_t digital_io_ctrl
Definition: ad9361.h:3064
uint8_t adc_small_overload_thresh
Definition: ad9361.h:2921
int32_t ad9361_do_calib_run(struct ad9361_rf_phy *phy, uint32_t cal, int32_t arg)
Definition: ad9361.c:5677
uint8_t agc_outer_thresh_low_inc_steps
Definition: ad9361.h:2951
uint32_t ant
Definition: ad9361.h:2897
uint8_t aux_dac1_active_in_rx_enable
Definition: ad9361_api.h:181
uint32_t filt_tx_bw_Hz
Definition: ad9361.h:3387
uint8_t swap_ports_enable
Definition: ad9361_api.h:221
struct axi_adc_init * rx_adc_init
Definition: ad9361_api.h:289
int32_t ad9361_set_rx_lo_freq(struct ad9361_rf_phy *phy, uint64_t lo_freq_hz)
Definition: ad9361_api.c:877
uint32_t current_table
Definition: ad9361.h:3360
int32_t ad9361_remove(struct ad9361_rf_phy *phy)
Definition: ad9361_api.c:596
uint8_t fagc_rst_gla_large_lmt_overload_en
Definition: ad9361_api.h:164
uint8_t f_agc_lp_thresh_increment_steps
Definition: ad9361.h:2979
int32_t ad9361_rx_fastlock_recall(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1301
uint8_t gpo0_slave_tx_enable
Definition: ad9361_api.h:246
int32_t ad9361_rx_fastlock_save(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1334
#define ADI_REG_VERSION
Definition: ad9361_api.c:63
uint32_t settling_delay_ns
Definition: ad9361.h:3077
uint32_t f_agc_dec_pow_measuremnt_duration
Definition: ad9361.h:2974
uint32_t rf_tx_bandwidth_hz
Definition: ad9361_api.h:84
int32_t ad9361_set_tx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t sampling_freq_hz)
Definition: ad9361_api.c:1473
uint8_t gpo1_slave_rx_enable
Definition: ad9361_api.h:247
uint32_t tx_rf_port_input_select
Definition: ad9361_api.h:87
#define REG_ENSM_CONFIG_1
Definition: ad9361.h:64
int32_t ad9361_get_rx_lo_power(struct ad9361_rf_phy *phy, uint8_t *option)
Definition: ad9361_api.c:1360
bool f_agc_use_last_lock_level_for_set_gain_en
Definition: ad9361.h:2995
int32_t ad9361_get_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1268
uint32_t current_tx_bw_Hz
Definition: ad9361.h:3377
uint8_t agc_dig_saturation_exceed_counter
Definition: ad9361_api.h:120
int32_t ad9361_do_mcs(struct ad9361_rf_phy *phy_master, struct ad9361_rf_phy *phy_slave)
Definition: ad9361_api.c:2015
uint8_t gpo1_tx_delay_us
Definition: ad9361.h:3110
int32_t ad9361_set_rx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t bandwidth_hz)
Definition: ad9361_api.c:793
@ ADC_CLK
Definition: ad9361.h:3265
int32_t ad9361_set_rx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t sampling_freq_hz)
Definition: ad9361_api.c:833
int32_t no_os_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: no_os_spi.c:116
@ RX_RFPLL_INT
Definition: ad9361.h:3275
#define REG_RX_CLOCK_DATA_DELAY
Definition: ad9361.h:51
int32_t ad9361_unregister_clocks(struct ad9361_rf_phy *phy)
Definition: ad9361.c:7403
uint8_t f_agc_final_overrange_count
Definition: ad9361.h:2988
#define ENSM_STATE(x)
Definition: ad9361.h:754
int32_t ad9361_get_rx_gain(struct ad9361_rf_phy *phy, uint32_t rx_id, struct rf_rx_gain *rx_gain)
Definition: ad9361.c:1910
uint8_t gpo0_rx_delay_us
Definition: ad9361.h:3107
uint32_t lvds_bias_mV
Definition: ad9361_api.h:233
uint8_t fagc_allow_agc_gain_increase
Definition: ad9361_api.h:141
uint8_t agc_outer_thresh_high
Definition: ad9361_api.h:131
uint8_t lmt_overload_large_exceed_counter
Definition: ad9361.h:2959
int32_t ad9361_get_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t *rate_gov)
Definition: ad9361_api.c:2106
uint8_t gc_adc_small_overload_thresh
Definition: ad9361_api.h:100
int32_t ad9361_get_tx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t *sampling_freq_hz)
Definition: ad9361_api.c:1498
int32_t ad9361_set_tx_lo_freq(struct ad9361_rf_phy *phy, uint64_t lo_freq_hz)
Definition: ad9361_api.c:1517
Header file of GPIO Interface.
uint32_t ad9361_bbpll_recalc_rate(struct refclk_scale *clk_priv, uint32_t parent_rate)
Definition: ad9361.c:6572
@ ENSM_MODE_TX
Definition: ad9361_api.h:315
struct no_os_gpio_desc * gpio_desc_sync
Definition: ad9361.h:3338
bool f_agc_gain_increase_after_gain_lock_en
Definition: ad9361.h:2990
int32_t ad9361_tx_fastlock_save(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1849
int32_t ad9361_set_rx_quad_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1200
int32_t bist_config
Definition: ad9361.h:3405
uint8_t gc_use_rx_fir_out_for_dec_pwr_meas_enable
Definition: ad9361_api.h:107
uint32_t tx_mon_delay
Definition: ad9361_api.h:267
int32_t ad9361_get_rx_quad_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1221
uint32_t ad9361_validate_rf_bw(struct ad9361_rf_phy *phy, uint32_t bw)
Definition: ad9361.c:940
@ ENSM_MODE_FDD
Definition: ad9361_api.h:318
int32_t ad9361_update_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t rf_rx_bw, uint32_t rf_tx_bw)
Definition: ad9361.c:5718
enum f_agc_target_gain_index_type f_agc_rst_gla_if_en_agc_pulled_high_mode
Definition: ad9361.h:3008
@ ENSM_MODE_PINCTRL
Definition: ad9361_api.h:321
uint8_t fagc_rst_gla_engergy_lost_sig_thresh_exceeded_en
Definition: ad9361_api.h:159
uint8_t tx2_mon_front_end_gain
Definition: ad9361.h:3126
bool use_rx_fir_out_for_dec_pwr_meas
Definition: ad9361.h:2928
uint32_t tx_fb_clock_delay
Definition: ad9361_api.h:231
uint32_t temp_sense_decimation
Definition: ad9361_api.h:193
uint8_t fagc_rst_gla_en_agc_pulled_high_en
Definition: ad9361_api.h:165
@ BBPLL_CLK
Definition: ad9361.h:3264
int32_t ad9361_rx_lo_powerdown(struct ad9361_rf_phy *phy, uint8_t option)
Definition: ad9361_api.c:1349
struct gain_table_info * gt_info
Definition: ad9361.h:3361
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:52
uint32_t tx_bandwidth
Definition: ad9361_api.h:311
uint8_t gpo1_rx_delay_us
Definition: ad9361_api.h:255
bool filt_valid
Definition: ad9361.h:3383
#define TX_RSSI_1
Definition: ad9361.h:1046
#define REG_TX_FILTER_CONF
Definition: ad9361.h:135
uint8_t tx1_mon_front_end_gain
Definition: ad9361.h:3125
int32_t ad9361_get_tx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t *bandwidth_hz)
Definition: ad9361_api.c:1455
uint8_t dig_gain_step_size
Definition: ad9361.h:2964
Header file of utility functions.
uint32_t delay_rx_data
Definition: ad9361_api.h:228
int32_t ad9361_tx_lo_powerdown(struct ad9361_rf_phy *phy, uint8_t option)
Definition: ad9361_api.c:1864
#define DATA_CLK_DELAY(x)
Definition: ad9361.h:632
uint32_t aux_adc_rate
Definition: ad9361_api.h:177
struct axi_dac_init * tx_dac_init
Definition: ad9361_api.h:290
int32_t ad9361_get_trx_clock_chain(struct ad9361_rf_phy *phy, uint32_t *rx_path_clks, uint32_t *tx_path_clks)
Definition: ad9361.c:4728
uint8_t fagc_lock_level_lmt_gain_increase_en
Definition: ad9361_api.h:145
struct ad9361_phy_platform_data * pdata
Definition: ad9361.h:3353
uint8_t gpo1_tx_delay_us
Definition: ad9361_api.h:256
uint16_t bypass_loss_mdB
Definition: ad9361.h:3076
@ CLKRF_CLK
Definition: ad9361.h:3268
uint32_t ad9361_rfpll_dummy_recalc_rate(struct refclk_scale *clk_priv)
Definition: ad9361.c:6982
int32_t ad9361_get_rx_bbdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1183
uint8_t dac1_tx_delay_us
Definition: ad9361.h:3029
uint32_t rssi_delay
Definition: ad9361_api.h:170
bool immed_gain_change_if_large_adc_overload
Definition: ad9361.h:2968
int32_t bist_loopback_mode
Definition: ad9361.h:3404
enum rf_gain_ctrl_mode rx1_mode
Definition: ad9361.h:2916
uint8_t high_gain_dB
Definition: ad9361.h:3122
int32_t ad9361_set_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t rate_gov)
Definition: ad9361_api.c:2090
int32_t ad9361_trx_load_enable_fir(struct ad9361_rf_phy *phy, AD9361_RXFIRConfig rx_fir_cfg, AD9361_TXFIRConfig tx_fir_cfg)
Definition: ad9361_api.c:2139
int32_t ad9361_get_tx_attenuation(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t *attenuation_mdb)
Definition: ad9361_api.c:1407
uint8_t gpo2_tx_delay_us
Definition: ad9361.h:3112
uint8_t agc_outer_thresh_high_dec_steps
Definition: ad9361.h:2945
int32_t ad9361_set_trx_path_clks(struct ad9361_rf_phy *phy, uint32_t *rx_path_clks, uint32_t *tx_path_clks)
Definition: ad9361_api.c:1891
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: no_os_gpio.c:147
dev_id
Definition: ad9361.h:3328
uint16_t dec_pow_measuremnt_duration
Definition: ad9361.h:2926
#define OFF
Definition: ad9361_api.h:360
uint32_t rate
Definition: common.h:53
uint8_t agc_inner_thresh_low_inc_steps
Definition: ad9361_api.h:127
bool gpo0_slave_rx_en
Definition: ad9361.h:3099
int32_t ad9361_set_rx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t bandwidth_hz)
Definition: ad9361_api.c:793
uint32_t bist_tone_freq_Hz
Definition: ad9361.h:3408
int32_t ad9361_set_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t rate_gov)
Definition: ad9361_api.c:2090
struct ad9361_rf_phy * phy
Definition: ad9361_util.h:78
int32_t ad9361_set_rx_gain_control_mode(struct ad9361_rf_phy *phy, uint8_t ch, uint8_t gc_mode)
Definition: ad9361_api.c:966
int32_t ad9361_fastlock_store(struct ad9361_rf_phy *phy, bool tx, uint32_t profile)
Definition: ad9361.c:5041
uint32_t rx_data_delay
Definition: ad9361_api.h:230
uint32_t fagc_gain_index_type_after_exit_rx_mode
Definition: ad9361_api.h:154
int32_t ad9361_set_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1766
uint8_t agc_adc_large_overload_inc_steps
Definition: ad9361_api.h:116
int32_t ad9361_get_tx_atten(struct ad9361_rf_phy *phy, uint32_t tx_num)
Definition: ad9361.c:1681
Header file of AD9361 API Driver.
struct no_os_spi_init_param * spi_param
Definition: ad7616.h:204
uint8_t dc_offset_attenuation_low_range
Definition: ad9361_api.h:67
uint8_t pp_rx_swap_enable
Definition: ad9361_api.h:211
enum rf_gain_ctrl_mode rx2_mode
Definition: ad9361.h:2917
uint8_t adc_small_overload_exceed_counter
Definition: ad9361.h:2953
#define RX_DATA_DELAY(x)
Definition: ad9361.h:633
uint8_t agc_outer_thresh_high_dec_steps
Definition: ad9361_api.h:132
uint8_t elna_gaintable_all_index_enable
Definition: ad9361_api.h:206
uint8_t dc_offset_attenuation_high_range
Definition: ad9361_api.h:66
f_agc_target_gain_index_type
Definition: ad9361.h:2908
int32_t ad9361_tracking_control(struct ad9361_rf_phy *phy, bool bbdc_track, bool rfdc_track, bool rxquad_track)
Definition: ad9361.c:3317
bool dac1_in_tx_en
Definition: ad9361.h:3021
uint8_t tx_lo_powerdown_managed_enable
Definition: ad9361_api.h:79
int32_t ad9361_set_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1646
uint32_t gain_update_interval_us
Definition: ad9361.h:2967
uint8_t one_rx_one_tx_mode_use_tx_num
Definition: ad9361_api.h:54
@ ID_AD9361
Definition: ad9361.h:3329
@ ENSM_MODE_ALERT
Definition: ad9361_api.h:317
uint8_t gpo3_rx_delay_us
Definition: ad9361_api.h:259
bool one_shot_mode_en
Definition: ad9361.h:3119
bool sync_for_gain_counter_en
Definition: ad9361.h:2965
uint32_t rx_data_clock_delay
Definition: ad9361_api.h:229
struct axiadc_converter * adc_conv
Definition: ad9361.h:3402
uint32_t tx2_mon_front_end_gain
Definition: ad9361_api.h:270
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:140
bool periodic_temp_measuremnt
Definition: ad9361.h:3087
int32_t ad9361_calculate_rf_clock_chain(struct ad9361_rf_phy *phy, uint32_t tx_sample_rate, uint32_t rate_gov, uint32_t *rx_path_clks, uint32_t *tx_path_clks)
Definition: ad9361.c:4766
bool bypass_tx_fir
Definition: ad9361.h:3381
struct axiadc_chip_info * chip_info
Definition: ad9361_util.h:88
uint8_t low_power_thresh
Definition: ad9361.h:2927
int32_t ad9361_set_rx_rf_gain(struct ad9361_rf_phy *phy, uint8_t ch, int32_t gain_db)
Definition: ad9361_api.c:743
uint32_t rx_bandwidth
Definition: ad9361_api.h:301
int32_t ad9361_set_tx_lo_int_ext(struct ad9361_rf_phy *phy, uint8_t int_ext)
Definition: ad9361_api.c:1552
uint8_t lvds_invert2_control
Definition: ad9361_api.h:237
@ TX_SAMPL_CLK
Definition: ad9361.h:3274
int32_t no_os_gpio_get_optional(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Get the value of an optional GPIO.
Definition: no_os_gpio.c:75