no-OS
Loading...
Searching...
No Matches
ad9088_bsync_ops Struct Reference

Accessors for the board's BSYNC (SYSREF) provider, used by MCS calibration. More...

#include <ad9088.h>

Public Attributes

void * ctx
 
int(* freq_get )(void *ctx, uint32_t *freq_hz)
 
int(* output_en_set )(void *ctx, bool en)
 
int(* tdc_measure )(void *ctx, int64_t *tdc_fs)
 
int(* delay_set )(void *ctx, int64_t delay_fs)
 
int(* bg_align_set )(void *ctx, bool en)
 

Detailed Description

Accessors for the board's BSYNC (SYSREF) provider, used by MCS calibration.

MCS calibration has to drive and measure the SYSREF source, but which chip that is belongs to the board rather than to this driver. The board supplies these callbacks so the driver stays independent of the clock chip.

Member Data Documentation

◆ bg_align_set

int(* ad9088_bsync_ops::bg_align_set) (void *ctx, bool en)

Enable continuous background realignment of all synced channels.

◆ ctx

void* ad9088_bsync_ops::ctx

Opaque handle passed back to every callback.

◆ delay_set

int(* ad9088_bsync_ops::delay_set) (void *ctx, int64_t delay_fs)

Set the SYSREF channel delay, in fs, and realign the channel.

◆ freq_get

int(* ad9088_bsync_ops::freq_get) (void *ctx, uint32_t *freq_hz)

BSYNC output rate, in Hz.

◆ output_en_set

int(* ad9088_bsync_ops::output_en_set) (void *ctx, bool en)

Drive the SYSREF line (true) or release it so the AD9088 can (false).

◆ tdc_measure

int(* ad9088_bsync_ops::tdc_measure) (void *ctx, int64_t *tdc_fs)

Time difference from the alignment reference, in fs. State-perturbing: it arms the provider's TDC, so a following delay_set() is required to return the provider to its aligned state.


The documentation for this struct was generated from the following file: