MLK-12556 dts: i.mx6ul: configure the CMA region by default
authorJason Liu <jason.hui.liu@nxp.com>
Mon, 14 Mar 2016 08:40:12 +0000 (16:40 +0800)
committerLeonard Crestez <leonard.crestez@nxp.com>
Wed, 17 Apr 2019 23:31:07 +0000 (02:31 +0300)
CMA region is a must to avoid the multile memory mapping
for the DMAed memory and also benifit the large continuous
phisical memory allocation.

The default value is depend on the target system design and
user cases definition. This is not suitable to put this into
the soc.dtsi, thus we put it into the board DTS.

customer can override the value by changing cma size in DTS file.

Again, customer need set the CMA size correctly according to the
target system. The incorrectly CMA size can cause Linux kernel fail
to boot up.CMA disabled or CMA size set to zero is also not allowed.

Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>
Signed-off-by: Arulpandiyan Vadivel <arulpandiyan_vadivel@mentor.com>
Signed-off-by: Srikanth Krishnakar <Srikanth_Krishnakar@mentor.com>
arch/arm/boot/dts/imx6ul-14x14-ddr3-arm2.dts
arch/arm/boot/dts/imx6ul-14x14-evk.dts
arch/arm/boot/dts/imx6ul-14x14-lpddr2-arm2.dts
arch/arm/boot/dts/imx6ul-9x9-evk.dts

index 1257352..a19fd06 100644 (file)
                reg = <0x80000000 0x40000000>;
        };
 
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               linux,cma {
+                       compatible = "shared-dma-pool";
+                       reusable;
+                       size = <0x14000000>;
+                       linux,cma-default;
+               };
+       };
+
        pxp_v4l2 {
                compatible = "fsl,imx6ul-pxp-v4l2", "fsl,imx6sx-pxp-v4l2", "fsl,imx6sl-pxp-v4l2";
                status = "okay";
index e64ff12..1269e27 100644 (file)
                reg = <0x80000000 0x20000000>;
        };
 
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               linux,cma {
+                       compatible = "shared-dma-pool";
+                       reusable;
+                       size = <0x14000000>;
+                       linux,cma-default;
+               };
+       };
+
        backlight_display: backlight-display {
                compatible = "pwm-backlight";
                pwms = <&pwm1 0 5000000>;
index fcd4fca..8fb8758 100644 (file)
                reg = <0x80000000 0x20000000>;
        };
 
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               linux,cma {
+                       compatible = "shared-dma-pool";
+                       reusable;
+                       size = <0x14000000>;
+                       linux,cma-default;
+               };
+       };
+
        pxp_v4l2 {
                compatible = "fsl,imx6ul-pxp-v4l2", "fsl,imx6sx-pxp-v4l2", "fsl,imx6sl-pxp-v4l2";
                status = "okay";
index 0231687..4afebde 100644 (file)
                reg = <0x80000000 0x10000000>;
        };
 
+       reserved-memory {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges;
+
+               linux,cma {
+                       compatible = "shared-dma-pool";
+                       reusable;
+                       size = <0x6000000>;
+                       linux,cma-default;
+               };
+       };
+
        pxp_v4l2 {
                compatible = "fsl,imx6ul-pxp-v4l2", "fsl,imx6sx-pxp-v4l2", "fsl,imx6sl-pxp-v4l2";
                status = "okay";