Tool/software:
We have incorporated TUSB4020BI into our design (I can share the portions of the design that would be of interest as I want to verify that 1- we did it the best way (e.g. EEPROM might be the best way but we didn't incorporate one), 2- in need of help with the programming of it while it is on the board. From looking into the datasheet, we have 3 options to program the chip (see below); can you please let me know if you agree? And also, I need you to send us what we need for Option #1.
Option #1: Through the Non-volatile memory; for this, we need to contact you so that is what I'm doing. Once you provide us with the tools, please make sure to include instructions. I understand that programming is done over USB. I don’t think we need additional components on the board, correct? I understand this is a one-time programming so if we don’t do it correctly, then we have to change the chip.
Option #2: Through EEPROM. For this, we need to re-spin the board to add an EEPROM chip and pull-up resistors on SCL (pin 2) and SDA (pin 3). Correct? Anything else? This way, we can reconfigure as many times as we want, right?
Option #3: Through SMBus Interface: If we can access SCL (pin 2) on TUSB4020BI and SDA (pin 3) on TUSB4020BI (via test pads or soldering), we can solder on 4.7k pull-ups and connect SCL to PD0 (pin 18) on the Atmel chip and SDA to PD1 (pin 19) on the Atmel Chip to act as SMBus host. For this option, SMBUS_N (pin 22 on TUSB4020BI) needs to be pulled low (and it already is). Then, we can use wire.h library from the Arduino to send data from the ATmega32U4 to the TUSB4020BI over the SMBus lines. Is it right?