본문 바로가기

임베디드

쾌속 임베디드 리눅스 부팅 4차 도전

부팅 속도 최적화라는 공부를 시작한지 어느덧 3일이 지났다.

리눅스 커널과 init에 대한 아주 얄팍한 지식으로 무식하게 진행하고 있으나, 좌충우돌하면서 하나하나 배우는 재미가 쏠쏠하다.

초단위로 적당히 단축을 하다가 어느던 ~100msec 단위에서 최적화를 보고 있다.

 

다시 힘차게 4일차 아침을 시작해 보자. 오늘도 시간과의 싸움이다.

 

비교적 간단한 커널관련 작업으로 부팅시간이 많이 줄었으나, 아직 해볼만한 것들이 남아있는지 프로파일링을 해보자.

커널 설정은 변경없이 bootcmd만 수정하여 bootargs에 "initcall_debug printk.time=1"만 추가하였다.

보드를 부팅하고 command line에서 dmesg > kernel.log로 커널 메시지를 저장하였다.

커널 로그 파일은 아래와 같이 initcall 호출하는 부분이 일일이 타임스탬프로 찍혀있어 매우 방대하다.

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.5.0-rc4 (odroider@hardkernel) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #3 Wed Jan 15 17:24:11 KST 2020
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Hardkernel FoxNux One
[    0.000000] Memory policy: Data cache writeback
[    0.000000] cma: Reserved 16 MiB at 0x47000000
[    0.000000] On node 0 totalpages: 32768
[    0.000000]   Normal zone: 256 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] CPU: All CPU(s) started in SVC mode.
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line: console=ttyS0,115200 console=tty0 rootwait root=/dev/mmcblk0p2 init=/sbin/init quiet lpj=240000 initcall_debug printk.time=1
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 101472K/131072K available (7168K kernel code, 425K rwdata, 1904K rodata, 1024K init, 240K bss, 13216K reserved, 16384K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] random: get_random_bytes called from start_kernel+0x2a4/0x430 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000006] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000014] Switching to timer-based delay loop, resolution 41ns
[    0.000262] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000515] Console: colour dummy device 80x30
[    0.000526] printk: console [tty0] enabled
[    0.000554] Calibrating delay loop (skipped) preset value.. 48.00 BogoMIPS (lpj=240000)
[    0.000564] pid_max: default: 32768 minimum: 301
[    0.000700] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.000710] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.001331] CPU: Testing write buffer coherency: ok
[    0.001951] calling  cpu_suspend_alloc_sp+0x0/0xa8 @ 1
[    0.001967] initcall cpu_suspend_alloc_sp+0x0/0xa8 returned 0 after 0 usecs
[    0.001978] calling  init_static_idmap+0x0/0x104 @ 1
[    0.002005] Setting up static identity map for 0x40100000 - 0x40100060
[    0.002014] initcall init_static_idmap+0x0/0x104 returned 0 after 0 usecs
[    0.002022] calling  spawn_ksoftirqd+0x0/0x48 @ 1
[    0.002129] initcall spawn_ksoftirqd+0x0/0x48 returned 0 after 0 usecs
[    0.002142] calling  initialize_ptr_random+0x0/0x54 @ 1
[    0.002152] initcall initialize_ptr_random+0x0/0x54 returned 0 after 0 usecs
[    0.002484] devtmpfs: initialized
[    0.005230] calling  ipc_ns_init+0x0/0x3c @ 1
[    0.005252] initcall ipc_ns_init+0x0/0x3c returned 0 after 0 usecs
[    0.005260] calling  init_mmap_min_addr+0x0/0x20 @ 1
[    0.005267] initcall init_mmap_min_addr+0x0/0x20 returned 0 after 0 usecs
[    0.005276] calling  net_ns_init+0x0/0x130 @ 1
[    0.005561] initcall net_ns_init+0x0/0x130 returned 0 after 0 usecs
[    0.005665] calling  vfp_init+0x0/0x1d0 @ 1
[    0.005669] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.005686] initcall vfp_init+0x0/0x1d0 returned 0 after 0 usecs
[    0.005693] calling  ptrace_break_init+0x0/0x2c @ 1
[    0.005701] initcall ptrace_break_init+0x0/0x2c returned 0 after 0 usecs
[    0.005708] calling  v6_userpage_init+0x0/0x8 @ 1
[    0.005715] initcall v6_userpage_init+0x0/0x8 returned 0 after 0 usecs
[    0.005722] calling  wq_sysfs_init+0x0/0x30 @ 1
[    0.005831] initcall wq_sysfs_init+0x0/0x30 returned 0 after 0 usecs
[    0.005840] calling  ksysfs_init+0x0/0xa4 @ 1
[    0.005877] initcall ksysfs_init+0x0/0xa4 returned 0 after 0 usecs
[    0.005885] calling  pm_init+0x0/0x64 @ 1
[    0.005971] initcall pm_init+0x0/0x64 returned 0 after 0 usecs
[    0.005978] calling  rcu_set_runtime_mode+0x0/0x18 @ 1
[    0.005984] initcall rcu_set_runtime_mode+0x0/0x18 returned 0 after 0 usecs
[    0.005990] calling  dma_init_reserved_memory+0x0/0x5c @ 1
[    0.005997] initcall dma_init_reserved_memory+0x0/0x5c returned -12 after 0 usecs
[    0.006003] calling  init_jiffies_clocksource+0x0/0x14 @ 1
[    0.006014] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.006022] initcall init_jiffies_clocksource+0x0/0x14 returned 0 after 0 usecs
[    0.006029] calling  futex_init+0x0/0xe0 @ 1
[    0.006042] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[    0.006059] initcall futex_init+0x0/0xe0 returned 0 after 0 usecs
[    0.006065] calling  cgroup_wq_init+0x0/0x38 @ 1
[    0.006083] initcall cgroup_wq_init+0x0/0x38 returned 0 after 0 usecs
[    0.006089] calling  cgroup1_wq_init+0x0/0x38 @ 1
[    0.006111] initcall cgroup1_wq_init+0x0/0x38 returned 0 after 0 usecs
[    0.006119] calling  cpu_pm_init+0x0/0x18 @ 1
[    0.006126] initcall cpu_pm_init+0x0/0x18 returned 0 after 0 usecs
[    0.006132] calling  init_zero_pfn+0x0/0x40 @ 1
[    0.006139] initcall init_zero_pfn+0x0/0x40 returned 0 after 0 usecs
[    0.006148] calling  init_per_zone_wmark_min+0x0/0x6c @ 1
[    0.006162] initcall init_per_zone_wmark_min+0x0/0x6c returned 0 after 0 usecs
[    0.006171] calling  cma_init_reserved_areas+0x0/0x1d8 @ 1
[    0.006671] initcall cma_init_reserved_areas+0x0/0x1d8 returned 0 after 0 usecs
[    0.006683] calling  fsnotify_init+0x0/0x5c @ 1
[    0.006719] initcall fsnotify_init+0x0/0x5c returned 0 after 0 usecs
[    0.006726] calling  filelock_init+0x0/0x78 @ 1
[    0.006741] initcall filelock_init+0x0/0x78 returned 0 after 0 usecs
[    0.006748] calling  init_script_binfmt+0x0/0x1c @ 1
[    0.006756] initcall init_script_binfmt+0x0/0x1c returned 0 after 0 usecs
[    0.006762] calling  init_elf_binfmt+0x0/0x1c @ 1
[    0.006770] initcall init_elf_binfmt+0x0/0x1c returned 0 after 0 usecs
[    0.006776] calling  debugfs_init+0x0/0x64 @ 1
[    0.006807] initcall debugfs_init+0x0/0x64 returned 0 after 0 usecs
[    0.006815] calling  prandom_init+0x0/0xb8 @ 1
[    0.006825] initcall prandom_init+0x0/0xb8 returned 0 after 0 usecs
[    0.006830] calling  pinctrl_init+0x0/0xd4 @ 1
[    0.006833] pinctrl core: initialized pinctrl subsystem
[    0.006959] initcall pinctrl_init+0x0/0xd4 returned 0 after 0 usecs
[    0.006968] calling  gpiolib_dev_init+0x0/0xcc @ 1
[    0.007038] initcall gpiolib_dev_init+0x0/0xcc returned 0 after 0 usecs
[    0.007048] calling  regulator_init+0x0/0xb0 @ 1
[    0.007409] probe of reg-dummy returned 1 after 0 usecs
[    0.007450] initcall regulator_init+0x0/0xb0 returned 0 after 0 usecs
[    0.007458] calling  component_debug_init+0x0/0x28 @ 1
[    0.007475] initcall component_debug_init+0x0/0x28 returned 0 after 0 usecs
[    0.007484] calling  thermal_init+0x0/0x13c @ 1
[    0.007490] thermal_sys: Registered thermal governor 'step_wise'
[    0.007583] initcall thermal_init+0x0/0x13c returned 0 after 0 usecs
[    0.007591] calling  opp_debug_init+0x0/0x28 @ 1
[    0.007609] initcall opp_debug_init+0x0/0x28 returned 0 after 0 usecs
[    0.007616] calling  cpufreq_core_init+0x0/0x54 @ 1
[    0.007637] initcall cpufreq_core_init+0x0/0x54 returned 0 after 0 usecs
[    0.007644] calling  cpufreq_gov_performance_init+0x0/0xc @ 1
[    0.007653] initcall cpufreq_gov_performance_init+0x0/0xc returned 0 after 0 usecs
[    0.007660] calling  cpufreq_dt_platdev_init+0x0/0x100 @ 1
[    0.007745] initcall cpufreq_dt_platdev_init+0x0/0x100 returned -19 after 0 usecs
[    0.007754] calling  sock_init+0x0/0xac @ 1
[    0.008040] initcall sock_init+0x0/0xac returned 0 after 0 usecs
[    0.008050] calling  net_inuse_init+0x0/0x24 @ 1
[    0.008070] initcall net_inuse_init+0x0/0x24 returned 0 after 0 usecs
[    0.008076] calling  net_defaults_init+0x0/0x24 @ 1
[    0.008083] initcall net_defaults_init+0x0/0x24 returned 0 after 0 usecs
[    0.008089] calling  init_default_flow_dissectors+0x0/0x4c @ 1
[    0.008098] initcall init_default_flow_dissectors+0x0/0x4c returned 0 after 0 usecs
[    0.008104] calling  netlink_proto_init+0x0/0x160 @ 1
[    0.008182] NET: Registered protocol family 16
[    0.008248] initcall netlink_proto_init+0x0/0x160 returned 0 after 0 usecs
[    0.008372] calling  atomic_pool_init+0x0/0x194 @ 1
[    0.009289] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.009314] initcall atomic_pool_init+0x0/0x194 returned 0 after 0 usecs
[    0.009322] calling  irq_sysfs_init+0x0/0xb4 @ 1
[    0.009725] initcall irq_sysfs_init+0x0/0xb4 returned 0 after 0 usecs
[    0.009735] calling  bdi_class_init+0x0/0x5c @ 1
[    0.009803] initcall bdi_class_init+0x0/0x5c returned 0 after 0 usecs
[    0.009811] calling  mm_sysfs_init+0x0/0x38 @ 1
[    0.009826] initcall mm_sysfs_init+0x0/0x38 returned 0 after 0 usecs
[    0.009834] calling  gpiolib_sysfs_init+0x0/0x7c @ 1
[    0.009865] initcall gpiolib_sysfs_init+0x0/0x7c returned 0 after 0 usecs
[    0.009871] calling  lcd_class_init+0x0/0x58 @ 1
[    0.009892] initcall lcd_class_init+0x0/0x58 returned 0 after 0 usecs
[    0.009950] calling  backlight_class_init+0x0/0xa0 @ 1
[    0.009978] initcall backlight_class_init+0x0/0xa0 returned 0 after 0 usecs
[    0.009987] calling  tty_class_init+0x0/0x40 @ 1
[    0.010008] initcall tty_class_init+0x0/0x40 returned 0 after 0 usecs
[    0.010015] calling  vtconsole_class_init+0x0/0xec @ 1
[    0.010108] initcall vtconsole_class_init+0x0/0xec returned 0 after 0 usecs
[    0.010116] calling  mipi_dsi_bus_init+0x0/0xc @ 1
[    0.010157] initcall mipi_dsi_bus_init+0x0/0xc returned 0 after 0 usecs
[    0.010165] calling  software_node_init+0x0/0x3c @ 1
[    0.010176] initcall software_node_init+0x0/0x3c returned 0 after 0 usecs
[    0.010181] calling  wakeup_sources_debugfs_init+0x0/0x38 @ 1
[    0.010206] initcall wakeup_sources_debugfs_init+0x0/0x38 returned 0 after 0 usecs
[    0.010212] calling  wakeup_sources_sysfs_init+0x0/0x30 @ 1
[    0.010249] initcall wakeup_sources_sysfs_init+0x0/0x30 returned 0 after 0 usecs
[    0.010255] calling  regmap_initcall+0x0/0x10 @ 1
[    0.010273] initcall regmap_initcall+0x0/0x10 returned 0 after 0 usecs
[    0.010278] calling  syscon_init+0x0/0x10 @ 1
[    0.010319] initcall syscon_init+0x0/0x10 returned 0 after 0 usecs
[    0.010325] calling  spi_init+0x0/0x88 @ 1
[    0.010369] initcall spi_init+0x0/0x88 returned 0 after 0 usecs
[    0.010376] calling  i2c_init+0x0/0xc0 @ 1
[    0.010432] initcall i2c_init+0x0/0xc0 returned 0 after 0 usecs
[    0.010442] calling  kobject_uevent_init+0x0/0xc @ 1
[    0.010493] initcall kobject_uevent_init+0x0/0xc returned 0 after 0 usecs
[    0.010610] calling  gate_vma_init+0x0/0x70 @ 1
[    0.010618] initcall gate_vma_init+0x0/0x70 returned 0 after 0 usecs
[    0.010624] calling  customize_machine+0x0/0x30 @ 1
[    0.010631] initcall customize_machine+0x0/0x30 returned 0 after 0 usecs
[    0.010637] calling  arch_hw_breakpoint_init+0x0/0x264 @ 1
[    0.010654] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.010658] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.010669] initcall arch_hw_breakpoint_init+0x0/0x264 returned 0 after 0 usecs
[    0.010675] calling  exceptions_init+0x0/0x90 @ 1
[    0.010682] initcall exceptions_init+0x0/0x90 returned 0 after 0 usecs
[    0.010688] calling  cryptomgr_init+0x0/0xc @ 1
[    0.010695] initcall cryptomgr_init+0x0/0xc returned 0 after 0 usecs
[    0.010702] calling  dma_bus_init+0x0/0xac @ 1
[    0.010761] initcall dma_bus_init+0x0/0xac returned 0 after 0 usecs
[    0.010768] calling  dma_channel_table_init+0x0/0x108 @ 1
[    0.010808] initcall dma_channel_table_init+0x0/0x108 returned 0 after 0 usecs
[    0.010815] calling  of_platform_default_populate_init+0x0/0xbc @ 1
[    0.015507] initcall of_platform_default_populate_init+0x0/0xbc returned 0 after 0 usecs
[    0.015634] calling  topology_init+0x0/0x28 @ 1
[    0.015761] initcall topology_init+0x0/0x28 returned 0 after 0 usecs
[    0.015771] calling  uid_cache_init+0x0/0x8c @ 1
[    0.015797] initcall uid_cache_init+0x0/0x8c returned 0 after 0 usecs
[    0.015805] calling  param_sysfs_init+0x0/0x208 @ 1
[    0.020080] initcall param_sysfs_init+0x0/0x208 returned 0 after 9765 usecs
[    0.020092] calling  user_namespace_sysctl_init+0x0/0x44 @ 1
[    0.020142] initcall user_namespace_sysctl_init+0x0/0x44 returned 0 after 0 usecs
[    0.020150] calling  cgroup_sysfs_init+0x0/0x18 @ 1
[    0.020185] initcall cgroup_sysfs_init+0x0/0x18 returned 0 after 0 usecs
[    0.020192] calling  cgroup_namespaces_init+0x0/0x8 @ 1
[    0.020198] initcall cgroup_namespaces_init+0x0/0x8 returned 0 after 0 usecs
[    0.020203] calling  oom_init+0x0/0x34 @ 1
[    0.020383] initcall oom_init+0x0/0x34 returned 0 after 0 usecs
[    0.020392] calling  default_bdi_init+0x0/0x98 @ 1
[    0.020605] initcall default_bdi_init+0x0/0x98 returned 0 after 0 usecs
[    0.020613] calling  percpu_enable_async+0x0/0x18 @ 1
[    0.020621] initcall percpu_enable_async+0x0/0x18 returned 0 after 0 usecs
[    0.020627] calling  kcompactd_init+0x0/0x60 @ 1
[    0.020742] initcall kcompactd_init+0x0/0x60 returned 0 after 0 usecs
[    0.020754] calling  init_reserve_notifier+0x0/0x8 @ 1
[    0.020762] initcall init_reserve_notifier+0x0/0x8 returned 0 after 0 usecs
[    0.020771] calling  init_admin_reserve+0x0/0x2c @ 1
[    0.020777] initcall init_admin_reserve+0x0/0x2c returned 0 after 0 usecs
[    0.020783] calling  init_user_reserve+0x0/0x2c @ 1
[    0.020789] initcall init_user_reserve+0x0/0x2c returned 0 after 0 usecs
[    0.020796] calling  swap_init_sysfs+0x0/0x68 @ 1
[    0.020824] initcall swap_init_sysfs+0x0/0x68 returned 0 after 0 usecs
[    0.020830] calling  swapfile_init+0x0/0x54 @ 1
[    0.020837] initcall swapfile_init+0x0/0x54 returned 0 after 0 usecs
[    0.020843] calling  seqiv_module_init+0x0/0xc @ 1
[    0.020851] initcall seqiv_module_init+0x0/0xc returned 0 after 0 usecs
[    0.020860] calling  rsa_init+0x0/0x44 @ 1
[    0.021408] initcall rsa_init+0x0/0x44 returned 0 after 0 usecs
[    0.021422] calling  crypto_cmac_module_init+0x0/0xc @ 1
[    0.021429] initcall crypto_cmac_module_init+0x0/0xc returned 0 after 0 usecs
[    0.021435] calling  hmac_module_init+0x0/0xc @ 1
[    0.021441] initcall hmac_module_init+0x0/0xc returned 0 after 0 usecs
[    0.021447] calling  crypto_null_mod_init+0x0/0x64 @ 1
[    0.022447] initcall crypto_null_mod_init+0x0/0x64 returned 0 after 0 usecs
[    0.022458] calling  md5_mod_init+0x0/0xc @ 1
[    0.022702] initcall md5_mod_init+0x0/0xc returned 0 after 0 usecs
[    0.022711] calling  sha1_generic_mod_init+0x0/0xc @ 1
[    0.022951] initcall sha1_generic_mod_init+0x0/0xc returned 0 after 0 usecs
[    0.022960] calling  sha256_generic_mod_init+0x0/0x10 @ 1
[    0.023433] initcall sha256_generic_mod_init+0x0/0x10 returned 0 after 0 usecs
[    0.023444] calling  crypto_ctr_module_init+0x0/0x10 @ 1
[    0.023452] initcall crypto_ctr_module_init+0x0/0x10 returned 0 after 0 usecs
[    0.023458] calling  crypto_gcm_module_init+0x0/0x68 @ 1
[    0.023467] initcall crypto_gcm_module_init+0x0/0x68 returned 0 after 0 usecs
[    0.023472] calling  crypto_ccm_module_init+0x0/0x10 @ 1
[    0.023479] initcall crypto_ccm_module_init+0x0/0x10 returned 0 after 0 usecs
[    0.023485] calling  des_generic_mod_init+0x0/0x10 @ 1
[    0.023978] initcall des_generic_mod_init+0x0/0x10 returned 0 after 0 usecs
[    0.023988] calling  aes_init+0x0/0xc @ 1
[    0.024232] initcall aes_init+0x0/0xc returned 0 after 0 usecs
[    0.024240] calling  crc32c_mod_init+0x0/0xc @ 1
[    0.024488] initcall crc32c_mod_init+0x0/0xc returned 0 after 0 usecs
[    0.024496] calling  drbg_init+0x0/0xb0 @ 1
[    0.026323] initcall drbg_init+0x0/0xb0 returned 0 after 0 usecs
[    0.026333] calling  ghash_mod_init+0x0/0xc @ 1
[    0.026583] initcall ghash_mod_init+0x0/0xc returned 0 after 0 usecs
[    0.026592] calling  init_bio+0x0/0xc0 @ 1
[    0.026689] initcall init_bio+0x0/0xc0 returned 0 after 0 usecs
[    0.026696] calling  blk_settings_init+0x0/0x38 @ 1
[    0.026703] initcall blk_settings_init+0x0/0x38 returned 0 after 0 usecs
[    0.026709] calling  blk_ioc_init+0x0/0x40 @ 1
[    0.026725] initcall blk_ioc_init+0x0/0x40 returned 0 after 0 usecs
[    0.026730] calling  blk_softirq_init+0x0/0x60 @ 1
[    0.026739] initcall blk_softirq_init+0x0/0x60 returned 0 after 0 usecs
[    0.026744] calling  blk_mq_init+0x0/0x40 @ 1
[    0.026750] initcall blk_mq_init+0x0/0x40 returned 0 after 0 usecs
[    0.026756] calling  genhd_device_init+0x0/0x80 @ 1
[    0.026991] initcall genhd_device_init+0x0/0x80 returned 0 after 0 usecs
[    0.027003] calling  gpiolib_debugfs_init+0x0/0x38 @ 1
[    0.027020] initcall gpiolib_debugfs_init+0x0/0x38 returned 0 after 0 usecs
[    0.027027] calling  pwm_debugfs_init+0x0/0x38 @ 1
[    0.027039] initcall pwm_debugfs_init+0x0/0x38 returned 0 after 0 usecs
[    0.027045] calling  pwm_sysfs_init+0x0/0x14 @ 1
[    0.027078] initcall pwm_sysfs_init+0x0/0x14 returned 0 after 0 usecs
[    0.027084] calling  fbmem_init+0x0/0xf8 @ 1
[    0.027205] initcall fbmem_init+0x0/0xf8 returned 0 after 0 usecs
[    0.027214] calling  regulator_fixed_voltage_init+0x0/0x10 @ 1
[    0.027689] probe of vcc3v0 returned 1 after 0 usecs
[    0.027949] probe of vcc3v3 returned 1 after 0 usecs
[    0.028004] initcall regulator_fixed_voltage_init+0x0/0x10 returned 0 after 0 usecs
[    0.028013] calling  gpio_regulator_init+0x0/0x10 @ 1
[    0.028113] initcall gpio_regulator_init+0x0/0x10 returned 0 after 0 usecs
[    0.028121] calling  misc_init+0x0/0xe4 @ 1
[    0.028183] initcall misc_init+0x0/0xe4 returned 0 after 0 usecs
[    0.028192] calling  dma_buf_init+0x0/0xb4 @ 1
[    0.028294] initcall dma_buf_init+0x0/0xb4 returned 0 after 0 usecs
[    0.028301] calling  init_scsi+0x0/0x8c @ 1
[    0.028583] SCSI subsystem initialized
[    0.028595] initcall init_scsi+0x0/0x8c returned 0 after 0 usecs
[    0.028602] calling  phy_init+0x0/0x464 @ 1
[    0.028694] initcall phy_init+0x0/0x464 returned 0 after 0 usecs
[    0.028702] calling  usb_common_init+0x0/0x28 @ 1
[    0.028743] initcall usb_common_init+0x0/0x28 returned 0 after 0 usecs
[    0.028748] calling  usb_init+0x0/0x148 @ 1
[    0.028845] usbcore: registered new interface driver usbfs
[    0.028892] usbcore: registered new interface driver hub
[    0.028956] usbcore: registered new device driver usb
[    0.028969] initcall usb_init+0x0/0x148 returned 0 after 0 usecs
[    0.028976] calling  usb_phy_generic_init+0x0/0x10 @ 1
[    0.029087] initcall usb_phy_generic_init+0x0/0x10 returned 0 after 0 usecs
[    0.029095] calling  usb_udc_init+0x0/0x58 @ 1
[    0.029136] initcall usb_udc_init+0x0/0x58 returned 0 after 0 usecs
[    0.029143] calling  serio_init+0x0/0x30 @ 1
[    0.029176] initcall serio_init+0x0/0x30 returned 0 after 0 usecs
[    0.029182] calling  input_init+0x0/0x108 @ 1
[    0.029218] initcall input_init+0x0/0x108 returned 0 after 0 usecs
[    0.029223] calling  rtc_init+0x0/0x58 @ 1
[    0.029247] initcall rtc_init+0x0/0x58 returned 0 after 0 usecs
[    0.029254] calling  media_devnode_init+0x0/0x84 @ 1
[    0.029256] mc: Linux media interface: v0.10
[    0.029289] initcall media_devnode_init+0x0/0x84 returned 0 after 0 usecs
[    0.029295] calling  videodev_init+0x0/0x84 @ 1
[    0.029297] videodev: Linux video capture interface: v2.00
[    0.029317] initcall videodev_init+0x0/0x84 returned 0 after 0 usecs
[    0.029325] calling  rc_core_init+0x0/0x68 @ 1
[    0.029348] initcall rc_core_init+0x0/0x68 returned 0 after 0 usecs
[    0.029355] calling  pps_init+0x0/0xb4 @ 1
[    0.029373] pps_core: LinuxPPS API ver. 1 registered
[    0.029376] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.029384] initcall pps_init+0x0/0xb4 returned 0 after 0 usecs
[    0.029390] calling  ptp_init+0x0/0xa0 @ 1
[    0.029405] PTP clock support registered
[    0.029414] initcall ptp_init+0x0/0xa0 returned 0 after 0 usecs
[    0.029421] calling  power_supply_class_init+0x0/0x4c @ 1
[    0.029442] initcall power_supply_class_init+0x0/0x4c returned 0 after 0 usecs
[    0.029449] calling  hwmon_init+0x0/0x34 @ 1
[    0.029468] initcall hwmon_init+0x0/0x34 returned 0 after 0 usecs
[    0.029475] calling  mmc_init+0x0/0x38 @ 1
[    0.029550] initcall mmc_init+0x0/0x38 returned 0 after 0 usecs
[    0.029557] calling  leds_init+0x0/0x4c @ 1
[    0.029578] initcall leds_init+0x0/0x4c returned 0 after 0 usecs
[    0.029585] calling  iio_init+0x0/0x8c @ 1
[    0.029647] initcall iio_init+0x0/0x8c returned 0 after 0 usecs
[    0.029657] calling  arm_pmu_hp_init+0x0/0x5c @ 1
[    0.029666] initcall arm_pmu_hp_init+0x0/0x5c returned 0 after 0 usecs
[    0.029672] calling  nvmem_init+0x0/0xc @ 1
[    0.029709] initcall nvmem_init+0x0/0xc returned 0 after 0 usecs
[    0.029716] calling  init_soundcore+0x0/0x40 @ 1
[    0.029736] initcall init_soundcore+0x0/0x40 returned 0 after 0 usecs
[    0.029743] calling  alsa_sound_init+0x0/0xb0 @ 1
[    0.029769] Advanced Linux Sound Architecture Driver Initialized.
[    0.029777] initcall alsa_sound_init+0x0/0xb0 returned 0 after 0 usecs
[    0.029783] calling  proto_init+0x0/0xc @ 1
[    0.029797] initcall proto_init+0x0/0xc returned 0 after 0 usecs
[    0.029802] calling  net_dev_init+0x0/0x1d0 @ 1
[    0.030246] initcall net_dev_init+0x0/0x1d0 returned 0 after 9765 usecs
[    0.030255] calling  neigh_init+0x0/0xa8 @ 1
[    0.030269] initcall neigh_init+0x0/0xa8 returned 0 after 0 usecs
[    0.030275] calling  fib_notifier_init+0x0/0xc @ 1
[    0.030292] initcall fib_notifier_init+0x0/0xc returned 0 after 0 usecs
[    0.030299] calling  init_flow_indr_rhashtable+0x0/0x14 @ 1
[    0.030311] initcall init_flow_indr_rhashtable+0x0/0x14 returned 0 after 0 usecs
[    0.030317] calling  genl_init+0x0/0x38 @ 1
[    0.030360] initcall genl_init+0x0/0x38 returned 0 after 0 usecs
[    0.030369] calling  nexthop_init+0x0/0xf0 @ 1
[    0.030389] initcall nexthop_init+0x0/0xf0 returned 0 after 0 usecs
[    0.030396] calling  ieee80211_init+0x0/0x28 @ 1
[    0.030416] initcall ieee80211_init+0x0/0x28 returned 0 after 0 usecs
[    0.030423] calling  rfkill_init+0x0/0x114 @ 1
[    0.030682] initcall rfkill_init+0x0/0x114 returned 0 after 0 usecs
[    0.030697] calling  watchdog_init+0x0/0x80 @ 1
[    0.030904] initcall watchdog_init+0x0/0x80 returned 0 after 0 usecs
[    0.031030] calling  proc_cpu_init+0x0/0x24 @ 1
[    0.031051] initcall proc_cpu_init+0x0/0x24 returned 0 after 0 usecs
[    0.031059] calling  alignment_init+0x0/0xd8 @ 1
[    0.031072] initcall alignment_init+0x0/0xd8 returned 0 after 0 usecs
[    0.031079] calling  clocksource_done_booting+0x0/0x44 @ 1
[    0.031095] clocksource: Switched to clocksource arch_sys_counter
[    0.031103] initcall clocksource_done_booting+0x0/0x44 returned 0 after 11 usecs
[    0.031110] calling  init_pipe_fs+0x0/0x54 @ 1
[    0.031191] initcall init_pipe_fs+0x0/0x54 returned 0 after 67 usecs
[    0.031198] calling  inotify_user_setup+0x0/0x60 @ 1
[    0.031229] initcall inotify_user_setup+0x0/0x60 returned 0 after 22 usecs
[    0.031236] calling  eventpoll_init+0x0/0xd0 @ 1
[    0.031267] initcall eventpoll_init+0x0/0xd0 returned 0 after 21 usecs
[    0.031274] calling  anon_inode_init+0x0/0x68 @ 1
[    0.031314] initcall anon_inode_init+0x0/0x68 returned 0 after 29 usecs
[    0.031321] calling  proc_locks_init+0x0/0x40 @ 1
[    0.031336] initcall proc_locks_init+0x0/0x40 returned 0 after 7 usecs
[    0.031342] calling  iomap_init+0x0/0x18 @ 1
[    0.031405] initcall iomap_init+0x0/0x18 returned 0 after 51 usecs
[    0.031412] calling  proc_cmdline_init+0x0/0x38 @ 1
[    0.031423] initcall proc_cmdline_init+0x0/0x38 returned 0 after 4 usecs
[    0.031429] calling  proc_consoles_init+0x0/0x3c @ 1
[    0.031439] initcall proc_consoles_init+0x0/0x3c returned 0 after 2 usecs
[    0.031445] calling  proc_cpuinfo_init+0x0/0x28 @ 1
[    0.031454] initcall proc_cpuinfo_init+0x0/0x28 returned 0 after 2 usecs
[    0.031460] calling  proc_devices_init+0x0/0x3c @ 1
[    0.031470] initcall proc_devices_init+0x0/0x3c returned 0 after 2 usecs
[    0.031476] calling  proc_interrupts_init+0x0/0x3c @ 1
[    0.031485] initcall proc_interrupts_init+0x0/0x3c returned 0 after 2 usecs
[    0.031492] calling  proc_loadavg_init+0x0/0x38 @ 1
[    0.031501] initcall proc_loadavg_init+0x0/0x38 returned 0 after 1 usecs
[    0.031507] calling  proc_meminfo_init+0x0/0x38 @ 1
[    0.031516] initcall proc_meminfo_init+0x0/0x38 returned 0 after 2 usecs
[    0.031522] calling  proc_stat_init+0x0/0x28 @ 1
[    0.031531] initcall proc_stat_init+0x0/0x28 returned 0 after 2 usecs
[    0.031537] calling  proc_uptime_init+0x0/0x38 @ 1
[    0.031547] initcall proc_uptime_init+0x0/0x38 returned 0 after 2 usecs
[    0.031553] calling  proc_version_init+0x0/0x38 @ 1
[    0.031562] initcall proc_version_init+0x0/0x38 returned 0 after 2 usecs
[    0.031568] calling  proc_softirqs_init+0x0/0x38 @ 1
[    0.031583] initcall proc_softirqs_init+0x0/0x38 returned 0 after 6 usecs
[    0.031590] calling  proc_kmsg_init+0x0/0x28 @ 1
[    0.031599] initcall proc_kmsg_init+0x0/0x28 returned 0 after 2 usecs
[    0.031605] calling  proc_page_init+0x0/0x44 @ 1
[    0.031616] initcall proc_page_init+0x0/0x44 returned 0 after 3 usecs
[    0.031623] calling  init_ramfs_fs+0x0/0xc @ 1
[    0.031631] initcall init_ramfs_fs+0x0/0xc returned 0 after 1 usecs
[    0.031638] calling  blk_scsi_ioctl_init+0x0/0xdc @ 1
[    0.031646] initcall blk_scsi_ioctl_init+0x0/0xdc returned 0 after 1 usecs
[    0.031653] calling  simplefb_init+0x0/0x8c @ 1
[    0.031814] initcall simplefb_init+0x0/0x8c returned 0 after 144 usecs
[    0.031825] calling  chr_dev_init+0x0/0xc8 @ 1
[    0.038477] initcall chr_dev_init+0x0/0xc8 returned 0 after 6466 usecs
[    0.038492] calling  firmware_class_init+0x0/0xc8 @ 1
[    0.038504] initcall firmware_class_init+0x0/0xc8 returned 0 after 5 usecs
[    0.038512] calling  sysctl_core_init+0x0/0x30 @ 1
[    0.038570] initcall sysctl_core_init+0x0/0x30 returned 0 after 47 usecs
[    0.038577] calling  eth_offload_init+0x0/0x18 @ 1
[    0.038585] initcall eth_offload_init+0x0/0x18 returned 0 after 1 usecs
[    0.038592] calling  inet_init+0x0/0x23c @ 1
[    0.038679] NET: Registered protocol family 2
[    0.039162] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[    0.039183] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.039202] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.039215] TCP: Hash tables configured (established 1024 bind 1024)
[    0.039327] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.039343] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.039508] initcall inet_init+0x0/0x23c returned 0 after 869 usecs
[    0.039518] calling  ipv4_offload_init+0x0/0x84 @ 1
[    0.039528] initcall ipv4_offload_init+0x0/0x84 returned 0 after 2 usecs
[    0.039535] calling  af_unix_init+0x0/0x54 @ 1
[    0.039543] NET: Registered protocol family 1
[    0.039570] initcall af_unix_init+0x0/0x54 returned 0 after 25 usecs
[    0.039577] calling  ipv6_offload_init+0x0/0x88 @ 1
[    0.039586] initcall ipv6_offload_init+0x0/0x88 returned 0 after 2 usecs
[    0.039593] calling  init_sunrpc+0x0/0x6c @ 1
[    0.040202] RPC: Registered named UNIX socket transport module.
[    0.040208] RPC: Registered udp transport module.
[    0.040211] RPC: Registered tcp transport module.
[    0.040213] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.040236] initcall init_sunrpc+0x0/0x6c returned 0 after 607 usecs
[    0.040246] calling  cfg80211_init+0x0/0xc4 @ 1
[    0.040870] initcall cfg80211_init+0x0/0xc4 returned 0 after 582 usecs
[    0.040883] calling  populate_rootfs+0x0/0xc4 @ 1
[    0.041138] initcall populate_rootfs+0x0/0xc4 returned 0 after 195 usecs
[    0.041263] calling  armv7_pmu_driver_init+0x0/0x10 @ 1
[    0.041520] initcall armv7_pmu_driver_init+0x0/0x10 returned 0 after 235 usecs
[    0.041532] calling  proc_execdomains_init+0x0/0x38 @ 1
[    0.041554] initcall proc_execdomains_init+0x0/0x38 returned 0 after 13 usecs
[    0.041560] calling  register_warn_debugfs+0x0/0x38 @ 1
[    0.041590] initcall register_warn_debugfs+0x0/0x38 returned 0 after 19 usecs
[    0.041598] calling  ioresources_init+0x0/0x68 @ 1
[    0.041613] initcall ioresources_init+0x0/0x68 returned 0 after 7 usecs
[    0.041621] calling  init_sched_debug_procfs+0x0/0x44 @ 1
[    0.041647] initcall init_sched_debug_procfs+0x0/0x44 returned 0 after 18 usecs
[    0.041654] calling  irq_gc_init_ops+0x0/0x18 @ 1
[    0.041661] initcall irq_gc_init_ops+0x0/0x18 returned 0 after 1 usecs
[    0.041666] calling  irq_pm_init_ops+0x0/0x18 @ 1
[    0.041671] initcall irq_pm_init_ops+0x0/0x18 returned 0 after 0 usecs
[    0.041677] calling  timekeeping_init_ops+0x0/0x18 @ 1
[    0.041683] initcall timekeeping_init_ops+0x0/0x18 returned 0 after 0 usecs
[    0.041689] calling  init_clocksource_sysfs+0x0/0x2c @ 1
[    0.041849] initcall init_clocksource_sysfs+0x0/0x2c returned 0 after 143 usecs
[    0.041858] calling  init_timer_list_procfs+0x0/0x44 @ 1
[    0.041871] initcall init_timer_list_procfs+0x0/0x44 returned 0 after 6 usecs
[    0.041877] calling  alarmtimer_init+0x0/0x11c @ 1
[    0.042058] probe of alarmtimer returned 1 after 41 usecs
[    0.042077] initcall alarmtimer_init+0x0/0x11c returned 0 after 183 usecs
[    0.042085] calling  init_posix_timers+0x0/0x40 @ 1
[    0.042155] initcall init_posix_timers+0x0/0x40 returned 0 after 58 usecs
[    0.042162] calling  clockevents_init_sysfs+0x0/0x6c @ 1
[    0.042287] initcall clockevents_init_sysfs+0x0/0x6c returned 0 after 109 usecs
[    0.042294] calling  sched_clock_syscore_init+0x0/0x18 @ 1
[    0.042301] initcall sched_clock_syscore_init+0x0/0x18 returned 0 after 0 usecs
[    0.042307] calling  proc_modules_init+0x0/0x28 @ 1
[    0.042323] initcall proc_modules_init+0x0/0x28 returned 0 after 8 usecs
[    0.042328] calling  modules_wq_init+0x0/0x3c @ 1
[    0.042335] initcall modules_wq_init+0x0/0x3c returned 0 after 0 usecs
[    0.042340] calling  kallsyms_init+0x0/0x28 @ 1
[    0.042349] initcall kallsyms_init+0x0/0x28 returned 0 after 2 usecs
[    0.042355] calling  pid_namespaces_init+0x0/0x40 @ 1
[    0.042382] initcall pid_namespaces_init+0x0/0x40 returned 0 after 19 usecs
[    0.042388] calling  utsname_sysctl_init+0x0/0x18 @ 1
[    0.042421] initcall utsname_sysctl_init+0x0/0x18 returned 0 after 24 usecs
[    0.042427] calling  perf_event_sysfs_init+0x0/0xbc @ 1
[    0.042577] initcall perf_event_sysfs_init+0x0/0xbc returned 0 after 135 usecs
[    0.042586] calling  system_trusted_keyring_init+0x0/0x88 @ 1
[    0.042589] Initialise system trusted keyrings
[    0.042619] initcall system_trusted_keyring_init+0x0/0x88 returned 0 after 23 usecs
[    0.042626] calling  kswapd_init+0x0/0x68 @ 1
[    0.042806] initcall kswapd_init+0x0/0x68 returned 0 after 158 usecs
[    0.042815] calling  extfrag_debug_init+0x0/0x70 @ 1
[    0.042877] initcall extfrag_debug_init+0x0/0x70 returned 0 after 49 usecs
[    0.042883] calling  slab_proc_init+0x0/0x28 @ 1
[    0.042902] initcall slab_proc_init+0x0/0x28 returned 0 after 11 usecs
[    0.042908] calling  workingset_init+0x0/0x9c @ 1
[    0.042912] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    0.042921] initcall workingset_init+0x0/0x9c returned 0 after 6 usecs
[    0.042927] calling  proc_vmalloc_init+0x0/0x3c @ 1
[    0.042938] initcall proc_vmalloc_init+0x0/0x3c returned 0 after 3 usecs
[    0.042944] calling  memblock_init_debugfs+0x0/0x70 @ 1
[    0.042967] initcall memblock_init_debugfs+0x0/0x70 returned 0 after 15 usecs
[    0.042974] calling  procswaps_init+0x0/0x28 @ 1
[    0.042985] initcall procswaps_init+0x0/0x28 returned 0 after 4 usecs
[    0.042992] calling  slab_sysfs_init+0x0/0x11c @ 1
[    0.047377] initcall slab_sysfs_init+0x0/0x11c returned 0 after 4256 usecs
[    0.047392] calling  fcntl_init+0x0/0x40 @ 1
[    0.047427] initcall fcntl_init+0x0/0x40 returned 0 after 22 usecs
[    0.047434] calling  proc_filesystems_init+0x0/0x38 @ 1
[    0.047454] initcall proc_filesystems_init+0x0/0x38 returned 0 after 11 usecs
[    0.047461] calling  start_dirtytime_writeback+0x0/0x34 @ 1
[    0.047474] initcall start_dirtytime_writeback+0x0/0x34 returned 0 after 5 usecs
[    0.047480] calling  blkdev_init+0x0/0x18 @ 1
[    0.047516] initcall blkdev_init+0x0/0x18 returned 0 after 25 usecs
[    0.047523] calling  dio_init+0x0/0x40 @ 1
[    0.047676] initcall dio_init+0x0/0x40 returned 0 after 137 usecs
[    0.047684] calling  dnotify_init+0x0/0x84 @ 1
[    0.047712] initcall dnotify_init+0x0/0x84 returned 0 after 17 usecs
[    0.047718] calling  aio_setup+0x0/0x84 @ 1
[    0.047821] initcall aio_setup+0x0/0x84 returned 0 after 86 usecs
[    0.047830] calling  io_uring_init+0x0/0x40 @ 1
[    0.047845] initcall io_uring_init+0x0/0x40 returned 0 after 6 usecs
[    0.047852] calling  mbcache_init+0x0/0x44 @ 1
[    0.047961] initcall mbcache_init+0x0/0x44 returned 0 after 97 usecs
[    0.047968] calling  init_grace+0x0/0xc @ 1
[    0.047984] initcall init_grace+0x0/0xc returned 0 after 7 usecs
[    0.047991] calling  init_devpts_fs+0x0/0x2c @ 1
[    0.048033] initcall init_devpts_fs+0x0/0x2c returned 0 after 29 usecs
[    0.048040] calling  ext4_init_fs+0x0/0x1b0 @ 1
[    0.048537] initcall ext4_init_fs+0x0/0x1b0 returned 0 after 468 usecs
[    0.048549] calling  journal_init+0x0/0x13c @ 1
[    0.048846] initcall journal_init+0x0/0x13c returned 0 after 277 usecs
[    0.048855] calling  init_fat_fs+0x0/0x60 @ 1
[    0.049023] initcall init_fat_fs+0x0/0x60 returned 0 after 151 usecs
[    0.049031] calling  init_vfat_fs+0x0/0xc @ 1
[    0.049042] initcall init_vfat_fs+0x0/0xc returned 0 after 3 usecs
[    0.049049] calling  init_nfs_fs+0x0/0x154 @ 1
[    0.049770] initcall init_nfs_fs+0x0/0x154 returned 0 after 676 usecs
[    0.049781] calling  init_nfs_v2+0x0/0x18 @ 1
[    0.049789] initcall init_nfs_v2+0x0/0x18 returned 0 after 0 usecs
[    0.049794] calling  init_nfs_v3+0x0/0x18 @ 1
[    0.049800] initcall init_nfs_v3+0x0/0x18 returned 0 after 0 usecs
[    0.049805] calling  init_nfs_v4+0x0/0x38 @ 1
[    0.049809] NFS: Registering the id_resolver key type
[    0.049850] Key type id_resolver registered
[    0.049854] Key type id_legacy registered
[    0.049873] initcall init_nfs_v4+0x0/0x38 returned 0 after 58 usecs
[    0.049879] calling  init_nlm+0x0/0x64 @ 1
[    0.049912] initcall init_nlm+0x0/0x64 returned 0 after 25 usecs
[    0.049917] calling  init_nls_cp437+0x0/0x10 @ 1
[    0.049924] initcall init_nls_cp437+0x0/0x10 returned 0 after 0 usecs
[    0.049929] calling  init_nls_iso8859_1+0x0/0x10 @ 1
[    0.049935] initcall init_nls_iso8859_1+0x0/0x10 returned 0 after 0 usecs
[    0.049940] calling  ipc_init+0x0/0x28 @ 1
[    0.049967] initcall ipc_init+0x0/0x28 returned 0 after 19 usecs
[    0.049972] calling  ipc_sysctl_init+0x0/0x18 @ 1
[    0.049999] initcall ipc_sysctl_init+0x0/0x18 returned 0 after 19 usecs
[    0.050005] calling  key_proc_init+0x0/0x88 @ 1
[    0.050017] initcall key_proc_init+0x0/0x88 returned 0 after 6 usecs
[    0.050023] calling  crypto_algapi_init+0x0/0x10 @ 1
[    0.050031] initcall crypto_algapi_init+0x0/0x10 returned 0 after 2 usecs
[    0.050037] calling  jent_mod_init+0x0/0x34 @ 1
[    0.086735] initcall jent_mod_init+0x0/0x34 returned 0 after 35814 usecs
[    0.086747] calling  asymmetric_key_init+0x0/0xc @ 1
[    0.086754] Key type asymmetric registered
[    0.086761] initcall asymmetric_key_init+0x0/0xc returned 0 after 7 usecs
[    0.086767] calling  x509_key_init+0x0/0xc @ 1
[    0.086771] Asymmetric key parser 'x509' registered
[    0.086777] initcall x509_key_init+0x0/0xc returned 0 after 4 usecs
[    0.086783] calling  proc_genhd_init+0x0/0x60 @ 1
[    0.086804] initcall proc_genhd_init+0x0/0x60 returned 0 after 14 usecs
[    0.086810] calling  init_emergency_pool+0x0/0x84 @ 1
[    0.086818] initcall init_emergency_pool+0x0/0x84 returned 0 after 1 usecs
[    0.086823] calling  bsg_init+0x0/0x124 @ 1
[    0.086877] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    0.086885] initcall bsg_init+0x0/0x124 returned 0 after 52 usecs
[    0.086891] calling  deadline_init+0x0/0xc @ 1
[    0.086896] io scheduler mq-deadline registered
[    0.086902] initcall deadline_init+0x0/0xc returned 0 after 4 usecs
[    0.086907] calling  kyber_init+0x0/0xc @ 1
[    0.086911] io scheduler kyber registered
[    0.086916] initcall kyber_init+0x0/0xc returned 0 after 3 usecs
[    0.086922] calling  sg_pool_init+0x0/0xf0 @ 1
[    0.087161] initcall sg_pool_init+0x0/0xf0 returned 0 after 220 usecs
[    0.087169] calling  sunxi_rsb_init+0x0/0x44 @ 1
[    0.087354] initcall sunxi_rsb_init+0x0/0x44 returned 0 after 166 usecs
[    0.087362] calling  phy_core_init+0x0/0x58 @ 1
[    0.087390] initcall phy_core_init+0x0/0x58 returned 0 after 19 usecs
[    0.087397] calling  sun4i_usb_phy_driver_init+0x0/0x10 @ 1
[    0.087631] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[    0.087690] probe of 1c19400.phy returned 0 after 168 usecs
[    0.087899] initcall sun4i_usb_phy_driver_init+0x0/0x10 returned 0 after 475 usecs
[    0.087908] calling  sun6i_dphy_platform_driver_init+0x0/0x10 @ 1
[    0.087994] initcall sun6i_dphy_platform_driver_init+0x0/0x10 returned 0 after 74 usecs
[    0.088001] calling  sun9i_usb_phy_driver_init+0x0/0x10 @ 1
[    0.088070] initcall sun9i_usb_phy_driver_init+0x0/0x10 returned 0 after 57 usecs
[    0.088076] calling  sun4i_a10_pinctrl_driver_init+0x0/0x10 @ 1
[    0.088183] initcall sun4i_a10_pinctrl_driver_init+0x0/0x10 returned 0 after 93 usecs
[    0.088190] calling  sun8i_a23_pinctrl_driver_init+0x0/0x10 @ 1
[    0.088256] initcall sun8i_a23_pinctrl_driver_init+0x0/0x10 returned 0 after 55 usecs
[    0.088263] calling  sun8i_a23_r_pinctrl_driver_init+0x0/0x10 @ 1
[    0.088328] initcall sun8i_a23_r_pinctrl_driver_init+0x0/0x10 returned 0 after 54 usecs
[    0.088335] calling  sun8i_a33_pinctrl_driver_init+0x0/0x10 @ 1
[    0.088415] initcall sun8i_a33_pinctrl_driver_init+0x0/0x10 returned 0 after 68 usecs
[    0.088422] calling  sun8i_a83t_pinctrl_driver_init+0x0/0x10 @ 1
[    0.088493] initcall sun8i_a83t_pinctrl_driver_init+0x0/0x10 returned 0 after 58 usecs
[    0.088499] calling  sun8i_a83t_r_pinctrl_driver_init+0x0/0x10 @ 1
[    0.088578] initcall sun8i_a83t_r_pinctrl_driver_init+0x0/0x10 returned 0 after 65 usecs
[    0.088585] calling  sun8i_h3_pinctrl_driver_init+0x0/0x10 @ 1
[    0.088652] initcall sun8i_h3_pinctrl_driver_init+0x0/0x10 returned 0 after 55 usecs
[    0.088659] calling  sun8i_h3_r_pinctrl_driver_init+0x0/0x10 @ 1
[    0.088726] initcall sun8i_h3_r_pinctrl_driver_init+0x0/0x10 returned 0 after 54 usecs
[    0.088733] calling  sun8i_v3s_pinctrl_driver_init+0x0/0x10 @ 1
[    0.091330] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.091399] probe of 1c20800.pinctrl returned 1 after 2615 usecs
[    0.091520] initcall sun8i_v3s_pinctrl_driver_init+0x0/0x10 returned 0 after 2699 usecs
[    0.091531] calling  sun4i_pwm_driver_init+0x0/0x10 @ 1
[    0.092071] probe of 1c21400.pwm returned 1 after 406 usecs
[    0.092175] initcall sun4i_pwm_driver_init+0x0/0x10 returned 0 after 611 usecs
[    0.092184] calling  genericbl_driver_init+0x0/0x10 @ 1
[    0.092249] initcall genericbl_driver_init+0x0/0x10 returned 0 after 52 usecs
[    0.092259] calling  of_fixed_factor_clk_driver_init+0x0/0x10 @ 1
[    0.092334] initcall of_fixed_factor_clk_driver_init+0x0/0x10 returned 0 after 63 usecs
[    0.092341] calling  of_fixed_clk_driver_init+0x0/0x10 @ 1
[    0.092404] initcall of_fixed_clk_driver_init+0x0/0x10 returned 0 after 50 usecs
[    0.092411] calling  gpio_clk_driver_init+0x0/0x10 @ 1
[    0.092505] initcall gpio_clk_driver_init+0x0/0x10 returned 0 after 82 usecs
[    0.092515] calling  sun4i_a10_mod0_clk_driver_init+0x0/0x10 @ 1
[    0.092585] initcall sun4i_a10_mod0_clk_driver_init+0x0/0x10 returned 0 after 58 usecs
[    0.092594] calling  sun9i_a80_mmc_config_clk_driver_init+0x0/0x10 @ 1
[    0.092660] initcall sun9i_a80_mmc_config_clk_driver_init+0x0/0x10 returned 0 after 54 usecs
[    0.092668] calling  sun8i_a23_apb0_clk_driver_init+0x0/0x10 @ 1
[    0.092738] initcall sun8i_a23_apb0_clk_driver_init+0x0/0x10 returned 0 after 58 usecs
[    0.092746] calling  sun6i_a31_apb0_clk_driver_init+0x0/0x10 @ 1
[    0.092814] initcall sun6i_a31_apb0_clk_driver_init+0x0/0x10 returned 0 after 53 usecs
[    0.092822] calling  sun6i_a31_apb0_gates_clk_driver_init+0x0/0x10 @ 1
[    0.092911] initcall sun6i_a31_apb0_gates_clk_driver_init+0x0/0x10 returned 0 after 74 usecs
[    0.092918] calling  sun6i_a31_ar100_clk_driver_init+0x0/0x10 @ 1
[    0.092982] initcall sun6i_a31_ar100_clk_driver_init+0x0/0x10 returned 0 after 51 usecs
[    0.092991] calling  sun8i_a83t_ccu_driver_init+0x0/0x10 @ 1
[    0.093059] initcall sun8i_a83t_ccu_driver_init+0x0/0x10 returned 0 after 55 usecs
[    0.093067] calling  sunxi_de2_clk_driver_init+0x0/0x10 @ 1
[    0.093409] probe of 1000000.clock returned 1 after 303 usecs
[    0.093601] initcall sunxi_de2_clk_driver_init+0x0/0x10 returned 0 after 503 usecs
[    0.093611] calling  sun8i_r40_ccu_driver_init+0x0/0x10 @ 1
[    0.093703] initcall sun8i_r40_ccu_driver_init+0x0/0x10 returned 0 after 77 usecs
[    0.093711] calling  sun4i_dma_driver_init+0x0/0x10 @ 1
[    0.093789] initcall sun4i_dma_driver_init+0x0/0x10 returned 0 after 64 usecs
[    0.093797] calling  sun6i_dma_driver_init+0x0/0x10 @ 1
[    0.095370] probe of 1c02000.dma-controller returned 1 after 1508 usecs
[    0.095570] initcall sun6i_dma_driver_init+0x0/0x10 returned 0 after 1711 usecs
[    0.095580] calling  sunxi_sram_driver_init+0x0/0x10 @ 1
[    0.095820] initcall sunxi_sram_driver_init+0x0/0x10 returned 0 after 219 usecs
[    0.095830] calling  axp20x_regulator_driver_init+0x0/0x10 @ 1
[    0.095882] initcall axp20x_regulator_driver_init+0x0/0x10 returned 0 after 40 usecs
[    0.095890] calling  reset_simple_driver_init+0x0/0x10 @ 1
[    0.096055] initcall reset_simple_driver_init+0x0/0x10 returned 0 after 149 usecs
[    0.096064] calling  n_null_init+0x0/0x20 @ 1
[    0.096073] initcall n_null_init+0x0/0x20 returned 0 after 1 usecs
[    0.096079] calling  pty_init+0x0/0x3c8 @ 1
[    0.139356] initcall pty_init+0x0/0x3c8 returned 0 after 42235 usecs
[    0.139371] calling  serial8250_init+0x0/0x13c @ 1
[    0.139377] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.140941] probe of serial8250 returned 1 after 50 usecs
[    0.140993] initcall serial8250_init+0x0/0x13c returned 0 after 1561 usecs
[    0.141004] calling  dw8250_platform_driver_init+0x0/0x10 @ 1
[    0.141881] printk: console [ttyS0] disabled
[    0.162090] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 39, base_baud = 1500000) is a U6_16550A
[    0.168183] printk: console [ttyS0] enabled
[    0.168527] probe of 1c28000.serial returned 1 after 27377 usecs
[    0.191561] 1c28400.serial: ttyS1 at MMIO 0x1c28400 (irq = 40, base_baud = 1500000) is a U6_16550A
[    0.191882] probe of 1c28400.serial returned 1 after 23326 usecs
[    0.212785] 1c28800.serial: ttyS2 at MMIO 0x1c28800 (irq = 41, base_baud = 1500000) is a U6_16550A
[    0.213079] probe of 1c28800.serial returned 1 after 21162 usecs
[    0.213177] initcall dw8250_platform_driver_init+0x0/0x10 returned 0 after 70459 usecs
[    0.213189] calling  of_platform_serial_driver_init+0x0/0x10 @ 1
[    0.213490] initcall of_platform_serial_driver_init+0x0/0x10 returned 0 after 278 usecs
[    0.213501] calling  drm_kms_helper_init+0x0/0x10 @ 1
[    0.213510] initcall drm_kms_helper_init+0x0/0x10 returned 0 after 0 usecs
[    0.213517] calling  drm_core_init+0x0/0xc0 @ 1
[    0.213589] initcall drm_core_init+0x0/0xc0 returned 0 after 56 usecs
[    0.213597] calling  sun4i_drv_platform_driver_init+0x0/0x10 @ 1
[    0.213827] probe of display-engine returned 1 after 181 usecs
[    0.214177] initcall sun4i_drv_platform_driver_init+0x0/0x10 returned 0 after 549 usecs
[    0.214187] calling  sun4i_tcon_platform_driver_init+0x0/0x10 @ 1
[    0.214832] probe of 1c0c000.lcd-controller returned 0 after 546 usecs
[    0.215132] initcall sun4i_tcon_platform_driver_init+0x0/0x10 returned 0 after 900 usecs
[    0.215143] calling  sun4i_tv_platform_driver_init+0x0/0x10 @ 1
[    0.215250] initcall sun4i_tv_platform_driver_init+0x0/0x10 returned 0 after 91 usecs
[    0.215260] calling  sun6i_drc_platform_driver_init+0x0/0x10 @ 1
[    0.215416] initcall sun6i_drc_platform_driver_init+0x0/0x10 returned 0 after 139 usecs
[    0.215424] calling  sun4i_backend_platform_driver_init+0x0/0x10 @ 1
[    0.215611] initcall sun4i_backend_platform_driver_init+0x0/0x10 returned 0 after 172 usecs
[    0.215618] calling  sun4i_frontend_driver_init+0x0/0x10 @ 1
[    0.215751] initcall sun4i_frontend_driver_init+0x0/0x10 returned 0 after 119 usecs
[    0.215758] calling  sun4i_hdmi_driver_init+0x0/0x10 @ 1
[    0.215883] initcall sun4i_hdmi_driver_init+0x0/0x10 returned 0 after 110 usecs
[    0.215889] calling  sun6i_dsi_platform_driver_init+0x0/0x10 @ 1
[    0.215968] initcall sun6i_dsi_platform_driver_init+0x0/0x10 returned 0 after 66 usecs
[    0.215975] calling  sun8i_mixer_platform_driver_init+0x0/0x10 @ 1
[    0.238225] probe of 1100000.mixer returned 1 after 22195 usecs
[    0.238469] initcall sun8i_mixer_platform_driver_init+0x0/0x10 returned 0 after 21950 usecs
[    0.238478] calling  sun8i_tcon_top_platform_driver_init+0x0/0x10 @ 1
[    0.238601] initcall sun8i_tcon_top_platform_driver_init+0x0/0x10 returned 0 after 107 usecs
[    0.238609] calling  panel_simple_init+0x0/0x34 @ 1
[    0.240028] probe of panel returned 1 after 254 usecs
[    0.240101] initcall panel_simple_init+0x0/0x34 returned 0 after 1443 usecs
[    0.240109] calling  dumb_vga_driver_init+0x0/0x10 @ 1
[    0.240234] initcall dumb_vga_driver_init+0x0/0x10 returned 0 after 111 usecs
[    0.240246] calling  topology_sysfs_init+0x0/0x40 @ 1
[    0.240291] initcall topology_sysfs_init+0x0/0x40 returned 0 after 35 usecs
[    0.240298] calling  cacheinfo_sysfs_init+0x0/0x40 @ 1
[    0.240306] initcall cacheinfo_sysfs_init+0x0/0x40 returned -2 after 1 usecs
[    0.240311] calling  sun6i_prcm_driver_init+0x0/0x10 @ 1
[    0.240448] initcall sun6i_prcm_driver_init+0x0/0x10 returned 0 after 120 usecs
[    0.240456] calling  ac100_rsb_driver_init+0x0/0xc @ 1
[    0.240489] initcall ac100_rsb_driver_init+0x0/0xc returned 0 after 24 usecs
[    0.240496] calling  axp20x_i2c_driver_init+0x0/0x10 @ 1
[    0.240527] initcall axp20x_i2c_driver_init+0x0/0x10 returned 0 after 22 usecs
[    0.240533] calling  axp20x_rsb_driver_init+0x0/0xc @ 1
[    0.240561] initcall axp20x_rsb_driver_init+0x0/0xc returned 0 after 20 usecs
[    0.240567] calling  init_sd+0x0/0x1b4 @ 1
[    0.240664] initcall init_sd+0x0/0x1b4 returned 0 after 84 usecs
[    0.240669] calling  spidev_init+0x0/0xbc @ 1
[    0.240728] initcall spidev_init+0x0/0xbc returned 0 after 49 usecs
[    0.240735] calling  sun4i_spi_driver_init+0x0/0x10 @ 1
[    0.240835] initcall sun4i_spi_driver_init+0x0/0x10 returned 0 after 86 usecs
[    0.240842] calling  sun6i_spi_driver_init+0x0/0x10 @ 1
[    0.242178] probe of spi0.0 returned 1 after 276 usecs
[    0.242223] probe of 1c68000.spi returned 1 after 1304 usecs
[    0.242295] initcall sun6i_spi_driver_init+0x0/0x10 returned 0 after 1401 usecs
[    0.242304] calling  net_olddevs_init+0x0/0x74 @ 1
[    0.242324] initcall net_olddevs_init+0x0/0x74 returned 0 after 13 usecs
[    0.242330] calling  blackhole_netdev_init+0x0/0x88 @ 1
[    0.242379] initcall blackhole_netdev_init+0x0/0x88 returned 0 after 37 usecs
[    0.242387] calling  sun4i_mdio_driver_init+0x0/0x10 @ 1
[    0.242582] initcall sun4i_mdio_driver_init+0x0/0x10 returned 0 after 175 usecs
[    0.242591] calling  fixed_mdio_bus_init+0x0/0x114 @ 1
[    0.242806] libphy: Fixed MDIO Bus: probed
[    0.242820] initcall fixed_mdio_bus_init+0x0/0x114 returned 0 after 213 usecs
[    0.242828] calling  emac_driver_init+0x0/0x10 @ 1
[    0.242954] initcall emac_driver_init+0x0/0x10 returned 0 after 110 usecs
[    0.242962] calling  stmmac_init+0x0/0x30 @ 1
[    0.243006] initcall stmmac_init+0x0/0x30 returned 0 after 34 usecs
[    0.243014] calling  sun7i_dwmac_driver_init+0x0/0x10 @ 1
[    0.243110] initcall sun7i_dwmac_driver_init+0x0/0x10 returned 0 after 82 usecs
[    0.243118] calling  sun8i_dwmac_driver_init+0x0/0x10 @ 1
[    0.243341] dwmac-sun8i 1c30000.ethernet: IRQ eth_wake_irq not found
[    0.249712] dwmac-sun8i 1c30000.ethernet: IRQ eth_lpi not found
[    0.255794] dwmac-sun8i 1c30000.ethernet: PTP uses main clock
[    0.255849] dwmac-sun8i 1c30000.ethernet: No regulator found
[    0.256201] dwmac-sun8i 1c30000.ethernet: Current syscon value is not the default 148000 (expect 38000)
[    0.256226] dwmac-sun8i 1c30000.ethernet: No HW DMA feature register supported
[    0.256233] dwmac-sun8i 1c30000.ethernet: RX Checksum Offload Engine supported
[    0.256239] dwmac-sun8i 1c30000.ethernet: COE Type 2
[    0.256245] dwmac-sun8i 1c30000.ethernet: TX Checksum insertion supported
[    0.256251] dwmac-sun8i 1c30000.ethernet: Normal descriptors
[    0.256257] dwmac-sun8i 1c30000.ethernet: Chain mode enabled
[    0.256496] libphy: stmmac: probed
[    0.257015] dwmac-sun8i 1c30000.ethernet: Found internal PHY node
[    0.257173] libphy: mdio_mux: probed
[    0.257197] dwmac-sun8i 1c30000.ethernet: Switch mux to internal PHY
[    0.257208] dwmac-sun8i 1c30000.ethernet: Powering internal PHY
[    0.258220] libphy: mdio_mux: probed
[    0.258267] probe of 1c30000.ethernet returned 1 after 15007 usecs
[    0.258348] initcall sun8i_dwmac_driver_init+0x0/0x10 returned 0 after 14853 usecs
[    0.258358] calling  dwmac_generic_driver_init+0x0/0x10 @ 1
[    0.258600] initcall dwmac_generic_driver_init+0x0/0x10 returned 0 after 221 usecs
[    0.258608] calling  ehci_hcd_init+0x0/0x7c @ 1
[    0.258612] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.258618] initcall ehci_hcd_init+0x0/0x7c returned 0 after 3 usecs
[    0.258624] calling  ehci_platform_init+0x0/0x54 @ 1
[    0.258627] ehci-platform: EHCI generic platform driver
[    0.258831] ehci-platform 1c1a000.usb: EHCI Host Controller
[    0.258872] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[    0.259179] ehci-platform 1c1a000.usb: irq 28, io mem 0x01c1a000
[    0.281115] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[    0.281925] hub 1-0:1.0: USB hub found
[    0.281981] hub 1-0:1.0: 1 port detected
[    0.282184] probe of 1-0:1.0 returned 1 after 284 usecs
[    0.282308] probe of usb1 returned 1 after 584 usecs
[    0.282394] probe of 1c1a000.usb returned 1 after 23710 usecs
[    0.282512] initcall ehci_platform_init+0x0/0x54 returned 0 after 23310 usecs
[    0.282522] calling  ohci_hcd_mod_init+0x0/0x74 @ 1
[    0.282527] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.282560] initcall ohci_hcd_mod_init+0x0/0x74 returned 0 after 28 usecs
[    0.282567] calling  ohci_platform_init+0x0/0x54 @ 1
[    0.282570] ohci-platform: OHCI generic platform driver
[    0.282820] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[    0.282858] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[    0.283081] ohci-platform 1c1a400.usb: irq 29, io mem 0x01c1a400
[    0.355943] hub 2-0:1.0: USB hub found
[    0.355986] hub 2-0:1.0: 1 port detected
[    0.356216] probe of 2-0:1.0 returned 1 after 300 usecs
[    0.356343] probe of usb2 returned 1 after 602 usecs
[    0.356439] probe of 1c1a400.usb returned 1 after 73775 usecs
[    0.356549] initcall ohci_platform_init+0x0/0x54 returned 0 after 72229 usecs
[    0.356560] calling  usb_storage_driver_init+0x0/0x38 @ 1
[    0.356658] usbcore: registered new interface driver usb-storage
[    0.356671] initcall usb_storage_driver_init+0x0/0x38 returned 0 after 97 usecs
[    0.356678] calling  usb_serial_init+0x0/0x174 @ 1
[    0.356746] initcall usb_serial_init+0x0/0x174 returned 0 after 56 usecs
[    0.356753] calling  musb_driver_init+0x0/0x10 @ 1
[    0.356846] initcall musb_driver_init+0x0/0x10 returned 0 after 78 usecs
[    0.356854] calling  sunxi_musb_driver_init+0x0/0x10 @ 1
[    0.357032] probe of 1c19000.usb returned 0 after 104 usecs
[    0.357148] initcall sunxi_musb_driver_init+0x0/0x10 returned 0 after 271 usecs
[    0.357157] calling  serport_init+0x0/0x30 @ 1
[    0.357164] initcall serport_init+0x0/0x30 returned 0 after 0 usecs
[    0.357169] calling  input_leds_init+0x0/0xc @ 1
[    0.357177] initcall input_leds_init+0x0/0xc returned 0 after 2 usecs
[    0.357183] calling  mousedev_init+0x0/0x60 @ 1
[    0.357452] mousedev: PS/2 mouse device common for all mice
[    0.357468] initcall mousedev_init+0x0/0x60 returned 0 after 264 usecs
[    0.357475] calling  evdev_init+0x0/0xc @ 1
[    0.357481] initcall evdev_init+0x0/0xc returned 0 after 0 usecs
[    0.357487] calling  atkbd_init+0x0/0x18 @ 1
[    0.357569] initcall atkbd_init+0x0/0x18 returned 0 after 69 usecs
[    0.357577] calling  sun4i_lradc_driver_init+0x0/0x10 @ 1
[    0.358106] input: 1c22800.lradc as /devices/platform/soc/1c22800.lradc/input/input0
[    0.358384] probe of 1c22800.lradc returned 1 after 705 usecs
[    0.358479] initcall sun4i_lradc_driver_init+0x0/0x10 returned 0 after 865 usecs
[    0.358488] calling  goodix_ts_driver_init+0x0/0x10 @ 1
[    0.358529] initcall goodix_ts_driver_init+0x0/0x10 returned 0 after 29 usecs
[    0.358535] calling  axp20x_pek_driver_init+0x0/0x10 @ 1
[    0.358616] initcall axp20x_pek_driver_init+0x0/0x10 returned 0 after 68 usecs
[    0.358624] calling  ac100_rtc_driver_init+0x0/0x10 @ 1
[    0.358708] initcall ac100_rtc_driver_init+0x0/0x10 returned 0 after 71 usecs
[    0.358716] calling  sun6i_rtc_driver_init+0x0/0x10 @ 1
[    0.359321] sun6i-rtc 1c20400.rtc: registered as rtc0
[    0.359331] sun6i-rtc 1c20400.rtc: RTC enabled
[    0.359380] probe of 1c20400.rtc returned 1 after 559 usecs
[    0.359526] initcall sun6i_rtc_driver_init+0x0/0x10 returned 0 after 773 usecs
[    0.359535] calling  i2c_dev_init+0x0/0xbc @ 1
[    0.359538] i2c /dev entries driver
[    0.359577] initcall i2c_dev_init+0x0/0xbc returned 0 after 32 usecs
[    0.359584] calling  mv64xxx_i2c_driver_init+0x0/0x10 @ 1
[    0.472595] Goodix-TS 0-0014: ID 911, version: 1060
[    0.472683] probe of 0-0014 returned 1 after 112302 usecs
[    0.472732] probe of 1c2ac00.i2c returned 1 after 113027 usecs
[    0.473420] Goodix-TS 0-0014: Direct firmware load for goodix_911_cfg.bin failed with error -2
[    0.473827] probe of 1c2b000.i2c returned 1 after 1070 usecs
[    0.473917] initcall mv64xxx_i2c_driver_init+0x0/0x10 returned 0 after 111633 usecs
[    0.473925] calling  ov7670_driver_init+0x0/0x10 @ 1
[    0.491067] input: Goodix Capacitive TouchScreen as /devices/platform/soc/1c2ac00.i2c/i2c-0/0-0014/input/input1
[    0.514183] random: fast init done
[    0.559966] ov7670 1-0021: chip found @ 0x42 (mv64xxx_i2c adapter)
[    0.626906] probe of 1-0021 returned 1 after 152946 usecs
[    0.626980] initcall ov7670_driver_init+0x0/0x10 returned 0 after 149447 usecs
[    0.626991] calling  init_rc_map_adstech_dvb_t_pci+0x0/0xc @ 1
[    0.626999] initcall init_rc_map_adstech_dvb_t_pci+0x0/0xc returned 0 after 1 usecs
[    0.627005] calling  init_rc_map_alink_dtu_m+0x0/0xc @ 1
[    0.627012] initcall init_rc_map_alink_dtu_m+0x0/0xc returned 0 after 0 usecs
[    0.627018] calling  init_rc_map_anysee+0x0/0xc @ 1
[    0.627024] initcall init_rc_map_anysee+0x0/0xc returned 0 after 0 usecs
[    0.627030] calling  init_rc_map_apac_viewcomp+0x0/0xc @ 1
[    0.627036] initcall init_rc_map_apac_viewcomp+0x0/0xc returned 0 after 0 usecs
[    0.627042] calling  init_rc_map_t2hybrid+0x0/0xc @ 1
[    0.627048] initcall init_rc_map_t2hybrid+0x0/0xc returned 0 after 0 usecs
[    0.627054] calling  init_rc_map_asus_pc39+0x0/0xc @ 1
[    0.627060] initcall init_rc_map_asus_pc39+0x0/0xc returned 0 after 0 usecs
[    0.627066] calling  init_rc_map_asus_ps3_100+0x0/0xc @ 1
[    0.627073] initcall init_rc_map_asus_ps3_100+0x0/0xc returned 0 after 0 usecs
[    0.627079] calling  init_rc_map_ati_tv_wonder_hd_600+0x0/0xc @ 1
[    0.627086] initcall init_rc_map_ati_tv_wonder_hd_600+0x0/0xc returned 0 after 0 usecs
[    0.627091] calling  init_rc_map_ati_x10+0x0/0xc @ 1
[    0.627097] initcall init_rc_map_ati_x10+0x0/0xc returned 0 after 0 usecs
[    0.627103] calling  init_rc_map_avermedia_a16d+0x0/0xc @ 1
[    0.627110] initcall init_rc_map_avermedia_a16d+0x0/0xc returned 0 after 0 usecs
[    0.627115] calling  init_rc_map_avermedia+0x0/0xc @ 1
[    0.627121] initcall init_rc_map_avermedia+0x0/0xc returned 0 after 0 usecs
[    0.627127] calling  init_rc_map_avermedia_cardbus+0x0/0xc @ 1
[    0.627134] initcall init_rc_map_avermedia_cardbus+0x0/0xc returned 0 after 0 usecs
[    0.627139] calling  init_rc_map_avermedia_dvbt+0x0/0xc @ 1
[    0.627146] initcall init_rc_map_avermedia_dvbt+0x0/0xc returned 0 after 0 usecs
[    0.627152] calling  init_rc_map_avermedia_m135a+0x0/0xc @ 1
[    0.627158] initcall init_rc_map_avermedia_m135a+0x0/0xc returned 0 after 0 usecs
[    0.627164] calling  init_rc_map_avermedia_m733a_rm_k6+0x0/0xc @ 1
[    0.627171] initcall init_rc_map_avermedia_m733a_rm_k6+0x0/0xc returned 0 after 0 usecs
[    0.627177] calling  init_rc_map_avermedia_rm_ks+0x0/0xc @ 1
[    0.627183] initcall init_rc_map_avermedia_rm_ks+0x0/0xc returned 0 after 0 usecs
[    0.627189] calling  init_rc_map_avertv_303+0x0/0xc @ 1
[    0.627195] initcall init_rc_map_avertv_303+0x0/0xc returned 0 after 0 usecs
[    0.627201] calling  init_rc_map_azurewave_ad_tu700+0x0/0xc @ 1
[    0.627208] initcall init_rc_map_azurewave_ad_tu700+0x0/0xc returned 0 after 0 usecs
[    0.627214] calling  init_rc_map_beelink_gs1+0x0/0xc @ 1
[    0.627220] initcall init_rc_map_beelink_gs1+0x0/0xc returned 0 after 0 usecs
[    0.627226] calling  init_rc_map_behold+0x0/0xc @ 1
[    0.627232] initcall init_rc_map_behold+0x0/0xc returned 0 after 0 usecs
[    0.627238] calling  init_rc_map_behold_columbus+0x0/0xc @ 1
[    0.627245] initcall init_rc_map_behold_columbus+0x0/0xc returned 0 after 0 usecs
[    0.627251] calling  init_rc_map_budget_ci_old+0x0/0xc @ 1
[    0.627257] initcall init_rc_map_budget_ci_old+0x0/0xc returned 0 after 0 usecs
[    0.627262] calling  init_rc_map_cec+0x0/0xc @ 1
[    0.627269] initcall init_rc_map_cec+0x0/0xc returned 0 after 0 usecs
[    0.627274] calling  init_rc_map_cinergy_1400+0x0/0xc @ 1
[    0.627281] initcall init_rc_map_cinergy_1400+0x0/0xc returned 0 after 0 usecs
[    0.627287] calling  init_rc_map_cinergy+0x0/0xc @ 1
[    0.627293] initcall init_rc_map_cinergy+0x0/0xc returned 0 after 0 usecs
[    0.627299] calling  init_rc_map_d680_dmb+0x0/0xc @ 1
[    0.627306] initcall init_rc_map_d680_dmb+0x0/0xc returned 0 after 0 usecs
[    0.627312] calling  init_rc_map_delock_61959+0x0/0xc @ 1
[    0.627318] initcall init_rc_map_delock_61959+0x0/0xc returned 0 after 0 usecs
[    0.627324] calling  init_rc_map+0x0/0xc @ 1
[    0.627330] initcall init_rc_map+0x0/0xc returned 0 after 0 usecs
[    0.627335] calling  init_rc_map+0x0/0xc @ 1
[    0.627341] initcall init_rc_map+0x0/0xc returned 0 after 0 usecs
[    0.627348] calling  init_rc_map_digitalnow_tinytwin+0x0/0xc @ 1
[    0.627355] initcall init_rc_map_digitalnow_tinytwin+0x0/0xc returned 0 after 0 usecs
[    0.627360] calling  init_rc_map_digittrade+0x0/0xc @ 1
[    0.627367] initcall init_rc_map_digittrade+0x0/0xc returned 0 after 0 usecs
[    0.627373] calling  init_rc_map_dm1105_nec+0x0/0xc @ 1
[    0.627379] initcall init_rc_map_dm1105_nec+0x0/0xc returned 0 after 0 usecs
[    0.627385] calling  init_rc_map_dntv_live_dvb_t+0x0/0xc @ 1
[    0.627392] initcall init_rc_map_dntv_live_dvb_t+0x0/0xc returned 0 after 0 usecs
[    0.627398] calling  init_rc_map_dntv_live_dvbt_pro+0x0/0xc @ 1
[    0.627404] initcall init_rc_map_dntv_live_dvbt_pro+0x0/0xc returned 0 after 0 usecs
[    0.627410] calling  init_rc_map_dtt200u+0x0/0xc @ 1
[    0.627417] initcall init_rc_map_dtt200u+0x0/0xc returned 0 after 0 usecs
[    0.627423] calling  init_rc_map_rc5_dvbsky+0x0/0xc @ 1
[    0.627429] initcall init_rc_map_rc5_dvbsky+0x0/0xc returned 0 after 0 usecs
[    0.627435] calling  init_rc_map_dvico_mce+0x0/0xc @ 1
[    0.627441] initcall init_rc_map_dvico_mce+0x0/0xc returned 0 after 0 usecs
[    0.627447] calling  init_rc_map_dvico_portable+0x0/0xc @ 1
[    0.627454] initcall init_rc_map_dvico_portable+0x0/0xc returned 0 after 0 usecs
[    0.627459] calling  init_rc_map_em_terratec+0x0/0xc @ 1
[    0.627466] initcall init_rc_map_em_terratec+0x0/0xc returned 0 after 0 usecs
[    0.627472] calling  init_rc_map_encore_enltv2+0x0/0xc @ 1
[    0.627478] initcall init_rc_map_encore_enltv2+0x0/0xc returned 0 after 0 usecs
[    0.627484] calling  init_rc_map_encore_enltv+0x0/0xc @ 1
[    0.627491] initcall init_rc_map_encore_enltv+0x0/0xc returned 0 after 0 usecs
[    0.627497] calling  init_rc_map_encore_enltv_fm53+0x0/0xc @ 1
[    0.627504] initcall init_rc_map_encore_enltv_fm53+0x0/0xc returned 0 after 0 usecs
[    0.627510] calling  init_rc_map_evga_indtube+0x0/0xc @ 1
[    0.627516] initcall init_rc_map_evga_indtube+0x0/0xc returned 0 after 0 usecs
[    0.627522] calling  init_rc_map_eztv+0x0/0xc @ 1
[    0.627528] initcall init_rc_map_eztv+0x0/0xc returned 0 after 0 usecs
[    0.627534] calling  init_rc_map_flydvb+0x0/0xc @ 1
[    0.627541] initcall init_rc_map_flydvb+0x0/0xc returned 0 after 0 usecs
[    0.627547] calling  init_rc_map_flyvideo+0x0/0xc @ 1
[    0.627554] initcall init_rc_map_flyvideo+0x0/0xc returned 0 after 0 usecs
[    0.627560] calling  init_rc_map_fusionhdtv_mce+0x0/0xc @ 1
[    0.627566] initcall init_rc_map_fusionhdtv_mce+0x0/0xc returned 0 after 0 usecs
[    0.627572] calling  init_rc_map_gadmei_rm008z+0x0/0xc @ 1
[    0.627579] initcall init_rc_map_gadmei_rm008z+0x0/0xc returned 0 after 0 usecs
[    0.627585] calling  init_rc_map_geekbox+0x0/0xc @ 1
[    0.627591] initcall init_rc_map_geekbox+0x0/0xc returned 0 after 0 usecs
[    0.627598] calling  init_rc_map_genius_tvgo_a11mce+0x0/0xc @ 1
[    0.627604] initcall init_rc_map_genius_tvgo_a11mce+0x0/0xc returned 0 after 0 usecs
[    0.627610] calling  init_rc_map_gotview7135+0x0/0xc @ 1
[    0.627617] initcall init_rc_map_gotview7135+0x0/0xc returned 0 after 0 usecs
[    0.627623] calling  init_rc_map_hisi_poplar+0x0/0xc @ 1
[    0.627630] initcall init_rc_map_hisi_poplar+0x0/0xc returned 0 after 0 usecs
[    0.627636] calling  init_rc_map_hisi_tv_demo+0x0/0xc @ 1
[    0.627642] initcall init_rc_map_hisi_tv_demo+0x0/0xc returned 0 after 0 usecs
[    0.627648] calling  init_rc_map_imon_mce+0x0/0xc @ 1
[    0.627655] initcall init_rc_map_imon_mce+0x0/0xc returned 0 after 0 usecs
[    0.627661] calling  init_rc_map_imon_pad+0x0/0xc @ 1
[    0.627667] initcall init_rc_map_imon_pad+0x0/0xc returned 0 after 0 usecs
[    0.627674] calling  init_rc_map_imon_rsc+0x0/0xc @ 1
[    0.627680] initcall init_rc_map_imon_rsc+0x0/0xc returned 0 after 0 usecs
[    0.627686] calling  init_rc_map_iodata_bctv7e+0x0/0xc @ 1
[    0.627693] initcall init_rc_map_iodata_bctv7e+0x0/0xc returned 0 after 0 usecs
[    0.627699] calling  init_rc_it913x_v1_map+0x0/0xc @ 1
[    0.627705] initcall init_rc_it913x_v1_map+0x0/0xc returned 0 after 0 usecs
[    0.627711] calling  init_rc_it913x_v2_map+0x0/0xc @ 1
[    0.627718] initcall init_rc_it913x_v2_map+0x0/0xc returned 0 after 0 usecs
[    0.627724] calling  init_rc_map_kaiomy+0x0/0xc @ 1
[    0.627730] initcall init_rc_map_kaiomy+0x0/0xc returned 0 after 0 usecs
[    0.627736] calling  init_rc_map_khadas+0x0/0xc @ 1
[    0.627743] initcall init_rc_map_khadas+0x0/0xc returned 0 after 0 usecs
[    0.627749] calling  init_rc_map_kworld_315u+0x0/0xc @ 1
[    0.627756] initcall init_rc_map_kworld_315u+0x0/0xc returned 0 after 0 usecs
[    0.627762] calling  init_rc_map_kworld_pc150u+0x0/0xc @ 1
[    0.627768] initcall init_rc_map_kworld_pc150u+0x0/0xc returned 0 after 0 usecs
[    0.627775] calling  init_rc_map_kworld_plus_tv_analog+0x0/0xc @ 1
[    0.627782] initcall init_rc_map_kworld_plus_tv_analog+0x0/0xc returned 0 after 0 usecs
[    0.627788] calling  init_rc_map_leadtek_y04g0051+0x0/0xc @ 1
[    0.627795] initcall init_rc_map_leadtek_y04g0051+0x0/0xc returned 0 after 0 usecs
[    0.627800] calling  init_rc_lme2510_map+0x0/0xc @ 1
[    0.627807] initcall init_rc_lme2510_map+0x0/0xc returned 0 after 0 usecs
[    0.627813] calling  init_rc_map_manli+0x0/0xc @ 1
[    0.627819] initcall init_rc_map_manli+0x0/0xc returned 0 after 0 usecs
[    0.627826] calling  init_rc_map_medion_x10+0x0/0xc @ 1
[    0.627832] initcall init_rc_map_medion_x10+0x0/0xc returned 0 after 0 usecs
[    0.627838] calling  init_rc_map_medion_x10_digitainer+0x0/0xc @ 1
[    0.627845] initcall init_rc_map_medion_x10_digitainer+0x0/0xc returned 0 after 0 usecs
[    0.627851] calling  init_rc_map_medion_x10_or2x+0x0/0xc @ 1
[    0.627859] initcall init_rc_map_medion_x10_or2x+0x0/0xc returned 0 after 0 usecs
[    0.627865] calling  init_rc_map_msi_digivox_ii+0x0/0xc @ 1
[    0.627872] initcall init_rc_map_msi_digivox_ii+0x0/0xc returned 0 after 0 usecs
[    0.627878] calling  init_rc_map_msi_digivox_iii+0x0/0xc @ 1
[    0.627885] initcall init_rc_map_msi_digivox_iii+0x0/0xc returned 0 after 0 usecs
[    0.627891] calling  init_rc_map_msi_tvanywhere+0x0/0xc @ 1
[    0.627898] initcall init_rc_map_msi_tvanywhere+0x0/0xc returned 0 after 0 usecs
[    0.627904] calling  init_rc_map_msi_tvanywhere_plus+0x0/0xc @ 1
[    0.627911] initcall init_rc_map_msi_tvanywhere_plus+0x0/0xc returned 0 after 0 usecs
[    0.627917] calling  init_rc_map_nebula+0x0/0xc @ 1
[    0.627923] initcall init_rc_map_nebula+0x0/0xc returned 0 after 0 usecs
[    0.627930] calling  init_rc_map_nec_terratec_cinergy_xs+0x0/0xc @ 1
[    0.627937] initcall init_rc_map_nec_terratec_cinergy_xs+0x0/0xc returned 0 after 0 usecs
[    0.627943] calling  init_rc_map_norwood+0x0/0xc @ 1
[    0.627949] initcall init_rc_map_norwood+0x0/0xc returned 0 after 0 usecs
[    0.627956] calling  init_rc_map_npgtech+0x0/0xc @ 1
[    0.627962] initcall init_rc_map_npgtech+0x0/0xc returned 0 after 0 usecs
[    0.627968] calling  init_rc_map_odroid+0x0/0xc @ 1
[    0.627975] initcall init_rc_map_odroid+0x0/0xc returned 0 after 0 usecs
[    0.627981] calling  init_rc_map_pctv_sedna+0x0/0xc @ 1
[    0.627987] initcall init_rc_map_pctv_sedna+0x0/0xc returned 0 after 0 usecs
[    0.627994] calling  init_rc_map_pinnacle_color+0x0/0xc @ 1
[    0.628000] initcall init_rc_map_pinnacle_color+0x0/0xc returned 0 after 0 usecs
[    0.628007] calling  init_rc_map_pinnacle_grey+0x0/0xc @ 1
[    0.628013] initcall init_rc_map_pinnacle_grey+0x0/0xc returned 0 after 0 usecs
[    0.628020] calling  init_rc_map_pinnacle_pctv_hd+0x0/0xc @ 1
[    0.628027] initcall init_rc_map_pinnacle_pctv_hd+0x0/0xc returned 0 after 0 usecs
[    0.628033] calling  init_rc_map_pixelview+0x0/0xc @ 1
[    0.628040] initcall init_rc_map_pixelview+0x0/0xc returned 0 after 0 usecs
[    0.628047] calling  init_rc_map_pixelview+0x0/0xc @ 1
[    0.628054] initcall init_rc_map_pixelview+0x0/0xc returned 0 after 0 usecs
[    0.628060] calling  init_rc_map_pixelview+0x0/0xc @ 1
[    0.628067] initcall init_rc_map_pixelview+0x0/0xc returned 0 after 0 usecs
[    0.628073] calling  init_rc_map_pixelview_new+0x0/0xc @ 1
[    0.628080] initcall init_rc_map_pixelview_new+0x0/0xc returned 0 after 0 usecs
[    0.628086] calling  init_rc_map_powercolor_real_angel+0x0/0xc @ 1
[    0.628094] initcall init_rc_map_powercolor_real_angel+0x0/0xc returned 0 after 0 usecs
[    0.628100] calling  init_rc_map_proteus_2309+0x0/0xc @ 1
[    0.628107] initcall init_rc_map_proteus_2309+0x0/0xc returned 0 after 0 usecs
[    0.628113] calling  init_rc_map_purpletv+0x0/0xc @ 1
[    0.628120] initcall init_rc_map_purpletv+0x0/0xc returned 0 after 0 usecs
[    0.628126] calling  init_rc_map_pv951+0x0/0xc @ 1
[    0.628133] initcall init_rc_map_pv951+0x0/0xc returned 0 after 0 usecs
[    0.628139] calling  init_rc_map_rc5_hauppauge_new+0x0/0xc @ 1
[    0.628146] initcall init_rc_map_rc5_hauppauge_new+0x0/0xc returned 0 after 0 usecs
[    0.628152] calling  init_rc_map_rc6_mce+0x0/0xc @ 1
[    0.628159] initcall init_rc_map_rc6_mce+0x0/0xc returned 0 after 0 usecs
[    0.628166] calling  init_rc_map_real_audio_220_32_keys+0x0/0xc @ 1
[    0.628173] initcall init_rc_map_real_audio_220_32_keys+0x0/0xc returned 0 after 0 usecs
[    0.628180] calling  init_rc_map_reddo+0x0/0xc @ 1
[    0.628186] initcall init_rc_map_reddo+0x0/0xc returned 0 after 0 usecs
[    0.628193] calling  init_rc_map_snapstream_firefly+0x0/0xc @ 1
[    0.628200] initcall init_rc_map_snapstream_firefly+0x0/0xc returned 0 after 0 usecs
[    0.628206] calling  init_rc_map_streamzap+0x0/0xc @ 1
[    0.628213] initcall init_rc_map_streamzap+0x0/0xc returned 0 after 0 usecs
[    0.628219] calling  init_rc_map_tango+0x0/0xc @ 1
[    0.628226] initcall init_rc_map_tango+0x0/0xc returned 0 after 0 usecs
[    0.628232] calling  init_rc_map_tanix_tx3mini+0x0/0xc @ 1
[    0.628239] initcall init_rc_map_tanix_tx3mini+0x0/0xc returned 0 after 0 usecs
[    0.628246] calling  init_rc_map_tanix_tx5max+0x0/0xc @ 1
[    0.628253] initcall init_rc_map_tanix_tx5max+0x0/0xc returned 0 after 0 usecs
[    0.628259] calling  init_rc_map_tbs_nec+0x0/0xc @ 1
[    0.628265] initcall init_rc_map_tbs_nec+0x0/0xc returned 0 after 0 usecs
[    0.628271] calling  init_rc_map+0x0/0xc @ 1
[    0.628277] initcall init_rc_map+0x0/0xc returned 0 after 0 usecs
[    0.628283] calling  init_rc_map+0x0/0xc @ 1
[    0.628290] initcall init_rc_map+0x0/0xc returned 0 after 0 usecs
[    0.628296] calling  init_rc_map_terratec_cinergy_c_pci+0x0/0xc @ 1
[    0.628304] initcall init_rc_map_terratec_cinergy_c_pci+0x0/0xc returned 0 after 0 usecs
[    0.628310] calling  init_rc_map_terratec_cinergy_s2_hd+0x0/0xc @ 1
[    0.628317] initcall init_rc_map_terratec_cinergy_s2_hd+0x0/0xc returned 0 after 0 usecs
[    0.628324] calling  init_rc_map_terratec_cinergy_xs+0x0/0xc @ 1
[    0.628331] initcall init_rc_map_terratec_cinergy_xs+0x0/0xc returned 0 after 0 usecs
[    0.628337] calling  init_rc_map_terratec_slim+0x0/0xc @ 1
[    0.628344] initcall init_rc_map_terratec_slim+0x0/0xc returned 0 after 0 usecs
[    0.628351] calling  init_rc_map_terratec_slim_2+0x0/0xc @ 1
[    0.628358] initcall init_rc_map_terratec_slim_2+0x0/0xc returned 0 after 0 usecs
[    0.628364] calling  init_rc_map_tevii_nec+0x0/0xc @ 1
[    0.628371] initcall init_rc_map_tevii_nec+0x0/0xc returned 0 after 0 usecs
[    0.628377] calling  init_rc_map_tivo+0x0/0xc @ 1
[    0.628384] initcall init_rc_map_tivo+0x0/0xc returned 0 after 0 usecs
[    0.628390] calling  init_rc_map_total_media_in_hand+0x0/0xc @ 1
[    0.628397] initcall init_rc_map_total_media_in_hand+0x0/0xc returned 0 after 0 usecs
[    0.628404] calling  init_rc_map_total_media_in_hand_02+0x0/0xc @ 1
[    0.628411] initcall init_rc_map_total_media_in_hand_02+0x0/0xc returned 0 after 0 usecs
[    0.628417] calling  init_rc_map_trekstor+0x0/0xc @ 1
[    0.628424] initcall init_rc_map_trekstor+0x0/0xc returned 0 after 0 usecs
[    0.628430] calling  init_rc_map_tt_1500+0x0/0xc @ 1
[    0.628437] initcall init_rc_map_tt_1500+0x0/0xc returned 0 after 0 usecs
[    0.628444] calling  init_rc_map_twinhan_dtv_cab_ci+0x0/0xc @ 1
[    0.628451] initcall init_rc_map_twinhan_dtv_cab_ci+0x0/0xc returned 0 after 0 usecs
[    0.628458] calling  init_rc_map_twinhan_vp1027+0x0/0xc @ 1
[    0.628465] initcall init_rc_map_twinhan_vp1027+0x0/0xc returned 0 after 0 usecs
[    0.628471] calling  init_rc_map_vega_s9x+0x0/0xc @ 1
[    0.628478] initcall init_rc_map_vega_s9x+0x0/0xc returned 0 after 0 usecs
[    0.628484] calling  init_rc_map_videomate_k100+0x0/0xc @ 1
[    0.628491] initcall init_rc_map_videomate_k100+0x0/0xc returned 0 after 0 usecs
[    0.628498] calling  init_rc_map_videomate_s350+0x0/0xc @ 1
[    0.628505] initcall init_rc_map_videomate_s350+0x0/0xc returned 0 after 0 usecs
[    0.628511] calling  init_rc_map_videomate_tv_pvr+0x0/0xc @ 1
[    0.628519] initcall init_rc_map_videomate_tv_pvr+0x0/0xc returned 0 after 0 usecs
[    0.628525] calling  init_rc_map_wetek_hub+0x0/0xc @ 1
[    0.628532] initcall init_rc_map_wetek_hub+0x0/0xc returned 0 after 0 usecs
[    0.628538] calling  init_rc_map_wetek_play2+0x0/0xc @ 1
[    0.628545] initcall init_rc_map_wetek_play2+0x0/0xc returned 0 after 0 usecs
[    0.628551] calling  init_rc_map_winfast+0x0/0xc @ 1
[    0.628558] initcall init_rc_map_winfast+0x0/0xc returned 0 after 0 usecs
[    0.628565] calling  init_rc_map_winfast_usbii_deluxe+0x0/0xc @ 1
[    0.628572] initcall init_rc_map_winfast_usbii_deluxe+0x0/0xc returned 0 after 0 usecs
[    0.628579] calling  init_rc_map_su3000+0x0/0xc @ 1
[    0.628585] initcall init_rc_map_su3000+0x0/0xc returned 0 after 0 usecs
[    0.628592] calling  init_rc_map+0x0/0xc @ 1
[    0.628598] initcall init_rc_map+0x0/0xc returned 0 after 0 usecs
[    0.628605] calling  init_rc_map_x96max+0x0/0xc @ 1
[    0.628611] initcall init_rc_map_x96max+0x0/0xc returned 0 after 0 usecs
[    0.628618] calling  init_rc_map_zx_irdec+0x0/0xc @ 1
[    0.628624] initcall init_rc_map_zx_irdec+0x0/0xc returned 0 after 0 usecs
[    0.628631] calling  sunxi_ir_driver_init+0x0/0x10 @ 1
[    0.628858] initcall sunxi_ir_driver_init+0x0/0x10 returned 0 after 203 usecs
[    0.628868] calling  sun6i_csi_platform_driver_init+0x0/0x10 @ 1
[    0.630122] probe of 1cb4000.csi returned 1 after 1183 usecs
[    0.630309] initcall sun6i_csi_platform_driver_init+0x0/0x10 returned 0 after 1385 usecs
[    0.630318] calling  uvc_init+0x0/0x48 @ 1
[    0.630411] usbcore: registered new interface driver uvcvideo
[    0.630414] USB Video Class driver (1.1.1)
[    0.630425] initcall uvc_init+0x0/0x48 returned 0 after 94 usecs
[    0.630434] calling  axp20x_usb_power_driver_init+0x0/0x10 @ 1
[    0.630600] initcall axp20x_usb_power_driver_init+0x0/0x10 returned 0 after 146 usecs
[    0.630608] calling  axp20x_batt_driver_init+0x0/0x10 @ 1
[    0.630720] initcall axp20x_batt_driver_init+0x0/0x10 returned 0 after 97 usecs
[    0.630730] calling  axp20x_ac_power_driver_init+0x0/0x10 @ 1
[    0.630828] initcall axp20x_ac_power_driver_init+0x0/0x10 returned 0 after 84 usecs
[    0.630837] calling  sunxi_wdt_driver_init+0x0/0x10 @ 1
[    0.631366] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    0.631417] probe of 1c20ca0.watchdog returned 1 after 521 usecs
[    0.631514] initcall sunxi_wdt_driver_init+0x0/0x10 returned 0 after 640 usecs
[    0.631524] calling  dt_cpufreq_platdrv_init+0x0/0x10 @ 1
[    0.631624] initcall dt_cpufreq_platdrv_init+0x0/0x10 returned 0 after 84 usecs
[    0.631634] calling  mmc_pwrseq_simple_driver_init+0x0/0x10 @ 1
[    0.631721] initcall mmc_pwrseq_simple_driver_init+0x0/0x10 returned 0 after 72 usecs
[    0.631730] calling  mmc_pwrseq_emmc_driver_init+0x0/0x10 @ 1
[    0.631804] initcall mmc_pwrseq_emmc_driver_init+0x0/0x10 returned 0 after 60 usecs
[    0.631812] calling  mmc_blk_init+0x0/0xfc @ 1
[    0.631894] initcall mmc_blk_init+0x0/0xfc returned 0 after 70 usecs
[    0.631902] calling  sunxi_mmc_driver_init+0x0/0x10 @ 1
[    0.658232] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[    0.658298] probe of 1c0f000.mmc returned 1 after 26317 usecs
[    0.682797] sunxi-mmc 1c10000.mmc: initialized, max. request size: 16384 KB
[    0.682863] probe of 1c10000.mmc returned 1 after 24534 usecs
[    0.683073] initcall sunxi_mmc_driver_init+0x0/0x10 returned 0 after 49948 usecs
[    0.683084] calling  gpio_led_driver_init+0x0/0x10 @ 1
[    0.683471] probe of leds returned 1 after 279 usecs
[    0.683530] initcall gpio_led_driver_init+0x0/0x10 returned 0 after 417 usecs
[    0.683541] calling  heartbeat_trig_init+0x0/0x40 @ 1
[    0.683553] initcall heartbeat_trig_init+0x0/0x40 returned 0 after 4 usecs
[    0.683558] calling  defon_led_trigger_init+0x0/0xc @ 1
[    0.683565] initcall defon_led_trigger_init+0x0/0xc returned 0 after 1 usecs
[    0.683570] calling  sun4i_ss_driver_init+0x0/0x10 @ 1
[    0.683693] initcall sun4i_ss_driver_init+0x0/0x10 returned 0 after 108 usecs
[    0.683700] calling  hid_init+0x0/0x54 @ 1
[    0.683775] initcall hid_init+0x0/0x54 returned 0 after 62 usecs
[    0.683782] calling  hid_generic_init+0x0/0x18 @ 1
[    0.683839] initcall hid_generic_init+0x0/0x18 returned 0 after 46 usecs
[    0.683845] calling  a4_driver_init+0x0/0x18 @ 1
[    0.683899] initcall a4_driver_init+0x0/0x18 returned 0 after 44 usecs
[    0.683905] calling  apple_driver_init+0x0/0x18 @ 1
[    0.683953] initcall apple_driver_init+0x0/0x18 returned 0 after 38 usecs
[    0.683960] calling  belkin_driver_init+0x0/0x18 @ 1
[    0.683992] initcall belkin_driver_init+0x0/0x18 returned 0 after 24 usecs
[    0.683998] calling  ch_driver_init+0x0/0x18 @ 1
[    0.684030] initcall ch_driver_init+0x0/0x18 returned 0 after 23 usecs
[    0.684036] calling  ch_driver_init+0x0/0x18 @ 1
[    0.684068] initcall ch_driver_init+0x0/0x18 returned 0 after 23 usecs
[    0.684074] calling  cp_driver_init+0x0/0x18 @ 1
[    0.684105] initcall cp_driver_init+0x0/0x18 returned 0 after 23 usecs
[    0.684111] calling  ez_driver_init+0x0/0x18 @ 1
[    0.684141] initcall ez_driver_init+0x0/0x18 returned 0 after 22 usecs
[    0.684147] calling  ite_driver_init+0x0/0x18 @ 1
[    0.684178] initcall ite_driver_init+0x0/0x18 returned 0 after 23 usecs
[    0.684184] calling  ks_driver_init+0x0/0x18 @ 1
[    0.684214] initcall ks_driver_init+0x0/0x18 returned 0 after 23 usecs
[    0.684220] calling  lg_driver_init+0x0/0x18 @ 1
[    0.684265] initcall lg_driver_init+0x0/0x18 returned 0 after 34 usecs
[    0.684271] calling  lg_g15_driver_init+0x0/0x18 @ 1
[    0.684310] initcall lg_g15_driver_init+0x0/0x18 returned 0 after 30 usecs
[    0.684315] calling  ms_driver_init+0x0/0x18 @ 1
[    0.684349] initcall ms_driver_init+0x0/0x18 returned 0 after 25 usecs
[    0.684354] calling  mr_driver_init+0x0/0x18 @ 1
[    0.684386] initcall mr_driver_init+0x0/0x18 returned 0 after 24 usecs
[    0.684391] calling  redragon_driver_init+0x0/0x18 @ 1
[    0.684425] initcall redragon_driver_init+0x0/0x18 returned 0 after 25 usecs
[    0.684431] calling  hid_init+0x0/0x60 @ 1
[    0.684487] usbcore: registered new interface driver usbhid
[    0.684489] usbhid: USB HID core driver
[    0.684498] initcall hid_init+0x0/0x60 returned 0 after 57 usecs
[    0.684505] calling  extcon_class_init+0x0/0x20 @ 1
[    0.684530] initcall extcon_class_init+0x0/0x20 returned 0 after 16 usecs
[    0.684537] calling  axp20x_adc_driver_init+0x0/0x10 @ 1
[    0.684675] initcall axp20x_adc_driver_init+0x0/0x10 returned 0 after 124 usecs
[    0.684684] calling  sunxi_sid_driver_init+0x0/0x10 @ 1
[    0.684881] initcall sunxi_sid_driver_init+0x0/0x10 returned 0 after 180 usecs
[    0.684887] calling  alsa_timer_init+0x0/0x208 @ 1
[    0.685335] initcall alsa_timer_init+0x0/0x208 returned 0 after 415 usecs
[    0.685346] calling  alsa_pcm_init+0x0/0x6c @ 1
[    0.685362] initcall alsa_pcm_init+0x0/0x6c returned 0 after 7 usecs
[    0.685368] calling  snd_soc_init+0x0/0x8c @ 1
[    0.685731] probe of snd-soc-dummy returned 1 after 88 usecs
[    0.685827] initcall snd_soc_init+0x0/0x8c returned 0 after 431 usecs
[    0.685836] calling  sun4i_codec_driver_init+0x0/0x10 @ 1
[    0.686355] sun4i-codec 1c22c00.codec: Failed to register our card
[    0.692842] probe of 1c22c00.codec returned 0 after 6824 usecs
[    0.692979] initcall sun4i_codec_driver_init+0x0/0x10 returned 0 after 6955 usecs
[    0.692988] calling  sun8i_codec_analog_driver_init+0x0/0x10 @ 1
[    0.693358] probe of 1c23000.codec-analog returned 1 after 192 usecs
[    0.693442] initcall sun8i_codec_analog_driver_init+0x0/0x10 returned 0 after 426 usecs
[    0.693451] calling  sun8i_codec_driver_init+0x0/0x10 @ 1
[    0.693604] initcall sun8i_codec_driver_init+0x0/0x10 returned 0 after 135 usecs
[    0.693612] calling  sock_diag_init+0x0/0x40 @ 1
[    0.693683] initcall sock_diag_init+0x0/0x40 returned 0 after 56 usecs
[    0.693691] calling  gre_offload_init+0x0/0x10 @ 1
[    0.693699] initcall gre_offload_init+0x0/0x10 returned 0 after 0 usecs
[    0.693705] calling  sysctl_ipv4_init+0x0/0x54 @ 1
[    0.693875] initcall sysctl_ipv4_init+0x0/0x54 returned 0 after 155 usecs
[    0.693883] calling  cubictcp_register+0x0/0x64 @ 1
[    0.693895] initcall cubictcp_register+0x0/0x64 returned 0 after 3 usecs
[    0.693901] calling  packet_init+0x0/0x78 @ 1
[    0.693906] NET: Registered protocol family 17
[    0.693935] initcall packet_init+0x0/0x78 returned 0 after 26 usecs
[    0.693942] calling  init_rpcsec_gss+0x0/0x6c @ 1
[    0.693986] initcall init_rpcsec_gss+0x0/0x6c returned 0 after 34 usecs
[    0.693992] calling  rfkill_gpio_driver_init+0x0/0x10 @ 1
[    0.694111] initcall rfkill_gpio_driver_init+0x0/0x10 returned 0 after 101 usecs
[    0.694120] calling  init_dns_resolver+0x0/0x104 @ 1
[    0.694152] Key type dns_resolver registered
[    0.694164] initcall init_dns_resolver+0x0/0x104 returned 0 after 33 usecs
[    0.694286] calling  init_machine_late+0x0/0x90 @ 1
[    0.694298] initcall init_machine_late+0x0/0x90 returned 0 after 4 usecs
[    0.694305] calling  init_oops_id+0x0/0x44 @ 1
[    0.694316] initcall init_oops_id+0x0/0x44 returned 0 after 4 usecs
[    0.694324] calling  sched_init_debug+0x0/0x54 @ 1
[    0.694368] initcall sched_init_debug+0x0/0x54 returned 0 after 32 usecs
[    0.694375] calling  pm_qos_power_init+0x0/0x84 @ 1
[    0.694712] initcall pm_qos_power_init+0x0/0x84 returned 0 after 310 usecs
[    0.694722] calling  pm_debugfs_init+0x0/0x38 @ 1
[    0.694742] initcall pm_debugfs_init+0x0/0x38 returned 0 after 11 usecs
[    0.694749] calling  printk_late_init+0x0/0x1d8 @ 1
[    0.694761] initcall printk_late_init+0x0/0x1d8 returned 0 after 4 usecs
[    0.694769] calling  tk_debug_sleep_time_init+0x0/0x38 @ 1
[    0.694784] initcall tk_debug_sleep_time_init+0x0/0x38 returned 0 after 7 usecs
[    0.694790] calling  load_system_certificate_list+0x0/0x108 @ 1
[    0.694792] Loading compiled-in X.509 certificates
[    0.694799] initcall load_system_certificate_list+0x0/0x108 returned 0 after 2 usecs
[    0.694836] calling  fault_around_debugfs+0x0/0x38 @ 1
[    0.694855] initcall fault_around_debugfs+0x0/0x38 returned 0 after 10 usecs
[    0.694863] calling  max_swapfiles_check+0x0/0x8 @ 1
[    0.694870] initcall max_swapfiles_check+0x0/0x8 returned 0 after 0 usecs
[    0.694876] calling  check_early_ioremap_leak+0x0/0x64 @ 1
[    0.694884] initcall check_early_ioremap_leak+0x0/0x64 returned 0 after 0 usecs
[    0.694890] calling  init_root_keyring+0x0/0xc @ 1
[    0.694968] initcall init_root_keyring+0x0/0xc returned 0 after 65 usecs
[    0.694977] calling  prandom_reseed+0x0/0x38 @ 1
[    0.694993] initcall prandom_reseed+0x0/0x38 returned 0 after 9 usecs
[    0.695000] calling  clk_debug_init+0x0/0x110 @ 1
[    0.699504] initcall clk_debug_init+0x0/0x110 returned 0 after 4365 usecs
[    0.699522] calling  sync_state_resume_initcall+0x0/0x10 @ 1
[    0.699533] initcall sync_state_resume_initcall+0x0/0x10 returned 0 after 2 usecs
[    0.699542] calling  deferred_probe_initcall+0x0/0xac @ 1
[    0.700340] probe of 1c19400.phy returned 1 after 636 usecs
[    0.702504] sun4i-drm display-engine: bound 1100000.mixer (ops 0xc084b6d8)
[    0.703005] sun4i-drm display-engine: bound 1c0c000.lcd-controller (ops 0xc08489b8)
[    0.703019] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.703022] [drm] No driver support for vblank timestamp query.
[    0.703701] [drm] Initialized sun4i-drm 1.0.0 20150629 for display-engine on minor 0
[    0.713725] mmc0: host does not support reading read-only switch, assuming write-enable
[    0.716809] mmc0: new high speed SDHC card at address aaaa
[    0.717580] mmcblk0: mmc0:aaaa SA08G 7.40 GiB 
[    0.719753]  mmcblk0: p1 p2
[    0.720701] probe of mmc0:aaaa returned 1 after 3700 usecs
[    0.962733] Console: switching to colour frame buffer device 128x37
[    0.987566] sun4i-drm display-engine: fb0: sun4i-drmdrmfb frame buffer device
[    0.987640] probe of 1c0c000.lcd-controller returned 1 after 287101 usecs
[    0.988296] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[    0.988418] probe of usb_phy_generic.0.auto returned 1 after 190 usecs
[    0.988908] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    0.988944] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3
[    0.989763] hub 3-0:1.0: USB hub found
[    0.989821] hub 3-0:1.0: 1 port detected
[    0.990027] probe of 3-0:1.0 returned 1 after 321 usecs
[    0.990119] probe of usb3 returned 1 after 582 usecs
[    0.990543] probe of musb-hdrc.1.auto returned 1 after 1962 usecs
[    0.990600] probe of 1c19000.usb returned 1 after 2608 usecs
[    0.991616] debugfs: Directory '1c22c00.codec' with parent 'V3s Audio Codec' already present!
[    1.001609] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok
[    1.002636] probe of 1c22c00.codec returned 1 after 11594 usecs
[    1.002702] initcall deferred_probe_initcall+0x0/0xac returned 0 after 296033 usecs
[    1.002714] calling  rtc_hctosys+0x0/0x104 @ 1
[    1.002762] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01T00:00:05 UTC (5)
[    1.002772] initcall rtc_hctosys+0x0/0x104 returned 0 after 48 usecs
[    1.002780] calling  of_fdt_raw_init+0x0/0x80 @ 1
[    1.002904] initcall of_fdt_raw_init+0x0/0x80 returned 0 after 109 usecs
[    1.002914] calling  tcp_congestion_default+0x0/0x14 @ 1
[    1.002924] initcall tcp_congestion_default+0x0/0x14 returned 0 after 2 usecs
[    1.002931] calling  ip_auto_config+0x0/0x10c0 @ 1
[    1.002962] initcall ip_auto_config+0x0/0x10c0 returned 0 after 21 usecs
[    1.002970] calling  regulatory_init_db+0x0/0x208 @ 1
[    1.002999] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    1.005961] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    1.006000] initcall regulatory_init_db+0x0/0x208 returned 0 after 2936 usecs
[    1.006011] calling  clk_disable_unused+0x0/0xf8 @ 1
[    1.006096] initcall clk_disable_unused+0x0/0xf8 returned 0 after 73 usecs
[    1.006105] calling  regulator_init_complete+0x0/0x4c @ 1
[    1.006117] initcall regulator_init_complete+0x0/0x4c returned 0 after 4 usecs
[    1.006124] calling  of_platform_sync_state_init+0x0/0x10 @ 1
[    1.006132] initcall of_platform_sync_state_init+0x0/0x10 returned 0 after 2 usecs
[    1.006138] calling  alsa_sound_last_init+0x0/0x74 @ 1
[    1.006140] ALSA device list:
[    1.006146]   #0: V3s Audio Codec
[    1.006154] initcall alsa_sound_last_init+0x0/0x74 returned 0 after 9 usecs
[    1.006343] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    1.006350] cfg80211: failed to load regulatory.db
[    1.014807] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    1.014881] VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
[    1.015671] devtmpfs: mounted
[    1.016734] Freeing unused kernel memory: 1024K
[    1.016897] Run /sbin/init as init process
[    1.136755] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[    1.432404] random: dd: uninitialized urandom read (512 bytes read)
[    1.471213] usb 1-1: new high-speed USB device number 2 using ehci-platform
[    1.674927] hub 1-1:1.0: USB hub found
[    1.675355] hub 1-1:1.0: 4 ports detected
[    1.677761] probe of 1-1:1.0 returned 1 after 2889 usecs
[    1.677896] probe of 1-1 returned 1 after 3581 usecs
[    1.762544] dwmac-sun8i 1c30000.ethernet eth0: PHY [0.1:01] driver [Generic PHY]
[    1.763787] dwmac-sun8i 1c30000.ethernet eth0: No Safety Features support found
[    1.763802] dwmac-sun8i 1c30000.ethernet eth0: No MAC Management Counters available
[    1.763812] dwmac-sun8i 1c30000.ethernet eth0: PTP not supported by HW
[    1.763827] dwmac-sun8i 1c30000.ethernet eth0: configuring for phy/mii link mode
[    1.807898] random: dhcpcd: uninitialized urandom read (120 bytes read)
[    1.941532] cma: cma_alloc: alloc failed, req-size: 150 pages, ret: -12
[    1.953226] sun6i-csi 1cb4000.csi: dma_alloc_coherent of size 614400 failed

