IMX28: linux-fslc-3.18.7 not start

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

IMX28: linux-fslc-3.18.7 not start

2,182 Views
BrilliantovKiri
Senior Contributor I

Hello!

I clone linux-fsl-3.18 from Freescale/linux-fslc · GitHub ,build it with mxs_defconfig, convert zImage to sb-file with imx-bootlets from LTIB (/imx-bootlets-src-2.6.35.3-1.1.0) and write on SD-card:

Installing boot stream ../bin/imx28_ivt_linux.sb on /dev/sdd2...

0+1 records in

1+0 records out

512 bytes (512 B) copied, 0.00388977 s, 132 kB/s

5653+1 records in

5654+0 records out

2894848 bytes (2.9 MB) copied, 1.27853 s, 2.3 MB/s

...finished installing boot stream on /dev/sdd2.

Unforunately linux not start after plugged power, follow console output:

LLLLLLLFLCLLJHTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLC

PowerPrep start initialize power...                                            

Battery Voltage = 0.31V                                                        

No battery or bad battery                                       detected!!!.Dis5

FRAC 0x92925552                                                                

memory type is DDR2                                                            

                   Wait for ddr ready 1power 0x00820710                        

Frac 0x92925552                                                                

start change cpu freq                                                          

hbus 0x00000003                                                                

cpu 0x00010001                                                                 

LLLLLLLFLCLLJ

How can I solve this problem?

Thank you and excuse my bad english.

Labels (2)
Tags (1)
0 Kudos
16 Replies

1,333 Views
fabio_estevam
NXP Employee
NXP Employee

Kirill,

You need to combine your zImage + dtb. Take a look at:

https://community.freescale.com/thread/341250

Regards,

Fabio Estevam

0 Kudos

1,333 Views
BrilliantovKiri
Senior Contributor I

Sorry, I not understand, but this not work.

My software:

- linux-fscl (revisionc e1cd8975587aa8e809cdb01ab1ee1b9de1b9259 )

- imx-bootlets-src-2.6.35.3-1.1.0

- gcc-4.4.4

My steps:

1. enable device tree, please see full config in attache

#

# Boot options

#

CONFIG_USE_OF=y

CONFIG_ATAGS=y

# CONFIG_DEPRECATED_PARAM_STRUCT is not set

CONFIG_ZBOOT_ROM_TEXT=0

CONFIG_ZBOOT_ROM_BSS=0

CONFIG_ARM_APPENDED_DTB=y

CONFIG_ARM_ATAG_DTB_COMPAT=y

CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y

# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set

CONFIG_CMDLINE="console=ttyAMA0,115200 root=/dev/mmcblk0p3 rw rootwait ip=off"

CONFIG_CMDLINE_FROM_BOOTLOADER=y

# CONFIG_CMDLINE_EXTEND is not set

# CONFIG_CMDLINE_FORCE is not set

# CONFIG_KEXEC is not set

# CONFIG_CRASH_DUMP is not set

CONFIG_AUTO_ZRELADDR=y

2. build linux and add device tree

cat arch/arm/boot/zImage arch/arm/boot/dts/imx28-evk.dtb > /opt/IMX287/ltib/rootfs/boot/zImage

3. convert linux to sb-file

./ltib -m scbuild -p boot_stream.spec

4. write sb-file on SD-card

5. plug SD-card and enable power

HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLC

PowerPrep start initialize power...

Configured for 5v only power source.            Battery powered operation disab.

LLLCFeb 26 201509:21:55

FRAC 0x92925552

memory type is DDR2

                  Wait for ddr ready 1power 0x00820710

Frac 0x92925552

start change cpu freq

hbus 0x00000003

cpu 0x00010001

LLLLLLLFLCLLJ

0 Kudos

1,333 Views
BrilliantovKiri
Senior Contributor I

Ok, after enable CONFIG_CMDLINE_FORCE I see linux boot.

0 Kudos

1,333 Views
lategoodbye
Senior Contributor I

Hi Kirill,

do you use the MX28EVK or your own hardware?

Have you configured the kernel to support DTB append on kernel image?

0 Kudos

1,333 Views
BrilliantovKiri
Senior Contributor I

Hello, Stefan!

I use board based on iMX287, not MX28EVK.

Board schema https://docs.google.com/file/d/0B_FS6J7Oi9HaaG9kRWo1VGdyNFk/edit?usp=sharing

0 Kudos

1,333 Views
lategoodbye
Senior Contributor I

In that case you will need a DTS (devicetree source) file for this board. This file describes the hardware on this board.

For example this is the DTS file for the MX28EVK:

linux-fslc/imx28-evk.dts at patches-3.18 · Freescale/linux-fslc · GitHub

Maybe your hardware vendor can provide such a file. If not you will need to create it by your own. In that case you can use the file above as an template.

0 Kudos

1,333 Views
BrilliantovKiri
Senior Contributor I

Ok, but why linux not uncompresse?

I have incorrect memory description, now I not see any mistake, or I should have correct description for all devices?

What is a minimal set of devices should I describe?

0 Kudos

1,333 Views
lategoodbye
Senior Contributor I

There several reason for this:

1. The debug uart has changed in Linux Mainline make sure of the following in the kernel commandline

console=ttyAM0 -> console=ttyAMA0

2. Do not introduce a new compatible in DTS file and use the old one:

compatible = "fsl,imx28-evk", "fsl,imx28";

3. Try to enable EARLY_PRINTK in kernel config to see what's going wrong.

You don't need describe to all devices. Try to concentrate on boot at first.

0 Kudos

1,333 Views
BrilliantovKiri
Senior Contributor I

Hello, Stefan!

I change command line on:

