Hi,
I am using TPS 65930 PMIC and AM 3730 processor.I am facing problem in OTG host mode during boot.During boot,i have connected USB flash drive via OTG connected with the device.But the controller failed to enter into host mode.I am getting the following log messages.
From the log message it seems that i am getting invalid INTRUSB(0x4) value.Please help me in solving this issue.
Note:During insertion case, it is working fine.This issue is occuring only during boot up.
********************************************************************************
OMAPMHSUSBOTG::ThreadRun: Enable Interrupt waiting for connection!!!
***###StartUSBClock: EnableWakeupInterrupt(FALSE)
+StartUSBClock11
-StartUSBClock
ThreadRun::Initialize Interrupt with sysintr = 0x29
OTG -> Set SYSINTR = 0x29
OMAPMHSUSBVBUS::Init ++
OMAPMHSUSBVBUS::Init --
DevCtl = 0x80
Waiting ...
DevCtl = 0x80
IntrTxE = 0xffff
IntrRxE = 0xfffe
IntrUSBE = 0xf7
Power = 0x20
ResetEndPoints
OTG Interrupts(0x40) intr_tx(0x0) intr_rx(0x0)
Interrupt0 Variable INTRUSB(0x40) Devctl(0x80)
Interrupt1 Variable INTRUSB(0x40), TX(0x0), RX(0x0), DevCtl(0x80), m_dwStatus(0x0)
Session Request
Session Request(1, 1)
OMAPMHSUSBVBUS::ThreadRun ++
SoftResetMUSBController
***###StartUSBClock: EnableWakeupInterrupt(FALSE)
+StartUSBClock11
-StartUSBClock
ResetEndPoints
ResetEndPoints
OMAPMHSUSBVBUS::ThreadRun: USB removed 2
OMAPMHSUSBVBUS::ThreadRun Calling Disconnect
Device_Disconnect
UsbFnMdd!UfnMdd_Notify: Ignoring notification 0x00000001 - 0x00000000 from PDD
OTG Interrupts(0x0) intr_tx(0x0) intr_rx(0x0)
Interrupt0 Variable INTRUSB(0x0) Devctl(0x81)
Interrupt Variable INTRUSB No interrupt at all
Interrupt1 Variable INTRUSB(0x0), TX(0x0), RX(0x0), DevCtl(0x81), m_dwStatus(0x0)
OTG Interrupts(0x10) intr_tx(0x0) intr_rx(0x0)
Interrupt0 Variable INTRUSB(0x10) Devctl(0x3d)
Interrupt1 Variable INTRUSB(0x10), TX(0x0), RX(0x0), DevCtl(0x3d), m_dwStatus(0x0)
USB Connection for Host Side
Connect: DeviceType [A_DEVICE]
OTG Interrupts(0x4) intr_tx(0x0) intr_rx(0x0)
Interrupt0 Variable INTRUSB(0x4) Devctl(0x98)
Interrupt1 Variable INTRUSB(0x4), TX(0x0), RX(0x0), DevCtl(0x98), m_dwStatus(0x0)
USB Reset detected, it would be connection!!
USB Reset detected, it would be connection!!
INTR_USB = 0x4
DEVCTL = 0x98
INTRRX = 0x0, INTRTX = 0x0
Power Mode = 0x70
DMA INTR = 0x0
Reset: DeviceType [B_DEVICE]
Get HNP role switch to device
ResetEndPoints
WAIT_OBJECT_0 0x0 dwWaitRet : 0x0
VBusDetectIST:USB Removed
+AC_LINE_ONLINE
BatteryChgCurThd WAIT_OBJECT_0 0x0 dwWaitRet : 0x0
VUSB Removed
OMAPMHSUSBVBUS::ThreadRun: USB removed 2
OMAPMHSUSBVBUS::ThreadRun Calling Disconnect
Device_Disconnect
UsbFnMdd!UfnMdd_Notify: Ignoring notification 0x00000001 - 0x00000000 from PDD
BatteryChgCurThd WAIT_OBJECT_0 0x0 dwWaitRet : 0x1
USB OTG Disconnect 2
USB Cable Disconnected
GPIO_BAT_CHRGR_STATUS GPIO 161 STATUS = 0
OTG Interrupts(0x0) intr_tx(0x0) intr_rx(0x0)
Interrupt0 Variable INTRUSB(0x0) Devctl(0x88)
Interrupt Variable INTRUSB No interrupt at all
Interrupt1 Variable INTRUSB(0x0), TX(0x0), RX(0x0), DevCtl(0x88), m_dwStatus(0x58)
Disconnect Complete and Set IOCTRL again
m_bHNPSession set interrupt
OTG Interrupts(0x0) intr_tx(0x0) intr_rx(0x0)
Interrupt0 Variable INTRUSB(0x0) Devctl(0x88)
Interrupt Variable INTRUSB No interrupt at all
Interrupt1 Variable INTRUSB(0x0), TX(0x0), RX(0x0), DevCtl(0x88), m_dwStatus(0x20)
We can process role switch loading now
USB Reset detected, it would be connection!!
USB Reset detected, it would be connection!!
INTR_USB = 0x4
DEVCTL = 0x88
INTRRX = 0x0, INTRTX = 0x0
Power Mode = 0x60
DMA INTR = 0x0
Reset: DeviceType [B_DEVICE]
UsbFnMdd!UfnMdd_Notify: Ignoring notification 0x00000001 - 0x00000000 from PDD
UsbMsFn!STORE_Init: WriteProtect = 1
HNP Disable
USB Connected
BatteryChgCurThd WAIT_OBJECT_0 0x0 dwWaitRet : 0x1
USB OTG Connect 1
**********************************************************************************************************