커널 메시지에는 "Freeing unused kernel memory: 1024K" 부분이 커널 부팅의 끝 부분이라고 가정하면 커널 부팅에 소요된 시간은 1.00초에 가깝다. 그 직후 init에서 어플리케이션 구동까지 걸린 시간이 0.95초가 되는 것이다.

 

그리고 리눅스 소스코드에 포함된 bootgraph라는 펄-스크립트를 이용하여 svg 포맷의 그래프를 생성하였다.

./linux/scripts/bootgraph.pl kernel.log > boot.svg

아래는 생성된 파일을 PNG로 변경한 것이다.

그래프의 글씨가 잘 안 보인다. SVG 뷰어로 확대해서 분석하는 것이 더 편리하다. 참고를 위해 svg 원본을 첨부한다.

boot.zip
0.00MB

시간이 긴것부터 몇 개만 살펴보자.

마지막 700ms 이후는 장치들 probe 과정이므로 단축이 쉽지는 않을것 같다.

350 ~ 600ms 구간의 I2C 버스에 연결된 터치스크린과 카메라의 초기화 시간이 가장 길었다. 역시나 I2C 버스는 너무 느리다.

I2C에 연결된 드라이버는 모듈로 변경하면 300ms 정도 단축이 가능해 보이나, 어플리케이션이 구동될때 모듈 로딩이 필요하므로 조삼모사가 될 가능성이 크다.

 

