i.MX 8M Quad 4GB LPDDR4 RAM

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

i.MX 8M Quad 4GB LPDDR4 RAM

Jump to solution
1,604 Views
Alex_Chang_633
Contributor III

Hi Teams,

We tried to extend i.MX 8M Quad from 3 GB RAM to 4 GB RAM

(Windows 10 22H2 with WSL2 Ubuntu 20.04 LTS, BSP Package is from NXP: W21H2-1-5-0-imx-windows-bsp.zip)

We have created *.ds by MX8M_LPDDR4_RPA_v33.xlsx. We also ran NXP i.MX/Mscale DDR Tool 3.31 with specific DDR Script and calibration successful.

After that, we have updated: uboot-imx/include/configs/imx8mq_evk.h as follows.

 

#define CONFIG_SYS_SDRAM_BASE   0x40000000
#define PHYS_SDRAM              0x40000000
#define PHYS_SDRAM_SIZE			0xC0000000	/* 3GB DDR */
/* We append extend definition as follows */
#define PHYS_SDRAM_2			0x100000000
#define PHYS_SDRAM_2_SIZE		0x40000000	/* 1 GB */

 

Then, we have replaced: uboot-imx/board/freescale/imx8mq_evk/lpddr4_timing.c by the code that was generated by NXP i.MX/Mscale DDR Tool 3.31.

After we have deployed our new firmware to the target board, it will keep restarting.
But we can see the RAM was extended to 4 GB as follows.

 

U-Boot SPL 2022.04-00001-gcbab410fa1-dirty (Feb 29 2024 - 14:54:06 +0800)
Can't find PMIC:PFUZE100
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3200MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0:  RNG instantiated
Normal Boot
Trying to boot from MMC2


U-Boot 2022.04-00001-gcbab410fa1-dirty (Feb 29 2024 - 14:54:06 +0800)

CPU:   i.MX8MQ rev2.1 1300 MHz (running at 800 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 30C
Reset cause: POR
Model: NXP i.MX8MQ EVK
DRAM:  4 GiB
setup_typec: tcpc init failed, err=-5
Core:  78 devices, 26 uclasses, devicetree: separate
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

[*]-Video Link 0 (1280 x 720)
        [0] display-controller@32e00000, video
        [1] hdmi@32c00000, display
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiated

 BuildInfo:
  - ATF 28ad156

switch to partitions #0, OK
mmc1 is current device
flash target is MMC:1
Net:   Could not get PHY for FEC0: addr 0
Could not get PHY for FEC0: addr 0
No ethernet found.

Fastboot: Normal
Normal Boot
starting USB...
Bus usb@38100000: Failed to initialize board for imx8m USB
probe failed, error -5
Bus usb@38200000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@38200000 for devices... unable to get device descriptor (error=-1)
6 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
## Loading kernel from FIT Image at 40480000 ...
   Using 'conf-1' configuration
   Verifying Hash Integrity ... OK
   Trying 'uefi' kernel subimage
     Description:  UEFI
     Created:      2024-02-29   6:56:03 UTC
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x404800a4
     Data Size:    841710 Bytes = 822 KiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x50004000
     Entry Point:  0x50004000
     Hash algo:    sha256
     Hash value:   bf84fec8d0696216fcc80cd8c2206ad2d5dbac240fe26a3715e78f3fd1f5ed06
   Verifying Hash Integrity ... sha256+ OK
   Uncompressing Kernel Image
FDT and ATAGS support not compiled in

resetting ...

 

So, can you give us some advice about this question? Are we missing any steps? Or maybe there's something we're doing wrong.

Thanks for your help!

0 Kudos
Reply
1 Solution
1,554 Views
pengyong_zhang
NXP Employee
NXP Employee

Hi, @Alex_Chang_633 

according this message in boot log:

FDT and ATAGS support not compiled in

it looks like than built uboot without

#define CONFIG_SUPPORT_PASSING_ATAGS 1.
This line should be added in to the include/configs/imx8mq_evk.h when the patches/uboot-imx.patch is applied by running the ./Init.sh script.
 
- Can you make sure please, that all the patches in the "patches" folder were correctly applied?
pengyong_zhang_0-1709256567805.png

 

- Are you able to build the firmware from the BSP for i.MX 8M Quad EVK and boot with it to the Windows 10 IoT?

Best Regards

View solution in original post

0 Kudos
Reply
7 Replies
1,531 Views
pengyong_zhang
NXP Employee
NXP Employee

@Alex_Chang_633 

I'm glad to help you out, You are welcome.

0 Kudos
Reply
1,555 Views
pengyong_zhang
NXP Employee
NXP Employee

Hi, @Alex_Chang_633 

according this message in boot log:

FDT and ATAGS support not compiled in

it looks like than built uboot without

#define CONFIG_SUPPORT_PASSING_ATAGS 1.
This line should be added in to the include/configs/imx8mq_evk.h when the patches/uboot-imx.patch is applied by running the ./Init.sh script.
 
- Can you make sure please, that all the patches in the "patches" folder were correctly applied?
pengyong_zhang_0-1709256567805.png

 

- Are you able to build the firmware from the BSP for i.MX 8M Quad EVK and boot with it to the Windows 10 IoT?

Best Regards

0 Kudos
Reply
1,540 Views
Alex_Chang_633
Contributor III

Hi @pengyong_zhang ,

Thanks for your help!

After I have removed and created firmware environment again, I have checked imx8mq_evk.h content as follows.

#define CONFIG_SYS_SDRAM_BASE	0x40000000
#define PHYS_SDRAM				0x40000000
//#define PHYS_SDRAM_SIZE			0xC0000000 /* 3GB DDR */
#define PHYS_SDRAM_SIZE			0x100000000	/* 4 GB DDR */

#define CONFIG_MXC_UART_BASE		UART1_BASE_ADDR

#define CONFIG_SUPPORT_PASSING_ATAGS 1
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_CMDLINE_TAG 1
#define CONFIG_INITRD_TAG 1

When content contains #define CONFIG_SUPPORT_PASSING_ATAGS 1, I can boot up my target device and I can see log with DRAM: 4 GiB.

Again, thanks for you and NXP Teams help.

0 Kudos
Reply
1,543 Views
Alex_Chang_633
Contributor III

Hi @pengyong_zhang ,

After I have created environment again (run ./Init.sh without any error)

The situation is the same as follows. How do I make sure those patches have applied correctly?nxp-win10-iot-bsp.02.png

 

Thanks for you and NXP Team support.

0 Kudos
Reply
1,549 Views
Alex_Chang_633
Contributor III

Hi @pengyong_zhang 

Thanks for your quick reply!

  •  Are you able to build the firmware from the BSP for i.MX 8M Quad EVK and boot with it to the Windows 10 IoT?
    Yes, if I didn't modify #define PHYS_SDRAM_SIZE value, I can run ./buildme64.sh -b MX8M_EVK -t all -c and burn that firmware into microSD with Windows 10 IoT to boot up target device
  • Can you make sure please, that all the patches in the "patches" folder were correctly applied?
    I tried to repeat all procedures from the manual to prepare environment again. (i.MX Windows 10 IoT User’s Guide - 2.2 Building ARM64 Firmware)
    nxp-win10-iot-bsp.01.png

I will try to rebuild firmware and test again and share my result here.

Thanks for you and NXP Teams help.

 

0 Kudos
Reply
1,583 Views
pengyong_zhang
NXP Employee
NXP Employee

Hi, @Alex_Chang_633 

Please change the value of  PHYS_SDRAM_SIZE = 0x1 0000 0000, And re-try your test.

B.R

0 Kudos
Reply
1,580 Views
Alex_Chang_633
Contributor III

Hi @pengyong_zhang ,

Thanks for your quick reply.

We have changed imx8mq_evk.h as follows.

#define CONFIG_SYS_SDRAM_BASE   0x40000000
#define PHYS_SDRAM              0x40000000
#define PHYS_SDRAM_SIZE			0x100000000	/* 4 GB DDR */

But after we have deployed new firmware to our microSD card and boot from it, the target board has the same problem to keep restarting as follows.

U-Boot SPL 2022.04-00001-gcbab410fa1-dirty (Feb 29 2024 - 17:10:55 +0800)
Can't find PMIC:PFUZE100
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3200MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0:  RNG instantiated
Normal Boot
Trying to boot from MMC2


U-Boot 2022.04-00001-gcbab410fa1-dirty (Feb 29 2024 - 17:10:55 +0800)

CPU:   i.MX8MQ rev2.1 1300 MHz (running at 800 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 30C
Reset cause: POR
Model: NXP i.MX8MQ EVK
DRAM:  4 GiB
setup_typec: tcpc init failed, err=-5
Core:  78 devices, 26 uclasses, devicetree: separate
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment

[*]-Video Link 0 (1280 x 720)
        [0] display-controller@32e00000, video
        [1] hdmi@32c00000, display
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiated

 BuildInfo:
  - ATF 28ad156

switch to partitions #0, OK
mmc1 is current device
flash target is MMC:1
Net:   Could not get PHY for FEC0: addr 0
Could not get PHY for FEC0: addr 0
No ethernet found.

Fastboot: Normal
Normal Boot
starting USB...
Bus usb@38100000: Failed to initialize board for imx8m USB
probe failed, error -5
Bus usb@38200000: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb@38200000 for devices... 6 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
## Loading kernel from FIT Image at 40480000 ...
   Using 'conf-1' configuration
   Verifying Hash Integrity ... OK
   Trying 'uefi' kernel subimage
     Description:  UEFI
     Created:      2024-02-29   9:12:49 UTC
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x404800a4
     Data Size:    841710 Bytes = 822 KiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x50004000
     Entry Point:  0x50004000
     Hash algo:    sha256
     Hash value:   5451f418158fc61aa3b4d94ef76195282652b15e2a4d42bbc0e6ae982c013069
   Verifying Hash Integrity ... sha256+ OK
   Uncompressing Kernel Image
FDT and ATAGS support not compiled in

resetting ...

Thanks for you and NXP Teams support.

0 Kudos
Reply