Add 'raspberrypi' connection type to HD44780 driver (by P. Corner).
This commit is contained in:
@@ -155,6 +155,12 @@ Last but not least, for special purposes, there are even more connection types:
|
||||
<link linkend="hd44780-ethlcd">ethlcd</link>:
|
||||
Display connected via TCP to PoE powered ethlcd device (<ulink url="http://manio.skyboo.net/ethlcd/"></ulink>)
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
<link linkend="hd44780-raspberrypi">raspberrypi</link>:
|
||||
LCD connected to the GPIO header of a Raspberry Pi
|
||||
</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
|
||||
@@ -2953,6 +2959,161 @@ software adjustable contrast and brightness (backlight).
|
||||
</sect3>
|
||||
|
||||
|
||||
<sect3 id="hd44780-raspberrypi">
|
||||
<title>Raspberry Pi</title>
|
||||
|
||||
<para>This connection type supports a single LCD connected to the GPIO header P1
|
||||
on a Raspberry Pi.</para>
|
||||
|
||||
<para>It supports a switchable backlight connected to pin P1-11 by default. Use
|
||||
the switch circuit as described in <xref linkend="hd44780-ftdi-backlight"/>.</para>
|
||||
|
||||
<warning>
|
||||
<para>The signal level on the GPIO pins is 3.3 V and they are said not to
|
||||
be 5 V tolerant. Therefore the R/W pin of the display <emphasis>must
|
||||
</emphasis> be wired to GND to prevent 5V logic appearing on the GPIO
|
||||
pins. For the same reason the backlight cicuit from <xref linkend=
|
||||
"hd44780-connections-backlight.circuit"/> <emphasis>must not</emphasis> be
|
||||
used.</para>
|
||||
<para>Powering a LCD that uses 5 V from pin P1-02 will work. Powering a
|
||||
LCD from 3.3 V (pin P1-01) will only work if it is designed for 3.3 V
|
||||
operation.</para>
|
||||
</warning>
|
||||
|
||||
<table id="hd44780-raspberrypi.pin-mapping">
|
||||
<title>HD44780: Default pin mapping for Raspberry Pi</title>
|
||||
<tgroup cols="5" align="left">
|
||||
<colspec colname="rp1"/>
|
||||
<colspec colname="rpi2" align="right"/>
|
||||
<colspec colname="base" align="center"/>
|
||||
<colspec colname="lcd1"/>
|
||||
<colspec colname="lcd2"/>
|
||||
<thead>
|
||||
<row>
|
||||
<entry namest="rpi1" nameend="rpi2" align="center">Connector</entry>
|
||||
<entry morerows="1"><-></entry>
|
||||
<entry namest="lcd1" nameend="lcd2" align="center">LCD</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>Pin Name</entry>
|
||||
<entry>Pin Number</entry>
|
||||
<entry>Name</entry>
|
||||
<entry>Pin</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry>GPIO18</entry>
|
||||
<entry>P1-12</entry>
|
||||
<entry></entry>
|
||||
<entry>D7</entry>
|
||||
<entry>14</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>GPIO23</entry>
|
||||
<entry>P1-16</entry>
|
||||
<entry></entry>
|
||||
<entry>D6</entry>
|
||||
<entry>13</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>GPIO24</entry>
|
||||
<entry>P1-18</entry>
|
||||
<entry></entry>
|
||||
<entry>D5</entry>
|
||||
<entry>12</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>GPIO25</entry>
|
||||
<entry>P1-22</entry>
|
||||
<entry></entry>
|
||||
<entry>D4</entry>
|
||||
<entry>11</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>GPIO08</entry>
|
||||
<entry>P1-24</entry>
|
||||
<entry></entry>
|
||||
<entry>EN</entry>
|
||||
<entry>6</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>GPIO07</entry>
|
||||
<entry>P1-26</entry>
|
||||
<entry></entry>
|
||||
<entry>RS</entry>
|
||||
<entry>4</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>GND</entry>
|
||||
<entry>P1-06</entry>
|
||||
<entry></entry>
|
||||
<entry>RW</entry>
|
||||
<entry>5</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>GPIO17</entry>
|
||||
<entry>P1-11</entry>
|
||||
<entry></entry>
|
||||
<entry>BL</entry>
|
||||
<entry>Backlight (optional)</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
||||
<para>GPIO07 and GPIO08 used for RS and EN signal are also used by the SPI
|
||||
bus. If you loaded the SPI driver you will need to assign them to a different
|
||||
GPIO, e.g. GPIO04 and GPIO22.</para>
|
||||
|
||||
<sect4 id="hd44780-raspberrypi-config">
|
||||
<title>Special Raspberry Pi configuration options</title>
|
||||
|
||||
<para>This connection driver can be configured to use other pins than the
|
||||
one described in <link linkend="hd44780-raspberrypi.pin-mapping">the table
|
||||
above</link>. Using the <literal> pin_<replaceable><name>
|
||||
</replaceable></literal> configuration option, any LCD pin can be assigned
|
||||
to any GPIO pin.</para>
|
||||
|
||||
<important>
|
||||
<para>The values for the <literal>pin_<replaceable><name>
|
||||
</replaceable></literal> configuration option are the number part from the
|
||||
GPIO signal name, not the pin number from the header connector! To find
|
||||
out which signal is routed to which connector pin refer to the <ulink url=
|
||||
"http://elinux.org/RPi_Low-level_peripherals">RPi Low-level peripherals</ulink>
|
||||
description.</para>
|
||||
</important>
|
||||
|
||||
<para>The connection driver contains a check for possible signal names. You
|
||||
will receive an error message if you try to assign a pin to a signal that is
|
||||
not available on connector P1 or P5.</para>
|
||||
|
||||
<example id="hd44780-raspberrypi-config.example">
|
||||
<title>HD44780: Alternate configuration for Raspberry Pi GPIO pins</title>
|
||||
<screen>
|
||||
<![CDATA[
|
||||
[hd44780]
|
||||
ConnectionType=raspberrypi
|
||||
Backlight=yes
|
||||
Size=16x2
|
||||
|
||||
pin_D4=25
|
||||
pin_D5=24
|
||||
pin_D6=23
|
||||
pin_D7=18
|
||||
pin_EN=8
|
||||
pin_RS=7
|
||||
pin_BL=17
|
||||
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
|
||||
</sect4>
|
||||
|
||||
</sect3>
|
||||
|
||||
|
||||
</sect2>
|
||||
|
||||
|
||||
@@ -3008,6 +3169,7 @@ This can be done by specifying <option>--enable-drivers=all</option> or by inclu
|
||||
<term>
|
||||
<property>ConnectionType</property> =
|
||||
{
|
||||
<!-- Keep this list sorted according to the table in hd44780-drivers.h -->
|
||||
<emphasis><parameter><literal>4bit</literal></parameter></emphasis> |
|
||||
<parameter><literal>8bit</literal></parameter> |
|
||||
<parameter><literal>winamp</literal></parameter> |
|
||||
@@ -3018,14 +3180,18 @@ This can be done by specifying <option>--enable-drivers=all</option> or by inclu
|
||||
<parameter><literal>vdr-lcd</literal></parameter> |
|
||||
<parameter><literal>vdr-wakeup</literal></parameter> |
|
||||
<parameter><literal>pertelian</literal></parameter> |
|
||||
<parameter><literal>bwctusb</literal></parameter> |
|
||||
<parameter><literal>lcd2usb</literal></parameter> |
|
||||
<parameter><literal>usb4all</literal></parameter> |
|
||||
<parameter><literal>lis2</literal></parameter> |
|
||||
<parameter><literal>mplay</literal></parameter> |
|
||||
<parameter><literal>i2c</literal></parameter> |
|
||||
<parameter><literal>usblcd</literal></parameter> |
|
||||
<parameter><literal>bwctusb</literal></parameter> |
|
||||
<parameter><literal>lcd2usb</literal></parameter> |
|
||||
<parameter><literal>usbtiny</literal></parameter> |
|
||||
<parameter><literal>uss720</literal></parameter> |
|
||||
<parameter><literal>usb4all</literal></parameter> |
|
||||
<parameter><literal>ftdi</literal></parameter> |
|
||||
<parameter><literal>usblcd</literal></parameter>
|
||||
<parameter><literal>i2c</literal></parameter> |
|
||||
<parameter><literal>ethlcd</literal></parameter> |
|
||||
<parameter><literal>raspberrypi</literal></parameter>
|
||||
}
|
||||
</term>
|
||||
<listitem>
|
||||
@@ -3079,11 +3245,23 @@ This can be done by specifying <option>--enable-drivers=all</option> or by inclu
|
||||
<entry><literal><link linkend="hd44780-vdr-wakeup">vdr-wakeup</link></literal></entry>
|
||||
<entry>VDR-Wakeup module "vdr-wakeup"</entry>
|
||||
</row>
|
||||
<!-- USB -->
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-pertelian">pertelian</link></literal></entry>
|
||||
<entry>Pertelian X2040 LCD display (<ulink url="http://pertelian.com/joomla/index.php?option=com_content&task=view&id=43&Itemid=48"></ulink>)</entry>
|
||||
</row>
|
||||
<!-- USB -->
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-lis2">lis2</link></literal></entry>
|
||||
<entry>LIS2 from VLSystem (<ulink url="http://www.vlsys.co.kr"></ulink>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-mplay">mplay</link></literal></entry>
|
||||
<entry>MPlay Blast from VLSystem (<ulink url="http://www.vlsys.co.kr"></ulink>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-usblcd">usblcd</link></literal></entry>
|
||||
<entry>USBLCD adapter from Adams IT Services (<ulink url="http://www.usblcd.de/"></ulink>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-bwctusb">bwctusb</link></literal></entry>
|
||||
<entry>BWCT USB device "bwctusb" (<ulink url="http://www.bwct.de/lcd.html"></ulink>)</entry>
|
||||
@@ -3092,35 +3270,37 @@ This can be done by specifying <option>--enable-drivers=all</option> or by inclu
|
||||
<entry><literal><link linkend="hd44780-lcd2usb">lcd2usb</link></literal></entry>
|
||||
<entry>Till Harbaum's LCD2USB (<ulink url="http://www.harbaum.org/till/lcd2usb/"></ulink>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-usb4all">USB-4-all</link></literal></entry>
|
||||
<entry>The USB-4-all controller board from Sprut (<ulink url="http://www.sprut.de/electronic/pic/projekte/usb4all/usb4all.htm"></ulink>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-usbtiny">usbtiny</link></literal></entry>
|
||||
<entry>Dick Streefland's USBtiny (<ulink url="http://www.xs4all.nl/~dicks/avr/usbtiny/"></ulink>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-lis2">lis2</link></literal></entry>
|
||||
<entry>LIS2 from VLSystem (<ulink url="http://www.vlsys.co.kr"></ulink>)</entry>
|
||||
<entry><literal><link linkend="hd44780-uss720">uss720</link></literal></entry>
|
||||
<entry>Belkin USS-720 USB-to-IEEE 1284 Bridge</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-mplay">mplay</link></literal></entry>
|
||||
<entry>MPlay Blast from VLSystem (<ulink url="http://www.vlsys.co.kr"></ulink>)</entry>
|
||||
<entry><literal><link linkend="hd44780-usb4all">USB-4-all</link></literal></entry>
|
||||
<entry>The USB-4-all controller board from Sprut (<ulink url="http://www.sprut.de/electronic/pic/projekte/usb4all/usb4all.htm"></ulink>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-ftdi">ftdi</link></literal></entry>
|
||||
<entry>Display connected to a dual channel FTDI 2232D USB chip</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-usblcd">usblcd</link></literal></entry>
|
||||
<entry>USBLCD adapter from Adams IT Services (<ulink url="http://www.usblcd.de/"></ulink>)</entry>
|
||||
</row>
|
||||
<!-- I2C -->
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-i2c">i2c</link></literal></entry>
|
||||
<entry>LCD driven by PCF8574(A)/PCA9554(A) connected via I<superscript>2</superscript>C</entry>
|
||||
</row>
|
||||
<!-- Ethernet -->
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-ethlcd">ethlcd</link></literal></entry>
|
||||
<entry>ethlcd device (<ulink url="http://manio.skyboo.net/ethlcd/"></ulink>)</entry>
|
||||
</row>
|
||||
<!-- Other -->
|
||||
<row>
|
||||
<entry><literal><link linkend="hd44780-raspberrypi">raspberrypi</link></literal></entry>
|
||||
<entry>LCD connected to the GPIO header of a Raspberry Pi</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
Reference in New Issue
Block a user