no-OS
dma_example.h
Go to the documentation of this file.
1 /***************************************************************************/
33 #ifndef __DMA_EXAMPLE_H__
34 #define __DMA_EXAMPLE_H__
35 
36 /******************************************************************************/
37 /***************************** Include Files **********************************/
38 /******************************************************************************/
39 
40 /******************************************************************************/
41 /************************ Functions Declarations ******************************/
42 /******************************************************************************/
43 int dma_example_main();
44 
45 #endif /* __DMA_EXAMPLE_H__ */
SYSREF_SRC_INTERNAL
#define SYSREF_SRC_INTERNAL
Definition: ad9528.h:275
axi_adc_core.h
Driver for the Analog Devices AXI-ADC-CORE module.
ad9528_channel_spec::channel_divider
uint16_t channel_divider
Definition: ad9528.h:345
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
dma_example_main
int dma_example_main()
DMA example main execution.
Definition: dma_example.c:77
axi_dmac_init
Definition: axi_dmac.h:127
ADRV9025_RX_JESD_SUBCLASS
#define ADRV9025_RX_JESD_SUBCLASS
Definition: app_config.h:61
no_os_spi.h
Header file of SPI Interface.
tx_adxcvr
struct adxcvr * tx_adxcvr
Definition: app_jesd.c:53
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
ad9528_spi_param
const struct no_os_spi_init_param ad9528_spi_param
Definition: common_data.c:45
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
ad9528_platform_data::pll2_bypass_en
bool pll2_bypass_en
Definition: ad9528.h:432
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
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
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
axi_dma_transfer::transfer_done
volatile bool transfer_done
Definition: axi_dmac.h:104
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
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
ad9528_platform_data::pll2_r1_div
uint8_t pll2_r1_div
Definition: ad9528.h:426
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
ad9528_platform_data::spi3wire
uint8_t spi3wire
Definition: ad9528.h:358
ADRV9025_TX_JESD_BITS_PER_SAMPLE
#define ADRV9025_TX_JESD_BITS_PER_SAMPLE
Definition: app_config.h:54
ad9528_init_param
Definition: ad9528.h:497
no_os_print_log.h
Print messages helpers.
ad9528_platform_data::rpole2
uint8_t rpole2
Definition: ad9528.h:436
axi_dac_core.h
Driver for the Analog Devices AXI-DAC-CORE module.
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
axi_jesd204_rx_remove
int32_t axi_jesd204_rx_remove(struct axi_jesd204_rx *jesd)
Free resoulces allocated for JESD204 RX peripheral.
Definition: axi_jesd204_rx.c:990
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
dma_example.h
DMA example header for the adrv902x project.
ad9528_platform_data::sysref_req_en
bool sysref_req_en
Definition: ad9528.h:411
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
ADRV9025_TX_JESD_HIGH_DENSITY
#define ADRV9025_TX_JESD_HIGH_DENSITY
Definition: app_config.h:55
axi_dmac_remove
int32_t axi_dmac_remove(struct axi_dmac *dmac)
Definition: axi_dmac.c:367
TX_DMA_BASEADDR
#define TX_DMA_BASEADDR
Definition: parameters.h:91
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
no_os_mdelay
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:126
axi_dma_transfer
Definition: axi_dmac.h:102
ad9528_platform_data::vcxo_freq
uint32_t vcxo_freq
Definition: ad9528.h:356
dac_buffer_dma
uint32_t dac_buffer_dma[DAC_BUFFER_SAMPLES]
Definition: dma_example.c:65
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
axi_adxcvr.h
Driver for the ADI AXI-ADXCVR Module.
no_os_error.h
Error codes definition.
axi_jesd204_tx_remove
int32_t axi_jesd204_tx_remove(struct axi_jesd204_tx *jesd)
Free resoulces allocated for JESD204 TX peripheral.
Definition: axi_jesd204_tx.c:912
ad9528_platform_data::sysref_nshot_mode
uint8_t sysref_nshot_mode
Definition: ad9528.h:407
ADRV9025_RX_JESD_FRAMES_PER_MULTIFRAME
#define ADRV9025_RX_JESD_FRAMES_PER_MULTIFRAME
Definition: app_config.h:60
tx_dmac
struct axi_dmac * tx_dmac
Definition: main.c:181
TX_XCVR_BASEADDR
#define TX_XCVR_BASEADDR
Definition: parameters.h:58
ADRV9025_TX_JESD_SUBCLASS
#define ADRV9025_TX_JESD_SUBCLASS
Definition: app_config.h:57
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
ad9528_platform_data::refb_diff_rcv_en
uint8_t refb_diff_rcv_en
Definition: ad9528.h:368
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
ad9528_platform_data::pll2_ndiv_a_cnt
uint8_t pll2_ndiv_a_cnt
Definition: ad9528.h:420
axi_dac_init::name
const char * name
Definition: axi_dac_core.h:70
JESD204_LINKS_ALL
#define JESD204_LINKS_ALL
Definition: jesd204.h:49
ad9528_init_param::gpio_resetb
struct no_os_gpio_init_param * gpio_resetb
Definition: ad9528.h:501
ADRV9025_STREAM_IMAGE_FILE
#define ADRV9025_STREAM_IMAGE_FILE
Definition: app_config.h:63
ADRV9025_RX_JESD_OCTETS_PER_FRAME
#define ADRV9025_RX_JESD_OCTETS_PER_FRAME
Definition: app_config.h:59
axi_dmac.h
Driver for the Analog Devices AXI-DMAC core.
axi_adc_init::num_channels
uint8_t num_channels
Definition: axi_adc_core.h:149
ad9528_platform_data::osc_in_diff_en
uint8_t osc_in_diff_en
Definition: ad9528.h:370
ADRV9025_TX_JESD_CONVS_PER_DEVICE
#define ADRV9025_TX_JESD_CONVS_PER_DEVICE
Definition: app_config.h:52
axi_dma_transfer::src_addr
uint32_t src_addr
Definition: axi_dmac.h:106
ad9528_platform_data
platform specific information
Definition: ad9528.h:354
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
axi_dac_init
Definition: axi_dac_core.h:68
ad9528_dev::jdev
struct jesd204_dev * jdev
Definition: ad9528.h:492
ADRV9025_DEVICE_CLK_KHZ
#define ADRV9025_DEVICE_CLK_KHZ
Definition: app_config.h:47
adxcvr_init
Definition: altera_adxcvr.h:102
axi_dma_transfer::dest_addr
uint32_t dest_addr
Definition: axi_dmac.h:107
ad9528_platform_data::rzero
uint8_t rzero
Definition: ad9528.h:438
adxcvr_init::name
const char * name
Definition: altera_adxcvr.h:103
ad9528_platform_data::ref_mode
uint8_t ref_mode
Definition: ad9528.h:399
xilinx_gpio.h
axi_dac_init::num_channels
uint8_t num_channels
Definition: axi_dac_core.h:74
rx_adc_init
struct axi_adc_init rx_adc_init
Definition: main.c:144
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
REF_MODE_EXT_REF
#define REF_MODE_EXT_REF
Definition: ad9528.h:270
axi_dma_transfer::cyclic
enum cyclic_transfer cyclic
Definition: axi_dmac.h:105
rx_adxcvr
struct adxcvr * rx_adxcvr
Definition: app_jesd.c:52
ADC_CHANNELS
#define ADC_CHANNELS
Definition: iio_timer_trigger_example.h:41
RX_XCVR_BASEADDR
#define RX_XCVR_BASEADDR
Definition: parameters.h:66
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:90
ad9528_device
struct ad9528_dev * ad9528_device
SOURCE_VCO
#define SOURCE_VCO
Definition: ad9528.h:258
ADC_BUFFER_SAMPLES
#define ADC_BUFFER_SAMPLES
Definition: parameters.h:161
ad9528_init_param::export_no_os_clk
bool export_no_os_clk
Definition: ad9528.h:504
ad9528_platform_data::jdev_desired_sysref_freq
uint32_t jdev_desired_sysref_freq
Definition: ad9528.h:414
axi_jesd204_tx
Definition: axi_jesd204_tx.h:70
dma_example_main
int dma_example_main(void)
DMA example main execution.
Definition: dma_example.c:77
ADRV9025_TX_JESD_CTRL_BITS_PER_SAMPLE
#define ADRV9025_TX_JESD_CTRL_BITS_PER_SAMPLE
Definition: app_config.h:56
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
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
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
ad9528_remove
int32_t ad9528_remove(struct ad9528_dev *dev)
Free the resources allocated by ad9528_setup().
Definition: ad9528.c:1123
sine_lut_iq
const uint32_t sine_lut_iq[1024]
Definition: axi_dac_core.c:145
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
SYSREF_NSHOT_8_PULSES
#define SYSREF_NSHOT_8_PULSES
Definition: ad9528.h:289
RX_CORE_BASEADDR
#define RX_CORE_BASEADDR
Definition: parameters.h:63
CYCLIC
@ CYCLIC
Definition: axi_dmac.h:99
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
ad9528_platform_data::sysref_src
uint8_t sysref_src
Definition: ad9528.h:401
adc_buffer_dma
uint16_t adc_buffer_dma[ADC_BUFFER_SAMPLES *ADC_CHANNELS]
Definition: dma_example.c:67
SOURCE_SYSREF_VCO
#define SOURCE_SYSREF_VCO
Definition: ad9528.h:260
axi_jesd204_rx
Definition: axi_jesd204_rx.h:57
ad9528_platform_data::pll1_feedback_div
uint16_t pll1_feedback_div
Definition: ad9528.h:389
axi_adc_remove
int32_t axi_adc_remove(struct axi_adc *adc)
AXI ADC Resources deallocation.
Definition: axi_adc_core.c:681
ad9528_init_param::pdata
struct ad9528_platform_data * pdata
Definition: ad9528.h:503
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
ad9528_platform_data::pll2_ndiv_b_cnt
uint8_t pll2_ndiv_b_cnt
Definition: ad9528.h:422
tx_dac_init
struct axi_dac_init tx_dac_init
Definition: main.c:155
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
ADRV9025_LANE_RATE_KHZ
#define ADRV9025_LANE_RATE_KHZ
Definition: app_config.h:48
ad9528_platform_data::channels
struct ad9528_channel_spec * channels
Definition: ad9528.h:448
adxcvr_remove
int32_t adxcvr_remove(struct adxcvr *xcvr)
adxcvr_remove
Definition: altera_adxcvr.c:489
axi_dac_remove
int32_t axi_dac_remove(struct axi_dac *dac)
AXI DAC Resources deallocation.
Definition: axi_dac_core.c:1238
ad9528_platform_data::stat1_pin_func_sel
uint8_t stat1_pin_func_sel
Definition: ad9528.h:453
ADRV9025_TX_JESD_CONV_RESOLUTION
#define ADRV9025_TX_JESD_CONV_RESOLUTION
Definition: app_config.h:53
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
ADRV9025_TX_JESD_OCTETS_PER_FRAME
#define ADRV9025_TX_JESD_OCTETS_PER_FRAME
Definition: app_config.h:50
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
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
TX_JESD_BASEADDR
#define TX_JESD_BASEADDR
Definition: parameters.h:90
no_os_util.h
Header file of utility functions.
DAC_BUFFER_SAMPLES
#define DAC_BUFFER_SAMPLES
Definition: parameters.h:160
SYSREF_LEVEL_HIGH
#define SYSREF_LEVEL_HIGH
Definition: ad9528.h:293
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
ADRV9025_TX_JESD_FRAMES_PER_MULTIFRAME
#define ADRV9025_TX_JESD_FRAMES_PER_MULTIFRAME
Definition: app_config.h:51
xilinx_spi.h
ad9528_channel_spec::channel_num
uint8_t channel_num
Definition: ad9528.h:332
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
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
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
axi_jesd204_tx.h
Driver for the Analog Devices AXI-JESD204-TX peripheral.