Hi i am trying to implement a custom computer on Module in the SMARC specification in which we have 2 USB host. But in the SMARC Specification USBx_EN_OC# pins are multimode pins (VVBUS Enable and Overcurrent implemented on same pin).
- The Module drives USBx_EN_OC# low to disable the power delivery to the USBx device.
- The Module floats USBx_EN_OC# to enable power delivery. The line is pulled to 3.3V by the Module pull-up, enabling the Carrier board USB power switch.
- If there is a USB over-current condition, the Carrier board USB power switch drives the USBx_EN_OC# line low. This removes the over-current condition (by disabling the USB switch enable input), and allows Module software to detect the over-current condition.
- The Module software should look for a falling edge interrupt on USBx_EN_OC#, while the port is enabled, to detect the OC# condition. The OC# condition will not last long, as the USB power switch is disabled when the switch IC detects the OC# condition.
- If the USB power to the port is disabled (USBx_EN_OC# is driven low by the Module) then the Module software must be aware that the port is disabled, and the low input value on the port does not indicate an over-current condition (because the port power is disabled).
At the carrier side the following implementation is made
How do you suggest i implement the module side design based on the specification given below?