Starting Kernel ....hang issue in i.MX6 solo based Custom board

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

Starting Kernel ....hang issue in i.MX6 solo based Custom board

2,200 Views
anjalikkrishna
Contributor III

Hi All,

   I am working on Android Lollipop 5.0.0 . And the issue which I am currently facing is a hang issue once the u-boot is completely booted up in my custom board. I am not getting any prints after "Starting Kernel.." . My custom board uses 1GB DDR. Suspecting the issue might be of DDR, a DDR stress test and calibration have been done successfully. But even after editing the plugin.S file with new calibrated co-efficients the hang issue could not be solved. The below boot argument

was used in booting Android Lollipop in i.MX6 Solo board with 512 MB DDR.

setenv bootargs_msd 'setenv bootargs ${bootargs_base} video=mxcfb0:dev=ldb,bpp=24 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=24 fbmem=28M root=/dev/mmcblk1p2 calibration rootwait rw rootfstype=ext4 init=/init androidboot.console=ttymxc1 consoleblank=0 vmalloc=400M cma=198M androidboot.hardware=freescale androidboot.selinux=disabled androidboot.dm_verity=disabled' .

The vmalloc and cma value will be changed if I used DDR of 1GB or can I use the same boot arguments?

Else how can I calculate the vmalloc and cma parameter values for 1GB of DDR?

Or any other reasons for the Hang issue which I can probe into?

Suggestions will be appreciated.

Thanks,

Anjali

Labels (3)
Tags (1)
0 Kudos
3 Replies

1,156 Views
anjalikkrishna
Contributor III

Hi All,

     The hang issue was due to pcie  node in the dtsi file. My board does not have pcie support . After removing the pcie entry ,the issue was solved.

Thanks & Regards,

Anjali

0 Kudos

1,156 Views
anjalikkrishna
Contributor III

Hi Joan

 

 Thanks for the reply and the suggestions.

 

i tried with vmalloc=512 , but the kernel stills hangs in  the same place.

I added prints in the start_kernel function but those prints also not being printed in the console message.

I searched for the i.MX6 solo prebuilt images to get the mx6solo_sabresd_android_config but couldnot find any.

Can u please share the link to find the default u-boot delivery package which is mentioned in the reply.

Thanks & Regards,

Anjali

Hi Joan,

     I was able to enable the early printk ..now i got few more prints like

   Uncompressing Linux... done, booting the kernel.
    Booting Linux on physical CPU 0x0
   Initializing cgroup subsys cpu
   Initializing cgroup subsys cpuacct
Linux version 3.10.53 (anjalik@anjalik) (gcc version 4.8 (GCC) ) #14 SMP PREEMPT Fri May 26 19:12:34 IST 2017
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: iW-RainboW-G15 platform based on i.MX6 (Device Tree), model: iWave RainboW-G15M-Q7 Board with PMIC based on Freescale i.MX6 Duallite/Solo
cma: CMA: reserved 224 MiB at 3c000000
Memory policy: ECC disabled, Data cache writealloc
On node 0 totalpages: 261888
free_area_init_node: node 0, pgdat 80fcf8c0, node_mem_map 81092000
  DMA zone: 2048 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 261888 pages, LIFO batch:31
PERCPU: Embedded 8 pages/cpu @818a8000 s9728 r8192 d14848 u32768
pcpu-alloc: s9728 r8192 d14848 u32768 alloc=8*4096
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 259840
Kernel command line: console=ttymxc1,115200n8 video=mxcfb0:dev=ldb,bpp=24 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=24 fbmem=28M root=/dev/mmcblk1p2 calibration rootwait rw rootfstype=ext4 init=/ind
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

 Next in MM initMemory: 959MB 64MB = 1023MB total
Memory: 791584k/791584k available, 256992k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    vmalloc : 0xc0800000 - 0xff000000   (1000 MB)
    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .text : 0x80008000 - 0x80ec355c   (15086 kB)
      .init : 0x80ec4000 - 0x80f57600   ( 590 kB)
      .data : 0x80f58000 - 0x80fed540   ( 598 kB)
       .bss : 0x80fed540 - 0x81091378   ( 656 kB)
  SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

 Crossed MM initPreemptible hierarchical RCU implementation.
  RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.

NR_IRQS:16 nr_irqs:16 16

L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x32050000, Cache size: 524288 B

/********************Freeze here *****************************************/

I tried disabling gpu as per a discussion forum but still not working.

Any help would be appreciated.

Thanks & Regards,

Anjali

0 Kudos

1,156 Views
joanxie
NXP TechSupport
NXP TechSupport

refer to the doc:

How do I run the image on the i.MX 6Solo board?

The user can adopt the correct bootloader u-boot.bin so that the image can run on i.MX 6Solo board.

One emulation configuration for i.MX 6Solo has been provided in the default U-Boot delivery

(mx6solo_sabresd_android_config) to ensure that DDR is 32 bit. The user can refer to this configuration and follow the

instructions in User Guide 'Build U-Boot Image’ to build the i.MX 6Solo u-boot.bin.

For i.MX6solo SabreSD:

make mx6solosabresdandroid_config

maybe try to set vmalloc=512, since you use the customized board,I couldn't test it on mx6s board, pls try it.

0 Kudos