LPDDR4x memory size configuration

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPDDR4x memory size configuration

Jump to solution
1,052 Views
bora
Contributor II

I use imx93 for my custom board and with MT53E256M16D1 LPDDR4X RAM. I changed in the device tree 

reserved-memory {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		linux,cma {
			compatible = "shared-dma-pool";
			reusable;
			alloc-ranges = <0 0x80000000 0 0x20000000>;
			size = <0 0x02000000>;
			linux,cma-default;
		};

		ethosu_mem: ethosu_region@80000000 {
			compatible = "shared-dma-pool";
			reusable;
			reg = <0x0 0x80000000 0x0 0x02000000>;
		};

		vdev0vring0: vdev0vring0@84000000 {
			reg = <0 0x84000000 0 0x8000>;
			no-map;
		};

		vdev0vring1: vdev0vring1@84008000 {
			reg = <0 0x84008000 0 0x8000>;
			no-map;
		};

		vdev1vring0: vdev1vring0@84010000 {
			reg = <0 0x84010000 0 0x8000>;
			no-map;
		};

		vdev1vring1: vdev1vring1@84018000 {
			reg = <0 0x84018000 0 0x8000>;
			no-map;
		};

		rsc_table: rsc-table@2021e000 {
			reg = <0 0x2021e000 0 0x1000>;
			no-map;
		};

		vdevbuffer: vdevbuffer@84020000 {
			compatible = "shared-dma-pool";
			reg = <0 0x84020000 0 0x100000>;
			no-map;
		};

		ele_reserved: ele-reserved@84120000 {
			compatible = "shared-dma-pool";
			reg = <0 0x84120000 0 0x100000>;
			no-map;
		};
	};

and in the u-boot I use this header file imx93_evk.h and changed only define PHYS_SDRAM_SIZE

 

but some how I still get memory errors. do I need to change anything ?

Labels (2)
0 Kudos
Reply
1 Solution
797 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi @bora,

We have installed the MT53E1G16D1FW-046 memory module on the FRDM board.

I've configured both U-Boot and the Linux Kernel to utilize 512MB of memory.

 

Best regards,
Chavira

View solution in original post

0 Kudos
Reply
7 Replies
1,013 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi @bora,

Thank you for contacting NXP Support!

 

The original custom configuration is wrong because it defines CMA’s alloc-ranges to cover the entire DDR (0x80000000–0x9FFFFFFF) while also reserving Ethos-U at 0x80000000–0x81FFFFFF and ELE at 0x84120000, creating overlaps. Additionally, Ethos-U is marked as reusable without no-map, allowing the kernel to reuse that memory, and ELE is not explicitly linked to its driver via memory-region. This breaks memory isolation, can cause corruption and DMA errors, and does not follow NXP’s best practices, which always separate CMA from dedicated pools and place ELE in a safe block outside CMA.

 

Try the next recommendation:

 

    reserved-memory {
        #address-cells = <2>;
        #size-cells   = <2>;
        ranges;

        ethosu_mem: ethosu_region@80000000 {
            compatible = "shared-dma-pool";
            reg = <0 0x80000000 0 0x02000000>;
            no-map;   
        };

        linux,cma {
            compatible = "shared-dma-pool";
            reusable;
            alloc-ranges = <0 0x82000000 0 0x1E000000>;
			size = <0 0x04000000>;
            linux,cma-default;
        };
        vdev0vring0: vdev0vring0@84000000 { reg = <0 0x84000000 0 0x00008000>; no-map; }; /* 32KB */
        vdev0vring1: vdev0vring1@84008000 { reg = <0 0x84008000 0 0x00008000>; no-map; }; /* 32KB */
        vdev1vring0: vdev1vring0@84010000 { reg = <0 0x84010000 0 0x00008000>; no-map; }; /* 32KB */
        vdev1vring1: vdev1vring1@84018000 { reg = <0 0x84018000 0 0x00008000>; no-map; }; /* 32KB */

        vdevbuffer: vdevbuffer@84020000 {
            compatible = "shared-dma-pool";
            reg = <0 0x84020000 0 0x00100000>;
            no-map;
        };

        ele_reserved: ele-reserved@90000000 {
            compatible = "shared-dma-pool";
            reg = <0 0x90000000 0 0x00100000>; 
            no-map;
        };
    };

 

