<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?action=history&amp;feed=atom&amp;title=RSB-4680_How_to_use_GPIO.</id>
		<title>RSB-4680 How to use GPIO. - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://ess-wiki.advantech.com.tw/wiki/index.php?action=history&amp;feed=atom&amp;title=RSB-4680_How_to_use_GPIO."/>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=RSB-4680_How_to_use_GPIO.&amp;action=history"/>
		<updated>2026-05-30T13:29:24Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.28.3</generator>

	<entry>
		<id>https://ess-wiki.advantech.com.tw/wiki/index.php?title=RSB-4680_How_to_use_GPIO.&amp;diff=33575&amp;oldid=prev</id>
		<title>Xingxing.li: Created page with &quot; === Configuration/Test ===  ==== Configuration ====  The RK3288 bank/bit notation for GPIOs must be formed&amp;nbsp;as&amp;nbsp;&quot;GPIO&lt;GPIO_bank&gt;_&lt;gpio_bit&gt;&quot;&amp;nbsp;  The numeric value...&quot;</title>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=RSB-4680_How_to_use_GPIO.&amp;diff=33575&amp;oldid=prev"/>
				<updated>2024-01-16T02:24:37Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot; === Configuration/Test ===  ==== Configuration ====  The RK3288 bank/bit notation for GPIOs must be formed as &amp;quot;GPIO&amp;lt;GPIO_bank&amp;gt;_&amp;lt;gpio_bit&amp;gt;&amp;quot;   The numeric value...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
=== Configuration/Test ===&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
&lt;br /&gt;
The RK3288 bank/bit notation for GPIOs must be formed&amp;amp;nbsp;as&amp;amp;nbsp;&amp;quot;GPIO&amp;lt;GPIO_bank&amp;gt;_&amp;lt;gpio_bit&amp;gt;&amp;quot;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
The numeric value of GPIO&amp;amp;nbsp;is calculated as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;32 x (gpio_bank) + gpio_bit - 8&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Group GPIO0 only 24 gpios,So each GPIO Num subtracts 8.&lt;br /&gt;
&lt;br /&gt;
gpio_bit&amp;amp;nbsp;: A0～A7 0-7 B0～B7 8-15 C0～C7 16-23 D0～D7 24-31&lt;br /&gt;
&lt;br /&gt;
E.g. GPIO2_A4 becomes 60&lt;br /&gt;
&lt;br /&gt;
RSB-4680&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| GPIO Number&lt;br /&gt;
| GPIO formed&lt;br /&gt;
| Numeric Representation&lt;br /&gt;
|-&lt;br /&gt;
| GPIO0&lt;br /&gt;
| GPIO7_A3&lt;br /&gt;
| 219&lt;br /&gt;
|-&lt;br /&gt;
| GPIO1&lt;br /&gt;
| GPIO7_A4&lt;br /&gt;
| 220&lt;br /&gt;
|-&lt;br /&gt;
| GPIO2&lt;br /&gt;
| GPIO7_A5&lt;br /&gt;
| 221&lt;br /&gt;
|-&lt;br /&gt;
| GPIO3&lt;br /&gt;
| GPIO7_C5&lt;br /&gt;
| 237&lt;br /&gt;
|-&lt;br /&gt;
| GPIO4&lt;br /&gt;
| GPIO8_A2&lt;br /&gt;
| 250&lt;br /&gt;
|-&lt;br /&gt;
| GPIO5&lt;br /&gt;
| GPIO8_A3&lt;br /&gt;
| 251&lt;br /&gt;
|-&lt;br /&gt;
| GPIO6&lt;br /&gt;
| GPIO8_A0&lt;br /&gt;
| 248&lt;br /&gt;
|-&lt;br /&gt;
| GPIO7&lt;br /&gt;
| GPIO8_A1&lt;br /&gt;
| 249&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Test&lt;br /&gt;
&lt;br /&gt;
Export GPIO then you can use control GPIO from userr space through sysfs&lt;br /&gt;
&lt;br /&gt;
Export GPIO0&lt;br /&gt;
&amp;lt;pre&amp;gt;# echo 219 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set GPIO direction to in/out&lt;br /&gt;
&amp;lt;pre&amp;gt;# echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio219/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set GPIO value 0/1 if GPIO pin define is output&lt;br /&gt;
&amp;lt;pre&amp;gt;#  echo 1 &amp;gt; /sys/class/gpio/gpio219/value&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used as IRQ signal&lt;br /&gt;
&lt;br /&gt;
Note:You have to configure GPIO to input&lt;br /&gt;
&amp;lt;pre&amp;gt;#  echo &amp;quot;rising&amp;quot; &amp;gt; /sys/class/gpio/gpio219/edge&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*rising: Trigger on rising edge &lt;br /&gt;
*falling: Trigger on falling edge &lt;br /&gt;
*both: Trigger on both edges &lt;br /&gt;
*none: Disable interrupt on both edges &lt;br /&gt;
&lt;br /&gt;
Unexport GPIO0&lt;br /&gt;
&amp;lt;pre&amp;gt;# echo 219 &amp;gt; /sys/class/gpio/unexport&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Test ====&lt;br /&gt;
&lt;br /&gt;
GPIO 219 and GPIO 220 are taken as an example:&lt;br /&gt;
&lt;br /&gt;
*Connect GPIO 219 and GPIO 220 &lt;br /&gt;
*Export GPIO 219 and GPIO 220 &lt;br /&gt;
&amp;lt;pre&amp;gt;# echo 219 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
# echo 220 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Set GPIO 219 to output &lt;br /&gt;
&amp;lt;pre&amp;gt;# echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio219/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Set GPIO 220 to input &lt;br /&gt;
&amp;lt;pre&amp;gt;# echo &amp;quot;in&amp;quot; &amp;gt; /sys/class/gpio/gpio220/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Change GPIO 219 to 1 and read GPIO 220 value &lt;br /&gt;
&amp;lt;pre&amp;gt;# echo 1 &amp;gt; /sys/class/gpio/gpio219/value&lt;br /&gt;
# cat /sys/class/gpio/gpio220/value&lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Change GPIO 219 to 0 and read GPIO 220 value &lt;br /&gt;
&amp;lt;pre&amp;gt;# echo 0 &amp;gt; /sys/class/gpio/gpio219/value&lt;br /&gt;
# cat /sys/class/gpio/gpio220/value&lt;br /&gt;
0&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xingxing.li</name></author>	</entry>

	</feed>