openwrt/target/linux/bcm27xx/patches-5.10/950-0651-overlays-Add-dpi18cpadhi-vc4-kms-dpi-at056tn53v1.patch
Álvaro Fernández Rojas 8299d1f057 bcm27xx: add kernel 5.10 support
Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted
patches, wireless patches and defconfig patches.

bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 4B v1.1 4G
bcm2711: boot tested on RPi 4B v1.1 4G

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-08-21 19:07:07 +02:00

164 lines
4.2 KiB
Diff

From 5f7c6159c8bfa019b3d8d0fd7af930187f29dbad Mon Sep 17 00:00:00 2001
From: Joerg Quinten <aBUGSworstnightmare@gmail.com>
Date: Mon, 21 Jun 2021 16:10:32 +0200
Subject: [PATCH] overlays: Add dpi18cpadhi, vc4-kms-dpi-at056tn53v1
Signed-off-by: Joerg Quinten <aBUGSworstnightmare@gmail.com>
---
arch/arm/boot/dts/bcm270x.dtsi | 13 ++++++
arch/arm/boot/dts/overlays/Makefile | 2 +
arch/arm/boot/dts/overlays/README | 15 +++++++
.../boot/dts/overlays/dpi18cpadhi-overlay.dts | 26 +++++++++++
.../vc4-kms-dpi-at056tn53v1-overlay.dts | 44 +++++++++++++++++++
5 files changed, 100 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/dpi18cpadhi-overlay.dts
create mode 100644 arch/arm/boot/dts/overlays/vc4-kms-dpi-at056tn53v1-overlay.dts
--- a/arch/arm/boot/dts/bcm270x.dtsi
+++ b/arch/arm/boot/dts/bcm270x.dtsi
@@ -164,6 +164,19 @@
&gpio {
interrupts = <2 17>, <2 18>;
+ dpi_18bit_cpadhi_gpio0: dpi_18bit_cpadhi_gpio0 {
+ brcm,pins = <0 1 2 3 4 5 6 7 8 9
+ 12 13 14 15 16 17
+ 20 21 22 23 24 25>;
+ brcm,function = <BCM2835_FSEL_ALT2>;
+ brcm,pull = <0>; /* no pull */
+ };
+ dpi_18bit_cpadhi_gpio2: dpi_18bit_cpadhi_gpio2 {
+ brcm,pins = <2 3 4 5 6 7 8 9
+ 12 13 14 15 16 17
+ 20 21 22 23 24 25>;
+ brcm,function = <BCM2835_FSEL_ALT2>;
+ };
dpi_18bit_gpio0: dpi_18bit_gpio0 {
brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11
12 13 14 15 16 17 18 19
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -37,6 +37,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
disable-bt.dtbo \
disable-wifi.dtbo \
dpi18.dtbo \
+ dpi18cpadhi.dtbo \
dpi24.dtbo \
draws.dtbo \
dwc-otg.dtbo \
@@ -215,6 +216,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
upstream.dtbo \
upstream-pi4.dtbo \
vc4-fkms-v3d.dtbo \
+ vc4-kms-dpi-at056tn53v1.dtbo \
vc4-kms-dsi-7inch.dtbo \
vc4-kms-dsi-lt070me05000.dtbo \
vc4-kms-dsi-lt070me05000-v2.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -695,6 +695,14 @@ Load: dtoverlay=dpi18
Params: <None>
+Name: dpi18cpadhi
+Info: Overlay for a generic 18-bit DPI display (in 'mode 6' connection scheme)
+ This uses GPIOs 0-9,12-17,20-25 (so no I2C, uart etc.), and activates
+ the output 3-3 seconds after the kernel has started.
+Load: dtoverlay=dpi18cpadhi
+Params: <None>
+
+
Name: dpi24
Info: Overlay for a generic 24-bit DPI display
This uses GPIOs 0-27 (so no I2C, uart etc.), and activates the output
@@ -3219,6 +3227,13 @@ Params: cma-512 CMA is 5
cma-default Use upstream's default value
+Name: vc4-kms-dpi-at056tn53v1
+Info: Enable an Innolux 5.6in VGA TFT connected to DPI interface under KMS.
+ Requires vc4-kms-v3d to be loaded.
+Load: dtoverlay=vc4-kms-dpi-at056tn53v1
+Params: <None>
+
+
Name: vc4-kms-dsi-7inch
Info: Enable the Raspberry Pi DSI 7" screen.
Use edt-ft5406 for the touchscreen element.
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/dpi18cpadhi-overlay.dts
@@ -0,0 +1,26 @@
+/*
+ * dpi18cpadhi-overlay.dts
+ */
+
+/dts-v1/;
+/plugin/;
+
+/{
+ compatible = "brcm,bcm2835";
+
+ fragment@0 {
+ target = <&fb>;
+ __overlay__ {
+ pinctrl-names = "default";
+ pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>;
+ };
+ };
+
+ fragment@1 {
+ target = <&vc4>;
+ __overlay__ {
+ pinctrl-names = "default";
+ pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>;
+ };
+ };
+};
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/vc4-kms-dpi-at056tn53v1-overlay.dts
@@ -0,0 +1,44 @@
+/*
+ * vc4-kms-dpi-at056tn53v1-overlay.dts
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/bcm2835.h>
+
+/ {
+ compatible = "brcm,bcm2835";
+
+ fragment@0 {
+ target-path = "/";
+ __overlay__ {
+ panel: panel {
+ compatible = "innolux,at056tn53v1", "simple-panel";
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&dpi>;
+ __overlay__ {
+ status = "okay";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>;
+
+ port {
+ dpi_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+ };
+};