imx6ull Mfg image issue

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

imx6ull Mfg image issue

2,093 Views
bijunair
Contributor II

Hi,

We have build a platform using iMX6ULL where we are using UART5 as the debug console port. We are now in the process of creating a partition in the eMMC device. As part of this, we wanted to use Mfgtool to partition the eMMC device. So we first changed the u-boot sources which comes as part of Freescale Manufacturing tool to map the debug port from UART1 to UART5. Now when we try to use the Mfgtool , we see u-boot logs getting printed into our console. We also see the message "Starting kernel..." . But after this, nothing is coming to the debug console.

I thought that this may be because we are using a .dtb file which came with the Mfgtool and i decoded the dtb file and found the following.

chosen {
stdout-path = "/soc/aips-bus@02000000/spba-bus@02000000/serial@02020000";
};

serial@02020000 {
compatible = "fsl,imx6ul-uart", "fsl,imx6q-uart", "fsl,imx21-uart";
reg = <0x2020000 0x4000>;
interrupts = <0x0 0x1a 0x4>;
clocks = <0x1 0xbd 0x1 0xbe>;
clock-names = "ipg", "per";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0xa>;
};

Then i changed the contents from the above to the following and tried to use Mfgtool again. But again i dont see anything coming to the console. So can someone help me in having the right settings for UART5 here ? Also any documentation on how to decode the following property will be really useful.

serial@02020000 {
compatible = "fsl,imx6ul-uart", "fsl,imx6q-uart", "fsl,imx21-uart";
reg = <0x21f4000 0x4000>;
interrupts = <0x0 0x1a 0x4>;
clocks = <0x1 0xbd 0x1 0xbe>;
clock-names = "ipg", "per";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0xa>;
};

Appreciate a response.

Regards, Biju

Labels (1)
11 Replies

1,670 Views
bijunair
Contributor II

Hi Igor,

Thanks for the information.

I already did that and only after doing that i was able to make u-boot come up. Now, u-boot is working good and it is  jumping to the kernel after loading the dtb and kernel image. But once kernel starts loading, i don't see anything in the console, even though i have modified the .dtb file to change the debug console to uart5. I am attaching my .dts file here.

Regards, Biju

0 Kudos

1,670 Views
igorpadykov
NXP Employee
NXP Employee

Hi Biju

what is board ddr memory size, if it less than on i.mx reference boards

one can try to decrease cma size (kernel boot parameter cma=nn).

Best regards
igor

0 Kudos

1,670 Views
bijunair
Contributor II

Hi Igor,

My board has around 1 GB of DDR3 memory.

A couple of questions. Appreciate, if you can clear my following queries.

1. Is the kernel of Manufacturing tool different from the regular kernel ?

2. Can i change the debug console of Manufacturing tool kernel using device tree or is it hard coded in the manufacturing image ?

3. In the manufacturing image script, i see lot of "push" commands, which gets executed in the target. Is there a "pull" by which i can run some command in the target and get the output on my PC where i am running the manufacturing tool ?

4. I have changed only my device tree to reflect the debug console port as follows. I hope this is good enough for the manufacturing kernel to make out that the debug port is on uart5. Kindly correct me, if i am wrong here.

    chosen {
        stdout-path = &uart5;
    };

Regards, Biju

0 Kudos

1,670 Views
igorpadykov
NXP Employee
NXP Employee

Hi Biju

yes it is different, as described in sect.6.2 Manufacturing Tool, MFGTool

attached Yocto Guide

A manufacturing tool kernel is built using the imx_v7_mfg_defconfig while the default kernel is built by using the
imx_v7_defconfig. This is handled automatically by the MFGTool recipes listed above.

for mfg tool commands one can look in documentation in /Document folder

https://www.nxp.com/webapp/Download?colCode=IMX6_L4.9.11_1.0.0_MFG_TOOL&appType=license&location=nul... 

Best regards
igor

0 Kudos

1,670 Views
bijunair
Contributor II

