This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TUSB8042: Control port power using register writes (PWRCTL)

Expert 1015 points
Part Number: TUSB8042

I have 4 ports on my board and want to control the power. I have the following connections on power-up:

p24 - GANGED pulled low
p40 - FULLPWR... pulled low
p41 - PWRCTL_POL Floating high
p45 - AUTOENZ pulled low
p39 - SMBUSZ - pulled low
3 out of 4 BATEN# pins are pulled low with 10K resistors (32, 33, 35), pin 36 is currently un-connected. (I don't care about battery charging).
pins 37 & 38 are connected to an I2C bus from my CPU and are pulled to 3.3V before GRST is released.

I can talk to the part after power up and I leave the default configuration (we don't need to change anything - but I wanted to control the port power). I then write a 0x01 to register 0xF8 and the HUB appears on the upsteam bus and the ports are alive.

The ports respond to a short by turning off the power (I have external power switches on them and the OC line comes back to the part). When the short is removed the port powers back up.

However, I want to control the power on one of the ports independently of the OVERCUR pin, and I want to be able to turn off the power on any of the ports independently of the others.

I can read and write Register 6. I wrote it to 0 and read it back and then wrote it to 0x0F and read it back. But changing the BATEN bits doesn't control the power.
I can't find any other register that allows me to control the PWRCTL function.

I there a way to do this?  I can't believe that a pin called PWRCTL# doesn't control the power. Do I needed to change the p24, 40, 41, 45 pins, or some other pin to get this to work?

  • BTW, I have the 'USB_VBUS' pin 48 connected to a divider that sets it to 0.588V on power-up.

  • Hi,

    When USB_VBUS is high, PWRCTL outputs are controlled by the USB host using USB commands per USB specifications shown below.

    You can reference to section 10.3 of the USB spec for more detail on the power control.

    Thanks

    David

  • Ok, that is too bad in our case. I wanted to use the 4th port for a touchscreen where I could turn the power on/off at will without using the USB traffic. I'll just use an external GPIO for a power switch to the touchscreen USB VBUS instead. Odd that we can't have both methods of control, but I guess that violates USB spec. Thanks for the definite answer!