no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
axi_jesd204_rx.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef AXI_JESD204_RX_H_
34#define AXI_JESD204_RX_H_
35
36#include <stdint.h>
37#include <stdbool.h>
38#include "jesd204.h"
39#include "no_os_clk.h"
40
46
53 const char *name;
55 uint32_t base;
57 uint32_t version;
58 /* Number of lanes of the peripheral */
59 uint32_t num_lanes;
69 uint32_t lane_clk_khz;
75 struct jesd204_dev *jdev;
76};
77
84 const char *name;
86 uint32_t base;
92 uint8_t subclass;
96 uint32_t lane_clk_khz;
99};
100
106uint32_t axi_jesd204_rx_status_read(struct axi_jesd204_rx *jesd);
109 uint32_t lane);
111int32_t axi_jesd204_rx_watchdog(struct axi_jesd204_rx *jesd);
113int32_t axi_jesd204_rx_init_legacy(struct axi_jesd204_rx **jesd204,
114 const struct jesd204_rx_init *init);
116int32_t axi_jesd204_rx_init(struct axi_jesd204_rx **jesd204,
117 const struct jesd204_rx_init *init);
119int32_t axi_jesd204_rx_remove(struct axi_jesd204_rx *jesd);
120#endif
uint32_t axi_jesd204_rx_status_read(struct axi_jesd204_rx *jesd)
Read status of the JESD204 Receive Peripherial.
Definition axi_jesd204_rx.c:203
int32_t axi_jesd204_rx_laneinfo_read(struct axi_jesd204_rx *jesd, uint32_t lane)
Read JESD204 RX Lane Info.
Definition axi_jesd204_rx.c:406
int32_t axi_jesd204_rx_lane_clk_disable(struct axi_jesd204_rx *jesd)
JESD204 RX Lane Clock Disable.
Definition axi_jesd204_rx.c:193
int32_t axi_jesd204_rx_remove(struct axi_jesd204_rx *jesd)
Free resoulces allocated for JESD204 RX peripheral.
Definition axi_jesd204_rx.c:981
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:902
int32_t axi_jesd204_rx_lane_clk_enable(struct axi_jesd204_rx *jesd)
JESD204 RX Lane Clock Enable.
Definition axi_jesd204_rx.c:180
int32_t axi_jesd204_rx_watchdog(struct axi_jesd204_rx *jesd)
JESD204 RX Watchdog.
Definition axi_jesd204_rx.c:470
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:826
jesd204_encoder
Definition jesd204.h:28
Header file of Clock Driver.
Definition axi_jesd204_rx.h:51
uint32_t data_path_width
Definition axi_jesd204_rx.h:61
struct jesd204_dev * jdev
Definition axi_jesd204_rx.h:75
struct no_os_clk_desc * lane_clk
Definition axi_jesd204_rx.h:73
const char * name
Definition axi_jesd204_rx.h:53
uint32_t tpl_data_path_width
Definition axi_jesd204_rx.h:63
uint32_t version
Definition axi_jesd204_rx.h:57
uint32_t device_clk_khz
Definition axi_jesd204_rx.h:67
uint32_t lane_clk_khz
Definition axi_jesd204_rx.h:69
uint32_t base
Definition axi_jesd204_rx.h:55
uint32_t num_lanes
Definition axi_jesd204_rx.h:59
struct jesd204_rx_config config
Definition axi_jesd204_rx.h:65
enum jesd204_encoder encoder
Definition axi_jesd204_rx.h:71
Definition axi_jesd204_rx.h:41
uint8_t subclass_version
Definition axi_jesd204_rx.h:44
uint16_t frames_per_multiframe
Definition axi_jesd204_rx.h:43
uint8_t octets_per_frame
Definition axi_jesd204_rx.h:42
JESD204B/C Receive Peripheral Initialization Structure.
Definition axi_jesd204_rx.h:82
uint32_t lane_clk_khz
Definition axi_jesd204_rx.h:96
struct no_os_clk_desc * lane_clk
Definition axi_jesd204_rx.h:98
uint32_t base
Definition axi_jesd204_rx.h:86
uint32_t device_clk_khz
Definition axi_jesd204_rx.h:94
uint16_t frames_per_multiframe
Definition axi_jesd204_rx.h:90
const char * name
Definition axi_jesd204_rx.h:84
uint8_t octets_per_frame
Definition axi_jesd204_rx.h:88
uint8_t subclass
Definition axi_jesd204_rx.h:92
Structure holding CLK descriptor.
Definition no_os_clk.h:69