![]() |
no-OS
|
Header file of the LTM3360B driver. More...
Go to the source code of this file.
Classes | |
| struct | ltm3360b_dev |
| LTM3360B Device Descriptor. More... | |
| struct | ltm3360b_init_param |
| LTM3360B Initialization Parameters. More... | |
Macros | |
| #define | LTM3360B_I2C_ADDR 0x69 |
| #define | LTM3360B_EN_IMON_CTRL 0x01 |
| #define | LTM3360B_VOUT_SETTING 0x03 |
| #define | LTM3360B_ADC_SELECT 0x04 |
| #define | LTM3360B_ADC_CTRL 0x05 |
| #define | LTM3360B_ADC_OUTPUT 0x06 |
| #define | LTM3360B_IGNORE_EN_IN_BIT NO_OS_BIT(0) |
| #define | LTM3360B_EN_I2C_BIT NO_OS_BIT(1) |
| #define | LTM3360B_OPT_IMON_TH_MSK NO_OS_GENMASK(3, 2) |
| #define | LTM3360B_ADC_SEL_IN(x) |
| #define | LTM3360B_OPT_IMON_TH(x) |
| #define | LTM3360B_VOUT_LSB_MV 4 |
| #define | LTM3360B_VOUT_MV_TO_CODE(mv) |
| #define | LTM3360B_VOUT_CODE_TO_MV(code) |
| #define | LTM3360B_EN_ADC_BIT NO_OS_BIT(0) |
| #define | LTM3360B_ADC_CONV_TIME_MS 4 |
| #define | LTM3360B_VOUT_MIN_MV 297 |
| #define | LTM3360B_VOUT_MAX_MV 1000 |
Enumerations | |
| enum | ltm3360b_imon_threshold { LTM3360B_IMON_TH_99_PERCENT , LTM3360B_IMON_TH_89_PERCENT , LTM3360B_IMON_TH_79_PERCENT , LTM3360B_IMON_TH_69_PERCENT } |
| IMON Threshold settings. More... | |
| enum | ltm3360b_adc_channel { LTM3360B_ADC_IMON , LTM3360B_ADC_TEMP , LTM3360B_ADC_VOUT_P , LTM3360B_ADC_VOUT_N , LTM3360B_ADC_VIN } |
| ADC Input selection. More... | |
Functions | |
| int | ltm3360b_init (struct ltm3360b_dev **device, struct ltm3360b_init_param *init_param) |
| Initialize LTM3360B device. | |
| int | ltm3360b_remove (struct ltm3360b_dev *dev) |
| Remove LTM3360B device instance. | |
| int | ltm3360b_reg_read (struct ltm3360b_dev *dev, uint8_t reg, uint8_t *data) |
| Read register from LTM3360B device. | |
| int | ltm3360b_reg_write (struct ltm3360b_dev *dev, uint8_t reg, uint8_t data) |
| Write register to LTM3360B device. | |
| int | ltm3360b_reg_update (struct ltm3360b_dev *dev, uint8_t reg, uint8_t mask, uint8_t val) |
| Update register bits using mask - modifies only specified bits. | |
| int | ltm3360b_enable_device (struct ltm3360b_dev *dev, bool enable) |
| Enable or disable LTM3360B device. | |
| int | ltm3360b_set_vout_mv (struct ltm3360b_dev *dev, uint16_t vout_mv) |
| Set output voltage. | |
| int | ltm3360b_get_vout_mv (struct ltm3360b_dev *dev, uint16_t *vout_mv) |
| Get current output voltage setting. | |
| int | ltm3360b_set_imon_threshold (struct ltm3360b_dev *dev, enum ltm3360b_imon_threshold threshold) |
| Set IMON threshold for overcurrent detection. | |
| int | ltm3360b_adc_enable (struct ltm3360b_dev *dev, bool enable) |
| Enable or disable ADC. | |
| int | ltm3360b_adc_read_raw (struct ltm3360b_dev *dev, enum ltm3360b_adc_channel channel, uint8_t *result) |
| Read raw ADC value. | |
Header file of the LTM3360B driver.
Copyright 2026(c) Analog Devices, Inc.
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, INC. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 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.
| #define LTM3360B_ADC_CONV_TIME_MS 4 |
| #define LTM3360B_ADC_CTRL 0x05 |
| #define LTM3360B_ADC_OUTPUT 0x06 |
| #define LTM3360B_ADC_SEL_IN | ( | x | ) |
| #define LTM3360B_ADC_SELECT 0x04 |
| #define LTM3360B_EN_ADC_BIT NO_OS_BIT(0) |
| #define LTM3360B_EN_I2C_BIT NO_OS_BIT(1) |
| #define LTM3360B_EN_IMON_CTRL 0x01 |
| #define LTM3360B_I2C_ADDR 0x69 |
| #define LTM3360B_IGNORE_EN_IN_BIT NO_OS_BIT(0) |
| #define LTM3360B_OPT_IMON_TH | ( | x | ) |
| #define LTM3360B_OPT_IMON_TH_MSK NO_OS_GENMASK(3, 2) |
| #define LTM3360B_VOUT_CODE_TO_MV | ( | code | ) |
| #define LTM3360B_VOUT_LSB_MV 4 |
| #define LTM3360B_VOUT_MAX_MV 1000 |
| #define LTM3360B_VOUT_MIN_MV 297 |
| #define LTM3360B_VOUT_MV_TO_CODE | ( | mv | ) |
| #define LTM3360B_VOUT_SETTING 0x03 |
| enum ltm3360b_adc_channel |
| int ltm3360b_adc_enable | ( | struct ltm3360b_dev * | dev, |
| bool | enable ) |
Enable or disable ADC.
| dev | - LTM3360B device structure |
| enable | - true to enable, false to disable |
| int ltm3360b_adc_read_raw | ( | struct ltm3360b_dev * | dev, |
| enum ltm3360b_adc_channel | channel, | ||
| uint8_t * | result ) |
Read raw ADC value.
| dev | - LTM3360B device structure |
| channel | - ADC channel to read |
| result | - Pointer to store ADC result |
| int ltm3360b_enable_device | ( | struct ltm3360b_dev * | dev, |
| bool | enable ) |
Enable or disable LTM3360B device.
| dev | - LTM3360B device structure |
| enable | - true to enable, false to disable |
| int ltm3360b_get_vout_mv | ( | struct ltm3360b_dev * | dev, |
| uint16_t * | vout_mv ) |
Get current output voltage setting.
| dev | - LTM3360B device structure |
| vout_mv | - Pointer to store output voltage in millivolts |
| int ltm3360b_init | ( | struct ltm3360b_dev ** | device, |
| struct ltm3360b_init_param * | init_param ) |
Initialize LTM3360B device.
| device | - Pointer to the device structure |
| init_param | - Initialization parameters |
| int ltm3360b_reg_read | ( | struct ltm3360b_dev * | dev, |
| uint8_t | reg, | ||
| uint8_t * | data ) |
Read register from LTM3360B device.
| dev | - LTM3360B device structure |
| reg | - Register address |
| data | - Pointer to store read data |
| int ltm3360b_reg_update | ( | struct ltm3360b_dev * | dev, |
| uint8_t | reg, | ||
| uint8_t | mask, | ||
| uint8_t | val ) |
Update register bits using mask - modifies only specified bits.
| dev | - LTM3360B device structure |
| reg | - Register address |
| mask | - Bit mask for bits to modify |
| val | - New value for masked bits |
| int ltm3360b_reg_write | ( | struct ltm3360b_dev * | dev, |
| uint8_t | reg, | ||
| uint8_t | data ) |
Write register to LTM3360B device.
| dev | - LTM3360B device structure |
| reg | - Register address |
| data | - Data to write |
| int ltm3360b_remove | ( | struct ltm3360b_dev * | dev | ) |
Remove LTM3360B device instance.
| dev | - LTM3360B device structure |
| int ltm3360b_set_imon_threshold | ( | struct ltm3360b_dev * | dev, |
| enum ltm3360b_imon_threshold | threshold ) |
Set IMON threshold for overcurrent detection.
| dev | - LTM3360B device structure |
| threshold | - IMON threshold setting |
| int ltm3360b_set_vout_mv | ( | struct ltm3360b_dev * | dev, |
| uint16_t | vout_mv ) |
Set output voltage.
| dev | - LTM3360B device structure |
| vout_mv | - Output voltage in millivolts. |