openwrt/target/linux/bcm27xx/patches-5.4/950-0619-Add-upstream-and-upstream-pi4-to-overlay_map.patch
Álvaro Fernández Rojas f07e572f64 bcm27xx: import latest patches from the RPi foundation
bcm2708: boot tested on RPi B+ v1.2
bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G
bcm2710: boot tested on RPi 3B v1.2
bcm2711: boot tested on RPi 4B v1.1 4G

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-18 23:42:32 +01:00

230 lines
4.4 KiB
Diff

From 0a65f76d99bce7685e57ae506eedc499c551ac83 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Mon, 6 Apr 2020 09:47:42 +0100
Subject: [PATCH] Add upstream and upstream-pi4 to overlay_map
Because the upstream overlay applies vc4-kms-v3d, of which Pi 4 has its
own version, there also needs to be a Pi 4 version - vc4-kms-v3d-pi4.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
arch/arm/boot/dts/overlays/Makefile | 1 +
arch/arm/boot/dts/overlays/README | 7 +
arch/arm/boot/dts/overlays/overlay_map.dts | 9 +
.../dts/overlays/upstream-pi4-overlay.dts | 161 ++++++++++++++++++
4 files changed, 178 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -183,6 +183,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
uart5.dtbo \
udrc.dtbo \
upstream.dtbo \
+ upstream-pi4.dtbo \
vc4-fkms-v3d.dtbo \
vc4-kms-kippah-7inch.dtbo \
vc4-kms-v3d.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -2653,6 +2653,13 @@ Info: This overlay has been deprecated
Load: <Deprecated>
+Name: upstream-pi4
+Info: Allow usage of downstream .dtb with upstream kernel on Pi 4. Comprises
+ the vc4-kms-v3d-pi4 and dwc2 overlays.
+Load: dtoverlay=upstream-pi4
+Params: <None>
+
+
Name: vc4-fkms-v3d
Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx
display stack.
--- a/arch/arm/boot/dts/overlays/overlay_map.dts
+++ b/arch/arm/boot/dts/overlays/overlay_map.dts
@@ -105,10 +105,19 @@
bcm2711;
};
+ upstream {
+ bcm2835;
+ bcm2711 = "upstream-pi4";
+ };
+
upstream-aux-interrupt {
deprecated = "no longer necessary";
};
+ upstream-pi4 {
+ bcm2711;
+ };
+
vc4-kms-v3d {
bcm2835;
bcm2711 = "vc4-kms-v3d-pi4";
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts
@@ -0,0 +1,161 @@
+// redo: ovmerge -c vc4-kms-v3d-pi4-overlay.dts,cma-96 dwc2-overlay.dts,dr_mode=otg
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/clock/bcm2835.h>
+
+/ {
+ compatible = "brcm,bcm2835";
+ fragment@0 {
+ target-path = "/chosen";
+ __dormant__ {
+ bootargs = "cma=256M";
+ };
+ };
+ fragment@1 {
+ target-path = "/chosen";
+ __dormant__ {
+ bootargs = "cma=192M";
+ };
+ };
+ fragment@2 {
+ target-path = "/chosen";
+ __dormant__ {
+ bootargs = "cma=128M";
+ };
+ };
+ fragment@3 {
+ target-path = "/chosen";
+ __overlay__ {
+ bootargs = "cma=96M";
+ };
+ };
+ fragment@4 {
+ target-path = "/chosen";
+ __dormant__ {
+ bootargs = "cma=64M";
+ };
+ };
+ fragment@5 {
+ target = <&ddc0>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@6 {
+ target = <&ddc1>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@7 {
+ target = <&hdmi0>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@8 {
+ target = <&hdmi1>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@9 {
+ target = <&hvs>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@10 {
+ target = <&pixelvalve0>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@11 {
+ target = <&pixelvalve1>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@12 {
+ target = <&pixelvalve2>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@13 {
+ target = <&pixelvalve3>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@14 {
+ target = <&pixelvalve4>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@15 {
+ target = <&v3d>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@16 {
+ target = <&vc4>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@17 {
+ target = <&txp>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+ fragment@18 {
+ target = <&fb>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+ fragment@19 {
+ target = <&firmwarekms>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+ fragment@20 {
+ target = <&vec>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+ fragment@21 {
+ target = <&hdmi0>;
+ __dormant__ {
+ dmas;
+ };
+ };
+ fragment@22 {
+ target = <&hdmi1>;
+ __dormant__ {
+ dmas;
+ };
+ };
+ fragment@23 {
+ target = <&usb>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ __overlay__ {
+ compatible = "brcm,bcm2835-usb";
+ dr_mode = "otg";
+ g-np-tx-fifo-size = <32>;
+ g-rx-fifo-size = <558>;
+ g-tx-fifo-size = <512 512 512 512 512 256 256>;
+ status = "okay";
+ };
+ };
+};