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.

  • TI Thinks Resolved

TUSB8041-Q1: EEPROM Access

Prodigy 195 points

Replies: 18

Views: 121

Part Number: TUSB8041-Q1

Hi,

we're going to use this chip in our design but can you tell me, once it's embedded in the design, can we still program the attached EPROM via the USB2 Host interface?

So the connections would be:

USB2.0 Host (USB2.0 Link) ---> TUSB8041-Q1 ---> EPROM (over I2C)

Reason being, we want to be able to reprogram the EPROM any time in the future, depending on how things work out.

Thanks,

Elton

  • In reply to Elton Mckenna:

    Let me clarify, any time you write the registers over SMBUS the values you write will load into the hub, but the host controller won't go out and read the hub descriptors until the next USB enumeration event.  The only way to force an enumeration event  from the hub in a connected system is to assert reset to the hub.  That's why I was recommending starting from a reset, set all the values and then the host will enumerate the hub.and read in the latest values. 

    The TUSB8041 is a state machine based design with limited configuration options so we don't have many customers that adjust the register values outside of the development phase.  What values do you think might change?  The default register values are listed in the datasheet, this document has some additional information on the registers:

    Pulling 1.1V low won't reliably reset the hub, only pulling GRSTz low will do that.  

    Section 8.3.3 in the datasheet explains what the OTP can be used to control.  The OTP bits come cleared, but they can only be used to adjust polarity, VID/PID,non-removable status, and a few other options.

    Regards,

    JMMN

  • In reply to JMMN:

    Hi JMMN, thanks again for your help and clarification. That makes a lot more sense which I'm really glad to hear because we've designed it in now!

    I/we really don't know what might change further down the line because this hub is providing USB to our "Future Expansion" ports which will accommodate plug in cards.

    Some of these will be off the shelf reference designs, but we may design our own and we may want to turn on battery charging for example, or the Ganged power feature.

    We just don't know.

    The chances are we won't, but it's all about keeping our options open. 

    If I can ask a couple more questions I think I'm done:

    Just to clarify that the OTP is One Time Programmable yes? Just that there were a few conflicting references that seemed to indicate it's not one-time and you're done.

    And what does JMMN stand for?! :) 

    Thanks,

    Elton

  • In reply to Elton Mckenna:

    Hi Elton,

    Ok, it makes sense to keep your options open with regards to register settings.  I just wanted to be sure you weren't trying to support a function that the hub wasn't really designed to support.  It sounds like you are leaning towards SMBUS mode for register access, but I did want to reiterate that if you use I2C mode and leave a blank EEPROM installed, the hub will actually default to programming mode and not connect on the upstream port as a hub.  We have had customers add an unused EEPROM to their designs for future proofing and run into this.

    The OTP is truly one time programmable in that if you set a bit, you cannot unset it, but you can always set a bit that has not been set before.

    And JMMN is my initials, I set up my account over 10 years ago and at that time we all used initials / nicknames and I guess I just never updated?

    Regards,

    Julie

  • In reply to JMMN:

    Julie. Hello... it's nice to have a name, not an alphanumeric :) 

    Thanks for your concern. It's nice to hear because I've not really chosen a USB hub before, hence all the questions.

    And thanks for your warning on the EPROM. I have left an EPROM on there just in case, but just to clarify, if I have the pull-down on SMBUSz to put it into SMBus mode,

    it'll always boot into SMBus slave mode, never into I2C master mode correct?

    If that's correct, great, but are you then saying that if, further down the line, our settings are stable and we want to just let the hub boot from a PROM, IF that PROM is empty

    the hub will go into programming mode and just sit there?

    Thanks,

    Elton

  • In reply to Elton Mckenna:

    Hi Elton,

    it'll always boot into SMBus slave mode, never into I2C master mode correct?

    Yes, if SMBUSz is asserted then the hub will enter SMBUS slave mode, not I2C master mode.

    If that's correct, great, but are you then saying that if, further down the line, our settings are stable and we want to just let the hub boot from a PROM, IF that PROM is empty

    the hub will go into programming mode and just sit there?

    And yes, if you connect a blank EEPROM to the hub, it will automatically enter programming mode and stay there.  It was meant to make things easier for customers on production lines, but we have found that some customers install a blank EEPROM in case they want to change something later even though they are using pin configurations.  In that case, the customers have to program the EEPROM or remove it or remove the pullups on SDA / SCL.

    Regards,

    Julie

  • In reply to JMMN:

    So just to be crystal clear Julie, even if we have the SMBus Slave mode pull-down, if there's also an EPROM attached, it'll still enter programming mode?

    So the presence of the EPROM will override the pull-down.

  • In reply to Elton Mckenna:

    No, the hub won't enter i2C mode if SMBUS is asserted. I was answering your questions sequentially, I edited the post above to make that more clear.

    Regards,

    Julie

  • In reply to JMMN:

    Hi Julie, a quick one to say thanks for all your help. 

    Cheers.

    Elton

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.