brcm2708: add linux 4.19 support
[oweals/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0155-Add-device-tree-overlay-for-HD44780.patch
1 From 0950d997c40aa9428b886d7e1af46730b0366513 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 155/703] 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 +};