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
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.