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.

Attaching TI TL16C752B to AM3517 and getting GPMC timings proper

Other Parts Discussed in Thread: AM3517, TL16C2550

All,

We're trying to get a TL16C752B working under Linux on our an AM3517-based SOM/COM module.  We have both ports detecting reliably in Linux, but when we try to use the ports we see significant data loss.  I expect the problem is that the GPMC timing settings under u-boot are not tuned to our configuration.  Can someone please double-check these for us?

First a bit of a wiring description.  Our 752B is attached to the AM3517 like so:

AM3517  <=>  752B

  • A4 => A2
  • A3 => A1
  • A2 => A0
  • D[7-0] => D[7-0]
  • OE* => IOR*
  • WE* => IOW*
  • CS4* => CSA*
  • CS5* => CSB*
  • We're using 2x available GPIOs as interrupts A & B.
  • For a clock, we're using the AM3517's sys_clkout1, which is fixed at 26MHz.
  • Our reset comes off either system reset or a separate GPIO that lets us bounce it if necessary.

NOTE: Several pins are obviously left off this list.  If you need to know what they are, please ask.

NOTE: We really only care about 3-wire communications for now.  So the flow control lines are not really important to us.

The timing settings we've seen others use/try to use for similar, but not identical, parts are:

    #define SER_TL16C752B_GPMC_CONFIG1        0x00000000
    #define SER_TL16C752B_GPMC_CONFIG2        0x001e1e01
    #define SER_TL16C752B_GPMC_CONFIG3        0x00080300
    #define SER_TL16C752B_GPMC_CONFIG4        0x1c091c09
    #define SER_TL16C752B_GPMC_CONFIG5        0x04181f1f
    #define SER_TL16C752B_GPMC_CONFIG6        0x00000fcf

and


    #define SER_TL16C752B_GPMC_CONFIG1        0x00011000
    #define SER_TL16C752B_GPMC_CONFIG2        0x001F1F01
    #define SER_TL16C752B_GPMC_CONFIG3        0x00080803
    #define SER_TL16C752B_GPMC_CONFIG4        0x1D091D09
    #define SER_TL16C752B_GPMC_CONFIG5        0x041D1F1F
    #define SER_TL16C752B_GPMC_CONFIG6        0x1D0904C4

That second set comes from source code provided by the folks at LogicPD for their Zoom2 console which apparently uses a TL16C[P]752C quad UART chip, which is in the same family.  However, from what I can gather in the source, I believe their clock is 48MHz.  Since the TI datasheets for the 752B and 752C parts don't even share common naming conventions for timing events, sorting out how close these are is really tough.

Given that both these parts are TI parts, could someone please help us sort these out?

Thanks!

  • Hi,

    If this post are active now, I have a question.

    We are going to use TL16C2550 and AM335x.
    And searching how to connect these two devices.

    Why are you connecting GPMC_A[4:2] to 752B address bus A[2:0]?
    I guess you should configure GPMC as async 8-bit Non-Muxed because 752B are 8bit async device
    and connect GPMC_A[2:0] to 752B address bus A[2:0]. Isn't it?

    best regards,
    g.f.