5.11.2009

USB OTG flow at Qaulcomm

BOOL Cl13611OTG::ISTProcess() @ Cl13611.cpp (\wm\platform\qcmsm\src\drivers\usb\highspeed\otg)

-> BOOL Cl13611OTG::UpdateInput()
-> BOOL Cl13611OTG::EventNotification()

-> BOOL USBOTG::EventNotification() @ Usbotg.cpp (\wm\public\common\oak\drivers\usbotg\mdd)

do

-> BOOL Cl13611OTG::UpdateInput() @ Cl13611.cpp (\wm\platform\qcmsm\src\drivers\usb\highspeed\otg)
-> USBOTG_STATES USBOTG::StateChange(USBOTG_STATES usbOtgState) @ Usbotg.cpp (\wm\public\common\oak\drivers\usbotg\mdd)
-> BOOL USBOTG::EnterState(USBOTG_STATES usbOtgState)
if (OTG state has changed)

BOOL Cl13611OTG::NewStateAction(USBOTG_STATES usbOtgState , USBOTG_OUTPUT usbOtgOutput) @Cl13611.cpp (\wm\platform\qcmsm\src\drivers\usb\highspeed\otg)

-> BOOL Cl13611OTG::SetupTransCtr(USBOTG_OUTPUT usbOtgOutput)

if(usbOtgOutput.bit.drv_vbus)(A-device is driving Vbus)

turn on Vbus

else

turn off Vbus


if (usbOtgOutput.bit.loc_sof = true) (loccal device is generating activity on the bus)

LoadUnloadHCD(TRUE)

else

LoadUnloadUSBFN(TRUE)

-> BOOL USBOTG::NewStateAction(USBOTG_STATES usbOtgState , USBOTG_OUTPUT usbOtgOutput )


else
break while()



while(OTG state != USBOTG_states_unknow)


No comments: