#define ENSM_STATE_SLEEP
Definition: ad9361.h:770
uint8_t pp_conf[3]
Definition: ad9361.h:3067
bool bbdc_track_en
Definition: ad9361.h:3400
struct iio_attribute altvoltage_attributes[]
Definition: iio_ad9361.c:2016
#define END_ATTRIBUTES_ARRAY
Definition: iio_types.h:109
Struct describing the scan type.
Definition: iio_types.h:172
int32_t ad9361_fastlock_recall(struct ad9361_rf_phy *phy, bool tx, uint32_t profile)
Definition: ad9361.c:5143
int32_t iio_ad9361_remove(struct iio_ad9361_desc *desc)
Release resources.
Definition: iio_ad9361.c:2276
@ LO_DONTCARE
Definition: ad9361.h:3329
Structure holding iio descriptor.
Definition: iio_ad9361.h:68
int32_t ad9361_fastlock_save(struct ad9361_rf_phy *phy, bool tx, uint32_t profile, uint8_t *values)
Definition: ad9361.c:5199
Definition: ad9361.h:3222
struct iio_channel * channels
Definition: iio_types.h:249
int32_t ad9361_get_temperature(struct ad9361_rf_phy *phy, int32_t *temp)
Definition: ad9361_api.c:2213
uint8_t rx_fir_ntaps
Definition: ad9361.h:3397
int32_t ad9361_do_calib(struct ad9361_rf_phy *phy, uint32_t cal, int32_t arg)
Definition: ad9361_api.c:2115
uint8_t current_profile[2]
Definition: ad9361.h:3309
Structure holding channel attributess.
Definition: iio_types.h:96
const char * ad9361_ensm_states[12]
Definition: ad9361.c:686
bool rfdc_track_en
Definition: ad9361.h:3399
int32_t ad9361_fastlock_load(struct ad9361_rf_phy *phy, bool tx, uint32_t profile, uint8_t *values)
Definition: ad9361.c:4970
#define RX_LO_POWER_DOWN
Definition: ad9361.h:944
#define AD9363A_MAX_CARRIER_FREQ_HZ
Definition: ad9361.h:2862
#define AD9361_TEMP(_idx)
Definition: iio_ad9361.c:2202
#define AD9361_VOLTAGE_IN(_idx)
Definition: iio_ad9361.c:2172
int32_t ad9361_set_rx_lo_int_ext(struct ad9361_rf_phy *phy, uint8_t int_ext)
Definition: ad9361_api.c:902
int32_t ad9361_get_rx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t *sampling_freq_hz)
Definition: ad9361_api.c:848
uint8_t agc_mode[2]
Definition: ad9361.h:3398
bool ch_out
Definition: iio_types.h:100
void iio_ad9361_get_dev_descriptor(struct iio_ad9361_desc *desc, struct iio_device **dev_descriptor)
Get iio device descriptor.
Definition: iio_ad9361.c:2238
#define LVDS_MODE
Definition: ad9361.h:708
int32_t ad9361_set_tx_lo_int_ext(struct ad9361_rf_phy *phy, uint8_t int_ext)
Definition: ad9361_api.c:1542
#define ENSM_STATE_SLEEP_WAIT
Definition: ad9361.h:761
int32_t ad9361_parse_fir(struct ad9361_rf_phy *phy, char *data, uint32_t size)
Definition: ad9361.c:5884
Definition: ad9361_util.h:75
int32_t ad9361_set_dcxo_tune(struct ad9361_rf_phy *phy, uint32_t coarse, uint32_t fine)
Definition: ad9361.c:3495
#define TX_QUAD_CAL
Definition: ad9361.h:749
uint8_t save_profile
Definition: ad9361.h:3308
int32_t ad9361_1rx1tx_channel_map(struct ad9361_rf_phy *phy, bool tx, int32_t channel)
Definition: ad9361.c:990
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:53
uint32_t no_os_str_to_uint32(const char *str)
#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:1097
int32_t ad9361_set_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1636
#define ENSM_STATE_FDD
Definition: ad9361.h:767
int32_t ad9361_set_rx_gain(struct ad9361_rf_phy *phy, uint32_t rx_id, struct rf_rx_gain *rx_gain)
Definition: ad9361.c:2197
@ TX_RFPLL
Definition: ad9361.h:3286
int32_t ad9361_rssi_gain_step_calib(struct ad9361_rf_phy *phy)
Definition: ad9361.c:7393
uint8_t ad9361_ensm_get_state(struct ad9361_rf_phy *phy)
Definition: ad9361.c:1948
struct ad9361_rf_phy * ad9361_phy
Definition: iio_ad9361.h:61
Header file of iio_ad9361.
uint32_t ad9361_gt(struct ad9361_rf_phy *phy)
Definition: ad9361.c:1348
struct iio_attribute voltage_output_attributes[]
Definition: iio_ad9361.c:1883
struct iio_attribute voltage_input_attributes[]
Definition: iio_ad9361.c:1937
int32_t ad9361_get_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1659
struct iio_attribute temp0_attributes[]
Definition: iio_ad9361.c:2069
const char * name
Definition: iio_types.h:135
int32_t ad9361_get_tx_rssi(struct ad9361_rf_phy *phy, uint8_t ch, uint32_t *rssi_db_x_1000)
Definition: ad9361_api.c:1677
int32_t ad9361_set_ensm_mode(struct ad9361_rf_phy *phy, bool fdd, bool pinctrl)
Definition: ad9361.c:4880
struct iio_device dev_descriptor
Definition: iio_ad9361.h:70
bool bypass_rx_fir
Definition: ad9361.h:3386
#define ENSM_STATE_RX
Definition: ad9361.h:765
int ad9361_synth_lo_powerdown(struct ad9361_rf_phy *phy, enum synth_pd_ctrl rx, enum synth_pd_ctrl tx)
Definition: ad9361.c:3440
struct iio_attribute * debug_attributes
Definition: iio_types.h:255
uint8_t rx_fir_dec
Definition: ad9361.h:3396
#define AD9361_OUT()
Definition: iio_ad9361.c:2212
#define ENSM_STATE_ALERT
Definition: ad9361.h:762
int32_t iio_ad9361_init(struct iio_ad9361_desc **desc, struct iio_ad9361_init_param *init)
Init for reading/writing and parameterization of a ad9361 device.
Definition: iio_ad9361.c:2251
int32_t ad9361_set_gain_ctrl_mode(struct ad9361_rf_phy *phy, struct rf_gain_ctrl *gain_ctrl)
Definition: ad9361.c:2350
uint32_t clk_get_rate(struct ad9361_rf_phy *phy, struct refclk_scale *clk_priv)
clk_get_rate
Definition: ad9361_util.c:67
Structure holding pointers to show and store functions.
Definition: iio_types.h:133
struct ad9361_fastlock fastlock
Definition: ad9361.h:3407
int32_t ad9361_ensm_set_state(struct ad9361_rf_phy *phy, uint8_t ensm_state, bool pinctrl)
Definition: ad9361.c:4406
@ LO_OFF
Definition: ad9361.h:3330
int32_t gain_db
Definition: ad9361.h:3224
@ LO_ON
Definition: ad9361.h:3331
#define AD9361_VOLTAGE_OUT(_idx)
Definition: iio_ad9361.c:2182
int32_t ad9361_get_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1773
Definition: ad9361.h:3340
int32_t no_os_str_to_int32(const char *str)
Definition: ad9361.h:2902
int32_t ad9361_set_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1238
uint8_t cached_synth_pd[2]
Definition: ad9361.h:3364
#define AD9363A_MIN_CARRIER_FREQ_HZ
Definition: ad9361.h:2863
int32_t ad9361_set_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1719
int32_t ad9361_set_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1756
uint32_t current_rx_bw_Hz
Definition: ad9361.h:3382
bool quad_track_en
Definition: ad9361.h:3401
uint8_t tx_fir_int
Definition: ad9361.h:3394
Configuration structure.
Definition: iio_ad9361.h:59
int32_t ad9361_get_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1739
struct refclk_scale * ref_clk_scale[NUM_AD9361_CLKS]
Definition: ad9361.h:3353
uint32_t ad9361_to_clk(uint64_t freq)
Definition: ad9361.c:1364
int32_t ad9361_set_tx_atten(struct ad9361_rf_phy *phy, uint32_t atten_mdb, bool tx1, bool tx2, bool immed)
Definition: ad9361.c:1614
@ RX_RFPLL
Definition: ad9361.h:3285
#define no_os_clamp_t(type, val, min_val, max_val)
Definition: no_os_util.h:75
uint8_t mode
Definition: ad9361.h:2904
struct iio_attribute * buffer_attributes
Definition: iio_types.h:257
Header file for iio_types.
uint16_t num_ch
Definition: iio_types.h:247
int32_t ad9361_get_rx_rssi(struct ad9361_rf_phy *phy, uint8_t ch, struct rf_rssi *rssi)
Definition: ad9361_api.c:926
uint32_t rate_governor
Definition: ad9361.h:3385
int32_t ad9361_set_rx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1074
int32_t ad9361_mcs(struct ad9361_rf_phy *phy, int32_t step)
Definition: ad9361.c:5219
int32_t iio_ad9361_init(struct iio_ad9361_desc **desc, struct iio_ad9361_init_param *init)
Init for reading/writing and parameterization of a ad9361 device.
Definition: iio_ad9361.c:2251
#define AD9361_ALTVOLTAGE_OUT(_idx)
Definition: iio_ad9361.c:2192
uint64_t ad9361_from_clk(uint32_t freq)
Definition: ad9361.c:1375
#define NULL
Definition: wrapper.h:64
int16_t ch_num
Definition: iio_types.h:98
Structure holding channels and attributes of a device.
Definition: iio_types.h:242
struct ad9361_rf_phy * ad9361_phy
Definition: main.c:504
uint32_t ant
Definition: ad9361.h:2903
int32_t no_os_clk_set_rate(struct no_os_clk *clk, uint64_t rate)
int32_t ad9361_get_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1258
uint32_t current_tx_bw_Hz
Definition: ad9361.h:3383
int32_t ad9361_set_rx_sampling_freq(struct ad9361_rf_phy *phy, uint32_t sampling_freq_hz)
Definition: ad9361_api.c:823
int32_t ad9361_get_rx_gain(struct ad9361_rf_phy *phy, uint32_t rx_id, struct rf_rx_gain *rx_gain)
Definition: ad9361.c:1882
int32_t ad9361_get_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t *rate_gov)
Definition: ad9361_api.c:2096
struct iio_attribute out_attributes[]
Definition: iio_ad9361.c:2060
uint32_t ad9361_validate_rf_bw(struct ad9361_rf_phy *phy, uint32_t bw)
Definition: ad9361.c:912
int32_t ad9361_update_rf_bandwidth(struct ad9361_rf_phy *phy, uint32_t rf_rx_bw, uint32_t rf_tx_bw)
Definition: ad9361.c:5688
int get_sampling_frequency(struct axi_adc *dev, uint32_t chan, uint64_t *sampling_freq_hz)
Definition: headless.c:80
struct gain_table_info * gt_info
Definition: ad9361.h:3367
Implementation of utility functions.
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:4700
struct ad9361_phy_platform_data * pdata
Definition: ad9361.h:3359
#define RX_FAST_LOCK_CONFIG_WORD_NUM
Definition: ad9361.h:2419
int32_t ad9361_set_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t rate_gov)
Definition: ad9361_api.c:2080
#define RFDC_CAL
Definition: ad9361.h:752
int32_t iio_ad9361_remove(struct iio_ad9361_desc *desc)
Release resources.
Definition: iio_ad9361.c:2276
int32_t ad9361_fastlock_store(struct ad9361_rf_phy *phy, bool tx, uint32_t profile)
Definition: ad9361.c:5013
int32_t ad9361_get_tx_atten(struct ad9361_rf_phy *phy, uint32_t tx_num)
Definition: ad9361.c:1653
Header file of AD9361 API Driver.
Error macro definition for ARM Compiler.
int32_t ad9361_tracking_control(struct ad9361_rf_phy *phy, bool bbdc_track, bool rfdc_track, bool rxquad_track)
Definition: ad9361.c:3289
struct iio_attribute * attributes
Definition: iio_types.h:253
bool bypass_tx_fir
Definition: ad9361.h:3387
uint8_t tx_fir_ntaps
Definition: ad9361.h:3395
void iio_ad9361_get_dev_descriptor(struct iio_ad9361_desc *desc, struct iio_device **dev_descriptor)
Get iio device descriptor.
Definition: iio_ad9361.c:2238
#define MIN_ADC_CLK
Definition: ad9361.h:2834