no-OS
Functions | Variables
lt8722.c File Reference

Source file for the LT8722 Driver. More...

#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include "no_os_alloc.h"
#include "no_os_crc8.h"
#include "no_os_delay.h"
#include "no_os_error.h"
#include "no_os_print_log.h"
#include "lt8722.h"
Include dependency graph for lt8722.c:

Functions

 NO_OS_DECLARE_CRC8_TABLE (lt8722_crc8)
 
int32_t lt8722_voltage_to_dac (int64_t voltage)
 Convert voltage to DAC code. More...
 
int64_t lt8722_dac_to_voltage (int32_t dac)
 Convert DAC code to nanovolts. More...
 
int lt8722_transaction (struct lt8722_dev *dev, struct lt8722_packet *packet)
 LT8722 device SPI transaction. More...
 
int lt8722_reg_read (struct lt8722_dev *dev, uint8_t address, uint32_t *data)
 Read data from LT8722 device. More...
 
int lt8722_reg_write (struct lt8722_dev *dev, uint8_t address, uint32_t data)
 Write data to LT8722 device. More...
 
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. More...
 
int lt8722_get_status (struct lt8722_dev *dev, uint16_t *status)
 Get LT8722 device status. More...
 
int lt8722_clear_faults (struct lt8722_dev *dev)
 Clear LT8722 device faults. More...
 
int lt8722_set_enable_req (struct lt8722_dev *dev, bool value)
 Set ENABLE_REQ field in LT8722 device. More...
 
int lt8722_get_enable_req (struct lt8722_dev *dev, bool *value)
 Get ENABLE_REQ field in LT8722 device. More...
 
int lt8722_set_swen_req (struct lt8722_dev *dev, bool value)
 Set switching enable of LT8722 device. More...
 
int lt8722_get_swen_req (struct lt8722_dev *dev, bool *value)
 Get switching enable of LT8722 device. More...
 
int lt8722_set_sw_frq_set (struct lt8722_dev *dev, enum lt8722_sw_frq_set value)
 Set switching frequency of LT8722 device. More...
 
int lt8722_get_sw_frq_set (struct lt8722_dev *dev, enum lt8722_sw_frq_set *value)
 Get switching frequency of LT8722 device. More...
 
int lt8722_set_sw_frq_adj (struct lt8722_dev *dev, enum lt8722_sw_frq_adj value)
 Set switching frequency adjustment of LT8722 device. More...
 
int lt8722_get_sw_frq_adj (struct lt8722_dev *dev, enum lt8722_sw_frq_adj *value)
 Get switching frequency adjustment of LT8722 device. More...
 
int lt8722_set_vcc_vreg (struct lt8722_dev *dev, enum lt8722_vcc_vreg value)
 Set internal circuitry voltage source of LT8722 device. More...
 
int lt8722_get_vcc_vreg (struct lt8722_dev *dev, enum lt8722_vcc_vreg *value)
 Get internal circuitry voltage source of LT8722 device. More...
 
int lt8722_set_sw_vc_int (struct lt8722_dev *dev, enum lt8722_sw_vc_int value)
 Set initial peak inductor current of LT8722 device. More...
 
int lt8722_get_sw_vc_int (struct lt8722_dev *dev, enum lt8722_sw_vc_int *value)
 Get initial peak inductor current of LT8722 device. More...
 
int lt8722_set_pwr_lim (struct lt8722_dev *dev, enum lt8722_pwr_lim value)
 Set LDR power dissipation limit of LT8722 device. More...
 
int lt8722_get_pwr_lim (struct lt8722_dev *dev, enum lt8722_pwr_lim *value)
 Get LDR power dissipation limit of LT8722 device. More...
 
int lt8722_set_sys_dc (struct lt8722_dev *dev, enum lt8722_sys_dc value)
 Set PWM duty cycle of LT8722 device. More...
 
int lt8722_get_sys_dc (struct lt8722_dev *dev, enum lt8722_sys_dc *value)
 Get PWM duty cycle of LT8722 device. More...
 
int lt8722_set_spis_dac_ilimn (struct lt8722_dev *dev, uint16_t value)
 Set negative output current limit of LT8722 device. More...
 
int lt8722_get_spis_dac_ilimn (struct lt8722_dev *dev, uint16_t *value)
 Get negative output current limit of LT8722 device. More...
 
int lt8722_set_spis_dac_ilimp (struct lt8722_dev *dev, uint16_t value)
 Set positive output current limit of LT8722 device. More...
 
int lt8722_get_spis_dac_ilimp (struct lt8722_dev *dev, uint16_t *value)
 Get positive output current limit of LT8722 device. More...
 
int lt8722_set_dac (struct lt8722_dev *dev, uint32_t value)
 Set DAC code of LT8722 device. More...
 