If you are using optee you should update the ddr size in the next file too:

https://github.com/nxp-imx/imx-optee-os/blob/e0a3e77735941e6057a1994a576b83a93ea0bdb9/core/arch/arm/...

 

Best Regards,
Chavira

 

0 Kudos
Reply
988 Views
bora
Contributor II
Thank you for the configuration now gallium softpipe works for the qt6, but how can I make it work via llvmpipe ? I still get segmentation fault, do you know maybe the packages I need to install?
0 Kudos
Reply
967 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi @bora,

I haven’t used LLVMpipe personally, but based on what I found online, the limited amount of RAM on your board might be the issue. Since LLVMpipe performs 3D rendering using the CPU instead of a GPU, it typically requires more memory to handle the workload efficiently. With low RAM, the system may struggle to render graphics smoothly.

 

 

0 Kudos
Reply
903 Views
bora
Contributor II
I get this error :
root@imx93-11x11-lpddr4x-evk:/usr/share/examples/widgets/widgets/calendarwidget/bin# dmesg | grep fdt
[ 0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'ethosu_region@80000000': base 0x0000000080000000, size 32 MiB

is it relevant ?
0 Kudos
Reply
850 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi @bora,

 

I tested the following Device Tree configuration using the iMX93-FRDM board:

	reserved-memory {
        #address-cells = <2>;
        #size-cells   = <2>;
        ranges;

        linux,cma {
            compatible = "shared-dma-pool";
            reg = <0 0x88000000 0 0x04000000>;   /* 64 MB @ 0x8800_0000 */
            reusable;
            linux,cma-default;
        };

        /* Ethos-U: mover lejos del arranque del kernel (32 MB) */
        ethosu_mem: ethosu_region@8c000000 {
            compatible = "shared-dma-pool";
            reg = <0 0x8c000000 0 0x02000000>;   
            no-map;                               
        };

        vdev0vring0: vdev0vring0@84000000 { reg = <0 0x84000000 0 0x00008000>; no-map; };
        vdev0vring1: vdev0vring1@84008000 { reg = <0 0x84008000 0 0x00008000>; no-map; };
        vdev1vring0: vdev1vring0@84010000 { reg = <0 0x84010000 0 0x00008000>; no-map; };
        vdev1vring1: vdev1vring1@84018000 { reg = <0 0x84018000 0 0x00008000>; no-map; };

        rsc_table: rsc-table@2021e000 { reg = <0 0x2021e000 0 0x00001000>; no-map; }; /* OCRAM */

        vdevbuffer: vdevbuffer@84020000 {
            compatible = "shared-dma-pool";
            reg = <0 0x84020000 0 0x00100000>;   /* 1 MB */
            no-map;
        };

        ele_reserved: ele-reserved@90000000 {
            compatible = "shared-dma-pool";
            reg = <0 0x90000000 0 0x00100000>;   /* 1 MB @ 0x9000_0000 */
            no-map;
        };
    };



No errors are observed:

Chavira_0-1761666429986.png

Chavira_1-1761666458518.png

 

Best Regards,

Chavira

0 Kudos
Reply
806 Views
bora
Contributor II
0 Kudos
Reply
798 Views
Chavira
NXP TechSupport
NXP TechSupport

Hi @bora,

We have installed the MT53E1G16D1FW-046 memory module on the FRDM board.

I've configured both U-Boot and the Linux Kernel to utilize 512MB of memory.

 

Best regards,
Chavira

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2190760%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELPDDR4x%20memory%20size%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2190760%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20use%20imx93%20for%20my%20custom%20board%20and%20with%26nbsp%3BMT53E256M16D1%20LPDDR4X%20RAM.%20I%20changed%20in%20the%20device%20tree%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3Ereserved-memory%20%7B%0A%09%09%23address-cells%20%3D%20%26lt%3B2%26gt%3B%3B%0A%09%09%23size-cells%20%3D%20%26lt%3B2%26gt%3B%3B%0A%09%09ranges%3B%0A%0A%09%09linux%2Ccma%20%7B%0A%09%09%09compatible%20%3D%20%22shared-dma-pool%22%3B%0A%09%09%09reusable%3B%0A%09%09%09alloc-ranges%20%3D%20%26lt%3B0%200x80000000%200%200x20000000%26gt%3B%3B%0A%09%09%09size%20%3D%20%26lt%3B0%200x02000000%26gt%3B%3B%0A%09%09%09linux%2Ccma-default%3B%0A%09%09%7D%3B%0A%0A%09%09ethosu_mem%3A%20ethosu_region%4080000000%20%7B%0A%09%09%09compatible%20%3D%20%22shared-dma-pool%22%3B%0A%09%09%09reusable%3B%0A%09%09%09reg%20%3D%20%26lt%3B0x0%200x80000000%200x0%200x02000000%26gt%3B%3B%0A%09%09%7D%3B%0A%0A%09%09vdev0vring0%3A%20vdev0vring0%4084000000%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B0%200x84000000%200%200x8000%26gt%3B%3B%0A%09%09%09no-map%3B%0A%09%09%7D%3B%0A%0A%09%09vdev0vring1%3A%20vdev0vring1%4084008000%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B0%200x84008000%200%200x8000%26gt%3B%3B%0A%09%09%09no-map%3B%0A%09%09%7D%3B%0A%0A%09%09vdev1vring0%3A%20vdev1vring0%4084010000%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B0%200x84010000%200%200x8000%26gt%3B%3B%0A%09%09%09no-map%3B%0A%09%09%7D%3B%0A%0A%09%09vdev1vring1%3A%20vdev1vring1%4084018000%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B0%200x84018000%200%200x8000%26gt%3B%3B%0A%09%09%09no-map%3B%0A%09%09%7D%3B%0A%0A%09%09rsc_table%3A%20rsc-table%402021e000%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B0%200x2021e000%200%200x1000%26gt%3B%3B%0A%09%09%09no-map%3B%0A%09%09%7D%3B%0A%0A%09%09vdevbuffer%3A%20vdevbuffer%4084020000%20%7B%0A%09%09%09compatible%20%3D%20%22shared-dma-pool%22%3B%0A%09%09%09reg%20%3D%20%26lt%3B0%200x84020000%200%200x100000%26gt%3B%3B%0A%09%09%09no-map%3B%0A%09%09%7D%3B%0A%0A%09%09ele_reserved%3A%20ele-reserved%4084120000%20%7B%0A%09%09%09compatible%20%3D%20%22shared-dma-pool%22%3B%0A%09%09%09reg%20%3D%20%26lt%3B0%200x84120000%200%200x100000%26gt%3B%3B%0A%09%09%09no-map%3B%0A%09%09%7D%3B%0A%09%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3Eand%20in%20the%20u-boot%20I%20use%20this%20header%20file%20imx93_evk.h%20and%20changed%20only%26nbsp%3Bdefine%20PHYS_SDRAM_SIZE%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Ebut%20some%20how%20I%20still%20get%20memory%20errors.%20do%20I%20need%20to%20change%20anything%20%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2190760%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ELinux%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EYocto%20Project%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2195126%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPDDR4x%20memory%20size%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2195126%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F245887%22%20target%3D%22_blank%22%3E%40bora%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3EWe%20have%20installed%20the%20%3CSTRONG%3EMT53E1G16D1FW-046%3C%2FSTRONG%3E%20memory%20module%20on%20the%20%3CSTRONG%3EFRDM%20board%3C%2FSTRONG%3E.%3C%2FP%3E%0A%3CP%3EI've%20configured%20both%20%3CSTRONG%3EU-Boot%3C%2FSTRONG%3E%20and%20the%20%3CSTRONG%3ELinux%20Kernel%3C%2FSTRONG%3E%20to%20utilize%20%3CSTRONG%3E512MB%3C%2FSTRONG%3E%20of%20memory.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20regards%2C%3CBR%20%2F%3EChavira%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2194812%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPDDR4x%20memory%20size%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2194812%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHi%20Chavira%20which%20RAM%20do%20you%20use%3F%20I%20got%20on%20my%20board%20this%20one%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fwww.micron.com%2Fproducts%2Fmemory%2Fdram-components%2Flpddr4%2Fpart-catalog%2Fpart-detail%2Fmt53e256m16d1ds-046-wt-b%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.micron.com%2Fproducts%2Fmemory%2Fdram-components%2Flpddr4%2Fpart-catalog%2Fpart-detail%2Fmt53e256m16d1ds-046-wt-b%3C%2FA%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2194413%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPDDR4x%20memory%20size%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2194413%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F245887%22%20target%3D%22_blank%22%3E%40bora%3C%2FA%3E%2C%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EI%20tested%20the%20following%20%3CSTRONG%3EDevice%20Tree%20configuration%20%3C%2FSTRONG%3Eusing%20the%20iMX93-FRDM%20board%3A%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3E%09reserved-memory%20%7B%0A%20%20%20%20%20%20%20%20%23address-cells%20%3D%20%26lt%3B2%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%23size-cells%20%20%20%3D%20%26lt%3B2%26gt%3B%3B%0A%20%20%20%20%20%20%20%20ranges%3B%0A%0A%20%20%20%20%20%20%20%20linux%2Ccma%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20compatible%20%3D%20%22shared-dma-pool%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20reg%20%3D%20%26lt%3B0%200x88000000%200%200x04000000%26gt%3B%3B%20%20%20%2F*%2064%20MB%20%40%200x8800_0000%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20reusable%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20linux%2Ccma-default%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20%2F*%20Ethos-U%3A%20mover%20lejos%20del%20arranque%20del%20kernel%20(32%20MB)%20*%2F%0A%20%20%20%20%20%20%20%20ethosu_mem%3A%20ethosu_region%408c000000%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20compatible%20%3D%20%22shared-dma-pool%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20reg%20%3D%20%26lt%3B0%200x8c000000%200%200x02000000%26gt%3B%3B%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20no-map%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20vdev0vring0%3A%20vdev0vring0%4084000000%20%7B%20reg%20%3D%20%26lt%3B0%200x84000000%200%200x00008000%26gt%3B%3B%20no-map%3B%20%7D%3B%0A%20%20%20%20%20%20%20%20vdev0vring1%3A%20vdev0vring1%4084008000%20%7B%20reg%20%3D%20%26lt%3B0%200x84008000%200%200x00008000%26gt%3B%3B%20no-map%3B%20%7D%3B%0A%20%20%20%20%20%20%20%20vdev1vring0%3A%20vdev1vring0%4084010000%20%7B%20reg%20%3D%20%26lt%3B0%200x84010000%200%200x00008000%26gt%3B%3B%20no-map%3B%20%7D%3B%0A%20%20%20%20%20%20%20%20vdev1vring1%3A%20vdev1vring1%4084018000%20%7B%20reg%20%3D%20%26lt%3B0%200x84018000%200%200x00008000%26gt%3B%3B%20no-map%3B%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20rsc_table%3A%20rsc-table%402021e000%20%7B%20reg%20%3D%20%26lt%3B0%200x2021e000%200%200x00001000%26gt%3B%3B%20no-map%3B%20%7D%3B%20%2F*%20OCRAM%20*%2F%0A%0A%20%20%20%20%20%20%20%20vdevbuffer%3A%20vdevbuffer%4084020000%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20compatible%20%3D%20%22shared-dma-pool%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20reg%20%3D%20%26lt%3B0%200x84020000%200%200x00100000%26gt%3B%3B%20%20%20%2F*%201%20MB%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20no-map%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20ele_reserved%3A%20ele-reserved%4090000000%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20compatible%20%3D%20%22shared-dma-pool%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20reg%20%3D%20%26lt%3B0%200x90000000%200%200x00100000%26gt%3B%3B%20%20%20%2F*%201%20MB%20%40%200x9000_0000%20*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20no-map%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%0A%3CP%3ENo%20errors%20are%20observed%3A%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Chavira_0-1761666429986.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Chavira_0-1761666429986.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F362913i03EFE432D44DB28F%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Chavira_0-1761666429986.png%22%20alt%3D%22Chavira_0-1761666429986.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Chavira_1-1761666458518.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Chavira_1-1761666458518.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F362914i8D121861DD4CAB3C%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Chavira_1-1761666458518.png%22%20alt%3D%22Chavira_1-1761666458518.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20Regards%2C%3C%2FP%3E%0A%3CP%3EChavira%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2194175%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPDDR4x%20memory%20size%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2194175%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EI%20get%20this%20error%20%3A%3CBR%20%2F%3Eroot%40imx93-11x11-lpddr4x-evk%3A%2Fusr%2Fshare%2Fexamples%2Fwidgets%2Fwidgets%2Fcalendarwidget%2Fbin%23%20dmesg%20%7C%20grep%20fdt%3CBR%20%2F%3E%5B%200.000000%5D%20OF%3A%20fdt%3A%20Reserved%20memory%3A%20failed%20to%20reserve%20memory%20for%20node%20'ethosu_region%4080000000'%3A%20base%200x0000000080000000%2C%20size%2032%20MiB%3CBR%20%2F%3E%3CBR%20%2F%3Eis%20it%20relevant%20%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2192636%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPDDR4x%20memory%20size%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2192636%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F245887%22%20target%3D%22_blank%22%3E%40bora%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3EI%20haven%E2%80%99t%20used%20LLVMpipe%20personally%2C%20but%20based%20on%20what%20I%20found%20online%2C%20the%20limited%20amount%20of%20RAM%20on%20your%20board%20might%20be%20the%20issue.%20Since%20LLVMpipe%20performs%203D%20rendering%20using%20the%20CPU%20instead%20of%20a%20GPU%2C%20it%20typically%20requires%20more%20memory%20to%20handle%20the%20workload%20efficiently.%20With%20low%20RAM%2C%20the%20system%20may%20struggle%20to%20render%20graphics%20smoothly.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2192394%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPDDR4x%20memory%20size%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2192394%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EThank%20you%20for%20the%20configuration%20now%20gallium%20softpipe%20works%20for%20the%20qt6%2C%20but%20how%20can%20I%20make%20it%20work%20via%20llvmpipe%20%3F%20I%20still%20get%20segmentation%20fault%2C%20do%20you%20know%20maybe%20the%20packages%20I%20need%20to%20install%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2190963%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPDDR4x%20memory%20size%20configuration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2190963%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F245887%22%20target%3D%22_blank%22%3E%40bora%3C%2FA%3E%2C%3C%2FP%3E%0A%3CP%3EThank%20you%20for%20contacting%20NXP%20Support!%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EThe%20original%20custom%20configuration%20is%20wrong%20because%20it%20defines%20CMA%E2%80%99s%20alloc-ranges%20to%20cover%20the%20entire%20DDR%20(0x80000000%E2%80%930x9FFFFFFF)%20while%20also%20reserving%20Ethos-U%20at%200x80000000%E2%80%930x81FFFFFF%20and%20ELE%20at%200x84120000%2C%20creating%20overlaps.%20Additionally%2C%20Ethos-U%20is%20marked%20as%20reusable%20without%20no-map%2C%20allowing%20the%20kernel%20to%20reuse%20that%20memory%2C%20and%20ELE%20is%20not%20explicitly%20linked%20to%20its%20driver%20via%20memory-region.%20This%20breaks%20memory%20isolation%2C%20can%20cause%20corruption%20and%20DMA%20errors%2C%20and%20does%20not%20follow%20NXP%E2%80%99s%20best%20practices%2C%20which%20always%20separate%20CMA%20from%20dedicated%20pools%20and%20place%20ELE%20in%20a%20safe%20block%20outside%20CMA.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3ETry%20the%20next%20recommendation%3A%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%3E%20%20%20%20reserved-memory%20%7B%0A%20%20%20%20%20%20%20%20%23address-cells%20%3D%20%26lt%3B2%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%23size-cells%20%20%20%3D%20%26lt%3B2%26gt%3B%3B%0A%20%20%20%20%20%20%20%20ranges%3B%0A%0A%20%20%20%20%20%20%20%20ethosu_mem%3A%20ethosu_region%4080000000%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20compatible%20%3D%20%22shared-dma-pool%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20reg%20%3D%20%26lt%3B0%200x80000000%200%200x02000000%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20no-map%3B%20%20%20%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20linux%2Ccma%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20compatible%20%3D%20%22shared-dma-pool%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20reusable%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20alloc-ranges%20%3D%20%26lt%3B0%200x82000000%200%200x1E000000%26gt%3B%3B%0A%09%09%09size%20%3D%20%26lt%3B0%200x04000000%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20linux%2Ccma-default%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20vdev0vring0%3A%20vdev0vring0%4084000000%20%7B%20reg%20%3D%20%26lt%3B0%200x84000000%200%200x00008000%26gt%3B%3B%20no-map%3B%20%7D%3B%20%2F*%2032KB%20*%2F%0A%20%20%20%20%20%20%20%20vdev0vring1%3A%20vdev0vring1%4084008000%20%7B%20reg%20%3D%20%26lt%3B0%200x84008000%200%200x00008000%26gt%3B%3B%20no-map%3B%20%7D%3B%20%2F*%2032KB%20*%2F%0A%20%20%20%20%20%20%20%20vdev1vring0%3A%20vdev1vring0%4084010000%20%7B%20reg%20%3D%20%26lt%3B0%200x84010000%200%200x00008000%26gt%3B%3B%20no-map%3B%20%7D%3B%20%2F*%2032KB%20*%2F%0A%20%20%20%20%20%20%20%20vdev1vring1%3A%20vdev1vring1%4084018000%20%7B%20reg%20%3D%20%26lt%3B0%200x84018000%200%200x00008000%26gt%3B%3B%20no-map%3B%20%7D%3B%20%2F*%2032KB%20*%2F%0A%0A%20%20%20%20%20%20%20%20vdevbuffer%3A%20vdevbuffer%4084020000%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20compatible%20%3D%20%22shared-dma-pool%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20reg%20%3D%20%26lt%3B0%200x84020000%200%200x00100000%26gt%3B%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20no-map%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%20%20ele_reserved%3A%20ele-reserved%4090000000%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20compatible%20%3D%20%22shared-dma-pool%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20reg%20%3D%20%26lt%3B0%200x90000000%200%200x00100000%26gt%3B%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20no-map%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CBR%20%2F%3E%0A%3CP%3EIf%20you%20are%20using%20optee%20you%20should%20update%20the%20ddr%20size%20in%20the%20next%20file%20too%3A%3CBR%20%2F%3E%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Fimx-optee-os%2Fblob%2Fe0a3e77735941e6057a1994a576b83a93ea0bdb9%2Fcore%2Farch%2Farm%2Fplat-imx%2Fconf.mk%23L457%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Fimx-optee-os%2Fblob%2Fe0a3e77735941e6057a1994a576b83a93ea0bdb9%2Fcore%2Farch%2Farm%2Fplat-imx%2Fconf.mk%23L457%3C%2FA%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3EBest%20Regards%2C%3CBR%20%2F%3EChavira%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E