no-OS
app_jesd.h
Go to the documentation of this file.
1 /***************************************************************************/
33 #ifndef APP_JESD_H_
34 #define APP_JESD_H_
35 
36 /******************************************************************************/
37 /***************************** Include Files **********************************/
38 /******************************************************************************/
39 #include <stdint.h>
40 #include "no_os_clk.h"
41 #include "jesd204_clk.h"
42 #include "axi_jesd204_rx.h"
43 
48 struct app_jesd_init {
49  /* Uscase number */
50  uint8_t uc;
51  /* Lane rate */
52  uint32_t lane_rate_khz;
53 };
54 
59 struct app_jesd {
60  /* rx_jesd */
62  /* rx_adxcvr */
63  struct adxcvr *rx_adxcvr;
64  /* rx_jesd_clk */
66  /* jesd_rx_hw */
68  /* jesd_rx_clk */
70 };
71 
72 /******************************************************************************/
73 /************************ Functions Declarations ******************************/
74 /******************************************************************************/
75 
76 /* @brief Application JESD initialization. */
77 int32_t app_jesd_init(struct app_jesd **app, struct app_jesd_init *init_param);
78 
79 /* @brief Application JESD remove. */
80 int32_t app_jesd_remove(struct app_jesd *app);
81 
82 /* @brief Application JESD get status. */
83 uint32_t app_jesd_status(struct app_jesd *app);
84 
85 #endif
app_jesd
Structure holding jesd app descriptor.
Definition: app_jesd.h:59
app_jesd::rx_adxcvr
struct adxcvr * rx_adxcvr
Definition: app_jesd.h:63
no_os_clk_hw
Definition: no_os_clk.h:55
adxcvr
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure.
Definition: altera_adxcvr.h:89
no_os_clk
Definition: no_os_clk.h:64
app_jesd_remove
int32_t app_jesd_remove(struct app_jesd *app)
Free the resources allocated by app_jesd_init().
Definition: app_jesd.c:137
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:67
app_jesd_init
Structure holding the parameters for app jesd initialization.
Definition: app_jesd.h:48
app_jesd_init::uc
uint8_t uc
Definition: app_jesd.h:50
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:63
app_jesd::rx_jesd_clk
struct jesd204_clk rx_jesd_clk
Definition: app_jesd.h:65
app_jesd_status
uint32_t app_jesd_status(struct app_jesd *app)
Definition: app_jesd.c:127
app_jesd_init::lane_rate_khz
uint32_t lane_rate_khz
Definition: app_jesd.h:52
app_jesd::jesd_rx_clk
struct no_os_clk jesd_rx_clk
Definition: app_jesd.h:69
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:113
axi_jesd204_rx
Definition: axi_jesd204_rx.h:57
axi_jesd204_rx.h
Driver for the Analog Devices AXI-JESD204-RX peripheral.
jesd204_clk
Definition: jesd204_clk.h:47
app_jesd::rx_jesd
struct axi_jesd204_rx * rx_jesd
Definition: app_jesd.h:61