<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.voipac.com/index.php?action=history&amp;feed=atom&amp;title=i.MX53_SODIMM_GPIO</id>
	<title>i.MX53 SODIMM GPIO - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.voipac.com/index.php?action=history&amp;feed=atom&amp;title=i.MX53_SODIMM_GPIO"/>
	<link rel="alternate" type="text/html" href="https://wiki.voipac.com/index.php?title=i.MX53_SODIMM_GPIO&amp;action=history"/>
	<updated>2026-05-06T12:33:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.voipac.com/index.php?title=i.MX53_SODIMM_GPIO&amp;diff=2976&amp;oldid=prev</id>
		<title>Voipac at 20:49, 23 October 2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.voipac.com/index.php?title=i.MX53_SODIMM_GPIO&amp;diff=2976&amp;oldid=prev"/>
		<updated>2021-10-23T20:49:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:49, 23 October 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:i.MX53 SODIMM PC - Development &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;kit&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:i.MX53 SODIMM PC - Development &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Kit&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-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:i.MX53 SODIMM PC Peripherals]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:i.MX53 SODIMM PC Peripherals]]&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-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!-- --&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Voipac</name></author>
	</entry>
	<entry>
		<id>https://wiki.voipac.com/index.php?title=i.MX53_SODIMM_GPIO&amp;diff=1333&amp;oldid=prev</id>
		<title>Voipac at 16:56, 3 April 2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.voipac.com/index.php?title=i.MX53_SODIMM_GPIO&amp;diff=1333&amp;oldid=prev"/>
		<updated>2021-04-03T16:56:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:56, 3 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l257&quot; &gt;Line 257:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 257:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;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-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Printing current state (brightness) of output signals:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Printing &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the &lt;/ins&gt;current state (brightness) of output signals:&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-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;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-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;root@vmx53 ~$ for i in /sys/class/leds/output-*/ ; do value=$(cat ${i}/brightness); echo $(basename ${i}) :: ${value}; done  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;root@vmx53 ~$ for i in /sys/class/leds/output-*/ ; do value=$(cat ${i}/brightness); echo $(basename ${i}) :: ${value}; done  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Voipac</name></author>
	</entry>
	<entry>
		<id>https://wiki.voipac.com/index.php?title=i.MX53_SODIMM_GPIO&amp;diff=1332&amp;oldid=prev</id>
		<title>Voipac at 16:52, 3 April 2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.voipac.com/index.php?title=i.MX53_SODIMM_GPIO&amp;diff=1332&amp;oldid=prev"/>
		<updated>2021-04-03T16:52:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:52, 3 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l73&quot; &gt;Line 73:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 73:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;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-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Then the &lt;/del&gt;GPIO accessible from CSI0_DAT13 pin is available at this number:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GPIO accessible from CSI0_DAT13 pin is available at this number:&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-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;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-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GPIO_NUMBER = MX53_PAD_CSI0_DAT13__GPIO5_31 = 5_31 = (5-1)*32+31 = 4*32+31 = 159&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GPIO_NUMBER = MX53_PAD_CSI0_DAT13__GPIO5_31 = 5_31 = (5-1)*32+31 = 4*32+31 = 159&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Voipac</name></author>
	</entry>
	<entry>
		<id>https://wiki.voipac.com/index.php?title=i.MX53_SODIMM_GPIO&amp;diff=1331&amp;oldid=prev</id>
		<title>Voipac: Created page with &quot;Category:i.MX53 SODIMM PC - Development kit Category:i.MX53 SODIMM PC Peripherals &lt;!-- --&gt; &lt;div style=&quot;float:right&quot;&gt;__TOC__&lt;/div&gt;  == Locating configuration file ==  T...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.voipac.com/index.php?title=i.MX53_SODIMM_GPIO&amp;diff=1331&amp;oldid=prev"/>
		<updated>2021-04-03T16:50:56Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/index.php?title=Category:i.MX53_SODIMM_PC_-_Development_kit&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:i.MX53 SODIMM PC - Development kit (page does not exist)&quot;&gt;Category:i.MX53 SODIMM PC - Development kit&lt;/a&gt; &lt;a href=&quot;/index.php?title=Category:i.MX53_SODIMM_PC_Peripherals&quot; title=&quot;Category:i.MX53 SODIMM PC Peripherals&quot;&gt;Category:i.MX53 SODIMM PC Peripherals&lt;/a&gt; &amp;lt;!-- --&amp;gt; &amp;lt;div style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;  == Locating configuration file ==  T...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:i.MX53 SODIMM PC - Development kit]]&lt;br /&gt;
