no-OS
jesd204_clk.h
Go to the documentation of this file.
1 /***************************************************************************/
39 #ifndef JESD204_CLK_H_
40 #define JESD204_CLK_H_
41 
42 /******************************************************************************/
43 /***************************** Include Files **********************************/
44 /******************************************************************************/
45 #include <stdint.h>
46 #include "axi_adxcvr.h"
47 #include "axi_jesd204_rx.h"
48 #include "axi_jesd204_tx.h"
49 
50 /******************************************************************************/
51 /*************************** Types Declarations *******************************/
52 /******************************************************************************/
53 struct jesd204_clk {
54  struct adxcvr *xcvr;
57 };
58 
62 extern const struct no_os_clk_platform_ops jesd204_clk_ops;
63 
64 /******************************************************************************/
65 /************************ Functions Declarations ******************************/
66 /******************************************************************************/
67 /* Start the clock. */
68 int32_t jesd204_clk_enable(struct jesd204_clk *clk);
69 /* Stop the clock. */
70 int32_t jesd204_clk_disable(struct jesd204_clk *clk);
71 /* Change the frequency of the clock. */
72 int32_t jesd204_clk_set_rate(struct jesd204_clk *clk, uint32_t chan,
73  uint32_t rate);
74 #endif
adxcvr_clk_enable
int adxcvr_clk_enable(struct adxcvr *xcvr)
AXI ADXCVR Clock Enable.
Definition: axi_adxcvr.c:485
no_os_alloc.h
jesd204_clk_disable
int32_t jesd204_clk_disable(struct jesd204_clk *clk)
Definition: jesd204_clk.c:87
jesd204_clk::xcvr
struct adxcvr * xcvr
Definition: jesd204_clk.h:54
adxcvr
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure.
Definition: altera_adxcvr.h:95
adxcvr::ref_rate_khz
uint32_t ref_rate_khz
Definition: axi_adxcvr.h:87
jesd204_clk_set_rate
int32_t jesd204_clk_set_rate(struct jesd204_clk *clk, uint32_t chan, uint32_t rate)
Definition: jesd204_clk.c:119
adxcvr_clk_disable
int adxcvr_clk_disable(struct adxcvr *xcvr)
AXI ADXCVR Clock Disable.
Definition: axi_adxcvr.c:535
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:60
no_os_clk.h
Header file of Clock Driver.
jesd204_clk_ops
const struct no_os_clk_platform_ops jesd204_clk_ops
jesd204 specific CLK platform ops structure
Definition: jesd204_clk.c:231
axi_jesd204_tx_lane_clk_enable
int32_t axi_jesd204_tx_lane_clk_enable(struct axi_jesd204_tx *jesd)
JESD204 TX Lane Clock Enable.
Definition: axi_jesd204_tx.c:153
axi_adxcvr.h
Driver for the ADI AXI-ADXCVR Module.
jesd204_clk_enable
int32_t jesd204_clk_enable(struct jesd204_clk *clk)
Definition: jesd204_clk.c:57
no_os_error.h
Error codes definition.
jesd204_clk.h
Analog Devices JESD204 clock.
jesd204_clk_disable
int32_t jesd204_clk_disable(struct jesd204_clk *clk)
Definition: jesd204_clk.c:87
jesd204_clk::jesd_rx
struct axi_jesd204_rx * jesd_rx
Definition: jesd204_clk.h:55
no_os_clk_desc
Structure holding CLK descriptor.
Definition: no_os_clk.h:81
axi_jesd204_tx_lane_clk_disable
int32_t axi_jesd204_tx_lane_clk_disable(struct axi_jesd204_tx *jesd)
JESD204 TX Lane Clock Disable.
Definition: axi_jesd204_tx.c:166
no_os_clk_init_param
Definition: no_os_clk.h:50
jesd204_clk_enable
int32_t jesd204_clk_enable(struct jesd204_clk *clk)
Definition: jesd204_clk.c:57
axi_jesd204_tx
Definition: axi_jesd204_tx.h:76
adxcvr_clk_set_rate
int adxcvr_clk_set_rate(struct adxcvr *xcvr, unsigned long rate, unsigned long parent_rate)
AXI ADXCVR Clock Set Rate.
Definition: axi_adxcvr.c:315
no_os_clk_platform_ops
Structure holding CLK function pointers that point to the platform specific function.
Definition: no_os_clk.h:97
no_os_clk_platform_ops::init
int(* init)(struct no_os_clk_desc **, const struct no_os_clk_init_param *)
Definition: no_os_clk.h:99
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:119
axi_jesd204_rx
Definition: axi_jesd204_rx.h:63
jesd204_clk_set_rate
int32_t jesd204_clk_set_rate(struct jesd204_clk *clk, uint32_t chan, uint32_t rate)
Definition: jesd204_clk.c:119
no_os_clk_desc::dev_desc
void * dev_desc
Definition: no_os_clk.h:89
axi_jesd204_rx.h
Driver for the Analog Devices AXI-JESD204-RX peripheral.
jesd204_clk
Definition: jesd204_clk.h:53
jesd204_clk::jesd_tx
struct axi_jesd204_tx * jesd_tx
Definition: jesd204_clk.h:56
axi_jesd204_rx_lane_clk_disable
int32_t axi_jesd204_rx_lane_clk_disable(struct axi_jesd204_rx *jesd)
JESD204 RX Lane Clock Disable.
Definition: axi_jesd204_rx.c:208
jesd204_clk_ops
const struct no_os_clk_platform_ops jesd204_clk_ops
jesd204 specific CLK platform ops structure
Definition: jesd204_clk.c:231
axi_jesd204_rx_lane_clk_enable
int32_t axi_jesd204_rx_lane_clk_enable(struct axi_jesd204_rx *jesd)
JESD204 RX Lane Clock Enable.
Definition: axi_jesd204_rx.c:195
axi_jesd204_tx.h
Driver for the Analog Devices AXI-JESD204-TX peripheral.