| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

Functions
LTC3589.h File Reference
Switching Regulators, Battery Chargers, and LED Drivers » LTC3589: 8-Output Regulator with Sequencing and I2C

LTC3589: 8-Output Regulator with Sequencing and I2C. More...

## Detailed Description

LTC3589: 8-Output Regulator with Sequencing and I2C.

    The LTC3589 is a complete power management solution for ARM and ARM-based
    processors and advanced portable microprocessor systems. The device contains
    three step-down DC/DC converters for core, memory and SoC rails, a
    buck-boost regulator for I/O at 1.8V to 5V and three 250mA LDO regulators
    for low noise analog supplies. An I2C serial port is used to control enables,
    output voltage levels, dynamic voltage scaling, operating modes and status
    reporting.
    Regulator start-up is sequenced by connecting outputs to enable pins in the
    desired order or programmed via the I2C port. System power-on, power-off,
    and reset functions are controlled by pushbutton interface, pin inputs, or
    I2C interface.
    The LTC3589 supports i.MX53/51, PXA and OMAP processors with eight
    independent rails at appropriate power levels. Other features include
    interface signals such as the VSTB pin that simultaneously toggle up to
    four rails between programmed run and standby output voltages.  The device
    is available in a low profile 40-pin 6mm x 6mm exposed pad QFN package.

    I2C DATA FORMAT (MSB FIRST);

http://www.linear.com/product/LTC3589

http://www.linear.com/product/LTC3589#demoboards

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

Library Header File for LTC3589: 8-Output Regulator with Sequencing and I2C

Definition in file LTC3589.h.

Go to the source code of this file.

## Functions
int8_t | LTC3589_register_read (uint8_t i2c_address, uint8_t register_address, uint8_t *register_data)
| Reads an 8-bit register from the LTC3589 using the standard repeated start format. More...
int8_t | LTC3589_register_write (uint8_t i2c_address, uint8_t register_address, uint8_t register_data)
| Writes to an 8-bit register inside the LTC3589 using the standard I2C repeated start format. More...
int8_t | LTC3589_bit_set (uint8_t i2c_address, uint8_t register_address, uint8_t bit_number)
| Sets any bit inside the LTC3589 using the standard I2C repeated start format. More...
int8_t | LTC3589_bit_clear (uint8_t i2c_address, uint8_t register_address, uint8_t bit_number)
| Clears any bit inside the LTC3589 using the standard I2C repeated start format. More...
int8_t | LTC3589_bit_write (uint8_t i2c_address, uint8_t register_address, uint8_t bit_number, uint8_t bit_data)
| Writes any bit inside the LTC3589 using the standard I2C repeated start format. More...
uint8_t | LTC3589_bit_is_set (uint8_t i2c_address, uint8_t register_address, uint8_t bit_number)
| Reads the value of any bit in any register or the LTC3589. More...
float | LTC3589_set_ldo2_output_voltage (uint8_t i2c_address, uint8_t register_address, float output_voltage)
| Sets the output voltage of LDO2. More...
float | LTC3589_set_buck_output_voltage (uint8_t i2c_address, uint8_t register_address, float output_voltage)
| Sets the output voltage of any buck. More...
float | LTC3589_set_ldo2_fb_ref (uint8_t i2c_address, uint8_t register_address, float fb_ref_voltage)
| Writes the Feedback Reference Voltage of LDO2. More...
float | LTC3589_set_buck_fb_ref (uint8_t i2c_address, uint8_t register_address, float fb_ref_voltage)
| Writes the Feedback Reference Voltage of any buck. More...
float | LTC3589_ldo2_vout_max ()
| Calculates the maximum output voltage of LDO2 in mV based on the feedback resistors. More...
float | LTC3589_ldo2_vout_min ()
| Calculates the minimum output voltage of LDO2 mV based on the feedback resistors. More...
float | LTC3589_buck_vout_max (uint8_t buck_number)
| Calculates the maximum output voltage of any buck in mV based on the feedback resistors. More...
float | LTC3589_buck_vout_min (uint8_t buck_number)
| Calculates the minimum output voltage of any buck in mV based on the feedback resistors. More...
int8_t | LTC3589_select_ldo2_reference (uint8_t i2c_address, int8_t ref_char)
| Selects the reference for LDO2. More...
int8_t | LTC3589_select_buck_reference (uint8_t i2c_address, uint8_t buck_number, int8_t ref_char)
| Selects the reference for the specified buck regulator(s). More...
int8_t | LTC3589_set_buck_mode (uint8_t i2c_address, uint8_t buck_number, uint8_t mode)
| Sets the switching mode for the specified buck regulator(s). More...
int8_t | LTC3589_set_buckboost_mode (uint8_t i2c_address, uint8_t mode)
| Sets the switching mode for the buck-boost regulator. More...
int8_t | LTC3589_set_startup_mode (uint8_t i2c_address, uint8_t startup_bit)
| Sets the start-up mode for all regulators. More...
int8_t | LTC3589_set_pgood_mask (uint8_t i2c_address, uint8_t pgood_bit)
| Sets the PGOOD mask bit for all bucks and LDO2. More...
int8_t | LTC3589_set_ldo4_voltage (uint8_t i2c_address, uint8_t ldo4_output_voltage_code)
| Sets LDO4 output voltage on the LTC3589. More...
int8_t | LTC3589_set_regulator_slew (uint8_t i2c_address, uint8_t regulator_mask, uint8_t slew_rate)
| Sets the dynamnic reference slew rate for the regulator(s). More...
int8_t | LTC3589_set_switch_dvdt_control (uint8_t i2c_address, uint8_t dvdt_control_bits)
| Sets the switch DV/DT control for the buck regulators. More...
int8_t | LTC3589_set_go_bits (uint8_t i2c_address)
| Sets all of the GO bits in the VCCR register. More...

