openwrt/target/linux/brcm2708/patches-4.9/950-0161-BCM270X-Enable-the-DSI-panel-node-in-the-VC4-overlay.patch

139 lines
3.2 KiB
Diff
Raw Normal View History

From 2c62d430b6b3c20867e55465e0557a1543088f09 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 2 Jun 2016 15:09:35 -0700
Subject: [PATCH] BCM270X: Enable the DSI panel node in the VC4 overlay.
Signed-off-by: Eric Anholt <eric@anholt.net>
---
arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 5 ++++
arch/arm/boot/dts/bcm2708-rpi-b.dts | 5 ++++
arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 5 ++++
arch/arm/boot/dts/bcm270x.dtsi | 27 ++++++++++++++++++++++
arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 5 ++++
arch/arm/boot/dts/bcm2710.dtsi | 1 -
arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts | 22 ++++++++++++++++++
7 files changed, 69 insertions(+), 1 deletion(-)
--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
@@ -154,3 +154,8 @@
sd_debug = <&sdhost>,"brcm,debug";
};
};
+
+&i2c_dsi {
+ gpios = <&gpio 28 0
+ &gpio 29 0>;
+};
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
@@ -144,3 +144,8 @@
sd_debug = <&sdhost>,"brcm,debug";
};
};
+
+&i2c_dsi {
+ gpios = <&gpio 2 0
+ &gpio 3 0>;
+};
--- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
+++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
@@ -154,3 +154,8 @@
sd_debug = <&sdhost>,"brcm,debug";
};
};
+
+&i2c_dsi {
+ gpios = <&gpio 28 0
+ &gpio 29 0>;
+};
--- a/arch/arm/boot/dts/bcm270x.dtsi
+++ b/arch/arm/boot/dts/bcm270x.dtsi
@@ -137,6 +137,29 @@
/* Add alias */
status = "disabled";
};
+
+ i2c_dsi: i2cdsi {
+ /* We have to use i2c-gpio because the
+ * firmware is also polling another device
+ * using the only hardware I2C bus that could
+ * connect to these pins.
+ */
+ compatible = "i2c-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+
+ pitouchscreen_bridge: bridge@45 {
+ compatible = "raspberrypi,touchscreen-bridge-i2c";
+ reg = <0x45>;
+ };
+
+ pitouchscreen_touch: bridge@38 {
+ compatible = "raspberrypi,touchscreen-ts-i2c";
+ reg = <0x38>;
+ };
+ };
+
};
vdd_5v0_reg: fixedregulator_5v0 {
@@ -155,3 +178,7 @@
regulator-always-on;
};
};
+
+&dsi1 {
+ power-domains = <&power RPI_POWER_DOMAIN_DSI1>;
+};
--- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
+++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
@@ -201,3 +201,8 @@
sd_debug = <&sdhost>,"brcm,debug";
};
};
+
+&i2c_dsi {
+ gpios = <&gpio 44 0
+ &gpio 45 0>;
+};
--- a/arch/arm/boot/dts/bcm2710.dtsi
+++ b/arch/arm/boot/dts/bcm2710.dtsi
@@ -145,4 +145,3 @@
interrupt-parent = <&local_intc>;
interrupts = <8>;
};
-
--- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts
+++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts
@@ -126,6 +126,28 @@
};
};
+ fragment@16 {
+ target = <&dsi1>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ pitouchscreen: panel@0 {
+ compatible = "raspberrypi,touchscreen";
+ reg = <0>;
+ raspberrypi,touchscreen-bridge = <&pitouchscreen_bridge>;
+ };
+ };
+ };
+
+ fragment@17 {
+ target = <&i2c_dsi>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
__overrides__ {
cma-256 = <0>,"+0-1-2-3-4";
cma-192 = <0>,"-0+1-2-3-4";