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.

TUSB8020B: How to reprogram an EEPROM

Part Number: TUSB8020B
Other Parts Discussed in Thread: TUSB8040, TUSB8041

I have an I2C EEPROM connected to a TUSB8020B. With an unprogrammed EEPROM the hub enters a sate where it is waiting to program the EEPROM. I used the TOOL to program the EEPROM, but I want to change a parameter. But now since 00h is set to 55h, the chip does not go into the waiting to be programmed mode and the TOOL will not connect.

So, how do I re-program the EEPROM once 00h is already at 55h?

Thanks,

John S.

  • Hi John,

    There are two ways to do this, one is to open up Device Manager and just force the TUSB80xx EEPROM Programmer driver to load on the USB 2.0 Hub instance. I can give you some tips on doing this if you have trouble identifying the right instance. The other method is to force a SE1 (single ended one) bus condition on one of the downstream ports for 2+ seconds. That means pulling DP and DM on one of the downstream ports to 3.3V for 2 seconds, the TUSB8020B will disconnect from the host and reconnect as a programming endpoint.

    Regards,
    JMMN
  • We tried the 3.3V on D+ and D- and it didn't work. The board upstream port was connected to the computer (win10), a cable with D+ and D- connected to 3.3v was plugged into the DS port for several seconds, nothing happened. There is an ESD chip on the DS port, but its threshold is 5V so that shouldn't have been a problem.

    One interesting aspect of this is that the normal hub driver is not properly connecting on win10 (exclamation point in device manager), but does connect properly on a Mac. I wonder if this has anything to do with it.

    I'm not shure how to force the driver. Could you please go into detail on how to do that for win10?

    Thanks,

    John S.

  • Hi John,

    Ok, I know there were some discussions about removing the SE1 entry to programming mode feature, that may have been removed in the production silicon.

    Here's how to force the driver to load:

    Forcing a USB hub into Programming Mode
    Step 1: Select the USB 2.0 portion of the TUSB8020B hub – it will be the Generic USB hub listed next to the Generic SuperSpeed USB Hub if you set Device Manager to view “Devices By Connection” mode. You can also right click and check the Hardware Ids under Properties, it should be VID_0451&PID_8027. I may have a slightly different version of the silicon, so the PID may be a one or two digits off.
    Step 2: Once you have the correct Generic USB hub, right click and select “Update Driver Software”, then “Browse my computer for driver software”, then “Let me pick from a list of device drivers on my computer”, and then “Have disk”.
    Step 3: When the Install from Disk window pops up, navigate to the TUSB80xx EEPROM Programmer directory (should be under c: Program Files (x86)> Texas Instruments Inc) and select the “TUSB8040.inf” file and open it. Ignore all the warnings and allow the driver to load
    Step 4: Open the programming tool.
    Step 5: You will need to reload the original Generic USB Hub driver after reprogramming the EEPROM

    I just ran this on Win 10 and it worked. There shouldn't be any driver issues with Win 10. Send me a screen grab if you can.

    Let me know if you have any issues.

    Regards,
    JMMN
  • We eventually got it to work but it took some time. The problem was that my first attempt at a parameter file did something that prevented Win10 from properly connecting to the hub, this included programming mode. We got around this by installing the TOOL on a Win8 machine and trying the procedure there, that worked! With the EEPROM erased we could go back to the Win10 machine to do further programming.

    I found a file used for the eval board on I think it was the TUSB8041, but that seemed close enough, so I tried it and it worked, even on Win10.

    So we are up and running, I can now try different parameters to make things work the way I want. But I still have not found what was wrong with the original file which prevented the hub from working with Win10. When I find out what it was I'll report it here.

    Thanks,

    John S.