Part Number: TPS65986
Question-1: For our GPIO config, we have GPIO 0 = 'Plug Event', and GPIO 5 = 'VBUS Detect Event'. What we are seeing is if we connect a USB-C PD charger and then detach it, the VBUS detect GPIO stays high. Dumping the TPS65986 GPIO register, it reports that it is driving the line high:
---
GPIO 0: 0 (direction = output, supply = LDO_3V3, drain = push-pull, pull-down = disabled, pull-up = disabled)
GPIO 5: 1 (direction = output, supply = LDO_3V3, drain = push-pull, pull-down = disabled, pull-up = disabled)
---
So this shows TPS65986 indicating nothing is plugged in, but it detects VBUS.
We can 'fix' this by attaching a DCP, SDP or non PD USB-C charger. For PD chargers, we tried with 2 internal PD products, and a few Google PD chargers, all with the same result.
Any thoughts? This a known issue?
Question-2: we have a status GPIO going into GPIO1 of the TPS65986. We didn't want to tie any GPIO events to it, we just wanted to:
> 1) Read the state of the GPIO at certain times
> 2) Enable the internal pull-up
For #1, I had verified an eval kit that even when the config tool reports a GPIO as disabled, it is still configured as an input and you can read the real time state via register 0x72.
But for #2, running into a problem. The config tool only exposes an option to change the pull-up config only if you assign a GPIO event. However, there isn't really a 'generic input' event that I could find.
> Any guidance on how to accomplish what we want via FW?
Question-3:
if a GPIO is configured as 'disabled' in the config tool, does the GPIO data in register 0x72 reflect the real-time status of what is being input into TPS65986? I had thought that was the case from what I saw using the eval kit, but seeing confusing results on our protos. With same input level, I'm getting different values in 0x72 if I config as disabled vs "Load App 3". Can you please advise if the "disabled" GPIO will still be sampled and reported in 0x72 as an input with valid levels we can read?