AnsweredAssumed Answered

imx6dl Parallel NOR  Partition

Question asked by zhilin huang on Sep 4, 2017
Latest reply on Oct 4, 2017 by gusarambula

Dear engineers!

 

Board environment:
L4.1.15_2.0.0_ga
yocto
imx6dl
Parallel NOR 128m

 

 

My equipment storage nor flash is 128M,(imx6dl)

I would like to uboot kernlel dts and rootfs how to write nor flash

 

The ucl.xml only has the example of programming uboot, no kernle, dts and rootfs, what should I modify to make it support burning these files

 

 

 

ucl.xml :

<!-- burn uboot only because spi-nor flash is small (4M). kernel is beyond 5M now -->
<LIST name="Nor Flash" desc="Choose Nor flash as media">
<CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6q%plus%%board%_%nor%.imx" ifdev="MX6Q">Loading U-boot</CMD>
<CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6dl%board%_%nor%.imx" ifdev="MX6D">Loading U-boot</CMD>
<CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6slevk_spi-nor.imx" ifdev="MX6SL">Loading U-boot</CMD>
<CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx7d%7duboot%_%nor%.imx" ifdev="MX7D">Loading U-boot</CMD>
<CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%6uluboot%_sd.imx" ifdev="MX6UL">Loading U-boot</CMD>

<CMD state="BootStrap" type="load" file="firmware/zImage" address="0x12000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6DL">Loading Kernel.</CMD>
<CMD state="BootStrap" type="load" file="firmware/zImage" address="0x80800000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX7D MX6UL">Loading Kernel.</CMD>

<CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x12C00000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q MX6DL">Loading Initramfs.</CMD>
<CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x83800000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX7D MX6UL">Loading Initramfs.</CMD>


<CMD state="BootStrap" type="load" file="firmware/zImage-imx6q%plus%-%board%-%nordtb%.dtb" address="0x18000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6Q">Loading device tree.</CMD>
<CMD state="BootStrap" type="load" file="firmware/zImage-imx6dl-%board%-%nordtb%.dtb" address="0x18000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6D">Loading device tree.</CMD>
<CMD state="BootStrap" type="load" file="firmware/zImage-imx6sl-evk.dtb" address="0x83000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL">Loading device tree.</CMD>
<CMD state="BootStrap" type="load" file="firmware/zImage-imx7d-%7ddtb%.dtb" address="0x83000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX7D">Loading device tree.</CMD>
<CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul-%6uldtb%.dtb" address="0x83000000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6UL">Loading device tree.</CMD>

<CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>

<CMD state="Updater" type="push" body="$ flash_erase /dev/mtd%nor_part% 0 0">Erasing Boot partition</CMD>
<CMD state="Updater" type="push" body="send" file="files/u-boot-imx6q%plus%%board%_%nor%.imx" ifdev="MX6Q">Sending U-Boot</CMD>
<CMD state="Updater" type="push" body="send" file="files/u-boot-imx6dl%board%_%nor%.imx" ifdev="MX6D">Sending U-Boot</CMD>
<CMD state="Updater" type="push" body="send" file="files/u-boot-imx6slevk_spi-nor.imx" ifdev="MX6SL">Sending u-boot.bin</CMD>
<CMD state="Updater" type="push" body="send" file="files/u-boot-imx7d%7duboot%_%nor%.imx" ifdev="MX7D">Sending u-boot.bin</CMD>
<CMD state="Updater" type="push" body="send" file="files/u-boot-imx6ul%6uluboot%_%nor%.imx" ifdev="MX6UL">Sending u-boot.bin</CMD>

<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mtd%nor_part% bs=1k seek=%seek%" ifdev="MX6Q MX6D MX6SL MX6UL">write U-Boot to NOR flash</CMD>
<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mtd%nor_part% bs=1k seek=1" ifdev="MX7D">write U-Boot to NOR flash</CMD>
<CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>
</LIST>

 

My dts :

imx6@ubuntu:dts$ cat imx6q-sabreauto-gpmi-weim.dts
/*
* Copyright (C) 2014 Freescale Semiconductor, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/

#include "imx6q-sabreauto.dts"

&ecspi1 {
/* pin conflict with weim */
status = "disabled";
};

&can2 {
/* max7310_c on i2c3 is gone */
status = "disabled";
};

&gpmi {
status = "okay";
};

&i2c3 {
/* pin conflict with weim */
status = "disabled";
};

&uart3 {
/* pin conflict with gpmi and weim */
status = "disabled";
};

&usbh1 {
/* max7310_b on i2c3 is gone */
status = "disabled";
};

&usbotg {
/* max7310_c on i2c3 is gone */
status = "okay";
dr_mode = "peripheral";
};

&weim {
pinctrl-assert-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>;
status = "okay";
};

 

英文不是很好,抱歉。就是修改什么地方支持 把,uboot ,kernel ,dts,rootfs   烧写 到 Parallel NOR  128M 中。

 

Thank you, look forward to your reply!

Outcomes