Z Smite

Linux Fast Boot on i.MX6

Discussion created by Z Smite on Feb 19, 2016
Latest reply on Mar 24, 2017 by li chao

my board is a forlinx OKMX6Q, which is very similar with SabreSD. main storage device is emmc. following the concept of [ Linux Fast Boot on i.MX6 Sabresd Board ]  link: Linux Fast Boot on i.MX6 Sabresd Board  , the board can boot within 2s with a camera render to display. the BSP version is 3.14.52 1.1.0 GA.

 

 

log :

 

 

U-Boot 2015.04-g54ce4e4-dirty (Feb 20 2016 - 12:22:14)

 

CPU:   Freescale i.MX6Q rev1.5 at 792 MHz

Reset cause: POR

Board: Forlinx Embedded i.MX6 OKMX6Q

I2C:   ready

DRAM:  1 GiB

PMIC:  PFUZE100 ID=0x10 

MMC:   FSL_SDHC: 0 

Using default environment

 

In:    serial 

Out:   serial 

Err:   serial 

Normal Boot

Hit any key to stop autoboot:  0

switch to ldo_bypass mode!

   Loading Device Tree to 4ef8b000, end 4ef98904 ... OK

 

Starting kernel ...

 

000293  jump to linux    <--------------------- 300ms

 

Freescale i.MX Release Distro 3.14.52-1.1.0 localhost /dev/ttymxc0

 

localhost login: root

root@localhost:~# dmesg 

0.000000  Booting Linux on physical CPU 0x0 

0.000000  Initializing cgroup subsys cpuset 

0.000000  Linux version 3.14.52+ (zoulz@thinkpad.x200) (gcc version 4.9.2 (GCC) ) #23 SMP PREEMPT Sat Feb 20 12:05:38 CST 2016

0.000000  CPU: ARMv7 Processor  412fc09a  revision 10 (ARMv7), cr=10c53c7d

0.000000  CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache

0.000000  Machine model: Forlinx Embedded i.MX6 OKMX6Q Board

0.000000  cma: CMA: reserved 320 MiB at 3a000000 

0.000000  Memory policy: Data cache writealloc

0.000000  On node 0 totalpages: 262144 

0.000000  free_area_init_node: node 0, pgdat 80576dc0, node_mem_map bf757000

0.000000    DMA zone: 2048 pages used for memmap 

0.000000    DMA zone: 0 pages reserved 

0.000000    DMA zone: 262144 pages, LIFO batch:31

0.000000  PERCPU: Embedded 7 pages/cpu @bf723000 s7168 r8192 d13312 u32768

0.000000  pcpu-alloc: s7168 r8192 d13312 u32768 alloc=8*4096

0.000000  pcpu-alloc:  0  0  0  1  0  2  0  3

0.000000  Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096

0.000000  Kernel command line: root=/dev/mmcblk0p1 rootfstype=ext4 rootwait ro init=/usr/bin/minit 

0.000000  PID hash table entries: 4096 (order: 2, 16384 bytes)

0.000000  Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)

0.000000  Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

0.000000  Memory: 705040K/1048576K available (4367K kernel code, 264K rwdata, 728K rodata, 199K init, 389K bss, 343536K reserved, 0K highmem)

0.000000  Virtual kernel memory layout:

0.000000 vector  : 0xffff0000 - 0xffff1000   (   4 kB)

0.000000 fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

0.000000 vmalloc : 0xc0800000 - 0xff000000   (1000 MB)

0.000000 lowmem  : 0x80000000 - 0xc0000000   (1024 MB)

0.000000 pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

0.000000 modules : 0x7f000000 - 0x7fe00000   (  14 MB)

0.000000   .text : 0x80008000 - 0x805020f4   (5097 kB)

0.000000   .init : 0x80503000 - 0x80534c00   ( 199 kB)

0.000000   .data : 0x80536000 - 0x805781e0   ( 265 kB)

