From 5f7c6159c8bfa019b3d8d0fd7af930187f29dbad Mon Sep 17 00:00:00 2001 From: Joerg Quinten Date: Mon, 21 Jun 2021 16:10:32 +0200 Subject: [PATCH] overlays: Add dpi18cpadhi, vc4-kms-dpi-at056tn53v1 Signed-off-by: Joerg Quinten --- arch/arm/boot/dts/bcm270x.dtsi | 13 ++++++ arch/arm/boot/dts/overlays/Makefile | 2 + arch/arm/boot/dts/overlays/README | 15 +++++++ .../boot/dts/overlays/dpi18cpadhi-overlay.dts | 26 +++++++++++ .../vc4-kms-dpi-at056tn53v1-overlay.dts | 44 +++++++++++++++++++ 5 files changed, 100 insertions(+) create mode 100644 arch/arm/boot/dts/overlays/dpi18cpadhi-overlay.dts create mode 100644 arch/arm/boot/dts/overlays/vc4-kms-dpi-at056tn53v1-overlay.dts --- a/arch/arm/boot/dts/bcm270x.dtsi +++ b/arch/arm/boot/dts/bcm270x.dtsi @@ -164,6 +164,19 @@ &gpio { interrupts = <2 17>, <2 18>; + dpi_18bit_cpadhi_gpio0: dpi_18bit_cpadhi_gpio0 { + brcm,pins = <0 1 2 3 4 5 6 7 8 9 + 12 13 14 15 16 17 + 20 21 22 23 24 25>; + brcm,function = ; + brcm,pull = <0>; /* no pull */ + }; + dpi_18bit_cpadhi_gpio2: dpi_18bit_cpadhi_gpio2 { + brcm,pins = <2 3 4 5 6 7 8 9 + 12 13 14 15 16 17 + 20 21 22 23 24 25>; + brcm,function = ; + }; dpi_18bit_gpio0: dpi_18bit_gpio0 { brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 --- a/arch/arm/boot/dts/overlays/Makefile +++ b/arch/arm/boot/dts/overlays/Makefile @@ -37,6 +37,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ disable-bt.dtbo \ disable-wifi.dtbo \ dpi18.dtbo \ + dpi18cpadhi.dtbo \ dpi24.dtbo \ draws.dtbo \ dwc-otg.dtbo \ @@ -215,6 +216,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ upstream.dtbo \ upstream-pi4.dtbo \ vc4-fkms-v3d.dtbo \ + vc4-kms-dpi-at056tn53v1.dtbo \ vc4-kms-dsi-7inch.dtbo \ vc4-kms-dsi-lt070me05000.dtbo \ vc4-kms-dsi-lt070me05000-v2.dtbo \ --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -695,6 +695,14 @@ Load: dtoverlay=dpi18 Params: +Name: dpi18cpadhi +Info: Overlay for a generic 18-bit DPI display (in 'mode 6' connection scheme) + This uses GPIOs 0-9,12-17,20-25 (so no I2C, uart etc.), and activates + the output 3-3 seconds after the kernel has started. +Load: dtoverlay=dpi18cpadhi +Params: + + Name: dpi24 Info: Overlay for a generic 24-bit DPI display This uses GPIOs 0-27 (so no I2C, uart etc.), and activates the output @@ -3219,6 +3227,13 @@ Params: cma-512 CMA is 5 cma-default Use upstream's default value +Name: vc4-kms-dpi-at056tn53v1 +Info: Enable an Innolux 5.6in VGA TFT connected to DPI interface under KMS. + Requires vc4-kms-v3d to be loaded. +Load: dtoverlay=vc4-kms-dpi-at056tn53v1 +Params: + + Name: vc4-kms-dsi-7inch Info: Enable the Raspberry Pi DSI 7" screen. Use edt-ft5406 for the touchscreen element. --- /dev/null +++ b/arch/arm/boot/dts/overlays/dpi18cpadhi-overlay.dts @@ -0,0 +1,26 @@ +/* + * dpi18cpadhi-overlay.dts + */ + +/dts-v1/; +/plugin/; + +/{ + compatible = "brcm,bcm2835"; + + fragment@0 { + target = <&fb>; + __overlay__ { + pinctrl-names = "default"; + pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>; + }; + }; + + fragment@1 { + target = <&vc4>; + __overlay__ { + pinctrl-names = "default"; + pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>; + }; + }; +}; --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-dpi-at056tn53v1-overlay.dts @@ -0,0 +1,44 @@ +/* + * vc4-kms-dpi-at056tn53v1-overlay.dts + */ + +/dts-v1/; +/plugin/; + +#include +#include + +/ { + compatible = "brcm,bcm2835"; + + fragment@0 { + target-path = "/"; + __overlay__ { + panel: panel { + compatible = "innolux,at056tn53v1", "simple-panel"; + + port { + panel_in: endpoint { + remote-endpoint = <&dpi_out>; + }; + }; + }; + }; + }; + + fragment@1 { + target = <&dpi>; + __overlay__ { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&dpi_18bit_cpadhi_gpio0>; + + port { + dpi_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; + }; +};