<?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 Re: Loading OPTEE + Android (or Ubuntu) on Nitrogen8M mini (iMX8MM) in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Loading-OPTEE-Android-or-Ubuntu-on-Nitrogen8M-mini-iMX8MM/m-p/1361441#M182133</link>
    <description>&lt;P&gt;Hi Darius&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Nitrogen8M mini is third party board developed and supported by its vendor boundary devices.&lt;/P&gt;
&lt;P&gt;However may be useful to look at below links:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://boundarydevices.com/high-assurance-boot-hab-i-mx8m-edition/" target="_blank"&gt;https://boundarydevices.com/high-assurance-boot-hab-i-mx8m-edition/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/i-MX8M-OPTEE-TA-Build/m-p/806613/highlight/true" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/i-MX8M-OPTEE-TA-Build/m-p/806613/highlight/true&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/Enabling-OP-TEE-in-i-MX8MM-EVK-FIT-image/m-p/1160528" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/Enabling-OP-TEE-in-i-MX8MM-EVK-FIT-image/m-p/1160528&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.toradex.com/t/u-boot-spl-to-enable-optee-on-colibri-imx8qxp/13810/7" target="_blank"&gt;https://community.toradex.com/t/u-boot-spl-to-enable-optee-on-colibri-imx8qxp/13810/7&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 26 Oct 2021 07:49:20 GMT</pubDate>
    <dc:creator>igorpadykov</dc:creator>
    <dc:date>2021-10-26T07:49:20Z</dc:date>
    <item>
      <title>Loading OPTEE + Android (or Ubuntu) on Nitrogen8M mini (iMX8MM)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Loading-OPTEE-Android-or-Ubuntu-on-Nitrogen8M-mini-iMX8MM/m-p/1361071#M182084</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I am trying to load OPTEE in Secure World and Android in Normal World on a Boundary Devices Nitrogen8M Mini rev 2 board (from the iMX8MM family).&lt;/P&gt;&lt;P&gt;First I am trying to get OPTEE to work by following boot processes from similar posts. I have managed to load ATF + Ubuntu using a FIT image. However when trying to include OPTEE the boot process log stops when jumping into the OPTEE entry address.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Could you please help me with the correct build process or figure out what is causing the OPTEE load/boot to fail? &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Is there a good way to figure out if OPTEE is not loaded at 0xbe000000 or if the the the problem is early in the OPTEE execution?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Is there a better (working) build process for loading OPTEE + Android/Ubuntu on this board?&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My build process is the following:&lt;/P&gt;&lt;P&gt;IMX-ATF:&lt;/P&gt;&lt;PRE&gt;export ARCH=arm&lt;BR /&gt;export CROSS_COMPILE=${CROSS_COMPILE64}&lt;BR /&gt;make PLAT=imx8mm NEED_BL32=yes SPD=opteed BL32_BASE=0xbe000000 bl31&lt;/PRE&gt;&lt;P&gt;IMX-OPTEE:&lt;/P&gt;&lt;PRE&gt;export ARCH=arm&lt;BR /&gt;make CROSS_COMPILE=${CROSS_COMPILE} CROSS_COMPILE64=${CROSS_COMPILE64} \&lt;BR /&gt;PLATFORM=imx PLATFORM_FLAVOR=mx8mqevk CFG_TEE_CORE_LOG_LEVEL=4 CFG_IMG_ADDR=0xbe000000 \ CFG_IMG_ENTRY=0xbe000000 O=${O}/build.mx8mqevk &amp;amp;&amp;amp; \&lt;BR /&gt;CFG_TEE_CORE_DEBUG=y CFG_RPMB_FS=y CFG_RPMB_TESTKEY=y CFG_RPMB_WRITE_KEY=y CFG_REE_FS=n \&lt;BR /&gt;CFG_TA_DEBUG=y CFG_TEE_CORE_TA_TRACE=1 CFG_TEE_TA_LOG_LEVEL=4 \&lt;BR /&gt;CFG_IMXCRYPT=y CFG_CORE_HEAP_SIZE=131072 \&lt;BR /&gt;${CROSS_COMPILE64}objcopy -O binary ${O}/build.mx8mqevk/core/tee.elf ${O}/build.mx8mqevk/tee.bin&lt;/PRE&gt;&lt;P&gt;U-BOOT:&lt;/P&gt;&lt;PRE&gt;export ARCH=arm&lt;BR /&gt;export CROSS_COMPILE=${CROSS_COMPILE64}&lt;/PRE&gt;&lt;PRE&gt;wget &lt;A href="https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-7.9.bin" target="_blank" rel="noopener"&gt;https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-7.9.bin&lt;/A&gt;&lt;BR /&gt;chmod +x firmware-imx-7.9.bin ~$ ./firmware-imx-7.9.bin ~$ cp firmware-imx-7.9/firmware/hdmi/cadence/signed_hdmi_imx8m.bin u-boot-imx6/ ~$ cp firmware-imx-7.9/firmware/ddr/synopsys/lpddr4*.bin u-boot-imx6/make nitrogen8mm_rev2_2g_defconfig&lt;BR /&gt;Enable optee using menuconfig:&lt;BR /&gt;CONFIG_OPTEE=y&lt;BR /&gt;CONFIG_OPTEE_LOAD_ADDR=0xbe000000&lt;BR /&gt;CONFIG_OPTEE_TZDRAM_SIZE=0x3000000&lt;BR /&gt;CONFIG_OPTEE_TZDRAM_BASE=0xbe000000&lt;BR /&gt;&lt;BR /&gt;copy tee.bin into u-boot-imx6&lt;BR /&gt;copy bl31.bin into u-boot-imx6 (renamed to bl31-iMX8MM.bin)&lt;BR /&gt;make flash.bin -j4&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Loading image:&lt;/P&gt;&lt;PRE&gt;./uuu u-boot-imx6/flash.bin &lt;/PRE&gt;&lt;P&gt;Flash log:&lt;/P&gt;&lt;PRE&gt;parsing spl/u-boot-spl.cfgout&lt;BR /&gt;========= IVT HEADER [HDMI FW] =========&lt;BR /&gt;header.tag: 0x0&lt;BR /&gt;header.length: 0x0&lt;BR /&gt;header.version: 0x0&lt;BR /&gt;entry: 0x0&lt;BR /&gt;reserved1: 0x0&lt;BR /&gt;dcd_ptr: 0x0&lt;BR /&gt;boot_data_ptr: 0x0&lt;BR /&gt;self: 0x0&lt;BR /&gt;csf: 0x0&lt;BR /&gt;reserved2: 0x0&lt;BR /&gt;boot_data.start: 0x0&lt;BR /&gt;boot_data.size: 0x0&lt;BR /&gt;boot_data.plugin: 0x0&lt;BR /&gt;========= IVT HEADER [LOADER IMAGE] =========&lt;BR /&gt;header.tag: 0xd1&lt;BR /&gt;header.length: 0x2000&lt;BR /&gt;header.version: 0x41&lt;BR /&gt;entry: 0x7e1000&lt;BR /&gt;reserved1: 0x57c00&lt;BR /&gt;dcd_ptr: 0x0&lt;BR /&gt;boot_data_ptr: 0x7e0fe0&lt;BR /&gt;self: 0x7e0fc0&lt;BR /&gt;csf: 0x80b1c0&lt;BR /&gt;reserved2: 0x0&lt;BR /&gt;boot_data.start: 0x7e0bc0&lt;BR /&gt;boot_data.size: 0x2c600&lt;BR /&gt;boot_data.plugin: 0x0&lt;BR /&gt;========= OFFSET dump =========&lt;BR /&gt;Loader IMAGE:&lt;BR /&gt;header_image_off 0x0&lt;BR /&gt;image_off 0x40&lt;BR /&gt;csf_off 0x2a200&lt;BR /&gt;spl hab block: 0x7e0fc0 0x0 0x2a200&lt;BR /&gt;&lt;BR /&gt;Second Loader IMAGE:&lt;BR /&gt;sld_header_off 0x57c00&lt;BR /&gt;sld_csf_off 0x58c20&lt;BR /&gt;sld hab block: 0x401fcdc0 0x57c00 0x1020&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Console when booting:&lt;/P&gt;&lt;PRE&gt;U-Boot SPL 2018.07-36636-gb728f6e-dirty (Oct 25 2021 - 12:21:57 -0400) &lt;BR /&gt;config to do 3000 1d training. &lt;BR /&gt;trying rank 0 &lt;BR /&gt;config to do 3000 1d training. &lt;BR /&gt;config to do 3000 2d training. &lt;BR /&gt;config to do 400 1d training. &lt;BR /&gt;config to do 100 1d training. &lt;BR /&gt;Normal Boot &lt;BR /&gt;Trying to boot from USB SDP &lt;BR /&gt;SDP: initialize... &lt;BR /&gt;SDP: handle requests... &lt;BR /&gt;Downloading file of size 1242568 to 0x40400000... done &lt;BR /&gt;Jumping to header at 0x40400000 &lt;BR /&gt;Header Tag is not an IMX image &lt;BR /&gt;Found header at 0x4042ba00 &lt;BR /&gt;NOTICE: BL31: v2.2(release):9f6114f-dirty &lt;BR /&gt;NOTICE: BL31: Built : 11:13:34, Oct 25 2021 &lt;BR /&gt;INFO: GICv3 with legacy support detected. ARM GICv3 driver initialized in EL3 &lt;BR /&gt;INFO: BL31: Initializing runtime services &lt;BR /&gt;INFO: BL31: Initializing BL32 &lt;BR /&gt;INFO: Entry point address = 0xbe000000 &lt;BR /&gt;INFO: SPSR = 0x3c5 &lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also changed in u-boot make file and make_fit_image.sh TEE_LOAD_ADDR = 0xbe000000&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Used repositories:&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/boundarydevices/imx-atf.git" target="_blank" rel="noopener"&gt;https://github.com/boundarydevices/imx-atf.git&lt;/A&gt;&lt;/P&gt;&lt;P&gt;git://source.codeaurora.org/external/imx/imx-optee-os&lt;/P&gt;&lt;P class=""&gt;&lt;A href="https://github.com/boundarydevices/u-boot-imx6" target="_blank" rel="noopener"&gt;https://github.com/boundarydevices/u-boot-imx6&lt;/A&gt; -b boundary-v2018.07&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;Darius&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Oct 2021 23:22:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Loading-OPTEE-Android-or-Ubuntu-on-Nitrogen8M-mini-iMX8MM/m-p/1361071#M182084</guid>
      <dc:creator>dariussuciu04</dc:creator>
      <dc:date>2021-10-25T23:22:53Z</dc:date>
    </item>
    <item>
      <title>Re: Loading OPTEE + Android (or Ubuntu) on Nitrogen8M mini (iMX8MM)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Loading-OPTEE-Android-or-Ubuntu-on-Nitrogen8M-mini-iMX8MM/m-p/1361441#M182133</link>
      <description>&lt;P&gt;Hi Darius&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Nitrogen8M mini is third party board developed and supported by its vendor boundary devices.&lt;/P&gt;