Hi Igor,

Is it good enough to change the device tree file while using the manufacturing tool which is being supplied by NXP for me to change my default debug port mapping ? I am not able to understand why i need to rebuild the manufacturing image as i was under the impression that the manufacturing tool will pick all the device mappings from the device tree files. Is my understanding incorrect ?

Apologies for asking such silly question.

Regards, Biju

0 Kudos

1,670 Views
igorpadykov
NXP Employee
NXP Employee

Hi Biju

>Is it good enough to change the device tree file while using the manufacturing tool

>which is being supplied by NXP for me to change my default debug port mapping ? 

I do not think so. Also one can look in uboot/include/configs/mx6ullevk.h for "console"

definitions (#define CONFIG_MFG_ENV_SETTINGS).

Best regards
igor

0 Kudos

1,670 Views
bijunair
Contributor II

Hi Igor,

I am able to make some progress. I made some changes to the esdhc pin mapping in the device tree and now the mfgtool is able to flash the image into the eMMC device.

I still have the issue with the debug console port. One quick clarification.

1. Does the Mfgtool kernel, hard code the debug console port or will it pick it up from the device tree that u-boot is passing while booting the kernel ?

Regards, Biju

0 Kudos

1,670 Views
igorpadykov
NXP Employee
NXP Employee

Hi Biju

mfg tool is running small linux image, so debug console port is defined

as in ordinary linux, passing from u-boot.

Best regards
igor

1,670 Views
bijunair
Contributor II

Hi Igor,

Thanks for the advice. I am able to bringup the console now. I also see  ("community.nxp.com/thread/468696" ) this issue in the official code. Seems like this is not yet committed into the code.

Regards, Biju

0 Kudos

1,670 Views
bijunair
Contributor II

Hi Igor,

 

My apologies for not explaining it properly.

 

My issue is, i am not able to use the manufacturing tool properly. I see that the manufacturing image comes with a bunch of the following files.

 

1. One Linux kernel image

2. u-boot image(s)

3. .dtb file(s)

4. One ramfs files

 

So when i used these files "as is" without any modification, i found that nothing was coming to the console. Later i rebuild the u-boot image to map the debug port from UART1 to UART5 and then overwritten the u-boot image from the manufacturing package and used the custom u-boot image while using the Mfgtool2 application. Now i can see the debug outputs generated by u-boot and i see that it is trying to do a jump to the manufacturing tool provided kernel. This made sense to me as the u-boot which i am using in the Mfgtool is my custom u-boot image where i have already changed the mapping from UART1 to UART5.

 

Then i changed the .dtb file which is being used by the Mfgtool as i see that the .dtb file was using UART1 as debug port. So i changed the corresponding DTS file to map UART5 as debug port and compiled it and overwrote the .dtb file in Mfgtool2 as i thought that now the Mfgtool2 kernel will pick the correct .dtb file and i should see manufacturing kernel generating logs into my debug console. But even after i changed the .dtb file,  i don't see anything coming to the console. Please note that i am using Mfgtool provided kernel unchanged. So the only change is, i am using my u-boot image and my .dtb file with NXP's Mfgtool provided kernel and ramfs.

 

So the doubt which i have is, do i still have to rebuild the Mfgtool provided kernel ? Because i thought that if i modify the .dtb file, i can still use the same Mfgtool provided kernel as that kernel should be in a position to load the .dtb file and i should see the logs in my console. Is my understanding correct or am i missing something here ?

 

Appreciate a response and apologies for sending such a big mail.

 

Regards, Biju

0 Kudos

1,670 Views
igorpadykov
NXP Employee
NXP Employee

Hi Biju

for new board it is necessary to run ddr test

i.MX6/7 DDR Stress Test Tool V2.92 

and rebuild mfg tool firmware (files in /firmware folder) with new calibration

coefficients put in uboot/../mx6ullevk/imximage.cfg, use sect.6.2 Manufacturing Tool, MFGTool

attached Yocto Guide.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos