no-OS
Loading...
Searching...
No Matches
ad9144.c File Reference

Implementation of AD9144 Driver. More...

#include <stdlib.h>
#include <stdio.h>
#include <stdbool.h>
#include "ad9144.h"
#include "no_os_error.h"
#include "no_os_alloc.h"
#include "no_os_print_log.h"
Include dependency graph for ad9144.c:

Classes

struct  ad9144_jesd204_link_mode
 
struct  ad9144_jesd204_priv
 
struct  ad9144_reg_seq
 

Macros

#define AD9144_MOD_TYPE_NONE   (0x0 << 2)
 
#define AD9144_MOD_TYPE_FINE   (0x1 << 2)
 
#define AD9144_MOD_TYPE_COARSE4   (0x2 << 2)
 
#define AD9144_MOD_TYPE_COARSE8   (0x3 << 2)
 
#define AD9144_MOD_TYPE_MASK   (0x3 << 2)
 

Functions

int32_t ad9144_spi_read (struct ad9144_dev *dev, uint16_t reg_addr, uint8_t *reg_data)
 ad9144_spi_read
 
int32_t ad9144_spi_write (struct ad9144_dev *dev, uint16_t reg_addr, uint8_t reg_data)
 ad9144_spi_write
 
int32_t ad9144_spi_check_status (struct ad9144_dev *dev, uint16_t reg_addr, uint8_t reg_mask, uint8_t exp_reg_data)
 ad9144_spi_check_status
 
int32_t ad9144_spi_write_seq (struct ad9144_dev *dev, const struct ad9144_reg_seq *seq, uint32_t num)
 
int32_t ad9144_setup_jesd204_link (struct ad9144_dev *dev, const struct ad9144_init_param *init_param)
 
int32_t ad9144_set_nco (struct ad9144_dev *dev, int32_t f_carrier_khz, int16_t phase)
 
int32_t ad9144_setup_legacy (struct ad9144_dev **device, const struct ad9144_init_param *init_param)
 
int32_t ad9144_setup_jesd_fsm (struct ad9144_dev **device, const struct ad9144_init_param *init_param)
 
int32_t ad9144_dac_calibrate (struct ad9144_dev *dev)
 
int32_t ad9144_remove (struct ad9144_dev *dev)
 
int32_t ad9144_status (struct ad9144_dev *dev)
 ad9144_status - return the status of the JESD interface
 
int32_t ad9144_short_pattern_test (struct ad9144_dev *dev, const struct ad9144_init_param *init_param)
 ad9144_short_pattern_test
 
int32_t ad9144_datapath_prbs_test (struct ad9144_dev *dev, const struct ad9144_init_param *init_param)
 ad9144_datapath_prbs_test
 

Detailed Description

Implementation of AD9144 Driver.

Author
DBogdan (drago.nosp@m.s.bo.nosp@m.gdan@.nosp@m.anal.nosp@m.og.co.nosp@m.m)

Copyright 2014-2016(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ AD9144_MOD_TYPE_COARSE4

#define AD9144_MOD_TYPE_COARSE4   (0x2 << 2)

◆ AD9144_MOD_TYPE_COARSE8

#define AD9144_MOD_TYPE_COARSE8   (0x3 << 2)

◆ AD9144_MOD_TYPE_FINE

#define AD9144_MOD_TYPE_FINE   (0x1 << 2)

◆ AD9144_MOD_TYPE_MASK

#define AD9144_MOD_TYPE_MASK   (0x3 << 2)

◆ AD9144_MOD_TYPE_NONE

#define AD9144_MOD_TYPE_NONE   (0x0 << 2)

Function Documentation

◆ ad9144_dac_calibrate()

int32_t ad9144_dac_calibrate ( struct ad9144_dev * dev)

◆ ad9144_datapath_prbs_test()

int32_t ad9144_datapath_prbs_test ( struct ad9144_dev * dev,
const struct ad9144_init_param * init_param )

ad9144_datapath_prbs_test

◆ ad9144_remove()

int32_t ad9144_remove ( struct ad9144_dev * dev)

◆ ad9144_set_nco()

int32_t ad9144_set_nco ( struct ad9144_dev * dev,
int32_t f_carrier_khz,
int16_t phase )

◆ ad9144_setup_jesd204_link()

int32_t ad9144_setup_jesd204_link ( struct ad9144_dev * dev,
const struct ad9144_init_param * init_param )

◆ ad9144_setup_jesd_fsm()

int32_t ad9144_setup_jesd_fsm ( struct ad9144_dev ** device,
const struct ad9144_init_param * init_param )

◆ ad9144_setup_legacy()

int32_t ad9144_setup_legacy ( struct ad9144_dev ** device,
const struct ad9144_init_param * init_param )

◆ ad9144_short_pattern_test()

int32_t ad9144_short_pattern_test ( struct ad9144_dev * dev,
const struct ad9144_init_param * init_param )

ad9144_short_pattern_test

◆ ad9144_spi_check_status()

int32_t ad9144_spi_check_status ( struct ad9144_dev * dev,
uint16_t reg_addr,
uint8_t reg_mask,
uint8_t exp_reg_data )

ad9144_spi_check_status

◆ ad9144_spi_read()

int32_t ad9144_spi_read ( struct ad9144_dev * dev,
uint16_t reg_addr,
uint8_t * reg_data )

ad9144_spi_read

◆ ad9144_spi_write()

int32_t ad9144_spi_write ( struct ad9144_dev * dev,
uint16_t reg_addr,
uint8_t reg_data )

ad9144_spi_write

◆ ad9144_spi_write_seq()

int32_t ad9144_spi_write_seq ( struct ad9144_dev * dev,
const struct ad9144_reg_seq * seq,
uint32_t num )

◆ ad9144_status()

int32_t ad9144_status ( struct ad9144_dev * dev)

ad9144_status - return the status of the JESD interface