1 From b5ec75dab38af2429278df48121642cb5605e318 Mon Sep 17 00:00:00 2001
2 From: Jasper Boomer <jasperboomer@gmail.com>
3 Date: Sun, 24 Jun 2018 12:20:27 -0400
4 Subject: [PATCH] Add device tree overlay for HD44780
7 arch/arm/boot/dts/overlays/Makefile | 1 +
8 arch/arm/boot/dts/overlays/README | 25 ++++++++++
9 .../boot/dts/overlays/hd44780-lcd-overlay.dts | 46 +++++++++++++++++++
10 3 files changed, 72 insertions(+)
11 create mode 100644 arch/arm/boot/dts/overlays/hd44780-lcd-overlay.dts
13 --- a/arch/arm/boot/dts/overlays/Makefile
14 +++ b/arch/arm/boot/dts/overlays/Makefile
15 @@ -38,6 +38,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
22 hifiberry-dacplus.dtbo \
23 --- a/arch/arm/boot/dts/overlays/README
24 +++ b/arch/arm/boot/dts/overlays/README
25 @@ -639,6 +639,31 @@ Params: gpio_pin GPIO pin
30 +Info: Configures an HD44780 compatible LCD display. Uses 4 gpio pins for
31 + data, 2 gpio pins for enable and register select and 1 optional pin
32 + for enabling/disabling the backlight display.
33 +Load: dtoverlay=hd44780-lcd,<param>=<val>
34 +Params: pin_d4 GPIO pin for data pin D4 (default 6)
36 + pin_d5 GPIO pin for data pin D5 (default 13)
38 + pin_d6 GPIO pin for data pin D6 (default 19)
40 + pin_d7 GPIO pin for data pin D7 (default 26)
42 + pin_en GPIO pin for "Enable" (default 21)
44 + pin_rs GPIO pin for "Register Select" (default 20)
46 + pin_bl Optional pin for enabling/disabling the
47 + display backlight. (default disabled)
49 + display_height Height of the display in characters
51 + display_width Width of the display in characters
55 Info: Configures the HifiBerry Amp and Amp+ audio cards
56 Load: dtoverlay=hifiberry-amp
58 +++ b/arch/arm/boot/dts/overlays/hd44780-lcd-overlay.dts
64 + compatible = "brcm,bcm2835";
69 + lcd_screen: auxdisplay {
70 + compatible = "hit,hd44780";
72 + data-gpios = <&gpio 6 0>,
76 + enable-gpios = <&gpio 21 0>;
77 + rs-gpios = <&gpio 20 0>;
79 + display-height-chars = <2>;
80 + display-width-chars = <16>;
87 + target = <&lcd_screen>;
89 + backlight-gpios = <&gpio 12 0>;
94 + pin_d4 = <&lcd_screen>,"data-gpios:4";
95 + pin_d5 = <&lcd_screen>,"data-gpios:16";
96 + pin_d6 = <&lcd_screen>,"data-gpios:28";
97 + pin_d7 = <&lcd_screen>,"data-gpios:40";
98 + pin_en = <&lcd_screen>,"enable-gpios:4";
99 + pin_rs = <&lcd_screen>,"rs-gpios:4";
100 + pin_bl = <0>,"+1", <&lcd_screen>,"backlight-gpios:4";
101 + display_height = <&lcd_screen>,"display-height-chars:0";
102 + display_width = <&lcd_screen>,"display-width-chars:0";