no-OS
Loading...
Searching...
No Matches
hmc7044.h File Reference

Header file of HMC7044, HMC7043 Driver. More...

#include <stdbool.h>
#include <stdint.h>
#include "no_os_delay.h"
#include "no_os_spi.h"
Include dependency graph for hmc7044.h:

Classes

struct  hmc7044_chan_spec
 
struct  hmc7044_dev
 
struct  hmc7044_init_param
 

Macros

#define HMC7044_PULSE_GEN_LEVEL_SENSITIVE   0
 
#define HMC7044_PULSE_GEN_1_PULSE   1
 
#define HMC7044_PULSE_GEN_2_PULSE   2
 
#define HMC7044_PULSE_GEN_4_PULSE   3
 
#define HMC7044_PULSE_GEN_8_PULSE   4
 
#define HMC7044_PULSE_GEN_16_PULSE   5
 
#define HMC7044_PULSE_GEN_CONT_PULSE   7
 
#define HMC7044_SYNC_PIN_DISABLED   0
 
#define HMC7044_SYNC_PIN_SYNC   1
 
#define HMC7044_SYNC_PIN_PULSE_GEN_REQ   2
 
#define HMC7044_SYNC_PIN_SYNC_THEN_PULSE_GEN   3
 

Functions

int32_t hmc7044_init (struct hmc7044_dev **device, const struct hmc7044_init_param *init_param)
 
int32_t hmc7044_remove (struct hmc7044_dev *device)
 
int32_t hmc7044_read (struct hmc7044_dev *dev, uint16_t reg, uint8_t *val)
 
int32_t hmc7044_clk_recalc_rate (struct hmc7044_dev *dev, uint32_t chan_num, uint64_t *rate)
 
int32_t hmc7044_clk_round_rate (struct hmc7044_dev *dev, uint32_t rate, uint64_t *rounded_rate)
 
int32_t hmc7044_clk_set_rate (struct hmc7044_dev *dev, uint32_t chan_num, uint64_t rate)
 

Variables

const struct no_os_clk_platform_ops hmc7044_clk_ops
 hmc7044 specific CLK platform ops structure
 

Detailed Description

Header file of HMC7044, HMC7043 Driver.

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

Copyright 2018-2020(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ HMC7044_PULSE_GEN_16_PULSE

#define HMC7044_PULSE_GEN_16_PULSE   5

◆ HMC7044_PULSE_GEN_1_PULSE

#define HMC7044_PULSE_GEN_1_PULSE   1

◆ HMC7044_PULSE_GEN_2_PULSE

#define HMC7044_PULSE_GEN_2_PULSE   2

◆ HMC7044_PULSE_GEN_4_PULSE

#define HMC7044_PULSE_GEN_4_PULSE   3

◆ HMC7044_PULSE_GEN_8_PULSE

#define HMC7044_PULSE_GEN_8_PULSE   4

◆ HMC7044_PULSE_GEN_CONT_PULSE

#define HMC7044_PULSE_GEN_CONT_PULSE   7

◆ HMC7044_PULSE_GEN_LEVEL_SENSITIVE

#define HMC7044_PULSE_GEN_LEVEL_SENSITIVE   0

◆ HMC7044_SYNC_PIN_DISABLED

#define HMC7044_SYNC_PIN_DISABLED   0

◆ HMC7044_SYNC_PIN_PULSE_GEN_REQ

#define HMC7044_SYNC_PIN_PULSE_GEN_REQ   2

◆ HMC7044_SYNC_PIN_SYNC

#define HMC7044_SYNC_PIN_SYNC   1

◆ HMC7044_SYNC_PIN_SYNC_THEN_PULSE_GEN

#define HMC7044_SYNC_PIN_SYNC_THEN_PULSE_GEN   3

Function Documentation

◆ hmc7044_clk_recalc_rate()

int32_t hmc7044_clk_recalc_rate ( struct hmc7044_dev * dev,
uint32_t chan_num,
uint64_t * rate )

Recalculate rate corresponding to a channel.

Parameters
dev- The device structure.
chan_num- Channel number.
rate- Channel rate.
Returns
0 in case of success, negative error code otherwise.

◆ hmc7044_clk_round_rate()

int32_t hmc7044_clk_round_rate ( struct hmc7044_dev * dev,
uint32_t rate,
uint64_t * rounded_rate )

Calculate closest possible rate

Parameters
dev- The device structure
rate- The desired rate.
rounded_rate- The closest possible rate of desired rate.
Returns
0 in case of success, negative error code otherwise.

◆ hmc7044_clk_set_rate()

int32_t hmc7044_clk_set_rate ( struct hmc7044_dev * dev,
uint32_t chan_num,
uint64_t rate )

Set channel rate.

Parameters
dev- The device structure.
chan_num- Channel number.
rate- Channel rate.
Returns
0 in case of success, negative error code otherwise.

◆ hmc7044_init()

int32_t hmc7044_init ( struct hmc7044_dev ** device,
const struct hmc7044_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.

◆ hmc7044_read()

int32_t hmc7044_read ( struct hmc7044_dev * dev,
uint16_t reg,
uint8_t * val )

SPI register read from device.

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

◆ hmc7044_remove()

int32_t hmc7044_remove ( struct hmc7044_dev * device)

Remove the device - release resources.

Parameters
device- The device structure.
Returns
0 in case of success, negative error code otherwise.

Variable Documentation

◆ hmc7044_clk_ops

const struct no_os_clk_platform_ops hmc7044_clk_ops
extern

hmc7044 specific CLK platform ops structure

hmc7044 specific CLK platform ops structure