no-OS
jesd204_clk.h
Go to the documentation of this file.
1 /***************************************************************************/
33 #ifndef JESD204_CLK_H_
34 #define JESD204_CLK_H_
35 
36 /******************************************************************************/
37 /***************************** Include Files **********************************/
38 /******************************************************************************/
39 #include <stdint.h>
40 #include "axi_adxcvr.h"
41 #include "axi_jesd204_rx.h"
42 #include "axi_jesd204_tx.h"
43 
44 /******************************************************************************/
45 /*************************** Types Declarations *******************************/
46 /******************************************************************************/
47 struct jesd204_clk {
48  struct adxcvr *xcvr;
51 };
52 
56 extern const struct no_os_clk_platform_ops jesd204_clk_ops;
57 
58 /******************************************************************************/
59 /************************ Functions Declarations ******************************/
60 /******************************************************************************/
61 /* Start the clock. */
62 int32_t jesd204_clk_enable(struct jesd204_clk *clk);
63 /* Stop the clock. */
64 int32_t jesd204_clk_disable(struct jesd204_clk *clk);
65 /* Change the frequency of the clock. */
66 int32_t jesd204_clk_set_rate(struct jesd204_clk *clk, uint32_t chan,
67  uint32_t rate);
68 #endif
adxcvr_clk_enable
int adxcvr_clk_enable(struct adxcvr *xcvr)
AXI ADXCVR Clock Enable.
Definition: axi_adxcvr.c:479
no_os_alloc.h
jesd204_clk_disable
int32_t jesd204_clk_disable(struct jesd204_clk *clk)
Definition: jesd204_clk.c:81
jesd204_clk::xcvr
struct adxcvr * xcvr
Definition: jesd204_clk.h:48
adxcvr
ADI JESD204B/C AXI_ADXCVR Highspeed Transceiver Device structure.
Definition: altera_adxcvr.h:89
adxcvr::ref_rate_khz
uint32_t ref_rate_khz
Definition: axi_adxcvr.h:81
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
adxcvr_clk_disable
int adxcvr_clk_disable(struct adxcvr *xcvr)
AXI ADXCVR Clock Disable.
Definition: axi_adxcvr.c:529
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
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:225
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:147
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:51
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:81
jesd204_clk::jesd_rx
struct axi_jesd204_rx * jesd_rx
Definition: jesd204_clk.h:49
no_os_clk_desc
Structure holding CLK descriptor.
Definition: no_os_clk.h:75
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:160
no_os_clk_init_param
Definition: no_os_clk.h:44
jesd204_clk_enable
int32_t jesd204_clk_enable(struct jesd204_clk *clk)
Definition: jesd204_clk.c:51
axi_jesd204_tx
Definition: axi_jesd204_tx.h:70
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:309
no_os_clk_platform_ops
Structure holding CLK function pointers that point to the platform specific function.
Definition: no_os_clk.h:91
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:93
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:113
axi_jesd204_rx
Definition: axi_jesd204_rx.h:57
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_desc::dev_desc
void * dev_desc
Definition: no_os_clk.h:83
axi_jesd204_rx.h
Driver for the Analog Devices AXI-JESD204-RX peripheral.
jesd204_clk
Definition: jesd204_clk.h:47
jesd204_clk::jesd_tx
struct axi_jesd204_tx * jesd_tx
Definition: jesd204_clk.h:50
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:202
jesd204_clk_ops
const struct no_os_clk_platform_ops jesd204_clk_ops
jesd204 specific CLK platform ops structure
Definition: jesd204_clk.c:225
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:189
axi_jesd204_tx.h
Driver for the Analog Devices AXI-JESD204-TX peripheral.