Hi, I think my question might have been little less specific. I want to how the MUSB drivers for the Host Controller are used? Suppose I want to do a BULK OUT transaction. So the data packet must be loaded in the FIFO and set the TX Ready bit of the control register for the endpoint to which the data is to be transferred. When an ACK is received by the HC (sent by the peripheral device after the data is recvd by it) the HC will generate an interrupt which must be handled by the software. Similarly, For a BULK IN transaction, software must enable the REQPKT bit in a register which causes the HC to send a IN token. When data is recvd by the HC, the RXPKTRDY bit is set in the register and appropriate interrupt generated. So I want to know which functions of musb drivers in the linux kernel handle this? ( I think musb_core.c, musb_host.c files holds the answer.. But I am not sure which of the function defined in these files will be called first and who calls them? ) Hope I am much more clear than the previous post. Thanks Again, Arjun pradeep singh wrote: On Sat, Apr 18, 2009 at 4:42 PM, Arjun Joshi <arjun.joshi@xxxxxxxxxxxxxx> wrote:Hi Guys, I was looking through the kernel sources for the MUSB drivers. I was able to understand how the platform-driver got registered. I will be using a Davinci EVM board with MUSBMHDRC as the host controller. But I am not able to understand how the data transfer takes place. Assuming I attach a pen drive to my board working as a Host, if I want to transfer some data to the pen drive how will the transfer occur. It would be great if someone can give a pointer to the function called when I start to transfer the data.Read the USB chapter from LDD3. You can even get a free copy. Especially study about usb-core, URBs and endpoints in it. HTH Thanks, --PradeepThanks in advance, Arjun -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ |