#define ENSM_STATE_SLEEP
Definition: ad9361.h:764
uint8_t pp_conf[3]
Definition: ad9361.h:3061
bool bbdc_track_en
Definition: ad9361.h:3394
struct iio_attribute altvoltage_attributes[]
Definition: iio_ad9361.c:2011
#define END_ATTRIBUTES_ARRAY
Definition: iio_types.h:116
Struct describing the scan type.
Definition: iio_types.h:168
int32_t ad9361_fastlock_recall(struct ad9361_rf_phy *phy, bool tx, uint32_t profile)
Definition: ad9361.c:5173
int32_t iio_ad9361_remove(struct iio_ad9361_desc *desc)
Release resources.
Definition: iio_ad9361.c:2274
@ LO_DONTCARE
Definition: ad9361.h:3323
Structure holding iio descriptor.
Definition: iio_ad9361.h:62
int32_t ad9361_fastlock_save(struct ad9361_rf_phy *phy, bool tx, uint32_t profile, uint8_t *values)
Definition: ad9361.c:5229
Definition: ad9361.h:3216
struct iio_channel * channels
Definition: iio_types.h:254
int32_t ad9361_get_temperature(struct ad9361_rf_phy *phy, int32_t *temp)
Definition: ad9361_api.c:2223
uint8_t rx_fir_ntaps
Definition: ad9361.h:3391
int32_t ad9361_do_calib(struct ad9361_rf_phy *phy, uint32_t cal, int32_t arg)
Definition: ad9361_api.c:2125
uint8_t current_profile[2]
Definition: ad9361.h:3303
Structure holding channel attributess.
Definition: iio_types.h:103
const char * ad9361_ensm_states[12]
Definition: ad9361.c:681
bool rfdc_track_en
Definition: ad9361.h:3393
int32_t ad9361_fastlock_load(struct ad9361_rf_phy *phy, bool tx, uint32_t profile, uint8_t *values)
Definition: ad9361.c:4998
#define RX_LO_POWER_DOWN
Definition: ad9361.h:938
#define AD9363A_MAX_CARRIER_FREQ_HZ
Definition: ad9361.h:2856
#define AD9361_TEMP(_idx)
Definition: iio_ad9361.c:2197
#define AD9361_VOLTAGE_IN(_idx)
Definition: iio_ad9361.c:2167
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
uint8_t agc_mode[2]
Definition: ad9361.h:3392
bool ch_out
Definition: iio_types.h:107
void iio_ad9361_get_dev_descriptor(struct iio_ad9361_desc *desc, struct iio_device **dev_descriptor)
Get iio device descriptor.
Definition: iio_ad9361.c:2233
#define LVDS_MODE
Definition: ad9361.h:702
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
int32_t ad9361_parse_fir(struct ad9361_rf_phy *phy, char *data, uint32_t size)
Definition: ad9361.c:5914
Definition: ad9361_util.h:69
int32_t ad9361_set_dcxo_tune(struct ad9361_rf_phy *phy, uint32_t coarse, uint32_t fine)
Definition: ad9361.c:3523
#define TX_QUAD_CAL
Definition: ad9361.h:743
uint8_t save_profile
Definition: ad9361.h:3302
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
uint32_t no_os_str_to_uint32(const char *str)
#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
int32_t(* debug_reg_read)(void *dev, uint32_t reg, uint32_t *readval)
Definition: iio_types.h:283
int32_t ad9361_set_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1646
#define ENSM_STATE_FDD
Definition: ad9361.h:761
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
@ TX_RFPLL
Definition: ad9361.h:3280
int32_t ad9361_rssi_gain_step_calib(struct ad9361_rf_phy *phy)
Definition: ad9361.c:7423
uint8_t ad9361_ensm_get_state(struct ad9361_rf_phy *phy)
Definition: ad9361.c:1976
struct ad9361_rf_phy * ad9361_phy
Definition: iio_ad9361.h:55
Header file of iio_ad9361.
uint32_t ad9361_gt(struct ad9361_rf_phy *phy)
Definition: ad9361.c:1376
struct iio_attribute voltage_output_attributes[]
Definition: iio_ad9361.c:1878
int32_t ad9361_reg_read(struct ad9361_rf_phy *phy, uint32_t reg, uint32_t *val)
Definition: ad9361.c:754
struct iio_attribute voltage_input_attributes[]
Definition: iio_ad9361.c:1932
int32_t ad9361_get_tx_fir_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1669
struct iio_attribute temp0_attributes[]
Definition: iio_ad9361.c:2064
const char * name
Definition: iio_types.h:131
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
struct iio_device dev_descriptor
Definition: iio_ad9361.h:64
bool bypass_rx_fir
Definition: ad9361.h:3380
#define ENSM_STATE_RX
Definition: ad9361.h:759
int ad9361_synth_lo_powerdown(struct ad9361_rf_phy *phy, enum synth_pd_ctrl rx, enum synth_pd_ctrl tx)
Definition: ad9361.c:3468
struct iio_attribute * debug_attributes
Definition: iio_types.h:258
uint8_t rx_fir_dec
Definition: ad9361.h:3390
#define AD9361_OUT()
Definition: iio_ad9361.c:2207
#define ENSM_STATE_ALERT
Definition: ad9361.h:756
int32_t no_os_clk_set_rate(struct no_os_clk_desc *desc, uint64_t rate)
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:2246
int32_t ad9361_set_gain_ctrl_mode(struct ad9361_rf_phy *phy, struct rf_gain_ctrl *gain_ctrl)
Definition: ad9361.c:2378
uint32_t clk_get_rate(struct ad9361_rf_phy *phy, struct refclk_scale *clk_priv)
clk_get_rate
Definition: ad9361_util.c:61
Structure holding pointers to show and store functions.
Definition: iio_types.h:129
struct ad9361_fastlock fastlock
Definition: ad9361.h:3401
int32_t ad9361_ensm_set_state(struct ad9361_rf_phy *phy, uint8_t ensm_state, bool pinctrl)
Definition: ad9361.c:4434
@ LO_OFF
Definition: ad9361.h:3324
int32_t gain_db
Definition: ad9361.h:3218
@ LO_ON
Definition: ad9361.h:3325
#define AD9361_VOLTAGE_OUT(_idx)
Definition: iio_ad9361.c:2177
int32_t ad9361_get_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t *en_dis)
Definition: ad9361_api.c:1783
Definition: ad9361.h:3334
int32_t no_os_str_to_int32(const char *str)
Definition: ad9361.h:2896
int32_t ad9361_set_rx_rf_port_input(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1248
uint8_t cached_synth_pd[2]
Definition: ad9361.h:3358
#define AD9363A_MIN_CARRIER_FREQ_HZ
Definition: ad9361.h:2857
int32_t ad9361_set_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t mode)
Definition: ad9361_api.c:1729
int32_t ad9361_set_tx_auto_cal_en_dis(struct ad9361_rf_phy *phy, uint8_t en_dis)
Definition: ad9361_api.c:1766
uint32_t current_rx_bw_Hz
Definition: ad9361.h:3376
bool quad_track_en
Definition: ad9361.h:3395
uint8_t tx_fir_int
Definition: ad9361.h:3388
Configuration structure.
Definition: iio_ad9361.h:53
int32_t ad9361_get_tx_rf_port_output(struct ad9361_rf_phy *phy, uint32_t *mode)
Definition: ad9361_api.c:1749
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
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
@ RX_RFPLL
Definition: ad9361.h:3279
#define no_os_clamp_t(type, val, min_val, max_val)
Definition: no_os_util.h:71
uint8_t mode
Definition: ad9361.h:2898
struct iio_attribute * buffer_attributes
Definition: iio_types.h:260
Header file for iio_types.
uint16_t num_ch
Definition: iio_types.h:252
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
uint32_t rate_governor
Definition: ad9361.h:3379
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_mcs(struct ad9361_rf_phy *phy, int32_t step)
Definition: ad9361.c:5249
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:2246
#define AD9361_ALTVOLTAGE_OUT(_idx)
Definition: iio_ad9361.c:2187
uint64_t ad9361_from_clk(uint32_t freq)
Definition: ad9361.c:1403
#define NULL
Definition: wrapper.h:64
int16_t ch_num
Definition: iio_types.h:105
Structure holding channels and attributes of a device.
Definition: iio_types.h:247
struct ad9361_rf_phy * ad9361_phy
Definition: main.c:510
uint32_t ant
Definition: ad9361.h:2897
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
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_get_rx_gain(struct ad9361_rf_phy *phy, uint32_t rx_id, struct rf_rx_gain *rx_gain)
Definition: ad9361.c:1910
int32_t ad9361_get_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t *rate_gov)
Definition: ad9361_api.c:2106
struct iio_attribute out_attributes[]
Definition: iio_ad9361.c:2055
uint32_t ad9361_validate_rf_bw(struct ad9361_rf_phy *phy, uint32_t bw)
Definition: ad9361.c:940
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
int get_sampling_frequency(struct axi_adc *dev, uint32_t chan, uint64_t *sampling_freq_hz)
Definition: headless.c:75
struct gain_table_info * gt_info
Definition: ad9361.h:3361
Header file of utility functions.
int32_t(* debug_reg_write)(void *dev, uint32_t reg, uint32_t writeval)
Definition: iio_types.h:285
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
struct ad9361_phy_platform_data * pdata
Definition: ad9361.h:3353
#define RX_FAST_LOCK_CONFIG_WORD_NUM
Definition: ad9361.h:2413
int32_t ad9361_set_trx_rate_gov(struct ad9361_rf_phy *phy, uint32_t rate_gov)
Definition: ad9361_api.c:2090
int32_t ad9361_reg_write(struct ad9361_rf_phy *phy, uint32_t reg, uint32_t val)
Definition: ad9361.c:843
#define RFDC_CAL
Definition: ad9361.h:746
int32_t iio_ad9361_remove(struct iio_ad9361_desc *desc)
Release resources.
Definition: iio_ad9361.c:2274
int32_t ad9361_fastlock_store(struct ad9361_rf_phy *phy, bool tx, uint32_t profile)
Definition: ad9361.c:5041
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.
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:3317
struct iio_attribute * attributes
Definition: iio_types.h:256
bool bypass_tx_fir
Definition: ad9361.h:3381
uint8_t tx_fir_ntaps
Definition: ad9361.h:3389
void iio_ad9361_get_dev_descriptor(struct iio_ad9361_desc *desc, struct iio_device **dev_descriptor)
Get iio device descriptor.
Definition: iio_ad9361.c:2233
#define MIN_ADC_CLK
Definition: ad9361.h:2828