tps63101x: Driver for Texas Instruments TPS631012 and TPS631013 1.6-V to 5.5-V Input Voltage 1.5-A Buck-boost Converter with I2C

Defines

TPS63101X_I2C_ADDR

I2C address.

TPS63101X_CONTROL_1_DEFAULT

Default value of Control 1 register.

TPS63101X_VOUT_DEFAULT

Default value of VOUT register.

TPS63101X_CONTROL_2_DEFAULT

Default value of Control 2 register.

Functions

esp_err_t tps63101x_init_desc(i2c_dev_t *dev, i2c_port_t port, gpio_num_t sda_gpio, gpio_num_t scl_gpio)

Initialize device descriptor.

Parameters:
  • dev – Device descriptor

  • port – I2C port

  • sda_gpio – SDA GPIO pin

  • scl_gpio – SCL GPIO pin

Returns:

ESP_OK on success

esp_err_t tps63101x_free_desc(i2c_dev_t *dev)

Free device descriptor.

Parameters:

dev – Device descriptor

Returns:

ESP_OK on success

esp_err_t tps63101x_get_control_1(i2c_dev_t *dev, tps63101x_control_1_t *control_1)

Reads control 1 register.

Parameters:
  • dev – Device descriptor

  • control_1 – Target buffer

Returns:

ESP_OK on success

esp_err_t tps63101x_set_control_1(i2c_dev_t *dev, tps63101x_control_1_t *control_1)

Writes control 1 register.

Parameters:
  • dev – Device descriptor

  • control_1 – Source buffer

Returns:

ESP_OK on success

esp_err_t tps63101x_get_vout(i2c_dev_t *dev, tps63101x_vout_t *vout)

Reads vout register.

Parameters:
  • dev – Device descriptor

  • vout – Target buffer

Returns:

ESP_OK on success

esp_err_t tps63101x_set_vout(i2c_dev_t *dev, tps63101x_vout_t *vout)

Writes vout register.

Parameters:
  • dev – Device descriptor

  • vout – Source buffer

Returns:

ESP_OK on success

esp_err_t tps63101x_get_control_2(i2c_dev_t *dev, tps63101x_control_2_t *control_2)

Reads control 2 register.

Parameters:
  • dev – Device descriptor

  • control_2 – Target buffer

Returns:

ESP_OK on success

esp_err_t tps63101x_set_control_2(i2c_dev_t *dev, tps63101x_control_2_t *control_2)

Writes control 2 register.

Parameters:
  • dev – Device descriptor

  • control_2 – Source buffer

Returns:

ESP_OK on success

esp_err_t tps63101x_reset(i2c_dev_t *dev)

Resets all registers to default vaules.

Parameters:

dev – Device descriptor

Returns:

ESP_OK on success

uint8_t tps63101x_to_register_voltage(float voltage)

Calculates the register value for the given value (min.

voltage = 1.0, max. volatge = 5.5)

Parameters:

voltage – Device descriptor

Returns:

returns the register value of the given voltage on success 0xFF on failure

struct tps63101x_control_1_t
#include <tps63101x.h>

Control 1 Register/Address: 02h (Default: 0x8)

Public Members

uint8_t converter_en

Enable Converter (‘AND’ed with EN-pin): 0 : DISABLE, 1 : ENABLE / Default: 0 / RW.

uint8_t nil2

Not used.

/ Default: 0 / R

uint8_t en_scp

Enable short circuit hiccup protection: 0 : DISABLE, 1 : ENABLE / Default: 0 / RW.

uint8_t en_fast_dvs

Sets DVS to fast mode: 0 : DISABLE, 1 : ENABLE / Default: 1 / RW.

uint8_t nil

Not used.

During write operations data for these bits are ignored. During read operations 0 is returned. / Default: 0 / R

struct tps63101x_control_1_t::[anonymous]::[anonymous] data_fields
uint8_t reg

Register data.

struct tps63101x_control_1_t::[anonymous]::[anonymous] register_data
union tps63101x_control_1_t::[anonymous] [anonymous]
struct tps63101x_vout_t
#include <tps63101x.h>

Control 1 Register/Address: 03h (Default: 0x5C)

Public Members

uint8_t vout

These bits set the output voltage: Output voltage = 1.000 + (VOUT[7 :0] × 0.025) V when 0x00<=VOUT[7 :0]<=0xB4, Output voltage = 5.5 V when 0xB5<=VOUT[7 :0]<=0xFF / Default: 5C / RW.

struct tps63101x_vout_t::[anonymous]::[anonymous] data_fields
uint8_t reg

Register data.

struct tps63101x_vout_t::[anonymous]::[anonymous] register_data
union tps63101x_vout_t::[anonymous] [anonymous]
struct tps63101x_control_2_t
#include <tps63101x.h>

Control 2 Register/Address: 05h (Default: 0x45)

Public Members

uint8_t td_ramp

Defines the ramp time for the Vo soft start ramp: 000: 0.256ms, 001: 0.512ms, 010: 1.024ms, 011: 1.920ms, 100: 3.584ms, 101: 7.552ms, 110: 9.600ms, 111: 24.320ms / Default: 101 / RW.

uint8_t cl_ramp_min

Define the minimum current limit during the soft start ramp: 0 : Low (500mA), 1 : High (2x Low) / Default: 0 / RW.

uint8_t en_disch_vout

Enable of BUBO Vout Discharge: 00 : DISABLE, 01 : SLOW (34mA), 10 : MEDIUM (67mA), 11 : FAST (100mA) / Default: 0 / RW.

uint8_t fast_ramp_en

Device can start-up faster than VOUT ramp: 0 : DISABLE, 1 : ENABLE / Default: 1 / RW.

uint8_t fpwm

Force PWM operation: 0 : DISABLE, 1 : ENABLE / Default: 0 / RW.

struct tps63101x_control_2_t::[anonymous]::[anonymous] data_fields
uint8_t reg

Register data.

struct tps63101x_control_2_t::[anonymous]::[anonymous] register_data
union tps63101x_control_2_t::[anonymous] [anonymous]