Thanks @jock   I have created a new dtb with the following change:   linux,cma { compatible = "shared-dma-pool"; reusable; size = <0x0 0x2000000>; alignment = <0x0 0x400000>; linux,cma-default; }; This should reduce the cma size to 32MB (0x2000000) if I understand correctly?   However even with that change I still see "cma: Reserved 256 MiB" in dmesg, not 32MB as I would expect. I have also tried various different "cma=x" values on the kernel