imx6dl Parallel NOR Partition

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6dl Parallel NOR Partition

622 Views
zhilinhuang
Contributor III

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!

Labels (2)
0 Kudos
1 Reply

460 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Zhilin Huang,

The script for NOR flash just loads the boot loader but you may take the script for other memories as example to fit your needs.

There is some more information on the Manufacturing Tool V2 UCL User Guide, available along the manufacturing tool as part of the documentation of the tool. I hope this helps!

Regards,

0 Kudos