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.

TLK10232 PRTAD0_PIN_* registers

Other Parts Discussed in Thread: TLK10232

Hello!

I'm currently trying to understand the datasheet of the TLK10232. On page 41, the GLOBAL_CONTROL_1 register (1E.0000) has two entries that go hand in hand.

Bits 14:12 say: PRTAD0 pin selection control. Valid only when 1E.0000 bit 5 is 1. PRDAD0 is used for the assigment specified below ...

Bit 5 says: PRTAD0 pin enable control. 0 = Input pin (PRTAD0) is used for the assignment specified in 1E.0000 bits 14:12 (Default 1'b0). 1 = Input pin (PRTAD0) is not used for the assigment specified in 1E.0000 bits 14:12.

It looks to me that they're claiming the opposite. Did I get it wrong?

Tobias

  • Hi Tobias,

    Yes, it seems something wrong. I would check that with team and tell you later. Thanks.

    Best Regards

    Dylan

  • Hi Tobias,

    Bits 14:12 's description is right, PRTAD0 is used as assigned function only when 1E.0000 bit 5 is 1.

    If any other questions, please tell me.

    Thanks & Best Regards

    Dylan

  • Thanks for the clarification.

    I have another question involving those registers. I'd like to use the PRTAD_0 pin to switch the HS Channels of the device, so that if PRTAD_0 is low then the channels are straigh connected (LS A <-> HS A, LS B <-> HS B) and if PRDAD_0 is high then the channels are cross connected (LS A <-> HS B, LS B <-> HS A).

    As far as I understand I need to enable the DST_PIN_SW_EN bit in DST_CONTROL_1 register and configure the appropriate bits in DST_PIN_SW_SRC_1 and DST_PIN_SW_SRC_0. The same has to be done for the DSR_PIN_SW_EN bit in DSR_CONTROL_1 and the DSR_PIN_SW_SRC_1 and DSR_PIN_SW_SRC_0 bits.

    The description of the DST_PIN_SW_EN/DSR_PIN_SW_EN bits mention that the PRTAD0_PIN_EN bit has to be high, which means (with your clarification) that the values in PRTAD0_PIN_EN_SEL are valid. The descriptions also says that PRTAD0_PIN_EN_SEL has therefore to be set correctly to control the applicable channel Tx Switch. But this is unclear to me. If want to change both switches (as I'm crossing them) and also in the Tx and Rx side. But the PRTAD0_PIN_EN_SEL register only allows setting only one of those 4.

    So what would be the correct register settings for such a typical fault switch use case?

    Best regards

      Tobias

  • Tobias,

    Sorry, it can't do this. As you think, the PRTAD0_PIN_EN_SEL function is fixed at one switch at a time, to do the A->B and B->A is simple, but it can't do it. What application are you using? Can you use the MDIO software interface to do the switch? Configure the 1E.0018[15:14] register bit of Channel A and B both can do the switch.

    Best Regards

    Dylan

  • Hi Dylan,

    LS A <-> HS B would be also fine, as we only use LS A and want to implement some fault switching. I think you mean that I only change the RX switch for Channel A. But would the TX then always sent simultaneously to both channels?

    I could also use the software switch by setting the MDIO registers, but I would prefer a hardware solution :)

    Tobias