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

Header file for adf5355 Driver. More...

#include <stdint.h>
#include "no_os_spi.h"
Include dependency graph for adf5355.h:

Classes

struct  adf5355_dev
 Device descriptor. More...
 
struct  adf5355_init_param
 

Macros

#define ADF5355_REG(x)
 
#define ADF5355_REG0_INT(x)
 
#define ADF5355_REG0_PRESCALER(x)
 
#define ADF5355_REG0_AUTOCAL(x)
 
#define ADF5355_REG1_FRACT(x)
 
#define ADF5355_REG2_MOD2(x)
 
#define ADF5355_REG2_FRAC2(x)
 
#define ADF5355_REG3_PHASE(x)
 
#define ADF5355_REG3_PHASE_ADJUST(x)
 
#define ADF5355_REG3_PHASE_RESYNC(x)
 
#define ADF5355_REG3_EXACT_SDLOAD_RESET(x)
 
#define ADF5355_REG4_COUNTER_RESET_EN(x)
 
#define ADF5355_REG4_CP_THREESTATE_EN(x)
 
#define ADF5355_REG4_POWER_DOWN_EN(x)
 
#define ADF5355_REG4_PD_POLARITY_POS(x)
 
#define ADF5355_REG4_MUX_LOGIC(x)
 
#define ADF5355_REG4_REFIN_MODE_DIFF(x)
 
#define ADF5355_REG4_CHARGE_PUMP_CURR(x)
 
#define ADF5355_REG4_DOUBLE_BUFF_EN(x)
 
#define ADF5355_REG4_10BIT_R_CNT(x)
 
#define ADF5355_REG4_RDIV2_EN(x)
 
#define ADF5355_REG4_RMULT2_EN(x)
 
#define ADF5355_REG4_MUXOUT(x)
 
#define ADF5355_REG5_DEFAULT   0x00800025
 
#define ADF4355_REG6_OUTPUTB_PWR(x)
 
#define ADF4355_REG6_RF_OUTB_EN(x)
 
#define ADF4356_REG6_RF_OUTB_SEL(x)
 
#define ADF5355_REG6_OUTPUT_PWR(x)
 
#define ADF5355_REG6_RF_OUT_EN(x)
 
#define ADF5355_REG6_RF_OUTB_EN(x)
 
#define ADF5355_REG6_MUTE_TILL_LOCK_EN(x)
 
#define ADF5355_REG6_CP_BLEED_CURR(x)
 
#define ADF5355_REG6_RF_DIV_SEL(x)
 
#define ADF5355_REG6_FEEDBACK_FUND(x)
 
#define ADF5355_REG6_NEG_BLEED_EN(x)
 
#define ADF5355_REG6_GATED_BLEED_EN(x)
 
#define ADF5356_REG6_BLEED_POLARITY(x)
 
#define ADF5355_REG6_DEFAULT   0x14000006
 
#define ADF5355_REG7_LD_MODE_INT_N_EN(x)
 
#define ADF5355_REG7_FACT_N_LD_PRECISION(x)
 
#define ADF5355_REG7_LOL_MODE_EN(x)
 
#define ADF5355_REG7_LD_CYCLE_CNT(x)
 
#define ADF5355_REG7_LE_SYNCED_REFIN_EN(x)
 
#define ADF5356_REG7_LE_SYNCE_EDGE_RISING_EN(x)
 
#define ADF5355_REG7_DEFAULT   0x10000007
 
#define ADF5356_REG7_DEFAULT   0x04000007
 
#define ADF5355_REG8_DEFAULT   0x102D0428
 
#define ADF5356_REG8_DEFAULT   0x15596568
 
#define ADF5355_REG9_SYNTH_LOCK_TIMEOUT(x)
 
#define ADF5355_REG9_ALC_TIMEOUT(x)
 
#define ADF5355_REG9_TIMEOUT(x)
 
#define ADF5355_REG9_VCO_BAND_DIV(x)
 
#define ADF5355_REG10_ADC_EN(x)
 
#define ADF5355_REG10_ADC_CONV_EN(x)
 
#define ADF5355_REG10_ADC_CLK_DIV(x)
 
#define ADF5355_REG10_DEFAULT   0x00C0000A
 
#define ADF5356_REG11_VCO_BAND_HOLD_EN(x)
 
