2023-09-14 12:57 PM - edited 2023-09-20 01:25 PM
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
Solved! Go to Solution.
2023-09-20 04:08 AM
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.
Best regards
Pascal
2023-09-20 04:08 AM
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.
Best regards
Pascal
2023-09-21 08:22 AM
@PPAIL.1 Thank you!