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

Implementation of ad9083 Driver. More...

#include <errno.h>
#include <stdlib.h>
#include "ad9083.h"
#include "adi_ad9083_hal.h"
#include "no_os_error.h"
#include <inttypes.h>
#include "no_os_delay.h"
#include "no_os_clk.h"
#include "uc_settings.h"
#include "no_os_util.h"
#include "no_os_alloc.h"
#include "no_os_print_log.h"
Include dependency graph for ad9083.c:

Macros

#define CHIPID_AD9083   0x00EA
 
#define CHIPID_MASK   0xFFFF
 
#define SPI_IN_OUT_BUFF_SZ   0x3
 
#define MAX_REG_ADDR   0x1000
 
#define SPI_READ   0x80
 

Functions

int32_t adi_ad9083_jtx_startup (adi_ad9083_device_t *device, adi_cms_jesd_param_t *jtx_param)
 
int32_t adi_ad9083_jesd_tx_link_digital_reset (adi_ad9083_device_t *device, uint8_t reset)
 
int32_t ad9083_reg_get (struct ad9083_phy *device, uint32_t reg, uint8_t *readval)
 Read register.
 
int32_t ad9083_reg_set (struct ad9083_phy *device, uint32_t reg, uint8_t writeval)
 Write register.
 
int32_t ad9083_log_write (void *user_data, int32_t log_type, const char *message, va_list argp)
 
int32_t ad9083_reset_pin_ctrl (void *user_data, uint8_t enable)
 
int32_t ad9083_init (struct ad9083_phy **device, struct ad9083_init_param *init_param)
 
int32_t ad9083_remove (struct ad9083_phy *dev)
 Free the resources allocated by ad9083_init().
 

Detailed Description

Implementation of ad9083 Driver.

Author
Cristian Pop (crist.nosp@m.ian..nosp@m.pop@a.nosp@m.nalo.nosp@m.g.com)

Copyright 2021(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ CHIPID_AD9083

#define CHIPID_AD9083   0x00EA

◆ CHIPID_MASK

#define CHIPID_MASK   0xFFFF

◆ MAX_REG_ADDR

#define MAX_REG_ADDR   0x1000

◆ SPI_IN_OUT_BUFF_SZ

#define SPI_IN_OUT_BUFF_SZ   0x3

◆ SPI_READ

#define SPI_READ   0x80

Function Documentation

◆ ad9083_init()

int32_t ad9083_init ( struct ad9083_phy ** device,
struct ad9083_init_param * init_param )

Initialize the device.

Parameters
device- The device structure.
init_param- The structure that contains the device initial parameters.
Returns
0 in case of success, negative error code otherwise.

◆ ad9083_log_write()

int32_t ad9083_log_write ( void * user_data,
int32_t log_type,
const char * message,
va_list argp )

Log write

Parameters
user_data
log_type- Log source type.
message- Message.
argp- Argp.
Returns
0 in case of success, -1 otherwise.

◆ ad9083_reg_get()

int32_t ad9083_reg_get ( struct ad9083_phy * device,
uint32_t reg,
uint8_t * readval )

Read register.

Parameters
device- ad9083 device.
reg- Address of the register.
readval- Value of the register.
Returns
0 in case of success, -1 otherwise.

◆ ad9083_reg_set()

int32_t ad9083_reg_set ( struct ad9083_phy * device,
uint32_t reg,
uint8_t writeval )

Write register.

Parameters
device- ad9083 device.
reg- Address of the register.
writeval- Value of the register.
Returns
0 in case of success, -1 otherwise.

◆ ad9083_remove()

int32_t ad9083_remove ( struct ad9083_phy * dev)

Free the resources allocated by ad9083_init().

Parameters
dev- Device descriptor.
Returns
0 in case of success, -1 otherwise.

◆ ad9083_reset_pin_ctrl()

int32_t ad9083_reset_pin_ctrl ( void * user_data,
uint8_t enable )

Reset pin control

Parameters
user_data
enable- State.
Returns
0 in case of success, -1 otherwise.

◆ adi_ad9083_jesd_tx_link_digital_reset()

int32_t adi_ad9083_jesd_tx_link_digital_reset ( adi_ad9083_device_t * device,
uint8_t reset )
extern

◆ adi_ad9083_jtx_startup()

int32_t adi_ad9083_jtx_startup ( adi_ad9083_device_t * device,
adi_cms_jesd_param_t * jtx_param )
extern