Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 1 addition & 5 deletions arch/arm/boot/dts/bcm2711-rpi-4-b.dts
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@

/ {
chosen {
bootargs = "coherent_pool=1M 8250.nr_uarts=1 cma=64M";
bootargs = "coherent_pool=1M 8250.nr_uarts=1";
};

aliases {
Expand All @@ -215,10 +215,6 @@
};

/delete-node/ wifi-pwrseq;

reserved-memory {
/delete-node/ linux,cma;
};
};

&mmcnr {
Expand Down
32 changes: 13 additions & 19 deletions arch/arm/boot/dts/bcm2711.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +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;
};
};

vc4: gpu {
compatible = "brcm,bcm2711-vc5";
status = "disabled";
Expand Down Expand Up @@ -992,6 +973,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>;
Expand Down
13 changes: 13 additions & 0 deletions arch/arm/boot/dts/bcm283x.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,19 @@
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>;
Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
audiosense-pi.dtbo \
audremap.dtbo \
balena-fin.dtbo \
cma.dtbo \
dht11.dtbo \
dionaudio-loco.dtbo \
dionaudio-loco-v2.dtbo \
Expand Down
19 changes: 19 additions & 0 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -554,6 +554,19 @@ Info: This overlay is now deprecated - see i2c-sensor
Load: <Deprecated>


Name: cma
Info: Set custom CMA sizes, only use if you know what you are doing, might
clash with other overlays like vc4-fkms-v3d and vc4-kms-v3d.
Load: dtoverlay=cma,<param>=<val>
Params: cma-256 CMA is 256MB (needs 1GB)
cma-192 CMA is 192MB (needs 1GB)
cma-128 CMA is 128MB
cma-96 CMA is 96MB
cma-64 CMA is 64MB
cma-size CMA size in bytes, 4MB aligned
cma-default Use upstream's default value


Name: dht11
Info: Overlay for the DHT11/DHT21/DHT22 humidity/temperature sensors
Also sometimes found with the part number(s) AM230x.
Expand Down Expand Up @@ -2675,6 +2688,8 @@ Params: cma-256 CMA is 256MB (needs 1GB)
cma-128 CMA is 128MB
cma-96 CMA is 96MB
cma-64 CMA is 64MB
cma-size CMA size in bytes, 4MB aligned
cma-default Use upstream's default value


Name: vc4-kms-kippah-7inch
Expand All @@ -2692,6 +2707,8 @@ Params: cma-256 CMA is 256MB (needs 1GB)
cma-128 CMA is 128MB
cma-96 CMA is 96MB
cma-64 CMA is 64MB
cma-size CMA size in bytes, 4MB aligned
cma-default Use upstream's default value
audio Enable or disable audio over HDMI (default "on")


Expand All @@ -2703,6 +2720,8 @@ Params: cma-256 CMA is 256MB
cma-128 CMA is 128MB
cma-96 CMA is 96MB
cma-64 CMA is 64MB
cma-size CMA size in bytes, 4MB aligned
cma-default Use upstream's default value
audio Enable or disable audio over HDMI0 (default
"on")
audio1 Enable or disable audio over HDMI1 (default
Expand Down
32 changes: 32 additions & 0 deletions arch/arm/boot/dts/overlays/cma-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* cma.dts
*/

/dts-v1/;
/plugin/;

/ {
compatible = "brcm,bcm2835";

fragment@0 {
target = <&cma>;
frag0: __overlay__ {
/*
* The default size when using this overlay is 256 MB
* and should be kept as is for backwards
* compatibility.
*/
size = <0x10000000>;
};
};

__overrides__ {
cma-256 = <&frag0>,"size:0=",<0x10000000>;
cma-192 = <&frag0>,"size:0=",<0xC000000>;
cma-128 = <&frag0>,"size:0=",<0x8000000>;
cma-96 = <&frag0>,"size:0=",<0x6000000>;
cma-64 = <&frag0>,"size:0=",<0x4000000>;
cma-size = <&frag0>,"size:0"; /* in bytes, 4MB aligned */
cma-default = <0>,"-0";
};
};
56 changes: 16 additions & 40 deletions arch/arm/boot/dts/overlays/upstream-overlay.dts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// redo: ovmerge -c vc4-kms-v3d-overlay.dts,cma-96 dwc2-overlay.dts,dr_mode=otg
// redo: ovmerge -c vc4-kms-v3d-overlay.dts,cma-default dwc2-overlay.dts,dr_mode=otg

/dts-v1/;
/plugin/;
Expand All @@ -8,114 +8,90 @@
/ {
compatible = "brcm,bcm2835";
fragment@0 {
target-path = "/chosen";
target = <&cma>;
__dormant__ {
bootargs = "cma=256M";
size = <0x10000000>;
};
};
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 = <&i2c2>;
__overlay__ {
status = "okay";
};
};
fragment@6 {
fragment@2 {
target = <&fb>;
__overlay__ {
status = "disabled";
};
};
fragment@7 {
fragment@3 {
target = <&pixelvalve0>;
__overlay__ {
status = "okay";
};
};
fragment@8 {
fragment@4 {
target = <&pixelvalve1>;
__overlay__ {
status = "okay";
};
};
fragment@9 {
fragment@5 {
target = <&pixelvalve2>;
__overlay__ {
status = "okay";
};
};
fragment@10 {
fragment@6 {
target = <&hvs>;
__overlay__ {
status = "okay";
};
};
fragment@11 {
fragment@7 {
target = <&hdmi>;
__overlay__ {
status = "okay";
};
};
fragment@12 {
fragment@8 {
target = <&v3d>;
__overlay__ {
status = "okay";
};
};
fragment@13 {
fragment@9 {
target = <&vc4>;
__overlay__ {
status = "okay";
};
};
fragment@14 {
fragment@10 {
target = <&clocks>;
__overlay__ {
claim-clocks = <BCM2835_PLLD_DSI0 BCM2835_PLLD_DSI1 BCM2835_PLLH_AUX BCM2835_PLLH_PIX>;
};
};
fragment@15 {
fragment@11 {
target = <&vec>;
__overlay__ {
status = "okay";
};
};
fragment@16 {
fragment@12 {
target = <&txp>;
__overlay__ {
status = "okay";
};
};
fragment@17 {
fragment@13 {
target = <&hdmi>;
__dormant__ {
dmas;
};
};
fragment@18 {
fragment@14 {
target = <&usb>;
#address-cells = <1>;
#size-cells = <1>;
Expand Down
Loading