<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EmbLogic &#187; USB Driver</title>
	<atom:link href="https://www.emblogic.com/blog/category/device-drivers/usb-driver/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.emblogic.com/blog</link>
	<description>Embedded System and ARM Training</description>
	<lastBuildDate>Tue, 03 Mar 2020 13:00:06 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>USB OTG</title>
		<link>https://www.emblogic.com/blog/01/usb-otg/</link>
		<comments>https://www.emblogic.com/blog/01/usb-otg/#comments</comments>
		<pubDate>Thu, 02 Jan 2014 06:38:05 +0000</pubDate>
		<dc:creator><![CDATA[dharmendra]]></dc:creator>
				<category><![CDATA[USB Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7998</guid>
		<description><![CDATA[The universal serial bus (USB) On-the-Go (OTG) specification, a supplement to the USB 2.0 . USB host capability that enables point-to-point communication. Such a setup allows embedded devices such as digital cameras, mobile phones, and printers to connect to each &#8230; <a href="https://www.emblogic.com/blog/01/usb-otg/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The universal serial bus (USB) On-the-Go (OTG) specification, a supplement to the USB 2.0 . USB host capability that enables point-to-point communication. Such a setup allows embedded devices such as digital  cameras, mobile phones, and printers to connect to each other directly.</p>
<p> 	An embedded USB device that switches roles, referred as dual role device, has  features that include minimal USB host capability, Session Request Protocol  (SRP), Host Negotiation Protocol (HNP), and 8mA on VBUS. </p>
<p>	Linux has a simple infrastructure to support OTG devices. The OTG infrastructure is much closer to the hardware, similar to the peripheral device  controller (PDC) driver, the OTG framework is responsible for handling<br />
 and responding to the OTG protocol negotiations such as SRP and HNP.broad level, the functionality of the OTG framework controls the USB transceiver hardware to meet the OTG requirement.</p>
<p>OTG Driver Framework<br />
	The OTG framework is not clearly defined like the gadget framework is sometimes the OTG implementation is mixed with the other frameworks. The  Linux USB subsystem source code of  OTG framework is maintained in the<br />
 /drivers/usb/otg/ folder. Some part of the usbcore module plays a key role (drivers/usb/core/hub.c). Most of the OTG activities are based on the physical layer activity and the  timing of the electrical signals. The role of  OTG software framework is   minimal .It is responsible for setting up the signal and switching to different  states defined by the OTG specification .<br />
	The OTG framework is divided into two major parts: callback methods and utility functions. The methods provided by struct otg_tranceiver are extended  to the other Linux USB frameworks using wrapper functions. The OTG<br />
 framework also helps save and retrieve the struct otg_transceiver object using utility functions. The other main part is interface methods of the transceiver to  platform.</p>
<p>	The OTG driver flow consists of both the host and the device driver  framework, taking its part to switch the role by using the OTG framework. Like the PDC driver, the OTG driver is specific to the hardware and the platform<br />
 for which the transceiver is developed. OTG driver starts by  registering itself  successfully with the Linux platform, along with the platform callbacks such as  probe routine. The platform calls the registered probe routine when it detects  transceiver. The probe routine maps the platform resource and creates the struct otg_transceiver object. The probe routine also sets the callbacks of otg_transceiver. Once the probe is successful, the OTG framework is functionally ready for the host and gadget framework to  use it.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/01/usb-otg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>E2- USB Core DRIVER Problems and Solution</title>
		<link>https://www.emblogic.com/blog/08/e2-usb-core-driver-problems-and-solution/</link>
		<comments>https://www.emblogic.com/blog/08/e2-usb-core-driver-problems-and-solution/#comments</comments>
		<pubDate>Fri, 31 Aug 2012 10:13:55 +0000</pubDate>
		<dc:creator><![CDATA[dharmendra]]></dc:creator>
				<category><![CDATA[USB Driver]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=5134</guid>
		<description><![CDATA[Dear all Team member E2 Please join this thread for your all grievances and issues for up-mentioned topics Regards and thanks Dharmendra Nath Shandilya]]></description>
				<content:encoded><![CDATA[<p>Dear all Team member E2</p>
<p>Please join this thread for your all grievances and issues for up-mentioned topics</p>
<p>Regards and thanks<br />
Dharmendra Nath Shandilya</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/e2-usb-core-driver-problems-and-solution/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>E2- USB DRIVER Problems and Solution</title>
		<link>https://www.emblogic.com/blog/08/e2-usb-driver-problems-and-solution/</link>
		<comments>https://www.emblogic.com/blog/08/e2-usb-driver-problems-and-solution/#comments</comments>
		<pubDate>Fri, 24 Aug 2012 07:46:05 +0000</pubDate>
		<dc:creator><![CDATA[dharmendra]]></dc:creator>
				<category><![CDATA[USB Driver]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=5036</guid>
		<description><![CDATA[Dear all Team member E2 Please join this thread for your all grievances and issues for up-mentioned topics Regards and thanks Dharmendra Nath Shandilya]]></description>
				<content:encoded><![CDATA[<p>Dear all Team member E2</p>
<p>             Please join this thread for your all grievances and issues  for up-mentioned topics </p>
<p>Regards and thanks<br />
Dharmendra Nath Shandilya</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/e2-usb-driver-problems-and-solution/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Embedded Linux</title>
		<link>https://www.emblogic.com/blog/08/embedded-linux/</link>
		<comments>https://www.emblogic.com/blog/08/embedded-linux/#comments</comments>
		<pubDate>Sat, 04 Aug 2012 04:43:53 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Embedded Linux]]></category>
		<category><![CDATA[USB Driver]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4392</guid>
		<description><![CDATA[Embedded Linux refers to a complete system, or in the context of an embedded Linux vendor, to a distribution targeted at embedded devices. Although the term “embedded” is often also used in kernel discussions, there is no special form of &#8230; <a href="https://www.emblogic.com/blog/08/embedded-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: Bitstream Charter,serif;"><span style="font-size: medium;">Embedded Linux refers to a complete system, or in the context of an embedded Linux vendor, to a distribution targeted at embedded devices.</span></span></span></p>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: Bitstream Charter,serif;"><span style="font-size: medium;">Although the term “embedded” is often also used in kernel discussions, there is no special form of the Linux kernel targeted at embedded applications. Instead, the same Linux kernel source code is intended to be built for the widest range of devices, workstations, and servers imaginable, although obviously it is possible to configure a variety of optional features according to the intended use of the kernel.</span></span></span></p>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: Bitstream Charter,serif;"><span style="font-size: medium;">In the context of embedded development, you will typically encounter embedded Linux systems—devices that use the Linux kernel and a variety of other software—and embedded Linux distributions—a prepackaged set of applications tailored for embedded systems and development tools to build a complete system. It is the latter that you are paying for when you go to an embedded Linux vendor. They provide development tools such as cross-compilers, debuggers, project management software, boot image builders, and so on. A growing number of vendors have chosen to integrate much of this functionality into customized plug-ins for their own versions of the community developed Eclipse graphical IDE framework.</span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/embedded-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
