Hello community,

here is the log from the commit of package raspberrypi-firmware-dt for 
openSUSE:Factory checked in at 2020-04-01 19:07:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/raspberrypi-firmware-dt (Old)
 and      /work/SRC/openSUSE:Factory/.raspberrypi-firmware-dt.new.3248 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "raspberrypi-firmware-dt"

Wed Apr  1 19:07:59 2020 rev:21 rq:790469 version:2020.02.03

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/raspberrypi-firmware-dt/raspberrypi-firmware-dt.changes
  2020-03-24 22:33:55.397135509 +0100
+++ 
/work/SRC/openSUSE:Factory/.raspberrypi-firmware-dt.new.3248/raspberrypi-firmware-dt.changes
        2020-04-01 19:08:41.307270615 +0200
@@ -1,0 +2,20 @@
+Tue Mar 31 21:34:26 UTC 2020 - Petr Tesařík <[email protected]>
+
+- Use proper quoting for the modalias Supplements (see also
+  https://github.com/openSUSE/libzypp/issues/216).
+
+-------------------------------------------------------------------
+Fri Mar 27 12:30:54 UTC 2020 - Petr Tesařík <[email protected]>
+
+- Add a modalias Supplements, so the package gets selected
+  automatically on a Raspberry Pi.
+
+-------------------------------------------------------------------
+Thu Mar 26 10:35:55 UTC 2020 - Nicolas Patricio Saenz Julienne 
<[email protected]>
+
+- Add upstream-cma.patch unifying CMA handling on all RPis (bsc#1167761)
+- Remove rpi4-cma-overlay.dts since not needed anymore (bsc#1167761)
+- Rename emmc2bus.patch to upstream-emmc2bus.patch to mark this is a reality 
upstream
+- Rename pcie-dma-ranges.patch to upstream-pcie-dma-ranges.patch to mark this 
is a reality upstream
+
+-------------------------------------------------------------------

Old:
----
  emmc2bus.patch
  pcie-dma-ranges.patch
  rpi4-cma-overlay.dts

New:
----
  upstream-cma.patch
  upstream-emmc2bus.patch
  upstream-pcie-dma-ranges.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ raspberrypi-firmware-dt.spec ++++++
--- /var/tmp/diff_new_pack.PNaCq4/_old  2020-04-01 19:08:50.535274767 +0200
+++ /var/tmp/diff_new_pack.PNaCq4/_new  2020-04-01 19:08:50.539274769 +0200
@@ -25,19 +25,20 @@
 URL:            https://github.com/raspberrypi/linux/
 Source:         raspberrypi-firmware-dt-%{version}.tar.xz
 Source1:        disable-vc4-overlay.dts
-Source2:        rpi4-cma-overlay.dts
-Source3:        rpi4-thermal.dts
-Source4:        rpi4-gpio-names-overlay.dts
-Source5:        uboot-bcm2835-pl011-overlay.dts
-Source6:        rpi4-firmware-dma-ranges-overlay.dts
+Source2:        rpi4-thermal.dts
+Source3:        rpi4-gpio-names-overlay.dts
+Source4:        uboot-bcm2835-pl011-overlay.dts
+Source5:        rpi4-firmware-dma-ranges-overlay.dts
 Source100:      get-from-git.sh
-Patch0:         pcie-dma-ranges.patch
-Patch1:         emmc2bus.patch
+Patch0:         upstream-pcie-dma-ranges.patch
+Patch1:         upstream-emmc2bus.patch
+Patch2:         upstream-cma.patch
 Requires:       raspberrypi-firmware
 BuildRequires:  dtc
 BuildRequires:  raspberrypi-firmware
 BuildArch:      noarch
 Conflicts:      kernel < 4.12.14
+Supplements:    modalias(of:NfirmwareT*Craspberrypi%2Cbcm2835-firmwareC*)
 
 %description
 This package provides additional device tree base files as well as overlays
@@ -47,6 +48,7 @@
 %setup
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 SRCDIR=`pwd`
@@ -61,7 +63,7 @@
 done
 
 export DTC_FLAGS="-R 0 -p 0 -@ -H epapr"
-for dts in arch/arm/boot/dts/overlays/*dts %{SOURCE1} %{SOURCE2} %{SOURCE3} 
%{SOURCE4} %{SOURCE5} %{SOURCE6}; do
+for dts in arch/arm/boot/dts/overlays/*dts %{SOURCE1} %{SOURCE2} %{SOURCE3} 
%{SOURCE4} %{SOURCE5}; do
     target=$(basename ${dts%*.dts})
     target=${target%*-overlay}
     mkdir -p $PPDIR/overlays

++++++ upstream-cma.patch ++++++
>From d857f139e84b419d8a68bcaf3ce7ad3bf3d0fc11 Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <[email protected]>
Date: Thu, 26 Mar 2020 11:30:30 +0100
Subject: [PATCH] ARM: dts: bcm283x: Unify CMA configuration

With the introduction of the Raspberry Pi 4 we were forced to explicitly
configure CMA's location, since arm64 defaults it into the ZONE_DMA32
memory area, which is not good enough to perform DMA operations on that
device. To bypass this limitation a dedicated CMA DT node was created,
explicitly indicating the acceptable memory range and size.

That said, compatibility between boards is a must on the Raspberry Pi
ecosystem so this creates a common CMA DT node so as for DT overlays to
be able to update CMA's properties regardless of the board being used.

Signed-off-by: Nicolas Saenz Julienne <[email protected]>
Reviewed-by: Phil Elwell <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
 arch/arm/boot/dts/bcm2711-rpi-4-b.dts |  4 ----
 arch/arm/boot/dts/bcm2711.dtsi        | 33 +++++++++++----------------
 arch/arm/boot/dts/bcm283x.dtsi        | 13 +++++++++++
 3 files changed, 26 insertions(+), 24 deletions(-)

diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts 
b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
index b42e23beacc9..8eb8abdf98ac 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
@@ -167,10 +167,6 @@ aliases {
        };
 
        /delete-node/ wifi-pwrseq;
-
-       reserved-memory {
-               /delete-node/ linux,cma;
-       };
 };
 
 &mmcnr {
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
index b56388ce1216..3fcfd3480c17 100644
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -12,26 +12,6 @@ / {
 
        interrupt-parent = <&gicv2>;
 
-       reserved-memory {
-               #address-cells = <2>;
-               #size-cells = <1>;
-               ranges;
-
-               /*
-                * arm64 reserves the CMA by default somewhere in ZONE_DMA32,
-                * that's not good enough for the BCM2711 as some devices can
-                * only address the lower 1G of memory (ZONE_DMA).
-                */
-               linux,cma {
-                       compatible = "shared-dma-pool";
-                       size = <0x2000000>; /* 32MB */
-                       alloc-ranges = <0x0 0x00000000 0x40000000>;
-                       reusable;
-                       linux,cma-default;
-               };
-       };
-
-
        soc {
                /*
                 * Defined ranges:
@@ -857,6 +837,19 @@ pin-rts {
        };
 };
 
+&rmem {
+       #address-cells = <2>;
+};
+
+&cma {
+       /*
+        * arm64 reserves the CMA by default somewhere in ZONE_DMA32,
+        * that's not good enough for the BCM2711 as some devices can
+        * only address the lower 1G of memory (ZONE_DMA).
+        */
+       alloc-ranges = <0x0 0x00000000 0x40000000>;
+};
+
 &i2c0 {
        compatible = "brcm,bcm2711-i2c", "brcm,bcm2835-i2c";
        interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index 839491628e87..6128baed83c2 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -30,6 +30,19 @@ chosen {
                stdout-path = "serial0:115200n8";
        };
 
+       rmem: reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               cma: linux,cma {
+                       compatible = "shared-dma-pool";
+                       size = <0x4000000>; /* 64MB */
+                       reusable;
+                       linux,cma-default;
+               };
+       };
+
        thermal-zones {
                cpu_thermal: cpu-thermal {
                        polling-delay-passive = <0>;
-- 
2.25.1

++++++ upstream-emmc2bus.patch ++++++
>From ef4aaff92087fa708c47fa4df44caee77a7c3508 Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <[email protected]>
Date: Wed, 4 Mar 2020 18:47:55 +0100
Subject: [PATCH] ARM: dts: bcm2711: Move emmc2 into its own bus

Depending on bcm2711's revision its emmc2 controller might have
different DMA constraints. Raspberry Pi 4's firmware will take care of
updating those, but only if a certain alias is found in the device tree.
So, move emmc2 into its own bus, so as not to pollute other devices with
dma-ranges changes and create the emmc2bus alias.

Based in Phil ELwell's downstream implementation.

Signed-off-by: Nicolas Saenz Julienne <[email protected]>
---
 arch/arm/boot/dts/bcm2711-rpi-4-b.dts |  1 +
 arch/arm/boot/dts/bcm2711.dtsi        | 25 ++++++++++++++++++++-----
 2 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts 
b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
index e5978243aa9c..2814c0904e6b 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
@@ -19,6 +19,7 @@ memory@0 {
        };
 
        aliases {
+               emmc2bus = &emmc2bus;
                ethernet0 = &genet;
        };
 
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
index e2f6ffb00aa9..3dd55936819b 100644
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -252,17 +252,32 @@ pwm1: pwm@7e20c800 {
                        status = "disabled";
                };
 
+               hvs@7e400000 {
+                       interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
+               };
+       };
+
+       /*
+       * emmc2 has different DMA constraints based on SoC revisions. It was
+       * moved into its own bus, so as for RPi4's firmware to update them.
+       * The firmware will find whether the emmc2bus alias is defined, and if
+       * so, it'll edit the dma-ranges property below accordingly.
+       */
+       emmc2bus: emmc2bus {
+               compatible = "simple-bus";
+               #address-cells = <2>;
+               #size-cells = <1>;
+
+               ranges = <0x0 0x7e000000  0x0 0xfe000000  0x01800000>;
+               dma-ranges = <0x0 0xc0000000  0x0 0x00000000  0x40000000>;
+
                emmc2: emmc2@7e340000 {
                        compatible = "brcm,bcm2711-emmc2";
-                       reg = <0x7e340000 0x100>;
+                       reg = <0x0 0x7e340000 0x100>;
                        interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&clocks BCM2711_CLOCK_EMMC2>;
                        status = "disabled";
                };
-
-               hvs@7e400000 {
-                       interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
-               };
        };
 
        arm-pmu {
-- 
2.25.1

++++++ upstream-pcie-dma-ranges.patch ++++++
>From f517c7f214d438b63092d397a9f944c1e3f1dcc2 Mon Sep 17 00:00:00 2001
From: Nicolas Saenz Julienne <[email protected]>
Date: Thu, 27 Feb 2020 12:23:35 +0100
Subject: [PATCH] ARM: dts: bcm2711: Fix pci-brcmstb's dma-ranges

The B0 revision of boards can only DMA to the lower 3GB of memory. Honor
that limitation and let the firmware update it when relevant.

Signed-off-by: Nicolas Saenz Julienne <[email protected]>
---
 arch/arm/boot/dts/bcm2711-rpi.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/bcm2711-rpi.dtsi 
b/arch/arm/boot/dts/bcm2711-rpi.dtsi
index 8011cb6361d3..7b2ddf36d32c 100644
--- a/arch/arm/boot/dts/bcm2711-rpi.dtsi
+++ b/arch/arm/boot/dts/bcm2711-rpi.dtsi
@@ -102,7 +102,7 @@ IRQ_TYPE_LEVEL_HIGH
                 * to scb:0x0_00000000-ffffffff
                 */
                dma-ranges = <0x02000000 0x0 0x00000000  0x0 0x00000000
-                             0x1 0x00000000>;
+                             0x0 0xc0000000>;
                status = "okay";
        };
 
-- 
2.25.1


Reply via email to