USB POWER MGNT , USBx_EN_OC


  • Hi, 

    I'm wondering what is ports like USB0_EN_OC,USB1_EN_OC,USB2_EN_OC ...  shown in your datasheet (Page 4). 

    I understand is for power on/off usb port . am i right ? 

    If yes , is it possible the manage these states from linux OS and how ? 

    Regards



  • Dear @O. JUD, USBX_EN_OC indicates "Over Current Protection" for the board. Furthermore, its states cannot be managed.


  • Hi 

    Regarding the chapter bellow in SMARC 2.1 Specification i think it can be managed. 

    i'm wondering if it's related to power regulator framework as described in chapter 2.5.2.5 Regulator APIs in I.MX Reference Manual?

    3.14.3 USB[0:5]_EN_OC# Discussion
    The Module USB[0:5]_EN_OC# pins are multi-function Module pins, with a pull-up to a 3.3V rail on the Module, an OD driver on the Module, and, if the
    OC# (over-current) monitoring function is implemented on the Carrier, an OD driver on the Carrier. The use is as follows:
    1) On the Carrier Board, for external plug-in USB peripherals (USB memory sticks, cameras, keyboards, mice, etc.) USB power distribution is
    typically handled by USB power switches such as the Texas Instruments TPS2052B or the Micrel MIC2026-1 or similar devices. The Carrier
    implementation is more straightforward if the Carrier USB power switches have active–high power enables and active low open drain OC#
    outputs (as the TI and Micrel devices referenced do). The USB power switch Enable and OC# pins for a given USB channel are tied together on
    the Carrier. The USB power switch enable pin must function with a low input current. The TI and Micrel devices referenced above require 1
    microampere or less, at a 3.3V enable voltage level.
    2) The Module drives USB[0:5]_EN_OC# low to disable the power delivery to the USB[0:5] device.
    3) The Module floats USB[0:5]_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 USB[0:5]_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 USB[0:5]_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 (USB[0:5]_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).If the USB power to the port is disabled, then
    the Module may remove the 3.3V pull-up voltage to the USB[0:5]_EN_OC# node, to save the current drain through the pull-up resistor. This is
    optional and Module design dependent.
    Carrier Board USB peripherals that are not removable often do not make use of USB power switches with current limiting and over-current detection. It
    is usually deemed un-necessary for non-removable devices. In these cases, the USB[0:5]_EN_OC# pins may be left unused, or they may be used as
    USB[0:5] power enables, without making use of the over-current detect Module input feature.


Please login to reply this topic!