no-OS
Classes | Macros | Enumerations | Functions
adf4106.h File Reference

Header file of ADF4106 driver. This driver supporting the following devices : ADF4001, ADF4002, ADF4106. More...

#include <stdint.h>
#include "no-os/delay.h"
#include "no-os/gpio.h"
#include "no-os/spi.h"
Include dependency graph for adf4106.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  adf4106_settings_t
 store the value of all the latch and the input reference frequency More...
 
struct  adf4106_chip_info
 
struct  adf4106_dev
 
struct  adf4106_init_param
 

Macros

#define ADF4106_LE_OUT
 
#define ADF4106_LE_LOW
 
#define ADF4106_LE_HIGH
 
#define ADF4106_CE_OUT
 
#define ADF4106_CE_LOW
 
#define ADF4106_CE_HIGH
 
#define ADF4106_LE2_OUT
 
#define ADF4106_LE2_LOW
 
#define ADF4106_LE2_HIGH
 
#define ADF4106_CE2_OUT
 
#define ADF4106_CE2_LOW
 
#define ADF4106_CE2_HIGH
 
#define ADF4106_CTRL_MASK   0x3
 
#define ADF4106_CTRL_R_COUNTER   0 /* Reference Counter */
 
#define ADF4106_CTRL_N_COUNTER   1 /* N Counter */
 
#define ADF4106_CTRL_FUNCTION_LATCH   2 /* Function Latch*/
 
#define ADF4106_CTRL_INIT_LATCH   3 /* Initialization Latch*/
 
#define ADF4106_R_COUNTER_OFFSET   2
 
#define ADF4106_R_COUNTER_MASK   0x3FFFul
 
#define ADF4106_R_COUNTER(x)
 
#define ADF4106_R_ABP_OFFSET   16
 
#define ADF4106_R_ABP_MASK   0x3
 
#define ADF4106_R_ABP(x)
 
#define ADF4106_R_ABP_2_9NS   0
 
#define ADF4106_R_ABP_1_3NS   1
 
#define ADF4106_R_ABP_6_0NS   2
 
#define ADF4106_R_TMB_OFFSET   18
 
#define ADF4106_R_TMB_MASK   0x1
 
#define ADF4106_R_TMB(x)
 
#define ADF4106_R_TMB_NORMAL   0
 
#define ADF4106_R_LDP_OFFSET   20
 
#define ADF4106_R_LDP_MASK   0x1
 
#define ADF4106_R_LDP(x)
 
#define ADF4106_R_LDP_3   0
 
#define ADF4106_R_LDP_5   1
 
#define ADF4106_N_COUNTER_A_OFFSET   2
 
#define ADF4106_N_COUNTER_A_MASK   0x3F
 
#define ADF4106_N_COUNTER_A(x)
 
#define ADF4106_N_COUNTER_B_OFFSET   8
 
#define ADF4106_N_COUNTER_B_MASK   0x1FFF
 
#define ADF4106_N_COUNTER_B(x)
 
#define ADF4106_N_CP_OFFSET   21
 
#define ADF4106_N_CP_MASK   0x1
 
#define ADF4106_N_CP(x)
 
#define ADF4106_N_CP_GAIN_1   0
 
#define ADF4106_N_CP_GAIN_2   1
 
#define ADF4106_CR_OFFSET   2
 
#define ADF4106_CR_MASK   0x1ul
 
#define ADF4106_CR(x)
 
#define ADF4106_PD1_OFFSET   3
 
#define ADF4106_PD1_MASK   0x1
 
#define ADF4106_PD1(x)
 
#define ADF4106_MUXOUT_OFFSET   4
 
#define ADF4106_MUXOUT_MASK   0x7
 
#define ADF4106_MUXOUT(x)
 
#define ADF4106_PDPOL_OFFSET   7
 
#define ADF4106_PDPOL_MASK   0x1
 
#define ADF4106_PDPOL(x)
 
#define ADF4106_CP_OFFSET   8
 
#define ADF4106_CP_MASK   0x1
 
#define ADF4106_CP(x)
 
#define ADF4106_FASTLOCK_OFFSET   9
 
#define ADF4106_FASTLOCK_MASK   0x3
 
#define ADF4106_FASTLOCK(x)
 