$ cat rpm/BUILD/imx-bootlets-src-2.6.35.3-1.1.0/linux_prep/cmdlines/iMX28_EVK.txt

earlyprintk console=ttyAMA0,115200 root=/dev/mmcblk0p3 rw rootwait

And minimize dt-file:

$ cat arch/arm/boot/dts/imx28-evk.dts

/dts-v1/;

#include "imx28.dtsi"

/ {

        model = "Freescale i.MX28 Evaluation Kit";

        compatible = "fsl,imx28-evk", "fsl,imx28";

        memory {

                reg = <0x40000000 0x08000000>;

        };

};

Unfortunately this not solve problem, as minimum I wait see "Uncompessed linux" message, but output contained only this:

PowerPrep start initialize power...                                       
                                                                          
Configured for 5v only power source.        Battery powered operation disab.
LLLCFeb 28 201512:34:28                                                   
FRAC 0x92925552                                                           
memory type is DDR2                                                       
               Wait for ddr ready 1power 0x00820710                   
Frac 0x92925552                                                           
start change cpu freq                                                     
hbus 0x00000003                                                           
cpu 0x00010001                                                            

LLLLLLLFLCLLJ

For prepare sd-file I use imx-bootlets-src-2.6.35.3-1.1.0 from LTIB (L2.6.35_1.1.0_130130_source.tar.gz) and this work fine with linux-2.6.35 from LTIB.

May be I should use another way for prepare sb-file with linux-3.18?

Thank you and excuse my bad english.

0 Kudos

1,333 Views
lategoodbye
Senior Contributor I

Hi Kirill,

i think you have a problem in your workflow to build the bootstream. Please write down your steps to build kernel and bootstream.

I'm using imx-bootlets without any problems. To avoid any problems with the config i've attached my. But i think you still need EARLY_PRINTK in config and not in cmdline.

Btw you wont see a "Uncompressing Linux ..." with Linux 3.18.

Stefan

0 Kudos

1,333 Views
Yuri
NXP Employee
NXP Employee

From the log :

No battery or bad battery


  So, VDD5V-only configuration of Linux BSP should be applied.

When the  battery is not present, the recommended schematic is shown

on Figure 9 (Hardware connections for VDD5V-only applications) of the app note

AN4199. According to section “Limitations” of the app note for VDD5V-only configuration,

“During the early stage of device startup, before on-chip ROM execution, the input current

on VDD5V is limited to 100 mA”. Such restriction may provide boot issues, when

additional parts are fed via i.MX28 embedded PMU.

  You may try to connect a diode between VDD5V and the DCDC_BATT/BATTERY signals,

assuming BATTERY voltage must not exceed 4.2 V.


Have a great day,
Yuri.

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

1,333 Views
BrilliantovKiri
Senior Contributor I

Thank you, Yuri, but I think that the problem lies elsewhere.

Test with linux-2.6.35 from LTIB:

1. write sb-file

Installing boot stream ../bin/imx28_ivt_linux.sb on /dev/sdd2...

0+1 records in

1+0 records out

512 bytes (512 B) copied, 0.00398635 s, 128 kB/s

3320+1 records in

3321+0 records out

1700352 bytes (1.7 MB) copied, 0.770359 s, 2.2 MB/s

...finished installing boot stream on /dev/sdd2.

2. booting

PowerPrep start initialize power...                                       
Battery Voltage = 0.27V                                                   
No battery or bad battery                                   detected!!!.Dis5
FRAC 0x92925552                                                           
memory type is DDR2                                                       
               Wait for ddr ready 1power 0x00820710                   
Frac 0x92925552                                                           
start change cpu freq                                                     
hbus 0x00000003                                                           
cpu 0x00010001                                                            
LLLLLLLFLCLLJUncompressing Linux... done, booting the kernel.             

Linux version 2.6.35.3+ (kirill@kirill) (gcc version 4.4.4 (4.4.4_09.06.2010) )5

CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177             
CPU: VIVT data cache, VIVT instruction cache                              
Machine: Freescale MX28EVK board                                          
Memory policy: ECC disabled, Data cache writeback                         
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
Kernel command line: console=ttyAM0,115200 root=/dev/mmcblk0p3 rw rootwait
PID hash table entries: 512 (order: -1, 2048 bytes)                       

Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

0 Kudos

1,333 Views
Yuri
NXP Employee
NXP Employee

Perhaps we have correct (VDD5V-only) LTIB-based release. ?

Regards,

Yuri.

0 Kudos

1,333 Views
BrilliantovKiri
Senior Contributor I

Sorry, I not understand, I use file L2.6.35_1.1.0_130130_source.tar.gz from FreeScale site.

Четверг, 26 февраля 2015, 0:46 -07:00 от Yuri Muhin <admin@community.freescale.com>:

>

>IMX28: linux-fslc-3.18.7 not start

>reply from Yuri Muhin in i.MX Community - View the full discussion

0 Kudos

1,333 Views
Yuri
NXP Employee
NXP Employee

According to AN4199 Freescale BSP supports the following (selectable) configurations :

- DCDC_BATT source only ;
- VDD5V source only ;
- Battery-powered applications.

http://www.freescale.com/files/32bit/doc/app_note/AN4199.pdf


Regards,

Yuri.

1,333 Views
BrilliantovKiri
Senior Contributor I

Thank you, Yuri!

Unfortunately this is not solve problem, but boot log is clear:

HTLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLC

PowerPrep start initialize power...

Configured for 5v only power source.            Battery powered operation disab.

LLLCFeb 26 201509:21:55

FRAC 0x92925552

memory type is DDR2

                   Wait for ddr ready 1power 0x00820710

Frac 0x92925552

start change cpu freq

hbus 0x00000003

cpu 0x00010001

LLLLLLLFLCLLJ

0 Kudos