Openwrt/target/linux/bcm27xx/patches-5.4/950-0961-overlays-Add-adafruit18-and-sainsmart18-overlays.patch

170 lines
4.3 KiB
Diff
Raw Normal View History

From dde4afa87452e8499c611c9a889f4c5f35d9e2bb Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Thu, 3 Sep 2020 17:36:00 +0100
Subject: [PATCH] overlays: Add adafruit18 and sainsmart18 overlays
Add support for three ST7735R-based displays - adafruit18,
adafruit18_green and sainsmart18.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
arch/arm/boot/dts/overlays/Makefile | 2 +
arch/arm/boot/dts/overlays/README | 15 ++++++
.../boot/dts/overlays/adafruit18-overlay.dts | 49 +++++++++++++++++++
.../boot/dts/overlays/sainsmart18-overlay.dts | 47 ++++++++++++++++++
4 files changed, 113 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/adafruit18-overlay.dts
create mode 100644 arch/arm/boot/dts/overlays/sainsmart18-overlay.dts
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -4,6 +4,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += overlay_ma
dtbo-$(CONFIG_ARCH_BCM2835) += \
act-led.dtbo \
+ adafruit18.dtbo \
adau1977-adc.dtbo \
adau7002-simple.dtbo \
ads1015.dtbo \
@@ -147,6 +148,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
rpi-tv.dtbo \
rpivid-v4l2.dtbo \
rra-digidac1-wm8741-audio.dtbo \
+ sainsmart18.dtbo \
sc16is750-i2c.dtbo \
sc16is752-i2c.dtbo \
sc16is752-spi0.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -261,6 +261,14 @@ Params: activelow Set to "
REQUIRED
+Name: adafruit18
+Info: Overlay for the SPI-connected Adafruit 1.8" display (based on the
+ ST7735R chip). It includes support for the "green tab" version.
+Load: dtoverlay=adafruit18,<param>=<val>
+Params: green Use the adafruit18_green variant.
+ rotate Display rotation {0,90,180,270}
+
+
Name: adau1977-adc
Info: Overlay for activation of ADAU1977 ADC codec over I2C for control
and I2S for data.
@@ -2251,6 +2259,13 @@ Load: dtoverlay=rra-digidac1-wm8741-au
Params: <None>
+Name: sainsmart18
+Info: Overlay for the SPI-connected Sainsmart 1.8" display (based on the
+ ST7735R chip).
+Load: dtoverlay=sainsmart18,<param>=<val>
+Params: rotate Display rotation {0,90,180,270}
+
+
Name: sc16is750-i2c
Info: Overlay for the NXP SC16IS750 UART with I2C Interface
Enables the chip on I2C1 at 0x48 (or the "addr" parameter value). To
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/adafruit18-overlay.dts
@@ -0,0 +1,49 @@
+/*
+ * Device Tree overlay for Adafruit 1.8" TFT LCD with ST7735R chip 160x128
+ */
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2835";
+
+ fragment@0 {
+ target = <&spidev0>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
+ fragment@1 {
+ target = <&spi0>;
+ __overlay__ {
+ /* needed to avoid dtc warning */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ af18: adafruit18@0 {
+ compatible = "fbtft,adafruit18";
+ reg = <0>;
+ pinctrl-names = "default";
+ spi-max-frequency = <40000000>;
+ rotate = <90>;
+ buswidth = <8>;
+ fps = <50>;
+ height = <160>;
+ width = <128>;
+ reset-gpios = <&gpio 25 0>;
+ dc-gpios = <&gpio 24 0>;
+ led-gpios = <&gpio 18 0>;
+ bgr;
+ debug = <0>;
+ };
+ };
+ };
+
+ __overrides__ {
+ green = <&af18>, "compatible=fbtft,adafruit18_green";
+ rotate = <&af18>, "rotate:0";
+ };
+};
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/sainsmart18-overlay.dts
@@ -0,0 +1,47 @@
+/*
+ * Device Tree overlay for the Sainsmart 1.8" TFT LCD with ST7735R chip 160x128
+ */
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2835";
+
+ fragment@0 {
+ target = <&spidev0>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
+ fragment@1 {
+ target = <&spi0>;
+ __overlay__ {
+ /* needed to avoid dtc warning */
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ ss18: sainsmart18@0 {
+ compatible = "fbtft,sainsmart18";
+ reg = <0>;
+ pinctrl-names = "default";
+ spi-max-frequency = <40000000>;
+ rotate = <90>;
+ buswidth = <8>;
+ fps = <50>;
+ height = <160>;
+ width = <128>;
+ reset-gpios = <&gpio 25 0>;
+ dc-gpios = <&gpio 24 0>;
+ bgr;
+ debug = <0>;
+ };
+ };
+ };
+
+ __overrides__ {
+ rotate = <&ss18>, "rotate:0";
+ };
+};