-Please clarify if your hub is enumerating with the internal ROM configuration when both the MODE_SEL lines are set to 0.
-Are you binding to the vendor driver (cyusbhx3.sys) provided with Blaster Plus before downloading the firmware?
-Kindly attach your complete schematic for us to if possible.
We keep the mode select lines at 1 and 0 all throughout start up using a pullup and pulldown. We can reconfigure these inputs along with the RESETN using CPU control. We have not tried setting both to 0 as the data sheet states not to. The data sheet states setting both to 1 is the Internal ROM configuration.
How is setting both to 1 different than both set to 0? What should we try using pullups and pull downs?
We are not using the vendor driver (cyusbhx3.sys) as our I2C master is an FPGA and not a processor. We were trying to use/set the default values over the FPGA I2C master but the HX3 won’t ACK the I2C bus transactions. There is another device though, on the same I2C bus, and is working as expected.
I am unable to upload the whole schematic, is there something in particular you'd like to see?
I appreciate your insight.
Apologies for the confusion, I meant setting them both to 1 for Internal ROM configuration. Please check if the hub is enumerating properly when booting from the internal ROM. Please check if your schematic follows the hardware guidelines from AN91378 if the hub is failing to enumerate. It is recommended to use a power switch with PWREN to prevent overcurrent condition, SUSPEND can be left NC.
For the I2C slave mode (when MODE_SEL=0 and MODE_SEL=1), please ensure that the 7-bit slave address is set as 0x60 and you are loading valid data either in B0 or D4 format from your FPGA. You can generate an image file for slave mode from Blaster Plus as well based on your settings.