- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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