## Macros
I2C Address
I2C address of the LTC3589/LTC3589-1/LTC3589-2.
#define | LTC3589_I2C_ADDRESS 0x34
Feedback Resistors
Factory feedback resistor values for the LTC3589 demo boards in kOhm.
#define | LTC3589_RES_BUCK1_RTOP 604
#define | LTC3589_RES_BUCK1_RBOT 768
#define | LTC3589_RES_BUCK2_RTOP 715
#define | LTC3589_RES_BUCK2_RBOT 422
#define | LTC3589_RES_BUCK3_RTOP 681
#define | LTC3589_RES_BUCK3_RBOT 787
#define | LTC3589_RES_LDO2_RTOP 604
#define | LTC3589_RES_LDO2_RBOT 768
Registers
#define | LTC3589_REG_SCR1 0x07
#define | LTC3589_REG_OVEN 0x10
#define | LTC3589_REG_SCR2 0x12
#define | LTC3589_REG_VCCR 0x20
#define | LTC3589_REG_CLIRQ 0x21
#define | LTC3589_REG_B1DTV1 0x23
#define | LTC3589_REG_B1DTV2 0x24
#define | LTC3589_REG_VRRCR 0x25
#define | LTC3589_REG_B2DTV1 0x26
#define | LTC3589_REG_B2DTV2 0x27
#define | LTC3589_REG_B3DTV1 0x29
#define | LTC3589_REG_B3DTV2 0x2A
#define | LTC3589_REG_L2DTV1 0x32
#define | LTC3589_REG_L2DTV2 0x33
#define | LTC3589_REG_IRQSTAT 0x02
#define | LTC3589_REG_PGSTAT 0x13
LTC3589_REG_SCR1 Register Settings
Bit position of single bit settings in the LTC3589_REG_SCR1 registers.
#define | LTC3589_BUCKBOOST_MODE 6
LTC3589_REG_OVEN Register Settings
Bit position of single bit settings in the LTC3589_REG_OVEN register.
#define | LTC3589_SOFTWARE_CNTRL 7
#define | LTC3589_EN_LDO4 6
#define | LTC3589_EN_LDO3 5
#define | LTC3589_EN_LDO2 4
#define | LTC3589_EN4 3
#define | LTC3589_EN3 2
#define | LTC3589_EN2 1
#define | LTC3589_EN1 0
LTC3589_REG_SCR2 Register Settings
Bit position of single bit settings in the LTC3589_REG_SCR2 register.
#define | LTC3589_MASK_PG_SHUTDOWN 7
#define | LTC3589_LDO4_STARTUP 6
#define | LTC3589_LDO3_STARTUP 5
#define | LTC3589_LDO2_STARTUP 4
#define | LTC3589_BB_STARTUP 3
#define | LTC3589_BUCK3_STARTUP 2
#define | LTC3589_BUCK2_STARTUP 1
#define | LTC3589_BUCK1_STARTUP 0
LTC3589_REG_VCCR Register Settings
Bit position of single bit settings in the LTC3589_REG_VCCR register.
#define | LTC3589_LDO2_REF_SELECT 7
#define | LTC3589_LDO2_GO 6
#define | LTC3589_BUCK3_REF_SELECT 5
#define | LTC3589_BUCK3_GO 4
#define | LTC3589_BUCK2_REF_SELECT 3
#define | LTC3589_BUCK2_GO 2
#define | LTC3589_BUCK1_REF_SELECT 1
#define | LTC3589_BUCK1_GO 0
LTC3589_REG_BxDTV1 Register Settings
Bit position of single bit settings in the LTC3589_REG_BxDTV1 registers.
#define | LTC3589_BUCK_PG_MASK 5
LTC3589_REG_BxDTV2 Register Settings
Bit position of single bit settings in the LTC3589_REG_BxDTV2 register.
#define | LTC3589_BUCK_KEEP_ALIVE 7
#define | LTC3589_BUCK_PHASE_SEL 6
#define | LTC3589_BUCK_CLOCK_RATE 5
LTC3589_REG_L2DTV1 Register Settings
Bit position of single bit settings in the LTC3589_REG_L2DTV1 register.
#define | LTC3589_LDO2_KEEP_ALIVE 7
#define | LTC3589_LDO2_PG_MASK 5
LTC3589_REG_L2DTV2 Register Settings
Bit position of single bit settings in the LTC3589_REG_L2DTV2 register.
#define | LTC3589_LDO2_CNTRL_MODE 7
LTC3589_REG_IRQSTAT Register Settings
Bit position of status bits in the LTC3589_REG_IRQSTAT register.
#define | LTC3589_IRQ_OT_SHUTDOWN 7
#define | LTC3589_IRQ_OT_WARNING 6
#define | LTC3589_IRQ_UV_SHUTDOWN 5
#define | LTC3589_IRQ_UV_WARNING 4
#define | LTC3589_IRQ_PG_SHUTDOWN 3
LTC3589_REG_PGSTAT Register Settings
Bit position of status bits in the LTC3589_REG_PGSTAT register.
#define | LTC3589_PG_LDO4 7
#define | LTC3589_PG_LDO3 6
#define | LTC3589_PG_LDO2 5
#define | LTC3589_PG_BB 4
#define | LTC3589_PG_BUCK3 3
#define | LTC3589_PG_BUCK2 2
#define | LTC3589_PG_BUCK1 1
#define | LTC3589_PG_LDO1 0
LTC3589 Mask Settings
Bitwise AND with register data to determine present setting.
#define | LTC3589_BUCK_MODE_MASK(num) (0x03<<((num)*2)-2)
#define | LTC3589_BUCK3_MODE_MASK 0x30
#define | LTC3589_BUCK2_MODE_MASK 0x0C
#define | LTC3589_BUCK1_MODE_MASK 0x03
#define | LTC3589_BUCK_DVDT_MASK 0xC0
#define | LTC3589_FB_REF_MASK 0x1F
#define | LTC3589_LDO2_SLEW_MASK 0xC0
#define | LTC3589_BUCK3_SLEW_MASK 0x30
#define | LTC3589_BUCK2_SLEW_MASK 0x0C
#define | LTC3589_BUCK1_SLEW_MASK 0x03
#define | LTC3589_LDO4_VOLTAGE_MASK 0x60

