kernel strucking

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

kernel strucking

1,243 Views
sindhujakapugan
Contributor III

Hi all, i have compiled the u-boot and linux for a customized imx6dl board and the serial output is attached below.

The main difference is the RAM is  2GB. 

Any idea to debug to find out why it stops starting the kernel? . Then

...........................................................................

U-Boot 2014.04 (Aug 19 2016 - 17:25:06)

CPU:   Freescale i.MX6DL rev1.3 at 792 MHz

Reset cause: POR

Board: Wearberrytec-ARYASOLO

I2C:   ready

DRAM:  2 GiB

MMC:   FSL_SDHC: 0

In:    serial

Out:   serial

Err:   serial

Boot modes set

force_idle_bus: sda=0 scl=1 sda.gp=0x9a scl.gp=0x9b

force_idle_bus: failed to clear bus, sda=0 scl=1

wait_for_sr_state: Arbitration lost sr=93 cr=80 state=2020

i2c_init_transfer: failed for chip 0x8 retry=0

force_idle_bus: sda=0 scl=1 sda.gp=0x9a scl.gp=0x9b

force_idle_bus: failed to clear bus, sda=0 scl=1

i2c_init_transfer: give up i2c_regs=021a0000

PMIC Voltages set

## 17059

Exiting board_late_init

Net:   CPU Net Initialization Failed

No ethernet found.

Hit any key to stop autoboot:  0

ARYA U-BOOT >

ARYA U-BOOT > bootm 0x12000000 - 0x18000000

## Booting kernel from Legacy Image at 12000000 ...

   Image Name:   Linux-3.14.28

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    5969296 Bytes = 5.7 MiB

   Load Address: 10008000

   Entry Point:  10008000

   Verifying Checksum ... OK

## Flattened Device Tree blob at 18000000

   Booting using the fdt blob at 0x18000000

   Loading Kernel Image ... OK

   Loading Device Tree to 8f579000, end 8f58460c ... OK

Going to take Machid

Assuming inside kernel entry function

Starting kernel ...

cleanup_before_linux from cpu.c executed successfully

Entering into Kernel

Uncompressing Linux... done, booting the kernel.

Thanks & Regards

sindhuja

Labels (1)
0 Kudos
Reply
6 Replies

956 Views
igorpadykov
NXP Employee
NXP Employee

Hi sindhuja

if ddr test passed and modifications were made to

uboot *.cfg file, then it is necessary to modify kernel

sources, for example remove/add modules which are different

on custom board compared with reference board.

Which board did you use as reference ?

For example one can look at

https://community.freescale.com/docs/DOC-100203

https://community.freescale.com/docs/DOC-103530

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

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

-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

956 Views
sindhujakapugan
Contributor III

Hi igor,

i am using mx6sabresd board as reference.

Thanks & Regards

Sindhuja

0 Kudos
Reply

956 Views
igorpadykov
NXP Employee
NXP Employee

Hi sindhuja

one can use general linux debugging steps like enabling linux earlyprintk

https://falstaff.agner.ch/2015/10/17/linux-earlyprintkearlycon-support-on-arm/

and follow application note AN4553  Debugging Tools for Linux on i.MX Processors

http://www.nxp.com/files/32bit/doc/app_note/AN4553.pdf

Best regards

igor

0 Kudos
Reply

956 Views
sindhujakapugan
Contributor III

Hi igor,

After enabling kernel low level debugging functions i am getting this information

U-Boot 2014.04 (Aug 22 2016 - 10:37:56)                                   
                                                                          
CPU:   Freescale i.MX6DL rev1.3 at 792 MHz                                
Reset cause: POR                                                          
Board: Wearberrytec-ARYASOLO                                              
I2C:   ready                                                              
DRAM:  2 GiB                                                              
MMC:   FSL_SDHC: 0                                                        
CURR STATE:3                                                              
*** Warning - bad CRC, using default environment                          
                                                                          
No panel detected: default to Newhaven-CTP                                
Display: Newhaven-CTP (800x480)                                           
In:serial                                                             
Out:   serial                                                             
Err:   serial                                                             
Boot modes set                                                            
force_idle_bus: sda=0 scl=1 sda.gp=0x9a scl.gp=0x9b                       
force_idle_bus: failed to clear bus, sda=0 scl=1                          
wait_for_sr_state: Arbitration lost sr=93 cr=80 state=2020                
i2c_init_transfer: failed for chip 0x8 retry=0                            
force_idle_bus: sda=0 scl=1 sda.gp=0x9a scl.gp=0x9b                       
force_idle_bus: failed to clear bus, sda=0 scl=1                          
i2c_init_transfer: give up i2c_regs=021a0000                              
PMIC Voltages set                                                         
## 17059                                                                  
Exiting board_late_init                                                   
reading uimage                                                            
5980760 bytes read in 284 ms (20.1 MiB/s)                                 
reading arya.dtb                                                          
34269 bytes read in 19 ms (1.7 MiB/s)                                     
Net:   FEC [PRIME]                                                        
Warning: failed to set MAC address                                        
                                                                          
Hit any key to stop autoboot:  0                                          
## Booting kernel from Legacy Image at 12000000 ...                       
   Image Name:   Linux-3.14.28                                            
   Image Type:   ARM Linux Kernel Image (uncompressed)                    
   Data Size:5980696 Bytes = 5.7 MiB                                  
   Load Address: 10008000                                                 
   Entry Point:  10008000                                                 
   Verifying Checksum ... OK                                              
## Flattened Device Tree blob at 18000000                                 
   Booting using the fdt blob at 0x18000000                               
   Loading Kernel Image ... OK                                            
   Loading Device Tree to 8f50e000, end 8f5195dc ... OK                   
Going to take Machid                                                      
Assuming inside kernel entry function                                     
                                                                          
Starting kernel ...                                                       
                                                                          
cleanup_before_linux from cpu.c executed successfully                     
Entering into Kernel                                                      

Uncompressing Linux... done, booting the kernel. 

can you tell why i am getting this information

force_idle_bus: sda=0 scl=1 sda.gp=0x9a scl.gp=0x9b                       
force_idle_bus: failed to clear bus, sda=0 scl=1                          
wait_for_sr_state: Arbitration lost sr=93 cr=80 state=2020                
i2c_init_transfer: failed for chip 0x8 retry=0                            
force_idle_bus: sda=0 scl=1 sda.gp=0x9a scl.gp=0x9b                       
force_idle_bus: failed to clear bus, sda=0 scl=1                          

i2c_init_transfer: give up i2c_regs=021a0000

Thanks & Regards

Sindhuja

0 Kudos
Reply

956 Views
igorpadykov
NXP Employee
NXP Employee

Hi sindhuja

sems smth wrong with i2c, one can check

signals with oscilloscope and add debug printfs

in i2c probe function.

Best regards

igor

0 Kudos
Reply

956 Views
sindhujakapugan
Contributor III

Hi igor,

for i2c i am getting these values i.e.,

SCL is 3.3v

SDA is 0.3v

Thanks & Regards

Sindhuja

0 Kudos
Reply