bcm27xx: add support for linux v5.15
[openwrt/staging/chunkeey.git] / target / linux / bcm27xx / patches-5.15 / 950-0639-Add-panel-overlay-for-CutiePi.patch
1 From dabd32c62cb2faa42feacafc6edbe8ab4b3395cb Mon Sep 17 00:00:00 2001
2 From: Penk Chen <penk@cutiepi.io>
3 Date: Mon, 20 Dec 2021 03:46:26 +0900
4 Subject: [PATCH] Add panel overlay for CutiePi
5
6 Signed-off-by: Penk Chen <penk@cutiepi.io>
7 ---
8 arch/arm/boot/dts/overlays/Makefile | 1 +
9 arch/arm/boot/dts/overlays/README | 6 +
10 .../dts/overlays/cutiepi-panel-overlay.dts | 117 ++++++++++++++++++
11 arch/arm/boot/dts/overlays/overlay_map.dts | 4 +
12 4 files changed, 128 insertions(+)
13 create mode 100644 arch/arm/boot/dts/overlays/cutiepi-panel-overlay.dts
14
15 --- a/arch/arm/boot/dts/overlays/Makefile
16 +++ b/arch/arm/boot/dts/overlays/Makefile
17 @@ -34,6 +34,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
18 cap1106.dtbo \
19 chipdip-dac.dtbo \
20 cma.dtbo \
21 + cutiepi-panel.dtbo \
22 dht11.dtbo \
23 dionaudio-loco.dtbo \
24 dionaudio-loco-v2.dtbo \
25 --- a/arch/arm/boot/dts/overlays/README
26 +++ b/arch/arm/boot/dts/overlays/README
27 @@ -679,6 +679,12 @@ Params: cma-512 CMA is 5
28 cma-default Use upstream's default value
29
30
31 +Name: cutiepi-panel
32 +Info: 8" TFT LCD display and touch panel used by cutiepi.io
33 +Load: dtoverlay=cutiepi-panel
34 +Params: <None>
35 +
36 +
37 Name: dht11
38 Info: Overlay for the DHT11/DHT21/DHT22 humidity/temperature sensors
39 Also sometimes found with the part number(s) AM230x.
40 --- /dev/null
41 +++ b/arch/arm/boot/dts/overlays/cutiepi-panel-overlay.dts
42 @@ -0,0 +1,117 @@
43 +/dts-v1/;
44 +/plugin/;
45 +
46 +/ {
47 + compatible = "brcm,bcm2711";
48 +
49 + fragment@0 {
50 + target=<&dsi1>;
51 +
52 + __overlay__ {
53 + status = "okay";
54 +
55 + #address-cells = <1>;
56 + #size-cells = <0>;
57 +
58 + port {
59 + dsi1_out_port: endpoint {
60 + remote-endpoint = <&panel_dsi_in1>;
61 + };
62 + };
63 +
64 + display1: panel@0 {
65 + compatible = "nwe,nwe080";
66 + reg=<0>;
67 + backlight = <&rpi_backlight>;
68 + reset-gpios = <&gpio 20 0>;
69 + port {
70 + panel_dsi_in1: endpoint {
71 + remote-endpoint = <&dsi1_out_port>;
72 + };
73 + };
74 + };
75 + };
76 + };
77 +
78 + fragment@1 {
79 + target = <&gpio>;
80 + __overlay__ {
81 + pwm_pins: pwm_pins {
82 + brcm,pins = <12>;
83 + brcm,function = <4>; // ALT0
84 + };
85 + };
86 + };
87 +
88 + fragment@2 {
89 + target = <&pwm>;
90 + frag1: __overlay__ {
91 + pinctrl-names = "default";
92 + pinctrl-0 = <&pwm_pins>;
93 + assigned-clock-rates = <1000000>;
94 + status = "okay";
95 + };
96 + };
97 +
98 + fragment@3 {
99 + target-path = "/";
100 + __overlay__ {
101 + rpi_backlight: rpi_backlight {
102 + compatible = "pwm-backlight";
103 + brightness-levels = <0 6 8 12 16 24 32 40 48 64 96 128 160 192 224 255>;
104 + default-brightness-level = <6>;
105 + pwms = <&pwm 0 200000>;
106 + power-supply = <&vdd_3v3_reg>;
107 + status = "okay";
108 + };
109 + };
110 + };
111 +
112 + fragment@4 {
113 + target = <&i2c6>;
114 + frag0: __overlay__ {
115 + status = "okay";
116 + pinctrl-names = "default";
117 + pinctrl-0 = <&i2c6_pins>;
118 + clock-frequency = <100000>;
119 + };
120 + };
121 +
122 + fragment@5 {
123 + target = <&i2c6_pins>;
124 + __overlay__ {
125 + brcm,pins = <22 23>;
126 + };
127 + };
128 +
129 + fragment@6 {
130 + target = <&gpio>;
131 + __overlay__ {
132 + goodix_pins: goodix_pins {
133 + brcm,pins = <21 26>; // interrupt and reset
134 + brcm,function = <0 0>; // in
135 + brcm,pull = <2 2>; // pull-up
136 + };
137 + };
138 + };
139 +
140 + fragment@7 {
141 + target = <&i2c6>;
142 + __overlay__ {
143 + #address-cells = <1>;
144 + #size-cells = <0>;
145 + status = "okay";
146 +
147 + gt9xx: gt9xx@5d {
148 + compatible = "goodix,gt9271";
149 + reg = <0x5D>;
150 + pinctrl-names = "default";
151 + pinctrl-0 = <&goodix_pins>;
152 + interrupt-parent = <&gpio>;
153 + interrupts = <21 2>; // high-to-low edge triggered
154 + irq-gpios = <&gpio 21 0>;
155 + reset-gpios = <&gpio 26 0>;
156 + };
157 + };
158 + };
159 +};
160 --- a/arch/arm/boot/dts/overlays/overlay_map.dts
161 +++ b/arch/arm/boot/dts/overlays/overlay_map.dts
162 @@ -5,6 +5,10 @@
163 deprecated = "use i2c-sensor,bmp085";
164 };
165
166 + cutiepi-panel {
167 + bcm2711;
168 + };
169 +
170 highperi {
171 bcm2711;
172 };