## Function Documentation

## ◆ LTC3589_bit_clear()

int8_t LTC3589_bit_clear | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t | bit_number
| ) |  |

Clears any bit inside the LTC3589 using the standard I2C repeated start format.

Returns
  State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be overwritten. This is also known as the "command byte".
  bit_number | Address of the bit to set within the register.

Definition at line 113 of file LTC3589.cpp.

## ◆ LTC3589_bit_is_set()

uint8_t LTC3589_bit_is_set | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t | bit_number
| ) |  |

Reads the value of any bit in any register or the LTC3589.

Returns
  Bit value at the passed register subaddress and bit location.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be read. This is also known as the "command byte".
  bit_number | Bit location (0-7) to be read.

Definition at line 140 of file LTC3589.cpp.

## ◆ LTC3589_bit_set()

int8_t LTC3589_bit_set | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t | bit_number
| ) |  |

Sets any bit inside the LTC3589 using the standard I2C repeated start format.

Returns
  State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be overwritten. This is also known as the "command byte".
  bit_number | Bit location (0-7) to be written.

Definition at line 100 of file LTC3589.cpp.

## ◆ LTC3589_bit_write()

int8_t LTC3589_bit_write | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t | bit_number,
|  | uint8_t | bit_data
| ) |  |

Writes any bit inside the LTC3589 using the standard I2C repeated start format.