#define ADF5355_REG11_DEFAULT   0x0061300B
 
#define ADF5356_REG11_DEFAULT   0x0061200B
 
#define ADF5355_REG12_PHASE_RESYNC_CLK_DIV(x)
 
#define ADF5355_REG12_DEFAULT   0x0000041C
 
#define ADF5356_REG12_PHASE_RESYNC_CLK_DIV(x)
 
#define ADF5356_REG12_DEFAULT   0x000005FC
 
#define ADF5356_REG13_MOD2_MSB(x)
 
#define ADF5356_REG13_FRAC2_MSB(x)
 
#define ADF5355_MIN_VCO_FREQ   3400000000ULL /* Hz */
 
#define ADF5355_MAX_VCO_FREQ   6800000000ULL /* Hz */
 
#define ADF5355_MAX_OUT_FREQ   ADF5355_MAX_VCO_FREQ /* Hz */
 
#define ADF5355_MIN_OUT_FREQ   (ADF5355_MIN_VCO_FREQ / 64) /* Hz */
 
#define ADF5355_MAX_OUTB_FREQ   (ADF5355_MAX_VCO_FREQ * 2) /* Hz */
 
#define ADF5355_MIN_OUTB_FREQ   (ADF5355_MIN_VCO_FREQ * 2) /* Hz */
 
#define ADF4356_MIN_VCO_FREQ   ADF5355_MIN_VCO_FREQ /* Hz */
 
#define ADF4356_MAX_VCO_FREQ   ADF5355_MAX_VCO_FREQ /* Hz */
 
#define ADF4355_MIN_VCO_FREQ   3400000000ULL /* Hz */
 
#define ADF4355_MAX_VCO_FREQ   6800000000ULL /* Hz */
 
#define ADF4355_MAX_OUT_FREQ   ADF4355_MAX_VCO_FREQ /* Hz */
 
#define ADF4355_MIN_OUT_FREQ   (ADF4355_MIN_VCO_FREQ / 64) /* Hz */
 
#define ADF4355_3_MIN_VCO_FREQ   3300000000ULL /* Hz */
 
#define ADF4355_3_MAX_VCO_FREQ   6600000000ULL /* Hz */
 
#define ADF4355_3_MAX_OUT_FREQ   ADF4355_3_MAX_VCO_FREQ /* Hz */
 
#define ADF4355_3_MIN_OUT_FREQ   (ADF4355_3_MIN_VCO_FREQ / 64) /* Hz */
 
#define ADF4355_2_MIN_VCO_FREQ   3400000000ULL /* Hz */
 
#define ADF4355_2_MAX_VCO_FREQ   6800000000ULL /* Hz */
 
#define ADF4355_2_MAX_OUT_FREQ   4400000000ULL /* Hz */
 
#define ADF4355_2_MIN_OUT_FREQ   (ADF4355_2_MIN_VCO_FREQ / 64) /* Hz */
 
#define ADF5355_MAX_FREQ_PFD   75000000UL /* Hz */
 
#define ADF5355_MAX_FREQ_REFIN   600000000UL /* Hz */
 
#define ADF5355_MAX_MODULUS2   16384
 
#define ADF5356_MAX_MODULUS2   268435456
 
#define ADF5355_MAX_R_CNT   1023
 
#define ADF5355_MODULUS1   16777216ULL
 
#define ADF5355_MIN_INT_PRESCALER_89   75
 
#define ADF5355_REG_NUM   14
 
#define ADF5355_SPI_NO_BYTES   4
 

Enumerations

enum  adf5355_device_id {
  ADF5355 ,
  ADF4355 ,
  ADF4355_2 ,
  ADF4355_3 ,
  ADF4356 ,
  ADF5356
}
 Devices supported by the drivers. More...
 
enum  adf5355_mux_out_sel {
  ADF5355_MUXOUT_THREESTATE ,
  ADF5355_MUXOUT_DVDD ,
  ADF5355_MUXOUT_GND ,
  ADF5355_MUXOUT_R_DIV_OUT ,
  ADF5355_MUXOUT_N_DIV_OUT ,
  ADF5355_MUXOUT_ANALOG_LOCK_DETECT ,
  ADF5355_MUXOUT_DIGITAL_LOCK_DETECT
}
 Muxout selection. More...
 

Functions

int32_t adf5355_clk_recalc_rate (struct adf5355_dev *dev, uint32_t chan, uint64_t *rate)
 
