<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.linuxtv.org/wiki/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;feed=atom&amp;action=history</id>
		<title>GPIO pins - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;feed=atom&amp;action=history"/>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;action=history"/>
		<updated>2013-05-23T23:03:19Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.16.5</generator>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27101&amp;oldid=prev</id>
		<title>CityK: /* How GPIO pins work */ more minor edits; rephrasing and clarifying</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27101&amp;oldid=prev"/>
				<updated>2010-04-18T19:57:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;How GPIO pins work: &lt;/span&gt; more minor edits; rephrasing and clarifying&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:57, 18 April 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In others cases, GPIOs are arranged into very simple groups, typically of 8 pins – known as a GPIO port - that can be switched as a group to either input or output.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In others cases, GPIOs are arranged into very simple groups, typically of 8 pins – known as a GPIO port - that can be switched as a group to either input or output.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The input and output voltages are typically, though not universally limited to the supply voltage of the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;device with &lt;/del&gt;the GPIOs &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;on&lt;/del&gt;, and &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;may be damaged by greater &lt;/del&gt;voltages. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Some &lt;/del&gt;GPIOs have 5V tolerant inputs &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;- &lt;/del&gt;even &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;on &lt;/del&gt;low supply voltages (2V), &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the device &lt;/del&gt;can accept 5V without damage.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The input and output voltages are typically, though not universally&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;limited to the supply voltage of the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;IC upon which &lt;/ins&gt;the GPIOs &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;reside&lt;/ins&gt;, and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;usage of &lt;/ins&gt;voltages &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;greater then that may cause damage to the chip&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Though, in the case of some ICs, the &lt;/ins&gt;GPIOs have 5V tolerant inputs&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, such that &lt;/ins&gt;even &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;when the IC itself has a &lt;/ins&gt;low supply voltages (2V), &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;it &lt;/ins&gt;can accept &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the greater voltage (&lt;/ins&gt;5V&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) on the GPIO pin input &lt;/ins&gt;without damage.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In some cases, GPIOs may be configurable to produce CPU interrupts and be able to use Direct Memory Access to move large quantities of data efficiently into or out of the device.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In some cases, GPIOs may be configurable to produce CPU interrupts and be able to use Direct Memory Access to move large quantities of data efficiently into or out of the device.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:27100:newid:27101 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27100&amp;oldid=prev</id>
		<title>CityK: /* How GPIO pins work */</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27100&amp;oldid=prev"/>
				<updated>2010-04-18T19:42:07Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;How GPIO pins work&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:42, 18 April 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==How GPIO pins work==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==How GPIO pins work==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A GPIO pin on an IC is typically connected to some other chip, and performs some function by changing its state. GPIO pins can act as either an:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A GPIO pin on an IC is typically connected to some other chip, and performs some function by &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;reading or &lt;/ins&gt;changing its state. GPIO pins can act as either an:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* input - to read digital signals from a circuit; that is, when configured for input mode, they read the current state as either &amp;quot;high&amp;quot; or &amp;quot;low&amp;quot; &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* input - to read digital signals from a circuit; that is, when configured for input mode, they read the current state as either &amp;quot;high&amp;quot; or &amp;quot;low&amp;quot; &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* output - to control or signal other devices attached to the IC and, as such, the pins are configured to be “high” or “low” when in output mode&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* output - to control or signal other devices attached to the IC and, as such, the pins are configured to be “high” or “low” when in output mode&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:27099:newid:27100 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27099&amp;oldid=prev</id>
		<title>CityK: /* How GPIO pins work */ a little clean up</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27099&amp;oldid=prev"/>
				<updated>2010-04-18T19:40:07Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;How GPIO pins work: &lt;/span&gt; a little clean up&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:40, 18 April 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==How GPIO pins work==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==How GPIO pins work==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A GPIO pin on an IC is typically connected to some other chip, and performs some function by changing its state. GPIO pins can &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;be configured &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;be “high” or “low” &lt;/del&gt;when &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;in output &lt;/del&gt;mode, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;or you can &lt;/del&gt;read the current state as high or low &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;when &lt;/del&gt;configured &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;for input &lt;/del&gt;mode&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;. &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A GPIO pin on an IC is typically connected to some other chip, and performs some function by changing its state. GPIO pins can &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;act as either an:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* input - &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;read digital signals from a circuit; that is, &lt;/ins&gt;when &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;configured for input &lt;/ins&gt;mode, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;they &lt;/ins&gt;read the current state as &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;either &amp;quot;&lt;/ins&gt;high&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot; &lt;/ins&gt;or &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;&lt;/ins&gt;low&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* output - to control or signal other devices attached to the IC and, as such, the pins are &lt;/ins&gt;configured &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to be “high” or “low” when in output &lt;/ins&gt;mode&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;GPIO pins on an IC can act as either an:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;* input - to read digital signals from a circuit&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;* output - to control or signal other devices attached to the IC. &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Usually each GPIO pin is individually configurable as either an input or output -- each pin can be setup flexibly to accept or source different logic voltages, with configurable drive strengths and pull up/downs. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Usually each GPIO pin is individually configurable as either an input or output -- each pin can be setup flexibly to accept or source different logic voltages, with configurable drive strengths and pull up/downs. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In others cases, GPIOs are arranged into very simple groups, typically of 8 pins – known as a GPIO port - that can be switched as a group to either input or output.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In others cases, GPIOs are arranged into very simple groups, typically of 8 pins – known as a GPIO port - that can be switched as a group to either input or output.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The input and output voltages are typically, though not universally limited to the supply voltage of the device with the GPIOs on, and may be damaged by greater voltages.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;The input and output voltages are typically, though not universally limited to the supply voltage of the device with the GPIOs on, and may be damaged by greater voltages. Some GPIOs have 5V tolerant inputs - even on low supply voltages (2V), the device can accept 5V without damage.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Some GPIOs have 5V tolerant inputs - even on low supply voltages (2V), the device can accept 5V without damage.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In some cases, GPIOs may be configurable to produce CPU interrupts and be able to use Direct Memory Access to move large quantities of data efficiently into or out of the device.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In some cases, GPIOs may be configurable to produce CPU interrupts and be able to use Direct Memory Access to move large quantities of data efficiently into or out of the device.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:27098:newid:27099 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27098&amp;oldid=prev</id>
		<title>CityK: /* Programming GPIO pins */  minor rephrasing</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27098&amp;oldid=prev"/>
				<updated>2010-04-18T19:32:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Programming GPIO pins: &lt;/span&gt;  minor rephrasing&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:32, 18 April 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 47:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* BtSpy - http://btwincap.sourceforge.net/custom.html&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* BtSpy - http://btwincap.sourceforge.net/custom.html&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In addition, a good old magnifying glass is a great tool. GPIO inputs are just pins on &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;video chip &lt;/del&gt;and remote or mux switch or audio chip &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;should be standalone&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Find them on a board and use a magnifier. You should find &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;track between them and from a datasheet &lt;/del&gt;you'll &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;In addition, a good old magnifying glass is a great tool. GPIO inputs are&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, after all, &lt;/ins&gt;just pins on &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;an IC that will be connected in circuit to an external component.&amp;nbsp; For example, you should be able to find &lt;/ins&gt;and &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;track the traces on the device's printed circuit board between the GPIO pins on an interface chipset and, say, a &lt;/ins&gt;remote &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;controller &lt;/ins&gt;or mux switch or audio chip &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;etc&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; In conjunction with &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;datasheets for these ICs &lt;/ins&gt;you'll &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;likely be able to &lt;/ins&gt;easily find the correct GPIO values.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;easily find the correct GPIO values.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;====GPIOs of SAA713x====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;====GPIOs of SAA713x====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27097&amp;oldid=prev</id>
		<title>CityK: more minor changes to the big scary warnign</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27097&amp;oldid=prev"/>
				<updated>2010-04-18T19:21:02Z</updated>
		
		<summary type="html">&lt;p&gt;more minor changes to the big scary warnign&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:21, 18 April 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Unused Pins are usually programmed as inputs.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Unused Pins are usually programmed as inputs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Box Warning|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Playing &lt;/del&gt;with GPIO-pins may damage your device!&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{{Box Warning|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Haphazardly playing &lt;/ins&gt;with &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;or mis-configuring &lt;/ins&gt;GPIO-pins may damage your device!&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''If you undertake any modifications, we take no responsibility for any damage caused or which may be incurred to your device through the process.&amp;nbsp; You proceed entirely at your own risk'''}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''If you undertake any modifications, we take no responsibility for any damage caused or which may be incurred to your device through the process.&amp;nbsp; You proceed entirely at your own risk'''}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:27096:newid:27097 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27096&amp;oldid=prev</id>
		<title>CityK: minor update to big scary message</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27096&amp;oldid=prev"/>
				<updated>2010-04-18T19:14:43Z</updated>
		
		<summary type="html">&lt;p&gt;minor update to big scary message&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 19:14, 18 April 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 40:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Unused Pins are usually programmed as inputs.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Unused Pins are usually programmed as inputs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;div style=&amp;quot;vertical-align:top; margin:0; border:1px solid #6289AB; padding:0.5em; background-color:#ffffff&amp;quot;&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{Box Warning&lt;/ins&gt;|Playing with GPIO-pins may damage your &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;device!&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;{|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;valign=top cellpadding=0 cellspacing=5 width=100%&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;'''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;If you undertake any modifications, we take no responsibility for any damage caused or which may be incurred to your device through the process&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; You proceed entirely at your own risk'''}&lt;/ins&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| [[Image:Exclaimation.png|75px]] &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;| '''IMPORTANT NOTICE: &lt;/del&gt;Playing with GPIO-pins may damage your &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;card&lt;/del&gt;'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|&lt;/del&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/div&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Two Windows based utilities that can be handy in the process of determining what to program for GPIO values in device definitions are:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Two Windows based utilities that can be handy in the process of determining what to program for GPIO values in device definitions are:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:27091:newid:27096 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27091&amp;oldid=prev</id>
		<title>CityK: minor changes; spelling</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27091&amp;oldid=prev"/>
				<updated>2010-04-18T17:39:01Z</updated>
		
		<summary type="html">&lt;p&gt;minor changes; spelling&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 17:39, 18 April 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes, 2 or 3 of them are used to control an audio multiplexer found elsewhere on the device. That is especially true for bt878-based cards, as that particular chip lacks a built-in audio mux and therefore must rely upon external components to provide such functionality. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes, 2 or 3 of them are used to control an audio multiplexer found elsewhere on the device. That is especially true for bt878-based cards, as that particular chip lacks a built-in audio mux and therefore must rely upon external components to provide such functionality. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* IR receiver chips are also often connected via GPIO pins (though, thats not the only way, as [[I²C Protocol|I²C]] is common as well, and some &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;inferface &lt;/del&gt;chipsets, like the cx2388x, have built-in support for IR signal sampling). &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* IR receiver chips are also often connected via GPIO pins (though, thats not the only way, as [[I²C Protocol|I²C]] is common as well, and some &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;interface &lt;/ins&gt;chipsets, like the cx2388x, have built-in support for IR signal sampling). &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes it is possible to reset external chips via GPIO. For example, bt878-designs with a msp34xx audio processor usually have the msp34xx reset line linked to one of the GPIO pins.&amp;nbsp; As another example, in the case of the [[Hauppauge WinTV-HVR-950]] device, one of the GPIO pins on its em28xx bridge is connected to the “RESET” pin on the xc3028 tuner. Setting the state of the GPIO pin to low momentarily and then high again has the effect of resetting the chip to a known state. &amp;lt;br&amp;gt; It’s also worth noting that holding a chip in reset is often done as a power management measure, which is why you can see driver problems communicating with certain chips if the GPIOs are improperly configured. This sort of power management measure becomes particularly important on USB devices, where there is often not enough power available on the USB bus to have both the analog components and the digital components powered up at the same time.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes it is possible to reset external chips via GPIO. For example, bt878-designs with a msp34xx audio processor usually have the msp34xx reset line linked to one of the GPIO pins.&amp;nbsp; As another example, in the case of the [[Hauppauge WinTV-HVR-950]] device, one of the GPIO pins on its em28xx bridge is connected to the “RESET” pin on the xc3028 tuner. Setting the state of the GPIO pin to low momentarily and then high again has the effect of resetting the chip to a known state. &amp;lt;br&amp;gt; It’s also worth noting that holding a chip in reset is often done as a power management measure, which is why you can see driver problems communicating with certain chips if the GPIOs are improperly configured. This sort of power management measure becomes particularly important on USB devices, where there is often not enough power available on the USB bus to have both the analog components and the digital components powered up at the same time.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes external chips can be enabled/disabled via GPIO. saa7134-based cardbus devices often have the tuner chip disabled, it's impossible to see the device on the i2c bus without waking it up by programming the correct GPIO pin. Probably done to power-down the tuner when unused for a longer battery life. For example, the Terratec Cinergy 400TV mobile uses GPIO 18 to switch the tuner on (0) or off (1). &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes external chips can be enabled/disabled via GPIO. saa7134-based cardbus devices often have the tuner chip disabled, it's impossible to see the device on the i2c bus without waking it up by programming the correct GPIO pin. Probably done to power-down the tuner when unused for a longer battery life. For example, the Terratec Cinergy 400TV mobile uses GPIO 18 to switch the tuner on (0) or off (1). &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Other common uses of GPIO pins include connecting it to the power supply on a board to cut off power to certain &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;peripherial &lt;/del&gt;components, or controlling whether a low noise amplifier (LNA) connected to the tuner is enabled.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Other common uses of GPIO pins include connecting it to the power supply on a board to cut off power to certain &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;peripheral &lt;/ins&gt;components, or controlling whether a low noise amplifier (LNA) connected to the tuner is enabled.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* It's also noteworthy that some of the GPIO lines can be used to trigger interrupts i.e. the video chip can raise an IRQ on the PCI bus on GPIO state changes.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* It's also noteworthy that some of the GPIO lines can be used to trigger interrupts i.e. the video chip can raise an IRQ on the PCI bus on GPIO state changes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:27090:newid:27091 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27090&amp;oldid=prev</id>
		<title>CityK: add the info from the wikipedia article (some of it is currently in verbatim, while others parts I have parsed/altered accordingly); other minor changes</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27090&amp;oldid=prev"/>
				<updated>2010-04-18T17:35:49Z</updated>
		
		<summary type="html">&lt;p&gt;add the info from the wikipedia article (some of it is currently in verbatim, while others parts I have parsed/altered accordingly); other minor changes&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 17:35, 18 April 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A GPIO pin on an IC is typically connected to some other chip, and performs some function by changing its state. GPIO pins can be configured to be “high” or “low” when in output mode, or you can read the current state as high or low when configured for input mode. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;A GPIO pin on an IC is typically connected to some other chip, and performs some function by changing its state. GPIO pins can be configured to be “high” or “low” when in output mode, or you can read the current state as high or low when configured for input mode. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''also see &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;wikipedia article for info that should &lt;/del&gt;be &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;parsed &lt;/del&gt;into &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;this section''&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;GPIO pins on an IC can act as either an:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* input - to read digital signals from a circuit&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* output - to control or signal other devices attached to &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;IC. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Usually each GPIO pin is individually configurable as either an input or output -- each pin can &lt;/ins&gt;be &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;setup flexibly to accept or source different logic voltages, with configurable drive strengths and pull up/downs. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;In others cases, GPIOs are arranged &lt;/ins&gt;into &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;very simple groups, typically of 8 pins – known as a GPIO port - that can be switched as a group to either input or output.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The input and output voltages are typically, though not universally limited to the supply voltage of the device with the GPIOs on, and may be damaged by greater voltages.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Some GPIOs have 5V tolerant inputs - even on low supply voltages (2V), the device can accept 5V without damage.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;In some cases, GPIOs may be configurable to produce CPU interrupts and be able to use Direct Memory Access to move large quantities of data efficiently into or out of the device.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==GPIO pins within the context of V4L-DVB devices==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==GPIO pins within the context of V4L-DVB devices==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 59:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 66:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;====GPIOs of BT8x8====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;====GPIOs of BT8x8====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Here's how to program gpio for card definitions inside bttv-cards.c using RegSpy&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, included with DScaler - http://dscaler&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;org&amp;nbsp; Another &lt;/del&gt;utility &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;that can come in &lt;/del&gt;handy during this process &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is BtSpy - http://btwincap.sourceforge.net/custom&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;html&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Here's how to program gpio for card definitions inside bttv-cards.c using RegSpy. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The BtSpy &lt;/ins&gt;utility &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;is also &lt;/ins&gt;handy during this process.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Attach RegSpy to your TV App. Switch some channels around in analog video mode. Take note of the following values:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Attach RegSpy to your TV App. Switch some channels around in analog video mode. Take note of the following values:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 106:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 113:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;====GPIOs of CX2388x====&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;====GPIOs of CX2388x====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To program gpio for card definitions inside cx88-cards.c &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;using RegSpy, included with DScaler - http://dscaler.org &lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Follow &lt;/del&gt;the directions above for &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the &lt;/del&gt;bt8xx cards&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/del&gt;but you'll want to consider a different set of values, namely MO_GPx_IO (x=0 to 3).&amp;nbsp; The relevant part of RegSpy's output will look basically like this:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;To program gpio for card definitions inside cx88-cards.c , &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;follow &lt;/ins&gt;the directions above for &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;using RegSpy with &lt;/ins&gt;bt8xx cards but you'll want to consider a different set of values, namely MO_GPx_IO (x=0 to 3).&amp;nbsp; The relevant part of RegSpy's output will look basically like this:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp; MO_GP0_IO:&amp;nbsp; &amp;nbsp;  000000ff&amp;nbsp;  (00000000 00000000 00000000 11111111)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;nbsp; MO_GP0_IO:&amp;nbsp; &amp;nbsp;  000000ff&amp;nbsp;  (00000000 00000000 00000000 11111111)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:27058:newid:27090 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27058&amp;oldid=prev</id>
		<title>CityK: /* GPIO pins within the context of V4L-DVB devices */ minor arrangement</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27058&amp;oldid=prev"/>
				<updated>2010-04-12T22:16:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;GPIO pins within the context of V4L-DVB devices: &lt;/span&gt; minor arrangement&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 22:16, 12 April 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==GPIO pins within the context of V4L-DVB devices==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;==GPIO pins within the context of V4L-DVB devices==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It is quite common for the [[interface chipsets|interface chipset]] of a V4L-DVB device to be equipped with GPIO pins.&amp;nbsp; &amp;nbsp; For example,&amp;nbsp; interface chipsets/Video decoder chips like the [[NXP SAA713x Family|SAA713x]] or the&amp;nbsp; [[PCI_interface_chipsets_used_for_v4l_cards|BT8x8]] have a number of I/O pins that are not used by the video decoder itself.&amp;nbsp; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;In practical terms, for tuner products, it is pretty rare for GPIO pins to be configured as inputs. [Side note: a related terminology to GPIO is GPO – which stands for “General Purpose Output” and is the same thing as a GPIO but functions as output only]. &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It is quite common for the [[interface chipsets|interface chipset]] of a V4L-DVB device to be equipped with GPIO pins.&amp;nbsp; &amp;nbsp; For example,&amp;nbsp; interface chipsets/Video decoder chips like the [[NXP SAA713x Family|SAA713x]] or the&amp;nbsp; [[PCI_interface_chipsets_used_for_v4l_cards|BT8x8]] have a number of I/O pins that are not used by the video decoder itself.&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Typically what the GPIO pins are used for: &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Typically what the GPIO pins are used for: &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* It's also noteworthy that some of the GPIO lines can be used to trigger interrupts i.e. the video chip can raise an IRQ on the PCI bus on GPIO state changes.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* It's also noteworthy that some of the GPIO lines can be used to trigger interrupts i.e. the video chip can raise an IRQ on the PCI bus on GPIO state changes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This list likely isn't complete, but it should give an idea what GPIO pins are used for in the context of V4L-DVB devices.&amp;nbsp; Also keep in mind that the GPIO pins might be completely unused -- it's a choice entirely up to the device manufacturer.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This list likely isn't complete, but it should give an idea what GPIO pins are used for in the context of V4L-DVB devices.&amp;nbsp; Also keep in mind that the GPIO pins might be completely unused -- it's a choice entirely up to the device manufacturer&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;.&amp;nbsp; Note: In practical terms, for tuner products, it is pretty rare for GPIO pins to be configured as inputs. [Side note: a related terminology to GPIO is GPO – which stands for “General Purpose Output” and is the same thing as a GPIO but functions as output only]&lt;/ins&gt;. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Programming GPIO pins===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Programming GPIO pins===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:27057:newid:27058 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	<entry>
		<id>http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27057&amp;oldid=prev</id>
		<title>CityK: /* GPIO pins within the context of V4L-DVB devices */ minor edits</title>
		<link rel="alternate" type="text/html" href="http://www.linuxtv.org/wiki/index.php?title=GPIO_pins&amp;diff=27057&amp;oldid=prev"/>
				<updated>2010-04-12T22:13:01Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;GPIO pins within the context of V4L-DVB devices: &lt;/span&gt; minor edits&lt;/p&gt;
&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 22:13, 12 April 2010&lt;/td&gt;
		&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* IR receiver chips are also often connected via GPIO pins (though, thats not the only way, as [[I²C Protocol|I²C]] is common as well, and some inferface chipsets, like the cx2388x, have built-in support for IR signal sampling). &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* IR receiver chips are also often connected via GPIO pins (though, thats not the only way, as [[I²C Protocol|I²C]] is common as well, and some inferface chipsets, like the cx2388x, have built-in support for IR signal sampling). &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes it is possible to reset external chips via GPIO. For example, bt878-designs with a msp34xx audio processor usually have the msp34xx reset line linked to one of the GPIO pins.&amp;nbsp; As another example, in the case of the [[Hauppauge WinTV-HVR-950]] device, one of the GPIO pins on its em28xx bridge is connected to the “RESET” pin on the xc3028 tuner. Setting the state of the GPIO pin to low momentarily and then high again has the effect of resetting the chip to a known state. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes it is possible to reset external chips via GPIO. For example, bt878-designs with a msp34xx audio processor usually have the msp34xx reset line linked to one of the GPIO pins.&amp;nbsp; As another example, in the case of the [[Hauppauge WinTV-HVR-950]] device, one of the GPIO pins on its em28xx bridge is connected to the “RESET” pin on the xc3028 tuner. Setting the state of the GPIO pin to low momentarily and then high again has the effect of resetting the chip to a known state. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;br&amp;gt; &lt;/ins&gt;It’s also worth noting that holding a chip in reset is often done as a power management measure, which is why you can see driver problems communicating with certain chips if the GPIOs are improperly configured. This sort of power management measure becomes particularly important on USB devices, where there is often not enough power available on the USB bus to have both the analog components and the digital components powered up at the same time.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;It’s also worth noting that holding a chip in reset is often done as a power management measure, which is why you can see driver problems communicating with certain chips if the GPIOs are improperly configured. This sort of power management measure becomes particularly important on USB devices, where there is often not enough power available on the USB bus to have both the analog components and the digital components powered up at the same time.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes external chips can be enabled/disabled via GPIO. saa7134-based cardbus devices often have the tuner chip disabled, it's impossible to see the device on the i2c bus without waking it up by programming the correct GPIO pin. Probably done to power-down the tuner when unused for a longer battery life. For example, the Terratec Cinergy 400TV mobile uses GPIO 18 to switch the tuner on (0) or off (1). &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Sometimes external chips can be enabled/disabled via GPIO. saa7134-based cardbus devices often have the tuner chip disabled, it's impossible to see the device on the i2c bus without waking it up by programming the correct GPIO pin. Probably done to power-down the tuner when unused for a longer battery life. For example, the Terratec Cinergy 400TV mobile uses GPIO 18 to switch the tuner on (0) or off (1). &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 27:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Programming GPIO pins===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;===Programming GPIO pins===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Unused Pins are usually programmed as inputs.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;GPIOs can not be &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;read_from&lt;/ins&gt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;written_to &lt;/ins&gt;from user space. There is no IOCTL for them. They can only be used from within the kernel driver.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;These &lt;/del&gt;GPIOs can not be &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;read&lt;/del&gt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;written &lt;/del&gt;from user space. There is no IOCTL for them. They can only be used from within the kernel driver.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Because each device manufacturer can do with GPIO pins whatever they want, it is hard to answer questions like &amp;quot;What do I have to fill into these GPIO fields when adding a new card?&amp;quot;, because there simply is no general answer to that question;&amp;nbsp; it completely depends on the board design. Some hopefully useful hints: &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Because each device manufacturer can do with GPIO pins whatever they want, it is hard to answer questions like &amp;quot;What do I have to fill into these GPIO fields when adding a new card?&amp;quot;, because there simply is no general answer to that question;&amp;nbsp; it completely depends on the board design. Some hopefully useful hints: &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* First ignore them completely. Especially with non-bt878 cards (saa7134, cx88 drivers) they might not be used at all or at least not needed for the basic functionality of the board. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* First&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;ignore them completely. Especially with non-bt878 cards (saa7134, cx88 drivers) they might not be used at all or at least not needed for the basic functionality of the board. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Failing that check out whenever there are already entries for other cards from the same vendor and try these settings. Vendors usually don't redesign everything from scratch for a new card, so chances are good that a identical or very similar configuration works fine. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Failing that check out whenever there are already entries for other cards from the same vendor and try these settings. Vendors usually don't redesign everything from scratch for a new card, so chances are good that a identical or very similar configuration works fine. &amp;nbsp;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;* Unused Pins are usually programmed as inputs.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;vertical-align:top; margin:0; border:1px solid #6289AB; padding:0.5em; background-color:#ffffff&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;div style=&amp;quot;vertical-align:top; margin:0; border:1px solid #6289AB; padding:0.5em; background-color:#ffffff&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key linuxtv-wikidb:diff:version:1.11a:oldid:27056:newid:27057 --&gt;
&lt;/table&gt;</summary>
		<author><name>CityK</name></author>	</entry>

	</feed>