Returns
  State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be written.
  bit_number | Bit location (0-7) to be written.
  bit_data | Bit data (0 or 1) to be written.

Definition at line 126 of file LTC3589.cpp.

## ◆ LTC3589_buck_vout_max()

float LTC3589_buck_vout_max | ( | uint8_t | buck_number | ) |

Calculates the maximum output voltage of any buck in mV based on the feedback resistors.

Returns
  Maximum possible output voltage for the selected buck.

Parameters

  buck_number | Number (1-3) of buck.

Definition at line 229 of file LTC3589.cpp.

## ◆ LTC3589_buck_vout_min()

float LTC3589_buck_vout_min | ( | uint8_t | buck_number | ) |

Calculates the minimum output voltage of any buck in mV based on the feedback resistors.

Returns
  Minimum possible output voltage for the selected buck.

Parameters

  buck_number | Number (1-3) of buck.

Definition at line 246 of file LTC3589.cpp.

## ◆ LTC3589_ldo2_vout_max()

float LTC3589_ldo2_vout_max | ( |  | ) |

Calculates the maximum output voltage of LDO2 in mV based on the feedback resistors.

Returns
  Maximum possible output voltage for LDO2.

Definition at line 217 of file LTC3589.cpp.

## ◆ LTC3589_ldo2_vout_min()

float LTC3589_ldo2_vout_min | ( |  | ) |

Calculates the minimum output voltage of LDO2 mV based on the feedback resistors.

Returns
  Minimum possible output voltage for LDO2.

Definition at line 223 of file LTC3589.cpp.

## ◆ LTC3589_register_read()

int8_t LTC3589_register_read | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t * | register_data
| ) |  |

Reads an 8-bit register from the LTC3589 using the standard repeated start format.

Returns
  State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be read. This is also known as the "command byte".
  register_data | returns 8-bit value read from the LTC3589 register.

Definition at line 84 of file LTC3589.cpp.

## ◆ LTC3589_register_write()

int8_t LTC3589_register_write | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | uint8_t | register_data
| ) |  |

Writes to an 8-bit register inside the LTC3589 using the standard I2C repeated start format.

Returns
  State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 register to be overwritten. This is also known as the "command byte".
  register_data | Value that will be written to the register.

Definition at line 92 of file LTC3589.cpp.

## ◆ LTC3589_select_buck_reference()

int8_t LTC3589_select_buck_reference | ( | uint8_t | i2c_address,
|  | uint8_t | buck_number,
|  | int8_t | ref_char
| ) |  |

Selects the reference for the specified buck regulator(s).

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  buck_number | Number (1-3) of the buck whose reference will be selected. Enter 0xFF for all bucks.
  ref_char | Reference to select (A or B).

Definition at line 275 of file LTC3589.cpp.

## ◆ LTC3589_select_ldo2_reference()

int8_t LTC3589_select_ldo2_reference | ( | uint8_t | i2c_address,
|  | int8_t | ref_char
| ) |  |

Selects the reference for LDO2.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  ref_char | Reference to select (A or B).

Definition at line 263 of file LTC3589.cpp.

## ◆ LTC3589_set_buck_fb_ref()

float LTC3589_set_buck_fb_ref | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | float | fb_ref_voltage
| ) |  |

Writes the Feedback Reference Voltage of any buck.

Returns
  New Feedback Reference Input Voltage, the closest allowable voltage to the user's chosen voltage.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 Buck FB reference register to be written.
  fb_ref_voltage | New Feedback Reference voltage to set in mV. Values between 362.5 and 750 are allowed.

Definition at line 202 of file LTC3589.cpp.

## ◆ LTC3589_set_buck_mode()

int8_t LTC3589_set_buck_mode | ( | uint8_t | i2c_address,
|  | uint8_t | buck_number,
|  | uint8_t | mode
| ) |  |

Sets the switching mode for the specified buck regulator(s).

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  buck_number | Number (1-3) of the buck to set. Enter 0xFF for all bucks.
  mode | Switching mode to be set (0=pulse skipping, 1=burst, 2=forced continuous)

Definition at line 294 of file LTC3589.cpp.

