Hi
In our project we use this TUSB4041I to connect, among others, an USB touchscreen controller to a downstream port on the hub. Our intention is to be able to disable/enable the touchscreen by modifying the register Port UsedConfiguration Register (byte address 08h) via SMBUS.
We succeed to alter the corresponding bit for the port in bitfield used[3:0]. When we disable the corresponding downstream port we see that touch controller disappears from the device manager in the operating system. However when we want to re-enable the corresponding downstream port the touch controller does not reappear. The operating system we tested on was Ubuntu 18 and Windows 10.
We tried disable/enable on other downstream ports also and connected devices disconnects on USB but when enabling the downstream port those devices also do not reappear on USB.
The register dump on TUSB4041I is following: (byte address: register content)
0x0: 0x00
0x1: 0x51
0x2: 0x04
0x3: 0x40
0x4: 0x81
0x5: 0x10
0x6: 0x00
0x7: 0x0f
0x8: 0x0f
0x9: 0x0
0xa: 0x32
0xb: 0x00
0xf0: 0x00
0xf8: 0x00
Our question is: Can Port UsedConfiguration Register (byte address 08h) bitfield used[3:0] be used to disable a USB device on a downstream port and then re-enable it again without a physical removal of the USB device?