aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0479-dtoverlays-Add-an-overlay-for-the-VGA666-when-used-w.patch
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2021-08-21 10:54:34 +0200
committerÁlvaro Fernández Rojas <noltari@gmail.com>2021-08-21 19:07:07 +0200
commit8299d1f057439f94c6a4412e2e5c5082b82a30c9 (patch)
tree1bf678d61f11f7394493be464c7876e496f7faed /target/linux/bcm27xx/patches-5.10/950-0479-dtoverlays-Add-an-overlay-for-the-VGA666-when-used-w.patch
parent33b6885975ce376ff075362b7f0890326043111b (diff)
downloadupstream-8299d1f057439f94c6a4412e2e5c5082b82a30c9.tar.gz
upstream-8299d1f057439f94c6a4412e2e5c5082b82a30c9.tar.bz2
upstream-8299d1f057439f94c6a4412e2e5c5082b82a30c9.zip
bcm27xx: add kernel 5.10 support
Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted patches, wireless patches and defconfig patches. bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 4B v1.1 4G bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0479-dtoverlays-Add-an-overlay-for-the-VGA666-when-used-w.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.10/950-0479-dtoverlays-Add-an-overlay-for-the-VGA666-when-used-w.patch153
1 files changed, 153 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0479-dtoverlays-Add-an-overlay-for-the-VGA666-when-used-w.patch b/target/linux/bcm27xx/patches-5.10/950-0479-dtoverlays-Add-an-overlay-for-the-VGA666-when-used-w.patch
new file mode 100644
index 0000000000..0bfe1c9e30
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.10/950-0479-dtoverlays-Add-an-overlay-for-the-VGA666-when-used-w.patch
@@ -0,0 +1,153 @@
+From 99f2ab0dad947049e0fa62e88c1e4c1feb7ab379 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.com>
+Date: Thu, 4 Feb 2021 14:41:10 +0000
+Subject: [PATCH] dtoverlays: Add an overlay for the VGA666 when used
+ with vc4-kms-v3d
+
+Includes optional use of GPIOs 0&1 / BSC0 for DDC to read the EDID
+from the display.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 10 ++
+ .../dts/overlays/vc4-kms-vga666-overlay.dts | 100 ++++++++++++++++++
+ 3 files changed, 111 insertions(+)
+ create mode 100644 arch/arm/boot/dts/overlays/vc4-kms-vga666-overlay.dts
+
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -211,6 +211,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ vc4-kms-kippah-7inch.dtbo \
+ vc4-kms-v3d.dtbo \
+ vc4-kms-v3d-pi4.dtbo \
++ vc4-kms-vga666.dtbo \
+ vga666.dtbo \
+ w1-gpio.dtbo \
+ w1-gpio-pullup.dtbo \
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -3120,10 +3120,20 @@ Params: cma-512 CMA is 5
+ outputs)
+
+
++Name: vc4-kms-vga666
++Info: Enable the VGA666 (resistor ladder ADC) for the vc4-kms-v3d driver.
++ Requires vc4-kms-v3d to be loaded.
++Load: dtoverlay=vc4-kms-vga666,<param>
++Params: ddc Enables GPIOs 0&1 as the I2C to read the EDID
++ from the display. NB These are NOT 5V tolerant
++ GPIOs, therefore level shifters are required.
++
++
+ Name: vga666
+ Info: Overlay for the Fen Logic VGA666 board
+ This uses GPIOs 2-21 (so no I2C), and activates the output 2-3 seconds
+ after the kernel has started.
++ NOT for use with vc4-kms-v3d.
+ Load: dtoverlay=vga666
+ Params: <None>
+
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/vc4-kms-vga666-overlay.dts
+@@ -0,0 +1,100 @@
++/*
++ * vc4-kms-vga666-overlay.dts
++ * Configures a FenLogic or similar VGA666 DPI adapter when using the
++ * vc4-kms-v3d driver.
++ * If a suitable I2C level shifter is connected to GPIOs 0&1 and the VGA
++ * ID1/SDA (pin 12) and ID3/SCL (pin 15) lines, then there is the option to
++ * enable reading the EDID from the display.
++ */
++
++/dts-v1/;
++/plugin/;
++
++#include <dt-bindings/pinctrl/bcm2835.h>
++
++/ {
++ compatible = "brcm,bcm2835";
++
++ fragment@0 {
++ target-path = "/";
++ __overlay__ {
++ vga_connector: vga_connector {
++ compatible = "vga-connector";
++ label = "vga";
++
++ port {
++ vga_con_in: endpoint {
++ remote-endpoint = <&vga666_out>;
++ };
++ };
++ };
++
++ vga_dac {
++ compatible = "dumb-vga-dac";
++
++ ports {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ port@0 {
++ reg = <0>;
++
++ vga666_in: endpoint {
++ remote-endpoint = <&dpi_out>;
++ };
++ };
++
++ port@1 {
++ reg = <1>;
++
++ vga666_out: endpoint {
++ remote-endpoint = <&vga_con_in>;
++ };
++ };
++ };
++ };
++
++ };
++ };
++
++ fragment@1 {
++ target = <&dpi>;
++ __overlay__ {
++ status = "okay";
++
++ pinctrl-names = "default";
++ pinctrl-0 = <&dpi_18bit_gpio2>;
++
++ port {
++ dpi_out: endpoint@0 {
++ remote-endpoint = <&vga666_in>;
++ };
++ };
++ };
++ };
++
++ fragment@2 {
++ target = <&vga_connector>;
++ __dormant__ {
++ ddc-i2c-bus = <&i2c_vc>;
++ };
++ };
++
++ fragment@3 {
++ target = <&i2c0if>;
++ __dormant__ {
++ status = "okay";
++ };
++ };
++
++ fragment@4 {
++ target = <&i2c0mux>;
++ __dormant__ {
++ status = "okay";
++ };
++ };
++
++ __overrides__ {
++ ddc = <0>,"=2", <0>,"=3", <0>,"=4";
++ };
++};