Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

USB hosts hubs transceivers Forum Discussions

mfraimovich
Level 1
Level 1
5 sign-ins First reply posted First question asked

I am using CYUSB3328-88LTXC hub on a custom board.
US port is towards the main processor (running Android, Linux kernel 4.9), three DS ports are converted to USB-C and the fourth DS port is permanently connected to a USB-ETH bridge. The hub is set in pin-strap mode.

In order to set pin-strap boot, what do I need to set the MODE_SEL pins to? (currently trying 0b11, originally tried 0b01)

PIN_STRAP = 'H'
MODE_SEL [1:0] = 'HH'
I2C_DEV_ID = 'L' is 0x60
ACA_DOCK = 'L'
PORT_DISABLE = 'LL' all DS active
NON_REMOVABLE = 'LL' all DS removable
VID_SEL = 'HHH' default CY VID
PWR_SW_POL = 'H' for DSx_PWR_EN and DSx_OVRCURR active 'H'
PWR_EN_SEL = 'L' Individual DS power switching
DSx_PWR_CDP_EN = 'HHHH' all CDP enabled

 

Thanks

0 Likes
1 Solution
Ajeethkumar
Moderator
Moderator
Moderator
25 likes received 250 sign-ins 50 solutions authored

Hi, 

MODE_SEL can be either b'11, b'01, or b'10 while using PIN strap configuration.

Configuration options are selected through the MODE_SEL pins and the pin-strap enable pin (PIN_STRAP). After power-up, these pins are sampled by an on-chip bootloader to determine the configuration options.

The I2C master/slave configuration overrides the pin-strap configuration. Pin-straps override the eFuse configuration, and the eFuse configuration overrides the internal ROM configuration. So, if you use the I2C Master/Slave configuration, all the other configurations from the Pin strap except I2C_DEV_ID will get overridden.

You can use the above-mentioned pin configurations along with MODE_SEL=b'11(Internal ROM configuration). Also, If one of the pins in a group strap is floating (INVALID), that group input will be INVALID and the default will not be overwritten.

Refer to Table 6 in the HX3 datasheet to know more about the Pin-strap configuration.

Thanks,
Ajeeth

View solution in original post

0 Likes
3 Replies
Ajeethkumar
Moderator
Moderator
Moderator
25 likes received 250 sign-ins 50 solutions authored

Hi, 

MODE_SEL can be either b'11, b'01, or b'10 while using PIN strap configuration.

Configuration options are selected through the MODE_SEL pins and the pin-strap enable pin (PIN_STRAP). After power-up, these pins are sampled by an on-chip bootloader to determine the configuration options.

The I2C master/slave configuration overrides the pin-strap configuration. Pin-straps override the eFuse configuration, and the eFuse configuration overrides the internal ROM configuration. So, if you use the I2C Master/Slave configuration, all the other configurations from the Pin strap except I2C_DEV_ID will get overridden.

You can use the above-mentioned pin configurations along with MODE_SEL=b'11(Internal ROM configuration). Also, If one of the pins in a group strap is floating (INVALID), that group input will be INVALID and the default will not be overwritten.

Refer to Table 6 in the HX3 datasheet to know more about the Pin-strap configuration.

Thanks,
Ajeeth

0 Likes

Thanks Ajeeth!

This was my understanding too, but here is a question: what will happen if PIN_STRAP is high, MODE_SEL is set to b'01 (boot from EEPROM), and the EEPROM isn't programmed, blank? Will it attempt to boot from a blank EEPROM and compromise the operation of the IC?

Thanks!

0 Likes

Hi,

In I2C Master boot mode, if the connected EEPROM contains an invalid signature or is blank, the hub will come up in Vendor mode in 2.0 configuration with a default Vendor Mode PID as mentioned in Table 9 of the HX3 datasheet. You can bind the Vendor driver to the device and load the custom configuration using the Blaster Plus utility.

Thanks,
Ajeeth

0 Likes