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 
46 };
47 
48 /******************************************************************************/
49 /************************ Functions Declarations ******************************/
50 /******************************************************************************/
51 
52 /* @brief Application JESD initialization. */
53 int32_t app_jesd_init(struct no_os_clk clk[2],
54  uint32_t reference_clk_khz,
55  uint32_t rx_device_clk_khz,
56  uint32_t tx_device_clk_khz,
57  uint32_t rx_lane_clk_khz,
58  uint32_t tx_lane_clk_khz);
59 
60 #endif
RX_OS_JESD_BASEADDR
#define RX_OS_JESD_BASEADDR
Definition: parameters.h:126
no_os_alloc.h
AD9081_TX_JESD_M
#define AD9081_TX_JESD_M
Definition: app_config.h:55
jesd204_clk_disable
int32_t jesd204_clk_disable(struct jesd204_clk *clk)
Definition: jesd204_clk.c:81
app_jesd
Structure holding jesd app descriptor.
Definition: app_jesd.h:59
jesd_deinit
void jesd_deinit(void)
Definition: app_jesd.c:140
app_jesd::rx_adxcvr
struct adxcvr * rx_adxcvr
Definition: app_jesd.h:63
axi_jesd204_rx_init_legacy
int32_t axi_jesd204_rx_init_legacy(struct axi_jesd204_rx **jesd204, const struct jesd204_rx_init *init)
Device initialization.
Definition: axi_jesd204_rx.c:835
jesd_clocks
jesd_clocks
Definition: app_jesd.h:42
no_os_clk::hw
struct no_os_clk_hw * hw
Definition: no_os_clk.h:65
app_config.h
Application configuration.
jesd_rx_watchdog
void jesd_rx_watchdog(void)
Definition: app_jesd.c:162
tx_adxcvr
struct adxcvr * tx_adxcvr
Definition: app_jesd.c:53
jesd204_clk::xcvr
struct adxcvr * xcvr
Definition: jesd204_clk.h:48
parameters.h
Parameters Definitions.
adxcvr
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure.
Definition: altera_adxcvr.h:89
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:88
tx_jesd
struct axi_jesd204_tx * tx_jesd
Definition: app_jesd.c:50
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
uc_settings
Definition: uc_settings.h:41
jesd204_clk_set_rate
int32_t jesd204_clk_set_rate(struct jesd204_clk *clk, uint32_t chan, uint32_t rate)
Definition: jesd204_clk.c:113
no_os_clk
Definition: no_os_clk.h:64
AD9081_TX_JESD_HD
#define AD9081_TX_JESD_HD
Definition: app_config.h:63
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, JESD FSM ON.
Definition: axi_jesd204_rx.c:911
no_os_calloc
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:54
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
no_os_clk::name
const char * name
Definition: no_os_clk.h:67
uc_settings::clk_hz
uint64_t(* clk_hz)[3]
Definition: uc_settings.h:43
no_os_clk::clk_desc
const struct no_os_clk_desc * clk_desc
Definition: no_os_clk.h:68
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.
axi_jesd204_tx::lane_clk
struct no_os_clk_desc * lane_clk
Definition: axi_jesd204_tx.h:90
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
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:67
TX_XCVR_BASEADDR
#define TX_XCVR_BASEADDR
Definition: parameters.h:58
JESD_TX
@ JESD_TX
Definition: app_jesd.h:44
rx_os_jesd
struct axi_jesd204_rx * rx_os_jesd
Definition: app_jesd.c:57
MULTIDEVICE_INSTANCE_COUNT
#define MULTIDEVICE_INSTANCE_COUNT
Definition: app_config.h:39
app_jesd_init
Structure holding the parameters for app jesd initialization.
Definition: app_jesd.h:48
JESD_RX
@ JESD_RX
Definition: app_jesd.h:43
AD9081_RX_JESD_K
#define AD9081_RX_JESD_K
Definition: app_config.h:87
jesd204_clk::jesd_rx
struct axi_jesd204_rx * jesd_rx
Definition: jesd204_clk.h:49
AD9081_TX_JESD_CS
#define AD9081_TX_JESD_CS
Definition: app_config.h:60
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
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
no_os_clk_hw::dev
void * dev
Definition: no_os_clk.h:56
adxcvr_init
Definition: altera_adxcvr.h:102
app_jesd.h
Application JESD initialization.
adxcvr_init::name
const char * name
Definition: altera_adxcvr.h:103
AD9081_TX_JESD_SUBCLASS
#define AD9081_TX_JESD_SUBCLASS
Definition: app_config.h:53
AD9081_TX_JESD_NP
#define AD9081_TX_JESD_NP
Definition: app_config.h:59
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
ADIHAL_OK
@ ADIHAL_OK
Definition: adi_hal.h:43
no_os_clk_hw::dev_clk_enable
int32_t(* dev_clk_enable)()
Definition: no_os_clk.h:57
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:51
jesd_status
void jesd_status(void)
Definition: app_jesd.c:151
rx_adxcvr
struct adxcvr * rx_adxcvr
Definition: app_jesd.c:52
no_os_clk_hw::dev_clk_disable
int32_t(* dev_clk_disable)()
Definition: no_os_clk.h:58
app_jesd.h
Application JESD initialization.
RX_XCVR_BASEADDR
#define RX_XCVR_BASEADDR
Definition: parameters.h:66
AD9081_TX_JESD_K
#define AD9081_TX_JESD_K
Definition: app_config.h:57
uc_settings::jtx_param
adi_cms_jesd_param_t * jtx_param
Definition: uc_settings.h:65
AD9081_TX_JESD_N
#define AD9081_TX_JESD_N
Definition: app_config.h:58
NUM_JESD_CLKS
@ NUM_JESD_CLKS
Definition: app_jesd.h:45
axi_jesd204_tx
Definition: axi_jesd204_tx.h:70
axi_jesd204_rx_watchdog
int32_t axi_jesd204_rx_watchdog(struct axi_jesd204_rx *jesd)
JESD204 RX Watchdog.
Definition: axi_jesd204_rx.c:479
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_free
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:69
ADXCVR_SYS_CLK_CPLL
#define ADXCVR_SYS_CLK_CPLL
Definition: axi_adxcvr.h:48
axi_jesd204_tx_init_legacy
int32_t axi_jesd204_tx_init_legacy(struct axi_jesd204_tx **jesd204, const struct jesd204_tx_init *init)
Device initialization.
Definition: axi_jesd204_tx.c:729
rx_jesd
struct axi_jesd204_rx * rx_jesd
Definition: app_jesd.c:49
NULL
#define NULL
Definition: wrapper.h:64
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
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
no_os_clk_hw::dev_clk_set_rate
int32_t(* dev_clk_set_rate)()
Definition: no_os_clk.h:60
axi_jesd204_rx.h
Driver for the Analog Devices AXI-JESD204-RX peripheral.
RX_JESD_BASEADDR
#define RX_JESD_BASEADDR
Definition: parameters.h:65
app_jesd_status
uint32_t app_jesd_status(struct app_jesd *app)
Definition: app_jesd.c:127
ADXCVR_SYS_CLK_QPLL0
#define ADXCVR_SYS_CLK_QPLL0
Definition: axi_adxcvr.h:50
adxcvr_remove
int32_t adxcvr_remove(struct adxcvr *xcvr)
adxcvr_remove
Definition: altera_adxcvr.c:489
ADIHAL_ERR
@ ADIHAL_ERR
Definition: adi_hal.h:50
app_jesd::rx_jesd
struct axi_jesd204_rx * rx_jesd
Definition: app_jesd.h:61
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
jesd204_tx_init::name
const char * name
Definition: axi_jesd204_tx.h:101
ADXCVR_REFCLK_DIV2
#define ADXCVR_REFCLK_DIV2
Definition: axi_adxcvr.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:59
TX_JESD_BASEADDR
#define TX_JESD_BASEADDR
Definition: parameters.h:90
no_os_util.h
Header file of utility functions.
jesd204_tx_init
JESD204B/C Transmit Peripheral Initialization Structure.
Definition: axi_jesd204_tx.h:99
jesd204_rx_init::lane_clk
struct no_os_clk_desc * lane_clk
Definition: axi_jesd204_rx.h:104
AD9081_RX_JESD_SUBCLASS
#define AD9081_RX_JESD_SUBCLASS
Definition: app_config.h:83
jesd204_tx_init::lane_clk
struct no_os_clk_desc * lane_clk
Definition: axi_jesd204_tx.h:125
AD9081_RX_JESD_F
#define AD9081_RX_JESD_F
Definition: app_config.h:86
AD9081_TX_JESD_F
#define AD9081_TX_JESD_F
Definition: app_config.h:56
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.
adiHalErr_t
adiHalErr_t
Enum of possible Errors Detected by HAL layer to be communicated to ADI APIs.
Definition: adi_hal.h:42
axi_jesd204_rx::lane_clk
struct no_os_clk_desc * lane_clk
Definition: axi_jesd204_rx.h:79