From dc11cb9f890197f976033255e09023c28c988b76 Mon Sep 17 00:00:00 2001 From: Phil Elwell 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 --- 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 diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile index dbc525d69fe3a..658fca1dc68e2 100644 --- 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 \ diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README index 7ff74b1558279..0db75e63f6e16 100644 --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -2653,6 +2653,13 @@ Info: This overlay has been deprecated and removed because it is no longer Load: +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: + + Name: vc4-fkms-v3d Info: Enable Eric Anholt's DRM VC4 V3D driver on top of the dispmanx display stack. diff --git a/arch/arm/boot/dts/overlays/overlay_map.dts b/arch/arm/boot/dts/overlays/overlay_map.dts index c4f7f33fb5da5..a20c0e079cc86 100644 --- 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"; diff --git a/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts b/arch/arm/boot/dts/overlays/upstream-pi4-overlay.dts new file mode 100644 index 0000000000000..2db343ef2237f --- /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 + +/ { + 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"; + }; + }; +};