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 
52 };
53 
54 /******************************************************************************/
55 /************************ Functions Declarations ******************************/
56 /******************************************************************************/
57 
58 /* @brief Application JESD initialization. */
59 int32_t app_jesd_init(struct no_os_clk clk[2],
60  uint32_t reference_clk_khz,
61  uint32_t rx_device_clk_khz,
62  uint32_t tx_device_clk_khz,
63  uint32_t rx_lane_clk_khz,
64  uint32_t tx_lane_clk_khz);
65 
66 #endif
RX_OS_JESD_BASEADDR
#define RX_OS_JESD_BASEADDR
Definition: parameters.h:132
AD9081_TX_JESD_M
#define AD9081_TX_JESD_M
Definition: app_config.h:61
jesd204_clk_disable
int32_t jesd204_clk_disable(struct jesd204_clk *clk)
Definition: jesd204_clk.c:85
app_jesd
Structure holding jesd app descriptor.
Definition: app_jesd.h:65
jesd_deinit
void jesd_deinit(void)
Definition: app_jesd.c:145
app_jesd::rx_adxcvr
struct adxcvr * rx_adxcvr
Definition: app_jesd.h:69
jesd_clocks
jesd_clocks
Definition: app_jesd.h:48
no_os_clk::hw
struct no_os_clk_hw * hw
Definition: no_os_clk.h:60
app_config.h
Application configuration.
jesd_rx_watchdog
void jesd_rx_watchdog(void)
Definition: app_jesd.c:167
no_os_clk_hw
Definition: no_os_clk.h:50
tx_adxcvr
struct adxcvr * tx_adxcvr
Definition: app_jesd.c:60
jesd204_clk::xcvr
struct adxcvr * xcvr
Definition: jesd204_clk.h:54
parameters.h
Parameters Definitions.
adxcvr
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure.
Definition: altera_adxcvr.h:95
app_jesd.h
JESD setup and initialization routines.
parameters.h
Application parameters.
pr_err
#define pr_err(fmt, args...)
Definition: no_os_print_log.h:80
tx_jesd
struct axi_jesd204_tx * tx_jesd
Definition: app_jesd.c:57
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:208
uc_settings
Definition: uc_settings.h:47
jesd204_clk_set_rate
int32_t jesd204_clk_set_rate(struct jesd204_clk *clk, uint32_t chan, uint32_t rate)
Definition: jesd204_clk.c:117
no_os_clk
Definition: no_os_clk.h:59
AD9081_TX_JESD_HD
#define AD9081_TX_JESD_HD
Definition: app_config.h:69
no_os_print_log.h
Print messages helpers.
axi_jesd204_rx_init
int32_t axi_jesd204_rx_init(struct axi_jesd204_rx **jesd204, const struct jesd204_rx_init *init)
Device initialization.
Definition: axi_jesd204_rx.c:559
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:634
jesd204_rx_init::name
const char * name
Definition: axi_jesd204_rx.h:98
no_os_clk::name
const char * name
Definition: no_os_clk.h:62
uc_settings::clk_hz
uint64_t(* clk_hz)[3]
Definition: uc_settings.h:49
adi_hal.h
Contains Talise ADI HAL function prototypes type definitions for adi_hal.c.
no_os_clk.h
Header file of Clock Driver.
get_uc_settings
struct uc_settings * get_uc_settings()
Get use case settings.
Definition: uc_settings.c:196
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:468
jesd_tx_hw
struct no_os_clk_hw jesd_tx_hw
Definition: app_jesd.c:66
uc_settings.h
Use Case Settings of AD9083 project.
jesd204_clk.h
Analog Devices JESD204 clock.
clk_hz
uint64_t clk_hz[][3]
Definition: uc_settings.c:22
app_jesd::jesd_rx_hw
struct no_os_clk_hw jesd_rx_hw
Definition: app_jesd.h:73
TX_XCVR_BASEADDR
#define TX_XCVR_BASEADDR
Definition: parameters.h:64
JESD_TX
@ JESD_TX
Definition: app_jesd.h:50
rx_os_jesd
struct axi_jesd204_rx * rx_os_jesd
Definition: app_jesd.c:63
MULTIDEVICE_INSTANCE_COUNT
#define MULTIDEVICE_INSTANCE_COUNT
Definition: app_config.h:45
app_jesd_init
Structure holding the parameters for app jesd initialization.
Definition: app_jesd.h:54
JESD_RX
@ JESD_RX
Definition: app_jesd.h:49
jesd_rx_hw
struct no_os_clk_hw jesd_rx_hw
Definition: app_jesd.c:65
AD9081_RX_JESD_K
#define AD9081_RX_JESD_K
Definition: app_config.h:91
jesd204_clk::jesd_rx
struct axi_jesd204_rx * jesd_rx
Definition: jesd204_clk.h:55
AD9081_TX_JESD_CS
#define AD9081_TX_JESD_CS
Definition: app_config.h:66
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
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:165
no_os_clk_hw::dev
void * dev
Definition: no_os_clk.h:51
adxcvr_init
Definition: altera_adxcvr.h:108
app_jesd.h
Application JESD initialization.
adxcvr_init::name
const char * name
Definition: altera_adxcvr.h:109
AD9081_TX_JESD_SUBCLASS
#define AD9081_TX_JESD_SUBCLASS
Definition: app_config.h:59
AD9081_TX_JESD_NP
#define AD9081_TX_JESD_NP
Definition: app_config.h:65
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
ADIHAL_OK
@ ADIHAL_OK
Definition: adi_hal.h:36
no_os_clk_hw::dev_clk_enable
int32_t(* dev_clk_enable)()
Definition: no_os_clk.h:52
jtx_param
adi_cms_jesd_param_t jtx_param[]
Definition: uc_settings.c:163
jesd204_clk_enable
int32_t jesd204_clk_enable(struct jesd204_clk *clk)
Definition: jesd204_clk.c:55
jesd_status
void jesd_status(void)
Definition: app_jesd.c:156
rx_adxcvr
struct adxcvr * rx_adxcvr
Definition: app_jesd.c:59
no_os_clk_hw::dev_clk_disable
int32_t(* dev_clk_disable)()
Definition: no_os_clk.h:53
app_jesd.h
Application JESD initialization.
RX_XCVR_BASEADDR
#define RX_XCVR_BASEADDR
Definition: parameters.h:71
AD9081_TX_JESD_K
#define AD9081_TX_JESD_K
Definition: app_config.h:63
uc_settings::jtx_param
adi_cms_jesd_param_t * jtx_param
Definition: uc_settings.h:71
AD9081_TX_JESD_N
#define AD9081_TX_JESD_N
Definition: app_config.h:64
NUM_JESD_CLKS
@ NUM_JESD_CLKS
Definition: app_jesd.h:51
axi_jesd204_tx
Definition: axi_jesd204_tx.h:82
axi_jesd204_rx_watchdog
int32_t axi_jesd204_rx_watchdog(struct axi_jesd204_rx *jesd)
JESD204 RX Watchdog.
Definition: axi_jesd204_rx.c:475
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:379
rx_jesd
struct axi_jesd204_rx * rx_jesd
Definition: app_jesd.c:56
NULL
#define NULL
Definition: wrapper.h:64
rx_jesd_clk
struct jesd204_clk rx_jesd_clk
Definition: app_jesd.c:62
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
tx_jesd_clk
struct jesd204_clk tx_jesd_clk
Definition: app_jesd.c:63
no_os_clk_hw::clk
struct no_os_clk * clk
Definition: common.h:63
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
no_os_clk_hw::dev_clk_set_rate
int32_t(* dev_clk_set_rate)()
Definition: no_os_clk.h:55
axi_jesd204_rx.h
Driver for the Analog Devices AXI-JESD204-RX peripheral.
RX_JESD_BASEADDR
#define RX_JESD_BASEADDR
Definition: parameters.h:70
app_jesd_status
uint32_t app_jesd_status(struct app_jesd *app)
Definition: app_jesd.c:133
adxcvr_remove
int32_t adxcvr_remove(struct adxcvr *xcvr)
adxcvr_remove
Definition: altera_adxcvr.c:494
jesd204_clk
Definition: jesd204_clk.h:53
ADIHAL_ERR
@ ADIHAL_ERR
Definition: adi_hal.h:43
app_jesd::rx_jesd
struct axi_jesd204_rx * rx_jesd
Definition: app_jesd.h:67
jesd204_rx_init
JESD204B/C Receive Peripheral Initialization Structure.
Definition: axi_jesd204_rx.h:96
jesd204_tx_init::name
const char * name
Definition: axi_jesd204_tx.h:109
jesd204_clk::jesd_tx
struct axi_jesd204_tx * jesd_tx
Definition: jesd204_clk.h:56
jesd_init
adiHalErr_t jesd_init(uint32_t rx_div40_rate_hz, uint32_t tx_div40_rate_hz, uint32_t rx_os_div40_rate_hz)
Definition: app_jesd.c:65
TX_JESD_BASEADDR
#define TX_JESD_BASEADDR
Definition: parameters.h:95
no_os_util.h
Implementation of utility functions.
jesd204_tx_init
JESD204B/C Transmit Peripheral Initialization Structure.
Definition: axi_jesd204_tx.h:107
AD9081_RX_JESD_SUBCLASS
#define AD9081_RX_JESD_SUBCLASS
Definition: app_config.h:87
AD9081_RX_JESD_F
#define AD9081_RX_JESD_F
Definition: app_config.h:90
AD9081_TX_JESD_F
#define AD9081_TX_JESD_F
Definition: app_config.h:62
adxcvr_init
int32_t adxcvr_init(struct adxcvr **ad_xcvr, const struct adxcvr_init *init)
adxcvr_init
Definition: altera_adxcvr.c:443
axi_jesd204_tx.h
Driver for the Analog Devices AXI-JESD204-TX peripheral.
adiHalErr_t
adiHalErr_t
Enum of possible Errors Detected by HAL layer to be communicated to ADI APIs.
Definition: adi_hal.h:35