Go to the documentation of this file.
87 uint32_t rx_path_clock_frequencies[6];
88 uint32_t tx_path_clock_frequencies[6];
99 uint32_t dcxo_coarse_and_fine_tune[2];
289 uint32_t (*ad9361_rfpll_ext_recalc_rate)(
struct refclk_scale *clk_priv);
294 #ifndef AXI_ADC_NOT_PRESENT
304 int16_t rx_coef[128];
306 uint32_t rx_path_clks[6];
314 int16_t tx_coef[128];
316 uint32_t tx_path_clks[6];
359 #define HIGHEST_OSR 0
360 #define NOMINAL_OSR 1
390 uint32_t bandwidth_hz);
393 uint32_t *bandwidth_hz);
396 uint32_t sampling_freq_hz);
399 uint32_t *sampling_freq_hz);
463 uint32_t attenuation_mdb);
466 uint32_t *attenuation_mdb);
469 uint32_t bandwidth_hz);
472 uint32_t *bandwidth_hz);
475 uint32_t sampling_freq_hz);
478 uint32_t *sampling_freq_hz);
497 uint32_t *rssi_db_x_1000);
525 uint32_t *rx_path_clks, uint32_t *tx_path_clks);
528 uint32_t *rx_path_clks, uint32_t *tx_path_clks);
uint32_t pcore_version
Definition: ad9361_util.h:85
int32_t ad9361_spi_read(struct no_os_spi_desc *spi, uint32_t reg)
Definition: ad9361.c:741
uint8_t mgc_rx2_ctrl_inp_enable
Definition: ad9361_api.h:118
uint8_t agc_inner_thresh_low
Definition: ad9361.h:2954
int32_t ad9361_tx_lo_powerdown(struct ad9361_rf_phy *phy, uint8_t option)
Definition: ad9361_api.c:1870
Driver for the Analog Devices AXI-ADC-CORE module.
#define RSSI_MULTIPLIER
Definition: ad9361.h:2814
uint8_t agc_outer_thresh_low
Definition: ad9361_api.h:139
uint8_t lvds_bias_ctrl
Definition: ad9361.h:3071
bool gpo3_slave_rx_en
Definition: ad9361.h:3111
#define REG_TX_FILTER_COEF_READ_DATA_1
Definition: ad9361.h:139
int32_t ad9361_set_rx_bbdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1168
uint8_t lmt_overload_large_inc_steps
Definition: ad9361.h:2967
#define ENSM_STATE_SLEEP
Definition: ad9361.h:770
int32_t ad9361_set_trx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:2067
bool f_agc_rst_gla_large_lmt_overload_en
Definition: ad9361.h:3010
uint8_t pp_conf[3]
Definition: ad9361.h:3067
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:1920
bool bbdc_track_en
Definition: ad9361.h:3400
uint8_t gc_adc_large_overload_thresh
Definition: ad9361_api.h:104
uint8_t gpo2_slave_tx_enable
Definition: ad9361_api.h:256
@ BB_REFCLK
Definition: ad9361.h:3267
uint8_t gpo0_inactive_state_high_enable
Definition: ad9361_api.h:247
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
#define ENABLE_ENSM_PIN_CTRL
Definition: ad9361.h:725
uint32_t rx_path_clks[6]
Definition: ad9361_api.h:306
Definition: ad9361_util.h:93
uint8_t mgc_dec_gain_step
Definition: ad9361_api.h:115
#define TX_RSSI_2
Definition: ad9361.h:1051
uint8_t agc_dig_gain_step_size
Definition: ad9361_api.h:125
uint8_t agc_inner_thresh_high_dec_steps
Definition: ad9361_api.h:131
uint8_t agc_lmt_overload_large_exceed_counter
Definition: ad9361_api.h:134
uint8_t gc_adc_ovr_sample_size
Definition: ad9361_api.h:105
bool elna_2_control_en
Definition: ad9361.h:3085
uint8_t gpo2_rx_delay_us
Definition: ad9361_api.h:263
uint8_t two_t_two_r_timing_enable
Definition: ad9361_api.h:221
int32_t ad9361_get_rx_bbdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1189
int32_t ad9361_set_rx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1090
int32_t ad9361_fastlock_recall(struct ad9361_rf_phy *phy, bool tx, uint32_t profile)
Definition: ad9361.c:5179
bool immed_gain_change_if_large_lmt_overload
Definition: ad9361.h:2975
int32_t ad9361_get_tx_lo_freq(struct ad9361_rf_phy *phy, uint64_t *lo_freq_hz)
Definition: ad9361_api.c:1540
uint8_t agc_inner_thresh_low_inc_steps
Definition: ad9361.h:2955
int32_t ad9361_set_tx_fir_config(struct ad9361_rf_phy *phy, AD9361_TXFIRConfig fir_cfg)
Definition: ad9361_api.c:1578
uint8_t rx_frame_pulse_mode_enable
Definition: ad9361_api.h:220
struct no_os_gpio_desc * gpio_desc_cal_sw2
Definition: ad9361.h:3346
int32_t ad9361_tx_fastlock_store(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1807
int32_t ad9361_set_rx_rfdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1130
int32_t ad9361_set_rx_bbdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1168
int32_t rx_gain
Definition: ad9361_api.h:302
uint8_t half_duplex_mode_enable
Definition: ad9361_api.h:230
@ LO_DONTCARE
Definition: ad9361.h:3329
uint8_t adc_large_overload_inc_steps
Definition: ad9361.h:2961
bool gpo0_inactive_state_high_en
Definition: ad9361.h:3101
uint8_t gc_rx1_mode
Definition: ad9361_api.h:102
struct no_os_clk * clks[NUM_AD9361_CLKS]
Definition: ad9361.h:3352
uint8_t gpo_manual_mode_enable
Definition: ad9361_api.h:245
int32_t ad9361_fastlock_save(struct ad9361_rf_phy *phy, bool tx, uint32_t profile, uint8_t *values)
Definition: ad9361.c:5235
uint32_t fagc_lpf_final_settling_steps
Definition: ad9361_api.h:154
Definition: ad9361.h:3222
bool gpo3_inactive_state_high_en
Definition: ad9361.h:3104
uint8_t dac1_rx_delay_us
Definition: ad9361.h:3034
bool adc_lmt_small_overload_prevent_gain_inc
Definition: ad9361.h:2963
#define FIR_START_CLK
Definition: ad9361.h:1026
@ ENSM_MODE_RX
Definition: ad9361_api.h:322
int32_t ad9361_get_tx_rssi(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t *rssi_db_x_1000)
Definition: ad9361_api.c:1693
struct axiadc_state * adc_state
Definition: ad9361.h:3409
int32_t ad9361_get_temperature(struct ad9361_rf_phy *phy, int32_t *temp)
Definition: ad9361_api.c:2229
uint32_t aux_dac2_rx_delay_us
Definition: ad9361_api.h:196
uint8_t digital_interface_tune_fir_disable
Definition: ad9361_api.h:215
#define REV_MASK
Definition: ad9361.h:862
uint8_t agc_inner_thresh_high
Definition: ad9361_api.h:130
uint8_t tx_fastlock_pincontrol_enable
Definition: ad9361_api.h:68
uint32_t agc_gain_update_interval_us
Definition: ad9361_api.h:127
int32_t ad9361_tx_fastlock_recall(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1822
uint32_t tx_mon_duration
Definition: ad9361_api.h:274
int32_t ad9361_reset(struct ad9361_rf_phy *phy)
Definition: ad9361.c:1048
Header file of SPI Interface.
int32_t ad9361_register_clocks(struct ad9361_rf_phy *phy)
Definition: ad9361.c:7294
uint32_t low_gain_dB
Definition: ad9361_api.h:269
uint8_t agc_lmt_overload_small_exceed_counter
Definition: ad9361_api.h:136
uint8_t index
Definition: ad9361.h:3076
fir_dest
Definition: ad9361.h:2892
bool dac2_in_rx_en
Definition: ad9361.h:3030
uint8_t mgc_split_table_ctrl_inp_gain_mode
Definition: ad9361_api.h:119
uint8_t gpo3_inactive_state_high_enable
Definition: ad9361_api.h:250
uint8_t f_agc_rst_gla_engergy_lost_sig_thresh_below_ll
Definition: ad9361.h:3007
uint64_t tx_synthesizer_frequency_hz
Definition: ad9361_api.h:84
int32_t ad9361_set_tx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t bandwidth_hz)
Definition: ad9361_api.c:1439
uint8_t lmt_overload_small_exceed_counter
Definition: ad9361.h:2966
uint8_t gpo0_tx_delay_us
Definition: ad9361_api.h:260
uint16_t gc_dec_pow_measurement_duration
Definition: ad9361_api.h:107
bool elna_in_gaintable_all_index_en
Definition: ad9361.h:3086
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:2145
uint8_t adc_ovr_sample_size
Definition: ad9361.h:2926
int32_t ad9361_do_calib(struct ad9361_rf_phy *phy, uint32_t cal, int32_t arg)
Definition: ad9361_api.c:2131
uint8_t dc_offset_tracking_update_event_mask
Definition: ad9361_api.h:71
uint8_t fdd_alt_word_order_enable
Definition: ad9361_api.h:224
AXI ADC Initialization Parameters structure.
Definition: axi_adc_core.h:149
int32_t ad9361_set_no_ch_mode(struct ad9361_rf_phy *phy, uint8_t no_ch_mode)
Definition: ad9361_api.c:1938
@ T1_CLK
Definition: ad9361.h:3278
int32_t ad9361_set_rx_gain_control_mode(struct ad9361_rf_phy *phy, uint8_t ch, uint8_t gc_mode)
Definition: ad9361_api.c:972
uint8_t ensm_enable_txnrx_control_enable
Definition: ad9361_api.h:81
Definition: ad9361_api.h:52
bool gpo_manual_mode_en
Definition: ad9361.h:3100
uint32_t high_gain_dB
Definition: ad9361_api.h:270
bool rfdc_track_en
Definition: ad9361.h:3399
int32_t ad9361_get_en_state_machine_mode(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:690
int32_t ad9361_spi_readm(struct no_os_spi_desc *spi, uint32_t reg, uint8_t *rbuf, uint32_t num)
Definition: ad9361.c:700
int32_t ad9361_get_tx_lo_power(struct ad9361_rf_phy *phy, uint8_t *option)
Definition: ad9361_api.c:1881
bool elna_1_control_en
Definition: ad9361.h:3084
uint8_t fdd_rx_rate_2tx_enable
Definition: ad9361_api.h:226
uint8_t tx_channel_swap_enable
Definition: ad9361_api.h:218
uint8_t full_port_enable
Definition: ad9361_api.h:232
int32_t ad9361_get_rx_fir_config(struct ad9361_rf_phy *phy, uint8_t rx_ch, AD9361_RXFIRConfig *fir_cfg)
Definition: ad9361_api.c:1033
uint32_t tx1_mon_lo_cm
Definition: ad9361_api.h:277
int32_t ad9361_get_tx_attenuation(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t *attenuation_mdb)
Definition: ad9361_api.c:1413
bool f_agc_rst_gla_engergy_lost_goto_optim_gain_en
Definition: ad9361.h:3006
int32_t ad9361_set_rx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t sampling_freq_hz)
Definition: ad9361_api.c:839
int32_t ad9361_fastlock_load(struct ad9361_rf_phy *phy, bool tx, uint32_t profile, uint8_t *values)
Definition: ad9361.c:5004
uint8_t gpo3_tx_delay_us
Definition: ad9361.h:3120
uint32_t fagc_optimized_gain_offset
Definition: ad9361_api.h:163
uint32_t fagc_power_measurement_duration_in_state5
Definition: ad9361_api.h:173
uint32_t fagc_lp_thresh_increment_time
Definition: ad9361_api.h:148
uint8_t one_rx_one_tx_mode_use_rx_num
Definition: ad9361_api.h:59
int32_t ad9361_get_tx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t *bandwidth_hz)
Definition: ad9361_api.c:1461
uint8_t invert_data_bus_enable
Definition: ad9361_api.h:222
int32_t ad9361_get_temp(struct ad9361_rf_phy *phy)
Definition: ad9361.c:4220
int8_t offset
Definition: ad9361.h:3090
#define RX_LO_POWER_DOWN
Definition: ad9361.h:944
uint8_t invert_rx_frame_enable
Definition: ad9361_api.h:225
int32_t ad9361_rx_fastlock_store(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1292
@ ID_AD9364
Definition: ad9361.h:3336
uint8_t one_shot_mode_en
Definition: ad9361_api.h:272
Definition: ad9361.h:3420
uint8_t gpo3_tx_delay_us
Definition: ad9361_api.h:266
uint16_t dac2_default_value
Definition: ad9361.h:3022
Header file of Delay functions.
@ TX_SAMPL_FREQ
Definition: ad9361.h:3153
uint32_t rf_rx_bandwidth_hz
Definition: ad9361_api.h:89
uint8_t rx_coef_size
Definition: ad9361_api.h:305
#define PRODUCT_ID_9361
Definition: ad9361.h:861
uint32_t tx_data_delay
Definition: ad9361_api.h:238
uint16_t temp_sense_measurement_interval_ms
Definition: ad9361_api.h:200
#define REG_TX_CLOCK_DATA_DELAY
Definition: ad9361.h:58
uint8_t update_tx_gain_in_alert_enable
Definition: ad9361_api.h:96
int32_t ad9361_set_rx_lo_int_ext(struct ad9361_rf_phy *phy, uint8_t int_ext)
Definition: ad9361_api.c:918
int32_t ad9361_get_rx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t *sampling_freq_hz)
Definition: ad9361_api.c:864
int32_t ad9361_get_rx_rf_gain(struct ad9361_rf_phy *phy, uint8_t ch, int32_t *gain_db)
Definition: ad9361_api.c:775
uint8_t agc_mode[2]
Definition: ad9361.h:3398
uint8_t gpo0_tx_delay_us
Definition: ad9361.h:3114
uint32_t fagc_rst_gla_if_en_agc_pulled_high_mode
Definition: ad9361_api.h:172
Definition: no_os_clk.h:70
uint16_t gc_lmt_overload_high_thresh
Definition: ad9361_api.h:109
int32_t ad9361_do_mcs(struct ad9361_rf_phy *phy_master, struct ad9361_rf_phy *phy_slave)
Definition: ad9361_api.c:2021
bool gpo3_slave_tx_en
Definition: ad9361.h:3112
int32_t ad9361_remove(struct ad9361_rf_phy *phy)
Definition: ad9361_api.c:602
uint32_t gpo_manual_mode_enable_mask
Definition: ad9361.h:3099
#define TX_DATA_DELAY(x)
Definition: ad9361.h:645
struct no_os_spi_desc * spi
Definition: ad9361.h:3342
uint8_t fagc_use_last_lock_level_for_set_gain_en
Definition: ad9361_api.h:161
int32_t ad9361_get_rx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t *bandwidth_hz)
Definition: ad9361_api.c:821
int32_t ad9361_set_tx_lo_int_ext(struct ad9361_rf_phy *phy, uint8_t int_ext)
Definition: ad9361_api.c:1558
#define ENSM_STATE_SLEEP_WAIT
Definition: ad9361.h:761
uint8_t f_agc_optimized_gain_offset
Definition: ad9361.h:3002
uint8_t gpo3_slave_rx_enable
Definition: ad9361_api.h:257
int32_t ad9361_do_dcxo_tune_fine(struct ad9361_rf_phy *phy, uint32_t fine)
Definition: ad9361_api.c:2214
int32_t ad9361_rf_port_setup(struct ad9361_rf_phy *phy, bool is_out, uint32_t rx_inputs, uint32_t txb)
Definition: ad9361.c:3643
uint8_t rx_channel_swap_enable
Definition: ad9361_api.h:219
uint8_t rx_clk_data_delay
Definition: ad9361.h:3068
uint8_t gpo1_slave_tx_enable
Definition: ad9361_api.h:254
uint8_t gpo2_rx_delay_us
Definition: ad9361.h:3117
uint8_t elna_rx2_gpo1_control_enable
Definition: ad9361_api.h:211
#define _SOFT_RESET
Definition: ad9361.h:585
int32_t ad9361_tx_fastlock_load(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1839
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:3529
uint8_t tx1_mon_lo_cm
Definition: ad9361.h:3133
int32_t ad9361_clk_mux_set_parent(struct refclk_scale *clk_priv, uint8_t index)
Definition: ad9361.c:7157
Driver for the Analog Devices AXI-DAC-CORE module.
@ RX_RFPLL_DUMMY
Definition: ad9361.h:3283
struct no_os_clk * clk_refin
Definition: ad9361.h:3351
uint8_t mgc_inc_gain_step
Definition: ad9361.h:2943
int32_t ad9361_1rx1tx_channel_map(struct ad9361_rf_phy *phy, bool tx, int32_t channel)
Definition: ad9361.c:1024
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:60
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:53
struct gain_table_info ad9361_adi_gt_info[]
Definition: ad9361.c:605
int32_t ad9361_rx_lo_powerdown(struct ad9361_rf_phy *phy, uint8_t option)
Definition: ad9361_api.c:1355
uint8_t fagc_gain_increase_after_gain_lock_en
Definition: ad9361_api.h:158
uint32_t filt_tx_path_clks[NUM_TX_CLOCKS]
Definition: ad9361.h:3391
uint32_t ad9361_rfpll_recalc_rate(struct refclk_scale *clk_priv)
Definition: ad9361.c:7016
uint8_t invert_data_clk_enable
Definition: ad9361_api.h:223
int32_t ad9361_set_rx_rf_gain(struct ad9361_rf_phy *phy, uint8_t ch, int32_t gain_db)
Definition: ad9361_api.c:749
uint32_t fagc_rst_gla_stronger_sig_thresh_above_ll
Definition: ad9361_api.h:164
#define ENSM_STATE_TX
Definition: ad9361.h:763
int32_t ad9361_get_rx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1113
uint8_t full_duplex_swap_bits_enable
Definition: ad9361_api.h:233
bool f_agc_allow_agc_gain_increase
Definition: ad9361.h:2983
uint8_t external_rx_lo_enable
Definition: ad9361_api.h:69
uint8_t ctrl_outs_enable_mask
Definition: ad9361_api.h:204
#define RSSI_RESOLUTION
Definition: ad9361.h:2815
uint8_t tdd_use_dual_synth_mode_enable
Definition: ad9361_api.h:63
int32_t ad9361_rx_fastlock_store(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1292
uint8_t adc_large_overload_exceed_counter
Definition: ad9361.h:2960
@ BIST_DISABLE
Definition: ad9361.h:3323
uint8_t aux_dac1_active_in_alert_enable
Definition: ad9361_api.h:189
int32_t ad9361_get_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1789
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:4646
uint8_t tx_clk_data_delay
Definition: ad9361.h:3069
int32_t ad9361_rx_fastlock_load(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1324
uint16_t tx_mon_delay
Definition: ad9361.h:3129
uint32_t aux_dac2_default_value_mV
Definition: ad9361_api.h:192
uint32_t aux_dac1_default_value_mV
Definition: ad9361_api.h:186
uint8_t agc_adc_small_overload_exceed_counter
Definition: ad9361_api.h:124
uint8_t gpo2_inactive_state_high_enable
Definition: ad9361_api.h:249
uint8_t adc_large_overload_thresh
Definition: ad9361.h:2928
uint8_t agc_outer_thresh_low_inc_steps
Definition: ad9361_api.h:140
uint8_t gc_dig_gain_enable
Definition: ad9361_api.h:108
uint8_t agc_inner_thresh_low
Definition: ad9361_api.h:132
uint32_t rssi_wait
Definition: ad9361_api.h:180
uint32_t clk_output_mode_select
Definition: ad9361_api.h:100
uint8_t frequency_division_duplex_mode_enable
Definition: ad9361_api.h:61
int32_t ad9361_set_en_state_machine_mode(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:638
#define REG_STATE
Definition: ad9361.h:73
int32_t ad9361_set_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1652
int32_t tx_attenuation_mdB
Definition: ad9361_api.h:95
#define ENSM_STATE_FDD
Definition: ad9361.h:767
@ RX_SAMPL_CLK
Definition: ad9361.h:3275
int32_t ad9361_set_rx_gain(struct ad9361_rf_phy *phy, uint32_t rx_id, struct rf_rx_gain *rx_gain)
Definition: ad9361.c:2231
uint32_t tx2_mon_lo_cm
Definition: ad9361_api.h:278
uint8_t rx_fastlock_pincontrol_enable
Definition: ad9361_api.h:67
enum ad9361_bist_mode bist_prbs_mode
Definition: ad9361.h:3412
uint8_t agc_outer_thresh_high
Definition: ad9361.h:2950
uint8_t f_agc_lmt_final_settling_steps
Definition: ad9361.h:2993
bool mgc_rx1_ctrl_inp_en
Definition: ad9361.h:2940
uint32_t reference_clk_rate
Definition: ad9361_api.h:56
int32_t ad9361_spi_write(struct no_os_spi_desc *spi, uint32_t reg, uint32_t val)
Definition: ad9361.c:817
int32_t ad9361_get_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t *rate_gov)
Definition: ad9361_api.c:2112
uint8_t single_port_mode_enable
Definition: ad9361_api.h:231
enum f_agc_target_gain_index_type f_agc_gain_index_type_after_exit_rx_mode
Definition: ad9361.h:2999
bool f_agc_rst_gla_stronger_sig_thresh_exceeded_en
Definition: ad9361.h:3003
@ TX_RFPLL
Definition: ad9361.h:3286
int32_t ad9361_do_dcxo_tune_coarse(struct ad9361_rf_phy *phy, uint32_t coarse)
Definition: ad9361_api.c:2199
bool f_agc_rst_gla_engergy_lost_sig_thresh_exceeded_en
Definition: ad9361.h:3005
bool dig_gain_en
Definition: ad9361.h:2936
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
uint8_t digital_interface_tune_skip_mode
Definition: ad9361_api.h:214
int32_t ad9361_init(struct ad9361_rf_phy **ad9361_phy, AD9361_InitParam *init_param)
Definition: ad9361_api.c:82
bool gpo0_slave_tx_en
Definition: ad9361.h:3106
int32_t ad9361_set_tx_attenuation(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t attenuation_mdb)
Definition: ad9361_api.c:1387
int32_t ad9361_post_setup(struct ad9361_rf_phy *phy)
Definition: ad9361_conv.c:605
int32_t ad9361_get_tx_fir_config(struct ad9361_rf_phy *phy, uint8_t tx_ch, AD9361_TXFIRConfig *fir_cfg)
Definition: ad9361_api.c:1600
uint32_t fagc_large_overload_inc_steps
Definition: ad9361_api.h:174
uint8_t lvds_mode_enable
Definition: ad9361_api.h:229
uint8_t external_tx_lo_enable
Definition: ad9361_api.h:70
int32_t ad9361_tx_fastlock_recall(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1822
uint16_t dac1_default_value
Definition: ad9361.h:3021
uint8_t mgc_rx1_ctrl_inp_enable
Definition: ad9361_api.h:117
int32_t ad9361_get_rx_lo_freq(struct ad9361_rf_phy *phy, uint64_t *lo_freq_hz)
Definition: ad9361_api.c:900
@ ENSM_MODE_PINCTRL_FDD_INDEP
Definition: ad9361_api.h:328
uint8_t gpo2_tx_delay_us
Definition: ad9361_api.h:264
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:1600
@ ID_AD9363A
Definition: ad9361.h:3337
#define FB_CLK_DELAY(x)
Definition: ad9361.h:644
#define REG_TX_FILTER_COEF_ADDR
Definition: ad9361.h:136
@ RX_REFCLK
Definition: ad9361.h:3268
@ SOFT_RESET
Definition: ad738x.h:141
uint32_t aux_dac2_tx_delay_us
Definition: ad9361_api.h:197
Definition: ad9361_util.h:88
ad9361_ensm_mode
Definition: ad9361_api.h:320
uint8_t agc_immed_gain_change_if_large_lmt_overload_enable
Definition: ad9361_api.h:129
int32_t ad9361_get_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1675
#define REG_RX_FILTER_COEF_ADDR
Definition: ad9361.h:219
uint32_t filt_rx_path_clks[NUM_RX_CLOCKS]
Definition: ad9361.h:3390
rf_gain_ctrl_mode
Definition: ad9361.h:2907
@ ENSM_MODE_SLEEP
Definition: ad9361_api.h:326
Definition: ad9361_util.h:83
int32_t ad9361_get_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1755
bool gpo1_slave_rx_en
Definition: ad9361.h:3107
uint8_t gc_rx2_mode
Definition: ad9361_api.h:103
uint8_t dc_offset_count_high_range
Definition: ad9361_api.h:74
int32_t ad9361_set_trx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:2067
Definition: ad9361_api.h:300
uint8_t tx_mon_track_en
Definition: ad9361_api.h:271
int32_t ad9361_tx_fastlock_store(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1807
uint8_t tdd_skip_vco_cal_enable
Definition: ad9361_api.h:64
#define REG_TX_FILTER_COEF_READ_DATA_2
Definition: ad9361.h:140
int32_t ad9361_do_dcxo_tune_coarse(struct ad9361_rf_phy *phy, uint32_t coarse)
Definition: ad9361_api.c:2199
uint32_t aux_dac1_tx_delay_us
Definition: ad9361_api.h:191
uint8_t aux_dac1_active_in_tx_enable
Definition: ad9361_api.h:188
struct no_os_gpio_desc * gpio_desc_cal_sw1
Definition: ad9361.h:3345
@ TX_REFCLK
Definition: ad9361.h:3269
int32_t ad9361_get_tx_rssi(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t *rssi_db_x_1000)
Definition: ad9361_api.c:1693
int32_t ad9361_set_ensm_mode(struct ad9361_rf_phy *phy, bool fdd, bool pinctrl)
Definition: ad9361.c:4914
uint32_t f_agc_state_wait_time_ns
Definition: ad9361.h:2981
bool bypass_rx_fir
Definition: ad9361.h:3386
int32_t ad9361_set_tx_lo_freq(struct ad9361_rf_phy *phy, uint64_t lo_freq_hz)
Definition: ad9361_api.c:1523
uint8_t elna_rx1_gpo0_control_enable
Definition: ad9361_api.h:210
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:61
bool f_agc_lock_level_lmt_gain_increase_en
Definition: ad9361.h:2989
#define ENSM_STATE_RX
Definition: ad9361.h:765
uint8_t frequency_division_duplex_independent_mode_enable
Definition: ad9361_api.h:62
int ad9361_synth_lo_powerdown(struct ad9361_rf_phy *phy, enum synth_pd_ctrl rx, enum synth_pd_ctrl tx)
Definition: ad9361.c:3474
uint32_t fagc_lock_level_gain_increase_upper_limit
Definition: ad9361_api.h:152
uint8_t dig_saturation_exceed_counter
Definition: ad9361.h:2969
int32_t ad9361_set_rx_quad_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1206
uint32_t bist_tone_level_dB
Definition: ad9361.h:3415
uint32_t ad9361_clk_factor_recalc_rate(struct refclk_scale *clk_priv, uint32_t parent_rate)
Definition: ad9361.c:6495
int32_t tx_gain
Definition: ad9361_api.h:312
int32_t ad9361_get_rx_lo_freq(struct ad9361_rf_phy *phy, uint64_t *lo_freq_hz)
Definition: ad9361_api.c:900
uint8_t agc_outer_thresh_low
Definition: ad9361.h:2956
int32_t ad9361_set_no_ch_mode(struct ad9361_rf_phy *phy, uint8_t no_ch_mode)
Definition: ad9361_api.c:1938
int32_t ad9361_setup(struct ad9361_rf_phy *phy)
Definition: ad9361.c:5369
uint16_t lmt_overload_low_thresh
Definition: ad9361.h:2931
#define TX_LO_POWER_DOWN
Definition: ad9361.h:953
int32_t ad9361_get_en_state_machine_mode(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:690
int32_t ad9361_get_rx_rf_gain(struct ad9361_rf_phy *phy, uint8_t ch, int32_t *gain_db)
Definition: ad9361_api.c:775
uint8_t rx_fir_dec
Definition: ad9361.h:3396
int32_t ad9361_rx_fastlock_save(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1340
uint32_t ad9361_rfpll_int_recalc_rate(struct refclk_scale *clk_priv, uint32_t parent_rate)
Definition: ad9361.c:6784
uint8_t agc_sync_for_gain_counter_enable
Definition: ad9361_api.h:142
int32_t ad9361_set_en_state_machine_mode(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:638
int32_t ad9361_get_tx_lo_freq(struct ad9361_rf_phy *phy, uint64_t *lo_freq_hz)
Definition: ad9361_api.c:1540
#define ON
Definition: ad9361_api.h:365
struct no_os_gpio_desc * gpio_desc_resetb
Definition: ad9361.h:3343
uint32_t rx_fastlock_delay_ns
Definition: ad9361_api.h:66
uint8_t aux_dac2_active_in_rx_enable
Definition: ad9361_api.h:193
int32_t ad9361_set_rx_lo_freq(struct ad9361_rf_phy *phy, uint64_t lo_freq_hz)
Definition: ad9361_api.c:883
bool auto_cal_en
Definition: ad9361.h:3370
ad9361_clkout
Definition: ad9361.h:3157
uint8_t gc_low_power_thresh
Definition: ad9361_api.h:111
@ T2_CLK
Definition: ad9361.h:3277
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:5835
uint16_t tx_mon_duration
Definition: ad9361.h:3130
#define ENSM_STATE_ALERT
Definition: ad9361.h:762
uint8_t agc_attack_delay_extra_margin_us
Definition: ad9361.h:2948
uint8_t mgc_split_table_ctrl_inp_gain_mode
Definition: ad9361.h:2945
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:1578
uint8_t single_data_rate_enable
Definition: ad9361_api.h:228
uint8_t gpo0_slave_rx_enable
Definition: ad9361_api.h:251
struct axi_adc * rx_adc
Definition: ad9361.h:3348
bool tx_mon_track_en
Definition: ad9361.h:3124
uint16_t gc_lmt_overload_low_thresh
Definition: ad9361_api.h:110
int32_t ad9361_set_gain_ctrl_mode(struct ad9361_rf_phy *phy, struct rf_gain_ctrl *gain_ctrl)
Definition: ad9361.c:2384
#define PRODUCT_ID_MASK
Definition: ad9361.h:860
uint32_t clk_get_rate(struct ad9361_rf_phy *phy, struct refclk_scale *clk_priv)
clk_get_rate
Definition: ad9361_util.c:67
uint32_t tx
Definition: ad9361_api.h:311
enum dev_id dev_sel
Definition: ad9361.h:3341
uint8_t gpo3_slave_tx_enable
Definition: ad9361_api.h:258
uint8_t gpo0_rx_delay_us
Definition: ad9361_api.h:259
int32_t ad9361_get_rx_gain_control_mode(struct ad9361_rf_phy *phy, uint8_t ch, uint8_t *gc_mode)
Definition: ad9361_api.c:995
#define REG_RX_FILTER_CONFIG
Definition: ad9361.h:224
int16_t rx_coef[128]
Definition: ad9361_api.h:304
uint32_t fagc_lp_thresh_increment_steps
Definition: ad9361_api.h:149
int32_t ad9361_tx_fastlock_save(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1855
uint8_t f_agc_lpf_final_settling_steps
Definition: ad9361.h:2992
uint8_t agc_adc_lmt_small_overload_prevent_gain_inc_enable
Definition: ad9361_api.h:123
uint32_t filt_rx_bw_Hz
Definition: ad9361.h:3392
uint8_t agc_inner_thresh_high
Definition: ad9361.h:2952
uint32_t rssi_duration
Definition: ad9361_api.h:177
uint32_t tx_fastlock_delay_ns
Definition: ad9361_api.h:65
int32_t ad9361_get_rx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1113
int32_t ad9361_ensm_set_state(struct ad9361_rf_phy *phy, uint8_t ensm_state, bool pinctrl)
Definition: ad9361.c:4440
enum ad9361_bist_mode bist_tone_mode
Definition: ad9361.h:3413
#define FILTER_GAIN(x)
Definition: ad9361.h:1341
@ LO_OFF
Definition: ad9361.h:3330
uint8_t agc_lmt_overload_large_inc_steps
Definition: ad9361_api.h:135
int32_t ad9361_set_tx_attenuation(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t attenuation_mdb)
Definition: ad9361_api.c:1387
@ R2_CLK
Definition: ad9361.h:3272
Definition: axi_dac_core.h:67
uint8_t agc_inner_thresh_high_dec_steps
Definition: ad9361.h:2953
uint8_t rssi_restart_mode
Definition: ad9361_api.h:178
int32_t gain_db
Definition: ad9361.h:3224
int32_t ad9361_set_rx_fir_config(struct ad9361_rf_phy *phy, AD9361_RXFIRConfig fir_cfg)
Definition: ad9361_api.c:1011
@ LO_ON
Definition: ad9361.h:3331
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:110
int32_t ad9361_get_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1789
uint32_t elna_gain_mdB
Definition: ad9361_api.h:208
int32_t ad9361_rx_fastlock_load(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1324
uint8_t dac2_rx_delay_us
Definition: ad9361.h:3036
rssi_restart_mode
Definition: ad9361.h:3040
uint8_t qec_tracking_slow_mode_enable
Definition: ad9361_api.h:78
uint32_t rx_rf_port_input_select
Definition: ad9361_api.h:92
uint16_t lmt_overload_high_thresh
Definition: ad9361.h:2930
int32_t ad9361_set_tx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t sampling_freq_hz)
Definition: ad9361_api.c:1479
int32_t(* ad9361_rfpll_ext_round_rate)(struct refclk_scale *clk_priv, uint32_t rate)
Definition: ad9361.h:3355
void ad9361_clear_state(struct ad9361_rf_phy *phy)
Definition: ad9361.c:5310
uint8_t f_agc_lock_level_gain_increase_upper_limit
Definition: ad9361.h:2990
uint32_t temp_sensor_decimation
Definition: ad9361.h:3092
bool dac1_in_alert_en
Definition: ad9361.h:3028
int32_t ad9361_get_rx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t *bandwidth_hz)
Definition: ad9361_api.c:821
bool f_agc_rst_gla_large_adc_overload_en
Definition: ad9361.h:3009
Definition: ad9361.h:3340
uint8_t f_agc_lp_thresh_increment_time
Definition: ad9361.h:2984
@ FIR_IS_RX
Definition: ad9361.h:2899
bool gpo2_slave_tx_en
Definition: ad9361.h:3110
bool dac2_in_alert_en
Definition: ad9361.h:3032
Definition: ad9361.h:2902
uint8_t two_rx_two_tx_mode_enable
Definition: ad9361_api.h:58
uint8_t f_agc_energy_lost_stronger_sig_gain_lock_exit_cnt
Definition: ad9361.h:3008
uint8_t ensm_enable_pin_pulse_mode_enable
Definition: ad9361_api.h:80
uint8_t f_agc_power_measurement_duration_in_state5
Definition: ad9361.h:3016
int32_t ad9361_set_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1254
uint8_t mgc_inc_gain_step
Definition: ad9361_api.h:116
uint32_t fagc_rst_gla_engergy_lost_sig_thresh_below_ll
Definition: ad9361_api.h:167
int32_t ad9361_rx_fastlock_recall(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1307
uint8_t fagc_rst_gla_large_adc_overload_en
Definition: ad9361_api.h:169
uint8_t rssi_unit_is_rx_samples_enable
Definition: ad9361_api.h:179
uint32_t trx_synthesizer_target_fref_overwrite_hz
Definition: ad9361_api.h:77
uint8_t cached_synth_pd[2]
Definition: ad9361.h:3364
uint32_t tx_path_clks[6]
Definition: ad9361_api.h:316
int32_t ad9361_get_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1675
uint32_t(* ad9361_rfpll_ext_recalc_rate)(struct refclk_scale *clk_priv)
Definition: ad9361.h:3354
int32_t ad9361_set_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1735
uint32_t fagc_energy_lost_stronger_sig_gain_lock_exit_cnt
Definition: ad9361_api.h:168
int32_t ad9361_set_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1772
int32_t ad9361_get_rx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t *sampling_freq_hz)
Definition: ad9361_api.c:864
uint32_t current_rx_bw_Hz
Definition: ad9361.h:3382
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:1897
int32_t ad9361_validate_enable_fir(struct ad9361_rf_phy *phy)
Definition: ad9361.c:6091
int32_t ad9361_set_rx_lo_int_ext(struct ad9361_rf_phy *phy, uint8_t int_ext)
Definition: ad9361_api.c:918
uint8_t dc_offset_count_low_range
Definition: ad9361_api.h:75
uint32_t fagc_lmt_final_settling_steps
Definition: ad9361_api.h:155
uint16_t gain_mdB
Definition: ad9361.h:3081
int32_t ad9361_init(struct ad9361_rf_phy **ad9361_phy, AD9361_InitParam *init_param)
Definition: ad9361_api.c:82
int8_t temp_sense_offset_signed
Definition: ad9361_api.h:201
uint8_t temp_sense_periodic_measurement_enable
Definition: ad9361_api.h:202
uint32_t rx
Definition: ad9361_api.h:301
uint8_t agc_adc_large_overload_exceed_counter
Definition: ad9361_api.h:121
uint8_t gpo2_slave_rx_enable
Definition: ad9361_api.h:255
uint32_t auxadc_clock_rate
Definition: ad9361.h:3094
bool quad_track_en
Definition: ad9361.h:3401
uint32_t fagc_state_wait_time_ns
Definition: ad9361_api.h:145
uint8_t tx_fir_int
Definition: ad9361.h:3394
int32_t ad9361_set_tx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t bandwidth_hz)
Definition: ad9361_api.c:1439
Definition: ad9361.h:2883
uint32_t gpo_manual_mode_enable_mask
Definition: ad9361_api.h:246
uint32_t temp_time_inteval_ms
Definition: ad9361.h:3091
#define REG_PRODUCT_ID
Definition: ad9361.h:104
uint8_t mgc_dec_gain_step
Definition: ad9361.h:2944
int32_t ad9361_get_tx_lo_power(struct ad9361_rf_phy *phy, uint8_t *option)
Definition: ad9361_api.c:1881
@ CLKTF_CLK
Definition: ad9361.h:3279
int32_t ad9361_get_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1755
uint32_t low_high_gain_threshold_mdB
Definition: ad9361.h:3126
int32_t ad9361_get_rx_rfdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1151
int32_t ad9361_set_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1254
#define REG_RX_FILTER_COEF_READ_DATA_2
Definition: ad9361.h:223
int32_t ad9361_get_rx_quad_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1227
struct refclk_scale * ref_clk_scale[NUM_AD9361_CLKS]
Definition: ad9361.h:3353
uint32_t ad9361_to_clk(uint64_t freq)
Definition: ad9361.c:1398
uint64_t rx_synthesizer_frequency_hz
Definition: ad9361_api.h:83
uint8_t gc_max_dig_gain
Definition: ad9361_api.h:112
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:55
int32_t ad9361_set_tx_atten(struct ad9361_rf_phy *phy, uint32_t atten_mdb, bool tx1, bool tx2, bool immed)
Definition: ad9361.c:1648
uint8_t agc_immed_gain_change_if_large_adc_overload_enable
Definition: ad9361_api.h:128
@ RX_RFPLL
Definition: ad9361.h:3285
uint8_t lvds_rx_onchip_termination_enable
Definition: ad9361_api.h:240
uint8_t aux_dac_manual_mode_enable
Definition: ad9361_api.h:185
int16_t tx_coef[128]
Definition: ad9361_api.h:314
int32_t ad9361_tx_fastlock_load(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1839
int32_t ad9361_do_calib(struct ad9361_rf_phy *phy, uint32_t cal, int32_t arg)
Definition: ad9361_api.c:2131
uint8_t lvds_invert1_control
Definition: ad9361_api.h:242
int32_t ad9361_get_rx_rssi(struct ad9361_rf_phy *phy, uint8_t ch, struct rf_rssi *rssi)
Definition: ad9361_api.c:942
uint32_t tx1_mon_front_end_gain
Definition: ad9361_api.h:275
@ DAC_CLK
Definition: ad9361.h:3276
uint8_t fagc_rst_gla_stronger_sig_thresh_exceeded_en
Definition: ad9361_api.h:162
uint8_t max_dig_gain
Definition: ad9361.h:2937
#define REG_TX_RSSI_LSB
Definition: ad9361.h:148
bool f_agc_rst_gla_en_agc_pulled_high_en
Definition: ad9361.h:3011
uint8_t tx2_mon_lo_cm
Definition: ad9361.h:3134
#define AD9364_DEVICE
Definition: app_config.h:46
uint32_t elna_bypass_loss_mdB
Definition: ad9361_api.h:209
int32_t ad9361_get_rx_gain_control_mode(struct ad9361_rf_phy *phy, uint8_t ch, uint8_t *gc_mode)
Definition: ad9361_api.c:995
int32_t ad9361_get_rx_lo_power(struct ad9361_rf_phy *phy, uint8_t *option)
Definition: ad9361_api.c:1366
int32_t ad9361_set_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1735
uint8_t en_mask
Definition: ad9361.h:3077
Definition: ad9361_api.h:310
uint8_t mode
Definition: ad9361.h:2904
bool auxdac_manual_mode_en
Definition: ad9361.h:3024
bool dac2_in_tx_en
Definition: ad9361.h:3031
int32_t ad9361_get_temperature(struct ad9361_rf_phy *phy, int32_t *temp)
Definition: ad9361_api.c:2229
bool dac1_in_rx_en
Definition: ad9361.h:3026
uint32_t aux_dac1_rx_delay_us
Definition: ad9361_api.h:190
uint8_t gpo1_rx_delay_us
Definition: ad9361.h:3115
@ TX_RFPLL_INT
Definition: ad9361.h:3282
uint32_t bist_tone_mask
Definition: ad9361.h:3416
#define EXT_LO
Definition: ad9361_api.h:363
uint8_t split_gain_table_mode_enable
Definition: ad9361_api.h:76
bool rx_eq_2tx
Definition: ad9361.h:3388
uint8_t aux_dac2_active_in_tx_enable
Definition: ad9361_api.h:194
int32_t ad9361_set_rx_fir_config(struct ad9361_rf_phy *phy, AD9361_RXFIRConfig fir_cfg)
Definition: ad9361_api.c:1011
#define FIR_NUM_TAPS(x)
Definition: ad9361.h:1029
int32_t ad9361_get_tx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t *sampling_freq_hz)
Definition: ad9361_api.c:1504
uint8_t pp_tx_swap_enable
Definition: ad9361_api.h:216
#define FIR_SELECT(x)
Definition: ad9361.h:1028
int32_t ad9361_get_rx_fir_config(struct ad9361_rf_phy *phy, uint8_t rx_ch, AD9361_RXFIRConfig *fir_cfg)
Definition: ad9361_api.c:1033
@ RX_SAMPL_FREQ
Definition: ad9361.h:3143
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:75
int32_t ad9361_get_rx_rssi(struct ad9361_rf_phy *phy, uint8_t ch, struct rf_rssi *rssi)
Definition: ad9361_api.c:942
uint8_t ctrl_outs_index
Definition: ad9361_api.h:205
#define REG_RX_FILTER_COEF_READ_DATA_1
Definition: ad9361.h:222
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:1920
uint32_t elna_settling_delay_ns
Definition: ad9361_api.h:207
uint32_t rate_governor
Definition: ad9361.h:3385
uint8_t gpo1_inactive_state_high_enable
Definition: ad9361_api.h:248
uint8_t fagc_rst_gla_engergy_lost_goto_optim_gain_en
Definition: ad9361_api.h:166
uint32_t fagc_final_overrange_count
Definition: ad9361_api.h:156
int32_t ad9361_set_rx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1090
uint8_t aux_dac2_active_in_alert_enable
Definition: ad9361_api.h:195
int32_t ad9361_mcs(struct ad9361_rf_phy *phy, int32_t step)
Definition: ad9361.c:5255
uint8_t gpo3_rx_delay_us
Definition: ad9361.h:3119
uint32_t tx_int
Definition: ad9361_api.h:313
bool gpo1_slave_tx_en
Definition: ad9361.h:3108
bool gpo1_inactive_state_high_en
Definition: ad9361.h:3102
@ ENSM_MODE_WAIT
Definition: ad9361_api.h:325
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:647
uint8_t tx_coef_size
Definition: ad9361_api.h:315
uint32_t low_high_gain_threshold_mdB
Definition: ad9361_api.h:268
uint8_t rx1rx2_phase_inversion_en
Definition: ad9361_api.h:241
#define TX_FIR_GAIN_6DB
Definition: ad9361.h:1025
@ TX_RFPLL_DUMMY
Definition: ad9361.h:3284
uint64_t ad9361_from_clk(uint32_t freq)
Definition: ad9361.c:1409
uint8_t lvds_invert[2]
Definition: ad9361.h:3072
uint8_t xo_disable_use_ext_refclk_enable
Definition: ad9361_api.h:98
bool gpo2_slave_rx_en
Definition: ad9361.h:3109
uint8_t f_agc_large_overload_inc_steps
Definition: ad9361.h:3017
int32_t ad9361_set_rx_rfdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1130
uint32_t agc_attack_delay_extra_margin_us
Definition: ad9361_api.h:141
uint32_t rx_dec
Definition: ad9361_api.h:303
int32_t ad9361_do_dcxo_tune_fine(struct ad9361_rf_phy *phy, uint32_t fine)
Definition: ad9361_api.c:2214
bool gpo2_inactive_state_high_en
Definition: ad9361.h:3103
#define REG_SPI_CONF
Definition: ad9361.h:51
int32_t(* ad9361_rfpll_ext_set_rate)(struct refclk_scale *clk_priv, uint32_t rate)
Definition: ad9361.h:3357
#define REG_RX_FILTER_GAIN
Definition: ad9361.h:225
int32_t ad9361_get_rx_rfdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1151
uint32_t aux_adc_decimation
Definition: ad9361_api.h:182
uint32_t auxadc_decimation
Definition: ad9361.h:3095
uint8_t f_agc_rst_gla_stronger_sig_thresh_above_ll
Definition: ad9361.h:3004
uint8_t dac2_tx_delay_us
Definition: ad9361.h:3037
bool mgc_rx2_ctrl_inp_en
Definition: ad9361.h:2941
int32_t ad9361_get_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1274
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:119
uint32_t fagc_dec_pow_measuremnt_duration
Definition: ad9361_api.h:144
int32_t ad9361_read_rssi(struct ad9361_rf_phy *phy, struct rf_rssi *rssi)
Definition: ad9361.c:2459
uint8_t low_gain_dB
Definition: ad9361.h:3127
struct ad9361_rf_phy * ad9361_phy
Definition: main.c:516
@ R1_CLK
Definition: ad9361.h:3273
uint8_t digital_io_ctrl
Definition: ad9361.h:3070
uint8_t adc_small_overload_thresh
Definition: ad9361.h:2927
int32_t ad9361_do_calib_run(struct ad9361_rf_phy *phy, uint32_t cal, int32_t arg)
Definition: ad9361.c:5683
uint8_t agc_outer_thresh_low_inc_steps
Definition: ad9361.h:2957
uint32_t ant
Definition: ad9361.h:2903
uint8_t aux_dac1_active_in_rx_enable
Definition: ad9361_api.h:187
uint32_t filt_tx_bw_Hz
Definition: ad9361.h:3393
uint8_t swap_ports_enable
Definition: ad9361_api.h:227
struct axi_adc_init * rx_adc_init
Definition: ad9361_api.h:295
int32_t ad9361_set_rx_lo_freq(struct ad9361_rf_phy *phy, uint64_t lo_freq_hz)
Definition: ad9361_api.c:883
uint32_t current_table
Definition: ad9361.h:3366
int32_t ad9361_remove(struct ad9361_rf_phy *phy)
Definition: ad9361_api.c:602
uint8_t fagc_rst_gla_large_lmt_overload_en
Definition: ad9361_api.h:170
uint8_t f_agc_lp_thresh_increment_steps
Definition: ad9361.h:2985
int32_t ad9361_rx_fastlock_recall(struct ad9361_rf_phy *phy, uint32_t profile)
Definition: ad9361_api.c:1307
uint8_t gpo0_slave_tx_enable
Definition: ad9361_api.h:252
int32_t ad9361_rx_fastlock_save(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1340
#define ADI_REG_VERSION
Definition: ad9361_api.c:69
uint32_t settling_delay_ns
Definition: ad9361.h:3083
uint32_t f_agc_dec_pow_measuremnt_duration
Definition: ad9361.h:2980
uint32_t rf_tx_bandwidth_hz
Definition: ad9361_api.h:90
int32_t ad9361_set_tx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t sampling_freq_hz)
Definition: ad9361_api.c:1479
uint8_t gpo1_slave_rx_enable
Definition: ad9361_api.h:253
uint32_t tx_rf_port_input_select
Definition: ad9361_api.h:93
#define REG_ENSM_CONFIG_1
Definition: ad9361.h:70
int32_t ad9361_get_rx_lo_power(struct ad9361_rf_phy *phy, uint8_t *option)
Definition: ad9361_api.c:1366
bool f_agc_use_last_lock_level_for_set_gain_en
Definition: ad9361.h:3001
int32_t ad9361_get_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1274
uint32_t current_tx_bw_Hz
Definition: ad9361.h:3383
uint8_t agc_dig_saturation_exceed_counter
Definition: ad9361_api.h:126
int32_t ad9361_do_mcs(struct ad9361_rf_phy *phy_master, struct ad9361_rf_phy *phy_slave)
Definition: ad9361_api.c:2021
uint8_t gpo1_tx_delay_us
Definition: ad9361.h:3116
int32_t ad9361_set_rx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t bandwidth_hz)
Definition: ad9361_api.c:799
@ ADC_CLK
Definition: ad9361.h:3271
int32_t ad9361_set_rx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t sampling_freq_hz)
Definition: ad9361_api.c:839
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:122
@ RX_RFPLL_INT
Definition: ad9361.h:3281
#define REG_RX_CLOCK_DATA_DELAY
Definition: ad9361.h:57
int32_t ad9361_unregister_clocks(struct ad9361_rf_phy *phy)
Definition: ad9361.c:7409
uint8_t f_agc_final_overrange_count
Definition: ad9361.h:2994
#define ENSM_STATE(x)
Definition: ad9361.h:760
int32_t ad9361_get_rx_gain(struct ad9361_rf_phy *phy, uint32_t rx_id, struct rf_rx_gain *rx_gain)
Definition: ad9361.c:1916
uint8_t gpo0_rx_delay_us
Definition: ad9361.h:3113
uint32_t lvds_bias_mV
Definition: ad9361_api.h:239
uint8_t fagc_allow_agc_gain_increase
Definition: ad9361_api.h:147
uint8_t agc_outer_thresh_high
Definition: ad9361_api.h:137
uint8_t lmt_overload_large_exceed_counter
Definition: ad9361.h:2965
int32_t ad9361_get_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t *rate_gov)
Definition: ad9361_api.c:2112
uint8_t gc_adc_small_overload_thresh
Definition: ad9361_api.h:106
int32_t ad9361_get_tx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t *sampling_freq_hz)
Definition: ad9361_api.c:1504
int32_t ad9361_set_tx_lo_freq(struct ad9361_rf_phy *phy, uint64_t lo_freq_hz)
Definition: ad9361_api.c:1523
Header file of GPIO Interface.
uint32_t ad9361_bbpll_recalc_rate(struct refclk_scale *clk_priv, uint32_t parent_rate)
Definition: ad9361.c:6578
@ ENSM_MODE_TX
Definition: ad9361_api.h:321
struct no_os_gpio_desc * gpio_desc_sync
Definition: ad9361.h:3344
bool f_agc_gain_increase_after_gain_lock_en
Definition: ad9361.h:2996
int32_t ad9361_tx_fastlock_save(struct ad9361_rf_phy *phy, uint32_t profile, uint8_t *values)
Definition: ad9361_api.c:1855
int32_t ad9361_set_rx_quad_track_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1206
int32_t bist_config
Definition: ad9361.h:3411
uint8_t gc_use_rx_fir_out_for_dec_pwr_meas_enable
Definition: ad9361_api.h:113
uint32_t tx_mon_delay
Definition: ad9361_api.h:273
int32_t ad9361_get_rx_quad_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1227
uint32_t ad9361_validate_rf_bw(struct ad9361_rf_phy *phy, uint32_t bw)
Definition: ad9361.c:946
@ ENSM_MODE_FDD
Definition: ad9361_api.h:324
int32_t ad9361_update_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t rf_rx_bw, uint32_t rf_tx_bw)
Definition: ad9361.c:5724
enum f_agc_target_gain_index_type f_agc_rst_gla_if_en_agc_pulled_high_mode
Definition: ad9361.h:3014
@ ENSM_MODE_PINCTRL
Definition: ad9361_api.h:327
uint8_t fagc_rst_gla_engergy_lost_sig_thresh_exceeded_en
Definition: ad9361_api.h:165
uint8_t tx2_mon_front_end_gain
Definition: ad9361.h:3132
bool use_rx_fir_out_for_dec_pwr_meas
Definition: ad9361.h:2934
uint32_t tx_fb_clock_delay
Definition: ad9361_api.h:237
uint32_t temp_sense_decimation
Definition: ad9361_api.h:199
uint8_t fagc_rst_gla_en_agc_pulled_high_en
Definition: ad9361_api.h:171
@ BBPLL_CLK
Definition: ad9361.h:3270
int32_t ad9361_rx_lo_powerdown(struct ad9361_rf_phy *phy, uint8_t option)
Definition: ad9361_api.c:1355
struct gain_table_info * gt_info
Definition: ad9361.h:3367
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:58
uint32_t tx_bandwidth
Definition: ad9361_api.h:317
uint8_t gpo1_rx_delay_us
Definition: ad9361_api.h:261
bool filt_valid
Definition: ad9361.h:3389
#define TX_RSSI_1
Definition: ad9361.h:1052
#define REG_TX_FILTER_CONF
Definition: ad9361.h:141
uint8_t tx1_mon_front_end_gain
Definition: ad9361.h:3131
int32_t ad9361_get_tx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t *bandwidth_hz)
Definition: ad9361_api.c:1461
uint8_t dig_gain_step_size
Definition: ad9361.h:2970
Header file of utility functions.
uint32_t delay_rx_data
Definition: ad9361_api.h:234
int32_t ad9361_tx_lo_powerdown(struct ad9361_rf_phy *phy, uint8_t option)
Definition: ad9361_api.c:1870
#define DATA_CLK_DELAY(x)
Definition: ad9361.h:638
uint32_t aux_adc_rate
Definition: ad9361_api.h:183
struct axi_dac_init * tx_dac_init
Definition: ad9361_api.h:296
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:4734
uint8_t fagc_lock_level_lmt_gain_increase_en
Definition: ad9361_api.h:151
struct ad9361_phy_platform_data * pdata
Definition: ad9361.h:3359
uint8_t gpo1_tx_delay_us
Definition: ad9361_api.h:262
uint16_t bypass_loss_mdB
Definition: ad9361.h:3082
@ CLKRF_CLK
Definition: ad9361.h:3274
uint32_t ad9361_rfpll_dummy_recalc_rate(struct refclk_scale *clk_priv)
Definition: ad9361.c:6988
int32_t ad9361_get_rx_bbdc_track_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1189
uint8_t dac1_tx_delay_us
Definition: ad9361.h:3035
uint32_t rssi_delay
Definition: ad9361_api.h:176
bool immed_gain_change_if_large_adc_overload
Definition: ad9361.h:2974
int32_t bist_loopback_mode
Definition: ad9361.h:3410
enum rf_gain_ctrl_mode rx1_mode
Definition: ad9361.h:2922
uint8_t high_gain_dB
Definition: ad9361.h:3128
int32_t ad9361_set_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t rate_gov)
Definition: ad9361_api.c:2096
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:2145
int32_t ad9361_get_tx_attenuation(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t *attenuation_mdb)
Definition: ad9361_api.c:1413
uint8_t gpo2_tx_delay_us
Definition: ad9361.h:3118
uint8_t agc_outer_thresh_high_dec_steps
Definition: ad9361.h:2951
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:1897
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:153
dev_id
Definition: ad9361.h:3334
uint16_t dec_pow_measuremnt_duration
Definition: ad9361.h:2932
#define OFF
Definition: ad9361_api.h:366
uint32_t rate
Definition: common.h:59
uint8_t agc_inner_thresh_low_inc_steps
Definition: ad9361_api.h:133
bool gpo0_slave_rx_en
Definition: ad9361.h:3105
int32_t ad9361_set_rx_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t bandwidth_hz)
Definition: ad9361_api.c:799
uint32_t bist_tone_freq_Hz
Definition: ad9361.h:3414
int32_t ad9361_set_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t rate_gov)
Definition: ad9361_api.c:2096
struct ad9361_rf_phy * phy
Definition: ad9361_util.h:84
int32_t ad9361_set_rx_gain_control_mode(struct ad9361_rf_phy *phy, uint8_t ch, uint8_t gc_mode)
Definition: ad9361_api.c:972
int32_t ad9361_fastlock_store(struct ad9361_rf_phy *phy, bool tx, uint32_t profile)
Definition: ad9361.c:5047
uint32_t rx_data_delay
Definition: ad9361_api.h:236
uint32_t fagc_gain_index_type_after_exit_rx_mode
Definition: ad9361_api.h:160
int32_t ad9361_set_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1772
uint8_t agc_adc_large_overload_inc_steps
Definition: ad9361_api.h:122
int32_t ad9361_get_tx_atten(struct ad9361_rf_phy *phy, uint32_t tx_num)
Definition: ad9361.c:1687
Header file of AD9361 API Driver.
struct no_os_spi_init_param * spi_param
Definition: ad7616.h:210
uint8_t dc_offset_attenuation_low_range
Definition: ad9361_api.h:73
uint8_t pp_rx_swap_enable
Definition: ad9361_api.h:217
enum rf_gain_ctrl_mode rx2_mode
Definition: ad9361.h:2923
uint8_t adc_small_overload_exceed_counter
Definition: ad9361.h:2959
#define RX_DATA_DELAY(x)
Definition: ad9361.h:639
uint8_t agc_outer_thresh_high_dec_steps
Definition: ad9361_api.h:138
uint8_t elna_gaintable_all_index_enable
Definition: ad9361_api.h:212
uint8_t dc_offset_attenuation_high_range
Definition: ad9361_api.h:72
f_agc_target_gain_index_type
Definition: ad9361.h:2914
int32_t ad9361_tracking_control(struct ad9361_rf_phy *phy, bool bbdc_track, bool rfdc_track, bool rxquad_track)
Definition: ad9361.c:3323
bool dac1_in_tx_en
Definition: ad9361.h:3027
uint8_t tx_lo_powerdown_managed_enable
Definition: ad9361_api.h:85
int32_t ad9361_set_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1652
uint32_t gain_update_interval_us
Definition: ad9361.h:2973
uint8_t one_rx_one_tx_mode_use_tx_num
Definition: ad9361_api.h:60
@ ID_AD9361
Definition: ad9361.h:3335
@ ENSM_MODE_ALERT
Definition: ad9361_api.h:323
uint8_t gpo3_rx_delay_us
Definition: ad9361_api.h:265
bool one_shot_mode_en
Definition: ad9361.h:3125
bool sync_for_gain_counter_en
Definition: ad9361.h:2971
uint32_t rx_data_clock_delay
Definition: ad9361_api.h:235
struct axiadc_converter * adc_conv
Definition: ad9361.h:3408
uint32_t tx2_mon_front_end_gain
Definition: ad9361_api.h:276
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:131
bool periodic_temp_measuremnt
Definition: ad9361.h:3093
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:4772
bool bypass_tx_fir
Definition: ad9361.h:3387
struct axiadc_chip_info * chip_info
Definition: ad9361_util.h:94
uint8_t low_power_thresh
Definition: ad9361.h:2933
int32_t ad9361_set_rx_rf_gain(struct ad9361_rf_phy *phy, uint8_t ch, int32_t gain_db)
Definition: ad9361_api.c:749
uint32_t rx_bandwidth
Definition: ad9361_api.h:307
int32_t ad9361_set_tx_lo_int_ext(struct ad9361_rf_phy *phy, uint8_t int_ext)
Definition: ad9361_api.c:1558
uint8_t lvds_invert2_control
Definition: ad9361_api.h:243
@ TX_SAMPL_CLK
Definition: ad9361.h:3280
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:81