<?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: How to Reboot Android when the u-boot is in SPI NOR in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961698#M143437</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Could you explain further what you mean by correct u-boot? I just build the u-boot the same way when I burn it to spi-nor or to emmc? The U-Boot launches from SPI-NOR upon power up so I figured it was working correctly. It is only when I perform a soft reset that it does not launch.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 11 Oct 2019 22:22:33 GMT</pubDate>
    <dc:creator>mdomondon</dc:creator>
    <dc:date>2019-10-11T22:22:33Z</dc:date>
    <item>
      <title>How to Reboot Android when the u-boot is in SPI NOR</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961694#M143433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a product where, via Mfg Tool, I save the uboot to SPI-NOR and save the rest of the android binaries to eMMC. The download of the binaries is successful. The u-boot and kernel loads, Android OS boots up successfully.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My problem arises when I try to reboot the Android OS. I do this via the "reboot" command in the serial connection. When I send the command my device hangs after the reset. The u-boot does not start. If I save the u-boot in eMMC together with the rest of the binaries, I am able to successfully reboot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the snippet of my mfgtool script for the spi nor:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;LIST name="IVG-NOR-Android" desc="Choose eMMC as media"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-ivgmfg-6q.imx" ifdev="MX6Q"&amp;gt;Loading U-boot&amp;lt;/CMD&amp;gt;&lt;BR /&gt;&lt;BR /&gt; &amp;lt;CMD state="BootStrap" type="load" file="firmware/zImage" address="0x12000000"&lt;BR /&gt; loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D"&amp;gt;Loading Kernel.&amp;lt;/CMD&amp;gt;&lt;BR /&gt;&lt;BR /&gt; &amp;lt;CMD state="BootStrap" type="load" file="firmware/fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot" address="0x12C00000"&lt;BR /&gt; loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6D"&amp;gt;Loading Initramfs.&amp;lt;/CMD&amp;gt;&lt;BR /&gt;&lt;BR /&gt; &amp;lt;CMD state="BootStrap" type="load" file="firmware/zImage-imx6q-ivgmfg.dtb" address="0x18000000"&lt;BR /&gt; loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q"&amp;gt;Loading device tree.&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &amp;lt;CMD state="BootStrap" type="jump" &amp;gt; Jumping to OS image. &amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%nor_part% 0 0x20"&amp;gt;Erasing Spi Nor&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="send" file="files/android/%folder%/u-boot-imx%soc%.imx" &amp;gt;Sending u-boot.bin&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mtd%nor_part% bs=1k seek=1" ifdev="MX6Q MX6D MX6SL MX6UL"&amp;gt;write U-Boot to NOR flash&amp;lt;/CMD&amp;gt;&lt;BR /&gt;&lt;BR /&gt; &amp;lt;!-- wait /dev/mmcblk%mmc% ready --&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ while [ ! -e /dev/mmcblk%mmc% ]; do sleep 1; echo waiting...; done "&amp;gt;Waiting for the mmc ready&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;!-- burn uboot --&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk%mmc% bs=1k seek=768 conv=fsync count=136"&amp;gt;clear u-boot arg&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ echo 0 &amp;gt; /sys/block/mmcblk%mmc%boot0/force_ro"&amp;gt;access boot partition 1&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="Updater" type="push" body="send" file="files/android/%folder%/u-boot-imx%soc%.imx" &amp;gt;Sending u-boot.bin&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk%mmc%boot0 bs=512 seek=2"&amp;gt;write U-Boot to sd card&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ echo 1 &amp;gt; /sys/block/mmcblk%mmc%boot0/force_ro"&amp;gt; re-enable read-only access &amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ mmc bootpart enable 1 1 /dev/mmcblk%mmc%"&amp;gt;enable boot partion 1 to boot&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ ls -l /dev/mmc* "&amp;gt;Formatting sd partition&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="Updater" type="push" body="send" file="files/android/%folder%/partition-table.img" &amp;gt;Sending and writting partition-table.img&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk%mmc%"&amp;gt;write gpt table to mmc&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ hdparm -z /dev/mmcblk%mmc%"&amp;gt;Dectecting emmc partition&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ gdisk -l /dev/mmcblk%mmc% "&amp;gt;List emmc partition&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="Updater" type="push" body="send" file="files/android/%folder%/boot-imx%soc%.img" &amp;gt;Sending and writting boot.img&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ echo `gdisk -l /dev/mmcblk%mmc% | grep -w boot | awk '{print $1}'` &amp;gt; /tmp/partIdx"&amp;gt;find boot partition&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk%mmc%p`cat /tmp/partIdx`"&amp;gt;write boot.img to boot&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="Updater" type="push" body="$ ls -l /dev/mmc* "&amp;gt;List partitions&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ echo `gdisk -l /dev/mmcblk%mmc% | grep -w cache | awk '{print $1}'` &amp;gt; /tmp/partIdx"&amp;gt;find cache partition&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ mkfs.ext4 -F -E nodiscard /dev/mmcblk%mmc%p`cat /tmp/partIdx`"&amp;gt;Formatting cache partition&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ echo `gdisk -l /dev/mmcblk%mmc% | grep -w device | awk '{print $1}'` &amp;gt; /tmp/partIdx"&amp;gt;find device partition&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ mkfs.ext4 -F -E nodiscard /dev/mmcblk%mmc%p`cat /tmp/partIdx`"&amp;gt;Formatting device partition&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ echo `gdisk -l /dev/mmcblk%mmc% | grep -w userdata | awk '{print $1}'` &amp;gt; /tmp/partIdx"&amp;gt;find data partition&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ mkfs.ext4 -F -E nodiscard -b 4096 -m 0 -O ^flex_bg,^uninit_bg /dev/mmcblk%mmc%p`cat /tmp/partIdx`"&amp;gt;Formatting data partition&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="Updater" type="push" body="$ mount -o remount,size=1024M rootfs /"&amp;gt;change size of tmpfs&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="send" file="files/android/%folder%/system.img" &amp;gt;Sending system.img&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ echo `gdisk -l /dev/mmcblk%mmc% | grep -w system | awk '{print $1}'` &amp;gt; /tmp/partIdx"&amp;gt;find system&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ simg2img $FILE /dev/mmcblk%mmc%p`cat /tmp/partIdx`"&amp;gt;writting sparse system.img&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;!-- Write userdata.img is optional, for some customer this is needed, but it's optional. --&amp;gt;&lt;BR /&gt; &amp;lt;!-- Also, userdata.img will have android unit test, you can use this to do some auto test. --&amp;gt;&lt;BR /&gt; &amp;lt;!-- &amp;lt;CMD state="Updater" type="push" onError="ignore" body="pipe dd of=/dev/mmcblk0p7" file="file/android/userdate.img"&amp;gt; Sending userdata.img(optional) &amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="frf"&amp;gt;flush the memory.&amp;lt;/CMD&amp;gt; --&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="send" file="files/android/%folder%/recovery-imx%soc%.img"&amp;gt;Sending and writting recovery.img&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="$ echo `gdisk -l /dev/mmcblk%mmc% | grep -w 'recovery$' | awk '{print $1}'` &amp;gt; /tmp/partIdx"&amp;gt;find boot partition&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk%mmc%p`cat /tmp/partIdx`"&amp;gt;write recovery.img to recovery partition&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="Updater" type="push" body="$ sync"&amp;gt;Sync file system&amp;lt;/CMD&amp;gt;&lt;BR /&gt; &amp;lt;CMD state="Updater" type="push" body="frf"&amp;gt;Finishing rootfs write&amp;lt;/CMD&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;CMD state="Updater" type="push" body="$ echo Update Complete!"&amp;gt;Done&amp;lt;/CMD&amp;gt;&lt;BR /&gt;&amp;lt;/LIST&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Oct 2019 05:36:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961694#M143433</guid>
      <dc:creator>mdomondon</dc:creator>
      <dc:date>2019-10-09T05:36:35Z</dc:date>
    </item>
    <item>
      <title>Re: How to Reboot Android when the u-boot is in SPI NOR</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961695#M143434</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please make sure that bootmode switches are in right positions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Oct 2019 05:12:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961695#M143434</guid>
      <dc:creator>b36401</dc:creator>
      <dc:date>2019-10-10T05:12:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to Reboot Android when the u-boot is in SPI NOR</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961696#M143435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The boot mode switch is set to SPI NOR.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Oct 2019 01:19:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961696#M143435</guid>
      <dc:creator>mdomondon</dc:creator>
      <dc:date>2019-10-11T01:19:22Z</dc:date>
    </item>
    <item>
      <title>Re: How to Reboot Android when the u-boot is in SPI NOR</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961697#M143436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Also please make sure that you are using right u-boot.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Oct 2019 08:03:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961697#M143436</guid>
      <dc:creator>b36401</dc:creator>
      <dc:date>2019-10-11T08:03:33Z</dc:date>
    </item>
    <item>
      <title>Re: How to Reboot Android when the u-boot is in SPI NOR</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961698#M143437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Could you explain further what you mean by correct u-boot? I just build the u-boot the same way when I burn it to spi-nor or to emmc? The U-Boot launches from SPI-NOR upon power up so I figured it was working correctly. It is only when I perform a soft reset that it does not launch.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 11 Oct 2019 22:22:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-Reboot-Android-when-the-u-boot-is-in-SPI-NOR/m-p/961698#M143437</guid>
      <dc:creator>mdomondon</dc:creator>
      <dc:date>2019-10-11T22:22:33Z</dc:date>
    </item>
  </channel>
</rss>

