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

Implementation of ad9545 Clock Driver. More...

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include "no_os_print_log.h"
#include "no_os_error.h"
#include "no_os_util.h"
#include "no_os_clk.h"
#include "ad9545.h"
#include "no_os_alloc.h"
#include "sys/types.h"
Include dependency graph for ad9545.c:

Functions

int32_t ad9545_read_reg (struct ad9545_dev *dev, uint16_t reg_addr, uint8_t *reg_data)
 
int32_t ad9545_write_reg (struct ad9545_dev *dev, uint16_t reg_addr, uint8_t reg_data)
 
int32_t ad9545_read_reg_multiple (struct ad9545_dev *dev, uint16_t reg_addr, uint8_t *reg_data, uint16_t count)
 
int32_t ad9545_write_reg_multiple (struct ad9545_dev *dev, uint16_t reg_addr, uint8_t *reg_data, uint16_t count)
 
int32_t ad9545_write_mask (struct ad9545_dev *dev, uint16_t reg_addr, uint32_t mask, uint8_t data)
 
int32_t ad9545_init (struct ad9545_dev **device, struct ad9545_init_param *init_param)
 
int ad9545_calib_aplls (struct ad9545_dev *dev)
 
int32_t ad9545_setup (struct ad9545_dev *dev)
 
int32_t ad9545_remove (struct ad9545_dev *dev)
 Free the memory allocated by ad9545_init().
 

Detailed Description

Implementation of ad9545 Clock Driver.

Author
Jonathan Santos (Jonat.nosp@m.han..nosp@m.Santo.nosp@m.s@an.nosp@m.alog..nosp@m.com)

Copyright 2024(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ ad9545_calib_aplls()

int ad9545_calib_aplls ( struct ad9545_dev * dev)

◆ ad9545_init()

int32_t ad9545_init ( struct ad9545_dev ** device,
struct ad9545_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.

◆ ad9545_read_reg()

int32_t ad9545_read_reg ( struct ad9545_dev * dev,
uint16_t reg_addr,
uint8_t * reg_data )

Wrapper used to read device registers.

Parameters
dev- The device structure.
reg_addr- The register address.
reg_data- The register data.
Returns
0 in case of success, negative error code otherwise.

◆ ad9545_read_reg_multiple()

int32_t ad9545_read_reg_multiple ( struct ad9545_dev * dev,
uint16_t reg_addr,
uint8_t * reg_data,
uint16_t count )

Wrapper used of multibyte reads.

Parameters
dev- The device structure.
reg_addr- The register address.
reg_data- The register data.
count- Number of bytes to read.
Returns
0 in case of success, negative error code otherwise.

◆ ad9545_remove()

int32_t ad9545_remove ( struct ad9545_dev * dev)

Free the memory allocated by ad9545_init().

Parameters
[in]dev- Pointer to the device handler.
Returns
0 in case of success, -1 otherwise

◆ ad9545_setup()

int32_t ad9545_setup ( struct ad9545_dev * dev)

◆ ad9545_write_mask()

int32_t ad9545_write_mask ( struct ad9545_dev * dev,
uint16_t reg_addr,
uint32_t mask,
uint8_t data )

Write to device using a mask.

Parameters
dev- The device structure.
reg_addr- The register address.
mask- The mask.
data- The register data.
Returns
0 in case of success, negative error code otherwise.

◆ ad9545_write_reg()

int32_t ad9545_write_reg ( struct ad9545_dev * dev,
uint16_t reg_addr,
uint8_t reg_data )

Wrapper used to write to device registers.

Parameters
dev- The device structure.
reg_addr- The register address.
reg_data- The register data.
Returns
0 in case of success, negative error code otherwise.

◆ ad9545_write_reg_multiple()

int32_t ad9545_write_reg_multiple ( struct ad9545_dev * dev,
uint16_t reg_addr,
uint8_t * reg_data,
uint16_t count )

Wrapper used of multibyte write.

Parameters
dev- The device structure.
reg_addr- The register address.
reg_data- The register data.
count- Number of bytes to write.
Returns
0 in case of success, negative error code otherwise.