&lt;P&gt;However may be useful to look at below links:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://boundarydevices.com/high-assurance-boot-hab-i-mx8m-edition/" target="_blank"&gt;https://boundarydevices.com/high-assurance-boot-hab-i-mx8m-edition/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/i-MX8M-OPTEE-TA-Build/m-p/806613/highlight/true" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/i-MX8M-OPTEE-TA-Build/m-p/806613/highlight/true&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/i-MX-Processors/Enabling-OP-TEE-in-i-MX8MM-EVK-FIT-image/m-p/1160528" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors/Enabling-OP-TEE-in-i-MX8MM-EVK-FIT-image/m-p/1160528&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.toradex.com/t/u-boot-spl-to-enable-optee-on-colibri-imx8qxp/13810/7" target="_blank"&gt;https://community.toradex.com/t/u-boot-spl-to-enable-optee-on-colibri-imx8qxp/13810/7&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Oct 2021 07:49:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Loading-OPTEE-Android-or-Ubuntu-on-Nitrogen8M-mini-iMX8MM/m-p/1361441#M182133</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-10-26T07:49:20Z</dc:date>
    </item>
    <item>
      <title>Re: Loading OPTEE + Android (or Ubuntu) on Nitrogen8M mini (iMX8MM)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Loading-OPTEE-Android-or-Ubuntu-on-Nitrogen8M-mini-iMX8MM/m-p/1361549#M182144</link>
      <description>&lt;P&gt;Thank you Igor!&lt;/P&gt;&lt;P&gt;Those are among the&amp;nbsp; posts that I have following in trying to setup the mentioned boot process.&lt;/P&gt;&lt;P&gt;The imx8mm yocto thread seemed promissing but link to the original seems dead.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Manually-build-Boot-binary-for-i-MX8M-Mini/ta-p/1116998" target="_blank"&gt;https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Manually-build-Boot-binary-for-i-MX8M-Mini/ta-p/1116998&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Unfortunately, Boundary points to this comunity for questions and do not have their own forums. However, the issue is likely related to the iMX8MM platform, or which the board is part of.&lt;/P&gt;&lt;P&gt;I suspect there is a mismatch in the OPTEE configuration, as I have been trying to adapt it from the closest exising one&amp;nbsp; PLATFORM_FLAVOR=mx8mqevk&lt;/P&gt;&lt;P&gt;A difference seem be that atf and u-boot use 0xbe000000 instead of 0xfe000000 for optee images. Thus I have changed optee to use the same addresses.&lt;/P&gt;&lt;P&gt;Do you know of a optee build configuration or repo for imx8mm or have some prebuiilt binary for it for testing?&lt;/P&gt;&lt;P&gt;I really appreciate your help in this issue.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Oct 2021 09:25:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Loading-OPTEE-Android-or-Ubuntu-on-Nitrogen8M-mini-iMX8MM/m-p/1361549#M182144</guid>
      <dc:creator>dariussuciu04</dc:creator>
      <dc:date>2021-10-26T09:25:11Z</dc:date>
    </item>
    <item>
      <title>Re: Loading OPTEE + Android (or Ubuntu) on Nitrogen8M mini (iMX8MM)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Loading-OPTEE-Android-or-Ubuntu-on-Nitrogen8M-mini-iMX8MM/m-p/1361585#M182149</link>
      <description>&lt;P&gt;&amp;gt;Do you know of a optee build configuration or repo for imx8mm or have some prebuiilt binary for it for testing?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;one can test on NXP i.MX8M Mini EVK reference board with Demo Images provided on&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=In-Depth_Tab" target="_blank" rel="noopener"&gt;https://www.nxp.com/design/software/embedded-software/i-mx-software/embedded-linux-for-i-mx-applications-processors:IMXLINUX?tab=In-Depth_Tab&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and build linux using sect.5.6.10 OP-TEE enablement&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A style="box-sizing: border-box; background-color: transparent; color: #215bd6; text-decoration: none; cursor: pointer;" href="https://www.nxp.com/docs/en/user-guide/IMX_YOCTO_PROJECT_USERS_GUIDE.pdf" target="_blank" rel="noopener" data-dtmsubaction="i.MX Yocto Project User’s Guide​ link"&gt;i.MX Yocto Project User’s Guide​&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Chapter 5&amp;nbsp; Configuring OP-TEE&amp;nbsp;&amp;nbsp; &lt;A style="box-sizing: border-box; background-color: transparent; color: #215bd6; text-decoration: none; cursor: pointer;" href="https://www.nxp.com/docs/en/user-guide/IMX_PORTING_GUIDE.pdf" target="_blank" rel="noopener" data-dtmsubaction="i.MX Porting Guide link"&gt;i.MX Porting Guide&lt;/A&gt;​&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;NXP supports only Trusty TEE in Android BSPs, documentation can be found on&lt;BR /&gt;&lt;A href="https://www.nxp.com/design/software/embedded-software/i-mx-software/android-os-for-i-mx-applications-processors:IMXANDROID" target="_blank"&gt;https://www.nxp.com/design/software/embedded-software/i-mx-software/android-os-for-i-mx-applications-processors:IMXANDROID&lt;/A&gt;&lt;BR /&gt;For now, unfortunately, there is no plan to include optee in Android releases.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Tue, 26 Oct 2021 10:29:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Loading-OPTEE-Android-or-Ubuntu-on-Nitrogen8M-mini-iMX8MM/m-p/1361585#M182149</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-10-26T10:29:46Z</dc:date>
    </item>
  </channel>
</rss>