#define ADF4106_TCC_OFFSET   11
 
#define ADF4106_TCC_MASK   0xF
 
#define ADF4106_TCC(x)
 
#define ADF4106_CS1_OFFSET   15
 
#define ADF4106_CS1_MASK   0x7
 
#define ADF4106_CS1(x)   ((x) << ADF4106_CS1_OFFSET)
 
#define ADF4106_CS2_OFFSET   18
 
#define ADF4106_CS2_MASK   0x7
 
#define ADF4106_CS2(x)   ((x) << ADF4106_CS2_OFFSET)
 
#define ADF4106_PD2_OFFSET   21
 
#define ADF4106_PD2_MASK   0x1
 
#define ADF4106_PD2(x)
 
#define ADF4106_PS_OFFSET   22
 
#define ADF4106_PS_MASK   0x3
 
#define ADF4106_PS(x)
 
#define ADF4106_CR_NORMAL   0
 
#define ADF4106_CR_RESET   1
 
#define ADF4106_PD1_NORMAL   0
 
#define ADF4106_PD1_POWER_DOWN   1
 
#define ADF4106_MUXOUT_3STATE   0
 
#define ADF4106_MUXOUT_DLOCK_DETECT   1
 
#define ADF4106_MUXOUT_NDIV_OUTPUT   2
 
#define ADF4106_MUXOUT_AVDD   3
 
#define ADF4106_MUXOUT_RDIV_OUTPUT   4
 
#define ADF4106_MUXOUT_NCH_OPENDRAIN   5
 
#define ADF4106_MUXOUT_SERIAL_OUTPUT   6
 
#define ADF4106_MUXOUT_DGND   7
 
#define ADF4106_PDPOL_NEGATIVE   0
 
#define ADF4106_PDPOL_POSITIVE   1
 
#define ADF4106_CP_NORMAL   0
 
#define ADF4106_CP_THREE_STATE   1
 
#define ADF4106_FASTLOCK_DISABLE   0
 
#define ADF4106_FASTLOCK_MODE1   1
 
#define ADF4106_FASTLOCK_MODE2   3
 
#define ADF4106_TCC_3   0
 
#define ADF4106_TCC_7   1
 
#define ADF4106_TCC_11   2
 
#define ADF4106_TCC_15   3
 
#define ADF4106_TCC_19   4
 
#define ADF4106_TCC_23   5
 
#define ADF4106_TCC_27   6
 
#define ADF4106_TCC_31   7
 
#define ADF4106_TCC_35   8
 
#define ADF4106_TCC_39   9
 
#define ADF4106_TCC_43   10
 
#define ADF4106_TCC_47   11
 
#define ADF4106_TCC_51   12
 
#define ADF4106_TCC_55   13
 
#define ADF4106_TCC_59   14
 
#define ADF4106_TCC_63   15
 
#define ADF4106_CS_0_62   0
 
#define ADF4106_CS_1_25   1
 
#define ADF4106_CS_1_87   2
 
#define ADF4106_CS_2_5   3
 
#define ADF4106_CS_3_12   4
 
#define ADF4106_CS_3_75   5
 
#define ADF4106_CS_4_37   6
 
#define ADF4106_CS_5_0   7
 
#define ADF4106_ASYNC_PWD   0
 
#define ADF4106_SYNC_PWD   1
 
#define ADF4106_PS_8_9   0
 
#define ADF4106_PS_16_17   1
 
#define ADF4106_PS_32_33   2
 
#define ADF4106_PS_64_65   3
 
#define ADF4106_PRESCALE(x)   (8 << (x))
 

Enumerations

enum  adf4106_type_t {
  ID_ADF4001,
  ID_ADF4002,
  ID_ADF4106
}
 
enum  adf4106_init_t {
  INIT_LATCH,
  INIT_CEPIN,
  INIT_COUNTER_RESET
}
 

Functions

int8_t adf4106_init (struct adf4106_dev **device, struct adf4106_init_param init_param)
 Initialize SPI and Initial Values for ADF4106 Board. More...
 
int32_t adf4106_remove (struct adf4106_dev *dev)
 Free the resources allocated by adf4106_init(). More...
 
void adf4106_update_latch (struct adf4106_dev *dev, uint32_t latch_data)
 Update one of the latch via the SPI interface. More...
 
