Header file of adf4153 driver.
More...
#include <stdint.h>
#include "no_os_gpio.h"
#include "no_os_spi.h"
Go to the source code of this file.
Header file of adf4153 driver.
- 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:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
- The use of this software may or may not infringe the patent rights of one or more patent holders. This license does not release you from the requirement that you obtain separate licenses from these patent holders to use this software.
- Use of the software either in source or binary form, must be run on or directly connected to an Analog Devices Inc. component.
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.
◆ ADF4153_CE2_HIGH
◆ ADF4153_CE2_LOW
◆ ADF4153_CE2_OUT
◆ ADF4153_CE_HIGH
◆ ADF4153_CE_LOW
◆ ADF4153_CE_OUT
◆ ADF4153_CP2_CURRENT_0_31
#define ADF4153_CP2_CURRENT_0_31 8 |
◆ ADF4153_CP2_CURRENT_0_63
#define ADF4153_CP2_CURRENT_0_63 9 |
◆ ADF4153_CP2_CURRENT_0_94
#define ADF4153_CP2_CURRENT_0_94 10 |
◆ ADF4153_CP2_CURRENT_1_25
#define ADF4153_CP2_CURRENT_1_25 11 |
◆ ADF4153_CP2_CURRENT_1_57
#define ADF4153_CP2_CURRENT_1_57 12 |
◆ ADF4153_CP2_CURRENT_1_88
#define ADF4153_CP2_CURRENT_1_88 13 |
◆ ADF4153_CP2_CURRENT_2_19
#define ADF4153_CP2_CURRENT_2_19 14 |
◆ ADF4153_CP2_CURRENT_2_50
#define ADF4153_CP2_CURRENT_2_50 15 |
◆ ADF4153_CP_CURRENT_0_63
#define ADF4153_CP_CURRENT_0_63 0 |
◆ ADF4153_CP_CURRENT_1_25
#define ADF4153_CP_CURRENT_1_25 1 |
◆ ADF4153_CP_CURRENT_1_88
#define ADF4153_CP_CURRENT_1_88 2 |
◆ ADF4153_CP_CURRENT_2_50
#define ADF4153_CP_CURRENT_2_50 3 |
◆ ADF4153_CP_CURRENT_3_13
#define ADF4153_CP_CURRENT_3_13 4 |
◆ ADF4153_CP_CURRENT_3_75
#define ADF4153_CP_CURRENT_3_75 5 |
◆ ADF4153_CP_CURRENT_4_38
#define ADF4153_CP_CURRENT_4_38 6 |
◆ ADF4153_CP_CURRENT_5_00
#define ADF4153_CP_CURRENT_5_00 7 |
◆ ADF4153_CP_DISABLED
#define ADF4153_CP_DISABLED 0 |
◆ ADF4153_CP_THREE_STATE
#define ADF4153_CP_THREE_STATE 1 |
◆ ADF4153_CR_DISABLED
#define ADF4153_CR_DISABLED 0 |
◆ ADF4153_CR_ENABLED
#define ADF4153_CR_ENABLED 1 |
◆ ADF4153_CTRL_CONTROL
#define ADF4153_CTRL_CONTROL 2 /* Control Register */ |
◆ ADF4153_CTRL_MASK
#define ADF4153_CTRL_MASK 0x3 |
◆ ADF4153_CTRL_N_DIVIDER
#define ADF4153_CTRL_N_DIVIDER 0 /* N Divider Register */ |
◆ ADF4153_CTRL_NOISE_SPUR
#define ADF4153_CTRL_NOISE_SPUR 3 /* Noise and Spur Reg*/ |
◆ ADF4153_CTRL_R_DIVIDER
#define ADF4153_CTRL_R_DIVIDER 1 /* R Divider Register */ |
◆ ADF4153_FASTLOCK_DISABLED
#define ADF4153_FASTLOCK_DISABLED 0 |
◆ ADF4153_FASTLOCK_ENABLED
#define ADF4153_FASTLOCK_ENABLED 1 |
◆ ADF4153_LDP_24
◆ ADF4153_LDP_40
◆ ADF4153_LE2_HIGH
◆ ADF4153_LE2_LOW
◆ ADF4153_LE2_OUT
◆ ADF4153_LE_HIGH
◆ ADF4153_LE_LOW
◆ ADF4153_LE_OUT
◆ ADF4153_LOAD_NORMAL
#define ADF4153_LOAD_NORMAL 0 |
◆ ADF4153_LOAD_RESYNC
#define ADF4153_LOAD_RESYNC 1 |
◆ ADF4153_LOW_NOISE_SPUR
#define ADF4153_LOW_NOISE_SPUR 0b11100 |
◆ ADF4153_LOW_SPUR_MODE
#define ADF4153_LOW_SPUR_MODE 0b00000 |
◆ ADF4153_LOWEST_NOISE
#define ADF4153_LOWEST_NOISE 0b11111 |
◆ ADF4153_MUXOUT_ANALOG_LOCK
#define ADF4153_MUXOUT_ANALOG_LOCK 5 |
◆ ADF4153_MUXOUT_DIGITAL_LOCK
#define ADF4153_MUXOUT_DIGITAL_LOCK 1 |
◆ ADF4153_MUXOUT_FASTLOCK
#define ADF4153_MUXOUT_FASTLOCK 6 |
◆ ADF4153_MUXOUT_LOGICHIGH
#define ADF4153_MUXOUT_LOGICHIGH 3 |
◆ ADF4153_MUXOUT_LOGICLOW
#define ADF4153_MUXOUT_LOGICLOW 7 |
◆ ADF4153_MUXOUT_NDIV_OUTPUT
#define ADF4153_MUXOUT_NDIV_OUTPUT 2 |
◆ ADF4153_MUXOUT_RDIV_OUTPUT
#define ADF4153_MUXOUT_RDIV_OUTPUT 4 |
◆ ADF4153_MUXOUT_THREESTATE
#define ADF4153_MUXOUT_THREESTATE 0 |
◆ ADF4153_PD_DISABLED
#define ADF4153_PD_DISABLED 0 |
◆ ADF4153_PD_ENABLED
#define ADF4153_PD_ENABLED 1 |
◆ ADF4153_PD_POL_NEGATIV
#define ADF4153_PD_POL_NEGATIV 0 |
◆ ADF4153_PD_POL_POSITIVE
#define ADF4153_PD_POL_POSITIVE 1 |
◆ ADF4153_PRESCALER_4_5
#define ADF4153_PRESCALER_4_5 0 |
◆ ADF4153_PRESCALER_8_9
#define ADF4153_PRESCALER_8_9 1 |
◆ ADF4153_R0_FASTLOCK
#define ADF4153_R0_FASTLOCK |
( |
|
x | ) |
|
◆ ADF4153_R0_FASTLOCK_MASK
#define ADF4153_R0_FASTLOCK_MASK 0x1 |
◆ ADF4153_R0_FASTLOCK_OFFSET
#define ADF4153_R0_FASTLOCK_OFFSET 23 |
◆ ADF4153_R0_FRAC
#define ADF4153_R0_FRAC |
( |
|
x | ) |
|
◆ ADF4153_R0_FRAC_MASK
#define ADF4153_R0_FRAC_MASK 0xFFFul |
◆ ADF4153_R0_FRAC_OFFSET
#define ADF4153_R0_FRAC_OFFSET 2 |
◆ ADF4153_R0_INT
#define ADF4153_R0_INT |
( |
|
x | ) |
|
◆ ADF4153_R0_INT_MASK
#define ADF4153_R0_INT_MASK 0x1FFul |
◆ ADF4153_R0_INT_OFFSET
#define ADF4153_R0_INT_OFFSET 14 |
◆ ADF4153_R1_LOAD
#define ADF4153_R1_LOAD |
( |
|
x | ) |
|
◆ ADF4153_R1_LOAD_MASK
#define ADF4153_R1_LOAD_MASK 0x1 |
◆ ADF4153_R1_LOAD_OFFSET
#define ADF4153_R1_LOAD_OFFSET 23 |
◆ ADF4153_R1_MOD
#define ADF4153_R1_MOD |
( |
|
x | ) |
|
◆ ADF4153_R1_MOD_MASK
#define ADF4153_R1_MOD_MASK 0xFFFul |
◆ ADF4153_R1_MOD_OFFSET
#define ADF4153_R1_MOD_OFFSET 2 |
◆ ADF4153_R1_MUXOUT
#define ADF4153_R1_MUXOUT |
( |
|
x | ) |
|
◆ ADF4153_R1_MUXOUT_MASK
#define ADF4153_R1_MUXOUT_MASK 0x7 |
◆ ADF4153_R1_MUXOUT_OFFSET
#define ADF4153_R1_MUXOUT_OFFSET 20 |
◆ ADF4153_R1_PRESCALE
#define ADF4153_R1_PRESCALE |
( |
|
x | ) |
|
◆ ADF4153_R1_PRESCALE_MASK
#define ADF4153_R1_PRESCALE_MASK 0x1ul |
◆ ADF4153_R1_PRESCALE_OFFSET
#define ADF4153_R1_PRESCALE_OFFSET 18 |
◆ ADF4153_R1_RCOUNTER
#define ADF4153_R1_RCOUNTER |
( |
|
x | ) |
|
◆ ADF4153_R1_RCOUNTER_MASK
#define ADF4153_R1_RCOUNTER_MASK 0xFul |
◆ ADF4153_R1_RCOUNTER_OFFSET
#define ADF4153_R1_RCOUNTER_OFFSET 14 |
◆ ADF4153_R2_COUNTER_RST
#define ADF4153_R2_COUNTER_RST |
( |
|
x | ) |
|
◆ ADF4153_R2_COUNTER_RST_MASK
#define ADF4153_R2_COUNTER_RST_MASK 0x1ul |
◆ ADF4153_R2_COUNTER_RST_OFFSET
#define ADF4153_R2_COUNTER_RST_OFFSET 2 |
◆ ADF4153_R2_CP_3STATE
#define ADF4153_R2_CP_3STATE |
( |
|
x | ) |
|
◆ ADF4153_R2_CP_3STATE_MASK
#define ADF4153_R2_CP_3STATE_MASK 0x1 |
◆ ADF4153_R2_CP_3STATE_OFFSET
#define ADF4153_R2_CP_3STATE_OFFSET 3 |
◆ ADF4153_R2_CP_CURRENT
#define ADF4153_R2_CP_CURRENT |
( |
|
x | ) |
|
◆ ADF4153_R2_CP_CURRENT_MASK
#define ADF4153_R2_CP_CURRENT_MASK 0xF |
◆ ADF4153_R2_CP_CURRENT_OFFSET
#define ADF4153_R2_CP_CURRENT_OFFSET 7 |
◆ ADF4153_R2_LDP
#define ADF4153_R2_LDP |
( |
|
x | ) |
|
◆ ADF4153_R2_LDP_MASK
#define ADF4153_R2_LDP_MASK 0x1 |
◆ ADF4153_R2_LDP_OFFSET
#define ADF4153_R2_LDP_OFFSET 5 |
◆ ADF4153_R2_PD_POL
#define ADF4153_R2_PD_POL |
( |
|
x | ) |
|
◆ ADF4153_R2_PD_POL_MASK
#define ADF4153_R2_PD_POL_MASK 0x1 |
◆ ADF4153_R2_PD_POL_OFFSET
#define ADF4153_R2_PD_POL_OFFSET 6 |
◆ ADF4153_R2_POWER_DOWN
#define ADF4153_R2_POWER_DOWN |
( |
|
x | ) |
|
◆ ADF4153_R2_POWER_DOWN_MASK
#define ADF4153_R2_POWER_DOWN_MASK 0x1 |
◆ ADF4153_R2_POWER_DOWN_OFFSET
#define ADF4153_R2_POWER_DOWN_OFFSET 4 |
◆ ADF4153_R2_REF_DOUBLER
#define ADF4153_R2_REF_DOUBLER |
( |
|
x | ) |
|
◆ ADF4153_R2_REF_DOUBLER_MASK
#define ADF4153_R2_REF_DOUBLER_MASK 0x1 |
◆ ADF4153_R2_REF_DOUBLER_OFFSET
#define ADF4153_R2_REF_DOUBLER_OFFSET 11 |
◆ ADF4153_R2_RESYNC
#define ADF4153_R2_RESYNC |
( |
|
x | ) |
|
◆ ADF4153_R2_RESYNC_MASK
#define ADF4153_R2_RESYNC_MASK 0x7 |
◆ ADF4153_R2_RESYNC_OFFSET
#define ADF4153_R2_RESYNC_OFFSET 12 |
◆ ADF4153_R3_NOISE_SPURG
#define ADF4153_R3_NOISE_SPURG |
( |
|
x | ) |
|
Value: ( (((x) << 0x2) & 0x7) | \
(((x) >> 0x1) << 0x6) ) &\
◆ ADF4153_R3_NOISE_SPURG_MASK
#define ADF4153_R3_NOISE_SPURG_MASK 0x3C4 |
◆ ADF4153_REF_DOUBLER_DIS
#define ADF4153_REF_DOUBLER_DIS 0 |
◆ ADF4153_REF_DOUBLER_EN
#define ADF4153_REF_DOUBLER_EN 1 |
◆ adf4153_get_channel_spacing()
uint32_t adf4153_get_channel_spacing |
( |
struct adf4153_dev * |
dev | ) |
|
Return the value of the channel spacing.
- Parameters
-
dev | - The device structure. |
- Returns
- calculatedFrequency - The actual frequency value that was set.
◆ adf4153_init()
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
◆ adf4153_read_latch()
uint32_t adf4153_read_latch |
( |
struct adf4153_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 - 'ADF4153_CTRL_N_DIVIDER' 1 - 'ADF4153_CTRL_R_DIVIDER' 2 - 'ADF4153_CTRL_CONTROL' 3 - 'ADF4153_CTRL_NOISE_SPUR' |
- Returns
- latchValue - the value of the desired latch
◆ adf4153_remove()
Free the resources allocated by adf4153_init().
- Parameters
-
dev | - The device structure. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ adf4153_set_frequency()
uint64_t adf4153_set_frequency |
( |
struct adf4153_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.
◆ adf4153_update_latch()
void adf4153_update_latch |
( |
struct adf4153_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
#define ADF4153_R2_RESYNC_MASK
Definition: adf4153.h:177
#define ADF4153_R0_FASTLOCK_MASK
Definition: adf4153.h:106
#define ADF4153_R1_MOD_MASK
Definition: adf4153.h:114
#define ADF4153_R2_COUNTER_RST_MASK
Definition: adf4153.h:142
#define ADF4153_R0_FRAC_OFFSET
Definition: adf4153.h:94
#define ADF4153_R2_PD_POL_MASK
Definition: adf4153.h:162
#define ADF4153_R0_FASTLOCK_OFFSET
Definition: adf4153.h:105
@ NO_OS_GPIO_HIGH
Definition: no_os_gpio.h:123
#define ADF4153_R2_POWER_DOWN_OFFSET
Definition: adf4153.h:151
#define ADF4153_R2_CP_3STATE_MASK
Definition: adf4153.h:147
@ NO_OS_GPIO_LOW
Definition: no_os_gpio.h:121
#define ADF4153_R1_LOAD_OFFSET
Definition: adf4153.h:133
#define ADF4153_R2_PD_POL_OFFSET
Definition: adf4153.h:161
#define ADF4153_R2_POWER_DOWN_MASK
Definition: adf4153.h:152
#define ADF4153_R2_CP_CURRENT_MASK
Definition: adf4153.h:167
#define ADF4153_R3_NOISE_SPURG_MASK
Definition: adf4153.h:184
#define ADF4153_R2_REF_DOUBLER_MASK
Definition: adf4153.h:172
#define ADF4153_R1_PRESCALE_OFFSET
Definition: adf4153.h:123
#define ADF4153_R2_CP_CURRENT_OFFSET
Definition: adf4153.h:166
#define ADF4153_R2_REF_DOUBLER_OFFSET
Definition: adf4153.h:171
#define ADF4153_R1_PRESCALE_MASK
Definition: adf4153.h:124
#define ADF4153_R2_RESYNC_OFFSET
Definition: adf4153.h:176
#define ADF4153_R2_LDP_MASK
Definition: adf4153.h:157
#define ADF4153_R1_MUXOUT_MASK
Definition: adf4153.h:129
#define ADF4153_R2_LDP_OFFSET
Definition: adf4153.h:156
#define ADF4153_R2_CP_3STATE_OFFSET
Definition: adf4153.h:146
#define ADF4153_R1_LOAD_MASK
Definition: adf4153.h:134
int32_t no_os_gpio_set_value(struct no_os_gpio_desc *desc, uint8_t value)
Set the value of the specified GPIO.
Definition: no_os_gpio.c:203
#define ADF4153_R1_MOD_OFFSET
Definition: adf4153.h:113
#define ADF4153_R1_RCOUNTER_OFFSET
Definition: adf4153.h:118
#define ADF4153_R0_INT_OFFSET
Definition: adf4153.h:99
#define ADF4153_R2_COUNTER_RST_OFFSET
Definition: adf4153.h:141
#define ADF4153_R1_RCOUNTER_MASK
Definition: adf4153.h:119
int32_t no_os_gpio_direction_output(struct no_os_gpio_desc *desc, uint8_t value)
Enable the output direction of the specified GPIO.
Definition: no_os_gpio.c:153
#define ADF4153_R0_INT_MASK
Definition: adf4153.h:100
#define ADF4153_R1_MUXOUT_OFFSET
Definition: adf4153.h:128
#define ADF4153_R0_FRAC_MASK
Definition: adf4153.h:95