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.

Compiler/TUSB8041: I would like to know what's the order to install firmware on TUSB8041

Part Number: TUSB8041
Other Parts Discussed in Thread: TPS65982, HD3SS3212

Tool/software: TI C/C++ Compiler

Hi, TI!

I'm a media artist mostly doing coding and somehow, I manage to design the USB - C Hub based on TIDA-03027. 

It has got TPS65982 and TUSB8041. after manufacturing the board,  I'm trying to install firmware on both TPS65932 AND TUSB8041.

Do I need to install Firmware on TPS65982 first, and move to TUSB8041?

I would like to know right order to install.

via Aardvark debugger, TPS65982 can be connected and responding, but TUSB8041 is currently not responding via USB - C port.

I just wonder that's because firmware for TPS65982 is not installed yet.  

If you give me any hint about installing firmware, it would be great help. 

Best,

WOOJUN

  • Hi Woojun,

    So the TUSB8041 does not require firmware or external configuration if you have SMBUSz pin pulled high.  Even if you plan to use a SMBUS or I2C host to configure the hub, can you try setting SMBUSz high just to confirm the USB data lines are routed correctly?

    What type of firmware are you trying to install?

    Thanks,

    JMMN

  • Thanks for the reply.

    I meant TUSB80XX EPPROM_programming utility.

    If I ran the program, it said no device is detected.

    is this program is unnecessary? but still wonder why it didn't detect the TSUB8041.

    Best,

    WOOJUN

  • probably, I need to get SMBUS pulled high. it is DNP at the moment. 

    Best,

    WOOJUN

  • Hello Woojun,

    You do not need to use the programming utility unless you have an I2C EEPROM connected to the hub.  The programming utility will only load if the hub is in programming mode.  For I2C, the hub defaults to programming mode when it sees a blank EEPROM connected.  If the EEPROM is already programmed, the driver for the programming utility needs to be force loaded on the USB 2.0 instance of the hub.

    Do not set SMBUSz low unless you are going to use a SMBUS host to configure the hub.

    Please note that your GRSTz circuit needs to be changed.  Remove the external pullup and replace the pulldown with a 1uF or 2uF capacitor, the hub will not work reliably with the current circuit.

    Regards,

    JMMN

  • Hi JMMN!

    Thank you very much!  I find your reply very helpful. really appreciate it.

    actually, I've got a I2C EPPROM connected to the hub like below.

    in this case, so should I remove the EPPROM? or just leave it? 

    and is it ok the programming utility does not find the hub connected? I understand it is unnecessary to use the utility. 

    I just worried that something is not right. just wand to make sure. 

    Best,

    WOOJUN

  • Hello Woojun,

    If you have a blank EEPROM connected to the hub, it should go into programming mode by default.  SMBUSz is floating or pulled high, correct?

    Can you screenshot your Device Manager USB section or install usbview.exe or USB Device Tree Viewer and send a screen shot of what is reported?

    Thanks,

    JMMN

  • Hi ZMMN

    Yes, EPPROM is connected to hub and SMBUSz is floating now. I will try to have it pulled high soon by adding 10k resistor on DNP.

    At the moment, I can not see the hub in Device Manager USB section. it is not recognised.

    Do you think that the hub is going to be recognised when SMBUSz is pulled high?

    Best,

    WOOJUN

  • Hello Woojun,

    SMBUSz float should be ok, can you confirm that USB_VBUS input to the hub is high?

    Can you share the schematic between the hub and the upstream port?

    Also, please confirm you have updated the GRSTz circuit.

    Regards,

    JMMN

  • Hi ZMMN!

    Here is the schematic, which is basically almost identical to TIDA-03027.

    Upstream port & TUSB8041

    1.Yes USB_VBUS is high. but, 90.9k resistor is replaced with 91k resistor.

    2. GRST still has external pullup. I will update as you suggest. this might be the reason that the hub is not recognised?

  • Hi Woojun,

    Pleaser remove the pullup on GRSTz and replace the pulldown with 1 uF capacitor

    I see a couple of issues on the Type-C port connections:

    Usually both USB 2.0 pin sets are shorted together on the Type C port ( pin A6 to B6, pin A7 to B7) so that when the connector is flipped is still works at USB 2.0 speeds.

    Also, you have the SSTX pins connect to the SSRX signals.  SSTX pins should be connected to SSTX signals (and SSRX pins to SS RX signals).

    Regards,

    JMMN

  • Hi ZMMN

    I tried to remove the pullup on GRSTz and SMBUSz is now pulled high as you suggest.

    It seems like the hub is now recognised like below.

    1.is it normal that the hub is labelled as EPPROM programming Endpoint? Do I need to do anything more to get it work?

      very glad that I made a progress with your guidance. thank you very much!

    2.  I will try to get USB 2.0 pin sets shorted together as you pointed out.

    3.  in terms of SSTX connected to SSRX,  the schematic I showed is original TIDA-03027.

     RX and TX go to  demux(HD3SS3212) in the schematic like below.

    The reason why SSTX pint is connected to CRX is because of DEMUX?  I'm curious.

    Thank you very much for your help, I really appreciate it. 

    Best,

    WOOJUN

  • Hi Woojun,

    Can you send me a link to the TI design you are using for a reference?  It was not done by my group and I'm not able to find the schematic online.

    I don't see where SSTX connects to CRX?  A0 will only route to B0 or C0, not B1.

    It looks like the hub still has a blank EEPROM attached.  You either need to remove the EEPROM or program it to prevent the programming tool from loading automatically.  If possible I would just remove the EEPROM for initial testing, it is not required.

    Regards,

    JMMN

  • TIDA-03027_schematics.pdf

    TIDA-03027_Manuals.pdf

    Hi ZMMN,

    thank you for the detailed reply!

    1) I think TIDA-03027 has been discontinued while I was working on the hub in September. 

    I can not find the link, so I've attached the schematics and manuals. I'm not sure whether this is ok to attach the schematics here. 

    if it is not ok. I'll delete asap.

    2)  I see. I will try to remove the EPPROM or programme it with the tool. hope it goes well.  good to know that the hub is in programming mode. 

    3) Probably, this might be a different case. the pics below shows that TX goes to AO and goes out to RX via B0.

        Do you guess this application make sense? I'm a bit confused about HD3SS3212. 

        

    Thank you very much for your help. it has been very helpful. I really appreciate it.

    Best,

    WOOJUN.

        

  • Hi Woojun,

    Let me know if you have trouble programming the EEPROM or the hub driver doesn't load after programming or removing the EEPROM.  You can use usbview.exe or USB Device Tree Viewer to view the USB bus.

    I understand the reference design now, I missed that the Type-C connection is a plug, not a receptacle.  That explains why RX and TX are swapped since there would be no cable swap.  Thanks for sharing it.

    Regards,

    JMMN

  • Also, since this is a Type-C plug, the two DP and the two DM lines are not shorted together.  Apologies, I had assumed I was looking at a receptacle design.

  • Hi ZMMN, 

    1)

    I think I made a mistake that I thought  the plug in the schematic is receptacle.  

    so I will try to do something on USB-C cable to fix this problem. 

    2)

    I'd like to try to programme EPPROM. so I can learn something from the process.

    I managed to run the programming utility due to your help.

    Now it looks like above. 

    I'm looking at the TUSB8041 Datasheet to programme. can I ask registers I must programme?  little hint might be great! 

    3)

    From the data sheet,  is the reset state(on red line) a kind of basic setting for each register?

    Thank you very much for your help. really appreciate it. 

    Best, 

    WOOJUN

      

  • Hello Woojun,

    Please accept my friend request and I will send you a default I2C file to use.

    Regards,

    JMMN

  • Hi ZMMN!

    That would be great! thank you very much! 

    Best,

    WOOJUN

  • Just sent the file.

    Regards,

    JMMN

  • Hi ZMMN!

    Thank you very much for the file.

    I managed to programme the EPPROM, and it is working! really appreciate your help.

    Probably, I've got one last question.

    I guess the issue above is not a big deal. I just want to make sure whether I can leave it or not.

    I would like to thank you for your support throughout! 

    Best,

    WOOJUN

  • Hi ZMMN!

    Thank you very much for the file.

    I managed to programme the EPPROM, and it is working! really appreciate your help.

    Probably, I've got one last question.

    I guess the issue above is not a big deal. I just want to make sure whether I can leave it or not.

    I would like to thank you for your support throughout! 

    Best,

    WOOJUN

  • Hi Woojun,

    That's an error from the driver side so I don't have any information on it, but if you don't see a yellow bang next to the driver it should be ok.  Can you confirm that you are able to see devices plugged in on the ports of the hub?  I would recommend downloading usbview.exe or USB Device Tree Viewer to get a good visual of what your USB connections are.

    Also, the hub is only connected at USB 2.0 right now, probably because of the TX/RX swap issue we discussed earlier.  Once you get that fixed you should see another hub entry for a SuperSpeed hub in Device Manager.

    I'm glad you got your board up and running!

    JMMN

  • Hi ZMMN!

    Yes, I can see the devices plugged in on the ports of the hub. it is good to see that board is working! (at least USB 2.0) 

    I will deal with the TX/RX swap issue soon. I hope I can see the another hub entry for SS. 

    Thank you very much for your support throughout. you've been great!

    Best,

    WOOJUN