uint32_t adf4106_read_latch (struct adf4106_dev *dev, uint8_t latch_type)
 Return the value of a desired latch. More...
 
void adf4106_init_latch_method (struct adf4106_dev *dev)
 Initialization latch method. More...
 
void adf4106_init_cepin_method (struct adf4106_dev *dev)
 CE Pin method. More...
 
void adf4106_init_counte_reset_method (struct adf4106_dev *dev)
 Counter reset method. More...
 
uint64_t adf4106_set_frequency (struct adf4106_dev *dev, uint64_t frequency)
 Sets the output frequency. More...
 

Detailed Description

Header file of ADF4106 driver. This driver supporting the following devices : ADF4001, ADF4002, ADF4106.

Author
Istvan Csomortani (istva.nosp@m.n.cs.nosp@m.omort.nosp@m.ani@.nosp@m.analo.nosp@m.g.co.nosp@m.m)

Copyright 2013(c) Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Macro Definition Documentation

◆ ADF4106_ASYNC_PWD

#define ADF4106_ASYNC_PWD   0

◆ ADF4106_CE2_HIGH

#define ADF4106_CE2_HIGH
Value:
gpio_set_value(dev->gpio_ce2, \

◆ ADF4106_CE2_LOW

#define ADF4106_CE2_LOW
Value:
gpio_set_value(dev->gpio_ce2, \

◆ ADF4106_CE2_OUT

#define ADF4106_CE2_OUT
Value:
gpio_direction_output(dev->gpio_ce2, \

◆ ADF4106_CE_HIGH

#define ADF4106_CE_HIGH
Value:
gpio_set_value(dev->gpio_ce, \

◆ ADF4106_CE_LOW

#define ADF4106_CE_LOW
Value:
gpio_set_value(dev->gpio_ce, \

◆ ADF4106_CE_OUT

#define ADF4106_CE_OUT
Value:
gpio_direction_output(dev->gpio_ce, \

◆ ADF4106_CP

#define ADF4106_CP (   x)
Value:

◆ ADF4106_CP_MASK

#define ADF4106_CP_MASK   0x1

◆ ADF4106_CP_NORMAL

#define ADF4106_CP_NORMAL   0

◆ ADF4106_CP_OFFSET

#define ADF4106_CP_OFFSET   8

◆ ADF4106_CP_THREE_STATE

#define ADF4106_CP_THREE_STATE   1

◆ ADF4106_CR

#define ADF4106_CR (   x)
Value:

◆ ADF4106_CR_MASK

#define ADF4106_CR_MASK   0x1ul

◆ ADF4106_CR_NORMAL

#define ADF4106_CR_NORMAL   0

◆ ADF4106_CR_OFFSET

#define ADF4106_CR_OFFSET   2

◆ ADF4106_CR_RESET

#define ADF4106_CR_RESET   1

◆ ADF4106_CS1

#define ADF4106_CS1 (   x)    ((x) << ADF4106_CS1_OFFSET)

◆ ADF4106_CS1_MASK

#define ADF4106_CS1_MASK   0x7

◆ ADF4106_CS1_OFFSET

#define ADF4106_CS1_OFFSET   15

◆ ADF4106_CS2

#define ADF4106_CS2 (   x)    ((x) << ADF4106_CS2_OFFSET)

◆ ADF4106_CS2_MASK

#define ADF4106_CS2_MASK   0x7

◆ ADF4106_CS2_OFFSET

#define ADF4106_CS2_OFFSET   18

◆ ADF4106_CS_0_62

#define ADF4106_CS_0_62   0

◆ ADF4106_CS_1_25

#define ADF4106_CS_1_25   1

◆ ADF4106_CS_1_87

#define ADF4106_CS_1_87   2

◆ ADF4106_CS_2_5

#define ADF4106_CS_2_5   3

◆ ADF4106_CS_3_12

#define ADF4106_CS_3_12   4

◆ ADF4106_CS_3_75

#define ADF4106_CS_3_75   5

◆ ADF4106_CS_4_37

#define ADF4106_CS_4_37   6

◆ ADF4106_CS_5_0

#define ADF4106_CS_5_0   7

◆ ADF4106_CTRL_FUNCTION_LATCH

#define ADF4106_CTRL_FUNCTION_LATCH   2 /* Function Latch*/

◆ ADF4106_CTRL_INIT_LATCH

#define ADF4106_CTRL_INIT_LATCH   3 /* Initialization Latch*/

◆ ADF4106_CTRL_MASK

#define ADF4106_CTRL_MASK   0x3

◆ ADF4106_CTRL_N_COUNTER

#define ADF4106_CTRL_N_COUNTER   1 /* N Counter */

◆ ADF4106_CTRL_R_COUNTER

#define ADF4106_CTRL_R_COUNTER   0 /* Reference Counter */

◆ ADF4106_FASTLOCK

#define ADF4106_FASTLOCK (   x)

◆ ADF4106_FASTLOCK_DISABLE

#define ADF4106_FASTLOCK_DISABLE   0

◆ ADF4106_FASTLOCK_MASK

#define ADF4106_FASTLOCK_MASK   0x3

◆ ADF4106_FASTLOCK_MODE1

#define ADF4106_FASTLOCK_MODE1   1

◆ ADF4106_FASTLOCK_MODE2

#define ADF4106_FASTLOCK_MODE2   3

◆ ADF4106_FASTLOCK_OFFSET

#define ADF4106_FASTLOCK_OFFSET   9

◆ ADF4106_LE2_HIGH

#define ADF4106_LE2_HIGH
Value:
gpio_set_value(dev->gpio_le2, \

◆ ADF4106_LE2_LOW

#define ADF4106_LE2_LOW
Value:
gpio_set_value(dev->gpio_le2, \

◆ ADF4106_LE2_OUT

#define ADF4106_LE2_OUT
Value:
gpio_direction_output(dev->gpio_le2, \

◆ ADF4106_LE_HIGH

#define ADF4106_LE_HIGH
Value:
gpio_set_value(dev->gpio_le, \

◆ ADF4106_LE_LOW

#define ADF4106_LE_LOW
Value:
gpio_set_value(dev->gpio_le, \

◆ ADF4106_LE_OUT

#define ADF4106_LE_OUT
Value:
gpio_direction_output(dev->gpio_le, \

◆ ADF4106_MUXOUT

#define ADF4106_MUXOUT (   x)

◆ ADF4106_MUXOUT_3STATE

#define ADF4106_MUXOUT_3STATE   0

◆ ADF4106_MUXOUT_AVDD

#define ADF4106_MUXOUT_AVDD   3

◆ ADF4106_MUXOUT_DGND

#define ADF4106_MUXOUT_DGND   7

◆ ADF4106_MUXOUT_DLOCK_DETECT

#define ADF4106_MUXOUT_DLOCK_DETECT   1

◆ ADF4106_MUXOUT_MASK

#define ADF4106_MUXOUT_MASK   0x7

◆ ADF4106_MUXOUT_NCH_OPENDRAIN

#define ADF4106_MUXOUT_NCH_OPENDRAIN   5

◆ ADF4106_MUXOUT_NDIV_OUTPUT

#define ADF4106_MUXOUT_NDIV_OUTPUT   2

◆ ADF4106_MUXOUT_OFFSET

#define ADF4106_MUXOUT_OFFSET   4

◆ ADF4106_MUXOUT_RDIV_OUTPUT

#define ADF4106_MUXOUT_RDIV_OUTPUT   4

◆ ADF4106_MUXOUT_SERIAL_OUTPUT

#define ADF4106_MUXOUT_SERIAL_OUTPUT   6

◆ ADF4106_N_COUNTER_A

#define ADF4106_N_COUNTER_A (   x)

◆ ADF4106_N_COUNTER_A_MASK

#define ADF4106_N_COUNTER_A_MASK   0x3F

◆ ADF4106_N_COUNTER_A_OFFSET

#define ADF4106_N_COUNTER_A_OFFSET   2

◆ ADF4106_N_COUNTER_B

#define ADF4106_N_COUNTER_B (   x)

◆ ADF4106_N_COUNTER_B_MASK

#define ADF4106_N_COUNTER_B_MASK   0x1FFF

◆ ADF4106_N_COUNTER_B_OFFSET

#define ADF4106_N_COUNTER_B_OFFSET   8

◆ ADF4106_N_CP

#define ADF4106_N_CP (   x)

◆ ADF4106_N_CP_GAIN_1

#define ADF4106_N_CP_GAIN_1   0

◆ ADF4106_N_CP_GAIN_2

#define ADF4106_N_CP_GAIN_2   1

◆ ADF4106_N_CP_MASK

#define ADF4106_N_CP_MASK   0x1

◆ ADF4106_N_CP_OFFSET

#define ADF4106_N_CP_OFFSET   21

◆ ADF4106_PD1

#define ADF4106_PD1 (   x)
Value:

◆ ADF4106_PD1_MASK

#define ADF4106_PD1_MASK   0x1

◆ ADF4106_PD1_NORMAL

#define ADF4106_PD1_NORMAL   0

◆ ADF4106_PD1_OFFSET

#define ADF4106_PD1_OFFSET   3

◆ ADF4106_PD1_POWER_DOWN

#define ADF4106_PD1_POWER_DOWN   1

◆ ADF4106_PD2

#define ADF4106_PD2 (   x)
Value:

◆ ADF4106_PD2_MASK

#define ADF4106_PD2_MASK   0x1

◆ ADF4106_PD2_OFFSET

#define ADF4106_PD2_OFFSET   21

◆ ADF4106_PDPOL

#define ADF4106_PDPOL (   x)

◆ ADF4106_PDPOL_MASK

#define ADF4106_PDPOL_MASK   0x1

◆ ADF4106_PDPOL_NEGATIVE

#define ADF4106_PDPOL_NEGATIVE   0

◆ ADF4106_PDPOL_OFFSET

#define ADF4106_PDPOL_OFFSET   7

◆ ADF4106_PDPOL_POSITIVE

#define ADF4106_PDPOL_POSITIVE   1

◆ ADF4106_PRESCALE

#define ADF4106_PRESCALE (   x)    (8 << (x))

◆ ADF4106_PS

#define ADF4106_PS (   x)
Value:

◆ ADF4106_PS_16_17

#define ADF4106_PS_16_17   1

◆ ADF4106_PS_32_33

#define ADF4106_PS_32_33   2

◆ ADF4106_PS_64_65

#define ADF4106_PS_64_65   3

◆ ADF4106_PS_8_9

#define ADF4106_PS_8_9   0

◆ ADF4106_PS_MASK

#define ADF4106_PS_MASK   0x3

◆ ADF4106_PS_OFFSET

#define ADF4106_PS_OFFSET   22

◆ ADF4106_R_ABP

#define ADF4106_R_ABP (   x)

◆ ADF4106_R_ABP_1_3NS

#define ADF4106_R_ABP_1_3NS   1

◆ ADF4106_R_ABP_2_9NS

#define ADF4106_R_ABP_2_9NS   0

◆ ADF4106_R_ABP_6_0NS

#define ADF4106_R_ABP_6_0NS   2

◆ ADF4106_R_ABP_MASK

#define ADF4106_R_ABP_MASK   0x3

◆ ADF4106_R_ABP_OFFSET

#define ADF4106_R_ABP_OFFSET   16

◆ ADF4106_R_COUNTER

#define ADF4106_R_COUNTER (   x)

◆ ADF4106_R_COUNTER_MASK

#define ADF4106_R_COUNTER_MASK   0x3FFFul

◆ ADF4106_R_COUNTER_OFFSET

#define ADF4106_R_COUNTER_OFFSET   2

◆ ADF4106_R_LDP

#define ADF4106_R_LDP (   x)

◆ ADF4106_R_LDP_3

#define ADF4106_R_LDP_3   0

◆ ADF4106_R_LDP_5

#define ADF4106_R_LDP_5   1

◆ ADF4106_R_LDP_MASK

#define ADF4106_R_LDP_MASK   0x1

◆ ADF4106_R_LDP_OFFSET

#define ADF4106_R_LDP_OFFSET   20

◆ ADF4106_R_TMB

#define ADF4106_R_TMB (   x)

◆ ADF4106_R_TMB_MASK

#define ADF4106_R_TMB_MASK   0x1

◆ ADF4106_R_TMB_NORMAL

#define ADF4106_R_TMB_NORMAL   0

◆ ADF4106_R_TMB_OFFSET

#define ADF4106_R_TMB_OFFSET   18

◆ ADF4106_SYNC_PWD

#define ADF4106_SYNC_PWD   1

◆ ADF4106_TCC

#define ADF4106_TCC (   x)
Value:

◆ ADF4106_TCC_11

#define ADF4106_TCC_11   2

◆ ADF4106_TCC_15

#define ADF4106_TCC_15   3

◆ ADF4106_TCC_19

#define ADF4106_TCC_19   4

◆ ADF4106_TCC_23

#define ADF4106_TCC_23   5

◆ ADF4106_TCC_27

#define ADF4106_TCC_27   6

◆ ADF4106_TCC_3

#define ADF4106_TCC_3   0

◆ ADF4106_TCC_31

#define ADF4106_TCC_31   7

◆ ADF4106_TCC_35

#define ADF4106_TCC_35   8

◆ ADF4106_TCC_39

#define ADF4106_TCC_39   9

◆ ADF4106_TCC_43

#define ADF4106_TCC_43   10

◆ ADF4106_TCC_47

#define ADF4106_TCC_47   11

◆ ADF4106_TCC_51

#define ADF4106_TCC_51   12

◆ ADF4106_TCC_55

#define ADF4106_TCC_55   13

◆ ADF4106_TCC_59

#define ADF4106_TCC_59   14

◆ ADF4106_TCC_63

#define ADF4106_TCC_63   15

◆ ADF4106_TCC_7

#define ADF4106_TCC_7   1

◆ ADF4106_TCC_MASK

#define ADF4106_TCC_MASK   0xF

◆ ADF4106_TCC_OFFSET

#define ADF4106_TCC_OFFSET   11

Enumeration Type Documentation

◆ adf4106_init_t

Enumerator
INIT_LATCH 
INIT_CEPIN 
INIT_COUNTER_RESET 

◆ adf4106_type_t

Enumerator
ID_ADF4001 
ID_ADF4002 
ID_ADF4106 

Function Documentation

◆ adf4106_init()

int8_t adf4106_init ( struct adf4106_dev **  device,
struct adf4106_init_param  init_param 
)

Initialize SPI and Initial Values for ADF4106 Board.

Parameters
device- The device structure.
init_param- The structure that contains the device initial parameters.
Returns
success

◆ adf4106_init_cepin_method()

void adf4106_init_cepin_method ( struct adf4106_dev dev)

CE Pin method.

Parameters
dev- The device structure.
Returns
Here is the caller graph for this function:

◆ adf4106_init_counte_reset_method()

void adf4106_init_counte_reset_method ( struct adf4106_dev dev)

Counter reset method.

Parameters
dev- The device structure.
Returns
Here is the caller graph for this function:

◆ adf4106_init_latch_method()

void adf4106_init_latch_method ( struct adf4106_dev dev)

Initialization latch method.

Parameters
dev- The device structure.
Returns
Here is the caller graph for this function:

◆ adf4106_read_latch()

uint32_t adf4106_read_latch ( struct adf4106_dev dev,
uint8_t  latch_type 
)

Return the value of a desired latch.

Parameters
dev- The device structure.
latch_type- the type of the latch: 0 - 'ADF4106_CTRL_R_COUNTER' 1 - 'ADF4106_CTRL_N_COUNTER' 2 - 'ADF4106_CTRL_FUNCTION_LATCH' 3 - 'ADF4106_CTRL_INIT_LATCH'
Returns
latchValue - the value of the desired latch

◆ adf4106_remove()

int32_t adf4106_remove ( struct adf4106_dev dev)

Free the resources allocated by adf4106_init().

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

◆ adf4106_set_frequency()

uint64_t adf4106_set_frequency ( struct adf4106_dev dev,
uint64_t  frequency 
)

Sets the output frequency.

Parameters
dev- The device structure.
frequency- The desired frequency value.
Returns
calculatedFrequency - The actual frequency value that was set.

◆ adf4106_update_latch()

void adf4106_update_latch ( struct adf4106_dev dev,
uint32_t  latch_data 
)

Update one of the latch via the SPI interface.

Parameters
dev- The device structure.
latch_data- the data which will be written to the latch
Returns
Here is the caller graph for this function:
ADF4106_R_TMB_OFFSET
#define ADF4106_R_TMB_OFFSET
Definition: adf4106.h:108
ADF4106_N_COUNTER_A_OFFSET
#define ADF4106_N_COUNTER_A_OFFSET
Definition: adf4106.h:122
ADF4106_PD2_OFFSET
#define ADF4106_PD2_OFFSET
Definition: adf4106.h:183
ADF4106_PS_OFFSET
#define ADF4106_PS_OFFSET
Definition: adf4106.h:188
ADF4106_PDPOL_MASK
#define ADF4106_PDPOL_MASK
Definition: adf4106.h:156
ADF4106_R_COUNTER_OFFSET
#define ADF4106_R_COUNTER_OFFSET
Definition: adf4106.h:94
ADF4106_CR_OFFSET
#define ADF4106_CR_OFFSET
Definition: adf4106.h:140
gpio_direction_output
int32_t gpio_direction_output(struct gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: gpio.c:124
ADF4106_PS_MASK
#define ADF4106_PS_MASK
Definition: adf4106.h:189
ADF4106_FASTLOCK_MASK
#define ADF4106_FASTLOCK_MASK
Definition: adf4106.h:166
GPIO_LOW
@ GPIO_LOW
Definition: gpio.h:99
ADF4106_R_COUNTER_MASK
#define ADF4106_R_COUNTER_MASK
Definition: adf4106.h:95
ADF4106_TCC_OFFSET
#define ADF4106_TCC_OFFSET
Definition: adf4106.h:170
ADF4106_MUXOUT_OFFSET
#define ADF4106_MUXOUT_OFFSET
Definition: adf4106.h:150
ADF4106_PD2_MASK
#define ADF4106_PD2_MASK
Definition: adf4106.h:184
ADF4106_MUXOUT_MASK
#define ADF4106_MUXOUT_MASK
Definition: adf4106.h:151
ADF4106_TCC_MASK
#define ADF4106_TCC_MASK
Definition: adf4106.h:171
ADF4106_N_CP_MASK
#define ADF4106_N_CP_MASK
Definition: adf4106.h:132
ADF4106_N_COUNTER_B_MASK
#define ADF4106_N_COUNTER_B_MASK
Definition: adf4106.h:127
ADF4106_R_ABP_MASK
#define ADF4106_R_ABP_MASK
Definition: adf4106.h:100
ADF4106_CP_OFFSET
#define ADF4106_CP_OFFSET
Definition: adf4106.h:160
gpio_set_value
int32_t gpio_set_value(struct gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition: gpio.c:160
GPIO_HIGH
@ GPIO_HIGH
Definition: gpio.h:101
ADF4106_N_CP_OFFSET
#define ADF4106_N_CP_OFFSET
Definition: adf4106.h:131
ADF4106_PD1_OFFSET
#define ADF4106_PD1_OFFSET
Definition: adf4106.h:145
ADF4106_PDPOL_OFFSET
#define ADF4106_PDPOL_OFFSET
Definition: adf4106.h:155
ADF4106_N_COUNTER_B_OFFSET
#define ADF4106_N_COUNTER_B_OFFSET
Definition: adf4106.h:126
ADF4106_R_ABP_OFFSET
#define ADF4106_R_ABP_OFFSET
Definition: adf4106.h:99
ADF4106_R_TMB_MASK
#define ADF4106_R_TMB_MASK
Definition: adf4106.h:109
ADF4106_R_LDP_MASK
#define ADF4106_R_LDP_MASK
Definition: adf4106.h:115
ADF4106_N_COUNTER_A_MASK
#define ADF4106_N_COUNTER_A_MASK
Definition: adf4106.h:123
ADF4106_FASTLOCK_OFFSET
#define ADF4106_FASTLOCK_OFFSET
Definition: adf4106.h:165
ADF4106_R_LDP_OFFSET
#define ADF4106_R_LDP_OFFSET
Definition: adf4106.h:114
ADF4106_CP_MASK
#define ADF4106_CP_MASK
Definition: adf4106.h:161
ADF4106_CR_MASK
#define ADF4106_CR_MASK
Definition: adf4106.h:141
ADF4106_PD1_MASK
#define ADF4106_PD1_MASK
Definition: adf4106.h:146