1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter.git synced 2025-02-15 04:42:02 +00:00
openmptcprouter/6.1/target/linux/bcm27xx/patches-6.1/0529-overlays-Add-crystalfontz-cfa050_pi_m.patch

181 lines
4.9 KiB
Diff

From 5658307b53df66b97c85b6546efd46afbb690ada Mon Sep 17 00:00:00 2001
From: Mark Williams <mwp@mwp.id.au>
Date: Thu, 8 Dec 2022 04:58:05 -0700
Subject: [PATCH 529/726] overlays: Add crystalfontz-cfa050_pi_m
Add support for the Crystalfontz CFA050-PI-M series of Raspberry Pi
CM4-based modules using the CFAF7201280A0_050Tx TFT LCD displays.
Signed-off-by: Mark Williams <mwp@mwp.id.au>
---
arch/arm/boot/dts/overlays/Makefile | 1 +
arch/arm/boot/dts/overlays/README | 9 ++
.../crystalfontz-cfa050_pi_m-overlay.dts | 124 ++++++++++++++++++
3 files changed, 134 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/crystalfontz-cfa050_pi_m-overlay.dts
diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
index 15c7b662cee3..62675e2ff896 100644
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -40,6 +40,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
chipdip-dac.dtbo \
cirrus-wm5102.dtbo \
cma.dtbo \
+ crystalfontz-cfa050_pi_m.dtbo \
cutiepi-panel.dtbo \
dacberry400.dtbo \
dht11.dtbo \
diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
index 37f1da9275c8..08fba8e7a20f 100644
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -804,6 +804,15 @@ Params: cma-512 CMA is 512MB (needs 1GB)
cma-default Use upstream's default value
+Name: crystalfontz-cfa050_pi_m
+Info: Configures the Crystalfontz CFA050-PI-M series of Raspberry Pi CM4
+ based modules using the CFA7201280A0_050Tx 7" TFT LCD displays,
+ with or without capacitive touch screen.
+ Requires use of vc4-kms-v3d.
+Load: dtoverlay=crystalfontz-cfa050_pi_m,<param>=<val>
+Params: captouch Enable capacitive touch display
+
+
Name: cutiepi-panel
Info: 8" TFT LCD display and touch panel used by cutiepi.io
Load: dtoverlay=cutiepi-panel
diff --git a/arch/arm/boot/dts/overlays/crystalfontz-cfa050_pi_m-overlay.dts b/arch/arm/boot/dts/overlays/crystalfontz-cfa050_pi_m-overlay.dts
new file mode 100644
index 000000000000..544036589b66
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/crystalfontz-cfa050_pi_m-overlay.dts
@@ -0,0 +1,124 @@
+/*
+ * crystalfontz-cfa050_pi_m-overlay.dts
+ * Configures the Crystalfontz CFA050-PI-M series of modules
+ * using CFAF7201280A0-050TC/TN panels with RaspberryPi CM4 DSI1
+ */
+/dts-v1/;
+/plugin/;
+/{
+// RaspberryPi CM4
+ compatible = "brcm,bcm2835";
+// PCF8574 I2C GPIO EXPANDER
+ fragment@0 {
+ target = <&i2c_csi_dsi>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+ pcf8574a: pcf8574a@38 {
+ reg = <0x38>;
+ compatible = "nxp,pcf8574";
+ gpio-controller;
+ #gpio-cells = <2>;
+ ngpios = <8>;
+ gpio-line-names = "TFT_RESET", "TOUCH_RESET", "EXT_P2", "EXT_P3",
+ "EXT_P4", "EXT_P5", "EXT_P6", "EXT_P7";
+ };
+ };
+ };
+// LM3630a BACKLIGHT LED CONTROLLER
+ fragment@1 {
+ target = <&i2c_csi_dsi>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+ lm3630a: backlight@36 {
+ reg = <0x36>;
+ compatible = "ti,lm3630a";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ led@0 {
+ reg = <0>;
+ led-sources = <0 1>;
+ label = "lcd-backlight";
+ default-brightness = <128>;
+ max-brightness = <255>;
+ };
+ };
+ };
+ };
+// CFAF7201280A0_050Tx TFT DSI PANEL
+ fragment@2 {
+ target = <&dsi1>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+ port {
+ dsi_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ dsi_panel: dsi_panel@0 {
+ compatible = "crystalfontz,cfaf7201280a0_050tx";
+ reg = <0>;
+ reset-gpios = <&pcf8574a 0 1>;
+ backlight = <&lm3630a>;
+ fps = <60>;
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&dsi_out>;
+ };
+ };
+ };
+ };
+ };
+// rPI GPIO INPUT FOR TOUCH IC IRQ
+ fragment@3 {
+ target = <&gpio>;
+ __dormant__ {
+ gt928intpins: gt928intpins {
+ brcm,pins = <26>;
+ brcm,function = <0>;
+ brcm,pull = <1>;
+ };
+ };
+ };
+// GT928 TOUCH CONTROLLER IC
+ fragment@4 {
+ target = <&i2c_csi_dsi>;
+ __dormant__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+ gt928@5d {
+ compatible = "goodix,gt928";
+ reg = <0x5d>;
+ interrupt-parent = <&gpio>;
+ interrupts = <26 2>;
+ irq-gpios = <&gpio 26 0>;
+ reset-gpios = <&pcf8574a 1 1>;
+ touchscreen-inverted-x;
+ touchscreen-inverted-y;
+ };
+ };
+ };
+// PCF85063A RTC on I2C
+ fragment@5 {
+ target = <&i2c_csi_dsi>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+ pcf85063a@51 {
+ compatible = "nxp,pcf85063a";
+ reg = <0x51>;
+ };
+ };
+ };
+// CAPACITIVE TOUCH OPTION FOR TFT PANEL
+ __overrides__ {
+ captouch = <0>,"+3+4";
+ };
+};
--
2.33.1