How to access to the top address of OCRAM for i.MX8QXP

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

How to access to the top address of OCRAM for i.MX8QXP

Jump to solution
1,571 Views
Kazuma_Sasaki
Senior Contributor I

Hello,

From RM (IMX8DQXPRM_Rev.0.pdf)

pastedImage_1.png

OCRAM is mapped to address of 0x100000 to 0x13FFFF.

But, I could not access to address range from 0x100000 to 0x117FFF by u-boot prompt.

Can we use all of OCRAM memory for user programming? or should we use OCRAM address start from 0x118000?

how do we enable OCRAM memory range 0x100000 to 0x117FFF when all OCRAM memory is available?

Here is my test log:

My test environment is 

  Board : iMX8QXP MEK

  Linux BSP : v4.14.98_2.3.0_ga

U-Boot 2018.03-4.14.98-2.3.0+g0e207921e9 (Dec 19 2019 - 02:35:38 +0000)

CPU: Freescale i.MX8QXP revC A35 at 1200 MHz at 32C
Model: Freescale i.MX8QXP MEK
Board: iMX8QXP MEK
Boot: SD1
DRAM: 2.8 GiB
VService: Connection is ok on MU mu@5d230000
TCPC: Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C1 0x50]
MMC: FSL_SDHC: 0, FSL_SDHC: 1

// I can access from 0x118000 without any error.

=> md.l 0x118000 1
00118000: 55eafd5e ^..U
=> mw.l 0x118000 0xa5a5a5a5 1
=> md.l 0x118000 1
00118000: a5a5a5a5

// System re-booted when I access to before 0x118000.

=> md.l 0x117FFC 1
00117ffc:"Synchronous Abort" handler, esr 0x96000007
elr: 000000008007f1cc lr : 000000008007f148 (reloc)
elr: 0000000087ecc1cc lr : 0000000087ecc148
x0 : 0000000000000009 x1 : 0000000000000000
x2 : 000000000000003a x3 : 0000000000117ffc
x4 : 0000000000000000 x5 : 0000000087ee385f
x6 : 0000000000000004 x7 : 000000000000000f
x8 : 000000008565edb0 x9 : 0000000000000008
x10: 00000000ffffffd0 x11: 0000000000000006
x12: 000000000001869f x13: 000000000000a434
x14: 000000008565f0ec x15: 0000000000000008
x16: 0000000000002080 x17: 0000000000000000
x18: 000000008566ada8 x19: 0000000000000001
x20: 0000000000117ffc x21: 0000000000117ffc
x22: 0000000087ee2d1f x23: 0000000000000008
x24: 0000000000000001 x25: 0000000000000004
x26: 0000000000000004 x27: 000000008565eef8
x28: 0000000000000000 x29: 000000008565ee70

// After rebooted I tried following command.

=> md.l 0x00100000 1
00100000:"Synchronous Abort" handler, esr 0x96000007
elr: 000000008007f1cc lr : 000000008007f148 (reloc)
elr: 0000000087ecc1cc lr : 0000000087ecc148
x0 : 0000000000000009 x1 : 0000000000000000
x2 : 000000000000003a x3 : 0000000000100000
x4 : 0000000000000000 x5 : 0000000087ee385f
x6 : 0000000000000004 x7 : 000000000000000f
x8 : 000000008565edb0 x9 : 0000000000000008
x10: 00000000ffffffd0 x11: 0000000000000006
x12: 000000000001869f x13: 000000000000a434
x14: 000000008565f0ec x15: 0000000000000008
x16: 0000000000002080 x17: 0000000000000000
x18: 000000008566ada8 x19: 0000000000000001
x20: 0000000000100000 x21: 0000000000100000
x22: 0000000087ee2d1f x23: 0000000000000008
x24: 0000000000000001 x25: 0000000000000004
x26: 0000000000000004 x27: 000000008565eef8
x28: 0000000000000000 x29: 000000008565ee70

Best Regards,

Kazuma Sasaki.

Tags (2)
0 Kudos
1 Solution
1,510 Views
igorpadykov
NXP Employee
NXP Employee

Hi Kazuma

first please look at

System Controller Firmware 101 - Resource management service 

SCFW Porting Kit

>could not access to address range from 0x100000 to 0x117FFF by u-boot prompt.

>Can we use all of OCRAM memory for user programming? or should we use OCRAM address start >from 0x118000?

memory from OCRAM address start to 0x118000 is allocated to ATF partition,

refer to #define OCRAM_ALIAS_SIZE 0x18000, OCRAM_BASE + OCRAM_ALIAS:

imx8qx_bl31_setup.c\imx8qx\imx\plat - imx-atf - i.MX ARM Trusted firmware 

platform_def.h\include\imx8qx\imx\plat - imx-atf - i.MX ARM Trusted firmware 

It is not recommended to use it as it is reserved for internal usage in nxp software.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
2 Replies
1,511 Views
igorpadykov
NXP Employee
NXP Employee

Hi Kazuma

first please look at

System Controller Firmware 101 - Resource management service 

SCFW Porting Kit

>could not access to address range from 0x100000 to 0x117FFF by u-boot prompt.

>Can we use all of OCRAM memory for user programming? or should we use OCRAM address start >from 0x118000?

memory from OCRAM address start to 0x118000 is allocated to ATF partition,

refer to #define OCRAM_ALIAS_SIZE 0x18000, OCRAM_BASE + OCRAM_ALIAS:

imx8qx_bl31_setup.c\imx8qx\imx\plat - imx-atf - i.MX ARM Trusted firmware 

platform_def.h\include\imx8qx\imx\plat - imx-atf - i.MX ARM Trusted firmware 

It is not recommended to use it as it is reserved for internal usage in nxp software.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,510 Views
Kazuma_Sasaki
Senior Contributor I

Hi Igor,

Thank you for your support. I got it.

Best Regards,

Kazuma Sasaki.

0 Kudos