## ◆ LTC3589_set_buck_output_voltage()

float LTC3589_set_buck_output_voltage | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | float | output_voltage
| ) |  |

Sets the output voltage of any buck.

Returns
  New buck output voltage, the closest allowable voltage to the user's chosen voltage.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 Buck FB reference register to be written.
  output_voltage | New output voltage to set, in mV. Assumes a valid voltage for the feedback resistors.

Definition at line 164 of file LTC3589.cpp.

## ◆ LTC3589_set_buckboost_mode()

int8_t LTC3589_set_buckboost_mode | ( | uint8_t | i2c_address,
|  | uint8_t | mode
| ) |  |

Sets the switching mode for the buck-boost regulator.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  mode | Switching mode to be set (0=pulse skipping, 1=burst, 2=forced continuous)

Definition at line 313 of file LTC3589.cpp.

## ◆ LTC3589_set_go_bits()

int8_t LTC3589_set_go_bits | ( | uint8_t | i2c_address | ) |

Sets all of the GO bits in the VCCR register.

Parameters

  i2c_address | I2C address of the LTC3589.

Definition at line 392 of file LTC3589.cpp.

## ◆ LTC3589_set_ldo2_fb_ref()

float LTC3589_set_ldo2_fb_ref | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | float | fb_ref_voltage
| ) |  |

Writes the Feedback Reference Voltage of LDO2.

Returns
  New Feedback Reference Input Voltage, the closest allowable voltage to the user's chosen voltage.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 LDO2 FB reference register to be written.
  fb_ref_voltage | New Feedback Reference voltage to set in mV. Values between 362.5 and 750 are allowed.

Definition at line 187 of file LTC3589.cpp.

## ◆ LTC3589_set_ldo2_output_voltage()

float LTC3589_set_ldo2_output_voltage | ( | uint8_t | i2c_address,
|  | uint8_t | register_address,
|  | float | output_voltage
| ) |  |

Sets the output voltage of LDO2.

Returns
  New LDO2 output voltage, the closest allowable voltage to the user's chosen voltage.

Parameters

  i2c_address | I2C address of the LTC3589.
  register_address | Address of the LTC3589 LDO2 FB reference register to be written.
  output_voltage | New output voltage to set, in mV. Assumes a valid voltage for the feedback resistors.

Definition at line 151 of file LTC3589.cpp.

## ◆ LTC3589_set_ldo4_voltage()

int8_t LTC3589_set_ldo4_voltage | ( | uint8_t | i2c_address,
|  | uint8_t | ldo4_output_voltage_code
| ) |  |

Sets LDO4 output voltage on the LTC3589.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  ldo4_output_voltage_code | Voltage code for new LDO4 output voltage (varies by part option).

Definition at line 347 of file LTC3589.cpp.

## ◆ LTC3589_set_pgood_mask()

int8_t LTC3589_set_pgood_mask | ( | uint8_t | i2c_address,
|  | uint8_t | pgood_bit
| ) |  |

Sets the PGOOD mask bit for all bucks and LDO2.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  pgood_bit | Data to write to PGOOD bit (0=PGOOD low when slewing, 1=PGOOD not forced low when slewing)

Definition at line 336 of file LTC3589.cpp.

## ◆ LTC3589_set_regulator_slew()

int8_t LTC3589_set_regulator_slew | ( | uint8_t | i2c_address,
|  | uint8_t | regulator_mask,
|  | uint8_t | slew_rate
| ) |  |

Sets the dynamnic reference slew rate for the regulator(s).

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  regulator_mask | Mask of the regulator to set. Enter 0xFF for all regulators.
  slew_rate | Slew rate code to set.

Definition at line 359 of file LTC3589.cpp.

## ◆ LTC3589_set_startup_mode()

int8_t LTC3589_set_startup_mode | ( | uint8_t | i2c_address,
|  | uint8_t | startup_bit
| ) |  |

Sets the start-up mode for all regulators.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  startup_bit | Data to write to start-up bit (0=enable at any output, 1=enable only if output <300mV)

Definition at line 322 of file LTC3589.cpp.

## ◆ LTC3589_set_switch_dvdt_control()

int8_t LTC3589_set_switch_dvdt_control | ( | uint8_t | i2c_address,
|  | uint8_t | dvdt_control_bits
| ) |  |

Sets the switch DV/DT control for the buck regulators.

Returns
  State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.

