| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

LTC3589.h
Go to the documentation of this file.
1 /*!
2 LTC3589: 8-Output Regulator with Sequencing and I2C
3
4 @verbatim
5
6 The LTC3589 is a complete power management solution for ARM and ARM-based
7 processors and advanced portable microprocessor systems. The device contains
8 three step-down DC/DC converters for core, memory and SoC rails, a
9 buck-boost regulator for I/O at 1.8V to 5V and three 250mA LDO regulators
10 for low noise analog supplies. An I2C serial port is used to control enables,
11 output voltage levels, dynamic voltage scaling, operating modes and status
12 reporting.
13 Regulator start-up is sequenced by connecting outputs to enable pins in the
14 desired order or programmed via the I2C port. System power-on, power-off,
15 and reset functions are controlled by pushbutton interface, pin inputs, or
16 I2C interface.
17 The LTC3589 supports i.MX53/51, PXA and OMAP processors with eight
18 independent rails at appropriate power levels. Other features include
19 interface signals such as the VSTB pin that simultaneously toggle up to
20 four rails between programmed run and standby output voltages. The device
21 is available in a low profile 40-pin 6mm x 6mm exposed pad QFN package.
22
23 I2C DATA FORMAT (MSB FIRST);
24
25 @endverbatim
26
27 http://www.linear.com/product/LTC3589
28
29 http://www.linear.com/product/LTC3589#demoboards
30
31
32 Copyright 2018(c) Analog Devices, Inc.
33
34 All rights reserved.
35
36 Redistribution and use in source and binary forms, with or without
37 modification, are permitted provided that the following conditions are met:
38 - Redistributions of source code must retain the above copyright
39 notice, this list of conditions and the following disclaimer.
40 - Redistributions in binary form must reproduce the above copyright
41 notice, this list of conditions and the following disclaimer in
42 the documentation and/or other materials provided with the
43 distribution.
44 - Neither the name of Analog Devices, Inc. nor the names of its
45 contributors may be used to endorse or promote products derived
46 from this software without specific prior written permission.
47 - The use of this software may or may not infringe the patent rights
48 of one or more patent holders. This license does not release you
49 from the requirement that you obtain separate licenses from these
50 patent holders to use this software.
51 - Use of the software either in source or binary form, must be run
52 on or directly connected to an Analog Devices Inc. component.
53
54 THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
55 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
56 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
57 IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
58 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
59 LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
60 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
61 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
62 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
63 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
64 */
65
66 /*! @file
67 @ingroup LTC3589
68 Library Header File for LTC3589: 8-Output Regulator with Sequencing and I2C
69 */
70
71 #ifndef LTC3589_H
72 #define LTC3589_H
73 #endif
74
75 /*! @name I2C Address
76 I2C address of the LTC3589/LTC3589-1/LTC3589-2.
77 @{ */
78 /* LTC3589 I2C Addresses */
79 #define LTC3589_I2C_ADDRESS 0x34
80 /*! @} */
81
82 /*! @name Feedback Resistors
83 Factory feedback resistor values for the LTC3589 demo boards in kOhm.
84 @{ */
85 #define LTC3589_RES_BUCK1_RTOP 604
86 #define LTC3589_RES_BUCK1_RBOT 768
87 #define LTC3589_RES_BUCK2_RTOP 715
88 #define LTC3589_RES_BUCK2_RBOT 422
89 #define LTC3589_RES_BUCK3_RTOP 681
90 #define LTC3589_RES_BUCK3_RBOT 787
91 #define LTC3589_RES_LDO2_RTOP 604
92 #define LTC3589_RES_LDO2_RBOT 768
93 /*! @} */
94
95 /*! @name Registers
96 @{ */
97 /* LTC3589 Registers */
98 #define LTC3589_REG_SCR1 0x07
99 #define LTC3589_REG_OVEN 0x10
100 #define LTC3589_REG_SCR2 0x12
101 #define LTC3589_REG_VCCR 0x20
102 #define LTC3589_REG_CLIRQ 0x21
103 #define LTC3589_REG_B1DTV1 0x23
104 #define LTC3589_REG_B1DTV2 0x24
105 #define LTC3589_REG_VRRCR 0x25
106 #define LTC3589_REG_B2DTV1 0x26
107 #define LTC3589_REG_B2DTV2 0x27
108 #define LTC3589_REG_B3DTV1 0x29
109 #define LTC3589_REG_B3DTV2 0x2A
110 #define LTC3589_REG_L2DTV1 0x32
111 #define LTC3589_REG_L2DTV2 0x33
112 #define LTC3589_REG_IRQSTAT 0x02
113 #define LTC3589_REG_PGSTAT 0x13
114 /*! @} */
115
116 /*! @name LTC3589_REG_SCR1 Register Settings
117 Bit position of single bit settings in the LTC3589_REG_SCR1 registers.
118 @{ */
119 #define LTC3589_BUCKBOOST_MODE 6
120 /*! @} */
121
122 /*! @name LTC3589_REG_OVEN Register Settings
123 Bit position of single bit settings in the LTC3589_REG_OVEN register.
124 @{ */
125 #define LTC3589_SOFTWARE_CNTRL 7
126 #define LTC3589_EN_LDO4 6
127 #define LTC3589_EN_LDO3 5
128 #define LTC3589_EN_LDO2 4
129 #define LTC3589_EN4 3
130 #define LTC3589_EN3 2
131 #define LTC3589_EN2 1
132 #define LTC3589_EN1 0
133 /*! @} */
134
135 /*! @name LTC3589_REG_SCR2 Register Settings
136 Bit position of single bit settings in the LTC3589_REG_SCR2 register.
137 @{ */
138 #define LTC3589_MASK_PG_SHUTDOWN 7
139 #define LTC3589_LDO4_STARTUP 6
140 #define LTC3589_LDO3_STARTUP 5
141 #define LTC3589_LDO2_STARTUP 4
142 #define LTC3589_BB_STARTUP 3
143 #define LTC3589_BUCK3_STARTUP 2
144 #define LTC3589_BUCK2_STARTUP 1
145 #define LTC3589_BUCK1_STARTUP 0
146 /*! @} */
147
148 /*! @name LTC3589_REG_VCCR Register Settings
149 Bit position of single bit settings in the LTC3589_REG_VCCR register.
150 @{ */
151 #define LTC3589_LDO2_REF_SELECT 7
152 #define LTC3589_LDO2_GO 6
153 #define LTC3589_BUCK3_REF_SELECT 5
154 #define LTC3589_BUCK3_GO 4
155 #define LTC3589_BUCK2_REF_SELECT 3
156 #define LTC3589_BUCK2_GO 2
157 #define LTC3589_BUCK1_REF_SELECT 1
158 #define LTC3589_BUCK1_GO 0
159 /*! @} */
160
161 /*! @name LTC3589_REG_BxDTV1 Register Settings
162 Bit position of single bit settings in the LTC3589_REG_BxDTV1 registers.
163 @{ */
164 #define LTC3589_BUCK_PG_MASK 5
165 /*! @} */
166
167 /*! @name LTC3589_REG_BxDTV2 Register Settings
168 Bit position of single bit settings in the LTC3589_REG_BxDTV2 register.
169 @{ */
170 #define LTC3589_BUCK_KEEP_ALIVE 7
171 #define LTC3589_BUCK_PHASE_SEL 6
172 #define LTC3589_BUCK_CLOCK_RATE 5
173 /*! @} */
174
175 /*! @name LTC3589_REG_L2DTV1 Register Settings
176 Bit position of single bit settings in the LTC3589_REG_L2DTV1 register.
177 @{ */
178 #define LTC3589_LDO2_KEEP_ALIVE 7
179 #define LTC3589_LDO2_PG_MASK 5
180 /*! @} */
181
182 /*! @name LTC3589_REG_L2DTV2 Register Settings
183 Bit position of single bit settings in the LTC3589_REG_L2DTV2 register.
184 @{ */
185 #define LTC3589_LDO2_CNTRL_MODE 7
186 /*! @} */
187
188 /*! @name LTC3589_REG_IRQSTAT Register Settings
189 Bit position of status bits in the LTC3589_REG_IRQSTAT register.
190 @{ */
191 #define LTC3589_IRQ_OT_SHUTDOWN 7
192 #define LTC3589_IRQ_OT_WARNING 6
193 #define LTC3589_IRQ_UV_SHUTDOWN 5
194 #define LTC3589_IRQ_UV_WARNING 4
195 #define LTC3589_IRQ_PG_SHUTDOWN 3
196 /*! @} */
197
198 /*! @name LTC3589_REG_PGSTAT Register Settings
199 Bit position of status bits in the LTC3589_REG_PGSTAT register.
200 @{ */
201 #define LTC3589_PG_LDO4 7
202 #define LTC3589_PG_LDO3 6
203 #define LTC3589_PG_LDO2 5
204 #define LTC3589_PG_BB 4
205 #define LTC3589_PG_BUCK3 3
206 #define LTC3589_PG_BUCK2 2
207 #define LTC3589_PG_BUCK1 1
208 #define LTC3589_PG_LDO1 0
209 /*! @} */
210
211 /*! @name LTC3589 Mask Settings
212 Bitwise AND with register data to determine present setting.
213 @{ */
214 #define LTC3589_BUCK_MODE_MASK(num) (0x03<<((num)*2)-2)
215 #define LTC3589_BUCK3_MODE_MASK 0x30
216 #define LTC3589_BUCK2_MODE_MASK 0x0C
217 #define LTC3589_BUCK1_MODE_MASK 0x03
218 #define LTC3589_BUCK_DVDT_MASK 0xC0
219 #define LTC3589_FB_REF_MASK 0x1F
220 #define LTC3589_LDO2_SLEW_MASK 0xC0
221 #define LTC3589_BUCK3_SLEW_MASK 0x30
222 #define LTC3589_BUCK2_SLEW_MASK 0x0C
223 #define LTC3589_BUCK1_SLEW_MASK 0x03
224 #define LTC3589_LDO4_VOLTAGE_MASK 0x60
225 /*! @} */
226
227
228 //! Reads an 8-bit register from the LTC3589 using the standard repeated start format.
229 //! @return State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.
230 int8_t LTC3589_register_read(uint8_t i2c_address, //!< I2C address of the LTC3589.
231 uint8_t register_address, //!< Address of the LTC3589 register to be read. This is also known as the "command byte".
232 uint8_t *register_data //!< returns 8-bit value read from the LTC3589 register.
233 );
234
235 //! Writes to an 8-bit register inside the LTC3589 using the standard I2C repeated start format.
236 //! @return State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.
237 int8_t LTC3589_register_write(uint8_t i2c_address, //!< I2C address of the LTC3589.
238 uint8_t register_address, //!< Address of the LTC3589 register to be overwritten. This is also known as the "command byte".
239 uint8_t register_data //!< Value that will be written to the register.
240 );
241
242 //! Sets any bit inside the LTC3589 using the standard I2C repeated start format.
243 //! @return State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.
244 int8_t LTC3589_bit_set(uint8_t i2c_address, //!< I2C address of the LTC3589.
245 uint8_t register_address, //!< Address of the LTC3589 register to be overwritten. This is also known as the "command byte".
246 uint8_t bit_number //!< Bit location (0-7) to be written.
247 );
248
249 //! Clears any bit inside the LTC3589 using the standard I2C repeated start format.
250 //! @return State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.
251 int8_t LTC3589_bit_clear(uint8_t i2c_address, //!< I2C address of the LTC3589.
252 uint8_t register_address, //!< Address of the LTC3589 register to be overwritten. This is also known as the "command byte".
253 uint8_t bit_number //!< Address of the bit to set within the register.
254 );
255
256 //! Writes any bit inside the LTC3589 using the standard I2C repeated start format.
257 //! @return State of the acknowledge bit after the I2C address write. 0=acknowledge, 1=no acknowledge.
258 int8_t LTC3589_bit_write(uint8_t i2c_address, //!< I2C address of the LTC3589.
259 uint8_t register_address, //!< Address of the LTC3589 register to be written.
260 uint8_t bit_number, //!< Bit location (0-7) to be written.
261 uint8_t bit_data //!< Bit data (0 or 1) to be written.
262 );
263
264 //! Reads the value of any bit in any register or the LTC3589.
265 //! @return Bit value at the passed register subaddress and bit location.
266 uint8_t LTC3589_bit_is_set(uint8_t i2c_address, //!< I2C address of the LTC3589.
267 uint8_t register_address, //!< Address of the LTC3589 register to be read. This is also known as the "command byte".
268 uint8_t bit_number //!< Bit location (0-7) to be read.
269 );
270
271 //! Sets the output voltage of LDO2.
272 //! @return New LDO2 output voltage, the closest allowable voltage to the user's chosen voltage.
273 float LTC3589_set_ldo2_output_voltage(uint8_t i2c_address, //!< I2C address of the LTC3589.
274 uint8_t register_address, //!< Address of the LTC3589 LDO2 FB reference register to be written.
275 float output_voltage //!< New output voltage to set, in mV. Assumes a valid voltage for the feedback resistors.
276 );
277
278 //! Sets the output voltage of any buck.
279 //! @return New buck output voltage, the closest allowable voltage to the user's chosen voltage.
280 float LTC3589_set_buck_output_voltage(uint8_t i2c_address, //!< I2C address of the LTC3589.
281 uint8_t register_address, //!< Address of the LTC3589 Buck FB reference register to be written.
282 float output_voltage //!< New output voltage to set, in mV. Assumes a valid voltage for the feedback resistors.
283 );
284
285 //! Writes the Feedback Reference Voltage of LDO2.
286 //! @return New Feedback Reference Input Voltage, the closest allowable voltage to the user's chosen voltage.
287 float LTC3589_set_ldo2_fb_ref(uint8_t i2c_address, //!< I2C address of the LTC3589.
288 uint8_t register_address, //!< Address of the LTC3589 LDO2 FB reference register to be written.
289 float fb_ref_voltage //!< New Feedback Reference voltage to set in mV. Values between 362.5 and 750 are allowed.
290 );
291
292 //! Writes the Feedback Reference Voltage of any buck.
293 //! @return New Feedback Reference Input Voltage, the closest allowable voltage to the user's chosen voltage.
294 float LTC3589_set_buck_fb_ref(uint8_t i2c_address, //!< I2C address of the LTC3589.
295 uint8_t register_address, //!< Address of the LTC3589 Buck FB reference register to be written.
296 float fb_ref_voltage //!< New Feedback Reference voltage to set in mV. Values between 362.5 and 750 are allowed.
297 );
298
299 //! Calculates the maximum output voltage of LDO2 in mV based on the feedback resistors.
300 //! @return Maximum possible output voltage for LDO2.
301 float LTC3589_ldo2_vout_max();
302
303 //! Calculates the minimum output voltage of LDO2 mV based on the feedback resistors.
304 //! @return Minimum possible output voltage for LDO2.
305 float LTC3589_ldo2_vout_min();
306
307 //! Calculates the maximum output voltage of any buck in mV based on the feedback resistors.
308 //! @return Maximum possible output voltage for the selected buck.
309 float LTC3589_buck_vout_max(uint8_t buck_number //!< Number (1-3) of buck.
310 );
311
312 //! Calculates the minimum output voltage of any buck in mV based on the feedback resistors.
313 //! @return Minimum possible output voltage for the selected buck.
314 float LTC3589_buck_vout_min(uint8_t buck_number //!< Number (1-3) of buck.
315 );
316
317 //! Selects the reference for LDO2.
318 //! @return State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.
319 int8_t LTC3589_select_ldo2_reference(uint8_t i2c_address, //!< I2C address of the LTC3589.
320 int8_t ref_char //!< Reference to select (A or B).
321 );
322
323 //! Selects the reference for the specified buck regulator(s).
324 //! @return State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.
325 int8_t LTC3589_select_buck_reference(uint8_t i2c_address, //!< I2C address of the LTC3589.
326 uint8_t buck_number, //!< Number (1-3) of the buck whose reference will be selected. Enter 0xFF for all bucks.
327 int8_t ref_char //!< Reference to select (A or B).
328 );
329
330 //! Sets the switching mode for the specified buck regulator(s).
331 //! @return State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.
332 int8_t LTC3589_set_buck_mode(uint8_t i2c_address, //!< I2C address of the LTC3589.
333 uint8_t buck_number, //!< Number (1-3) of the buck to set. Enter 0xFF for all bucks.
334 uint8_t mode //!< Switching mode to be set (0=pulse skipping, 1=burst, 2=forced continuous)
335 );
336
337 //! Sets the switching mode for the buck-boost regulator.
338 //! @return State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.
339 int8_t LTC3589_set_buckboost_mode(uint8_t i2c_address, //!< I2C address of the LTC3589.
340 uint8_t mode //!< Switching mode to be set (0=pulse skipping, 1=burst, 2=forced continuous)
341 );
342
343 //! Sets the start-up mode for all regulators.
344 //! @return State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.
345 int8_t LTC3589_set_startup_mode(uint8_t i2c_address, //!< I2C address of the LTC3589.
346 uint8_t startup_bit //!< Data to write to start-up bit (0=enable at any output, 1=enable only if output <300mV)
347 );
348
349 //! Sets the PGOOD mask bit for all bucks and LDO2.
350 //! @return State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.
351 int8_t LTC3589_set_pgood_mask(uint8_t i2c_address, //!< I2C address of the LTC3589.
352 uint8_t pgood_bit //!< Data to write to PGOOD bit (0=PGOOD low when slewing, 1=PGOOD not forced low when slewing)
353 );
354
355 //! Sets LDO4 output voltage on the LTC3589.
356 //! @return State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.
357 int8_t LTC3589_set_ldo4_voltage(uint8_t i2c_address, //!< I2C address of the LTC3589.
358 uint8_t ldo4_output_voltage_code //!< Voltage code for new LDO4 output voltage (varies by part option).
359 );
360
361 //! Sets the dynamnic reference slew rate for the regulator(s).
362 //! @return State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.
363 int8_t LTC3589_set_regulator_slew(uint8_t i2c_address, //!< I2C address of the LTC3589.
364 uint8_t regulator_mask, //!< Mask of the regulator to set. Enter 0xFF for all regulators.
365 uint8_t slew_rate //!< Slew rate code to set.
366 );
367
368 //! Sets the switch DV/DT control for the buck regulators.
369 //! @return State of the acknowledge bit after the I2C addresss write. 0=acknowledge, 1=no acknowledge.
370 int8_t LTC3589_set_switch_dvdt_control(uint8_t i2c_address, //!< I2C address of the LTC3589.
371 uint8_t dvdt_control_bits //!< Two-bit DV/DT control code to set.
372 );
373
374 //! Sets all of the GO bits in the VCCR register.
375 int8_t LTC3589_set_go_bits(uint8_t i2c_address //!< I2C address of the LTC3589.
376 );
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.
Definition: LTC3589.cpp:100
LTC3589_set_go_bits
int8_t LTC3589_set_go_bits(uint8_t i2c_address)
Sets all of the GO bits in the VCCR register.
Definition: LTC3589.cpp:392
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).
Definition: LTC3589.cpp:275
i2c_address
uint8_t i2c_address
LTC3589_ldo2_vout_max
float LTC3589_ldo2_vout_max()
Calculates the maximum output voltage of LDO2 in mV based on the feedback resistors.
Definition: LTC3589.cpp:217
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.
Definition: LTC3589.cpp:336
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.
Definition: LTC3589.cpp:202
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.
Definition: LTC3589.cpp:187
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.
Definition: LTC3589.cpp:151
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.
Definition: LTC3589.cpp:140
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).
Definition: LTC3589.cpp:359
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.
Definition: LTC3589.cpp:246
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.
Definition: LTC3589.cpp:113
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.
Definition: LTC3589.cpp:313
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.
Definition: LTC3589.cpp:229
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.
Definition: LTC3589.cpp:347
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).
Definition: LTC3589.cpp:294
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.
Definition: LTC3589.cpp:380
LTC3589_select_ldo2_reference
int8_t LTC3589_select_ldo2_reference(uint8_t i2c_address, int8_t ref_char)
Selects the reference for LDO2.
Definition: LTC3589.cpp:263
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.
Definition: LTC3589.cpp:164
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.
Definition: LTC3589.cpp:322
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.
Definition: LTC3589.cpp:84
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.
Definition: LTC3589.cpp:126
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...
Definition: LTC3589.cpp:92
LTC3589_ldo2_vout_min
float LTC3589_ldo2_vout_min()
Calculates the minimum output voltage of LDO2 mV based on the feedback resistors. ...
Definition: LTC3589.cpp:223