From dde4afa87452e8499c611c9a889f4c5f35d9e2bb Mon Sep 17 00:00:00 2001 From: Phil Elwell 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 --- 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,= +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: +Name: sainsmart18 +Info: Overlay for the SPI-connected Sainsmart 1.8" display (based on the + ST7735R chip). +Load: dtoverlay=sainsmart18,= +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"; + }; +};