int lt8722_get_dac (struct lt8722_dev *dev, uint32_t *value)
 Get DAC code of LT8722 device. More...
 
int lt8722_set_spis_ov_clamp (struct lt8722_dev *dev, uint8_t value)
 Set positive output voltage limit of LT8722 device. More...
 
int lt8722_get_spis_ov_clamp (struct lt8722_dev *dev, uint8_t *value)
 Get positive output voltage limit of LT8722 device. More...
 
int lt8722_set_spis_uv_clamp (struct lt8722_dev *dev, uint8_t value)
 Set negative output voltage limit of LT8722 device. More...
 
int lt8722_get_spis_uv_clamp (struct lt8722_dev *dev, uint8_t *value)
 Get negative output voltage limit of LT8722 device. More...
 
int lt8722_set_aout_en (struct lt8722_dev *dev, bool value)
 Set analog output buffer status of LT8722 device. More...
 
int lt8722_get_aout_en (struct lt8722_dev *dev, bool *value)
 Get analog output buffer status of LT8722 device. More...
 
int lt8722_set_amux (struct lt8722_dev *dev, enum lt8722_amux value, uint8_t test)
 Set analot output signal source of LT8722 device. More...
 
int lt8722_get_amux (struct lt8722_dev *dev, enum lt8722_amux *value, uint8_t *test)
 Get analot output signal source of LT8722 device. More...
 
int lt8722_set_output_voltage (struct lt8722_dev *dev, int64_t value)
 Set output volatge of LT8722 device. More...
 
int lt8722_get_output_voltage (struct lt8722_dev *dev, int64_t *value)
 Get output volatge of LT8722 device. More...
 
int lt8722_shutdown (struct lt8722_dev *dev)
 Reset the LT8722 device. More...
 
int lt8722_reset (struct lt8722_dev *dev)
 Shutdown the LT8722 device. More...
 
int lt8722_set_swen_pin (struct lt8722_dev *dev, uint8_t value)
 Set SWEN pin of LT8722 device. More...
 
int lt8722_get_swen_pin (struct lt8722_dev *dev, uint8_t *value)
 Get SWEN pin of LT8722 device. More...
 
int lt8722_set_en_pin (struct lt8722_dev *dev, uint8_t value)
 Set EN pin of LT8722 device. More...
 
int lt8722_get_en_pin (struct lt8722_dev *dev, uint8_t *value)
 Get EN pin of LT8722 device. More...
 
int lt8722_init (struct lt8722_dev **device, struct lt8722_init_param *init_param)
 Initialize the LT8722 device. More...
 
int lt8722_remove (struct lt8722_dev *dev)
 Free the resources allocated by the lt8722_init() More...
 

Variables

struct lt8722_reg lt8722_regs [LT8722_NUM_REGISTERS]
 

Detailed Description

Source file for the LT8722 Driver.

Author
Ramon Cristopher Calam (ramon.nosp@m.cris.nosp@m.tophe.nosp@m.r.ca.nosp@m.lam@a.nosp@m.nalo.nosp@m.g.com)

