Looking at the SNLS499B –APRIL 2016–REVISED OCTOBER 2016 datasheet, table 7, register 0x1E, page 40:
7 GPIO3 Output Value RW 0 Local GPIO Output Value This value is the output on the GPIO pin when the GPIO function is enabled, the local GPIO direction is Output.
6 RSVD Reserved.
5 GPIO3 Direction RW 1 Local GPIO Direction. 1: Input. 0: Output.
4 GPIO3 Enable RW 1 GPIO Function Enable. 1: Enable GPIO operation. 0: Enable normal operation.
3 GPIO2 Output Value RW 0 Local GPIO Output Value This value is output on the GPIO pin when the GPIO function is enabled, the local GPIO direction is Output.
2 RSVD Reserved.
1 GPIO2 Direction RW 1 Local GPIO Direction. 1: Input. 0: Output.
0 GPIO2 Enable RW 1 GPIO Function Enable. 1: Enable GPIO operation. 0: Enable normal operation.
Since GPIO2 and GPIO3 look identical, I will just use GPIO3 as my example.
Register bit 7 ONLY STATES THE OUTPUT CASE.
This is confusing. What I expect is, if bit 4 = 1 for active; bit 5 == 1, GPIO3 is an input AND the bit 7 will reflect the current state of GPIO3 external pin #25.
It is confusing because the description only talks about bits 3 and 7 as OUTPUT cases, NOT INPUT cases (GPIO2 should have bit 0 = 1 for active; bit 1 == 1 for input direction && bit )
Is that true? If the GPIO pin is active and input, what is specified as the output pin for the output case, is the input bit for the input case (which is the normal way these things usually work)????
(Register 0x1D for GPIO0/1 same verbiage...)
Thanks! ... bandit