Parameters

  i2c_address | I2C address of the LTC3589.
  dvdt_control_bits | Two-bit DV/DT control code to set.

Definition at line 380 of file LTC3589.cpp.

## Macro Definition Documentation

## ◆ LTC3589_BB_STARTUP

#define LTC3589_BB_STARTUP 3

Definition at line 142 of file LTC3589.h.

## ◆ LTC3589_BUCK1_GO

#define LTC3589_BUCK1_GO 0

Definition at line 158 of file LTC3589.h.

## ◆ LTC3589_BUCK1_MODE_MASK

#define LTC3589_BUCK1_MODE_MASK 0x03

Definition at line 217 of file LTC3589.h.

## ◆ LTC3589_BUCK1_REF_SELECT

#define LTC3589_BUCK1_REF_SELECT 1

Definition at line 157 of file LTC3589.h.

## ◆ LTC3589_BUCK1_SLEW_MASK

#define LTC3589_BUCK1_SLEW_MASK 0x03

Definition at line 223 of file LTC3589.h.

## ◆ LTC3589_BUCK1_STARTUP

#define LTC3589_BUCK1_STARTUP 0

Definition at line 145 of file LTC3589.h.

## ◆ LTC3589_BUCK2_GO

#define LTC3589_BUCK2_GO 2

Definition at line 156 of file LTC3589.h.

## ◆ LTC3589_BUCK2_MODE_MASK

#define LTC3589_BUCK2_MODE_MASK 0x0C

Definition at line 216 of file LTC3589.h.

## ◆ LTC3589_BUCK2_REF_SELECT

#define LTC3589_BUCK2_REF_SELECT 3

Definition at line 155 of file LTC3589.h.

## ◆ LTC3589_BUCK2_SLEW_MASK

#define LTC3589_BUCK2_SLEW_MASK 0x0C

Definition at line 222 of file LTC3589.h.

## ◆ LTC3589_BUCK2_STARTUP

#define LTC3589_BUCK2_STARTUP 1

Definition at line 144 of file LTC3589.h.

## ◆ LTC3589_BUCK3_GO

#define LTC3589_BUCK3_GO 4

Definition at line 154 of file LTC3589.h.

## ◆ LTC3589_BUCK3_MODE_MASK

#define LTC3589_BUCK3_MODE_MASK 0x30

Definition at line 215 of file LTC3589.h.

## ◆ LTC3589_BUCK3_REF_SELECT

#define LTC3589_BUCK3_REF_SELECT 5

Definition at line 153 of file LTC3589.h.

## ◆ LTC3589_BUCK3_SLEW_MASK

#define LTC3589_BUCK3_SLEW_MASK 0x30

Definition at line 221 of file LTC3589.h.

## ◆ LTC3589_BUCK3_STARTUP

#define LTC3589_BUCK3_STARTUP 2

Definition at line 143 of file LTC3589.h.

## ◆ LTC3589_BUCK_CLOCK_RATE

#define LTC3589_BUCK_CLOCK_RATE 5

Definition at line 172 of file LTC3589.h.

## ◆ LTC3589_BUCK_DVDT_MASK

#define LTC3589_BUCK_DVDT_MASK 0xC0

Definition at line 218 of file LTC3589.h.

## ◆ LTC3589_BUCK_KEEP_ALIVE

#define LTC3589_BUCK_KEEP_ALIVE 7

Definition at line 170 of file LTC3589.h.

## ◆ LTC3589_BUCK_MODE_MASK

#define LTC3589_BUCK_MODE_MASK | ( |  | num | ) | (0x03<<((num)*2)-2)

Definition at line 214 of file LTC3589.h.

## ◆ LTC3589_BUCK_PG_MASK

#define LTC3589_BUCK_PG_MASK 5

Definition at line 164 of file LTC3589.h.

## ◆ LTC3589_BUCK_PHASE_SEL

#define LTC3589_BUCK_PHASE_SEL 6

Definition at line 171 of file LTC3589.h.

## ◆ LTC3589_BUCKBOOST_MODE

#define LTC3589_BUCKBOOST_MODE 6

Definition at line 119 of file LTC3589.h.

## ◆ LTC3589_EN1

#define LTC3589_EN1 0

Definition at line 132 of file LTC3589.h.

## ◆ LTC3589_EN2

#define LTC3589_EN2 1

Definition at line 131 of file LTC3589.h.

## ◆ LTC3589_EN3

