Part Number: TMS320F280039C
TI's literature SPRUIW9C (TMS320F28003x TRM) section 10.5 has contradictory statements regarding GPyDAT and GPyDAT_R which don't agree with Figure 10-1 (please see attached screenshots). Figure 10-1 shows "GPyDAT_R (read)" label at the post-qualification tap, which conflicts with the text in section 10.5, which says that GPyDAT shows the current state of the GPIO pin after qualification.
Following statements are contradictory in the cited sections:
“10.5 Digital General-Purpose I/O Control
• GPyDAT Registers
No matter how the pin is configured (GPIO or peripheral function), the corresponding bit in the data register reflects the current state of the pin after qualification. Writing to the GPyDAT register clears or sets the corresponding output latch and if the pin is enabled as a general-purpose output (GPIO output), the pin is also driven either low or high. If the pin is not configured as a GPIO output, then the value is latched but the pin is not driven. Only if the pin is later configured as a GPIO output is the latched value driven onto the pin.
The GPyDAT registers reflect the state of the pin, not the latch. This means the register reflects the actual pin value.
• GPyDAT_R Registers
The GPyDAT_R registers are read only registers that return the value written to the GPyDAT registers instead of pin status. Writes to these registers have no effect."
(1) The above text and placement of GPyDAT_R register in figure 10-5 don't agree.
(2) The description under 10.5 (GPyDAT) says "No matter how the pin is configured (GPIO or peripheral function), the corresponding bit in the data register reflects the current state of the pin after qualification". But then, another statement under the same heading says "If the pin is not configured as a GPIO output, then the value is latched but the pin is not driven. ".
Above statement means that if pin is not configured as a GPIO, then, writing to GPyDAT latches that value in that register, but doesn't drive that value to the pin. Then, certainly, that GPyDAT register bit cannot reflect the state of the pin after qualification, which is contradictory to the first statement.
Kindly clarify which explanation is correct (or provide the correct explanation). Please also clarify if the figure is incorrect. If incorrect, is there a corrected figure available?
Regards.
Nitish

