<?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=How_to_use_GPIO_for_RSB-4710</id>
		<title>How to use GPIO for RSB-4710 - 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=How_to_use_GPIO_for_RSB-4710"/>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=How_to_use_GPIO_for_RSB-4710&amp;action=history"/>
		<updated>2026-04-20T00:01:09Z</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=How_to_use_GPIO_for_RSB-4710&amp;diff=37022&amp;oldid=prev</id>
		<title>Xingxing.li: Created page with &quot; == '''Configuration''' ==  The RK3399 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 of GPIO&amp;nbsp;is calculated...&quot;</title>
		<link rel="alternate" type="text/html" href="https://ess-wiki.advantech.com.tw/wiki/index.php?title=How_to_use_GPIO_for_RSB-4710&amp;diff=37022&amp;oldid=prev"/>
				<updated>2024-09-25T01:48:43Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot; == &amp;#039;&amp;#039;&amp;#039;Configuration&amp;#039;&amp;#039;&amp;#039; ==  The RK3399 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 of GPIO is calculated...&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''' ==&lt;br /&gt;
&lt;br /&gt;
The RK3399 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&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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_B0&amp;amp;nbsp;becomes 72&lt;br /&gt;
&lt;br /&gt;
== '''RSB-4710''' ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; style=&amp;quot;width: 500px;&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;
| GPIO1&lt;br /&gt;
| GPIO2_B0&lt;br /&gt;
| 72&lt;br /&gt;
|-&lt;br /&gt;
| GPIO2&lt;br /&gt;
| GPIO1_C2&lt;br /&gt;
| 50&lt;br /&gt;
|-&lt;br /&gt;
| GPIO4&lt;br /&gt;
| GPIO3_D4&lt;br /&gt;
| 124&lt;br /&gt;
|-&lt;br /&gt;
| GPIO5&lt;br /&gt;
| GPIO4_A4&lt;br /&gt;
| 132&lt;br /&gt;
|-&lt;br /&gt;
| GPIO6&lt;br /&gt;
| GPIO0_B0&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== '''TEST''' ==&lt;br /&gt;
&lt;br /&gt;
'''Export GPIO in order to use control GPIO from the user space through sysfs.'''&lt;br /&gt;
&lt;br /&gt;
Export GPIO1.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 72 &amp;gt; /sys/class/gpio/export&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/gpio72/direction&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/gpio72/value&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/gpio72/edge&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*rising: Trigger on rising edge&amp;amp;nbsp; &lt;br /&gt;
*&amp;amp;nbsp;falling: Trigger on falling edge &lt;br /&gt;
*&amp;amp;nbsp;both: Trigger on both edges &lt;br /&gt;
*&amp;amp;nbsp;none: Disable interrupt on both edges &lt;br /&gt;
&lt;br /&gt;
Unexport GPIO1.&lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 72 &amp;gt; /sys/class/gpio/unexport&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''GPIO 1 and GPIO 2 are taken as an example:'''&lt;br /&gt;
&lt;br /&gt;
*Connect GPIO 1 and GPIO 2. &lt;br /&gt;
*Export GPIO 1 and GPIO 2. &lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 72 &amp;gt; /sys/class/gpio/export&lt;br /&gt;
$ echo 50 &amp;gt; /sys/class/gpio/export&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Set GPIO 1 to output. &lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo &amp;quot;out&amp;quot; &amp;gt; /sys/class/gpio/gpio72/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Set GPIO 2 to input &lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo &amp;quot;in&amp;quot; &amp;gt; /sys/class/gpio/gpio50/direction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Change GPIO 1 to 1 and read GPIO 2 value &lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 1 &amp;gt; /sys/class/gpio/gpio72/value&lt;br /&gt;
$ cat /sys/class/gpio/gpio50/value &lt;br /&gt;
1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Change GPIO 1&amp;amp;nbsp;to 0 and read GPIO 2&amp;amp;nbsp;value &lt;br /&gt;
&amp;lt;pre&amp;gt;$ echo 0 &amp;gt; /sys/class/gpio/gpio72/value&lt;br /&gt;
$ cat /sys/class/gpio/gpio50/value &lt;br /&gt;
0&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Xingxing.li</name></author>	</entry>

	</feed>