#define LTC3589_EN3 2

Definition at line 130 of file LTC3589.h.

## ◆ LTC3589_EN4

#define LTC3589_EN4 3

Definition at line 129 of file LTC3589.h.

## ◆ LTC3589_EN_LDO2

#define LTC3589_EN_LDO2 4

Definition at line 128 of file LTC3589.h.

## ◆ LTC3589_EN_LDO3

#define LTC3589_EN_LDO3 5

Definition at line 127 of file LTC3589.h.

## ◆ LTC3589_EN_LDO4

#define LTC3589_EN_LDO4 6

Definition at line 126 of file LTC3589.h.

## ◆ LTC3589_FB_REF_MASK

#define LTC3589_FB_REF_MASK 0x1F

Definition at line 219 of file LTC3589.h.

## ◆ LTC3589_I2C_ADDRESS

#define LTC3589_I2C_ADDRESS 0x34

Definition at line 79 of file LTC3589.h.

## ◆ LTC3589_IRQ_OT_SHUTDOWN

#define LTC3589_IRQ_OT_SHUTDOWN 7

Definition at line 191 of file LTC3589.h.

## ◆ LTC3589_IRQ_OT_WARNING

#define LTC3589_IRQ_OT_WARNING 6

Definition at line 192 of file LTC3589.h.

## ◆ LTC3589_IRQ_PG_SHUTDOWN

#define LTC3589_IRQ_PG_SHUTDOWN 3

Definition at line 195 of file LTC3589.h.

## ◆ LTC3589_IRQ_UV_SHUTDOWN

#define LTC3589_IRQ_UV_SHUTDOWN 5

Definition at line 193 of file LTC3589.h.

## ◆ LTC3589_IRQ_UV_WARNING

#define LTC3589_IRQ_UV_WARNING 4

Definition at line 194 of file LTC3589.h.

## ◆ LTC3589_LDO2_CNTRL_MODE

#define LTC3589_LDO2_CNTRL_MODE 7

Definition at line 185 of file LTC3589.h.

## ◆ LTC3589_LDO2_GO

#define LTC3589_LDO2_GO 6

Definition at line 152 of file LTC3589.h.

## ◆ LTC3589_LDO2_KEEP_ALIVE

#define LTC3589_LDO2_KEEP_ALIVE 7

Definition at line 178 of file LTC3589.h.

## ◆ LTC3589_LDO2_PG_MASK

#define LTC3589_LDO2_PG_MASK 5

Definition at line 179 of file LTC3589.h.

## ◆ LTC3589_LDO2_REF_SELECT

#define LTC3589_LDO2_REF_SELECT 7

Definition at line 151 of file LTC3589.h.

## ◆ LTC3589_LDO2_SLEW_MASK

#define LTC3589_LDO2_SLEW_MASK 0xC0

Definition at line 220 of file LTC3589.h.

## ◆ LTC3589_LDO2_STARTUP

#define LTC3589_LDO2_STARTUP 4

Definition at line 141 of file LTC3589.h.

## ◆ LTC3589_LDO3_STARTUP

#define LTC3589_LDO3_STARTUP 5

Definition at line 140 of file LTC3589.h.

## ◆ LTC3589_LDO4_STARTUP

#define LTC3589_LDO4_STARTUP 6

Definition at line 139 of file LTC3589.h.

## ◆ LTC3589_LDO4_VOLTAGE_MASK

#define LTC3589_LDO4_VOLTAGE_MASK 0x60

Definition at line 224 of file LTC3589.h.

## ◆ LTC3589_MASK_PG_SHUTDOWN

#define LTC3589_MASK_PG_SHUTDOWN 7

Definition at line 138 of file LTC3589.h.

## ◆ LTC3589_PG_BB

#define LTC3589_PG_BB 4

Definition at line 204 of file LTC3589.h.

## ◆ LTC3589_PG_BUCK1

#define LTC3589_PG_BUCK1 1

Definition at line 207 of file LTC3589.h.

## ◆ LTC3589_PG_BUCK2

#define LTC3589_PG_BUCK2 2

Definition at line 206 of file LTC3589.h.

## ◆ LTC3589_PG_BUCK3

#define LTC3589_PG_BUCK3 3

Definition at line 205 of file LTC3589.h.

## ◆ LTC3589_PG_LDO1

#define LTC3589_PG_LDO1 0

Definition at line 208 of file LTC3589.h.

