79 #define LTC3589_I2C_ADDRESS 0x34 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 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 119 #define LTC3589_BUCKBOOST_MODE 6 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 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 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 164 #define LTC3589_BUCK_PG_MASK 5 170 #define LTC3589_BUCK_KEEP_ALIVE 7 171 #define LTC3589_BUCK_PHASE_SEL 6 172 #define LTC3589_BUCK_CLOCK_RATE 5 178 #define LTC3589_LDO2_KEEP_ALIVE 7 179 #define LTC3589_LDO2_PG_MASK 5 185 #define LTC3589_LDO2_CNTRL_MODE 7 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 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 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 231 uint8_t register_address,
232 uint8_t *register_data
238 uint8_t register_address,
239 uint8_t register_data
245 uint8_t register_address,
252 uint8_t register_address,
259 uint8_t register_address,
267 uint8_t register_address,
274 uint8_t register_address,
281 uint8_t register_address,
288 uint8_t register_address,
295 uint8_t register_address,
358 uint8_t ldo4_output_voltage_code
364 uint8_t regulator_mask,
371 uint8_t dvdt_control_bits
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.
int8_t LTC3589_set_go_bits(uint8_t i2c_address)
Sets all of the GO bits in the VCCR register.
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).
float LTC3589_ldo2_vout_max()
Calculates the maximum output voltage of LDO2 in mV based on the feedback resistors.
int8_t LTC3589_set_pgood_mask(uint8_t i2c_address, uint8_t pgood_bit)
Sets the PGOOD mask bit for all bucks and LDO2.
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.
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.
float LTC3589_set_ldo2_output_voltage(uint8_t i2c_address, uint8_t register_address, float output_voltage)
Sets the output voltage of LDO2.
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.
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).
float LTC3589_buck_vout_min(uint8_t buck_number)
Calculates the minimum output voltage of any buck in mV based on the feedback resistors.
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.
int8_t LTC3589_set_buckboost_mode(uint8_t i2c_address, uint8_t mode)
Sets the switching mode for the buck-boost regulator.
float LTC3589_buck_vout_max(uint8_t buck_number)
Calculates the maximum output voltage of any buck in mV based on the feedback resistors.
int8_t LTC3589_set_ldo4_voltage(uint8_t i2c_address, uint8_t ldo4_output_voltage_code)
Sets LDO4 output voltage on the LTC3589.
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).
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.
int8_t LTC3589_select_ldo2_reference(uint8_t i2c_address, int8_t ref_char)
Selects the reference for LDO2.
float LTC3589_set_buck_output_voltage(uint8_t i2c_address, uint8_t register_address, float output_voltage)
Sets the output voltage of any buck.
int8_t LTC3589_set_startup_mode(uint8_t i2c_address, uint8_t startup_bit)
Sets the start-up mode for all regulators.
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.
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.
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...
float LTC3589_ldo2_vout_min()
Calculates the minimum output voltage of LDO2 mV based on the feedback resistors. ...