no-OS
adi_hal.h
Go to the documentation of this file.
1 
9 #ifndef _ADI_HAL_H_
10 #define _ADI_HAL_H_
11 
12 /* include standard types and definitions */
13 #include <stdint.h>
14 #include <stddef.h>
15 #include "no_os_util.h"
16 
17 #define u16 uint16_t
18 #define DIV_U64(x, y) no_os_div_u64(x, y)
19 #define DIV_S64(x, y) no_os_div_s64(x, y)
20 #define DIV_ROUND_CLOSEST NO_OS_DIV_ROUND_CLOSEST
21 #define DIV_ROUND_CLOSEST_ULL NO_OS_DIV_ROUND_CLOSEST_ULL
22 
23 /*========================================
24  * Enums and structures
25  *=======================================*/
26 
27 struct adi_hal {
31  uint32_t log_level;
32  void *extra_spi;
33  uint8_t spi_adrv_csn;
34  void *extra_gpio;
36 };
37 
42 typedef enum {
43  ADIHAL_OK = 0,
51 } adiHalErr_t;
52 
57 typedef enum {
66 
67 typedef enum {
72 
73 /*========================================
74  * Prototypes
75  *=======================================*/
76 #ifdef __cplusplus
77 extern "C" {
78 #endif
79 
80 /* 3 Bytes per SPI transaction * 341 transactions = ~1024 byte buffer size */
81 /* Minimum HAL_SPIWRITEARRAY_BUFFERSIZE = 18 */
82 #define HAL_SPIWRITEARRAY_BUFFERSIZE 341
83 
84 /*============================================================================
85  * ADI Device Hardware Control Functions
86  *===========================================================================*/
87 
127 adiHalErr_t ADIHAL_openHw(void *devHalInfo, uint32_t halTimeout_ms);
128 
159 adiHalErr_t ADIHAL_closeHw(void *devHalInfo);
160 
161 
190 adiHalErr_t ADIHAL_setTimeout(void *devHalInfo, uint32_t halTimeout_ms);
191 
229 adiHalErr_t ADIHAL_resetHw(void *devHalInfo);
230 
253 
285 adiHalErr_t ADIHAL_spiWriteByte(void *devHalInfo, uint16_t addr, uint8_t data);
286 
331 adiHalErr_t ADIHAL_spiWriteBytes(void *devHalInfo, uint16_t *addr,
332  uint8_t *data, uint32_t count);
333 
366 adiHalErr_t ADIHAL_spiReadByte(void *devHalInfo, uint16_t addr,
367  uint8_t *readdata);
368 
404 adiHalErr_t ADIHAL_spiReadBytes(void *devHalInfo, uint16_t *addr,
405  uint8_t *readdata, uint32_t count);
406 
458 adiHalErr_t ADIHAL_spiWriteField(void *devHalInfo, uint16_t addr,
459  uint8_t fieldVal, uint8_t mask, uint8_t startBit);
460 
510 adiHalErr_t ADIHAL_spiReadField(void *devHalInfo, uint16_t addr,
511  uint8_t *fieldVal, uint8_t mask, uint8_t startBit);
512 
541 adiHalErr_t ADIHAL_wait_us(void *devHalInfo, uint32_t time_us);
542 
543 /*========================================
544  * Optional Logging Functions
545  *
546  *=======================================*/
582 adiHalErr_t ADIHAL_setLogLevel(void *devHalInfo, uint16_t halLogLevel);
583 
621 adiHalErr_t ADIHAL_writeToLog(void *devHalInfo, adiLogLevel_t logLevel,
622  uint32_t errorCode, const char *comment);
623 
624 
625 #ifdef __cplusplus
626 }
627 #endif
628 #endif
axi_clkgen_init::name
const char * name
Definition: clk_axi_clkgen.h:51
SYSREF_SRC_INTERNAL
#define SYSREF_SRC_INTERNAL
Definition: ad9528.h:275
axi_adc_core.h
Driver for the Analog Devices AXI-ADC-CORE module.
ADIHAL_spiWriteBytes
adiHalErr_t ADIHAL_spiWriteBytes(void *devHalInfo, uint16_t *addr, uint8_t *data, uint32_t count)
Writes an array of SPI writes to an ADI Device.
Definition: no_os_hal.c:181
axi_dac_data_setup
int32_t axi_dac_data_setup(struct axi_dac *dac)
AXI DAC Data Setup.
Definition: axi_dac_core.c:1193
RX_OS_JESD_BASEADDR
#define RX_OS_JESD_BASEADDR
Definition: parameters.h:126
axi_clkgen::name
const char * name
Definition: clk_axi_clkgen.h:45
iio_app_init_param
IIO application descriptor initialization parameters.
Definition: iio_app.h:101
ad9528_channel_spec::channel_divider
uint16_t channel_divider
Definition: ad9528.h:345
RX_CLKGEN_BASEADDR
#define RX_CLKGEN_BASEADDR
Definition: parameters.h:97
no_os_gpio_init_param
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:79
adiLogLevel_t
adiLogLevel_t
An enumerated type in bit mask format to list the log message categories or groups.
Definition: adi_hal.h:57
app_config.h
Config file for ADRV9009 project.
adi_hal::log_level
uint32_t log_level
Definition: adi_hal.h:31
SYSREF_NSHOT_4_PULSES
#define SYSREF_NSHOT_4_PULSES
Definition: ad9528.h:287
ADXCVR_REFCLK
#define ADXCVR_REFCLK
Definition: axi_adxcvr.h:55
axi_dac_init_begin
int32_t axi_dac_init_begin(struct axi_dac **dac_core, const struct axi_dac_init *init)
Begin AXI DAC Initialization.
Definition: axi_dac_core.c:1098
iio_app_init_param::uart_init_params
struct no_os_uart_init_param uart_init_params
Definition: iio_app.h:115
IIO_APP_DEVICE
#define IIO_APP_DEVICE(_name, _dev, _dev_descriptor, _read_buff, _write_buff, _default_trigger_id)
Definition: iio_app.h:47
adi_hal::spi_adrv_desc
struct no_os_spi_desc * spi_adrv_desc
Definition: adi_hal.h:30
ADIHAL_spiWriteByte
adiHalErr_t ADIHAL_spiWriteByte(void *devHalInfo, uint16_t addr, uint8_t data)
Performs a Single SPI write to an ADI Device.
Definition: no_os_hal.c:163
ADIHAL_setTimeout
adiHalErr_t ADIHAL_setTimeout(void *devHalInfo, uint32_t halTimeout_ms)
Sets the a timeout duration for the HAL functions.
Definition: no_os_hal.c:56
GPIO_PS
@ GPIO_PS
Definition: xilinx_gpio.h:56
SYSREF_CONT_OFF
@ SYSREF_CONT_OFF
Definition: adi_hal.h:69
SPI_PS
@ SPI_PS
Definition: xilinx_spi.h:62
iio_data_buffer::size
uint32_t size
Definition: iio_app.h:63
axi_dmac_init
Definition: axi_dmac.h:127
UART_PL
@ UART_PL
Definition: xilinx_uart.h:57
rx_clkgen
struct axi_clkgen * rx_clkgen
Definition: app_clocking.c:90
DDR_MEM_BASEADDR
#define DDR_MEM_BASEADDR
Definition: parameters.h:64
no_os_spi.h
Header file of SPI Interface.
tx_adxcvr
struct adxcvr * tx_adxcvr
Definition: app_jesd.c:53
adi_hal::gpio_adrv_resetb
struct no_os_gpio_desc * gpio_adrv_resetb
Definition: adi_hal.h:28
NO_OS_UART_STOP_1_BIT
@ NO_OS_UART_STOP_1_BIT
Definition: no_os_uart.h:94
xil_uart_init_param::type
enum xil_uart_type type
Definition: xilinx_uart.h:69
RPOLE2_900_OHM
@ RPOLE2_900_OHM
Definition: ad9523.h:336
jesd204_topology_init
int jesd204_topology_init(struct jesd204_topology **topology, struct jesd204_topology_dev *devs, unsigned int devs_number)
ad9528_platform_data::pll2_charge_pump_current_nA
uint32_t pll2_charge_pump_current_nA
Definition: ad9528.h:418
ad9528_channel_spec
Output channel configuration.
Definition: ad9528.h:330
adxcvr
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure.
Definition: altera_adxcvr.h:89
axi_adc_init
AXI ADC Initialization Parameters structure.
Definition: axi_adc_core.h:143
iio_app.h
Header file of iio_app.
ADIHAL_LOG_NONE
@ ADIHAL_LOG_NONE
Definition: adi_hal.h:58
iio_axi_adc_init_param::rx_dmac
struct axi_dmac * rx_dmac
Definition: iio_axi_adc.h:81
axi_adc_write
int32_t axi_adc_write(struct axi_adc *adc, uint32_t reg_addr, uint32_t reg_data)
AXI ADC Data Write.
Definition: axi_adc_core.c:71
clk_axi_clkgen.h
Driver for the Analog Devices AXI CLKGEN.
ad9528_platform_data::pll2_bypass_en
bool pll2_bypass_en
Definition: ad9528.h:432
xilinx_uart.h
axi_dmac_transfer_wait_completion
int32_t axi_dmac_transfer_wait_completion(struct axi_dmac *dmac, uint32_t timeout_ms)
Definition: axi_dmac.c:525
iio_app_desc
IIO application descriptor.
Definition: iio_app.h:80
axi_jesd204_rx::jdev
struct jesd204_dev * jdev
Definition: axi_jesd204_rx.h:81
pr_err
#define pr_err(fmt, args...)
Definition: no_os_print_log.h:88
ADIHAL_spiReadByte
adiHalErr_t ADIHAL_spiReadByte(void *devHalInfo, uint16_t addr, uint8_t *readdata)
Performs a Single SPI Read from an ADI Device.
Definition: no_os_hal.c:196
AXI_ADC_RSTN
#define AXI_ADC_RSTN
Definition: axi_adc_core.h:47
ad9528_platform_data::num_channels
uint32_t num_channels
Definition: ad9528.h:446
iio_data_buffer::buff
void * buff
Definition: iio_app.h:64
no_os_delay.h
Header file of Delay functions.
axi_jesd204_rx_status_read
uint32_t axi_jesd204_rx_status_read(struct axi_jesd204_rx *jesd)
Read status of the JESD204 Receive Peripherial.
Definition: axi_jesd204_rx.c:212
xil_gpio_ops
const struct no_os_gpio_platform_ops xil_gpio_ops
Xilinx platform specific GPIO platform ops structure.
Definition: xilinx_gpio.c:450
ad9528_clk_set_rate
int32_t ad9528_clk_set_rate(struct ad9528_dev *dev, uint32_t chan, uint32_t rate)
Set channel rate.
Definition: ad9528.c:1222
axi_clkgen_init
Definition: clk_axi_clkgen.h:50
ADIHAL_resetHw
adiHalErr_t ADIHAL_resetHw(void *devHalInfo)
Performs a hardware reset on the ADI Device.
Definition: no_os_hal.c:130
axi_adc
AXI ADC Device Descriptor.
Definition: axi_adc_core.h:122
ad9528_platform_data::refa_en
uint8_t refa_en
Definition: ad9528.h:361
pr_info
#define pr_info(fmt, args...)
Definition: no_os_print_log.h:115
axi_clkgen_set_rate
int32_t axi_clkgen_set_rate(struct axi_clkgen *clkgen, uint32_t rate)
axi_clkgen_set_rate
Definition: clk_axi_clkgen.c:414
ADC_DDR_BASEADDR
#define ADC_DDR_BASEADDR
Definition: main.c:62
ad9528_platform_data::pll2_r1_div
uint8_t pll2_r1_div
Definition: ad9528.h:426
ADIHAL_WAIT_TIMEOUT
@ ADIHAL_WAIT_TIMEOUT
Definition: adi_hal.h:47
sysrefReqMode_t
sysrefReqMode_t
Definition: adi_hal.h:67
axi_adc_init_begin
int32_t axi_adc_init_begin(struct axi_adc **adc_core, const struct axi_adc_init *init)
Begin AXI ADC Initialization.
Definition: axi_adc_core.c:587
ADRV_CS
#define ADRV_CS
Definition: parameters.h:162
ad9528_platform_data::spi3wire
uint8_t spi3wire
Definition: ad9528.h:358
UART_PS
@ UART_PS
Definition: xilinx_uart.h:59
ad9528_init_param
Definition: ad9528.h:497
no_os_gpio_init_param::number
int32_t number
Definition: no_os_gpio.h:83
no_os_print_log.h
Print messages helpers.
ADIHAL_closeHw
adiHalErr_t ADIHAL_closeHw(void *devHalInfo)
Closes any platform hardware drivers, handles, etc that were necessary for the ADI Device.
Definition: no_os_hal.c:113
iio_axi_adc_init_param
iio configuration.
Definition: iio_axi_adc.h:77
TX_CLKGEN_BASEADDR
#define TX_CLKGEN_BASEADDR
Definition: parameters.h:95
axi_clkgen_init
int32_t axi_clkgen_init(struct axi_clkgen **clk, const struct axi_clkgen_init *init)
axi_clkgen_init
Definition: clk_axi_clkgen.c:520
ad9528_platform_data::rpole2
uint8_t rpole2
Definition: ad9528.h:436
axi_clkgen
Definition: clk_axi_clkgen.h:44
axi_dac_core.h
Driver for the Analog Devices AXI-DAC-CORE module.
iio_axi_dac_init_param
Definition: iio_axi_dac.h:71
axi_jesd204_rx_init
int32_t axi_jesd204_rx_init(struct axi_jesd204_rx **jesd204, const struct jesd204_rx_init *init)
Device initialization, JESD FSM ON.
Definition: axi_jesd204_rx.c:911
NO_OS_ARRAY_SIZE
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:49
jesd204_topology
Definition: jesd204.h:248
jesd204_topology_dev::jdev
struct jesd204_dev * jdev
Definition: jesd204.h:240
jesd204_rx_init::name
const char * name
Definition: axi_jesd204_rx.h:90
DRIVER_MODE_LVDS
#define DRIVER_MODE_LVDS
Definition: ad9528.h:253
jesd204_topology_dev
Definition: jesd204.h:239
CPOLE1_16_PF
@ CPOLE1_16_PF
Definition: ad9523.h:356
SYSREF_PULSE
@ SYSREF_PULSE
Definition: adi_hal.h:70
ADIHAL_spiReadBytes
adiHalErr_t ADIHAL_spiReadBytes(void *devHalInfo, uint16_t *addr, uint8_t *readdata, uint32_t count)
Performs a Multi SPI Read from an ADI Device.
Definition: no_os_hal.c:217
ad9528_platform_data::sysref_req_en
bool sysref_req_en
Definition: ad9528.h:411
adi_hal.h
Contains Talise ADI HAL function prototypes type definitions for adi_hal.c.
ad9528_platform_data::sysref_req_trigger_mode
uint8_t sysref_req_trigger_mode
Definition: ad9528.h:409
tx_jesd
struct axi_jesd204_tx * tx_jesd
Definition: app_jesd.c:50
AXI_ADC_REG_RSTN
#define AXI_ADC_REG_RSTN
Definition: axi_adc_core.h:45
xil_spi_param
struct xil_spi_init_param xil_spi_param
Definition: parameters.c:51
iio_axi_adc_desc
iio_axi_adc_descriptor
Definition: iio_axi_adc.h:53
adi_hal::spi_adrv_csn
uint8_t spi_adrv_csn
Definition: adi_hal.h:33
no_os_spi_init_param::device_id
uint32_t device_id
Definition: no_os_spi.h:142
RX_OS_CLKGEN_BASEADDR
#define RX_OS_CLKGEN_BASEADDR
Definition: parameters.h:122
SPI_CS_DECODE
#define SPI_CS_DECODE
Definition: xilinx_spi.h:47
TX_DMA_BASEADDR
#define TX_DMA_BASEADDR
Definition: parameters.h:94
ad9528_platform_data::sysref_k_div
uint16_t sysref_k_div
Definition: ad9528.h:405
RX_DMA_BASEADDR
#define RX_DMA_BASEADDR
Definition: parameters.h:64
SYSREF_PATTERN_NSHOT
#define SYSREF_PATTERN_NSHOT
Definition: ad9528.h:278
adi_hal::extra_spi
void * extra_spi
Definition: adi_hal.h:32
RX_OS_XCVR_BASEADDR
#define RX_OS_XCVR_BASEADDR
Definition: parameters.h:130
no_os_mdelay
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:126
iio_app_device::read_buff
struct iio_data_buffer * read_buff
Definition: iio_app.h:71
axi_dma_transfer
Definition: axi_dmac.h:102
ad9528_platform_data::vcxo_freq
uint32_t vcxo_freq
Definition: ad9528.h:356
no_os_min
#define no_os_min(x, y)
Definition: no_os_util.h:59
main
int main(void)
Definition: headless1.c:174
rx_dmac
struct axi_dmac * rx_dmac
Definition: main.c:171
jesd204_fsm_start
int jesd204_fsm_start(struct jesd204_topology *topology, unsigned int link_idx)
ad9528_platform_data::pll2_vco_div_m1
uint8_t pll2_vco_div_m1
Definition: ad9528.h:430
ad9528_platform_data::osc_in_cmos_neg_inp_en
uint8_t osc_in_cmos_neg_inp_en
Definition: ad9528.h:381
axi_adxcvr.h
Driver for the ADI AXI-ADXCVR Module.
iio.h
Header file of iio.
iio_axi_adc_init
int32_t iio_axi_adc_init(struct iio_axi_adc_desc **desc, struct iio_axi_adc_init_param *init)
Registers a iio_axi_adc_desc for reading/writing and parameterization of axi_adc device.
Definition: iio_axi_adc.c:476
no_os_error.h
Error codes definition.
NO_OS_DIV_ROUND_UP
#define NO_OS_DIV_ROUND_UP(x, y)
Definition: no_os_util.h:52
ad9528_platform_data::sysref_nshot_mode
uint8_t sysref_nshot_mode
Definition: ad9528.h:407
adrv9009_spi_settings_get
taliseSpiSettings_t * adrv9009_spi_settings_get(void)
Function for obtaining SPI settings.
Definition: headless1.c:152
ADIHAL_WARNING
@ ADIHAL_WARNING
Definition: adi_hal.h:49
tx_dmac
struct axi_dmac * tx_dmac
Definition: main.c:181
iio_app_device
Definition: iio_app.h:67
TX_XCVR_BASEADDR
#define TX_XCVR_BASEADDR
Definition: parameters.h:58
clkchip_gpio_init_param
const struct no_os_gpio_init_param clkchip_gpio_init_param
Definition: common_data.c:55
IRQ_DISABLED
@ IRQ_DISABLED
Definition: axi_dmac.h:79
rx_os_jesd
struct axi_jesd204_rx * rx_os_jesd
Definition: app_jesd.c:57
axi_dac_set_datasel
int32_t axi_dac_set_datasel(struct axi_dac *dac, int32_t chan, enum axi_dac_data_sel sel)
AXI DAC Set Data type for specific channel.
Definition: axi_dac_core.c:590
axi_dac_init::name
const char * name
Definition: axi_dac_core.h:70
ADIHAL_GEN_SW
@ ADIHAL_GEN_SW
Definition: adi_hal.h:48
JESD204_LINKS_ALL
#define JESD204_LINKS_ALL
Definition: jesd204.h:49
ADIHAL_sysrefReq
adiHalErr_t ADIHAL_sysrefReq(void *devHalInfo, sysrefReqMode_t mode)
Performs a SYSREF request to the clock generation device.
Definition: no_os_hal.c:144
ad9528_init_param::gpio_resetb
struct no_os_gpio_init_param * gpio_resetb
Definition: ad9528.h:501
clkchip_device
struct ad9528_dev * clkchip_device
Definition: app_clocking.c:82
ad9528_platform_data::pll1_feedback_src_vcxo
uint8_t pll1_feedback_src_vcxo
Definition: ad9528.h:391
iio_app_device::write_buff
struct iio_data_buffer * write_buff
Definition: iio_app.h:72
SPI_PL
@ SPI_PL
Definition: xilinx_spi.h:60
xil_gpio_param
struct xil_gpio_init_param xil_gpio_param
Definition: parameters.c:46
FIRMWARE
#define FIRMWARE
Definition: app_config.h:55
tx_clkgen
struct axi_clkgen * tx_clkgen
Definition: app_clocking.c:91
axi_dmac.h
Driver for the Analog Devices AXI-DMAC core.
DAC_DDR_BASEADDR
#define DAC_DDR_BASEADDR
Definition: parameters.h:41
iio_data_buffer
Definition: iio_app.h:62
ADIHAL_spiWriteField
adiHalErr_t ADIHAL_spiWriteField(void *devHalInfo, uint16_t addr, uint8_t fieldVal, uint8_t mask, uint8_t startBit)
Performs a write to the specified field in a SPI register.
Definition: no_os_hal.c:232
axi_adc_init::num_channels
uint8_t num_channels
Definition: axi_adc_core.h:149
iio_axi_dac_get_dev_descriptor
void iio_axi_dac_get_dev_descriptor(struct iio_axi_dac_desc *desc, struct iio_device **dev_descriptor)
Create structure describing a device, channels and attributes.
Definition: iio_axi_dac.c:646
ad9528_platform_data
platform specific information
Definition: ad9528.h:354
ADIHAL_LOG_SPI
@ ADIHAL_LOG_SPI
Definition: adi_hal.h:62
UART_IRQ_ID
#define UART_IRQ_ID
Definition: parameters.h:50
axi_jesd204_tx_status_read
uint32_t axi_jesd204_tx_status_read(struct axi_jesd204_tx *jesd)
Read status of the JESD204 Transmit Peripherial.
Definition: axi_jesd204_tx.c:170
ADIHAL_setLogLevel
adiHalErr_t ADIHAL_setLogLevel(void *devHalInfo, uint16_t halLogLevel)
Writes a character array to a log file to facilitate debugging.
Definition: no_os_hal.c:287
GPIO_DEVICE_ID
#define GPIO_DEVICE_ID
Definition: parameters.h:87
axi_dac_init
Definition: axi_dac_core.h:68
ad9528_dev::jdev
struct jesd204_dev * jdev
Definition: ad9528.h:492
iio_axi_adc.h
Header file of iio_axi_adc.
adxcvr_init
Definition: altera_adxcvr.h:102
UART_BAUDRATE
#define UART_BAUDRATE
Definition: parameters.h:53
axi_dma_transfer::dest_addr
uint32_t dest_addr
Definition: axi_dmac.h:107
TRX_A_RESETB_GPIO
#define TRX_A_RESETB_GPIO
Definition: parameters.h:176
ad9528_platform_data::rzero
uint8_t rzero
Definition: ad9528.h:438
CLK_RESETB_GPIO
#define CLK_RESETB_GPIO
Definition: parameters.h:178
no_os_spi_desc
Structure holding SPI descriptor.
Definition: no_os_spi.h:192
adxcvr_init::name
const char * name
Definition: altera_adxcvr.h:103
xilinx_gpio.h
talInit
taliseInit_t talInit
Definition: talise_config.c:82
iio_axi_dac_init_param::tx_dmac
struct axi_dmac * tx_dmac
Definition: iio_axi_dac.h:75
axi_dac
AXI DAC Device Descriptor.
Definition: axi_dac_core.h:53
rx_adc_init
struct axi_adc_init rx_adc_init
Definition: main.c:144
ADIHAL_LOG_WARN
@ ADIHAL_LOG_WARN
Definition: adi_hal.h:60
ADIHAL_LOG_MSG
@ ADIHAL_LOG_MSG
Definition: adi_hal.h:59
xil_uart_init_param
Structure holding the initialization parameters for Xilinx platform specific UART parameters.
Definition: xilinx_uart.h:67
ADIHAL_OK
@ ADIHAL_OK
Definition: adi_hal.h:43
ad9528_platform_data::sysref_pattern_mode
uint8_t sysref_pattern_mode
Definition: ad9528.h:403
ad9528_init_param::spi_init
struct no_os_spi_init_param spi_init
Definition: ad9528.h:499
xil_spi_init_param::type
enum xil_spi_type type
Definition: xilinx_spi.h:74
no_os_gpio_desc
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:96
dac_buffer_dma
uint32_t dac_buffer_dma[1024 *16]
Definition: headless1.c:38
iio_app_run
int iio_app_run(struct iio_app_desc *app)
iio_axi_dac_desc
Definition: iio_axi_dac.h:53
rx_adxcvr
struct adxcvr * rx_adxcvr
Definition: app_jesd.c:52
iio_axi_dac_init_param::tx_dac
struct axi_dac * tx_dac
Definition: iio_axi_dac.h:73
RX_XCVR_BASEADDR
#define RX_XCVR_BASEADDR
Definition: parameters.h:66
xil_spi_init_param
Structure holding the initialization parameters for Xilinx platform specific SPI parameters when usin...
Definition: xilinx_spi.h:72
iio_app_init
int iio_app_init(struct iio_app_desc **app, struct iio_app_init_param app_init_param)
ad9528_platform_data::cpole1
uint8_t cpole1
Definition: ad9528.h:440
ad9528_platform_data::pll2_n2_div
uint8_t pll2_n2_div
Definition: ad9528.h:428
TX_CORE_BASEADDR
#define TX_CORE_BASEADDR
Definition: parameters.h:93
ADIHAL_TIMER_FAIL
@ ADIHAL_TIMER_FAIL
Definition: adi_hal.h:46
ADIHAL_wait_us
adiHalErr_t ADIHAL_wait_us(void *devHalInfo, uint32_t time_us)
Delay or sleep for the specified number of microseconds.
Definition: no_os_hal.c:262
SOURCE_VCO
#define SOURCE_VCO
Definition: ad9528.h:258
adi_hal
Definition: adi_hal.h:27
ad9528_init_param::export_no_os_clk
bool export_no_os_clk
Definition: ad9528.h:504
axi_jesd204_tx
Definition: axi_jesd204_tx.h:70
ad9528_platform_data::refa_r_div
uint16_t refa_r_div
Definition: ad9528.h:385
rx_dmac_init
struct axi_dmac_init rx_dmac_init
Definition: main.c:162
axi_jesd204_tx::jdev
struct jesd204_dev * jdev
Definition: axi_jesd204_tx.h:92
adi_hal::gpio_adrv_resetb_num
uint8_t gpio_adrv_resetb_num
Definition: adi_hal.h:35
axi_jesd204_tx_init
int32_t axi_jesd204_tx_init(struct axi_jesd204_tx **jesd204, const struct jesd204_tx_init *init)
Device initialization.
Definition: axi_jesd204_tx.c:819
rx_os_clkgen
struct axi_clkgen * rx_os_clkgen
Definition: app_clocking.c:92
NO_OS_BIT
#define NO_OS_BIT(x)
Definition: no_os_util.h:45
NO
@ NO
Definition: axi_dmac.h:98
ADXCVR_SYS_CLK_CPLL
#define ADXCVR_SYS_CLK_CPLL
Definition: axi_adxcvr.h:48
ad9528_dev
Definition: ad9528.h:480
xil_uart_ops
const struct no_os_uart_platform_ops xil_uart_ops
Xilinx platform specific UART platform ops structure.
Definition: xilinx_uart.c:520
sine_lut_iq
const uint32_t sine_lut_iq[1024]
Definition: axi_dac_core.c:145
iio_axi_adc_init_param::rx_adc
struct axi_adc * rx_adc
Definition: iio_axi_adc.h:79
no_os_hweight8
unsigned int no_os_hweight8(uint8_t word)
AXI_ADC_MMCM_RSTN
#define AXI_ADC_MMCM_RSTN
Definition: axi_adc_core.h:46
axi_dmac_init
int32_t axi_dmac_init(struct axi_dmac **dmac_core, const struct axi_dmac_init *init)
Definition: axi_dmac.c:334
ad9528_channel_spec::divider_phase
uint8_t divider_phase
Definition: ad9528.h:343
RX_CORE_BASEADDR
#define RX_CORE_BASEADDR
Definition: parameters.h:63
tx_dmac_init
struct axi_dmac_init tx_dmac_init
Definition: main.c:172
ad9528_channel_spec::driver_mode
uint8_t driver_mode
Definition: ad9528.h:338
NULL
#define NULL
Definition: wrapper.h:64
no_os_uart_init_param
Structure holding the parameters for UART initialization.
Definition: no_os_uart.h:110
ad9528_platform_data::sysref_src
uint8_t sysref_src
Definition: ad9528.h:401
xil_spi_ops
const struct no_os_spi_platform_ops xil_spi_ops
Spi engine platform specific SPI platform ops structure.
Definition: xilinx_spi.c:453
ADIHAL_GPIO_FAIL
@ ADIHAL_GPIO_FAIL
Definition: adi_hal.h:45
adi_hal::gpio_adrv_sysref_req
struct no_os_gpio_desc * gpio_adrv_sysref_req
Definition: adi_hal.h:29
CLK_CS
#define CLK_CS
Definition: parameters.h:161
ADIHAL_writeToLog
adiHalErr_t ADIHAL_writeToLog(void *devHalInfo, adiLogLevel_t logLevel, uint32_t errorCode, const char *comment)
Writes a character array to a log file to facilitate debugging.
Definition: no_os_hal.c:269
SOURCE_SYSREF_VCO
#define SOURCE_SYSREF_VCO
Definition: ad9528.h:260
iio_device
Structure holding channels and attributes of a device.
Definition: iio_types.h:247
iio_axi_dac_init
int32_t iio_axi_dac_init(struct iio_axi_dac_desc **desc, struct iio_axi_dac_init_param *init)
Registers a iio_axi_dac_desc for reading/writing and parameterization of axi_dac device.
Definition: iio_axi_dac.c:659
axi_jesd204_rx
Definition: axi_jesd204_rx.h:57
NO_OS_UART_PAR_NO
@ NO_OS_UART_PAR_NO
Definition: no_os_uart.h:77
ad9528_platform_data::pll1_feedback_div
uint16_t pll1_feedback_div
Definition: ad9528.h:389
ad9528_init_param::pdata
struct ad9528_platform_data * pdata
Definition: ad9528.h:503
adrv9009_initial_settings_get
taliseInit_t * adrv9009_initial_settings_get(void)
Function for obtaining initial settings.
Definition: headless1.c:162
iio_axi_dac.h
Header file of iio_axi_dac.
adi_hal::extra_gpio
void * extra_gpio
Definition: adi_hal.h:34
no_os_uart_init_param::device_id
uint8_t device_id
Definition: no_os_uart.h:112
axi_jesd204_rx.h
Driver for the Analog Devices AXI-JESD204-RX peripheral.
ad9528_init
int32_t ad9528_init(struct ad9528_init_param *init_param)
Initializes the AD9528.
Definition: ad9528.c:299
RX_JESD_BASEADDR
#define RX_JESD_BASEADDR
Definition: parameters.h:65
tx_dac_init
struct axi_dac_init tx_dac_init
Definition: main.c:155
xil_gpio_init_param
Structure holding the initialization parameters for Xilinx platform specific GPIO parameters.
Definition: xilinx_gpio.h:64
ad9528_platform_data::stat0_pin_func_sel
uint8_t stat0_pin_func_sel
Definition: ad9528.h:451
rx_jesd
struct axi_jesd204_rx * rx_jesd
Definition: app_jesd.c:49
ADXCVR_SYS_CLK_QPLL0
#define ADXCVR_SYS_CLK_QPLL0
Definition: axi_adxcvr.h:50
ad9528_platform_data::refa_diff_rcv_en
uint8_t refa_diff_rcv_en
Definition: ad9528.h:366
STREAM
#define STREAM
Definition: app_config.h:58
SYSREF_CONT_ON
@ SYSREF_CONT_ON
Definition: adi_hal.h:68
ad9528_platform_data::channels
struct ad9528_channel_spec * channels
Definition: ad9528.h:448
ad9528_platform_data::stat1_pin_func_sel
uint8_t stat1_pin_func_sel
Definition: ad9528.h:453
ADIHAL_ERR
@ ADIHAL_ERR
Definition: adi_hal.h:50
adxcvr::clk_out
struct no_os_clk_desc * clk_out
Definition: axi_adxcvr.h:93
jesd204_rx_init
JESD204B/C Receive Peripheral Initialization Structure.
Definition: axi_jesd204_rx.h:88
ad9528_channel_spec::output_dis
uint8_t output_dis
Definition: ad9528.h:336
jesd204_tx_init::name
const char * name
Definition: axi_jesd204_tx.h:101
GPIO_PL
@ GPIO_PL
Definition: xilinx_gpio.h:54
axi_dmac_transfer_start
int32_t axi_dmac_transfer_start(struct axi_dmac *dmac, struct axi_dma_transfer *dma_transfer)
Definition: axi_dmac.c:385
UART_DEVICE_ID
#define UART_DEVICE_ID
Definition: parameters.h:52
axi_dac_load_custom_data
int32_t axi_dac_load_custom_data(struct axi_dac *dac, const uint32_t *custom_data_iq, uint32_t custom_tx_count, uint32_t address)
AXI DAC Load custom data.
Definition: axi_dac_core.c:1063
AXI_DAC_DATA_SEL_DMA
@ AXI_DAC_DATA_SEL_DMA
Definition: axi_dac_core.h:86
ADIHAL_LOG_ALL
@ ADIHAL_LOG_ALL
Definition: adi_hal.h:63
ADIHAL_SPI_FAIL
@ ADIHAL_SPI_FAIL
Definition: adi_hal.h:44
RX_OS_DMA_BASEADDR
#define RX_OS_DMA_BASEADDR
Definition: parameters.h:252
TX_JESD_BASEADDR
#define TX_JESD_BASEADDR
Definition: parameters.h:90
no_os_util.h
Header file of utility functions.
ADIHAL_openHw
adiHalErr_t ADIHAL_openHw(void *devHalInfo, uint32_t halTimeout_ms)
Performs a platform hardware initialization for the ADI Device.
Definition: no_os_hal.c:61
SYSREF_LEVEL_HIGH
#define SYSREF_LEVEL_HIGH
Definition: ad9528.h:293
iio_uart_ip
struct no_os_uart_init_param iio_uart_ip
Definition: common_data.c:46
ad9528_channel_spec::signal_source
uint8_t signal_source
Definition: ad9528.h:339
ad9528_platform_data::pll1_charge_pump_current_nA
uint16_t pll1_charge_pump_current_nA
Definition: ad9528.h:393
ad9528_platform_data::pll1_bypass_en
uint8_t pll1_bypass_en
Definition: ad9528.h:395
NO_OS_SPI_MODE_0
@ NO_OS_SPI_MODE_0
Definition: no_os_spi.h:61
xilinx_spi.h
no_os_spi_desc::mode
enum no_os_spi_mode mode
Definition: no_os_spi.h:202
iio_axi_adc_get_dev_descriptor
void iio_axi_adc_get_dev_descriptor(struct iio_axi_adc_desc *desc, struct iio_device **dev_descriptor)
Get device descriptor.
Definition: iio_axi_adc.c:463
ad9528_channel_spec::channel_num
uint8_t channel_num
Definition: ad9528.h:332
NO_OS_UART_CS_8
@ NO_OS_UART_CS_8
Definition: no_os_uart.h:66
iio_app_init_param::devices
struct iio_app_device * devices
Definition: iio_app.h:107
jesd204_tx_init
JESD204B/C Transmit Peripheral Initialization Structure.
Definition: axi_jesd204_tx.h:99
axi_dma_transfer::size
uint32_t size
Definition: axi_dmac.h:103
xil_gpio_init_param::type
enum xil_gpio_type type
Definition: xilinx_gpio.h:66
ad9528_dev::clk_desc
struct no_os_clk_desc ** clk_desc
Definition: ad9528.h:490
ad9528_setup
int32_t ad9528_setup(struct ad9528_dev **device, struct ad9528_init_param init_param)
Initializes the AD9528.
Definition: ad9528.c:702
axi_adc_init::name
const char * name
Definition: axi_adc_core.h:145
jesd204_rx_init::lane_clk
struct no_os_clk_desc * lane_clk
Definition: axi_jesd204_rx.h:104
ADIHAL_LOG_ERR
@ ADIHAL_LOG_ERR
Definition: adi_hal.h:61
iio_app_init_param::nb_devices
uint32_t nb_devices
Definition: iio_app.h:109
RZERO_1850_OHM
@ RZERO_1850_OHM
Definition: ad9523.h:350
axi_dmac
Definition: axi_dmac.h:110
jesd204_tx_init::lane_clk
struct no_os_clk_desc * lane_clk
Definition: axi_jesd204_tx.h:125
adxcvr_init
int32_t adxcvr_init(struct adxcvr **ad_xcvr, const struct adxcvr_init *init)
adxcvr_init
Definition: altera_adxcvr.c:438
no_os_spi_init_param
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:140
axi_jesd204_tx.h
Driver for the Analog Devices AXI-JESD204-TX peripheral.
TALISE_NUM_CHANNELS
#define TALISE_NUM_CHANNELS
Definition: app_talise.h:51
ADIHAL_spiReadField
adiHalErr_t ADIHAL_spiReadField(void *devHalInfo, uint16_t addr, uint8_t *fieldVal, uint8_t mask, uint8_t startBit)
Performs a read from a particular bit field in a SPI register.
Definition: no_os_hal.c:247
RX_OS_CORE_BASEADDR
#define RX_OS_CORE_BASEADDR
Definition: parameters.h:139
adiHalErr_t
adiHalErr_t
Enum of possible Errors Detected by HAL layer to be communicated to ADI APIs.
Definition: adi_hal.h:42