## ◆ LTC3589_PG_LDO2

#define LTC3589_PG_LDO2 5

Definition at line 203 of file LTC3589.h.

## ◆ LTC3589_PG_LDO3

#define LTC3589_PG_LDO3 6

Definition at line 202 of file LTC3589.h.

## ◆ LTC3589_PG_LDO4

#define LTC3589_PG_LDO4 7

Definition at line 201 of file LTC3589.h.

## ◆ LTC3589_REG_B1DTV1

#define LTC3589_REG_B1DTV1 0x23

Definition at line 103 of file LTC3589.h.

## ◆ LTC3589_REG_B1DTV2

#define LTC3589_REG_B1DTV2 0x24

Definition at line 104 of file LTC3589.h.

## ◆ LTC3589_REG_B2DTV1

#define LTC3589_REG_B2DTV1 0x26

Definition at line 106 of file LTC3589.h.

## ◆ LTC3589_REG_B2DTV2

#define LTC3589_REG_B2DTV2 0x27

Definition at line 107 of file LTC3589.h.

## ◆ LTC3589_REG_B3DTV1

#define LTC3589_REG_B3DTV1 0x29

Definition at line 108 of file LTC3589.h.

## ◆ LTC3589_REG_B3DTV2

#define LTC3589_REG_B3DTV2 0x2A

Definition at line 109 of file LTC3589.h.

## ◆ LTC3589_REG_CLIRQ

#define LTC3589_REG_CLIRQ 0x21

Definition at line 102 of file LTC3589.h.

## ◆ LTC3589_REG_IRQSTAT

#define LTC3589_REG_IRQSTAT 0x02

Definition at line 112 of file LTC3589.h.

## ◆ LTC3589_REG_L2DTV1

#define LTC3589_REG_L2DTV1 0x32

Definition at line 110 of file LTC3589.h.

## ◆ LTC3589_REG_L2DTV2

#define LTC3589_REG_L2DTV2 0x33

Definition at line 111 of file LTC3589.h.

## ◆ LTC3589_REG_OVEN

#define LTC3589_REG_OVEN 0x10

Definition at line 99 of file LTC3589.h.

## ◆ LTC3589_REG_PGSTAT

#define LTC3589_REG_PGSTAT 0x13

Definition at line 113 of file LTC3589.h.

## ◆ LTC3589_REG_SCR1

#define LTC3589_REG_SCR1 0x07

Definition at line 98 of file LTC3589.h.

## ◆ LTC3589_REG_SCR2

#define LTC3589_REG_SCR2 0x12

Definition at line 100 of file LTC3589.h.

## ◆ LTC3589_REG_VCCR

#define LTC3589_REG_VCCR 0x20

Definition at line 101 of file LTC3589.h.

## ◆ LTC3589_REG_VRRCR

#define LTC3589_REG_VRRCR 0x25

Definition at line 105 of file LTC3589.h.

## ◆ LTC3589_RES_BUCK1_RBOT

#define LTC3589_RES_BUCK1_RBOT 768

Definition at line 86 of file LTC3589.h.

## ◆ LTC3589_RES_BUCK1_RTOP

#define LTC3589_RES_BUCK1_RTOP 604

Definition at line 85 of file LTC3589.h.

## ◆ LTC3589_RES_BUCK2_RBOT

#define LTC3589_RES_BUCK2_RBOT 422

Definition at line 88 of file LTC3589.h.

## ◆ LTC3589_RES_BUCK2_RTOP

#define LTC3589_RES_BUCK2_RTOP 715

Definition at line 87 of file LTC3589.h.

## ◆ LTC3589_RES_BUCK3_RBOT

#define LTC3589_RES_BUCK3_RBOT 787

Definition at line 90 of file LTC3589.h.

## ◆ LTC3589_RES_BUCK3_RTOP

#define LTC3589_RES_BUCK3_RTOP 681

Definition at line 89 of file LTC3589.h.

## ◆ LTC3589_RES_LDO2_RBOT

#define LTC3589_RES_LDO2_RBOT 768

Definition at line 92 of file LTC3589.h.

## ◆ LTC3589_RES_LDO2_RTOP

#define LTC3589_RES_LDO2_RTOP 604

Definition at line 91 of file LTC3589.h.

## ◆ LTC3589_SOFTWARE_CNTRL

#define LTC3589_SOFTWARE_CNTRL 7

Definition at line 125 of file LTC3589.h.