USB 호스트용 EHCI/OHCI 드라이버는 200ms 정도 소요되고 있으나 범용이므로 건드리지 말자.

DW8250이라는 UART 드라이버 초기화도 

이더넷과 사운드 드라이버에 필요한 시간은 상대적으로 미미해 보인다.

 

커널의 부팅 시간 분석은 이 정도에서 마무리하고 u-boo 최신 버전을 포팅하여 테스트를 해보았다.

$ grabserial -v -d "/dev/ttyUSB0" -b 115200 -w 8 -p N -s 1 -e 30 -t -m "U-Boot SPL"
Opening serial port /dev/ttyUSB0
115200:8N1:xonxoff=0:rtscts=0
Program will end in 30 seconds
Printing timing information for each line
Matching pattern 'U-Boot SPL' to set base time
Use Control-C to stop...
[0.000001 0.000001] 
[0.000355 0.000354] U-Boot SPL 2019.07-rc3-15384-g2f64dd2a94-dirty (Jan 20 2020 - 13:17:43 +0900)
[0.006884 0.006884] DRAM: 128 MiB
[0.016207 0.009323] Trying to boot from MMC1
[0.191869 0.175662] 
[0.192076 0.000207] 
[0.192181 0.000105] U-Boot 2019.07-rc3-15384-g2f64dd2a94-dirty (Jan 20 2020 - 13:17:43 +0900) Allwinner Technology
[0.200289 0.008108] 
[0.200390 0.000101] CPU:   Allwinner V3 (SUN8I 1681)
[0.203281 0.002891] Model: FoxNux One
[0.204232 0.000951] DRAM:  128 MiB
[0.725960 0.521728] MMC:   mmc@1c0f000: 0
[0.730542 0.004582] Loading Environment from FAT... OK
[0.774108 0.043566] In:    serial@1c28000
[0.776283 0.002175] Out:   serial@1c28000
[0.778027 0.001744] Err:   serial@1c28000
[0.780527 0.002500] Net:   No ethernet found.
[0.782856 0.002329] starting USB...
[0.783706 0.000850] No working controllers found
[0.786757 0.003051] Hit any key to stop autoboot:  0 
[0.816568 0.029811] switch to partitions #0, OK
[0.818787 0.002219] mmc0 is current device
[0.822498 0.003711] Scanning mmc 0:1...
[0.824583 0.002085] Found U-Boot script /boot.scr
[0.828565 0.003982] 813 bytes read in 1 ms (793.9 KiB/s)
[0.831345 0.002780] ## Executing script at 41900000
[1.043468 0.212123] 4580200 bytes read in 208 ms (21 MiB/s)
[1.049302 0.005834] 14122 bytes read in 2 ms (6.7 MiB/s)
[1.052379 0.003077] ## Flattened Device Tree blob at 41800000
[1.055775 0.003396]    Booting using the fdt blob at 0x41800000
[1.059623 0.003848]    Loading Device Tree to 42df9000, end 42dff729 ... OK
[1.070114 0.010491] 
[1.070231 0.000117] Starting kernel ...
[1.071459 0.001228] 
[1.481085 0.409626] [    0.081412] sun4i-usb-phy 1c19400.phy: Couldn't request ID GPIO
[1.559485 0.078400] [    0.241768] dwmac-sun8i 1c30000.ethernet: IRQ eth_wake_irq not found
[1.565614 0.006129] [    0.248222] dwmac-sun8i 1c30000.ethernet: IRQ eth_lpi not found
[2.014376 0.448762] [    0.696528] sun4i-codec 1c22c00.codec: Failed to register our card
[2.322793 0.308417] [    1.004800] debugfs: Directory '1c22c00.codec' with parent 'V3s Audio Codec' already present!
[2.557974 0.235181] App Starting..
[2.581520 0.023546] App Started..
[3.302414 0.720894] 
[3.309866 0.004829] [    2.026258] cma: cma_alloc: alloc failed, req-size: 150 pages, ret: -12
[3.360963 0.051097] [    2.038104] sun6i-csi 1cb4000.csi: dma_alloc_coherent of size 614400 failed

