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.

Linux/TCA9546A: TCA9546A nodes producing, how does it work?

Part Number: TCA9546A

Tool/software: Linux

Hi TI,

This topic is related to e2e.ti.com/support/interface/i2c/f/390/t/697962

Also could you read my related topic on Nvidia forum: devtalk.nvidia.com/default/topic/1037089/jetson-tx1/tca9546a-switch-not-working/

The question is how does the switch working when it is detected on i2c bus.

How does it produce nodes?

Best regards, Viktor.

  • Hey Viktor,

    Do you have scope shots of your communication with the TCA9546A? This may help us with the debugging process.

    "The question is how does the switch working when it is detected on i2c bus."

    I am a little unsure what you mean by this. Are you asking how does a switch work using I2C? If so: You need to send the device address followed by a write bit (0 at bit 8) and if you get an ACK then you then send a byte of data to the control register (only one register in this device so you don't have to specify which address to write to). The control register to enable channels is found here:

    "How does it produce nodes?"

    I will assume that you followed the steps I presented above. After you release the I2C lines (stop condition) the switch should be enabled. You can test this by pulling low on the main I2C bus and probing the channel you enabled to see if the line on that side is also low.

    If I have misinterpreted your question or you need further assistance, please let me know.

    -Bobby

  • Thank you.

    Could it be that switch is broken?

    It is detected on the i2c bus 6 with address 0x70, but nodes was not added. On the other PCB with the same software another switch works with adding nodes.

  • Hey Viktor,

    It could be possible but I don't think we have enough information to come to that conclusion yet.

    What you can do is remove the switch from the working board and put it the "bad" switch on the working PCB and see if it works. (I assume the switches on both are the exact same)

    "It is detected on the i2c bus 6 with address 0x70, but nodes was not added"
    Just because you can read the address does not mean the channels will be enabled. You need to do a write, reading the switch does not turn it on.

    I will need to see the transaction you are doing on an o-scope to confirm if there are any errors in what is going on with what the device is seeing.

    -Bobby
  • Ok. Will try to replace with new one.
  • Hey Viktor,

    I just wanted to check up with you on this. Were you able to resolve your issue?

    Thanks,
    -Bobby
  • Hi, not yet. Still waiting the chip. I think next weekend. Will reply when try..