openwrt/target/linux/bcm27xx/patches-5.15/950-0639-Add-panel-overlay-for-CutiePi.patch
Álvaro Fernández Rojas 20ea6adbf1 bcm27xx: add support for linux v5.15
Build system: x86_64
Build-tested: bcm2708, bcm2709, bcm2710, bcm2711
Run-tested: bcm2708/RPiB+, bcm2709/RPi3B, bcm2710/RPi3B, bcm2711/RPi4B

Signed-off-by: Marty Jones <mj8263788@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-05-17 15:11:22 +02:00

173 lines
4.6 KiB
Diff

From dabd32c62cb2faa42feacafc6edbe8ab4b3395cb Mon Sep 17 00:00:00 2001
From: Penk Chen <penk@cutiepi.io>
Date: Mon, 20 Dec 2021 03:46:26 +0900
Subject: [PATCH] Add panel overlay for CutiePi
Signed-off-by: Penk Chen <penk@cutiepi.io>
---
arch/arm/boot/dts/overlays/Makefile | 1 +
arch/arm/boot/dts/overlays/README | 6 +
.../dts/overlays/cutiepi-panel-overlay.dts | 117 ++++++++++++++++++
arch/arm/boot/dts/overlays/overlay_map.dts | 4 +
4 files changed, 128 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/cutiepi-panel-overlay.dts
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -34,6 +34,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
cap1106.dtbo \
chipdip-dac.dtbo \
cma.dtbo \
+ cutiepi-panel.dtbo \
dht11.dtbo \
dionaudio-loco.dtbo \
dionaudio-loco-v2.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -679,6 +679,12 @@ Params: cma-512 CMA is 5
cma-default Use upstream's default value
+Name: cutiepi-panel
+Info: 8" TFT LCD display and touch panel used by cutiepi.io
+Load: dtoverlay=cutiepi-panel
+Params: <None>
+
+
Name: dht11
Info: Overlay for the DHT11/DHT21/DHT22 humidity/temperature sensors
Also sometimes found with the part number(s) AM230x.
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/cutiepi-panel-overlay.dts
@@ -0,0 +1,117 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2711";
+
+ fragment@0 {
+ target=<&dsi1>;
+
+ __overlay__ {
+ status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port {
+ dsi1_out_port: endpoint {
+ remote-endpoint = <&panel_dsi_in1>;
+ };
+ };
+
+ display1: panel@0 {
+ compatible = "nwe,nwe080";
+ reg=<0>;
+ backlight = <&rpi_backlight>;
+ reset-gpios = <&gpio 20 0>;
+ port {
+ panel_dsi_in1: endpoint {
+ remote-endpoint = <&dsi1_out_port>;
+ };
+ };
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&gpio>;
+ __overlay__ {
+ pwm_pins: pwm_pins {
+ brcm,pins = <12>;
+ brcm,function = <4>; // ALT0
+ };
+ };
+ };
+
+ fragment@2 {
+ target = <&pwm>;
+ frag1: __overlay__ {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwm_pins>;
+ assigned-clock-rates = <1000000>;
+ status = "okay";
+ };
+ };
+
+ fragment@3 {
+ target-path = "/";
+ __overlay__ {
+ rpi_backlight: rpi_backlight {
+ compatible = "pwm-backlight";
+ brightness-levels = <0 6 8 12 16 24 32 40 48 64 96 128 160 192 224 255>;
+ default-brightness-level = <6>;
+ pwms = <&pwm 0 200000>;
+ power-supply = <&vdd_3v3_reg>;
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@4 {
+ target = <&i2c6>;
+ frag0: __overlay__ {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2c6_pins>;
+ clock-frequency = <100000>;
+ };
+ };
+
+ fragment@5 {
+ target = <&i2c6_pins>;
+ __overlay__ {
+ brcm,pins = <22 23>;
+ };
+ };
+
+ fragment@6 {
+ target = <&gpio>;
+ __overlay__ {
+ goodix_pins: goodix_pins {
+ brcm,pins = <21 26>; // interrupt and reset
+ brcm,function = <0 0>; // in
+ brcm,pull = <2 2>; // pull-up
+ };
+ };
+ };
+
+ fragment@7 {
+ target = <&i2c6>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ gt9xx: gt9xx@5d {
+ compatible = "goodix,gt9271";
+ reg = <0x5D>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&goodix_pins>;
+ interrupt-parent = <&gpio>;
+ interrupts = <21 2>; // high-to-low edge triggered
+ irq-gpios = <&gpio 21 0>;
+ reset-gpios = <&gpio 26 0>;
+ };
+ };
+ };
+};
--- a/arch/arm/boot/dts/overlays/overlay_map.dts
+++ b/arch/arm/boot/dts/overlays/overlay_map.dts
@@ -5,6 +5,10 @@
deprecated = "use i2c-sensor,bmp085";
};
+ cutiepi-panel {
+ bcm2711;
+ };
+
highperi {
bcm2711;
};