0.000000    .bss : 0x805781ec - 0x805d9664   ( 390 kB)

0.000000  SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 

0.000000  Preemptible hierarchical RCU implementation.

0.000000   Dump stacks of tasks blocking RCU-preempt GP.

0.000000  NR_IRQS:16 nr_irqs:16 16

0.000000  L310 cache controller enabled

0.000000  l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1024 kB

0.000000  Switching to timer-based delay loop

0.000007  sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655765682ns 

0.000548  Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=6000)

0.000564  pid_max: default: 32768 minimum: 301

0.000722  Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)

0.000734  Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)

0.001371  CPU: Testing write buffer coherency: ok

0.001641  CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 

0.001713  Setting up static identity map for 0x104275d8 - 0x10427630 

0.013028  CPU1: Booted secondary processor

0.013049  CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 

0.017018  CPU2: Booted secondary processor

0.017038  CPU2: thread -1, cpu 2, socket 0, mpidr 80000002 

0.021021  CPU3: Booted secondary processor

0.021041  CPU3: thread -1, cpu 3, socket 0, mpidr 80000003 

0.021142  Brought up 4 CPUs

0.021170  SMP: Total of 4 processors activated (24.00 BogoMIPS).

0.021179  CPU: All CPU(s) started in SVC mode.

0.021731  devtmpfs: initialized

0.025346  VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4

0.025652  pinctrl core: initialized pinctrl subsystem 

0.025872  regulator-dummy: no parameters

0.042393  NET: Registered protocol family 16

0.049105  DMA: preallocated 256 KiB pool for atomic coherent allocations

0.049566  CPU identified as i.MX6Q, silicon rev 1.5

0.049675  Use WDOG2 as reset source

0.057977  syscon 20c8000.anatop: regmap  mem 0x020c8000-0x020c8fff  registered 

0.058307  vdd1p1: 800 <--> 1375 mV at 1100 mV

0.058609  vdd3p0: 2625 <--> 3400 mV at 3000 mV

0.058904  vdd2p5: 2000 <--> 2750 mV at 2400 mV

0.059217  vddarm: 725 <--> 1450 mV

0.060330  vddpu: 725 <--> 1450 mV 

0.060643  vddsoc: 725 <--> 1450 mV

0.062487  syscon 20e0000.iomuxc-gpr: regmap  mem 0x020e0000-0x020e0037  registered

0.065549  syscon 21bc000.ocotp-ctrl: regmap  mem 0x021bc000-0x021bffff  registered

0.070118  hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.

0.070129  hw-breakpoint: maximum watchpoint size is 4 bytes.

0.070588  imx6q-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver

0.076287  bio: create slab <bio-0> at 0

0.078429  mxs-dma 110000.dma-apbh: initialized

0.079171  usb_otg_vbus: 5000 mV

0.079372  usb_h1_vbus: 5000 mV

0.079546  wm8962-supply: no parameters 

0.079733  sensor-supply: 3300 mV

0.080045  i2c-core: driver  max17135  using legacy suspend method

0.080054  i2c-core: driver  max17135  using legacy resume method

0.080665  SCSI subsystem initialized

0.080891  usbcore: registered new interface driver usbfs

0.080953  usbcore: registered new interface driver hub

0.081061  usbcore: registered new device driver usb

0.082432  i2c i2c-0: IMX I2C adapter registered

0.084086  i2c i2c-1: IMX I2C adapter registered

0.084939  i2c i2c-2: IMX I2C adapter registered

0.085073  Linux video capture interface: v2.00

0.085122  pps_core: LinuxPPS API ver. 1 registered

0.085131  pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>  

0.085155  PTP clock support registered 

0.088376  imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

0.092374  imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

0.093530  Advanced Linux Sound Architecture Driver Initialized. 

0.094755  Switched to clocksource mxc_timer1

0.096377  NET: Registered protocol family 2 

0.097224  TCP established hash table entries: 8192 (order: 3, 32768 bytes)