Copyright 2024(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.

Function Documentation

◆ lt8722_clear_faults()

int lt8722_clear_faults ( struct lt8722_dev dev)

Clear LT8722 device faults.

Parameters
dev- LT8722 device descriptor
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_dac_to_voltage()

int64_t lt8722_dac_to_voltage ( int32_t  dac)

Convert DAC code to nanovolts.

Parameters
dac- DAC code.
Returns
Voltage value in nanovolts.
Here is the caller graph for this function:

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Analog output signal source value.
test- AMUX_TEST value.
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_get_aout_en()

int lt8722_get_aout_en ( struct lt8722_dev dev,
bool value 
)

Get analog output buffer status of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- Analog output buffer status value
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_get_dac()

int lt8722_get_dac ( struct lt8722_dev dev,
uint32_t *  value 
)

Get DAC code of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- DAC value
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_get_en_pin()

int lt8722_get_en_pin ( struct lt8722_dev dev,
uint8_t *  value 
)

Get EN pin of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- EN pin value.
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_get_enable_req()

int lt8722_get_enable_req ( struct lt8722_dev dev,
bool value 
)

Get ENABLE_REQ field in LT8722 device.

Parameters
dev- LT8722 device descriptor
value- Enable if true, disabled otherwise
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_get_output_voltage()

int lt8722_get_output_voltage ( struct lt8722_dev dev,
int64_t *  value 
)

Get output volatge of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- Output voltage value in nanovolts.
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ 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.

Parameters
dev- LT8722 device descriptor
value- LDR power dissipation limit value
Returns
0 in case of success, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Negative output current limit value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Positive output current limit value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Positive output voltage limit value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Negative output voltage limit value
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_get_status()

int lt8722_get_status ( struct lt8722_dev dev,
uint16_t *  status 
)

Get LT8722 device status.

Parameters
dev- LT8722 device descriptor
status- Status value to be returned.
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Switching frequency value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Switching frequency value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Peak inductor current value
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_get_swen_pin()

int lt8722_get_swen_pin ( struct lt8722_dev dev,
uint8_t *  value 
)

Get SWEN pin of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- SWEN pin value.
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_get_swen_req()

int lt8722_get_swen_req ( struct lt8722_dev dev,
bool value 
)

Get switching enable of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- Enable if true, disabled otherwise
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- PWM duty cycle value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- VCC voltage regulator output
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_init()

int lt8722_init ( struct lt8722_dev **  device,
struct lt8722_init_param init_param 
)

Initialize the LT8722 device.

Parameters
device- LT8722 device descriptor
init_param- Initialization parameter containing information about the LT8722 device to be initialized.
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_reg_read()

int lt8722_reg_read ( struct lt8722_dev dev,
uint8_t  address,
uint32_t *  data 
)

Read data from LT8722 device.

Parameters
dev- LT8722 device descriptor
address- Register address.
data- Received data.
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_reg_write()

int lt8722_reg_write ( struct lt8722_dev dev,
uint8_t  address,
uint32_t  data 
)

Write data to LT8722 device.

Parameters
dev- LT8722 device descriptor
address- Register address.
data- Data to be written.
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ 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.

Parameters
dev- LT8722 device descriptor
address- Register address.
mask- Mask to be applied.
data- Data to be written.
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_remove()

int lt8722_remove ( struct lt8722_dev dev)

Free the resources allocated by the lt8722_init()

Parameters
dev- LT8722 device descriptor
Returns
- 0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_reset()

int lt8722_reset ( struct lt8722_dev dev)

Shutdown the LT8722 device.

Parameters
dev- LT8722 device descriptor
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Analog output signal source value
test- AMUX_TEST value
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_set_aout_en()

int lt8722_set_aout_en ( struct lt8722_dev dev,
bool  value 
)

Set analog output buffer status of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- Analog output buffer status value
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_set_dac()

int lt8722_set_dac ( struct lt8722_dev dev,
uint32_t  value 
)

Set DAC code of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- DAC value
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_set_en_pin()

int lt8722_set_en_pin ( struct lt8722_dev dev,
uint8_t  value 
)

Set EN pin of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- EN pin value.
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_set_enable_req()

int lt8722_set_enable_req ( struct lt8722_dev dev,
bool  value 
)

Set ENABLE_REQ field in LT8722 device.

Parameters
dev- LT8722 device descriptor
value- Enable if true, disabled otherwise
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_set_output_voltage()

int lt8722_set_output_voltage ( struct lt8722_dev dev,
int64_t  value 
)

Set output volatge of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- Output voltage value in nanovolts.
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ 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.

Parameters
dev- LT8722 device descriptor
value- LDR power dissipation limit value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Negative output current limit value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Positive output current limit value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Positive output voltage limit value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Negative output voltage limit value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Switching frequency adjustment value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Switching frequency value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- Peak inductor current value
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_set_swen_pin()

int lt8722_set_swen_pin ( struct lt8722_dev dev,
uint8_t  value 
)

Set SWEN pin of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- SWEN pin value.
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_set_swen_req()

int lt8722_set_swen_req ( struct lt8722_dev dev,
bool  value 
)

Set switching enable of LT8722 device.

Parameters
dev- LT8722 device descriptor
value- Enable if true, disabled otherwise
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ 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.

Parameters
dev- LT8722 device descriptor
value- PWM duty cycle value
Returns
0 in case of succes, negative error code otherwise

◆ 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.

Parameters
dev- LT8722 device descriptor
value- VCC voltage regulator output
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_shutdown()

int lt8722_shutdown ( struct lt8722_dev dev)

Reset the LT8722 device.

Parameters
dev- LT8722 device descriptor
Returns
0 in case of succes, negative error code otherwise

◆ lt8722_transaction()

int lt8722_transaction ( struct lt8722_dev dev,
struct lt8722_packet packet 
)

LT8722 device SPI transaction.

Parameters
dev- LT8722 device descriptor
packet- LT8722 packet.
Returns
0 in case of succes, negative error code otherwise
Here is the caller graph for this function:

◆ lt8722_voltage_to_dac()

int32_t lt8722_voltage_to_dac ( int64_t  voltage)

Convert voltage to DAC code.

Parameters
voltage- Voltage value in nanovolts.
Returns
DAC code.
Here is the caller graph for this function:

◆ NO_OS_DECLARE_CRC8_TABLE()

NO_OS_DECLARE_CRC8_TABLE ( lt8722_crc8  )

Variable Documentation

◆ lt8722_regs

struct lt8722_reg lt8722_regs[LT8722_NUM_REGISTERS]