diff options
author | Nicolas Saenz Julienne <nsaenzjulienne@suse.de> | 2020-01-10 20:29:35 +0300 |
---|---|---|
committer | Florian Fainelli <f.fainelli@gmail.com> | 2020-01-16 02:41:00 +0300 |
commit | c5a1e5375d19bd4001c59dc5d482ac5b1ba51cbf (patch) | |
tree | 84f439f9c9fb3b9331dea573086d31d24afeda5d /arch/arm/boot/dts/bcm2711.dtsi | |
parent | 0100f76d96346b44e7310a5cfb102124b6667643 (diff) | |
download | linux-c5a1e5375d19bd4001c59dc5d482ac5b1ba51cbf.tar.xz |
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 <nsaenzjulienne@suse.de>
Reviewed-by: Phil Elwell <phil@raspberrypi.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Diffstat (limited to 'arch/arm/boot/dts/bcm2711.dtsi')
-rw-r--r-- | arch/arm/boot/dts/bcm2711.dtsi | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi index ccf917de5e1a..5ff4ddca6125 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: @@ -826,6 +806,19 @@ }; }; +&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>; |