int32_t adf5355_clk_set_rate (struct adf5355_dev *dev, uint32_t chan, uint64_t rate)
 
int32_t adf5355_clk_round_rate (struct adf5355_dev *dev, uint64_t rate, uint64_t *rounded_rate)
 
int32_t adf5355_init (struct adf5355_dev **device, const struct adf5355_init_param *init_param)
 Initializes the ADF5355.
 
int32_t adf5355_remove (struct adf5355_dev *device)
 

Detailed Description

Header file for adf5355 Driver.

Author
Antoniu Miclaus (anton.nosp@m.iu.m.nosp@m.iclau.nosp@m.s@an.nosp@m.alog..nosp@m.com)

Copyright 2021(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ ADF4355_2_MAX_OUT_FREQ

#define ADF4355_2_MAX_OUT_FREQ   4400000000ULL /* Hz */

◆ ADF4355_2_MAX_VCO_FREQ

#define ADF4355_2_MAX_VCO_FREQ   6800000000ULL /* Hz */

◆ ADF4355_2_MIN_OUT_FREQ

#define ADF4355_2_MIN_OUT_FREQ   (ADF4355_2_MIN_VCO_FREQ / 64) /* Hz */

◆ ADF4355_2_MIN_VCO_FREQ

#define ADF4355_2_MIN_VCO_FREQ   3400000000ULL /* Hz */

◆ ADF4355_3_MAX_OUT_FREQ

#define ADF4355_3_MAX_OUT_FREQ   ADF4355_3_MAX_VCO_FREQ /* Hz */

◆ ADF4355_3_MAX_VCO_FREQ

#define ADF4355_3_MAX_VCO_FREQ   6600000000ULL /* Hz */

◆ ADF4355_3_MIN_OUT_FREQ

#define ADF4355_3_MIN_OUT_FREQ   (ADF4355_3_MIN_VCO_FREQ / 64) /* Hz */

◆ ADF4355_3_MIN_VCO_FREQ

#define ADF4355_3_MIN_VCO_FREQ   3300000000ULL /* Hz */

◆ ADF4355_MAX_OUT_FREQ

#define ADF4355_MAX_OUT_FREQ   ADF4355_MAX_VCO_FREQ /* Hz */

◆ ADF4355_MAX_VCO_FREQ

#define ADF4355_MAX_VCO_FREQ   6800000000ULL /* Hz */

◆ ADF4355_MIN_OUT_FREQ

#define ADF4355_MIN_OUT_FREQ   (ADF4355_MIN_VCO_FREQ / 64) /* Hz */

◆ ADF4355_MIN_VCO_FREQ

#define ADF4355_MIN_VCO_FREQ   3400000000ULL /* Hz */

◆ ADF4355_REG6_OUTPUTB_PWR

#define ADF4355_REG6_OUTPUTB_PWR ( x)
Value:
(((x) & 0x3) << 7)

◆ ADF4355_REG6_RF_OUTB_EN

#define ADF4355_REG6_RF_OUTB_EN ( x)
Value:
((x) << 9)

◆ ADF4356_MAX_VCO_FREQ

#define ADF4356_MAX_VCO_FREQ   ADF5355_MAX_VCO_FREQ /* Hz */

◆ ADF4356_MIN_VCO_FREQ

#define ADF4356_MIN_VCO_FREQ   ADF5355_MIN_VCO_FREQ /* Hz */

◆ ADF4356_REG6_RF_OUTB_SEL

#define ADF4356_REG6_RF_OUTB_SEL ( x)
Value:
((x) << 25)

◆ ADF5355_MAX_FREQ_PFD

#define ADF5355_MAX_FREQ_PFD   75000000UL /* Hz */

◆ ADF5355_MAX_FREQ_REFIN

#define ADF5355_MAX_FREQ_REFIN   600000000UL /* Hz */

◆ ADF5355_MAX_MODULUS2

#define ADF5355_MAX_MODULUS2   16384

◆ ADF5355_MAX_OUT_FREQ

#define ADF5355_MAX_OUT_FREQ   ADF5355_MAX_VCO_FREQ /* Hz */

◆ ADF5355_MAX_OUTB_FREQ

#define ADF5355_MAX_OUTB_FREQ   (ADF5355_MAX_VCO_FREQ * 2) /* Hz */

◆ ADF5355_MAX_R_CNT

#define ADF5355_MAX_R_CNT   1023

◆ ADF5355_MAX_VCO_FREQ

#define ADF5355_MAX_VCO_FREQ   6800000000ULL /* Hz */

◆ ADF5355_MIN_INT_PRESCALER_89

#define ADF5355_MIN_INT_PRESCALER_89   75

◆ ADF5355_MIN_OUT_FREQ

#define ADF5355_MIN_OUT_FREQ   (ADF5355_MIN_VCO_FREQ / 64) /* Hz */

◆ ADF5355_MIN_OUTB_FREQ

#define ADF5355_MIN_OUTB_FREQ   (ADF5355_MIN_VCO_FREQ * 2) /* Hz */

◆ ADF5355_MIN_VCO_FREQ

#define ADF5355_MIN_VCO_FREQ   3400000000ULL /* Hz */

◆ ADF5355_MODULUS1

#define ADF5355_MODULUS1   16777216ULL

◆ ADF5355_REG

#define ADF5355_REG ( x)
Value:
(x)

◆ ADF5355_REG0_AUTOCAL

#define ADF5355_REG0_AUTOCAL ( x)
Value:
((x) << 21)

◆ ADF5355_REG0_INT

#define ADF5355_REG0_INT ( x)
Value:
(((x) & 0xFFFF) << 4)

◆ ADF5355_REG0_PRESCALER

#define ADF5355_REG0_PRESCALER ( x)
Value:
((x) << 20)

◆ ADF5355_REG10_ADC_CLK_DIV

#define ADF5355_REG10_ADC_CLK_DIV ( x)
Value:
(((x) & 0xFF) << 6)

◆ ADF5355_REG10_ADC_CONV_EN

#define ADF5355_REG10_ADC_CONV_EN ( x)
Value:
((x) << 5)

◆ ADF5355_REG10_ADC_EN

#define ADF5355_REG10_ADC_EN ( x)
Value:
((x) << 4)

◆ ADF5355_REG10_DEFAULT

#define ADF5355_REG10_DEFAULT   0x00C0000A

◆ ADF5355_REG11_DEFAULT

#define ADF5355_REG11_DEFAULT   0x0061300B

◆ ADF5355_REG12_DEFAULT

#define ADF5355_REG12_DEFAULT   0x0000041C

◆ ADF5355_REG12_PHASE_RESYNC_CLK_DIV

#define ADF5355_REG12_PHASE_RESYNC_CLK_DIV ( x)
Value:
(((x) & 0xFFFF) << 16)

◆ ADF5355_REG1_FRACT

#define ADF5355_REG1_FRACT ( x)
Value:
(((x) & 0xFFFFFF) << 4)

◆ ADF5355_REG2_FRAC2

#define ADF5355_REG2_FRAC2 ( x)
Value:
(((x) & 0x3FFF) << 18)

◆ ADF5355_REG2_MOD2

#define ADF5355_REG2_MOD2 ( x)
Value:
(((x) & 0x3FFF) << 4)

◆ ADF5355_REG3_EXACT_SDLOAD_RESET

#define ADF5355_REG3_EXACT_SDLOAD_RESET ( x)
Value:
((x) << 30)

◆ ADF5355_REG3_PHASE

#define ADF5355_REG3_PHASE ( x)
Value:
(((x) & 0xFFFFFF) << 4)

◆ ADF5355_REG3_PHASE_ADJUST

#define ADF5355_REG3_PHASE_ADJUST ( x)
Value:
((x) << 28)

◆ ADF5355_REG3_PHASE_RESYNC

#define ADF5355_REG3_PHASE_RESYNC ( x)
Value:
((x) << 29)

◆ ADF5355_REG4_10BIT_R_CNT

#define ADF5355_REG4_10BIT_R_CNT ( x)
Value:
(((x) & 0x3FF) << 15)

◆ ADF5355_REG4_CHARGE_PUMP_CURR

#define ADF5355_REG4_CHARGE_PUMP_CURR ( x)
Value:
(((x) & 0xF) << 10)

◆ ADF5355_REG4_COUNTER_RESET_EN

#define ADF5355_REG4_COUNTER_RESET_EN ( x)
Value:
((x) << 4)

◆ ADF5355_REG4_CP_THREESTATE_EN

#define ADF5355_REG4_CP_THREESTATE_EN ( x)
Value:
((x) << 5)

◆ ADF5355_REG4_DOUBLE_BUFF_EN

#define ADF5355_REG4_DOUBLE_BUFF_EN ( x)
Value:
((x) << 14)

◆ ADF5355_REG4_MUX_LOGIC

#define ADF5355_REG4_MUX_LOGIC ( x)
Value:
((x) << 8)

◆ ADF5355_REG4_MUXOUT

#define ADF5355_REG4_MUXOUT ( x)
Value:
(((x) & 0x7) << 27)

◆ ADF5355_REG4_PD_POLARITY_POS

#define ADF5355_REG4_PD_POLARITY_POS ( x)
Value:
((x) << 7)

◆ ADF5355_REG4_POWER_DOWN_EN

#define ADF5355_REG4_POWER_DOWN_EN ( x)
Value:
((x) << 6)

◆ ADF5355_REG4_RDIV2_EN

#define ADF5355_REG4_RDIV2_EN ( x)
Value:
((x) << 25)

◆ ADF5355_REG4_REFIN_MODE_DIFF

#define ADF5355_REG4_REFIN_MODE_DIFF ( x)
Value:
((x) << 9)

◆ ADF5355_REG4_RMULT2_EN

#define ADF5355_REG4_RMULT2_EN ( x)
Value:
((x) << 26)

◆ ADF5355_REG5_DEFAULT

#define ADF5355_REG5_DEFAULT   0x00800025

◆ ADF5355_REG6_CP_BLEED_CURR

#define ADF5355_REG6_CP_BLEED_CURR ( x)
Value:
(((x) & 0xFF) << 13)

◆ ADF5355_REG6_DEFAULT

#define ADF5355_REG6_DEFAULT   0x14000006

◆ ADF5355_REG6_FEEDBACK_FUND

#define ADF5355_REG6_FEEDBACK_FUND ( x)
Value:
((x) << 24)

◆ ADF5355_REG6_GATED_BLEED_EN

#define ADF5355_REG6_GATED_BLEED_EN ( x)
Value:
((x) << 30)

◆ ADF5355_REG6_MUTE_TILL_LOCK_EN

#define ADF5355_REG6_MUTE_TILL_LOCK_EN ( x)
Value:
((x) << 11)

◆ ADF5355_REG6_NEG_BLEED_EN

#define ADF5355_REG6_NEG_BLEED_EN ( x)
Value:
((x) << 29)

◆ ADF5355_REG6_OUTPUT_PWR

#define ADF5355_REG6_OUTPUT_PWR ( x)
Value:
(((x) & 0x3) << 4)

◆ ADF5355_REG6_RF_DIV_SEL

#define ADF5355_REG6_RF_DIV_SEL ( x)
Value:
(((x) & 0x7) << 21)

◆ ADF5355_REG6_RF_OUT_EN

#define ADF5355_REG6_RF_OUT_EN ( x)
Value:
((x) << 6)

◆ ADF5355_REG6_RF_OUTB_EN

#define ADF5355_REG6_RF_OUTB_EN ( x)
Value:
((x) << 10)

◆ ADF5355_REG7_DEFAULT

#define ADF5355_REG7_DEFAULT   0x10000007

◆ ADF5355_REG7_FACT_N_LD_PRECISION

#define ADF5355_REG7_FACT_N_LD_PRECISION ( x)
Value:
(((x) & 0x3) << 5)

◆ ADF5355_REG7_LD_CYCLE_CNT

#define ADF5355_REG7_LD_CYCLE_CNT ( x)
Value:
(((x) & 0x3) << 8)

◆ ADF5355_REG7_LD_MODE_INT_N_EN

#define ADF5355_REG7_LD_MODE_INT_N_EN ( x)
Value:
((x) << 4)

◆ ADF5355_REG7_LE_SYNCED_REFIN_EN

#define ADF5355_REG7_LE_SYNCED_REFIN_EN ( x)
Value:
((x) << 25)

◆ ADF5355_REG7_LOL_MODE_EN

#define ADF5355_REG7_LOL_MODE_EN ( x)
Value:
((x) << 7)

◆ ADF5355_REG8_DEFAULT

#define ADF5355_REG8_DEFAULT   0x102D0428

◆ ADF5355_REG9_ALC_TIMEOUT

#define ADF5355_REG9_ALC_TIMEOUT ( x)
Value:
(((x) & 0x1F) << 9)

◆ ADF5355_REG9_SYNTH_LOCK_TIMEOUT

#define ADF5355_REG9_SYNTH_LOCK_TIMEOUT ( x)
Value:
(((x) & 0x1F) << 4)

◆ ADF5355_REG9_TIMEOUT

#define ADF5355_REG9_TIMEOUT ( x)
Value:
(((x) & 0x3FF) << 14)

◆ ADF5355_REG9_VCO_BAND_DIV

#define ADF5355_REG9_VCO_BAND_DIV ( x)
Value:
(((x) & 0xFF) << 24)

◆ ADF5355_REG_NUM

#define ADF5355_REG_NUM   14

◆ ADF5355_SPI_NO_BYTES

#define ADF5355_SPI_NO_BYTES   4

◆ ADF5356_MAX_MODULUS2

#define ADF5356_MAX_MODULUS2   268435456

◆ ADF5356_REG11_DEFAULT

#define ADF5356_REG11_DEFAULT   0x0061200B

◆ ADF5356_REG11_VCO_BAND_HOLD_EN

#define ADF5356_REG11_VCO_BAND_HOLD_EN ( x)
Value:
((x) << 24)

◆ ADF5356_REG12_DEFAULT

#define ADF5356_REG12_DEFAULT   0x000005FC

◆ ADF5356_REG12_PHASE_RESYNC_CLK_DIV

#define ADF5356_REG12_PHASE_RESYNC_CLK_DIV ( x)
Value:
(((x) & 0xFFFFF) << 12)

◆ ADF5356_REG13_FRAC2_MSB

#define ADF5356_REG13_FRAC2_MSB ( x)
Value:
(((x) & 0x3FFF) << 18)

◆ ADF5356_REG13_MOD2_MSB

#define ADF5356_REG13_MOD2_MSB ( x)
Value:
(((x) & 0x3FFF) << 4)

◆ ADF5356_REG6_BLEED_POLARITY

#define ADF5356_REG6_BLEED_POLARITY ( x)
Value:
((x) << 31)

◆ ADF5356_REG7_DEFAULT

#define ADF5356_REG7_DEFAULT   0x04000007

◆ ADF5356_REG7_LE_SYNCE_EDGE_RISING_EN

#define ADF5356_REG7_LE_SYNCE_EDGE_RISING_EN ( x)
Value:
((x) << 27)

◆ ADF5356_REG8_DEFAULT

#define ADF5356_REG8_DEFAULT   0x15596568

Enumeration Type Documentation

◆ adf5355_device_id

Devices supported by the drivers.

Enumerator
ADF5355 
ADF4355 
ADF4355_2 
ADF4355_3 
ADF4356 
ADF5356 

◆ adf5355_mux_out_sel

Muxout selection.

Enumerator
ADF5355_MUXOUT_THREESTATE 
ADF5355_MUXOUT_DVDD 
ADF5355_MUXOUT_GND 
ADF5355_MUXOUT_R_DIV_OUT 
ADF5355_MUXOUT_N_DIV_OUT 
ADF5355_MUXOUT_ANALOG_LOCK_DETECT 
ADF5355_MUXOUT_DIGITAL_LOCK_DETECT 

Function Documentation

◆ adf5355_clk_recalc_rate()

int32_t adf5355_clk_recalc_rate ( struct adf5355_dev * dev,
uint32_t chan,
uint64_t * rate )

Recalculate rate corresponding to a channel.

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

◆ adf5355_clk_round_rate()

int32_t adf5355_clk_round_rate ( struct adf5355_dev * dev,
uint64_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.

◆ adf5355_clk_set_rate()

int32_t adf5355_clk_set_rate ( struct adf5355_dev * dev,
uint32_t chan,
uint64_t rate )

Set channel rate.

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

◆ adf5355_init()

int32_t adf5355_init ( struct adf5355_dev ** device,
const struct adf5355_init_param * init_param )

Initializes the ADF5355.

Parameters
device- The device structure.
init_param- The structure containing the device initial parameters.
Returns
Returns 0 in case of success or negative error code.

◆ adf5355_remove()

int32_t adf5355_remove ( struct adf5355_dev * device)

Remove the device - release resources.

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