bcm27xx: switch to 5.15
[openwrt/staging/chunkeey.git] / target / linux / bcm27xx / patches-5.10 / 950-0651-overlays-Add-dpi18cpadhi-vc4-kms-dpi-at056tn53v1.patch
1 From 5f7c6159c8bfa019b3d8d0fd7af930187f29dbad Mon Sep 17 00:00:00 2001
2 From: Joerg Quinten <aBUGSworstnightmare@gmail.com>
3 Date: Mon, 21 Jun 2021 16:10:32 +0200
4 Subject: [PATCH] overlays: Add dpi18cpadhi, vc4-kms-dpi-at056tn53v1
5
6 Signed-off-by: Joerg Quinten <aBUGSworstnightmare@gmail.com>
7 ---
8 arch/arm/boot/dts/bcm270x.dtsi | 13 ++++++
9 arch/arm/boot/dts/overlays/Makefile | 2 +
10 arch/arm/boot/dts/overlays/README | 15 +++++++
11 .../boot/dts/overlays/dpi18cpadhi-overlay.dts | 26 +++++++++++
12 .../vc4-kms-dpi-at056tn53v1-overlay.dts | 44 +++++++++++++++++++
13 5 files changed, 100 insertions(+)
14 create mode 100644 arch/arm/boot/dts/overlays/dpi18cpadhi-overlay.dts
15 create mode 100644 arch/arm/boot/dts/overlays/vc4-kms-dpi-at056tn53v1-overlay.dts
16
17 --- a/arch/arm/boot/dts/bcm270x.dtsi
18 +++ b/arch/arm/boot/dts/bcm270x.dtsi
19 @@ -164,6 +164,19 @@
20 &gpio {
21 interrupts = <2 17>, <2 18>;
22
23 + dpi_18bit_cpadhi_gpio0: dpi_18bit_cpadhi_gpio0 {
24 + brcm,pins = <0 1 2 3 4 5 6 7 8 9
25 + 12 13 14 15 16 17
26 + 20 21 22 23 24 25>;
27 + brcm,function = <BCM2835_FSEL_ALT2>;
28 + brcm,pull = <0>; /* no pull */
29 + };
30 + dpi_18bit_cpadhi_gpio2: dpi_18bit_cpadhi_gpio2 {
31 + brcm,pins = <2 3 4 5 6 7 8 9
32 + 12 13 14 15 16 17
33 + 20 21 22 23 24 25>;
34 + brcm,function = <BCM2835_FSEL_ALT2>;
35 + };
36 dpi_18bit_gpio0: dpi_18bit_gpio0 {
37 brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
38 12 13 14 15 16 17 18 19
39 --- a/arch/arm/boot/dts/overlays/Makefile
40 +++ b/arch/arm/boot/dts/overlays/Makefile
41 @@ -37,6 +37,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
42 disable-bt.dtbo \
43 disable-wifi.dtbo \
44 dpi18.dtbo \
45 + dpi18cpadhi.dtbo \
46 dpi24.dtbo \
47 draws.dtbo \
48 dwc-otg.dtbo \
49 @@ -215,6 +216,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
50 upstream.dtbo \
51 upstream-pi4.dtbo \
52 vc4-fkms-v3d.dtbo \
53 + vc4-kms-dpi-at056tn53v1.dtbo \
54 vc4-kms-dsi-7inch.dtbo \
55 vc4-kms-dsi-lt070me05000.dtbo \
56 vc4-kms-dsi-lt070me05000-v2.dtbo \
57 --- a/arch/arm/boot/dts/overlays/README
58 +++ b/arch/arm/boot/dts/overlays/README
59 @@ -695,6 +695,14 @@ Load: dtoverlay=dpi18
60 Params: <None>
61
62
63 +Name: dpi18cpadhi
64 +Info: Overlay for a generic 18-bit DPI display (in 'mode 6' connection scheme)
65 + This uses GPIOs 0-9,12-17,20-25 (so no I2C, uart etc.), and activates
66 + the output 3-3 seconds after the kernel has started.
67 +Load: dtoverlay=dpi18cpadhi
68 +Params: <None>
69 +
70 +
71 Name: dpi24
72 Info: Overlay for a generic 24-bit DPI display
73 This uses GPIOs 0-27 (so no I2C, uart etc.), and activates the output
74 @@ -3219,6 +3227,13 @@ Params: cma-512 CMA is 5
75 cma-default Use upstream's default value
76
77
78 +Name: vc4-kms-dpi-at056tn53v1
79 +Info: Enable an Innolux 5.6in VGA TFT connected to DPI interface under KMS.
80 + Requires vc4-kms-v3d to be loaded.
81 +Load: dtoverlay=vc4-kms-dpi-at056tn53v1
82 +Params: <None>
83 +
84 +
85 Name: vc4-kms-dsi-7inch
86 Info: Enable the Raspberry Pi DSI 7" screen.
87 Use edt-ft5406 for the touchscreen element.
88 --- /dev/null
89 +++ b/arch/arm/boot/dts/overlays/dpi18cpadhi-overlay.dts
90 @@ -0,0 +1,26 @@
91 +/*
92 + * dpi18cpadhi-overlay.dts
93 + */
94 +
95 +/dts-v1/;
96 +/plugin/;
97 +
98 +/{
99 + compatible = "brcm,bcm2835";
100 +
101 + fragment@0 {
102 + target = <&fb>;
103 + __overlay__ {
104 + pinctrl-names = "default";
105 + pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>;
106 + };
107 + };
108 +
109 + fragment@1 {
110 + target = <&vc4>;
111 + __overlay__ {
112 + pinctrl-names = "default";
113 + pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>;
114 + };
115 + };
116 +};
117 --- /dev/null
118 +++ b/arch/arm/boot/dts/overlays/vc4-kms-dpi-at056tn53v1-overlay.dts
119 @@ -0,0 +1,44 @@
120 +/*
121 + * vc4-kms-dpi-at056tn53v1-overlay.dts
122 + */
123 +
124 +/dts-v1/;
125 +/plugin/;
126 +
127 +#include <dt-bindings/gpio/gpio.h>
128 +#include <dt-bindings/pinctrl/bcm2835.h>
129 +
130 +/ {
131 + compatible = "brcm,bcm2835";
132 +
133 + fragment@0 {
134 + target-path = "/";
135 + __overlay__ {
136 + panel: panel {
137 + compatible = "innolux,at056tn53v1", "simple-panel";
138 +
139 + port {
140 + panel_in: endpoint {
141 + remote-endpoint = <&dpi_out>;
142 + };
143 + };
144 + };
145 + };
146 + };
147 +
148 + fragment@1 {
149 + target = <&dpi>;
150 + __overlay__ {
151 + status = "okay";
152 +
153 + pinctrl-names = "default";
154 + pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>;
155 +
156 + port {
157 + dpi_out: endpoint {
158 + remote-endpoint = <&panel_in>;
159 + };
160 + };
161 + };
162 + };
163 +};