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.

TMDSLCDK6748: GPIO on J14 Not Working

Part Number: TMDSLCDK6748

I have an issue where I cannot read from certain pins on the J14 header. I can write to them perfectly fine, and read from others, but seemingly random pins from GPIO3[0:7] and GPIO4[8:15] are always reading as 0. I have tried driving them externally when set as inputs as well as driving them internally as outputs. Neither have any result. I have tried manually inspecting the IN_DATA registers via CCS as well as using that value to drive an on-board LED.  This works with GPIO4[12], for example, but not with GPIO4[8], even though both are setup identically.

I have no more ideas as to what the issue could be other than a fault on the board.

Thanks for your time.

  • Well...if you can write to the GPIOs successfully, that would imply the pinmux is setup correctly, the physical connection is okay and that the the lines are not shorted. Assumes you wrote both 0 and 1 to each GPIO. That does not leave much except GPIO direction config.
  • Thanks for the reply.

    The GPIO direction config is correctly configured. The functional diagram in the Technical Reference Manual shows that the IN_DATA register will show the value regardless of the direction configuration, so it wouldn't matter anyway when I drove them internally. It was still showing incorrect data.

    I pulsed the output, and read the relevant input register, setting an on-board LED to the same value as the input register.  This worked perfectly fine for some pins whereas for others the LED was just continually off.

  • I think I misunderstood. I am guessing when you say "I can write to them perfectly fine" means you can write to the OUT, SET or CLR registers perfectly fine but reading back via IN is bad. I thought you were measuring at J14.

    In the GPIO output test, I assume that you leave the pins floating. Not a good idea to tie an output to any level. You could damage the output drive.

    Those pins are also connected to the NAND flash. Do you boot off NAND? If you do and it succeeeds, likely no shorts anywhere.

    Could you post your test code?
  • Occurred to me that writing to IN, SET or CLR might take some time to be reflected in the IN register. The GPIO peripheral has been known to be very slow. Try putting a delay between write and read back.