Skip to main content
Graduate II
September 14, 2023
Solved

B-U585I-IOT02A board configured as USB-C power source - please help

  • September 14, 2023
  • 2 replies
  • 1767 views

I am unable to configure TCPP03-M20 USB power controller chip available on B-U585I-IOT02A board.
Supposedly, unlike most other boards, this board should be able to provide power to a device over USB-C connector.
However, I found no examples of how to properly configure TCPP03-M20 chip. I am able to communicate with it over I2C, but when I try to activate "Gate Driver Provider" (power source) and "Normal" power mode according to DS13618 section "6.3.1 I2C registers" (p.11) by setting config register to 0x14, it just does not happen and "Gate Driver Consumer" (power sink) gets activated instead.

Could anybody help? I am clueless.

 

HAL_GPIO_WritePin(UCPD_PWR_GPIO_Port, UCPD_PWR_Pin, GPIO_PIN_SET); // enable TCPP03-M20 chip (U8)
uint8_t data[2] = {0};
data[0] = 0x10; // Mode: normal power, Gate Driver: off, VCONN: both off
status = HAL_I2C_Mem_Write(&hi2c2, 0x34 << 1, (uint16_t)0, I2C_MEMADD_SIZE_8BIT, data, 1, 100);
status = HAL_I2C_Mem_Read(&hi2c2, 0x34 << 1, (uint16_t)1, I2C_MEMADD_SIZE_8BIT, data, 2, 100);
data[0] = 0x14; // Mode: normal power, Gate Driver: source, VCONN: both off
status = HAL_I2C_Mem_Write(&hi2c2, 0x34 << 1, (uint16_t)0, I2C_MEMADD_SIZE_8BIT, data, 1, 100);
status = HAL_I2C_Mem_Read(&hi2c2, 0x34 << 1, (uint16_t)1, I2C_MEMADD_SIZE_8BIT, data, 2, 100);
// data[0] = 0x18 (11000b) indicates Gate Driver Consumer (GDC) is active instead

 

    This topic has been closed for replies.
    Best answer by PPAIL.1

    Hello @TDJ,

    The logic state is inverted for the Gate driver consumer, so the config register should be set at 0x1C to activate the Gate driver provider.

    tcpp03_registers.png

    Best regards

    Pascal

     

     

     

     

    2 replies

    PPAIL.1Answer
    ST Employee
    September 20, 2023

    Hello @TDJ,

    The logic state is inverted for the Gate driver consumer, so the config register should be set at 0x1C to activate the Gate driver provider.

    tcpp03_registers.png

    Best regards

    Pascal

     

     

     

     

    TDJAuthor
    Graduate II
    September 21, 2023

    @PPAIL.1 Thank you!