no-OS
app_jesd.h
Go to the documentation of this file.
1 /***************************************************************************/
39 #ifndef APP_JESD_H_
40 #define APP_JESD_H_
41 
42 /******************************************************************************/
43 /***************************** Include Files **********************************/
44 /******************************************************************************/
45 #include <stdint.h>
46 #include "no_os_clk.h"
47 #include "jesd204_clk.h"
48 #include "axi_jesd204_rx.h"
49 
54 struct app_jesd_init {
55  /* Uscase number */
56  uint8_t uc;
57  /* Lane rate */
58  uint32_t lane_rate_khz;
59 };
60 
65 struct app_jesd {
66  /* rx_jesd */
68  /* rx_adxcvr */
69  struct adxcvr *rx_adxcvr;
70  /* rx_jesd_clk */
72  /* jesd_rx_hw */
74  /* jesd_rx_clk */
76 };
77 
78 /******************************************************************************/
79 /************************ Functions Declarations ******************************/
80 /******************************************************************************/
81 
82 /* @brief Application JESD initialization. */
83 int32_t app_jesd_init(struct app_jesd **app, struct app_jesd_init *init_param);
84 
85 /* @brief Application JESD remove. */
86 int32_t app_jesd_remove(struct app_jesd *app);
87 
88 /* @brief Application JESD get status. */
89 uint32_t app_jesd_status(struct app_jesd *app);
90 
91 #endif
app_jesd
Structure holding jesd app descriptor.
Definition: app_jesd.h:65
app_jesd::rx_adxcvr
struct adxcvr * rx_adxcvr
Definition: app_jesd.h:69
no_os_clk_hw
Definition: no_os_clk.h:50
adxcvr
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure.
Definition: altera_adxcvr.h:95
no_os_clk
Definition: no_os_clk.h:59
app_jesd_remove
int32_t app_jesd_remove(struct app_jesd *app)
Free the resources allocated by app_jesd_init().
Definition: app_jesd.c:143
no_os_clk.h
Header file of Clock Driver.
jesd204_clk.h
Analog Devices JESD204 clock.
app_jesd::jesd_rx_hw
struct no_os_clk_hw jesd_rx_hw
Definition: app_jesd.h:73
app_jesd_init
Structure holding the parameters for app jesd initialization.
Definition: app_jesd.h:54
app_jesd_init::uc
uint8_t uc
Definition: app_jesd.h:56
app_jesd_init
int32_t app_jesd_init(struct no_os_clk clk[2], uint32_t reference_clk_khz, uint32_t rx_device_clk_khz, uint32_t tx_device_clk_khz, uint32_t rx_lane_clk_khz, uint32_t tx_lane_clk_khz)
Application JESD setup.
Definition: app_jesd.c:76
app_jesd::rx_jesd_clk
struct jesd204_clk rx_jesd_clk
Definition: app_jesd.h:71
app_jesd_status
uint32_t app_jesd_status(struct app_jesd *app)
Definition: app_jesd.c:133
app_jesd_init::lane_rate_khz
uint32_t lane_rate_khz
Definition: app_jesd.h:58
app_jesd::jesd_rx_clk
struct no_os_clk jesd_rx_clk
Definition: app_jesd.h:75
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:96
axi_jesd204_rx
Definition: axi_jesd204_rx.h:69
axi_jesd204_rx.h
Driver for the Analog Devices AXI-JESD204-RX peripheral.
jesd204_clk
Definition: jesd204_clk.h:53
app_jesd::rx_jesd
struct axi_jesd204_rx * rx_jesd
Definition: app_jesd.h:67