brcm2708: update to latest patches from the RPi foundation
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.14 / 950-0339-Add-device-tree-overlay-for-HD44780.patch
1 From d1f9b37d299ef8cbd740a3f6cb7f71db887737d6 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 339/454] Add device tree overlay for HD44780
5
6 ---
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
12
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) += \
16 gpio-no-irq.dtbo \
17 gpio-poweroff.dtbo \
18 gpio-shutdown.dtbo \
19 + hd44780-lcd.dtbo \
20 hifiberry-amp.dtbo \
21 hifiberry-dac.dtbo \
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
26 external pullup.
27
28
29 +Name: hd44780-lcd
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)
35 +
36 + pin_d5 GPIO pin for data pin D5 (default 13)
37 +
38 + pin_d6 GPIO pin for data pin D6 (default 19)
39 +
40 + pin_d7 GPIO pin for data pin D7 (default 26)
41 +
42 + pin_en GPIO pin for "Enable" (default 21)
43 +
44 + pin_rs GPIO pin for "Register Select" (default 20)
45 +
46 + pin_bl Optional pin for enabling/disabling the
47 + display backlight. (default disabled)
48 +
49 + display_height Height of the display in characters
50 +
51 + display_width Width of the display in characters
52 +
53 +
54 Name: hifiberry-amp
55 Info: Configures the HifiBerry Amp and Amp+ audio cards
56 Load: dtoverlay=hifiberry-amp
57 --- /dev/null
58 +++ b/arch/arm/boot/dts/overlays/hd44780-lcd-overlay.dts
59 @@ -0,0 +1,46 @@
60 +/dts-v1/;
61 +/plugin/;
62 +
63 +/ {
64 + compatible = "brcm,bcm2835";
65 +
66 + fragment@0 {
67 + target-path = "/";
68 + __overlay__ {
69 + lcd_screen: auxdisplay {
70 + compatible = "hit,hd44780";
71 +
72 + data-gpios = <&gpio 6 0>,
73 + <&gpio 13 0>,
74 + <&gpio 19 0>,
75 + <&gpio 26 0>;
76 + enable-gpios = <&gpio 21 0>;
77 + rs-gpios = <&gpio 20 0>;
78 +
79 + display-height-chars = <2>;
80 + display-width-chars = <16>;
81 + };
82 +
83 + };
84 + };
85 +
86 + fragment@1 {
87 + target = <&lcd_screen>;
88 + __dormant__ {
89 + backlight-gpios = <&gpio 12 0>;
90 + };
91 + };
92 +
93 + __overrides__ {
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";
103 + };
104 +
105 +};