This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I'm trying to save time with multiple configurations (each config download takes about 1 min in my system). So I was using GPIO0 & GPIO1 to load multiple configurations. Because of memory limitations the TPS65982 can only utilize 0x400 bytes for configurations (0x2800-0x2BFF) in the flash, although 0x2800-0x2FFF is available. Don't know why the other 0x400 can't be used.
I used version 2.15 of the ApplCustomization tool to have 3 configurations sets, using virtual address of (DBG1)0, (DBG2)0, 1 (93.1kOhm); 0,0,2 (156k) and 0,0,3 (220k). I then change just the SinkCapabilities so that I ask for a single 5V PDO if GPIO0 or 1 fall, and a 5V/12V 2 PDO set if GPIO0 rises, and a 5V/20V PDO set if GPIO1 rises. This uses up 0x3F0 of the 0x400 space, so I can't have 4 config sets.
On the Misc config page I set the App Config Group1 settings as GPIO low transition to 0x1, and the GPIO high transition to 0x2. I set the App Config Group2 settings as GPIO low transition to 0x1 and GPIO high transition to 0x3. I set the Command channel to CMD3 in both App Configs. Then I set the 4CC Commands for both the rising and falling edges to 'ANeg'. I populated all 4 slots in each App Config with 'ANeg' to see if it would fix my problem.
Finally, under the GPIO Event Map register I set GPIO0 to 'Load App Config Set 1' as the mapped event, and GPIO1 to Load App Config Set 2.
I saved both the project and the binary files to low/all and then downloaded that to my board with a TPS65982 IC on it. I then connected to a TP65982 EVM board with the switches set to 0110 (6) so that it would advertised source capabilities of 5V, 12V, and 20V and powered up that board. I have a PD analyzer looking at the CC lines.
RESULTS:
When I toggle GPIO0, it switches between a 5V and 12V contract as it loads the different config and then sends the Aneg command. I see the GPIO0 switching as I probe and I see a trace on the analyzer that shows the request and the PSRDY as the EVM board switches between 5V and 12V.
BUT... If I try the same thing with GPIO1 it doesn't work. I probe the ball and see the GPIO1 line toggle high and low. I also use an Aardvark and the Host Interface Utility and read the Sink Capabilites register (0x33) toggle between one PDO of 5V and 2 PDOs of 5V and 20V. However, I don't see the PD traffic and the EVM board doesn't change the lights. I can using the HIT to send a 'ANeg' command after I toggle the GPIO1and then I see the PD traffic and it works. So for some reason, switching GPIO1 doesn't send the command, even though I see the configuration change?!? I have to manually send the command myself using the HIT. GPIO0 works fine and doesn't have this problem.
I changed the command channel on the AppConfigGroup2 (GPIO1) to CMD1 instead of CMD3 but this didn't help, I still don't see any PD traffic.
Is there a timing issue with the command channel? Do you see anything I have set up incorrectly in my programming? And why is only 0x400/0x800 of the flash part used for config?
Your settings seem correct, but I'd want to test/review your configuration in detail - Can you please share the configuration-file (*.pjt)??
-/Praneet
I upgraded to 2.15, thinking that the reason I was having problems was because of an older version. So I'm using 2.15 now.
Hello Warren. This issue is being caused by an uninitialized section of register in the configuration tool. The firmware is treating the fields 'Command Channel to use for Command (not Task) Slot' and 'Command Channel to use for Command or Task Slot' as 8-bit values, but the config tool is treating them as 2-bit values and leaving the upper six bits uninitialized.
This will be fixed in the next release of the configuration tool templates. Also, the firmware will be updated to mask off the upper six bits. Only one of the two changes is required to fix the issue, but both will be applied for greater reliability.
There is a workaround for the issue and a fix. Warren -- I will apply the fix to the project file that you sent in to use and return it to you. I will post the workaround and the fix for others who run into the same issue