no-OS
lt8722.h
Go to the documentation of this file.
1 /***************************************************************************/
39 #ifndef __LT8722_H__
40 #define __LT8722_H__
41 
42 #include <stdbool.h>
43 #include <stdint.h>
44 #include <stdio.h>
45 #include "no_os_gpio.h"
46 #include "no_os_spi.h"
47 #include "no_os_units.h"
48 #include "no_os_util.h"
49 
50 #define LT8722_CRC_POLYNOMIAL 0x07
51 
52 #define LT8722_MAX_REGISTER_SIZE 4
53 #define LT8722_NUM_REGISTERS 8
54 
55 // LT8722 SPI Command
56 #define LT8722_STATUS_ACQUISITION_COMMAND 0xF0
57 #define LT8722_DATA_WRITE_COMMAND 0xF2
58 #define LT8722_DATA_READ_COMMAND 0xF4
59 
60 // LT8722 SPI Command Size in Bytes
61 #define LT8722_STATUS_ACQUISITION_COMMAND_SIZE 4
62 #define LT8722_DATA_WRITE_COMMAND_SIZE 8
63 #define LT8722_DATA_READ_COMMAND_SIZE 8
64 
65 // LT8722 SPI Acknowledge
66 #define LT8722_ACK_ACKNOWLEDGE 0xA5
67 #define LT8722_ACK_NON_ACKNOWLEDGE 0xC3
68 #define LT8722_ACK_UNSUPPORTED_ADDRESS 0x0F
69 #define LT8722_ACK_STUCK_AT_0 0x00
70 #define LT8722_ACK_STUCK_AT_1 0xFF
71 
72 // LT8722 SPI Register Address
73 #define LT8722_SPIS_COMMAND 0x00
74 #define LT8722_SPIS_STATUS 0x01
75 #define LT8722_SPIS_DAC_ILIMN 0x02
76 #define LT8722_SPIS_DAC_ILIMP 0x03
77 #define LT8722_SPIS_DAC 0x04
78 #define LT8722_SPIS_OV_CLAMP 0x05
79 #define LT8722_SPIS_UV_CLAMP 0x06
80 #define LT8722_SPIS_AMUX 0x07
81 
82 // LT8722 SPI Register Size in Bits
83 #define LT8722_SPIS_COMMAND_SIZE 22
84 #define LT8722_SPIS_STATUS_SIZE 11
85 #define LT8722_SPIS_DAC_ILIMN_SIZE 9
86 #define LT8722_SPIS_DAC_ILIMP_SIZE 9
87 #define LT8722_SPIS_DAC_SIZE 32
88 #define LT8722_SPIS_OV_CLAMP_SIZE 4
89 #define LT8722_SPIS_UV_CLAMP_SIZE 4
90 #define LT8722_SPIS_AMUX_SIZE 7
91 
92 // LT8722 SPI Register Mask
93 #define LT8722_SPIS_COMMAND_MASK NO_OS_GENMASK(21, 0)
94 #define LT8722_SPIS_STATUS_MASK NO_OS_GENMASK(10, 0)
95 #define LT8722_SPIS_DAC_ILIMN_MASK NO_OS_GENMASK(8, 0)
96 #define LT8722_SPIS_DAC_ILIMP_MASK NO_OS_GENMASK(8, 0)
97 #define LT8722_SPIS_DAC_MASK NO_OS_GENMASK(31, 0)
98 #define LT8722_SPIS_OV_CLAMP_MASK NO_OS_GENMASK(3, 0)
99 #define LT8722_SPIS_UV_CLAMP_MASK NO_OS_GENMASK(3, 0)
100 #define LT8722_SPIS_AMUX_MASK NO_OS_GENMASK(6, 0)
101 
102 // LT8722 SPI Register Default Value
103 #define LT8722_SPIS_COMMAND_DEFAULT_VALUE 0x08A214
104 #define LT8722_SPIS_STATUS_DEFAULT_VALUE 0x0
105 #define LT8722_SPIS_DAC_ILIMN_DEFAULT_VALUE 0x1FF
106 #define LT8722_SPIS_DAC_ILIMP_DEFAULT_VALUE 0x000
107 #define LT8722_SPIS_DAC_DEFAULT_VALUE 0xFF000000
108 #define LT8722_SPIS_OV_CLAMP_DEFAULT_VALUE 0xF
109 #define LT8722_SPIS_UV_CLAMP_DEFAULT_VALUE 0x0
110 #define LT8722_SPIS_AMUX_DEFAULT_VALUE 0x00
111 
112 // LT8722 SPIS_COMMAND Register
113 #define LT8722_ENABLE_REQ_MASK NO_OS_BIT(0)
114 #define LT8722_SWEN_REQ_MASK NO_OS_BIT(1)
115 #define LT8722_SW_FRQ_SET_MASK NO_OS_GENMASK(4, 2)
116 #define LT8722_SW_FRQ_ADJ_MASK NO_OS_GENMASK(6, 5)
117 #define LT8722_SYS_DC_MASK NO_OS_GENMASK(8, 7)
118 #define LT8722_VCC_VREG_MASK NO_OS_BIT(9)
119 #define LT8722_SW_VC_INT_MASK NO_OS_GENMASK(13, 11)
120 #define LT8722_SPI_RST_MASK NO_OS_BIT(14)
121 #define LT8722_PWR_LIM_POS 15
122 #define LT8722_PWR_LIM_MASK NO_OS_GENMASK(18, 15)
123 
124 // LT8722 SPIS_COMMAND Register SPI_RST
125 #define LT8722_SPI_RST_RESET 0b1
126 
127 // LT8722 SPIS_STATUS Register
128 #define LT8722_SWEN_MASK NO_OS_BIT(0)
129 #define LT8722_SRVO_ILIM_MASK NO_OS_BIT(1)
130 #define LT8722_SRVO_PLIM_MASK NO_OS_BIT(2)
131 #define LT8722_MIN_OT_MASK NO_OS_BIT(3)
132 #define LT8722_POR_OCC_MASK NO_OS_BIT(4)
133 #define LT8722_OVER_CURRENT_MASK NO_OS_BIT(5)
134 #define LT8722_TSD_MASK NO_OS_BIT(6)
135 #define LT8722_VCC_UVLO_MASK NO_OS_BIT(7)
136 #define LT8722_VDDIO_UVLO_MASK NO_OS_BIT(8)
137 #define LT8722_CP_UVLO_MASK NO_OS_BIT(9)
138 #define LT8722_V2P5_UVLO_MASK NO_OS_BIT(10)
139 
140 // LT8722 faults mask
141 #define LT8722_FAULTS_MASK NO_OS_GENMASK(10, 5)
142 
143 // LT8722 SPIS_DAC_ILIMN Register
144 #define LT8722_SPIS_DAC_ILIMN_MASK NO_OS_GENMASK(8, 0)
145 
146 // LT8722 SPIS_DAC_ILIMN Register SPIS_DAC_ILIMN
147 #define LT8722_SPIS_DAC_ILIMN_MIN 0x030
148 #define LT8722_SPIS_DAC_ILIMN_MAX 0x1FF
149 
150 // LT8722 SPIS_DAC_ILIMP Register
151 #define LT8722_SPIS_DAC_ILIMP_MASK NO_OS_GENMASK(8, 0)
152 
153 // LT8722 SPIS_DAC_ILIMP Register SPIS_DAC_ILIMP
154 #define LT8722_SPIS_DAC_ILIMP_MIN 0x000
155 #define LT8722_SPIS_DAC_ILIMP_MAX 0x1CE
156 
157 // LT8722 SPIS_DAC Register
158 #define LT8722_SPIS_DAC_MASK NO_OS_GENMASK(31, 0)
159 
160 // LT8722 SPIS_OV_CLAMP Register
161 #define LT8722_SPIS_OV_CLAMP_MASK NO_OS_GENMASK(3, 0)
162 
163 // LT8722 SPIS_UV_CLAMP Register
164 #define LT8722_SPIS_UV_CLAMP_MASK NO_OS_GENMASK(3, 0)
165 
166 // LT8722 SPIS_AMUX Register
167 #define LT8722_AMUX_MASK NO_OS_GENMASK(3, 0)
168 #define LT8722_AMUX_TEST_MASK NO_OS_GENMASK(5, 4)
169 #define LT8722_AOUT_EN_MASK NO_OS_BIT(6)
170 
171 #define LT8722_DAC_RESOLUTION 25
172 #define LT8722_DAC_OFFSET 1250000000LL // nanovolts
173 #define LT8722_DAC_VREF 2500000000LL // nanovolts
174 #define LT8722_VOLTAGE_SCALE NANO
175 
185 };
186 
196 };
197 
219 };
220 
234 };
235 
245 };
246 
268 };
269 
283 };
284 
296 };
297 
319 };
320 
330 };
331 
336 struct lt8722_reg {
337  uint8_t address;
338  uint32_t default_val;
339  uint8_t size;
340 };
341 
347  uint8_t byte;
348  uint8_t size;
349 };
350 
357  struct lt8722_reg reg;
358  uint32_t data;
359  uint8_t crc;
360  uint8_t ack;
361  uint16_t status;
362 };
363 
373 };
374 
379 struct lt8722_dev {
384  uint16_t status;
385 };
386 
388 
390 int32_t lt8722_voltage_to_dac(int64_t voltage);
391 
393 int64_t lt8722_dac_to_voltage(int32_t dac);
394 
396 int lt8722_transaction(struct lt8722_dev *dev, struct lt8722_packet *packet);
397 
399 int lt8722_reg_read(struct lt8722_dev *dev, uint8_t address, uint32_t *data);
400 
402 int lt8722_reg_write(struct lt8722_dev *dev, uint8_t address, uint32_t data);
403 
405 int lt8722_reg_write_mask(struct lt8722_dev *dev, uint8_t address,
406  uint32_t mask, uint32_t data);
407 
409 int lt8722_get_status(struct lt8722_dev *dev, uint16_t *status);
410 
412 int lt8722_clear_faults(struct lt8722_dev *dev);
413 
415 int lt8722_set_enable_req(struct lt8722_dev *dev, bool value);
416 
418 int lt8722_get_enable_req(struct lt8722_dev *dev, bool *value);
419 
421 int lt8722_set_swen_req(struct lt8722_dev *dev, bool value);
422 
424 int lt8722_get_swen_req(struct lt8722_dev *dev, bool *value);
425 
427 int lt8722_set_sw_frq_set(struct lt8722_dev *dev, enum lt8722_sw_frq_set value);
428 
430 int lt8722_get_sw_frq_set(struct lt8722_dev *dev,
431  enum lt8722_sw_frq_set *value);
432 
434 int lt8722_set_sw_frq_adj(struct lt8722_dev *dev, enum lt8722_sw_frq_adj value);
435 
437 int lt8722_get_sw_frq_adj(struct lt8722_dev *dev,
438  enum lt8722_sw_frq_adj *value);
439 
441 int lt8722_set_vcc_vreg(struct lt8722_dev *dev, enum lt8722_vcc_vreg value);
442 
444 int lt8722_get_vcc_vreg(struct lt8722_dev *dev, enum lt8722_vcc_vreg *value);
445 
447 int lt8722_set_sw_vc_int(struct lt8722_dev *dev, enum lt8722_sw_vc_int value);
448 
450 int lt8722_get_sw_vc_int(struct lt8722_dev *dev, enum lt8722_sw_vc_int *value);
451 
453 int lt8722_set_pwr_lim(struct lt8722_dev *dev, enum lt8722_pwr_lim value);
454 
456 int lt8722_get_pwr_lim(struct lt8722_dev *dev, enum lt8722_pwr_lim *value);
457 
459 int lt8722_set_sys_dc(struct lt8722_dev *dev, enum lt8722_sys_dc value);
460 
462 int lt8722_get_sys_dc(struct lt8722_dev *dev, enum lt8722_sys_dc *value);
463 
465 int lt8722_set_spis_dac_ilimn(struct lt8722_dev *dev, uint16_t value);
466 
468 int lt8722_get_spis_dac_ilimn(struct lt8722_dev *dev, uint16_t *value);
469 
471 int lt8722_set_spis_dac_ilimp(struct lt8722_dev *dev, uint16_t value);
472 
474 int lt8722_get_spis_dac_ilimp(struct lt8722_dev *dev, uint16_t *value);
475 
477 int lt8722_set_dac(struct lt8722_dev *dev, uint32_t value);
478 
480 int lt8722_get_dac(struct lt8722_dev *dev, uint32_t *value);
481 
483 int lt8722_set_spis_ov_clamp(struct lt8722_dev *dev, uint8_t value);
484 
486 int lt8722_get_spis_ov_clamp(struct lt8722_dev *dev, uint8_t *value);
487 
489 int lt8722_set_spis_uv_clamp(struct lt8722_dev *dev, uint8_t value);
490 
492 int lt8722_get_spis_uv_clamp(struct lt8722_dev *dev, uint8_t *value);
493 
495 int lt8722_set_aout_en(struct lt8722_dev *dev, bool value);
496 
498 int lt8722_get_aout_en(struct lt8722_dev *dev, bool *value);
499 
501 int lt8722_set_amux(struct lt8722_dev *dev, enum lt8722_amux value,
502  uint8_t test);
503 
505 int lt8722_get_amux(struct lt8722_dev *dev, enum lt8722_amux *value,
506  uint8_t *test);
507 
509 int lt8722_set_output_voltage(struct lt8722_dev *dev, int64_t value);
510 
512 int lt8722_get_output_voltage(struct lt8722_dev *dev, int64_t *value);
513 
515 int lt8722_shutdown(struct lt8722_dev *dev);
516 
518 int lt8722_reset(struct lt8722_dev *dev);
519 
521 int lt8722_set_swen_pin(struct lt8722_dev *dev, uint8_t value);
522 
524 int lt8722_get_swen_pin(struct lt8722_dev *dev, uint8_t *value);
525 
527 int lt8722_set_en_pin(struct lt8722_dev *dev, uint8_t value);
528 
530 int lt8722_get_en_pin(struct lt8722_dev *dev, uint8_t *value);
531 
533 int lt8722_init(struct lt8722_dev **device,
534  struct lt8722_init_param *init_param);
535 
537 int lt8722_remove(struct lt8722_dev *dev);
538 
539 #endif
lt8722_get_pwr_lim
int lt8722_get_pwr_lim(struct lt8722_dev *dev, enum lt8722_pwr_lim *value)
Get LDR power dissipation limit of LT8722 device.
Definition: lt8722.c:543
lt8722_dev
Device descriptor for LT8722.
Definition: lt8722.h:379
LT8722_ENABLE_REQ_MASK
#define LT8722_ENABLE_REQ_MASK
Definition: lt8722.h:113
LT8722_SPIS_UV_CLAMP_MASK
#define LT8722_SPIS_UV_CLAMP_MASK
Definition: lt8722.h:164
LT8722_SPIS_DAC_SIZE
#define LT8722_SPIS_DAC_SIZE
Definition: lt8722.h:87
lt8722_set_en_pin
int lt8722_set_en_pin(struct lt8722_dev *dev, uint8_t value)
Set EN pin of LT8722 device.
Definition: lt8722.c:1004
no_os_alloc.h
LT8722_SPIS_OV_CLAMP
#define LT8722_SPIS_OV_CLAMP
Definition: lt8722.h:78
no_os_gpio_init_param
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
lt8722_set_sw_frq_adj
int lt8722_set_sw_frq_adj(struct lt8722_dev *dev, enum lt8722_sw_frq_adj value)
Set switching frequency adjustment of LT8722 device.
Definition: lt8722.c:413
LT8722_AMUX_TEST_MASK
#define LT8722_AMUX_TEST_MASK
Definition: lt8722.h:168
LT8722_SWEN_REQ_DISABLED
@ LT8722_SWEN_REQ_DISABLED
Definition: lt8722.h:193
lt8722_get_sw_vc_int
int lt8722_get_sw_vc_int(struct lt8722_dev *dev, enum lt8722_sw_vc_int *value)
Get initial peak inductor current of LT8722 device.
Definition: lt8722.c:505
LT8722_AOUT_EN_MASK
#define LT8722_AOUT_EN_MASK
Definition: lt8722.h:169
lt8722_packet::data
uint32_t data
Definition: lt8722.h:358
LT8722_ENABLE_REQ_DISABLED
@ LT8722_ENABLE_REQ_DISABLED
Definition: lt8722.h:182
lt8722_set_sw_vc_int
int lt8722_set_sw_vc_int(struct lt8722_dev *dev, enum lt8722_sw_vc_int value)
Set initial peak inductor current of LT8722 device.
Definition: lt8722.c:489
LT8722_SPIS_AMUX_SIZE
#define LT8722_SPIS_AMUX_SIZE
Definition: lt8722.h:90
lt8722_init_param::start_up_sequence
bool start_up_sequence
Definition: lt8722.h:372
lt8722_set_vcc_vreg
int lt8722_set_vcc_vreg(struct lt8722_dev *dev, enum lt8722_vcc_vreg value)
Set internal circuitry voltage source of LT8722 device.
Definition: lt8722.c:451
NO_OS_GENMASK
#define NO_OS_GENMASK(h, l)
Definition: no_os_util.h:88
LT8722_SPIS_DAC_ILIMN_MASK
#define LT8722_SPIS_DAC_ILIMN_MASK
Definition: lt8722.h:144
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:165
lt8722_remove
int lt8722_remove(struct lt8722_dev *dev)
Free the resources allocated by the lt8722_init()
Definition: lt8722.c:1154
lt8722_set_enable_req
int lt8722_set_enable_req(struct lt8722_dev *dev, bool value)
Set ENABLE_REQ field in LT8722 device.
Definition: lt8722.c:299
no_os_spi.h
Header file of SPI Interface.
lt8722_get_spis_dac_ilimp
int lt8722_get_spis_dac_ilimp(struct lt8722_dev *dev, uint16_t *value)
Get positive output current limit of LT8722 device.
Definition: lt8722.c:669
LT8722_SYS_DC_MASK
#define LT8722_SYS_DC_MASK
Definition: lt8722.h:117
lt8722_reg_write
int lt8722_reg_write(struct lt8722_dev *dev, uint8_t address, uint32_t data)
Write data to LT8722 device.
Definition: lt8722.c:197
lt8722_get_sys_dc
int lt8722_get_sys_dc(struct lt8722_dev *dev, enum lt8722_sys_dc *value)
Get PWM duty cycle of LT8722 device.
Definition: lt8722.c:581
lt8722_get_aout_en
int lt8722_get_aout_en(struct lt8722_dev *dev, bool *value)
Get analog output buffer status of LT8722 device.
Definition: lt8722.c:821
lt8722_get_sw_frq_adj
int lt8722_get_sw_frq_adj(struct lt8722_dev *dev, enum lt8722_sw_frq_adj *value)
Get switching frequency adjustment of LT8722 device.
Definition: lt8722.c:428
lt8722_reg_read
int lt8722_reg_read(struct lt8722_dev *dev, uint8_t address, uint32_t *data)
Read data from LT8722 device.
Definition: lt8722.c:166
LT8722_SPIS_DAC_ILIMP_DEFAULT_VALUE
#define LT8722_SPIS_DAC_ILIMP_DEFAULT_VALUE
Definition: lt8722.h:106
no_os_units.h
Header file of Units.
lt8722_get_spis_ov_clamp
int lt8722_get_spis_ov_clamp(struct lt8722_dev *dev, uint8_t *value)
Get positive output voltage limit of LT8722 device.
Definition: lt8722.c:745
lt8722_set_spis_dac_ilimn
int lt8722_set_spis_dac_ilimn(struct lt8722_dev *dev, uint16_t value)
Set negative output current limit of LT8722 device.
Definition: lt8722.c:604
LT8722_DATA_READ_COMMAND_SIZE
#define LT8722_DATA_READ_COMMAND_SIZE
Definition: lt8722.h:63
no_os_gpio_get_value
int32_t no_os_gpio_get_value(struct no_os_gpio_desc *desc, uint8_t *value)
Get the value of the specified GPIO.
Definition: no_os_gpio.c:227
lt8722_packet::reg
struct lt8722_reg reg
Definition: lt8722.h:357
pr_err
#define pr_err(fmt, args...)
Definition: no_os_print_log.h:94
lt8722_reg_write_mask
int lt8722_reg_write_mask(struct lt8722_dev *dev, uint8_t address, uint32_t mask, uint32_t data)
Write to LT8722 device register with mask.
Definition: lt8722.c:223
no_os_delay.h
Header file of Delay functions.
LT8722_STATUS_ACQUISITION_COMMAND_SIZE
#define LT8722_STATUS_ACQUISITION_COMMAND_SIZE
Definition: lt8722.h:61
lt8722_init_param::spi
struct no_os_spi_init_param * spi
Definition: lt8722.h:369
LT8722_DATA_READ_COMMAND
#define LT8722_DATA_READ_COMMAND
Definition: lt8722.h:58
lt8722_packet::status
uint16_t status
Definition: lt8722.h:361
lt8722_get_spis_dac_ilimn
int lt8722_get_spis_dac_ilimn(struct lt8722_dev *dev, uint16_t *value)
Get negative output current limit of LT8722 device.
Definition: lt8722.c:625
lt8722_regs
struct lt8722_reg lt8722_regs[LT8722_NUM_REGISTERS]
Definition: lt8722.c:51
lt8722_set_pwr_lim
int lt8722_set_pwr_lim(struct lt8722_dev *dev, enum lt8722_pwr_lim value)
Set LDR power dissipation limit of LT8722 device.
Definition: lt8722.c:528
lt8722_init
int lt8722_init(struct lt8722_dev **device, struct lt8722_init_param *init_param)
Initialize the LT8722 device.
Definition: lt8722.c:1033
LT8722_SW_FRQ_SET_3MHZ
@ LT8722_SW_FRQ_SET_3MHZ
Definition: lt8722.h:214
LT8722_SPIS_DAC_ILIMN_SIZE
#define LT8722_SPIS_DAC_ILIMN_SIZE
Definition: lt8722.h:85
device
Definition: ad9361_util.h:75
NO_OS_GPIO_HIGH
@ NO_OS_GPIO_HIGH
Definition: no_os_gpio.h:123
lt8722_voltage_to_dac
int32_t lt8722_voltage_to_dac(int64_t voltage)
Convert voltage to DAC code.
Definition: lt8722.c:91
no_os_print_log.h
Print messages helpers.
LT8722_SPIS_DAC_ILIMN
#define LT8722_SPIS_DAC_ILIMN
Definition: lt8722.h:75
lt8722_sw_vc_int
lt8722_sw_vc_int
Typical peak inductor current after BST-SW refresh period control bits.
Definition: lt8722.h:251
LT8722_SPIS_OV_CLAMP_MASK
#define LT8722_SPIS_OV_CLAMP_MASK
Definition: lt8722.h:161
LT8722_SPI_RST_RESET
#define LT8722_SPI_RST_RESET
Definition: lt8722.h:125
LT8722_SW_VC_INT_1_278A
@ LT8722_SW_VC_INT_1_278A
Definition: lt8722.h:259
LT8722_AOUT_EN_ENABLED
@ LT8722_AOUT_EN_ENABLED
Definition: lt8722.h:329
LT8722_AOUT_EN_DISABLED
@ LT8722_AOUT_EN_DISABLED
Definition: lt8722.h:327
lt8722_clear_faults
int lt8722_clear_faults(struct lt8722_dev *dev)
Clear LT8722 device faults.
Definition: lt8722.c:277
lt8722_get_status
int lt8722_get_status(struct lt8722_dev *dev, uint16_t *status)
Get LT8722 device status.
Definition: lt8722.c:248
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:60
LT8722_SPIS_STATUS_SIZE
#define LT8722_SPIS_STATUS_SIZE
Definition: lt8722.h:84
LT8722_SW_FRQ_ADJ_0_PERCENT
@ LT8722_SW_FRQ_ADJ_0_PERCENT
Definition: lt8722.h:227
lt8722_set_sw_vc_int
int lt8722_set_sw_vc_int(struct lt8722_dev *dev, enum lt8722_sw_vc_int value)
Set initial peak inductor current of LT8722 device.
Definition: lt8722.c:489
lt8722_init_param::gpio_en
struct no_os_gpio_init_param * gpio_en
Definition: lt8722.h:371
LT8722_SW_FRQ_SET_2MHZ
@ LT8722_SW_FRQ_SET_2MHZ
Definition: lt8722.h:210
lt8722_set_spis_ov_clamp
int lt8722_set_spis_ov_clamp(struct lt8722_dev *dev, uint8_t value)
Set positive output voltage limit of LT8722 device.
Definition: lt8722.c:730
LT8722_AMUX_IOUT
@ LT8722_AMUX_IOUT
Definition: lt8722.h:307
lt8722_reg::size
uint8_t size
Definition: lt8722.h:339
lt8722_get_en_pin
int lt8722_get_en_pin(struct lt8722_dev *dev, uint8_t *value)
Get EN pin of LT8722 device.
Definition: lt8722.c:1018
lt8722_sw_frq_adj
lt8722_sw_frq_adj
PWM switch frequency adjustment bits.
Definition: lt8722.h:225
lt8722_transaction
int lt8722_transaction(struct lt8722_dev *dev, struct lt8722_packet *packet)
LT8722 device SPI transaction.
Definition: lt8722.c:114
LT8722_PWR_LIM_3_5W
@ LT8722_PWR_LIM_3_5W
Definition: lt8722.h:282
LT8722_AMUX_VDDIO
@ LT8722_AMUX_VDDIO
Definition: lt8722.h:314
lt8722_set_dac
int lt8722_set_dac(struct lt8722_dev *dev, uint32_t value)
Set DAC code of LT8722 device.
Definition: lt8722.c:692
NO_OS_GPIO_LOW
@ NO_OS_GPIO_LOW
Definition: no_os_gpio.h:121
LT8722_SPIS_DAC_ILIMP_SIZE
#define LT8722_SPIS_DAC_ILIMP_SIZE
Definition: lt8722.h:86
LT8722_AMUX_VCC
@ LT8722_AMUX_VCC
Definition: lt8722.h:313
lt8722_get_sw_frq_set
int lt8722_get_sw_frq_set(struct lt8722_dev *dev, enum lt8722_sw_frq_set *value)
Get switching frequency of LT8722 device.
Definition: lt8722.c:390
LT8722_SW_FRQ_SET_1_5MHZ
@ LT8722_SW_FRQ_SET_1_5MHZ
Definition: lt8722.h:208
lt8722_set_enable_req
int lt8722_set_enable_req(struct lt8722_dev *dev, bool value)
Set ENABLE_REQ field in LT8722 device.
Definition: lt8722.c:299
LT8722_ENABLE_REQ_ENABLED
@ LT8722_ENABLE_REQ_ENABLED
Definition: lt8722.h:184
lt8722_shutdown
int lt8722_shutdown(struct lt8722_dev *dev)
Reset the LT8722 device.
Definition: lt8722.c:942
lt8722_init_param
Initialization parameter for the LT8722 device.
Definition: lt8722.h:368
no_os_mdelay
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
no_os_field_prep
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
LT8722_SYS_DC_20_80_DUTY_CYCLE
@ LT8722_SYS_DC_20_80_DUTY_CYCLE
Definition: lt8722.h:291
LT8722_SPIS_DAC_ILIMP
#define LT8722_SPIS_DAC_ILIMP
Definition: lt8722.h:76
LT8722_SPIS_DAC_ILIMP_MASK
#define LT8722_SPIS_DAC_ILIMP_MASK
Definition: lt8722.h:151
lt8722_get_spis_uv_clamp
int lt8722_get_spis_uv_clamp(struct lt8722_dev *dev, uint8_t *value)
Get negative output voltage limit of LT8722 device.
Definition: lt8722.c:783
lt8722_get_sys_dc
int lt8722_get_sys_dc(struct lt8722_dev *dev, enum lt8722_sys_dc *value)
Get PWM duty cycle of LT8722 device.
Definition: lt8722.c:581
lt8722_get_aout_en
int lt8722_get_aout_en(struct lt8722_dev *dev, bool *value)
Get analog output buffer status of LT8722 device.
Definition: lt8722.c:821
lt8722_get_sw_frq_adj
int lt8722_get_sw_frq_adj(struct lt8722_dev *dev, enum lt8722_sw_frq_adj *value)
Get switching frequency adjustment of LT8722 device.
Definition: lt8722.c:428
lt8722_command::size
uint8_t size
Definition: lt8722.h:348
lt8722_dac_to_voltage
int64_t lt8722_dac_to_voltage(int32_t dac)
Convert DAC code to nanovolts.
Definition: lt8722.c:102
no_os_error.h
Error codes definition.
lt8722_swen_req
lt8722_swen_req
PWM switch enable request bit.
Definition: lt8722.h:191
lt8722_set_spis_dac_ilimn
int lt8722_set_spis_dac_ilimn(struct lt8722_dev *dev, uint16_t value)
Set negative output current limit of LT8722 device.
Definition: lt8722.c:604
lt8722_aout_en
lt8722_aout_en
Analog output buffer enable control bits.
Definition: lt8722.h:325
lt8722_dev::status
uint16_t status
Definition: lt8722.h:384
LT8722_SW_VC_INT_2_646A
@ LT8722_SW_VC_INT_2_646A
Definition: lt8722.h:267
LT8722_SPIS_UV_CLAMP
#define LT8722_SPIS_UV_CLAMP
Definition: lt8722.h:79
LT8722_VCC_VREG_MASK
#define LT8722_VCC_VREG_MASK
Definition: lt8722.h:118
LT8722_AMUX_VSFB
@ LT8722_AMUX_VSFB
Definition: lt8722.h:315
lt8722_set_sys_dc
int lt8722_set_sys_dc(struct lt8722_dev *dev, enum lt8722_sys_dc value)
Set PWM duty cycle of LT8722 device.
Definition: lt8722.c:566
LT8722_PWR_LIM_2W
@ LT8722_PWR_LIM_2W
Definition: lt8722.h:276
LT8722_SPIS_UV_CLAMP_SIZE
#define LT8722_SPIS_UV_CLAMP_SIZE
Definition: lt8722.h:89
LT8722_DAC_RESOLUTION
#define LT8722_DAC_RESOLUTION
Definition: lt8722.h:171
lt8722_get_swen_req
int lt8722_get_swen_req(struct lt8722_dev *dev, bool *value)
Get switching enable of LT8722 device.
Definition: lt8722.c:352
no_os_crc8_populate_msb
void no_os_crc8_populate_msb(uint8_t *table, const uint8_t polynomial)
lt8722_reset
int lt8722_reset(struct lt8722_dev *dev)
Shutdown the LT8722 device.
Definition: lt8722.c:961
lt8722_get_spis_dac_ilimn
int lt8722_get_spis_dac_ilimn(struct lt8722_dev *dev, uint16_t *value)
Get negative output current limit of LT8722 device.
Definition: lt8722.c:625
LT8722_SPIS_DAC_ILIMN_MIN
#define LT8722_SPIS_DAC_ILIMN_MIN
Definition: lt8722.h:147
LT8722_SWEN_REQ_ENABLED
@ LT8722_SWEN_REQ_ENABLED
Definition: lt8722.h:195
lt8722_set_sw_frq_adj
int lt8722_set_sw_frq_adj(struct lt8722_dev *dev, enum lt8722_sw_frq_adj value)
Set switching frequency adjustment of LT8722 device.
Definition: lt8722.c:413
lt8722.h
Header file for the LT8722 Driver.
lt8722_set_spis_dac_ilimp
int lt8722_set_spis_dac_ilimp(struct lt8722_dev *dev, uint16_t value)
Set positive output current limit of LT8722 device.
Definition: lt8722.c:648
no_os_put_unaligned_be32
void no_os_put_unaligned_be32(uint32_t val, uint8_t *buf)
LT8722_SW_VC_INT_0_936A
@ LT8722_SW_VC_INT_0_936A
Definition: lt8722.h:257
lt8722_get_sw_vc_int
int lt8722_get_sw_vc_int(struct lt8722_dev *dev, enum lt8722_sw_vc_int *value)
Get initial peak inductor current of LT8722 device.
Definition: lt8722.c:505
lt8722_get_swen_pin
int lt8722_get_swen_pin(struct lt8722_dev *dev, uint8_t *value)
Get SWEN pin of LT8722 device.
Definition: lt8722.c:990
LT8722_SW_FRQ_SET_2_5MHZ
@ LT8722_SW_FRQ_SET_2_5MHZ
Definition: lt8722.h:212
LT8722_AMUX_VDAC
@ LT8722_AMUX_VDAC
Definition: lt8722.h:305
lt8722_get_dac
int lt8722_get_dac(struct lt8722_dev *dev, uint32_t *value)
Get DAC code of LT8722 device.
Definition: lt8722.c:707
LT8722_PWR_LIM_NO_LIMIT
@ LT8722_PWR_LIM_NO_LIMIT
Definition: lt8722.h:278
LT8722_SPIS_STATUS
#define LT8722_SPIS_STATUS
Definition: lt8722.h:74
LT8722_SW_FRQ_ADJ_0_PERCENT_2
@ LT8722_SW_FRQ_ADJ_0_PERCENT_2
Definition: lt8722.h:233
lt8722_set_swen_pin
int lt8722_set_swen_pin(struct lt8722_dev *dev, uint8_t value)
Set SWEN pin of LT8722 device.
Definition: lt8722.c:976
LT8722_AMUX_V1P65
@ LT8722_AMUX_V1P65
Definition: lt8722.h:310
lt8722_set_sw_frq_set
int lt8722_set_sw_frq_set(struct lt8722_dev *dev, enum lt8722_sw_frq_set value)
Set switching frequency of LT8722 device.
Definition: lt8722.c:375
LT8722_PWR_LIM_MASK
#define LT8722_PWR_LIM_MASK
Definition: lt8722.h:122
lt8722_set_amux
int lt8722_set_amux(struct lt8722_dev *dev, enum lt8722_amux value, uint8_t test)
Set analot output signal source of LT8722 device.
Definition: lt8722.c:845
LT8722_VCC_VREG_3_4V
@ LT8722_VCC_VREG_3_4V
Definition: lt8722.h:244
lt8722_get_status
int lt8722_get_status(struct lt8722_dev *dev, uint16_t *status)
Get LT8722 device status.
Definition: lt8722.c:248
lt8722_packet::ack
uint8_t ack
Definition: lt8722.h:360
lt8722_sys_dc
lt8722_sys_dc
PWM duty cycle control bits.
Definition: lt8722.h:289
lt8722_remove
int lt8722_remove(struct lt8722_dev *dev)
Free the resources allocated by the lt8722_init()
Definition: lt8722.c:1154
LT8722_AMUX_VIN
@ LT8722_AMUX_VIN
Definition: lt8722.h:312
lt8722_get_vcc_vreg
int lt8722_get_vcc_vreg(struct lt8722_dev *dev, enum lt8722_vcc_vreg *value)
Get internal circuitry voltage source of LT8722 device.
Definition: lt8722.c:466
LT8722_SW_VC_INT_MASK
#define LT8722_SW_VC_INT_MASK
Definition: lt8722.h:119
LT8722_SYS_DC_10_90_DUTY_CYCLE
@ LT8722_SYS_DC_10_90_DUTY_CYCLE
Definition: lt8722.h:295
no_os_gpio_remove
int32_t no_os_gpio_remove(struct no_os_gpio_desc *desc)
Free the resources allocated by no_os_gpio_get().
Definition: no_os_gpio.c:110
lt8722_set_swen_req
int lt8722_set_swen_req(struct lt8722_dev *dev, bool value)
Set switching enable of LT8722 device.
Definition: lt8722.c:337
no_os_spi_desc
Structure holding SPI descriptor.
Definition: no_os_spi.h:177
lt8722_get_sw_frq_set
int lt8722_get_sw_frq_set(struct lt8722_dev *dev, enum lt8722_sw_frq_set *value)
Get switching frequency of LT8722 device.
Definition: lt8722.c:390
lt8722_get_enable_req
int lt8722_get_enable_req(struct lt8722_dev *dev, bool *value)
Get ENABLE_REQ field in LT8722 device.
Definition: lt8722.c:314
lt8722_get_amux
int lt8722_get_amux(struct lt8722_dev *dev, enum lt8722_amux *value, uint8_t *test)
Get analot output signal source of LT8722 device.
Definition: lt8722.c:873
LT8722_DATA_WRITE_COMMAND_SIZE
#define LT8722_DATA_WRITE_COMMAND_SIZE
Definition: lt8722.h:62
LT8722_SPIS_DAC_ILIMP_MIN
#define LT8722_SPIS_DAC_ILIMP_MIN
Definition: lt8722.h:154
lt8722_sw_frq_set
lt8722_sw_frq_set
PWM switch frequency control bits.
Definition: lt8722.h:202
LT8722_SPIS_OV_CLAMP_DEFAULT_VALUE
#define LT8722_SPIS_OV_CLAMP_DEFAULT_VALUE
Definition: lt8722.h:108
NO_OS_DECLARE_CRC8_TABLE
NO_OS_DECLARE_CRC8_TABLE(lt8722_crc8)
LT8722_SPIS_COMMAND
#define LT8722_SPIS_COMMAND
Definition: lt8722.h:73
lt8722_dev::spi
struct no_os_spi_desc * spi
Definition: lt8722.h:380
no_os_gpio_desc
Structure holding the GPIO descriptor.
Definition: no_os_gpio.h:102
lt8722_command::byte
uint8_t byte
Definition: lt8722.h:347
lt8722_set_spis_uv_clamp
int lt8722_set_spis_uv_clamp(struct lt8722_dev *dev, uint8_t value)
Set negative output voltage limit of LT8722 device.
Definition: lt8722.c:768
lt8722_get_spis_uv_clamp
int lt8722_get_spis_uv_clamp(struct lt8722_dev *dev, uint8_t *value)
Get negative output voltage limit of LT8722 device.
Definition: lt8722.c:783
lt8722_get_output_voltage
int lt8722_get_output_voltage(struct lt8722_dev *dev, int64_t *value)
Get output volatge of LT8722 device.
Definition: lt8722.c:918
lt8722_dac_to_voltage
int64_t lt8722_dac_to_voltage(int32_t dac)
Convert DAC code to nanovolts.
Definition: lt8722.c:102
LT8722_AMUX_VTEMP
@ LT8722_AMUX_VTEMP
Definition: lt8722.h:311
lt8722_set_en_pin
int lt8722_set_en_pin(struct lt8722_dev *dev, uint8_t value)
Set EN pin of LT8722 device.
Definition: lt8722.c:1004
LT8722_SPIS_COMMAND_SIZE
#define LT8722_SPIS_COMMAND_SIZE
Definition: lt8722.h:83
LT8722_STATUS_ACQUISITION_COMMAND
#define LT8722_STATUS_ACQUISITION_COMMAND
Definition: lt8722.h:56
LT8722_AMUX_VILIMP
@ LT8722_AMUX_VILIMP
Definition: lt8722.h:303
lt8722_dev::start_up_sequence
bool start_up_sequence
Definition: lt8722.h:383
LT8722_SPIS_DAC_ILIMN_DEFAULT_VALUE
#define LT8722_SPIS_DAC_ILIMN_DEFAULT_VALUE
Definition: lt8722.h:105
LT8722_SPIS_AMUX_DEFAULT_VALUE
#define LT8722_SPIS_AMUX_DEFAULT_VALUE
Definition: lt8722.h:110
LT8722_SW_FRQ_SET_3MHZ_2
@ LT8722_SW_FRQ_SET_3MHZ_2
Definition: lt8722.h:216
lt8722_set_output_voltage
int lt8722_set_output_voltage(struct lt8722_dev *dev, int64_t value)
Set output volatge of LT8722 device.
Definition: lt8722.c:898
lt8722_reg
LT8722 register structure.
Definition: lt8722.h:336
LT8722_FAULTS_MASK
#define LT8722_FAULTS_MASK
Definition: lt8722.h:141
lt8722_get_swen_req
int lt8722_get_swen_req(struct lt8722_dev *dev, bool *value)
Get switching enable of LT8722 device.
Definition: lt8722.c:352
LT8722_SPI_RST_MASK
#define LT8722_SPI_RST_MASK
Definition: lt8722.h:120
lt8722_voltage_to_dac
int32_t lt8722_voltage_to_dac(int64_t voltage)
Convert voltage to DAC code.
Definition: lt8722.c:91
lt8722_init_param::gpio_swen
struct no_os_gpio_init_param * gpio_swen
Definition: lt8722.h:370
lt8722_reset
int lt8722_reset(struct lt8722_dev *dev)
Shutdown the LT8722 device.
Definition: lt8722.c:961
LT8722_SW_VC_INT_1_962A
@ LT8722_SW_VC_INT_1_962A
Definition: lt8722.h:263
lt8722_reg::address
uint8_t address
Definition: lt8722.h:337
lt8722_set_spis_dac_ilimp
int lt8722_set_spis_dac_ilimp(struct lt8722_dev *dev, uint16_t value)
Set positive output current limit of LT8722 device.
Definition: lt8722.c:648
no_os_field_get
uint32_t no_os_field_get(uint32_t mask, uint32_t word)
LT8722_SPIS_DAC_ILIMN_MAX
#define LT8722_SPIS_DAC_ILIMN_MAX
Definition: lt8722.h:148
lt8722_clear_faults
int lt8722_clear_faults(struct lt8722_dev *dev)
Clear LT8722 device faults.
Definition: lt8722.c:277
LT8722_SW_VC_INT_0_594A
@ LT8722_SW_VC_INT_0_594A
Definition: lt8722.h:255
LT8722_SPIS_STATUS_DEFAULT_VALUE
#define LT8722_SPIS_STATUS_DEFAULT_VALUE
Definition: lt8722.h:104
LT8722_SPIS_UV_CLAMP_DEFAULT_VALUE
#define LT8722_SPIS_UV_CLAMP_DEFAULT_VALUE
Definition: lt8722.h:109
lt8722_get_dac
int lt8722_get_dac(struct lt8722_dev *dev, uint32_t *value)
Get DAC code of LT8722 device.
Definition: lt8722.c:707
LT8722_AMUX_VSFB_2
@ LT8722_AMUX_VSFB_2
Definition: lt8722.h:316
lt8722_pwr_lim
lt8722_pwr_lim
Linear power stage MOSFET power limit control bits.
Definition: lt8722.h:274
no_os_crc8
uint8_t no_os_crc8(const uint8_t *table, const uint8_t *pdata, size_t nbytes, uint8_t crc)
LT8722_AMUX_VSFB_3
@ LT8722_AMUX_VSFB_3
Definition: lt8722.h:317
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:75
LT8722_SPIS_DAC_DEFAULT_VALUE
#define LT8722_SPIS_DAC_DEFAULT_VALUE
Definition: lt8722.h:107
lt8722_set_swen_pin
int lt8722_set_swen_pin(struct lt8722_dev *dev, uint8_t value)
Set SWEN pin of LT8722 device.
Definition: lt8722.c:976
lt8722_set_aout_en
int lt8722_set_aout_en(struct lt8722_dev *dev, bool value)
Set analog output buffer status of LT8722 device.
Definition: lt8722.c:806
LT8722_AMUX_VILIMN
@ LT8722_AMUX_VILIMN
Definition: lt8722.h:304
lt8722_set_sw_frq_set
int lt8722_set_sw_frq_set(struct lt8722_dev *dev, enum lt8722_sw_frq_set value)
Set switching frequency of LT8722 device.
Definition: lt8722.c:375
lt8722_get_spis_dac_ilimp
int lt8722_get_spis_dac_ilimp(struct lt8722_dev *dev, uint16_t *value)
Get positive output current limit of LT8722 device.
Definition: lt8722.c:669
LT8722_NUM_REGISTERS
#define LT8722_NUM_REGISTERS
Definition: lt8722.h:53
lt8722_reg_write
int lt8722_reg_write(struct lt8722_dev *dev, uint8_t address, uint32_t data)
Write data to LT8722 device.
Definition: lt8722.c:197
LT8722_SW_VC_INT_2_304A
@ LT8722_SW_VC_INT_2_304A
Definition: lt8722.h:265
lt8722_amux
lt8722_amux
Analog multiplexer control bits.
Definition: lt8722.h:302
LT8722_SW_FRQ_SET_0_5MHZ
@ LT8722_SW_FRQ_SET_0_5MHZ
Definition: lt8722.h:204
LT8722_SPIS_DAC
#define LT8722_SPIS_DAC
Definition: lt8722.h:77
no_os_udelay
void no_os_udelay(uint32_t usecs)
Wait until usecs microseconds passed.
Definition: aducm3029_delay.c:120
lt8722_reg_read
int lt8722_reg_read(struct lt8722_dev *dev, uint8_t address, uint32_t *data)
Read data from LT8722 device.
Definition: lt8722.c:166
lt8722_get_spis_ov_clamp
int lt8722_get_spis_ov_clamp(struct lt8722_dev *dev, uint8_t *value)
Get positive output voltage limit of LT8722 device.
Definition: lt8722.c:745
LT8722_DAC_VREF
#define LT8722_DAC_VREF
Definition: lt8722.h:173
LT8722_SPIS_DAC_ILIMP_MAX
#define LT8722_SPIS_DAC_ILIMP_MAX
Definition: lt8722.h:155
LT8722_CRC_POLYNOMIAL
#define LT8722_CRC_POLYNOMIAL
Definition: lt8722.h:50
lt8722_reg::default_val
uint32_t default_val
Definition: lt8722.h:338
no_os_gpio_set_value
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
no_os_get_unaligned_be32
uint32_t no_os_get_unaligned_be32(uint8_t *buf)
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:119
lt8722_get_pwr_lim
int lt8722_get_pwr_lim(struct lt8722_dev *dev, enum lt8722_pwr_lim *value)
Get LDR power dissipation limit of LT8722 device.
Definition: lt8722.c:543
lt8722_reg_write_mask
int lt8722_reg_write_mask(struct lt8722_dev *dev, uint8_t address, uint32_t mask, uint32_t data)
Write to LT8722 device register with mask.
Definition: lt8722.c:223
lt8722_set_swen_req
int lt8722_set_swen_req(struct lt8722_dev *dev, bool value)
Set switching enable of LT8722 device.
Definition: lt8722.c:337
lt8722_packet
LT8722 packet structure.
Definition: lt8722.h:355
LT8722_AMUX_MASK
#define LT8722_AMUX_MASK
Definition: lt8722.h:167
lt8722_set_pwr_lim
int lt8722_set_pwr_lim(struct lt8722_dev *dev, enum lt8722_pwr_lim value)
Set LDR power dissipation limit of LT8722 device.
Definition: lt8722.c:528
lt8722_set_sys_dc
int lt8722_set_sys_dc(struct lt8722_dev *dev, enum lt8722_sys_dc value)
Set PWM duty cycle of LT8722 device.
Definition: lt8722.c:566
lt8722_command
LT8722 command structure.
Definition: lt8722.h:346
LT8722_PWR_LIM_3W
@ LT8722_PWR_LIM_3W
Definition: lt8722.h:280
lt8722_set_spis_uv_clamp
int lt8722_set_spis_uv_clamp(struct lt8722_dev *dev, uint8_t value)
Set negative output voltage limit of LT8722 device.
Definition: lt8722.c:768
LT8722_SYS_DC_15_85_DUTY_CYCLE
@ LT8722_SYS_DC_15_85_DUTY_CYCLE
Definition: lt8722.h:293
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:122
lt8722_get_output_voltage
int lt8722_get_output_voltage(struct lt8722_dev *dev, int64_t *value)
Get output volatge of LT8722 device.
Definition: lt8722.c:918
no_os_gpio.h
Header file of GPIO Interface.
LT8722_SPIS_OV_CLAMP_SIZE
#define LT8722_SPIS_OV_CLAMP_SIZE
Definition: lt8722.h:88
LT8722_ACK_ACKNOWLEDGE
#define LT8722_ACK_ACKNOWLEDGE
Definition: lt8722.h:66
LT8722_SW_FRQ_ADJ_NEGATIVE_15_PERCENT
@ LT8722_SW_FRQ_ADJ_NEGATIVE_15_PERCENT
Definition: lt8722.h:231
LT8722_SPIS_DAC_MASK
#define LT8722_SPIS_DAC_MASK
Definition: lt8722.h:158
lt8722_set_vcc_vreg
int lt8722_set_vcc_vreg(struct lt8722_dev *dev, enum lt8722_vcc_vreg value)
Set internal circuitry voltage source of LT8722 device.
Definition: lt8722.c:451
LT8722_AMUX_V1P25
@ LT8722_AMUX_V1P25
Definition: lt8722.h:309
LT8722_SWEN_REQ_MASK
#define LT8722_SWEN_REQ_MASK
Definition: lt8722.h:114
lt8722_dev::gpio_en
struct no_os_gpio_desc * gpio_en
Definition: lt8722.h:382
lt8722_set_output_voltage
int lt8722_set_output_voltage(struct lt8722_dev *dev, int64_t value)
Set output volatge of LT8722 device.
Definition: lt8722.c:898
lt8722_get_swen_pin
int lt8722_get_swen_pin(struct lt8722_dev *dev, uint8_t *value)
Get SWEN pin of LT8722 device.
Definition: lt8722.c:990
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:58
no_os_get_unaligned_be16
uint16_t no_os_get_unaligned_be16(uint8_t *buf)
LT8722_VCC_VREG_3_1V
@ LT8722_VCC_VREG_3_1V
Definition: lt8722.h:242
LT8722_SW_FRQ_SET_1MHZ
@ LT8722_SW_FRQ_SET_1MHZ
Definition: lt8722.h:206
LT8722_SW_FRQ_SET_MASK
#define LT8722_SW_FRQ_SET_MASK
Definition: lt8722.h:115
LT8722_AMUX_VOUT
@ LT8722_AMUX_VOUT
Definition: lt8722.h:306
no_os_util.h
Header file of utility functions.
lt8722_dev::gpio_swen
struct no_os_gpio_desc * gpio_swen
Definition: lt8722.h:381
lt8722_set_amux
int lt8722_set_amux(struct lt8722_dev *dev, enum lt8722_amux value, uint8_t test)
Set analot output signal source of LT8722 device.
Definition: lt8722.c:845
lt8722_set_spis_ov_clamp
int lt8722_set_spis_ov_clamp(struct lt8722_dev *dev, uint8_t value)
Set positive output voltage limit of LT8722 device.
Definition: lt8722.c:730
lt8722_get_en_pin
int lt8722_get_en_pin(struct lt8722_dev *dev, uint8_t *value)
Get EN pin of LT8722 device.
Definition: lt8722.c:1018
lt8722_transaction
int lt8722_transaction(struct lt8722_dev *dev, struct lt8722_packet *packet)
LT8722 device SPI transaction.
Definition: lt8722.c:114
lt8722_set_dac
int lt8722_set_dac(struct lt8722_dev *dev, uint32_t value)
Set DAC code of LT8722 device.
Definition: lt8722.c:692
LT8722_SW_FRQ_ADJ_MASK
#define LT8722_SW_FRQ_ADJ_MASK
Definition: lt8722.h:116
LT8722_SW_FRQ_SET_3MHZ_3
@ LT8722_SW_FRQ_SET_3MHZ_3
Definition: lt8722.h:218
LT8722_SPIS_COMMAND_DEFAULT_VALUE
#define LT8722_SPIS_COMMAND_DEFAULT_VALUE
Definition: lt8722.h:103
no_os_gpio_direction_output
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
lt8722_vcc_vreg
lt8722_vcc_vreg
VCC LDO regulation control bits.
Definition: lt8722.h:240
lt8722_get_vcc_vreg
int lt8722_get_vcc_vreg(struct lt8722_dev *dev, enum lt8722_vcc_vreg *value)
Get internal circuitry voltage source of LT8722 device.
Definition: lt8722.c:466
lt8722_set_aout_en
int lt8722_set_aout_en(struct lt8722_dev *dev, bool value)
Set analog output buffer status of LT8722 device.
Definition: lt8722.c:806
LT8722_SW_FRQ_ADJ_POSITIVE_15_PERCENT
@ LT8722_SW_FRQ_ADJ_POSITIVE_15_PERCENT
Definition: lt8722.h:229
lt8722_shutdown
int lt8722_shutdown(struct lt8722_dev *dev)
Reset the LT8722 device.
Definition: lt8722.c:942
lt8722_enable_req
lt8722_enable_req
VCC LDO enable bit and linear power stage enable request bit.
Definition: lt8722.h:180
LT8722_SPIS_AMUX
#define LT8722_SPIS_AMUX
Definition: lt8722.h:80
LT8722_AMUX_V2P5
@ LT8722_AMUX_V2P5
Definition: lt8722.h:308
no_os_crc8.h
Header file of CRC-8 computation.
lt8722_packet::command
struct lt8722_command command
Definition: lt8722.h:356
errno.h
Error macro definition for ARM Compiler.
LT8722_DAC_OFFSET
#define LT8722_DAC_OFFSET
Definition: lt8722.h:172
LT8722_SW_VC_INT_1_620A
@ LT8722_SW_VC_INT_1_620A
Definition: lt8722.h:261
lt8722_get_enable_req
int lt8722_get_enable_req(struct lt8722_dev *dev, bool *value)
Get ENABLE_REQ field in LT8722 device.
Definition: lt8722.c:314
lt8722_get_amux
int lt8722_get_amux(struct lt8722_dev *dev, enum lt8722_amux *value, uint8_t *test)
Get analot output signal source of LT8722 device.
Definition: lt8722.c:873
lt8722_regs
struct lt8722_reg lt8722_regs[LT8722_NUM_REGISTERS]
Definition: lt8722.c:51
lt8722_init
int lt8722_init(struct lt8722_dev **device, struct lt8722_init_param *init_param)
Initialize the LT8722 device.
Definition: lt8722.c:1033
lt8722_packet::crc
uint8_t crc
Definition: lt8722.h:359
no_os_spi_init_param
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:131
LT8722_AMUX_VSFB_4
@ LT8722_AMUX_VSFB_4
Definition: lt8722.h:318
LT8722_SW_VC_INT_0_252A
@ LT8722_SW_VC_INT_0_252A
Definition: lt8722.h:253
LT8722_DATA_WRITE_COMMAND
#define LT8722_DATA_WRITE_COMMAND
Definition: lt8722.h:57
no_os_gpio_get_optional
int32_t no_os_gpio_get_optional(struct no_os_gpio_desc **desc, const struct no_os_gpio_init_param *param)
Get the value of an optional GPIO.
Definition: no_os_gpio.c:81