와!!

부팅이 완료되는데 3.5초 미만의 시간이 소요되었다. 3.81초에서 3.36초로 400ms 이상 줄어들었다. 

SPL 시작에서 Starting Kernel이 나올때까지 1.36초에서 1.07초로 줄어든 부분이 가장 큰것 같다.

falcon boot를 구현하면 2.5초 정도에 가능할것 같다.

그런데 계속 부트로더 개발에 시간을 투자한다는 것이 많이 아깝다고 생각한다.

최초 목표 4초를 초과 달성했으니 이 정도에서 마무리하겠다. 처음에 10여초가 넘었는데 60% 정도 단축시킨 것으로 판단한다.

 

참고로 Mainline u-boot은 안정성 떨어져서 DRAM 클럭을 살짝 낮추고 ZQ값 싸이클 숫자를 올려야만 안정적인 동작이 가능했다.

CPU의 DRAM controller 초기화 부분에 버그가 좀 있는것으로 보인다.

또한 LCD 지원 부분도 빠져있어, 당분간 구형 uboot을 사용할 것이다.

CONFIG_SUNXI_DRAM_DDR3=y
CONFIG_SUNXI_DRAM_DDR3_1333=y
CONFIG_DRAM_CLK=600
CONFIG_DRAM_ZQ=3881979

 

 

'임베디드' 카테고리의 다른 글

오디오 DAC 와 Headphone 앰프 출력 이용 (ALSA)  (0) 2020.01.22
SD-card 메모리 맵  (0) 2020.01.22
쾌속 부팅 3차 도전  (0) 2020.01.15
쾌속 부팅 2차 도전  (0) 2020.01.14
쾌속 부팅을 향한 첫 걸음  (0) 2020.01.13