From 8299d1f057439f94c6a4412e2e5c5082b82a30c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sat, 21 Aug 2021 10:54:34 +0200 Subject: bcm27xx: add kernel 5.10 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- ...Add-an-overlay-for-the-VGA666-when-used-w.patch | 153 +++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 target/linux/bcm27xx/patches-5.10/950-0479-dtoverlays-Add-an-overlay-for-the-VGA666-when-used-w.patch (limited to 'target/linux/bcm27xx/patches-5.10/950-0479-dtoverlays-Add-an-overlay-for-the-VGA666-when-used-w.patch') 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 +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 +--- + 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, ++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: + +--- /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 ++ ++/ { ++ 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"; ++ }; ++}; -- cgit v1.2.3