<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic LX2160A OCRAM usage in Layerscape</title>
    <link>https://community.nxp.com/t5/Layerscape/LX2160A-OCRAM-usage/m-p/1430519#M10236</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I am writing a custom BL2 boot loader using ATF reference code.&lt;/P&gt;&lt;P&gt;I saw that BL1 uses the low addresses of OCRAM in boot process, and also that BL31 uses a portion at the end of OCRAM.&lt;/P&gt;&lt;P&gt;What are the exact areas reserved for BL1/BL31 use? Which area is considered "safe" for BL2 execution?&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Dmitri&lt;/P&gt;</description>
    <pubDate>Fri, 18 Mar 2022 06:27:41 GMT</pubDate>
    <dc:creator>dmitri_lechtchinski</dc:creator>
    <dc:date>2022-03-18T06:27:41Z</dc:date>
    <item>
      <title>LX2160A OCRAM usage</title>
      <link>https://community.nxp.com/t5/Layerscape/LX2160A-OCRAM-usage/m-p/1430519#M10236</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I am writing a custom BL2 boot loader using ATF reference code.&lt;/P&gt;&lt;P&gt;I saw that BL1 uses the low addresses of OCRAM in boot process, and also that BL31 uses a portion at the end of OCRAM.&lt;/P&gt;&lt;P&gt;What are the exact areas reserved for BL1/BL31 use? Which area is considered "safe" for BL2 execution?&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Dmitri&lt;/P&gt;</description>
      <pubDate>Fri, 18 Mar 2022 06:27:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LX2160A-OCRAM-usage/m-p/1430519#M10236</guid>
      <dc:creator>dmitri_lechtchinski</dc:creator>
      <dc:date>2022-03-18T06:27:41Z</dc:date>
    </item>
    <item>
      <title>Re: LX2160A OCRAM usage</title>
      <link>https://community.nxp.com/t5/Layerscape/LX2160A-OCRAM-usage/m-p/1431056#M10240</link>
      <description>&lt;P&gt;Please refer to the following code in&amp;nbsp;plat/nxp/soc-lx2160a/soc.def, the size of&amp;nbsp;NXP_ROM_RSVD OCRAM memory space is used for bootrom, after this reserved area, all other OCRAM memory space can be used for BL2.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;# Location of BL2 on OCRAM&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;BL2_BASE_ADDR := $(shell echo $$(( $(OCRAM_START_ADDR) + $(NXP_ROM_RSVD) + $(CSF_HDR_SZ) )))&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;# Covert to HEX to be used by create_pbl.mk&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;BL2_BASE := $(shell echo "0x"$$(echo "obase=16; ${BL2_BASE_ADDR}" | bc))&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;# BL2_HDR_LOC is at (OCRAM_ADDR + NXP_ROM_RSVD)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;# This value BL2_HDR_LOC + CSF_HDR_SZ should not overalp with BL2_BASE&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;BL2_HDR_LOC_HDR ?= $(shell echo $$(( $(OCRAM_START_ADDR) + $(NXP_ROM_RSVD) )))&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;# Covert to HEX to be used by create_pbl.mk&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;BL2_HDR_LOC := $$(echo "obase=16; ${BL2_HDR_LOC_HDR}" | bc)&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;In addition, BL31 uses DDR memory space, didn't use OCRAM.&lt;/P&gt;
&lt;P&gt;Please refer to the following in plat/nxp/common/include/default/plat_default_def.h&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;#define BL31_BASE NXP_SECURE_DRAM_ADDR&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Mar 2022 04:54:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/LX2160A-OCRAM-usage/m-p/1431056#M10240</guid>
      <dc:creator>yipingwang</dc:creator>
      <dc:date>2022-03-21T04:54:21Z</dc:date>
    </item>
  </channel>
</rss>

