no-OS
ltc6953.h
Go to the documentation of this file.
1 /***************************************************************************/
34 #ifndef __LTC6953_H__
35 #define __LTC6953_H__
36 
37 /******************************************************************************/
38 /***************************** Include Files **********************************/
39 /******************************************************************************/
40 #include <stdint.h>
41 #include <stdbool.h>
42 #include "no_os_spi.h"
43 #include "no_os_error.h"
44 
45 /******************************************************************************/
46 /********************** Macros and Constants Definitions **********************/
47 /******************************************************************************/
48 
49 #define LTC6953_NUM_REGADDR 57
50 
51 /* Register address macro */
52 #define LTC6953_REG_VCO_STATUS 0x00
53 #define LTC6953_REG_STAT 0x01
54 #define LTC6953_REG_PD_CTL 0x02
55 #define LTC6953_REG_CHAN_POWER_DOWN(x) 0x03 + (x / 4)
56 #define LTC6953_REG_TEMP 0x05
57 #define LTC6953_REG_SYNC_CONFIG 0x0B
58 #define LTC6953_REG_OUTPUT_DIVIDER(x) 0x0C + (x * 4)
59 #define LTC6953_REG_OUTPUT_CONFIG(x) 0x0D + (x * 4)
60 #define LTC6953_REG_DDEL_HIGH(x) 0x0D + (x * 4)
61 #define LTC6953_REG_DDEL_LOW(x) 0x0E + (x * 4)
62 #define LTC6953_REG_ADEL(x) 0x0F + (x * 4)
63 #define LTC6953_REG_CHIP_INFO 0x38
64 
65 /* LTC6952_REG0 */
66 #define LTC6953_VCOOK_MSK NO_OS_BIT(2)
67 #define LTC6953_NVCOOK_MSK NO_OS_BIT(3)
68 
69 /* LTC6952_REG1 */
70 #define LTC6953_INVSTAT_MSK NO_OS_BIT(7)
71 #define LTC6953_STAT_OUT_MSK NO_OS_GENMASK(6, 0)
72 
73 /* LTC6952_REG2 */
74 #define LTC6953_PDALL_MSK NO_OS_BIT(7)
75 #define LTC6953_PDVCOPK_MSK NO_OS_BIT(5)
76 #define LTC6953_FILTV_MSK NO_OS_BIT(1)
77 #define LTC6953_POR_MSK NO_OS_BIT(0)
78 
79 /* LTC6953 REG3, 4, 5 */
80 #define LTC6953_PD_MSK(ch) NO_OS_GENMASK( \
81  ((ch) & NO_OS_GENMASK(1, 0)) * 2 + 1, \
82  ((ch) & NO_OS_GENMASK(1, 0)) * 2)
83 #define LTC6953_PD(ch, x) no_os_field_prep(LTC6953_PD_MSK(ch), x)
84 
85 /* LTC6953 REG5 */
86 #define LTC6953_TEMPO_MSK NO_OS_BIT(7)
87 
88 /* LTC6953 REG11 */
89 #define LTC6953_EZMD_MSK NO_OS_BIT(4)
90 #define LTC6953_SRQMD_MSK NO_OS_BIT(3)
91 #define LTC6953_SYSCT_MSK NO_OS_GENMASK(2, 1)
92 #define LTC6953_SSRQ_MSK NO_OS_BIT(0)
93 
94 /* LTC6953 REG12,16,20,24,28,32,36,40,44,48,52 */
95 #define LTC6953_MP_MSK NO_OS_GENMASK(7, 3)
96 #define LTC6953_MD_MSK NO_OS_GENMASK(2, 0)
97 
98 /* LTC6953_REG13,17,21,25,29,33,37,41,45,49,53 */
99 #define LTC6953_SRQEN_MSK NO_OS_BIT(7)
100 #define LTC6953_MODE_MSK NO_OS_GENMASK(6, 5)
101 #define LTC6953_OINV_MSK NO_OS_BIT(4)
102 #define LTC6953_DDEL_HIGH_MSK NO_OS_GENMASK(3, 0)
103 
104 /* LTC6953_REG14,18,22,26,30,34,38,42,46,50,54 */
105 #define LTC6953_DDEL_LOW_MSK NO_OS_GENMASK(7, 0)
106 
107 /* LTC6953_REG15,19,23,27,31,35,39,43,47,51,55 */
108 #define LTC6953_ADEL_MSK NO_OS_GENMASK(5, 0)
109 
110 /* LTC6953_REG56 */
111 #define LTC6953_REV_MSK NO_OS_GENMASK(7, 4)
112 #define LTC6953_PART_MSK NO_OS_GENMASK(3, 0)
113 
114 #define LTC6953_NUM_CHAN 11
115 
116 #define LTC6953_OUT_DIV_MIN 1
117 #define LTC6953_OUT_DIV_MAX 1048576
118 #define LTC6953_X_MAX 127
119 
120 #define LTC6953_ADDRX 0
121 #define LTC6953_DXMSB 1
122 #define LTC6953_NUMBITS 2
123 #define LTC6953_R_ONLY 3
124 
125 /* Specifications */
126 #define LTC6953_SPI_WRITE_CMD 0x00
127 #define LTC6953_SPI_READ_CMD 0x01
128 #define LTC6953_SPI_ADDR_CMD(x) ((x) << 1)
129 #define LTC6953_BUFF_SIZE_BYTES 2
130 #define LTC6953_DUMMY_BYTES 0x00
131 
132 
133 /******************************************************************************/
134 /*************************** Types Definitions ********************************/
135 /******************************************************************************/
136 
142  uint8_t num;
143  uint8_t out_divider;
144  uint8_t mp;
145  uint8_t md;
146  uint8_t digital_delay;
147  uint8_t analog_delay;
148  uint8_t sysref_mode;
150  int8_t extended_name[16];
151 };
152 
162 };
163 
168 struct ltc6953_dev {
173 };
174 
175 /*****************************************************************************/
176 /************************* Functions Declarations ****************************/
177 /*****************************************************************************/
178 
180 int ltc6953_init(struct ltc6953_dev **dev,
182 
184 int ltc6953_remove(struct ltc6953_dev *dev);
185 
187 int ltc6953_reset(struct ltc6953_dev *dev);
188 
190 int ltc6953_write(struct ltc6953_dev *dev, uint8_t addr,
191  uint16_t data);
192 
194 int ltc6953_read(struct ltc6953_dev *dev, uint8_t addr,
195  uint8_t *data);
196 
198 int ltc6953_update(struct ltc6953_dev *dev, uint8_t reg_addr,
199  uint8_t mask, uint8_t data);
200 
202 int ltc6953_power_down_all(struct ltc6953_dev *dev, bool is_pwdn);
203 
205 int ltc6953_enable_filter(struct ltc6953_dev *dev, bool is_en);
206 
208 int ltc6953_power_down_vco(struct ltc6953_dev *dev, bool is_pwdn);
209 
211 int ltc6953_set_output_divider(struct ltc6953_dev *dev, uint32_t channel,
212  uint32_t divider);
213 
215 int ltc6953_power_mode(struct ltc6953_dev *dev, uint32_t channel,
216  int32_t mode);
217 
219 int ltc6953_enable_sync(struct ltc6953_dev *dev, uint32_t channel,
220  bool enable);
221 
223 int ltc6953_set_digital_delay(struct ltc6953_dev *dev, uint32_t channel,
224  uint16_t delay);
225 
227 int ltc6953_set_analog_delay(struct ltc6953_dev *dev, uint32_t channel,
228  uint16_t delay);
229 
231 int ltc6953_set_mode(struct ltc6953_dev *dev, uint32_t channel,
232  uint8_t mode);
233 
235 int ltc6953_invert_output(struct ltc6953_dev *dev, uint32_t channel,
236  bool is_invert);
237 
239 int ltc6953_ezsync_mode(struct ltc6953_dev *dev, bool is_en);
240 
242 int ltc6953_sync_mode(struct ltc6953_dev *dev, bool is_en);
243 
245 int ltc6953_ssrq_mode(struct ltc6953_dev *dev, bool is_en);
246 
248 int ltc6953_num_pulse(struct ltc6953_dev *dev, uint8_t num_pulse);
249 
251 int ltc6953_enable_temp_stat(struct ltc6953_dev *dev, bool is_en);
252 
254 int ltc6953_vco_status(struct ltc6953_dev *dev, bool *is_ok);
255 
257 int ltc6953_get_invstat(struct ltc6953_dev *dev, bool *status);
258 
260 int ltc6953_set_invstat(struct ltc6953_dev *dev, bool status);
261 
263 int ltc6953_set_x(struct ltc6953_dev *dev, uint8_t x);
264 
266 int ltc6953_get_x(struct ltc6953_dev *dev, uint8_t *x);
267 
269 int ltc6953_read_rev(struct ltc6953_dev *dev, uint8_t *rev);
270 
272 int ltc6953_read_part(struct ltc6953_dev *dev, uint8_t *part);
273 
274 #endif // __LTC6953_H__
LTC6953_BUFF_SIZE_BYTES
#define LTC6953_BUFF_SIZE_BYTES
Definition: ltc6953.h:129
ltc6953_channel_spec::extended_name
int8_t extended_name[16]
Definition: ltc6953.h:150
ltc6953_ssrq_mode
int ltc6953_ssrq_mode(struct ltc6953_dev *dev, bool is_en)
Set LTC6953 SSRQ mode.
Definition: ltc6953.c:443
ltc6953_reset
int ltc6953_reset(struct ltc6953_dev *device)
Software reset of the device.
Definition: ltc6953.c:112
LTC6953_INVSTAT_MSK
#define LTC6953_INVSTAT_MSK
Definition: ltc6953.h:70
LTC6953_REG_DDEL_LOW
#define LTC6953_REG_DDEL_LOW(x)
Definition: ltc6953.h:61
no_os_alloc.h
ltc6953_enable_temp_stat
int ltc6953_enable_temp_stat(struct ltc6953_dev *dev, bool is_en)
Set LTC6953 TEMPO value.
Definition: ltc6953.c:470
ltc6953_dev::chans
struct ltc6953_channel_spec chans[LTC6953_NUM_CHAN]
Definition: ltc6953.h:171
LTC6953_EZMD_MSK
#define LTC6953_EZMD_MSK
Definition: ltc6953.h:89
ltc6953_read_rev
int ltc6953_read_rev(struct ltc6953_dev *dev, uint8_t *rev)
Read LTC6953 Part number.
Definition: ltc6953.c:569
ltc6953_channel_spec::analog_delay
uint8_t analog_delay
Definition: ltc6953.h:147
no_os_spi_write_and_read
int32_t no_os_spi_write_and_read(struct no_os_spi_desc *desc, uint8_t *data, uint16_t bytes_number)
Write and read data to/from SPI.
Definition: no_os_spi.c:159
ltc6953_enable_sync
int ltc6953_enable_sync(struct ltc6953_dev *dev, uint32_t channel, bool enable)
Set LTC6953 Channel Sync mode.
Definition: ltc6953.c:314
ltc6953_set_analog_delay
int ltc6953_set_analog_delay(struct ltc6953_dev *dev, uint32_t channel, uint16_t delay)
Set analog delay/phase of LTC6953 output channel.
Definition: ltc6953.c:364
no_os_spi.h
Header file of SPI Interface.
ltc6953_ezsync_mode
int ltc6953_ezsync_mode(struct ltc6953_dev *dev, bool is_en)
Set LTC6953 EZSYNC mode.
Definition: ltc6953.c:419
LTC6953_SRQEN_MSK
#define LTC6953_SRQEN_MSK
Definition: ltc6953.h:99
ltc6953_init_param::chans
struct ltc6953_channel_spec chans[LTC6953_NUM_CHAN]
Definition: ltc6953.h:160
ltc6953_ssrq_mode
int ltc6953_ssrq_mode(struct ltc6953_dev *dev, bool is_en)
Set LTC6953 SSRQ mode.
Definition: ltc6953.c:443
ltc6953_init_param
LTC6953 Initialization Parameters structure.
Definition: ltc6953.h:157
ltc6953_power_down_all
int ltc6953_power_down_all(struct ltc6953_dev *dev, bool is_pwdn)
Powers down all LTC6953 output channels.
Definition: ltc6953.c:211
ltc6953_set_mode
int ltc6953_set_mode(struct ltc6953_dev *dev, uint32_t channel, uint8_t mode)
Set LTC6953 output channel mode.
Definition: ltc6953.c:384
ltc6953_channel_spec::mp
uint8_t mp
Definition: ltc6953.h:144
ltc6953_update
int ltc6953_update(struct ltc6953_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Update LTC6953 register.
Definition: ltc6953.c:171
ltc6953_init_param::vco_frequency
float vco_frequency
Definition: ltc6953.h:161
ltc6953_channel_spec::out_divider
uint8_t out_divider
Definition: ltc6953.h:143
ltc6953_get_invstat
int ltc6953_get_invstat(struct ltc6953_dev *dev, bool *status)
Read LTC6953 INVSTAT bit.
Definition: ltc6953.c:502
device
Definition: ad9361_util.h:69
LTC6953_TEMPO_MSK
#define LTC6953_TEMPO_MSK
Definition: ltc6953.h:86
ltc6953_enable_filter
int ltc6953_enable_filter(struct ltc6953_dev *dev, bool is_en)
Enable LTC6953 VCO Input filter.
Definition: ltc6953.c:223
ltc6953_channel_spec::power_down_mode
uint8_t power_down_mode
Definition: ltc6953.h:149
no_os_calloc
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:54
ltc6953_power_down_vco
int ltc6953_power_down_vco(struct ltc6953_dev *dev, bool is_pwdn)
Powers down LTC6953 VCO Input channel.
Definition: ltc6953.c:235
LTC6953_X_MAX
#define LTC6953_X_MAX
Definition: ltc6953.h:118
LTC6953_DDEL_HIGH_MSK
#define LTC6953_DDEL_HIGH_MSK
Definition: ltc6953.h:102
LTC6953_REG_ADEL
#define LTC6953_REG_ADEL(x)
Definition: ltc6953.h:62
bool
bool
Definition: common.h:48
LTC6953_PD
#define LTC6953_PD(ch, x)
Definition: ltc6953.h:83
LTC6953_REG_VCO_STATUS
#define LTC6953_REG_VCO_STATUS
Definition: ltc6953.h:52
ltc6953_channel_spec::digital_delay
uint8_t digital_delay
Definition: ltc6953.h:146
ltc6953_dev::spi_desc
struct no_os_spi_desc * spi_desc
Definition: ltc6953.h:170
LTC6953_OINV_MSK
#define LTC6953_OINV_MSK
Definition: ltc6953.h:101
ltc6953_power_down_vco
int ltc6953_power_down_vco(struct ltc6953_dev *dev, bool is_pwdn)
Powers down LTC6953 VCO Input channel.
Definition: ltc6953.c:235
ltc6953_num_pulse
int ltc6953_num_pulse(struct ltc6953_dev *dev, uint8_t num_pulse)
Set LTC6953 SYSCT/Num pulse value.
Definition: ltc6953.c:455
ltc6953_set_analog_delay
int ltc6953_set_analog_delay(struct ltc6953_dev *dev, uint32_t channel, uint16_t delay)
Set analog delay/phase of LTC6953 output channel.
Definition: ltc6953.c:364
LTC6953_ADEL_MSK
#define LTC6953_ADEL_MSK
Definition: ltc6953.h:108
LTC6953_POR_MSK
#define LTC6953_POR_MSK
Definition: ltc6953.h:77
no_os_field_prep
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
LTC6953_SSRQ_MSK
#define LTC6953_SSRQ_MSK
Definition: ltc6953.h:92
ltc6953_sync_mode
int ltc6953_sync_mode(struct ltc6953_dev *dev, bool is_en)
Set LTC6953 SRQ mode.
Definition: ltc6953.c:431
no_os_error.h
Error codes definition.
ltc6953_num_pulse
int ltc6953_num_pulse(struct ltc6953_dev *dev, uint8_t num_pulse)
Set LTC6953 SYSCT/Num pulse value.
Definition: ltc6953.c:455
ltc6953_set_mode
int ltc6953_set_mode(struct ltc6953_dev *dev, uint32_t channel, uint8_t mode)
Set LTC6953 output channel mode.
Definition: ltc6953.c:384
LTC6953_REG_CHAN_POWER_DOWN
#define LTC6953_REG_CHAN_POWER_DOWN(x)
Definition: ltc6953.h:55
ltc6953_remove
int ltc6953_remove(struct ltc6953_dev *dev)
Free resources allocated for LTC6953.
Definition: ltc6953.c:192
ltc6953_update
int ltc6953_update(struct ltc6953_dev *dev, uint8_t reg_addr, uint8_t mask, uint8_t data)
Update LTC6953 register.
Definition: ltc6953.c:171
ltc6953_get_x
int ltc6953_get_x(struct ltc6953_dev *dev, uint8_t *x)
Set LTC6953 x bitfield status.
Definition: ltc6953.c:549
ltc6953_reset
int ltc6953_reset(struct ltc6953_dev *dev)
Software reset of the device.
Definition: ltc6953.c:112
ltc6953_remove
int ltc6953_remove(struct ltc6953_dev *dev)
Free resources allocated for LTC6953.
Definition: ltc6953.c:192
LTC6953_SRQMD_MSK
#define LTC6953_SRQMD_MSK
Definition: ltc6953.h:90
ltc6953_invert_output
int ltc6953_invert_output(struct ltc6953_dev *dev, uint32_t channel, bool is_invert)
Set LTC6953 output channel inversion.
Definition: ltc6953.c:403
ltc6953_set_invstat
int ltc6953_set_invstat(struct ltc6953_dev *dev, bool status)
Write LTC6953 INVSTAT bit.
Definition: ltc6953.c:522
ltc6953_write
int ltc6953_write(struct ltc6953_dev *dev, uint8_t reg_addr, uint16_t data)
Writes data to LTC6953 over SPI.
Definition: ltc6953.c:125
ltc6953_set_x
int ltc6953_set_x(struct ltc6953_dev *dev, uint8_t x)
Set LTC6953 x bitfield status.
Definition: ltc6953.c:534
ltc6953_read_rev
int ltc6953_read_rev(struct ltc6953_dev *dev, uint8_t *rev)
Read LTC6953 Part number.
Definition: ltc6953.c:569
ltc6953_init
int ltc6953_init(struct ltc6953_dev **device, struct ltc6953_init_param *init_param)
Initializes the SPI communication with LTC6953.
Definition: ltc6953.c:77
ltc6953_enable_filter
int ltc6953_enable_filter(struct ltc6953_dev *dev, bool is_en)
Enable LTC6953 VCO Input filter.
Definition: ltc6953.c:223
LTC6953_REG_STAT
#define LTC6953_REG_STAT
Definition: ltc6953.h:53
LTC6953_SPI_READ_CMD
#define LTC6953_SPI_READ_CMD
Definition: ltc6953.h:127
ltc6953_init_param::spi_init
struct no_os_spi_init_param spi_init
Definition: ltc6953.h:159
ltc6953_read
int ltc6953_read(struct ltc6953_dev *dev, uint8_t reg_addr, uint8_t *data)
Read device register.
Definition: ltc6953.c:145
no_os_spi_desc
Structure holding SPI descriptor.
Definition: no_os_spi.h:192
ltc6953_channel_spec::sysref_mode
uint8_t sysref_mode
Definition: ltc6953.h:148
ltc6953_set_output_divider
int ltc6953_set_output_divider(struct ltc6953_dev *dev, uint32_t channel, uint32_t divider)
Set output divider for LTC6953 output channel.
Definition: ltc6953.c:248
LTC6953_DDEL_LOW_MSK
#define LTC6953_DDEL_LOW_MSK
Definition: ltc6953.h:105
ltc6953_write
int ltc6953_write(struct ltc6953_dev *dev, uint8_t addr, uint16_t data)
Writes data to LTC6953 over SPI.
Definition: ltc6953.c:125
ltc6953_invert_output
int ltc6953_invert_output(struct ltc6953_dev *dev, uint32_t channel, bool is_invert)
Set LTC6953 output channel inversion.
Definition: ltc6953.c:403
ltc6953_channel_spec
Output channel configuration.
Definition: ltc6953.h:141
LTC6953_PART_MSK
#define LTC6953_PART_MSK
Definition: ltc6953.h:112
ltc6953_sync_mode
int ltc6953_sync_mode(struct ltc6953_dev *dev, bool is_en)
Set LTC6953 SRQ mode.
Definition: ltc6953.c:431
ltc6953_set_digital_delay
int ltc6953_set_digital_delay(struct ltc6953_dev *dev, uint32_t channel, uint16_t delay)
Set digital delay/phase of LTC6953 output channel.
Definition: ltc6953.c:332
LTC6953_VCOOK_MSK
#define LTC6953_VCOOK_MSK
Definition: ltc6953.h:66
LTC6953_REV_MSK
#define LTC6953_REV_MSK
Definition: ltc6953.h:111
LTC6953_NUM_REGADDR
#define LTC6953_NUM_REGADDR
Definition: ltc6953.h:49
ltc6953_power_mode
int ltc6953_power_mode(struct ltc6953_dev *dev, uint32_t channel, int32_t mode)
Set LTC6953 Channel Power Mode.
Definition: ltc6953.c:294
LTC6953_MP_MSK
#define LTC6953_MP_MSK
Definition: ltc6953.h:95
LTC6953_REG_TEMP
#define LTC6953_REG_TEMP
Definition: ltc6953.h:56
ltc6953_get_invstat
int ltc6953_get_invstat(struct ltc6953_dev *dev, bool *status)
Read LTC6953 INVSTAT bit.
Definition: ltc6953.c:502
LTC6953_FILTV_MSK
#define LTC6953_FILTV_MSK
Definition: ltc6953.h:76
ltc6953_read
int ltc6953_read(struct ltc6953_dev *dev, uint8_t addr, uint8_t *data)
Read device register.
Definition: ltc6953.c:145
ltc6953_get_x
int ltc6953_get_x(struct ltc6953_dev *dev, uint8_t *x)
Set LTC6953 x bitfield status.
Definition: ltc6953.c:549
no_os_field_get
uint32_t no_os_field_get(uint32_t mask, uint32_t word)
ltc6953_enable_sync
int ltc6953_enable_sync(struct ltc6953_dev *dev, uint32_t channel, bool enable)
Set LTC6953 Channel Sync mode.
Definition: ltc6953.c:314
ltc6953_set_output_divider
int ltc6953_set_output_divider(struct ltc6953_dev *dev, uint32_t channel, uint32_t divider)
Set output divider for LTC6953 output channel.
Definition: ltc6953.c:248
LTC6953_MODE_MSK
#define LTC6953_MODE_MSK
Definition: ltc6953.h:100
no_os_free
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:69
LTC6953_REG_OUTPUT_DIVIDER
#define LTC6953_REG_OUTPUT_DIVIDER(x)
Definition: ltc6953.h:58
ltc6953_vco_status
int ltc6953_vco_status(struct ltc6953_dev *dev, bool *is_ok)
Read LTC6953 Check VCO Input stats.
Definition: ltc6953.c:482
LTC6953_REG_PD_CTL
#define LTC6953_REG_PD_CTL
Definition: ltc6953.h:54
ltc6953_set_x
int ltc6953_set_x(struct ltc6953_dev *dev, uint8_t x)
Set LTC6953 x bitfield status.
Definition: ltc6953.c:534
LTC6953_PD_MSK
#define LTC6953_PD_MSK(ch)
Definition: ltc6953.h:80
no_os_shift_right
#define no_os_shift_right(x, s)
Definition: no_os_util.h:119
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:113
ltc6953_dev::vco_frequency
float vco_frequency
Definition: ltc6953.h:172
ltc6953_read_part
int ltc6953_read_part(struct ltc6953_dev *dev, uint8_t *part)
Read LTC6953 Part number.
Definition: ltc6953.c:590
ltc6953_enable_temp_stat
int ltc6953_enable_temp_stat(struct ltc6953_dev *dev, bool is_en)
Set LTC6953 TEMPO value.
Definition: ltc6953.c:470
no_os_spi_remove
int32_t no_os_spi_remove(struct no_os_spi_desc *desc)
Free the resources allocated by no_os_spi_init().
Definition: no_os_spi.c:116
LTC6953_SPI_WRITE_CMD
#define LTC6953_SPI_WRITE_CMD
Definition: ltc6953.h:126
ltc6953_channel_spec::num
uint8_t num
Definition: ltc6953.h:142
LTC6953_REG_CHIP_INFO
#define LTC6953_REG_CHIP_INFO
Definition: ltc6953.h:63
ltc6953_read_part
int ltc6953_read_part(struct ltc6953_dev *dev, uint8_t *part)
Read LTC6953 Part number.
Definition: ltc6953.c:590
ltc6953_set_digital_delay
int ltc6953_set_digital_delay(struct ltc6953_dev *dev, uint32_t channel, uint16_t delay)
Set digital delay/phase of LTC6953 output channel.
Definition: ltc6953.c:332
ltc6953_channel_spec::md
uint8_t md
Definition: ltc6953.h:145
ltc6953_vco_status
int ltc6953_vco_status(struct ltc6953_dev *dev, bool *is_ok)
Read LTC6953 Check VCO Input stats.
Definition: ltc6953.c:482
LTC6953_PDALL_MSK
#define LTC6953_PDALL_MSK
Definition: ltc6953.h:74
ltc6953_power_mode
int ltc6953_power_mode(struct ltc6953_dev *dev, uint32_t channel, int32_t mode)
Set LTC6953 Channel Power Mode.
Definition: ltc6953.c:294
no_os_spi_init
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:52
LTC6953_SPI_ADDR_CMD
#define LTC6953_SPI_ADDR_CMD(x)
Definition: ltc6953.h:128
ltc6953.h
Implementation of LTC6953 Driver.
ltc6953_set_invstat
int ltc6953_set_invstat(struct ltc6953_dev *dev, bool status)
Write LTC6953 INVSTAT bit.
Definition: ltc6953.c:522
no_os_util.h
Header file of utility functions.
LTC6953_MD_MSK
#define LTC6953_MD_MSK
Definition: ltc6953.h:96
ltc6953_init
int ltc6953_init(struct ltc6953_dev **dev, struct ltc6953_init_param *init_param)
Initializes the SPI communication with LTC6953.
Definition: ltc6953.c:77
LTC6953_SYSCT_MSK
#define LTC6953_SYSCT_MSK
Definition: ltc6953.h:91
ltc6953_dev
LTC6953 Device Descriptor.
Definition: ltc6953.h:168
ltc6953_power_down_all
int ltc6953_power_down_all(struct ltc6953_dev *dev, bool is_pwdn)
Powers down all LTC6953 output channels.
Definition: ltc6953.c:211
LTC6953_REG_OUTPUT_CONFIG
#define LTC6953_REG_OUTPUT_CONFIG(x)
Definition: ltc6953.h:59
LTC6953_REG_DDEL_HIGH
#define LTC6953_REG_DDEL_HIGH(x)
Definition: ltc6953.h:60
errno.h
Error macro definition for ARM Compiler.
LTC6953_PDVCOPK_MSK
#define LTC6953_PDVCOPK_MSK
Definition: ltc6953.h:75
LTC6953_REG_SYNC_CONFIG
#define LTC6953_REG_SYNC_CONFIG
Definition: ltc6953.h:57
no_os_spi_init_param
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:140
ltc6953_ezsync_mode
int ltc6953_ezsync_mode(struct ltc6953_dev *dev, bool is_en)
Set LTC6953 EZSYNC mode.
Definition: ltc6953.c:419
LTC6953_NUM_CHAN
#define LTC6953_NUM_CHAN
Definition: ltc6953.h:114
LTC6953_STAT_OUT_MSK
#define LTC6953_STAT_OUT_MSK
Definition: ltc6953.h:71