[[Category:i.MX53 SODIMM PC Peripherals]]&lt;br /&gt;
&amp;lt;!-- --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Locating configuration file ==&lt;br /&gt;
&lt;br /&gt;
The initial CPU configuration is part the following device tree source file:&lt;br /&gt;
* arch/arm/boot/dts/imx53.dtsi&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Shared module configuration can be found in the following file:&lt;br /&gt;
* arch/arm/boot/dts/imx53-vmx53.dtsi&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
The specific module configuration customised for i.MX53 SODIMM PC Module is part of these device tree source files:&lt;br /&gt;
* i.MX53 SODIMM PC Module Max: arch/arm/boot/dts/imx53-vmx53-557.dts&lt;br /&gt;
* i.MX53 SODIMM PC Module Pro: arch/arm/boot/dts/imx53-vmx53-668.dts&lt;br /&gt;
* i.MX53 SODIMM PC Module Basic: arch/arm/boot/dts/imx53-vmx53-779.dts&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''Note:''''' In most cases just a single file edit is needed to apply modifications.&lt;br /&gt;
&lt;br /&gt;
== Definition of configuration macros ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAD_CTL_HVE                     (1 &amp;lt;&amp;lt; 13)&lt;br /&gt;
PAD_CTL_HYS                     (1 &amp;lt;&amp;lt; 8)&lt;br /&gt;
PAD_CTL_PKE                     (1 &amp;lt;&amp;lt; 7)&lt;br /&gt;
PAD_CTL_PUE                     (1 &amp;lt;&amp;lt; 6)&lt;br /&gt;
PAD_CTL_PUS_100K_DOWN           (0 &amp;lt;&amp;lt; 4)&lt;br /&gt;
PAD_CTL_PUS_47K_UP              (1 &amp;lt;&amp;lt; 4)&lt;br /&gt;
PAD_CTL_PUS_100K_UP             (2 &amp;lt;&amp;lt; 4)&lt;br /&gt;
PAD_CTL_PUS_22K_UP              (3 &amp;lt;&amp;lt; 4)&lt;br /&gt;
PAD_CTL_ODE                     (1 &amp;lt;&amp;lt; 3)&lt;br /&gt;
PAD_CTL_DSE_LOW                 (0 &amp;lt;&amp;lt; 1)&lt;br /&gt;
PAD_CTL_DSE_MED                 (1 &amp;lt;&amp;lt; 1)&lt;br /&gt;
PAD_CTL_DSE_HIGH                (2 &amp;lt;&amp;lt; 1)&lt;br /&gt;
PAD_CTL_DSE_MAX                 (3 &amp;lt;&amp;lt; 1)&lt;br /&gt;
PAD_CTL_SRE_FAST                (1 &amp;lt;&amp;lt; 0)&lt;br /&gt;
PAD_CTL_SRE_SLOW		(0 &amp;lt;&amp;lt; 0)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Controlling GPIO signals using raw access ==&lt;br /&gt;
In this example signals CSI0_DAT12 - CSI0_DAT19 will be configured as GPIOs.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Note:''''' Make sure signals MX53_PAD_CSI0_DAT12_* up to MX53_PAD_CSI0_DAT19_* are set only once in all related device tree source files.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Device tree modification:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;iomuxc {&lt;br /&gt;
	pinctrl-names = &amp;quot;default&amp;quot;;&lt;br /&gt;
	pinctrl-0 = &amp;lt;&amp;amp;pinctrl_hog&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
	 imx53-vmx53 {&lt;br /&gt;
		 pinctrl_hog: hoggrp {&lt;br /&gt;
			 fsl,pins = &amp;lt;&lt;br /&gt;
                            MX53_PAD_CSI0_DAT12__GPIO5_30 0x80000000 // PAD default config&lt;br /&gt;
                            MX53_PAD_CSI0_DAT13__GPIO5_31 0x000000e0 // PKE + PUE + PUS_47K_UP + DSE_LOW + SRE_SLOW&lt;br /&gt;
                            MX53_PAD_CSI0_DAT14__GPIO6_0  0x00000100 // HYS + DSE_LOW + SRE_SLOW&lt;br /&gt;
                            MX53_PAD_CSI0_DAT15__GPIO6_1  0x000000c0 // PKE + PUE + PUS_100K_DOWN + DSE_LOW + SRE_SLOW&lt;br /&gt;
                            MX53_PAD_CSI0_DAT16__GPIO6_2  0x80000000 // PAD default config&lt;br /&gt;
                            MX53_PAD_CSI0_DAT17__GPIO6_3  0x80000000 // PAD default config&lt;br /&gt;
                            MX53_PAD_CSI0_DAT18__GPIO6_4  0x80000000 // PAD default config&lt;br /&gt;
                            MX53_PAD_CSI0_DAT19__GPIO6_5  0x80000000 // PAD default config&lt;br /&gt;
			 &amp;gt;;&lt;br /&gt;
		};&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing the modifications ===&lt;br /&gt;
&lt;br /&gt;
==== Calculating GPIO number ====&lt;br /&gt;
GPIO pin numbering follows this general equation:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GPIO_NUMBER = MX53_PAD_NAME__GPIOX_Y  = X_Y  = (X-1)*32+Y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then the GPIO accessible from CSI0_DAT13 pin is available at this number:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
GPIO_NUMBER = MX53_PAD_CSI0_DAT13__GPIO5_31 = 5_31 = (5-1)*32+31 = 4*32+31 = 159&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Setting GPIO as output ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
root@vmx53 ~$ echo 159 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@vmx53 ~$ echo out &amp;gt; /sys/class/gpio/gpio159/direction&lt;br /&gt;
root@vmx53 ~$ echo 0 &amp;gt; /sys/class/gpio/gpio159/value&lt;br /&gt;
#root@vmx53 ~$ echo 1 &amp;gt; /sys/class/gpio/gpio159/value&lt;br /&gt;
#root@vmx53 ~$ echo 159 &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Setting GPIO as input ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
root@vmx53 ~$ echo 159 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
root@vmx53 ~$ echo in &amp;gt; /sys/class/gpio/gpio159/direction&lt;br /&gt;
root@vmx53 ~$ cat /sys/class/gpio/gpio159/value&lt;br /&gt;
0&lt;br /&gt;
#root@vmx53 ~$ echo 159 &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Controlling GPIO signals using drivers ==&lt;br /&gt;
Signals will be set accordingly:&lt;br /&gt;
* pins CSI0_DAT12 - CSI0_DAT14 as input GPIOs&lt;br /&gt;
* pins CSI0_DAT15 - CSI0_DAT17 as output GPIOs&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''''Note:''''' Make sure signals MX53_PAD_CSI0_DAT12_* up to MX53_PAD_CSI0_DAT17_* are set only once in all related device tree source files.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Device tree modification:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;amp;iomuxc {&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
	 imx53-vmx53 {&lt;br /&gt;
        ...&lt;br /&gt;
&lt;br /&gt;
		 pinctrl_inp: inpgrp {&lt;br /&gt;
		         fsl,pins = &amp;lt;&lt;br /&gt;
                            MX53_PAD_CSI0_DAT12__GPIO5_30 0x80000000 // PAD default config&lt;br /&gt;
                            MX53_PAD_CSI0_DAT13__GPIO5_31 0x80000000 // PAD default config&lt;br /&gt;
                            MX53_PAD_CSI0_DAT14__GPIO6_0  0x80000000 // PAD default config&lt;br /&gt;
		 	&amp;gt;;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
	 	pinctrl_out: outgrp {&lt;br /&gt;
			 fsl,pins = &amp;lt;&lt;br /&gt;
                            MX53_PAD_CSI0_DAT15__GPIO6_1  0x80000000 // PAD default config&lt;br /&gt;
                            MX53_PAD_CSI0_DAT16__GPIO6_2  0x80000000 // PAD default config&lt;br /&gt;
                            MX53_PAD_CSI0_DAT17__GPIO6_3  0x80000000 // PAD default config&lt;br /&gt;
			&amp;gt;;&lt;br /&gt;
		};&lt;br /&gt;
        ...&lt;br /&gt;
        };&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input signals ===&lt;br /&gt;
==== Adding GPIO kernel module ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
    Device Drivers  ---&amp;gt; &lt;br /&gt;
        Input device support  ---&amp;gt; &lt;br /&gt;
	    [*]   Keyboards  ---&amp;gt;&lt;br /&gt;
                &amp;lt;*&amp;gt;   GPIO Buttons&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Altering input sources in the device tree ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/ {&lt;br /&gt;
    ...&lt;br /&gt;
&lt;br /&gt;
	inputs {&lt;br /&gt;
            compatible = &amp;quot;gpio-keys&amp;quot;;&lt;br /&gt;
            #address-cells = &amp;lt;1&amp;gt;;&lt;br /&gt;
            #size-cells = &amp;lt;0&amp;gt;;&lt;br /&gt;
            autorepeat;&lt;br /&gt;
&lt;br /&gt;
		input@0 {&lt;br /&gt;
			label = &amp;quot;input-0&amp;quot;;&lt;br /&gt;
			gpios = &amp;lt;&amp;amp;gpio5 30 GPIO_ACTIVE_HIGH&amp;gt;;&lt;br /&gt;
			linux,code = &amp;lt;0x100&amp;gt;; // BTN_0&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		input@1 {&lt;br /&gt;
			label = &amp;quot;input-1&amp;quot;;&lt;br /&gt;
			gpios = &amp;lt;&amp;amp;gpio5 31 GPIO_ACTIVE_HIGH&amp;gt;;&lt;br /&gt;
			linux,code = &amp;lt;0x101&amp;gt;; // BTN_1&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		input@2 {&lt;br /&gt;
			label = &amp;quot;input-2&amp;quot;;&lt;br /&gt;
			gpios = &amp;lt;&amp;amp;gpio6 0 GPIO_ACTIVE_HIGH&amp;gt;;&lt;br /&gt;
			linux,code = &amp;lt;0x102&amp;gt;; // BTN_2&lt;br /&gt;
		};&lt;br /&gt;
	};&lt;br /&gt;
    ...&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testing the modifications ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
root@vmx53 ~$ evtest /dev/input/event4&lt;br /&gt;
Input driver version is 1.0.1&lt;br /&gt;
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100&lt;br /&gt;
Input device name: &amp;quot;inputs.12&amp;quot;&lt;br /&gt;
Supported events:&lt;br /&gt;
  Event type 0 (EV_SYN)&lt;br /&gt;
  Event type 1 (EV_KEY)&lt;br /&gt;
    Event code 256 (BTN_0)&lt;br /&gt;
    Event code 257 (BTN_1)&lt;br /&gt;
    Event code 258 (BTN_2)&lt;br /&gt;
Properties:&lt;br /&gt;
  Property type 20 (EV_REP)&lt;br /&gt;
    Property code 0 (REP_DELAY)&lt;br /&gt;
      Value    250&lt;br /&gt;
    Property code 1 (REP_PERIOD)&lt;br /&gt;
      Value     33&lt;br /&gt;
Testing ... (interrupt to exit)&lt;br /&gt;
Event: time 946946772.718139, type 1 (EV_KEY), code 256 (BTN_0), value 1&lt;br /&gt;
Event: time 946946772.718139, -------------- SYN_REPORT ------------&lt;br /&gt;
Event: time 946946772.968114, type 1 (EV_KEY), code 256 (BTN_0), value 2&lt;br /&gt;
Event: time 946946772.968114, -------------- SYN_REPORT ------------&lt;br /&gt;
Event: time 946946773.008115, type 1 (EV_KEY), code 256 (BTN_0), value 2&lt;br /&gt;
Event: time 946946773.008115, -------------- SYN_REPORT ------------&lt;br /&gt;
Event: time 946946773.018134, type 1 (EV_KEY), code 256 (BTN_0), value 0&lt;br /&gt;
Event: time 946946773.018134, -------------- SYN_REPORT ------------&lt;br /&gt;
Event: time 946946786.688130, type 1 (EV_KEY), code 256 (BTN_0), value 1&lt;br /&gt;
Event: time 946946786.688130, -------------- SYN_REPORT ------------&lt;br /&gt;
Event: time 946946786.908131, type 1 (EV_KEY), code 256 (BTN_0), value 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Output signals ===&lt;br /&gt;
==== Adding GPIO kernel module ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
    Device Drivers  ---&amp;gt; &lt;br /&gt;
        [*] LED Support  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt;   LED Class Support&lt;br /&gt;
            &amp;lt;*&amp;gt;   LED Support for GPIO connected LEDs&lt;br /&gt;
            [*]   LED Trigger support  ---&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Altering output sources in the device tree ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
/ {&lt;br /&gt;
    ...&lt;br /&gt;
	outputs {&lt;br /&gt;
		compatible = &amp;quot;gpio-leds&amp;quot;;&lt;br /&gt;
		pinctrl-names = &amp;quot;default&amp;quot;;&lt;br /&gt;
		pinctrl-0 = &amp;lt;&amp;amp;pinctrl_out&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
		output@0 {&lt;br /&gt;
			label = &amp;quot;output-0&amp;quot;;&lt;br /&gt;
			gpios = &amp;lt;&amp;amp;gpio6 1 GPIO_ACTIVE_HIGH&amp;gt;;&lt;br /&gt;
			default-state = &amp;quot;keep&amp;quot;;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		output@1 {&lt;br /&gt;
			label = &amp;quot;output-1&amp;quot;;&lt;br /&gt;
			gpios = &amp;lt;&amp;amp;gpio6 2 GPIO_ACTIVE_HIGH&amp;gt;;&lt;br /&gt;
			default-state = &amp;quot;on&amp;quot;;&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
		output@2 {&lt;br /&gt;
			label = &amp;quot;output-2&amp;quot;;&lt;br /&gt;
			gpios = &amp;lt;&amp;amp;gpio6 3 GPIO_ACTIVE_HIGH&amp;gt;;&lt;br /&gt;
			default-state = &amp;quot;off&amp;quot;;&lt;br /&gt;
		};&lt;br /&gt;
	};&lt;br /&gt;
    ...&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Testing the modifications ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
root@vmx53 ~$ cat /sys/class/leds/output-0/trigger &lt;br /&gt;
[none] nand-disk mmc0 mmc1 timer heartbeat backlight gpio default-on &lt;br /&gt;
root@vmx53 ~$ cat /sys/class/leds/output-0/brightness &lt;br /&gt;
0&lt;br /&gt;
root@vmx53 ~$ echo 255 &amp;gt; /sys/class/leds/output-0/brightness # On&lt;br /&gt;
root@vmx53 ~$ echo 0 &amp;gt; /sys/class/leds/output-0/brightness # Off&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Printing current state (brightness) of output signals:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
root@vmx53 ~$ for i in /sys/class/leds/output-*/ ; do value=$(cat ${i}/brightness); echo $(basename ${i}) :: ${value}; done &lt;br /&gt;
output-0 :: 0&lt;br /&gt;
output-1 :: 255&lt;br /&gt;
output-2 :: 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
root@vmx53 ~$ mount -t debugfs none /sys/kernel/debug&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
root@vmx53 ~$ cat /sys/kernel/debug/gpio&lt;br /&gt;
GPIOs 0-31, platform/53f84000.gpio, 53f84000.gpio:&lt;br /&gt;
 gpio-7   (usbotg_vbus         ) out lo&lt;br /&gt;
&lt;br /&gt;
GPIOs 32-63, platform/53f88000.gpio, 53f88000.gpio:&lt;br /&gt;
 gpio-48  (spi_imx             ) out lo&lt;br /&gt;
 gpio-49  (spi_imx             ) out lo&lt;br /&gt;
 gpio-52  (ads7846_pendown     ) in  hi&lt;br /&gt;
 gpio-62  (spi_imx             ) out lo&lt;br /&gt;
&lt;br /&gt;
GPIOs 64-95, platform/53f8c000.gpio, 53f8c000.gpio:&lt;br /&gt;
 gpio-83  (spi_imx             ) out lo&lt;br /&gt;
 gpio-88  (50004000.esdhc cd   ) in  hi&lt;br /&gt;
 gpio-89  (50008000.esdhc cd   ) in  hi&lt;br /&gt;
 gpio-93  (led-red             ) out lo&lt;br /&gt;
 gpio-95  (usbh1_vbus          ) out lo&lt;br /&gt;
&lt;br /&gt;
GPIOs 96-127, platform/53f90000.gpio, 53f90000.gpio:&lt;br /&gt;
&lt;br /&gt;
GPIOs 128-159, platform/53fdc000.gpio, 53fdc000.gpio:&lt;br /&gt;
 gpio-132 (LCD PEN             ) out lo&lt;br /&gt;
 gpio-158 (input-0             ) in  lo&lt;br /&gt;
 gpio-159 (input-1             ) in  lo&lt;br /&gt;
&lt;br /&gt;
GPIOs 160-191, platform/53fe0000.gpio, 53fe0000.gpio:&lt;br /&gt;
 gpio-160 (input-2             ) in  lo&lt;br /&gt;
 gpio-161 (output-0            ) out lo&lt;br /&gt;
 gpio-162 (output-1            ) out lo&lt;br /&gt;
 gpio-163 (output-2            ) out lo&lt;br /&gt;
&lt;br /&gt;
GPIOs 192-223, platform/53fe4000.gpio, 53fe4000.gpio:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Voipac</name></author>
	</entry>
</feed>