0.097312  TCP bind hash table entries: 8192 (order: 4, 65536 bytes)

0.097448  TCP: Hash tables configured (established 8192 bind 8192)

0.097573  TCP: reno registered

0.097588  UDP hash table entries: 512 (order: 2, 16384 bytes)

0.097627  UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)

0.097859  NET: Registered protocol family 1 

0.098136  RPC: Registered named UNIX socket transport module.

0.098147  RPC: Registered udp transport module.

0.098154  RPC: Registered tcp transport module.

0.098162  RPC: Registered tcp NFSv4.1 backchannel transport module.

0.098554  hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available

0.099374  imx_busfreq busfreq.16: DDR medium rate not supported.

0.099810  Bus freq driver module loaded

0.100738  futex hash table entries: 1024 (order: 4, 65536 bytes)

0.109869  msgmni has been set to 2017

0.110225  testmgr: alg_test_descs entries in wrong order: 'authenc(hmac(sha512),cbc(aes))' before 'authenc(hmac(md5),cbc(aes))'

0.112117  alg: No test for stdrng (krng)

0.112166  io scheduler noop registered 

0.112178  io scheduler deadline registered

0.112225  io scheduler cfq registered (default)

0.113508  backlight.27 supply power not found, using dummy regulator 

0.117027  mxc_sdc_fb fb.23: registered mxc display driver lcd

0.128294  mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0xa:0xa0:0xc1

0.128321  fbcvt: 1280x720@60: CVT Name - .921M9

0.128408  mxc_sdc_fb fb.24: registered mxc display driver hdmi

0.131192  mxc_sdc_fb fb.25: registered mxc display driver ldb

0.135522  imx-sdma 20ec000.sdma: no iram assigned, using external mem

0.136144  imx-sdma 20ec000.sdma: no event needs to be remapped

0.136545  imx-sdma 20ec000.sdma: loaded firmware 3.2

0.139441  imx-sdma 20ec000.sdma: initialized

0.141012  pfuze100-regulator 1-0008: Full layer: 2, Metal layer: 1

0.141622  pfuze100-regulator 1-0008: FAB: 0, FIN: 0

0.141635  pfuze100-regulator 1-0008: pfuze100 found.

0.143129  SW1AB: 300 <--> 1875 mV at 1150 mV

0.144454  SW1C: 300 <--> 1875 mV at 1175 mV 

0.146241  SW2: 800 <--> 3300 mV at 3300 mV

0.146976  SW3A: 400 <--> 1975 mV at 1500 mV 

0.147705  SW3B: 400 <--> 1975 mV at 1500 mV 

0.148439  SW4: 800 <--> 3300 mV at 3150 mV

0.149167  SWBST: 5000 <--> 5150 mV at 5000 mV

0.149891  VSNVS: 1000 <--> 3000 mV at 3000 mV

0.150032  VREFDDR: 750 mV

0.150762  VGEN1: 800 <--> 1550 mV at 1500 mV

0.151499  VGEN2: 800 <--> 1550 mV at 1500 mV

0.152249  VGEN3: 1800 <--> 3300 mV at 2800 mV

0.152986  VGEN4: 1800 <--> 3300 mV at 1800 mV

0.153724  VGEN5: 1800 <--> 3300 mV at 3000 mV

0.154464  VGEN6: 1800 <--> 3300 mV at 3300 mV

0.154810  Serial: IMX driver 

0.155128  2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58, base_baud = 5000000) is a IMX

0.155749  21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 59, base_baud = 5000000) is a IMX

0.156181  21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 60, base_baud = 5000000) is a IMX

0.156656  21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61, base_baud = 5000000) is a IMX

0.157531  mlog registered

0.158728  spi_imx 200c000.ecspi: probed

0.160482  2188000.ethernet supply phy not found, using dummy regulator

0.163183  pps pps0: new PPS source ptp0

