News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TE0808/TEBF0808 CYUSB3324 USB HUB Programming

Started by mer, October 11, 2022, 07:29:41 PM

Previous topic - Next topic

mer

How is the CYUSB3324 USB Hub programmed on the TEBF0808? Possible modes are OTP, using GUI to generate I2C slave mode files, using GUI to program directly from US Port, or pin strapping. TEBF0808 uses a dedicated EEPROM for the hub so I'm assuming it is either OTP or I2C slave file. Infineon seems to keep the registers proprietary so doesn't seem like a standard I2C setup. I'm very noobish with vivado and our expert is unavailable or else I would dig into the reference design myself. I want to make sure I'm not painting myself into a corner on a custom hardware design. Thanks!

JH

Hi,
CYUSB3324 is not preprogrammed. Everything will be done by linux drivers.
br
John

mer

Ok thank you, that seems obvious in retrospect. However, is there a driving document for hardware compatibility to the driver? What happens if the USB VBUS switch is active high instead of active low? Can I set the mode select pins of the hub to I2C slave mode or is the CPLD toggling modes? If it is in I2C slave mode do I really need the EEPROM? I appreciate your help.

JH

#3
Hi,
mode pins are fix:
https://wiki.trenz-electronic.de/display/PD/TEBF0808+CPLD#TEBF0808CPLD-USB
CPLD code is also available on the download area.
24LC128-I/ST is accessible over I2C by user if needed, if I remember correctly CYUSB3324 is I2C is master and can also get access to the eeprom. you must check one time CYUSB3324 datasheet if it's correct or not....https://www.infineon.com/cms/en/product/universal-serial-bus-usb-power-delivery-controller/hub-controllers/hx3-usb-3.0-hub-controller/cyusb3324-88ltxc/
What did you meed with USB VBus.  Hab is only host and controls vbus voltage of the connector, see schematic page 15 and page 16. USB2 PHY isalso configured as host mode only.
br
John

mer

Thank you John. On the TEBF0808, the CPLD sets the hub's mode to "internal ROM configuration" which would negate the need for an external EEPROM... I think... unless linux drivers cause it to be utilized somehow. So I think on the TEBF0808 it uses firmware defaults. Basically I'm just looking for guidance on how the hub's hardware configuration was determined as I haven't been able to find a guiding document for an embedded linux environment. One reason I'd like to figure this out is to reduce the BOM if possible. The other reason is I will be using a USB-C with a PD controller on one of the downstream ports and would like to know if changing the VBUS enable and overcurrent fault signal polarity in the EEPROM would do me any good or if I'm stuck with defaults. I have an open ticket with Infineon on this and I can update when I get a response.

JH

Hi,
Quote..the CPLD sets the hub's mode to "internal ROM configuration" which would negate the need for an external EEPROM
Thank for this notes. I never checked in detail, it was simple working :-)
Quote... I think... unless linux drivers cause it to be utilized somehow.
Maybe retry out out remove eeprom or use it only as optional assembly variant on your custom board, so you can also reduce bom and in case it's needed again, you can assemble it.

QuoteThe other reason is I will be using a USB-C with a PD controller on one of the downstream ports and would like to know if changing the VBUS enable and overcurrent fault signal polarity in the EEPROM would do me any good or if I'm stuck with defaults. I have an open ticket with Infineon on this and I can update when I get a response.
Unfortunately I can not help you. I hope you get an answer from Infinion.
br
John