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
How to do this on L3.14.52 ? can you share it ?