0.163783  fec 2188000.ethernet (unregistered net_device): Invalid MAC address: 00:00:00:00:00:00

0.163813  fec 2188000.ethernet (unregistered net_device): Using random MAC address: 72:3e:25:b7:52:2d

0.167907  libphy: fec_enet_mii_bus: probed

0.168480  fec 2188000.ethernet eth0: registered PHC device 0

0.168716  ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver 

0.168726  ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver

0.168833  usbcore: registered new interface driver usb-storage

0.169010  snvs_rtc 20cc034.snvs-rtc-lp: can't get snvs-rtc clock

0.169315  snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0 

0.204785  camera ov5640 is found

0.205308  mxc_v4l2_output v4l2_out.29: V4L2 device registered as video16

0.205479  mxc_v4l2_output v4l2_out.29: V4L2 device registered as video17

0.205670  mxc_v4l2_output v4l2_out.29: V4L2 device registered as video18

0.205844  mxc_v4l2_output v4l2_out.29: V4L2 device registered as video19

0.206002  mxc_v4l2_output v4l2_out.29: V4L2 device registered as video20

0.206674  imx2-wdt 20c0000.wdog: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=0)

0.206997  sdhci: Secure Digital Host Controller Interface driver

0.207006  sdhci: Copyright(c) Pierre Ossman

0.207013  sdhci-pltfm: SDHCI platform and OF driver helper

0.209384  mmc2: no vqmmc regulator found

0.209399  mmc2: no vmmc regulator found

0.240783  mmc2: SDHCI controller on 2198000.usdhc  2198000.usdhc  using ADMA

0.243653  mmc0: no vqmmc regulator found

0.243667  mmc0: no vmmc regulator found

0.274783  mmc0: SDHCI controller on 219c000.usdhc  219c000.usdhc  using ADMA

0.275334  mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed

0.275905  mxc_vpu 2040000.vpu: VPU initialized

0.277839  fsl-asrc 2034000.asrc: driver registered

0.279917  oprofile: using arm/armv7-ca9

0.280163  TCP: cubic registered

0.280685  NET: Registered protocol family 10

0.281605  NET: Registered protocol family 17

0.286315  VGEN1: disabling

0.288794  SWBST: disabling

0.288802  SW4: disabling

0.288810  sensor-supply: disabling

0.288817  wm8962-supply: disabling

0.288822  usb_h1_vbus: disabling

0.288828  usb_otg_vbus: disabling

0.288840  regulator-dummy: disabling

0.290521  input: gpio-keys.20 as /devices/soc0/gpio-keys.20/input/input0

0.291761  ALSA device list:

0.291769    No soundcards found.

0.291837  Warning: unable to open an initial console.

0.291893  Waiting for root device /dev/mmcblk0p1...

0.349231  mmc0: BKOPS_EN bit is not set

0.364299  mmc0: new high speed DDR MMC card at address 0001

0.364660  mmcblk0: mmc0:0001 SEM08G 7.28 GiB

0.364834  mmcblk0boot0: mmc0:0001 SEM08G partition 1 2.00 MiB

0.364990  mmcblk0boot1: mmc0:0001 SEM08G partition 2 2.00 MiB

0.365139  mmcblk0rpmb: mmc0:0001 SEM08G partition 3 2.00 MiB

0.365858   mmcblk0: p1 p2 p3

0.368475   mmcblk0boot1: unknown partition table

0.370259   mmcblk0boot0: unknown partition table

0.398797  EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)

0.398827  VFS: Mounted root (ext4 filesystem) readonly on device 179:1.

0.399119  Freeing unused kernel memory: 196K (80503000 - 80534000)

 

<---------------------------- 400ms kernel booting

 

0.560331  Galcore version 5.0.11.33433

root@localhost:~#

1970-01-01 00:00:00.892000  0087:0087 : (I)  mcamera  :1st draw

 

<-------------------------  first camera show  at 892ms

 

 

the total time is less than 2s

Attachments

Outcomes