AnsweredAssumed Answered

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

Question asked by Kazuma Sasaki on May 24, 2020
Latest reply on May 28, 2020 by Kazuma Sasaki

Hello,

 

From RM (IMX8DQXPRM_Rev.0.pdf)

 

 

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.

Outcomes