导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页
    1. 主页
    2. xsyr1024
    3. 最佳
    X
    • 资料
    • 关注 0
    • 粉丝 0
    • 我的积分 468
    • 主题 2
    • 帖子 14
    • 最佳 3
    • 群组 0

    xsyr1024 发布的最佳帖子

    • 请教如何排查 linux kernel 启动卡主的问题

      背景:我买了一块T113-S3的开发板,SD卡启动。用配套 img就能启动,我自己尝试打了一个img,但是内核启动到一半卡主了。
      环境:
      1、board.dts、sun8iw20p1.dtsi.dtsi 均拷贝自配套源码。
      2、芯片T113-S3
      3、SD卡启动
      4、来自 T113-i 的linux,版本 5.4.61

      启动日志如下:

      [30]HELLO! BOOT0 is starting!
      [33]BOOT0 commit : adaf1174cc
      [36]set pll start
      [42]periph0 has been enabled
      [45]set pll end
      [46][pmu]: bus read error
      [49]board init ok
      [51]ZQ value = 0x2f
      [53]get_pmu_exist() = -1
      [55]ddr_efuse_type: 0xa
      [58]trefi:7.8ms
      [60][AUTO DEBUG] single rank and full DQ!
      [64]ddr_efuse_type: 0xa
      [66]trefi:7.8ms
      [69][AUTO DEBUG] rank 0 row = 13
      [72][AUTO DEBUG] rank 0 bank = 8
      [75][AUTO DEBUG] rank 0 page size = 2 KB
      [79]DRAM BOOT DRIVE INFO: V0.33
      [82]DRAM CLK = 936 MHz
      [85]DRAM Type = 3 (2:DDR2,3:DDR3)
      [88]DRAMC read ODT  off.
      [90]DRAM ODT value: 0x42.
      [93]ddr_efuse_type: 0xa
      [96]DRAM SIZE =128 M
      [98]dram_tpr4:0x0
      [100]PLL_DDR_CTRL_REG:0xf8004d00
      [103]DRAM_CLK_REG:0xc0000000
      [106][TIMING DEBUG] MR2= 0x20
      [114]DRAM simple test OK.
      [116]rtc standby flag is 0x0, super standby flag is 0x0
      [121]dram size =128
      [124]card no is 0
      [126]sdcard 0 line count 4
      [128][mmc]: mmc driver ver 2021-05-21 14:47
      [138][mmc]: Wrong media type 0x0
      [141][mmc]: ***Try SD card 0***
      [159][mmc]: HSSDR52/SDR25 4 bit
      [162][mmc]: 50000000 Hz
      [164][mmc]: 30436 MB
      [166][mmc]: ***SD/MMC 0 init OK!!!***
      [259]Loading boot-pkg Succeed(index=0).
      [263]Entry_name        = u-boot
      [269]Entry_name        = optee
      [273]Entry_name        = dtb
      [276]mmc not para
      [278]Jump to second Boot.
      M/TC: OP-TEE version: e9372c9c-dirty (gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05)) #2 Sat Mar 19 11:09:45 UTC 2022 arm
      
      
      U-Boot 2018.05 (Nov 01 2023 - 00:30:09 +0800) Allwinner Technology
      
      [00.331]CPU:   Allwinner Family
      [00.334]Model: sun8iw20
      [00.336]DRAM:  128 MiB
      [00.339]Relocation Offset is: 04ec8000
      [00.364]secure enable bit: 0
      E/TC:0   tee_read_fdt:433 fine node /firmware/optee failed with FDT_ERR_NOTFOUND
      [00.376]smc_tee_inform_fdt failed with: -65536[00.381]CPU=1200 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz  MBus=300Mhz
      [00.387]gic: sec monitor mode
      [00.390]flash init start
      [00.392]workmode = 0,storage type = 1
      [00.395][mmc]: mmc driver ver uboot2018:2021-12-20 13:35:00
      [00.400][mmc]: get sdc_type fail and use default host:tm1.
      [00.406][mmc]: can't find node "mmc0",will add new node
      [00.411][mmc]: fdt err returned <no error>
      [00.415][mmc]: Using default timing para
      [00.419][mmc]: SUNXI SDMMC Controller Version:0x50310
      [00.445][mmc]: card_caps:0x3000000a
      [00.448][mmc]: host_caps:0x3000003f
      [00.453]sunxi flash init ok
      [00.455]line:703 init_clocks
      [00.458]drv_disp_init
      request pwm success, pwm7:pwm7:0x2000c00.
      fdt get node offset faill: hdmi
      [00.473]drv_disp_init finish
      [00.488]Loading Environment from SUNXI_FLASH... OK
      [00.506]boot_gui_init:start
      [00.509]set disp.dev2_output_type fail. using defval=0
      [00.515]boot_gui_init:finish
      partno erro : can't find partition bootloader
      54 bytes read in 1 ms (52.7 KiB/s)
      [00.530]bmp_name=bootlogo.bmp size 38454
      38454 bytes read in 4 ms (9.2 MiB/s)
      [00.547]Item0 (Map) magic is bad
      [00.550]the secure storage item0 copy0 magic is bad
      [00.555]Item0 (Map) magic is bad
      [00.558]the secure storage item0 copy1 magic is bad
      [00.562]Item0 (Map) magic is bad
      [00.565]out of usb burn from boot: not need burn key
      List file under ULI/factory
      ** Unrecognized filesystem type **
      root_partition is rootfs
      set root to /dev/mmcblk0p5
      [00.584]update part info
      [00.587]update bootcmd
      [00.590]change working_fdt 0x43e77e70 to 0x43e47e70
      disable nand error: FDT_ERR_BADPATH
      [00.611]update dts
      Hit any key to stop autoboot:  1 FDT ERROR:get muxsel err returned FDT_ERR_INTERNAL
      sunxi_pwm_pin_set_state, fdt_set_all_pin, ret=-1
      [00.705]LCD open finish                                                                                                                                                           0
      [02.056]no vendor_boot partition is found
      Android's image name: sun8i_arm
      [02.068]Starting kernel ...
      
      [02.070][mmc]: MMC Device 2 not found
      [02.073][mmc]: mmc 2 not find, so not exit
      [    0.000000] 000: printk: bootconsole [earlycon0] enabled
      [    0.000000] 000: Memory policy: Data cache writealloc
      [    0.000000] 000: cma: Reserved 4 MiB at 0x47c00000
      [    0.000000] 000: On node 0 totalpages: 32768
      [    0.000000] 000:   Normal zone: 288 pages used for memmap
      [    0.000000] 000:   Normal zone: 0 pages reserved
      [    0.000000] 000:   Normal zone: 32768 pages, LIFO batch:7
      [    0.000000] 000: psci: probing for conduit method from DT.
      [    0.000000] 000: psci: PSCIv1.0 detected in firmware.
      [    0.000000] 000: psci: Using standard PSCI v0.2 function IDs
      [    0.000000] 000: psci: MIGRATE_INFO_TYPE not supported.
      [    0.000000] 000: psci: SMC Calling Convention v1.0
      [    0.000000] 000: percpu: Embedded 11 pages/cpu s15488 r8192 d21376 u45056
      [    0.000000] 000: pcpu-alloc: s15488 r8192 d21376 u45056 alloc=11*4096
      [    0.000000] 000:
      [    0.000000] 000: pcpu-alloc:
      [    0.000000] 000: [0]
      [    0.000000] 000: 0
      [    0.000000] 000: [0]
      [    0.000000] 000: 1
      [    0.000000] 000:
      [    0.000000] 000: Built 1 zonelists, mobility grouping on.  Total pages: 32480
      [    0.000000] 000: Kernel command line: earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 rootdelay=2 loglevel=8 root=/dev/mmcblk0p5 init=/sbin/init partitions=boot-resource@mmcblk0p1:env@mmcblk0p2:env-redund@mmcblk0p3:boot@mmcblk0p4:rootfs@mmcblk0p5:dsp0@mmcblk0p6:private@mmcblk0p7:UDISK@mmcblk0p8 cma=4M snum= mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.mode=normal androidboot.hardware=sun8iw20p1 boot_type=1 androidboot.boot_type=1 gpt=1 uboot_message=2018.05(11/01/2023-00:30:09) mbr_offset=1032192 disp_reserve=1536000,0x43f12000 androidboot.dramsize=128
      [    0.000000] 000: Dentry cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
      [    0.000000] 000: Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
      [    0.000000] 000: mem auto-init: stack:off, heap alloc:off, heap free:off
      [    0.000000] 000: Memory: 104412K/131072K available (6144K kernel code, 478K rwdata, 2832K rodata, 1024K init, 358K bss, 22564K reserved, 4096K cma-reserved, 0K highmem)
      [    0.000000] 000: SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
      [    0.000000] 000: rcu: Preemptible hierarchical RCU implementation.
      [    0.000000] 000: rcu:        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
      [    0.000000] 000: rcu:        RCU priority boosting: priority 1 delay 500 ms.
      [    0.000000] 000: rcu:        RCU_SOFTIRQ processing moved to rcuc kthreads.
      [    0.000000] 000:     No expedited grace period (rcu_normal_after_boot).
      [    0.000000] 000:     Tasks RCU enabled.
      [    0.000000] 000: rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
      [    0.000000] 000: rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
      [    0.000000] 000: NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
      [    0.000000] 000: random: get_random_bytes called from start_kernel+0x1c7/0x318 with crng_init=0
      [    0.000000] 000: arch_timer: cp15 timer(s) running at 24.00MHz (phys).
      [    0.000000] 000: clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
      [    0.000000] 000: sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
      [    0.008791] 000: Switching to timer-based delay loop, resolution 41ns
      [    0.015361] 000: clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
      [    0.025550] 000: Console: colour dummy device 80x30
      [    0.030667] 000: Calibrating delay loop (skipped), value calculated using timer frequency..
      [    0.039515] 000: 48.00 BogoMIPS (lpj=240000)
      [    0.043786] 000: pid_max: default: 32768 minimum: 301
      [    0.049216] 000: Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
      [    0.056991] 000: Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
      [    0.066063] 000: CPU: Testing write buffer coherency:
      [    0.071276] 000: ok
      [    0.073677] 000: /cpus/cpu@0 missing clock-frequency property
      [    0.079446] 000: /cpus/cpu@1 missing clock-frequency property
      [    0.085482] 000: CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
      [    0.092159] 000: Setting up static identity map for 0x40100000 - 0x40100054
      [    0.099261] 000: rcu: Hierarchical SRCU implementation.
      [    0.105334] 000: BOOTEVENT:       105.333582: ON
      [    0.110281] 000: smp: Bringing up secondary CPUs ...
      [    0.116565] 001: CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
      [    0.122955] 000: smp: Brought up 1 node, 2 CPUs
      [    0.127654] 000: SMP: Total of 2 processors activated (96.00 BogoMIPS).
      [    0.134618] 000: CPU: All CPU(s) started in SVC mode.
      [    0.140439] 001: devtmpfs: initialized
      [    0.159074] 000: VFP support v0.3:
      [    0.162587] 000: implementor 41 architecture 2 part 30 variant 7 rev 5
      [    0.169610] 000: clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
      [    0.180147] 000: futex hash table entries: 512 (order: 3, 32768 bytes, linear)
      [    0.187743] 000: pinctrl core: initialized pinctrl subsystem
      [    0.194809] 000: NET: Registered protocol family 16
      [    0.202792] 000: DMA: preallocated 256 KiB pool for atomic coherent allocations
      [    0.246481] 000: rtc_ccu: sunxi ccu init OK
      [    0.252910] 000: ccu: sunxi ccu init OK
      [    0.257163] 000: r_ccu: sunxi ccu init OK
      [    0.324876] 000: Deinterlace Module initialized.
      [    0.329884] 000: iommu: Default domain type: Translated
      [    0.335699] 000: sunxi iommu: irq = 24
      [    0.340784] 000: SCSI subsystem initialized
      [    0.345915] 000: usbcore: registered new interface driver usbfs
      [    0.351991] 000: usbcore: registered new interface driver hub
      [    0.358156] 000: usbcore: registered new device driver usb
      [    0.363946] 000: mc: Linux media interface: v0.10
      [    0.368848] 000: videodev: Linux video capture interface: v2.00
      [    0.376326] 000: Advanced Linux Sound Architecture Driver Initialized.
      [    0.383819] 000: Bluetooth: Core ver 2.22
      [    0.388113] 000: NET: Registered protocol family 31
      [    0.393048] 000: Bluetooth: HCI device and connection manager initialized
      [    0.399848] 000: Bluetooth: HCI socket layer initialized
      [    0.405487] 000: Bluetooth: L2CAP socket layer initialized
      [    0.411011] 000: Bluetooth: SCO socket layer initialized
      [    0.416978] 000: pwm module init!
      [    0.421929] 000: g2d 5410000.g2d: Adding to iommu group 0
      [    0.428148] 000: G2D: rcq version initialized.major:249
      [    0.434299] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_cameravdd supply, setting it to NULL!
      [    0.443923] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_iovdd supply, setting it to NULL!
      [    0.453481] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_avdd supply, setting it to NULL!
      [    0.463006] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_dvdd supply, setting it to NULL!
      [    0.472187] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_cameravdd supply, setting it to NULL!
      [    0.481940] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_iovdd supply, setting it to NULL!
      [    0.491080] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_avdd supply, setting it to NULL!
      [    0.500181] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_dvdd supply, setting it to NULL!
      [    0.510635] 000: clocksource: Switched to clocksource arch_sys_counter
      [    0.527538] 000: sun8iw20-pinctrl pio: initialized sunXi PIO driver
      [    0.548370] 000: thermal_sys: Registered thermal governor 'step_wise'
      [    0.554894] 000: thermal_sys: Registered thermal governor 'user_space'
      [    0.562024] 000: NET: Registered protocol family 2
      [    0.567700] 001: tcp_listen_portaddr_hash hash table entries: 128 (order: 0, 4096 bytes, linear)
      [    0.576995] 001: TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
      [    0.586526] 001: TCP bind hash table entries: 1024 (order: 2, 28672 bytes, linear)
      [    0.594597] 001: TCP: Hash tables configured (established 1024 bind 1024)
      [    0.602035] 001: UDP hash table entries: 256 (order: 2, 16384 bytes, linear)
      [    0.609114] 001: UDP-Lite hash table entries: 256 (order: 2, 16384 bytes, linear)
      [    0.617314] 001: NET: Registered protocol family 1
      [    0.622988] 001: RPC: Registered named UNIX socket transport module.
      [    0.629632] 001: RPC: Registered udp transport module.
      [    0.635126] 001: RPC: Registered tcp transport module.
      [    0.640507] 001: RPC: Registered tcp NFSv4.1 backchannel transport module.
      [    0.648784] 001: sun8iw20-pinctrl pio: pio supply vcc-pc not found, using dummy regulator
      [    0.658144] 000: spi spi0: spi0 supply spi not found, using dummy regulator
      [    0.665407] 000: sunxi_spi_resource_get()2198 - [spi0] SPI MASTER MODE
      [    0.672267] 000: sunxi_spi_resource_get()2236 - Failed to get sample mode
      [    0.679374] 000: sunxi_spi_resource_get()2241 - Failed to get sample delay
      [    0.686628] 000: sunxi_spi_resource_get()2245 - sample_mode:-1431633921 sample_delay:-1431633921
      [    0.695906] 000: sunxi_spi_clk_init()2287 - [spi0] mclk 100000000
      [    0.702855] 000: sunxi_spi_probe()2700 - [spi0]: driver probe succeed, base c881f000, irq 39
      [    0.713593] 000: Initialise system trusted keyrings
      [    0.718691] 000: workingset: timestamp_bits=14 max_order=15 bucket_order=1
      [    0.741898] 000: NFS: Registering the id_resolver key type
      [    0.747412] 000: Key type id_resolver registered
      [    0.752105] 000: Key type id_legacy registered
      [    0.756573] 000: nfs4filelayout_init: NFSv4 File Layout Driver Registering...
      [    0.763843] 000: nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
      [    0.771889] 000: Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
      [    0.779162] 000: fuse: init (API version 7.31)
      [    0.811212] 001: NET: Registered protocol family 38
      [    0.816296] 001: Key type asymmetric registered
      [    0.821228] 001: Asymmetric key parser 'x509' registered
      [    0.826628] 001: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
      [    0.834699] 001: io scheduler mq-deadline registered
      [    0.839891] 001: io scheduler kyber registered
      [    0.844461] 001: atomic64_test: passed
      [    0.850082] 001: [DISP]disp_module_init
      [    0.854690] 001: disp 5000000.disp: Adding to iommu group 0
      [    0.860874] 001: [DISP] parser_disp_init_para,line:1430:
      [    0.866430] 001: of_property_read fb0_width fail
      [    0.871319] 001: [DISP] disp_init,line:2387:
      [    0.875598] 001: smooth display screen:0 type:1 mode:4
      [    0.894390] 001: display_fb_request,fb_id:0
      [    0.901379] 001: disp_al_manager_apply ouput_type:1
      [    0.906483] 001: sunxi_pwm_enable_dual: can't parse pwm device
      [    0.911274] 000: [DISP]disp_module_init finish
      [    0.918152] 000: sunxi_sid_init()563 - insmod ok
      [    0.923357] 000: pwm-regulator: supplied by regulator-dummy
      [    0.930523] 000: sun8iw20-pinctrl pio: pio supply vcc-pe not found, using dummy regulator
      [    0.939139] 000: uart uart0: get regulator failed
      [    0.944095] 000: uart uart0: uart0 supply uart not found, using dummy regulator
      [    0.952094] 000: uart0: ttyS0 at MMIO 0x2500000 (irq = 34, base_baud = 1500000) is a SUNXI
      [    0.960851] 000: sw_console_setup()1784 - console setup baud 115200 parity n bits 8, flow n
      [    0.969253] 000: printk: console [ttyS0] enabled
      [    0.973945] 000: printk: bootconsole [earlycon0] disabled
      [    0.000000] 000: Booting Linux on physical CPU 0x0
      [    0.000000] 000: Linux version 5.4.61-rt37 (ubuntu@win) (arm-linux-gnueabi-gcc (Linaro GCC 5.3-2016.05) 5.3.1 20160412, GNU ld (Linaro_Binutils-2016.05) 2.25.0 Linaro 2016_02) #2 SMP PREEMPT_RT Wed Nov 1 00:29:07 CST 2023
      [    0.000000] 000: CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=50c5387d
      [    0.000000] 000: CPU: div instructions available: patching division code
      [    0.000000] 000: CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
      [    0.000000] 000: OF: fdt: Machine model: sun8iw20
      [    0.000000] 000: printk: bootconsole [earlycon0] enabled
      [    0.000000] 000: Memory policy: Data cache writealloc
      [    0.000000] 000: cma: Reserved 4 MiB at 0x47c00000
      [    0.000000] 000: On node 0 totalpages: 32768
      [    0.000000] 000:   Normal zone: 288 pages used for memmap
      [    0.000000] 000:   Normal zone: 0 pages reserved
      [    0.000000] 000:   Normal zone: 32768 pages, LIFO batch:7
      [    0.000000] 000: psci: probing for conduit method from DT.
      [    0.000000] 000: psci: PSCIv1.0 detected in firmware.
      [    0.000000] 000: psci: Using standard PSCI v0.2 function IDs
      [    0.000000] 000: psci: MIGRATE_INFO_TYPE not supported.
      [    0.000000] 000: psci: SMC Calling Convention v1.0
      [    0.000000] 000: percpu: Embedded 11 pages/cpu s15488 r8192 d21376 u45056
      [    0.000000] 000: pcpu-alloc: s15488 r8192 d21376 u45056 alloc=11*4096
      [    0.000000] 000: pcpu-alloc: [0] 0 [0] 1
      [    0.000000] 000: Built 1 zonelists, mobility grouping on.  Total pages: 32480
      [    0.000000] 000: Kernel command line: earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=0 console=ttyS0,115200 rootdelay=2 loglevel=8 root=/dev/mmcblk0p5 init=/sbin/init partitions=boot-resource@mmcblk0p1:env@mmcblk0p2:env-redund@mmcblk0p3:boot@mmcblk0p4:rootfs@mmcblk0p5:dsp0@mmcblk0p6:private@mmcblk0p7:UDISK@mmcblk0p8 cma=4M snum= mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.mode=normal androidboot.hardware=sun8iw20p1 boot_type=1 androidboot.boot_type=1 gpt=1 uboot_message=2018.05(11/01/2023-00:30:09) mbr_offset=1032192 disp_reserve=1536000,0x43f12000 androidboot.dramsize=128
      [    0.000000] 000: Dentry cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
      [    0.000000] 000: Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
      [    0.000000] 000: mem auto-init: stack:off, heap alloc:off, heap free:off
      [    0.000000] 000: Memory: 104412K/131072K available (6144K kernel code, 478K rwdata, 2832K rodata, 1024K init, 358K bss, 22564K reserved, 4096K cma-reserved, 0K highmem)
      [    0.000000] 000: SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
      [    0.000000] 000: rcu: Preemptible hierarchical RCU implementation.
      [    0.000000] 000: rcu:        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
      [    0.000000] 000: rcu:        RCU priority boosting: priority 1 delay 500 ms.
      [    0.000000] 000: rcu:        RCU_SOFTIRQ processing moved to rcuc kthreads.
      [    0.000000] 000:     No expedited grace period (rcu_normal_after_boot).
      [    0.000000] 000:     Tasks RCU enabled.
      [    0.000000] 000: rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
      [    0.000000] 000: rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
      [    0.000000] 000: NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
      [    0.000000] 000: random: get_random_bytes called from start_kernel+0x1c7/0x318 with crng_init=0
      [    0.000000] 000: arch_timer: cp15 timer(s) running at 24.00MHz (phys).
      [    0.000000] 000: clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
      [    0.000000] 000: sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
      [    0.008791] 000: Switching to timer-based delay loop, resolution 41ns
      [    0.015361] 000: clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
      [    0.025550] 000: Console: colour dummy device 80x30
      [    0.039503] 000: Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
      [    0.043786] 000: pid_max: default: 32768 minimum: 301
      [    0.049216] 000: Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
      [    0.056991] 000: Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
      [    0.071221] 000: CPU: Testing write buffer coherency: ok
      [    0.073677] 000: /cpus/cpu@0 missing clock-frequency property
      [    0.079446] 000: /cpus/cpu@1 missing clock-frequency property
      [    0.085482] 000: CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
      [    0.092159] 000: Setting up static identity map for 0x40100000 - 0x40100054
      [    0.099261] 000: rcu: Hierarchical SRCU implementation.
      [    0.105334] 000: BOOTEVENT:       105.333582: ON
      [    0.110281] 000: smp: Bringing up secondary CPUs ...
      [    0.116565] 001: CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
      [    0.122955] 000: smp: Brought up 1 node, 2 CPUs
      [    0.127654] 000: SMP: Total of 2 processors activated (96.00 BogoMIPS).
      [    0.134618] 000: CPU: All CPU(s) started in SVC mode.
      [    0.140439] 001: devtmpfs: initialized
      [    0.162579] 000: VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
      [    0.169610] 000: clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
      [    0.180147] 000: futex hash table entries: 512 (order: 3, 32768 bytes, linear)
      [    0.187743] 000: pinctrl core: initialized pinctrl subsystem
      [    0.194809] 000: NET: Registered protocol family 16
      [    0.202792] 000: DMA: preallocated 256 KiB pool for atomic coherent allocations
      [    0.246481] 000: rtc_ccu: sunxi ccu init OK
      [    0.252910] 000: ccu: sunxi ccu init OK
      [    0.257163] 000: r_ccu: sunxi ccu init OK
      [    0.324876] 000: Deinterlace Module initialized.
      [    0.329884] 000: iommu: Default domain type: Translated
      [    0.335699] 000: sunxi iommu: irq = 24
      [    0.340784] 000: SCSI subsystem initialized
      [    0.345915] 000: usbcore: registered new interface driver usbfs
      [    0.351991] 000: usbcore: registered new interface driver hub
      [    0.358156] 000: usbcore: registered new device driver usb
      [    0.363946] 000: mc: Linux media interface: v0.10
      [    0.368848] 000: videodev: Linux video capture interface: v2.00
      [    0.376326] 000: Advanced Linux Sound Architecture Driver Initialized.
      [    0.383819] 000: Bluetooth: Core ver 2.22
      [    0.388113] 000: NET: Registered protocol family 31
      [    0.393048] 000: Bluetooth: HCI device and connection manager initialized
      [    0.399848] 000: Bluetooth: HCI socket layer initialized
      [    0.405487] 000: Bluetooth: L2CAP socket layer initialized
      [    0.411011] 000: Bluetooth: SCO socket layer initialized
      [    0.416978] 000: pwm module init!
      [    0.421929] 000: g2d 5410000.g2d: Adding to iommu group 0
      [    0.428148] 000: G2D: rcq version initialized.major:249
      [    0.434299] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_cameravdd supply, setting it to NULL!
      [    0.443923] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_iovdd supply, setting it to NULL!
      [    0.453481] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_avdd supply, setting it to NULL!
      [    0.463006] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_dvdd supply, setting it to NULL!
      [    0.472187] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_cameravdd supply, setting it to NULL!
      [    0.481940] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_iovdd supply, setting it to NULL!
      [    0.491080] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_avdd supply, setting it to NULL!
      [    0.500181] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_dvdd supply, setting it to NULL!
      [    0.510635] 000: clocksource: Switched to clocksource arch_sys_counter
      [    0.527538] 000: sun8iw20-pinctrl pio: initialized sunXi PIO driver
      [    0.554813] 000: thermal_sys: Registered thermal governor 'step_wise'
      [    0.561420] 000: thermal_sys: Registered thermal governor 'user_space'
      [    0.562024] 000: NET: Registered protocol family 2
      [    0.567700] 001: tcp_listen_portaddr_hash hash table entries: 128 (order: 0, 4096 bytes, linear)
      [    0.576995] 001: TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
      [    0.586526] 001: TCP bind hash table entries: 1024 (order: 2, 28672 bytes, linear)
      [    0.594597] 001: TCP: Hash tables configured (established 1024 bind 1024)
      [    0.602035] 001: UDP hash table entries: 256 (order: 2, 16384 bytes, linear)
      [    0.609114] 001: UDP-Lite hash table entries: 256 (order: 2, 16384 bytes, linear)
      [    0.617314] 001: NET: Registered protocol family 1
      [    0.622988] 001: RPC: Registered named UNIX socket transport module.
      [    0.629632] 001: RPC: Registered udp transport module.
      [    0.635126] 001: RPC: Registered tcp transport module.
      [    0.640507] 001: RPC: Registered tcp NFSv4.1 backchannel transport module.
      [    0.648784] 001: sun8iw20-pinctrl pio: pio supply vcc-pc not found, using dummy regulator
      [    0.658144] 000: spi spi0: spi0 supply spi not found, using dummy regulator
      [    0.665407] 000: sunxi_spi_resource_get()2198 - [spi0] SPI MASTER MODE
      [    0.672267] 000: sunxi_spi_resource_get()2236 - Failed to get sample mode
      [    0.679374] 000: sunxi_spi_resource_get()2241 - Failed to get sample delay
      [    0.686628] 000: sunxi_spi_resource_get()2245 - sample_mode:-1431633921 sample_delay:-1431633921
      [    0.695906] 000: sunxi_spi_clk_init()2287 - [spi0] mclk 100000000
      [    0.702855] 000: sunxi_spi_probe()2700 - [spi0]: driver probe succeed, base c881f000, irq 39
      [    0.713593] 000: Initialise system trusted keyrings
      [    0.718691] 000: workingset: timestamp_bits=14 max_order=15 bucket_order=1
      [    0.741898] 000: NFS: Registering the id_resolver key type
      [    0.747412] 000: Key type id_resolver registered
      [    0.752105] 000: Key type id_legacy registered
      [    0.756573] 000: nfs4filelayout_init: NFSv4 File Layout Driver Registering...
      [    0.763843] 000: nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
      [    0.771889] 000: Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
      [    0.779162] 000: fuse: init (API version 7.31)
      [    0.811212] 001: NET: Registered protocol family 38
      [    0.816296] 001: Key type asymmetric registered
      [    0.821228] 001: Asymmetric key parser 'x509' registered
      [    0.826628] 001: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
      [    0.834699] 001: io scheduler mq-deadline registered
      [    0.839891] 001: io scheduler kyber registered
      [    0.844461] 001: atomic64_test: passed
      [    0.850082] 001: [DISP]disp_module_init
      [    0.854690] 001: disp 5000000.disp: Adding to iommu group 0
      [    0.866429] 001: [DISP] parser_disp_init_para,line:1430:
      [    0.866430] 001: of_property_read fb0_width fail
      [    0.875597] 001: [DISP] disp_init,line:2387:
      [    0.875598] 001: smooth display screen:0 type:1 mode:4
      [    0.894390] 001: display_fb_request,fb_id:0
      [    0.901379] 001: disp_al_manager_apply ouput_type:1
      [    0.906483] 001: sunxi_pwm_enable_dual: can't parse pwm device
      [    0.911274] 000: [DISP]disp_module_init finish
      [    0.918152] 000: sunxi_sid_init()563 - insmod ok
      [    0.923357] 000: pwm-regulator: supplied by regulator-dummy
      [    0.930523] 000: sun8iw20-pinctrl pio: pio supply vcc-pe not found, using dummy regulator
      [    0.939139] 000: uart uart0: get regulator failed
      [    0.944095] 000: uart uart0: uart0 supply uart not found, using dummy regulator
      [    0.952094] 000: uart0: ttyS0 at MMIO 0x2500000 (irq = 34, base_baud = 1500000) is a SUNXI
      [    0.960851] 000: sw_console_setup()1784 - console setup baud 115200 parity n bits 8, flow n
      [    0.969253] 000: printk: console [ttyS0] enabled
      [    0.973945] 000: printk: bootconsole [earlycon0] disabled
      [    0.980588] 000: misc dump reg init
      [
      
      

      env.cfg

      
      #kernel command arguments
      burn_key=0
      earlyprintk=sunxi-uart,0x02500000
      initcall_debug=0
      console=ttyS0,115200
      nand_root=/dev/ubiblock0_5
      mmc_root=/dev/mmcblk0p5
      mtd_name=sys
      rootfstype=ext4
      root_partition=rootfs
      boot_partition=boot
      init=/sbin/init
      loglevel=8
      cma=4M
      mac=
      wifi_mac=
      bt_mac=
      specialstr=
      #keybox_list=widevine,ec_key,ec_cert1,ec_cert2,ec_cert3,rsa_key,rsa_cert1,rsa_cert2,rsa_cert3
      dsp0_partition=dsp0
      rootdelay=2
      #set kernel cmdline if boot.img or recovery.img has no cmdline we will use this
      setargs_nand=setenv     bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1
      setargs_nand_ubi=setenv bootargs ubi.mtd=${mtd_name} ubi.block=0,${root_partition} earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1
      setargs_mmc=setenv      bootargs                                                   earlyprintk=${earlyprintk} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} rootdelay=${rootdelay} loglevel=${loglevel} root=${mmc_root}  init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1
      #nand command syntax: sunxi_flash read address partition_name read_bytes
      #0x4007f800 = 0x40080000(kernel entry) - 0x800(boot.img header 2k)
      #boot_dsp0=sunxi_flash read 43000000 ${dsp0_partition};bootr 43000000 0 0
      #boot_normal=sunxi_flash read 43000000 ${boot_partition};bootm 43000000
      boot_dsp0=sunxi_flash     read 40000000 ${dsp0_partition};bootr 40000000 0 0
      boot_normal=sunxi_flash   read 42000000 ${boot_partition};bootm 42000000
      boot_recovery=sunxi_flash read 43000000 recovery;bootm 43000000
      boot_fastboot=fastboot
      
      #uboot system env config
      bootdelay=1
      #default bootcmd, will change at runtime according to key press
      #default nand boot
      #bootcmd=run setargs_nand boot_dsp0 boot_normal
      bootcmd=run setargs_mmc boot_normal
      
      

      看起来内核启动了,但到了 misc dump reg init 就卡住了,重启无数次都这样,不知是否是 rootfs 加载失败。
      请教各位大神提供一下思路,非常感谢。

      发布在 Linux
      X
      默
    • 回复: 请教如何排查 linux kernel 启动卡主的问题

      @awwwwa 感谢大佬。是RT内核。我打开了 initcall_debug,看起来应该不是uart的问题。

      [30]HELLO! BOOT0 is starting!
      [33]BOOT0 commit : adaf1174cc
      [36]set pll start
      [42]periph0 has been enabled
      [45]set pll end
      [46][pmu]: bus read error
      [49]board init ok
      [51]ZQ value = 0x2f
      [53]get_pmu_exist() = -1
      [55]ddr_efuse_type: 0xa
      [58]trefi:7.8ms
      [60][AUTO DEBUG] single rank and full DQ!
      [64]ddr_efuse_type: 0xa
      [67]trefi:7.8ms
      [69][AUTO DEBUG] rank 0 row = 13
      [72][AUTO DEBUG] rank 0 bank = 8
      [75][AUTO DEBUG] rank 0 page size = 2 KB
      [79]DRAM BOOT DRIVE INFO: V0.33
      [83]DRAM CLK = 936 MHz
      [85]DRAM Type = 3 (2:DDR2,3:DDR3)
      [88]DRAMC read ODT  off.
      [91]DRAM ODT value: 0x42.
      [93]ddr_efuse_type: 0xa
      [96]DRAM SIZE =128 M
      [98]dram_tpr4:0x0
      [100]PLL_DDR_CTRL_REG:0xf8004d00
      [103]DRAM_CLK_REG:0xc0000000
      [106][TIMING DEBUG] MR2= 0x20
      [114]DRAM simple test OK.
      [116]rtc standby flag is 0x0, super standby flag is 0x0
      [121]dram size =128
      [124]card no is 0
      [126]sdcard 0 line count 4
      [128][mmc]: mmc driver ver 2021-05-21 14:47
      [138][mmc]: Wrong media type 0x0
      [141][mmc]: ***Try SD card 0***
      [159][mmc]: HSSDR52/SDR25 4 bit
      [162][mmc]: 50000000 Hz
      [164][mmc]: 30436 MB
      [166][mmc]: ***SD/MMC 0 init OK!!!***
      [259]Loading boot-pkg Succeed(index=0).
      [263]Entry_name        = u-boot
      [270]Entry_name        = optee
      [274]Entry_name        = dtb
      [276]mmc not para
      [278]Jump to second Boot.
      M/TC: OP-TEE version: e9372c9c-dirty (gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05)) #2 Sat Mar 19 11:09:45 UTC 2022 arm
      
      
      U-Boot 2018.05 (Nov 02 2023 - 00:18:09 +0800) Allwinner Technology
      
      [00.331]CPU:   Allwinner Family
      [00.334]Model: sun8iw20
      [00.336]DRAM:  128 MiB
      [00.340]Relocation Offset is: 04ec8000
      [00.365]secure enable bit: 0
      E/TC:0   tee_read_fdt:433 fine node /firmware/optee failed with FDT_ERR_NOTFOUND
      [00.377]smc_tee_inform_fdt failed with: -65536[00.381]CPU=480 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz  MBus=300Mhz
      [00.388]gic: sec monitor mode
      [00.391]flash init start
      [00.393]workmode = 0,storage type = 1
      [00.396][mmc]: mmc driver ver uboot2018:2021-12-20 13:35:00
      [00.402][mmc]: get sdc_type fail and use default host:tm1.
      [00.409][mmc]: can't find node "mmc0",will add new node
      [00.414][mmc]: fdt err returned <no error>
      [00.417][mmc]: Using default timing para
      [00.421][mmc]: SUNXI SDMMC Controller Version:0x50310
      [00.447][mmc]: card_caps:0x3000000a
      [00.450][mmc]: host_caps:0x3000003f
      [00.459]sunxi flash init ok
      [00.461]line:703 init_clocks
      [00.464]drv_disp_init
      request pwm success, pwm7:pwm7:0x2000c00.
      fdt get node offset faill: hdmi
      [00.489]drv_disp_init finish
      [00.504]Loading Environment from SUNXI_FLASH... OK
      [00.526]boot_gui_init:start
      [00.529]set disp.dev2_output_type fail. using defval=0
      [00.537]boot_gui_init:finish
      partno erro : can't find partition bootloader
      54 bytes read in 1 ms (52.7 KiB/s)
      [00.552]bmp_name=bootlogo.bmp size 38454
      38454 bytes read in 4 ms (9.2 MiB/s)
      [00.597]Item0 (Map) magic is bad
      [00.600]the secure storage item0 copy0 magic is bad
      [00.632]Item0 (Map) magic is bad
      [00.635]the secure storage item0 copy1 magic is bad
      [00.639]Item0 (Map) magic is bad
      [00.642]out of usb burn from boot: not need burn key
      List file under ULI/factory
      ** Unrecognized filesystem type **
      root_partition is rootfs
      set root to /dev/mmcblk0p5
      [00.662]update part info
      [00.665]update bootcmd
      [00.668]change working_fdt 0x43e77e70 to 0x43e47e70
      disable nand error: FDT_ERR_BADPATH
      [00.709]update dts
      FDT ERROR:get muxsel err returned FDT_ERR_INTERNAL
      sunxi_pwm_pin_set_state, fdt_set_all_pin, ret=-1
      [00.728]LCD open finish
      Hit any key to stop autoboot:  0
      [02.166]no vendor_boot partition is found
      Android's image name: sun8i_arm
      [02.180]Starting kernel ...
      
      [02.183][mmc]: MMC Device 2 not found
      [02.186][mmc]: mmc 2 not find, so not exit
      [    0.000000] 000: printk: bootconsole [earlycon0] enabled
      [    0.000000] 000: Memory policy: Data cache writealloc
      [    0.000000] 000: cma: Reserved 4 MiB at 0x47c00000
      [    0.000000] 000: On node 0 totalpages: 32768
      [    0.000000] 000:   Normal zone: 288 pages used for memmap
      [    0.000000] 000:   Normal zone: 0 pages reserved
      [    0.000000] 000:   Normal zone: 32768 pages, LIFO batch:7
      [    0.000000] 000: psci: probing for conduit method from DT.
      [    0.000000] 000: psci: PSCIv1.0 detected in firmware.
      [    0.000000] 000: psci: Using standard PSCI v0.2 function IDs
      [    0.000000] 000: psci: MIGRATE_INFO_TYPE not supported.
      [    0.000000] 000: psci: SMC Calling Convention v1.0
      [    0.000000] 000: percpu: Embedded 11 pages/cpu s15488 r8192 d21376 u45056
      [    0.000000] 000: pcpu-alloc: s15488 r8192 d21376 u45056 alloc=11*4096
      [    0.000000] 000:
      [    0.000000] 000: pcpu-alloc:
      [    0.000000] 000: [0]
      [    0.000000] 000: 0
      [    0.000000] 000: [0]
      [    0.000000] 000: 1
      [    0.000000] 000:
      [    0.000000] 000: Built 1 zonelists, mobility grouping on.  Total pages: 32480
      [    0.000000] 000: Kernel command line: earlyprintk=sunxi-uart,0x02500000 clk_ignore_unused initcall_debug=1 console=ttyS0,115200 rootdelay=2 loglevel=8 root=/dev/mmcblk0p5 init=/sbin/init partitions=boot-resource@mmcblk0p1:env@mmcblk0p2:env-redund@mmcblk0p3:boot@mmcblk0p4:rootfs@mmcblk0p5:dsp0@mmcblk0p6:private@mmcblk0p7:UDISK@mmcblk0p8 cma=4M snum= mac_addr= wifi_mac= bt_mac= specialstr= gpt=1 androidboot.mode=normal androidboot.hardware=sun8iw20p1 boot_type=1 androidboot.boot_type=1 gpt=1 uboot_message=2018.05(11/02/2023-00:18:09) mbr_offset=1032192 disp_reserve=1536000,0x43f12000 androidboot.dramsize=128
      [    0.000000] 000: Dentry cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
      [    0.000000] 000: Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
      [    0.000000] 000: mem auto-init: stack:off, heap alloc:off, heap free:off
      [    0.000000] 000: Memory: 104412K/131072K available (6144K kernel code, 478K rwdata, 2832K rodata, 1024K init, 358K bss, 22564K reserved, 4096K cma-reserved, 0K highmem)
      [    0.000000] 000: SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
      [    0.000000] 000: rcu: Preemptible hierarchical RCU implementation.
      [    0.000000] 000: rcu:        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
      [    0.000000] 000: rcu:        RCU priority boosting: priority 1 delay 500 ms.
      [    0.000000] 000: rcu:        RCU_SOFTIRQ processing moved to rcuc kthreads.
      [    0.000000] 000:     No expedited grace period (rcu_normal_after_boot).
      [    0.000000] 000:     Tasks RCU enabled.
      [    0.000000] 000: rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
      [    0.000000] 000: rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
      [    0.000000] 000: NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
      [    0.000000] 000: random: get_random_bytes called from start_kernel+0x1c7/0x318 with crng_init=0
      [    0.000000] 000: arch_timer: cp15 timer(s) running at 24.00MHz (phys).
      [    0.000000] 000: clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
      [    0.000001] 000: sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
      [    0.008461] 000: Switching to timer-based delay loop, resolution 41ns
      [    0.015201] 000: clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
      [    0.025995] 000: Console: colour dummy device 80x30
      [    0.030923] 000: Calibrating delay loop (skipped), value calculated using timer frequency..
      [    0.039375] 000: 48.00 BogoMIPS (lpj=240000)
      [    0.043646] 000: pid_max: default: 32768 minimum: 301
      [    0.049063] 000: Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
      [    0.056843] 000: Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
      [    0.066984] 000: CPU: Testing write buffer coherency:
      [    0.072196] 000: ok
      [    0.074872] 000: /cpus/cpu@0 missing clock-frequency property
      [    0.080706] 000: /cpus/cpu@1 missing clock-frequency property
      [    0.086464] 000: CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
      [    0.093852] 000: calling  cpu_suspend_alloc_sp+0x1/0x68 @ 1
      [    0.099448] 000: initcall cpu_suspend_alloc_sp+0x1/0x68 returned 0 after 0 usecs
      [    0.106940] 000: calling  init_static_idmap+0x1/0xc4 @ 1
      [    0.112299] 000: Setting up static identity map for 0x40100000 - 0x40100054
      [    0.119293] 000: initcall init_static_idmap+0x1/0xc4 returned 0 after 9765 usecs
      [    0.126711] 000: calling  spawn_ksoftirqd+0x1/0x4c @ 1
      [    0.132112] 000: initcall spawn_ksoftirqd+0x1/0x4c returned 0 after 0 usecs
      [    0.139092] 000: calling  migration_init+0x1/0x30 @ 1
      [    0.144220] 000: initcall migration_init+0x1/0x30 returned 0 after 0 usecs
      [    0.151119] 000: calling  srcu_bootup_announce+0x1/0x2c @ 1
      [    0.156765] 000: rcu: Hierarchical SRCU implementation.
      [    0.161987] 000: initcall srcu_bootup_announce+0x1/0x2c returned 0 after 0 usecs
      [    0.169472] 000: calling  rcu_sysrq_init+0x1/0x18 @ 1
      [    0.174530] 000: initcall rcu_sysrq_init+0x1/0x18 returned 0 after 0 usecs
      [    0.181464] 000: calling  check_cpu_stall_init+0x1/0x18 @ 1
      [    0.187055] 000: initcall check_cpu_stall_init+0x1/0x18 returned 0 after 0 usecs
      [    0.194526] 000: calling  rcu_spawn_gp_kthread+0x1/0x100 @ 1
      [    0.200612] 000: initcall rcu_spawn_gp_kthread+0x1/0x100 returned 0 after 0 usecs
      [    0.208206] 000: calling  rcu_spawn_core_kthreads+0x1/0x74 @ 1
      [    0.214268] 000: initcall rcu_spawn_core_kthreads+0x1/0x74 returned 0 after 0 usecs
      [    0.222094] 000: calling  posix_cpu_thread_init+0x1/0x58 @ 1
      [    0.228004] 000: initcall posix_cpu_thread_init+0x1/0x58 returned 0 after 0 usecs
      [    0.235678] 000: calling  cpu_stop_init+0x1/0x6c @ 1
      [    0.240893] 000: initcall cpu_stop_init+0x1/0x6c returned 0 after 0 usecs
      [    0.247828] 000: calling  mbus_init+0x1/0xcc @ 1
      [    0.252661] 000: initcall mbus_init+0x1/0xcc returned 0 after 0 usecs
      [    0.259198] 000: calling  init_boot_event+0x1/0x48 @ 1
      [    0.264361] 000: BOOTEVENT:       264.360998: ON
      [    0.269003] 000: initcall init_boot_event+0x1/0x48 returned 0 after 0 usecs
      [    0.276062] 000: calling  dummy_timer_register+0x1/0x24 @ 1
      [    0.281652] 000: initcall dummy_timer_register+0x1/0x24 returned 0 after 0 usecs
      [    0.289127] 000: calling  initialize_ptr_random+0x1/0x38 @ 1
      [    0.294808] 000: initcall initialize_ptr_random+0x1/0x38 returned 0 after 0 usecs
      [    0.302712] 000: smp: Bringing up secondary CPUs ...
      [    0.310045] 001: CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
      [    0.316450] 000: smp: Brought up 1 node, 2 CPUs
      [    0.320986] 000: SMP: Total of 2 processors activated (96.00 BogoMIPS).
      [    0.327713] 000: CPU: All CPU(s) started in SVC mode.
      [    0.333810] 001: devtmpfs: initialized
      [    0.371093] 000: calling  ipc_ns_init+0x1/0x10 @ 1
      [    0.375949] 000: initcall ipc_ns_init+0x1/0x10 returned 0 after 0 usecs
      [    0.382685] 000: calling  init_mmap_min_addr+0x1/0x14 @ 1
      [    0.388095] 000: initcall init_mmap_min_addr+0x1/0x14 returned 0 after 0 usecs
      [    0.395401] 000: calling  net_ns_init+0x1/0xd4 @ 1
      [    0.400660] 001: initcall net_ns_init+0x1/0xd4 returned 0 after 0 usecs
      [    0.408719] 001: calling  vfp_init+0x1/0x14c @ 1
      [    0.413441] 001: VFP support v0.3:
      [    0.416938] 001: implementor 41 architecture 2 part 30 variant 7 rev 5
      [    0.423526] 001: initcall vfp_init+0x1/0x14c returned 0 after 9765 usecs
      [    0.430269] 001: calling  ptrace_break_init+0x1/0x24 @ 1
      [    0.435665] 001: initcall ptrace_break_init+0x1/0x24 returned 0 after 0 usecs
      [    0.442804] 001: calling  register_cpufreq_notifier+0x1/0xc @ 1
      [    0.448786] 001: initcall register_cpufreq_notifier+0x1/0xc returned 0 after 0 usecs
      [    0.456541] 001: calling  v6_userpage_init+0x1/0x4 @ 1
      [    0.461733] 001: initcall v6_userpage_init+0x1/0x4 returned 0 after 0 usecs
      [    0.468717] 001: calling  cpu_hotplug_pm_sync_init+0x1/0x10 @ 1
      [    0.474702] 001: initcall cpu_hotplug_pm_sync_init+0x1/0x10 returned 0 after 0 usecs
      [    0.482467] 001: calling  alloc_frozen_cpus+0x1/0x4 @ 1
      [    0.487755] 001: initcall alloc_frozen_cpus+0x1/0x4 returned 0 after 0 usecs
      [    0.494816] 001: calling  wq_sysfs_init+0x1/0x24 @ 1
      [    0.500230] 001: initcall wq_sysfs_init+0x1/0x24 returned 0 after 0 usecs
      [    0.507112] 001: calling  ksysfs_init+0x1/0x68 @ 1
      [    0.512087] 001: initcall ksysfs_init+0x1/0x68 returned 0 after 0 usecs
      [    0.518730] 001: calling  sugov_register+0x1/0xc @ 1
      [    0.523767] 001: initcall sugov_register+0x1/0xc returned 0 after 0 usecs
      [    0.530632] 001: calling  pm_init+0x1/0x50 @ 1
      [    0.535540] 001: initcall pm_init+0x1/0x50 returned 0 after 0 usecs
      [    0.541818] 001: calling  rcu_spawn_tasks_kthread+0x1/0x64 @ 1
      [    0.547942] 000: initcall rcu_spawn_tasks_kthread+0x1/0x64 returned 0 after 0 usecs
      [    0.555610] 000: calling  rcu_set_runtime_mode+0x1/0x10 @ 1
      [    0.561297] 000: initcall rcu_set_runtime_mode+0x1/0x10 returned 0 after 0 usecs
      [    0.568718] 000: calling  dma_init_reserved_memory+0x1/0x3c @ 1
      [    0.574773] 000: initcall dma_init_reserved_memory+0x1/0x3c returned -12 after 0 usecs
      [    0.582696] 000: calling  init_jiffies_clocksource+0x1/0x10 @ 1
      [    0.588723] 000: clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
      [    0.599089] 000: initcall init_jiffies_clocksource+0x1/0x10 returned 0 after 9765 usecs
      [    0.607151] 000: calling  futex_init+0x1/0xdc @ 1
      [    0.611968] 000: futex hash table entries: 512 (order: 3, 32768 bytes, linear)
      [    0.619254] 000: initcall futex_init+0x1/0xdc returned 0 after 0 usecs
      [    0.625942] 000: calling  cgroup_wq_init+0x1/0x20 @ 1
      [    0.631076] 000: initcall cgroup_wq_init+0x1/0x20 returned 0 after 0 usecs
      [    0.638046] 000: calling  cgroup1_wq_init+0x1/0x20 @ 1
      [    0.643261] 000: initcall cgroup1_wq_init+0x1/0x20 returned 0 after 0 usecs
      [    0.650325] 000: calling  cpu_pm_init+0x1/0x10 @ 1
      [    0.655126] 000: initcall cpu_pm_init+0x1/0x10 returned 0 after 0 usecs
      [    0.661798] 000: calling  init_zero_pfn+0x1/0x34 @ 1
      [    0.666795] 000: initcall init_zero_pfn+0x1/0x34 returned 0 after 0 usecs
      [    0.673657] 000: calling  cma_init_reserved_areas+0x1/0x158 @ 1
      [    0.679922] 000: initcall cma_init_reserved_areas+0x1/0x158 returned 0 after 0 usecs
      [    0.687738] 000: calling  fsnotify_init+0x1/0x3c @ 1
      [    0.692774] 000: initcall fsnotify_init+0x1/0x3c returned 0 after 0 usecs
      [    0.699644] 000: calling  filelock_init+0x1/0x9c @ 1
      [    0.704683] 000: initcall filelock_init+0x1/0x9c returned 0 after 0 usecs
      [    0.711559] 000: calling  init_script_binfmt+0x1/0x14 @ 1
      [    0.716972] 000: initcall init_script_binfmt+0x1/0x14 returned 0 after 0 usecs
      [    0.724263] 000: calling  init_elf_binfmt+0x1/0x14 @ 1
      [    0.729423] 000: initcall init_elf_binfmt+0x1/0x14 returned 0 after 0 usecs
      [    0.736453] 000: calling  configfs_init+0x1/0x6c @ 1
      [    0.741513] 000: initcall configfs_init+0x1/0x6c returned 0 after 0 usecs
      [    0.748375] 000: calling  debugfs_init+0x1/0x3c @ 1
      [    0.753302] 000: initcall debugfs_init+0x1/0x3c returned 0 after 0 usecs
      [    0.760076] 000: calling  prandom_init+0x1/0xb4 @ 1
      [    0.764974] 000: initcall prandom_init+0x1/0xb4 returned 0 after 0 usecs
      [    0.771750] 000: calling  pinctrl_init+0x1/0x8c @ 1
      [    0.776633] 000: pinctrl core: initialized pinctrl subsystem
      [    0.782595] 000: initcall pinctrl_init+0x1/0x8c returned 0 after 9765 usecs
      [    0.789603] 000: calling  gpiolib_dev_init+0x1/0x94 @ 1
      [    0.795054] 000: initcall gpiolib_dev_init+0x1/0x94 returned 0 after 0 usecs
      [    0.802185] 000: calling  sunxi_rtc_ccu_init+0x1/0x20 @ 1
      [    0.807798] 000: initcall sunxi_rtc_ccu_init+0x1/0x20 returned 0 after 0 usecs
      [    0.815046] 000: calling  sunxi_ccu_sun8iw20_init+0x1/0x20 @ 1
      [    0.821088] 000: initcall sunxi_ccu_sun8iw20_init+0x1/0x20 returned 0 after 0 usecs
      [    0.828752] 000: calling  sun8iw20_rtc_ccu_init+0x1/0x20 @ 1
      [    0.834618] 000: initcall sun8iw20_rtc_ccu_init+0x1/0x20 returned 0 after 0 usecs
      [    0.842118] 000: calling  sunxi_r_ccu_sun8iw20_init+0x1/0x20 @ 1
      [    0.848324] 000: initcall sunxi_r_ccu_sun8iw20_init+0x1/0x20 returned 0 after 0 usecs
      [    0.856190] 000: calling  virtio_init+0x1/0x1c @ 1
      [    0.861226] 000: initcall virtio_init+0x1/0x1c returned 0 after 0 usecs
      [    0.867870] 000: calling  regulator_init+0x1/0x78 @ 1
      [    0.874373] 000: probe of reg-dummy returned 1 after 0 usecs
      [    0.880147] 000: initcall regulator_init+0x1/0x78 returned 0 after 0 usecs
      [    0.887184] 000: calling  iommu_init+0x1/0x28 @ 1
      [    0.891981] 000: initcall iommu_init+0x1/0x28 returned 0 after 0 usecs
      [    0.898604] 000: calling  component_debug_init+0x1/0x1c @ 1
      [    0.904235] 000: initcall component_debug_init+0x1/0x1c returned 0 after 0 usecs
      [    0.911817] 000: calling  register_cpufreq_notifier+0x1/0x28 @ 1
      [    0.917850] 000: initcall register_cpufreq_notifier+0x1/0x28 returned -22 after 0 usecs
      [    0.925977] 000: calling  opp_debug_init+0x1/0x1c @ 1
      [    0.931129] 000: initcall opp_debug_init+0x1/0x1c returned 0 after 0 usecs
      [    0.938096] 000: calling  cpufreq_core_init+0x1/0x34 @ 1
      [    0.943455] 000: initcall cpufreq_core_init+0x1/0x34 returned 0 after 0 usecs
      [    0.950694] 000: calling  cpufreq_gov_performance_init+0x1/0xc @ 1
      [    0.956884] 000: initcall cpufreq_gov_performance_init+0x1/0xc returned 0 after 0 usecs
      [    0.964973] 000: calling  sock_init+0x1/0x78 @ 1
      [    0.970059] 000: initcall sock_init+0x1/0x78 returned 0 after 0 usecs
      [    0.976718] 000: calling  net_inuse_init+0x1/0x1c @ 1
      [    0.981869] 000: initcall net_inuse_init+0x1/0x1c returned 0 after 0 usecs
      [    0.988851] 000: calling  net_defaults_init+0x1/0x1c @ 1
      [    0.994194] 000: initcall net_defaults_init+0x1/0x1c returned 0 after 0 usecs
      [    1.001512] 000: calling  init_default_flow_dissectors+0x1/0x48 @ 1
      [    1.007811] 000: initcall init_default_flow_dissectors+0x1/0x48 returned 0 after 0 usecs
      [    1.015996] 000: calling  netlink_proto_init+0x1/0xe4 @ 1
      [    1.021657] 000: NET: Registered protocol family 16
      [    1.026715] 000: initcall netlink_proto_init+0x1/0xe4 returned 0 after 9765 usecs
      [    1.035674] 000: calling  atomic_pool_init+0x1/0x124 @ 1
      [    1.046652] 000: DMA: preallocated 256 KiB pool for atomic coherent allocations
      [    1.054046] 000: initcall atomic_pool_init+0x1/0x124 returned 0 after 9765 usecs
      [    1.061473] 000: calling  irq_sysfs_init+0x1/0x5c @ 1
      [    1.068235] 000: initcall irq_sysfs_init+0x1/0x5c returned 0 after 0 usecs
      [    1.075130] 000: calling  bdi_class_init+0x1/0x34 @ 1
      [    1.080457] 000: initcall bdi_class_init+0x1/0x34 returned 0 after 0 usecs
      [    1.087345] 000: calling  mm_sysfs_init+0x1/0x28 @ 1
      [    1.092423] 000: initcall mm_sysfs_init+0x1/0x28 returned 0 after 0 usecs
      [    1.099270] 000: calling  init_per_zone_wmark_min+0x1/0x50 @ 1
      [    1.105236] 000: initcall init_per_zone_wmark_min+0x1/0x50 returned 0 after 0 usecs
      [    1.112918] 000: calling  gpiolib_sysfs_init+0x1/0x68 @ 1
      [    1.118620] 000: initcall gpiolib_sysfs_init+0x1/0x68 returned 0 after 0 usecs
      [    1.125863] 000: calling  tty_class_init+0x1/0x2c @ 1
      [    1.131082] 000: initcall tty_class_init+0x1/0x2c returned 0 after 0 usecs
      [    1.137983] 000: calling  vtconsole_class_init+0x1/0xa8 @ 1
      [    1.144239] 000: initcall vtconsole_class_init+0x1/0xa8 returned 0 after 0 usecs
      [    1.151667] 000: calling  iommu_dev_init+0x1/0x10 @ 1
      [    1.156906] 000: initcall iommu_dev_init+0x1/0x10 returned 0 after 0 usecs
      [    1.163855] 000: calling  devlink_class_init+0x1/0x2c @ 1
      [    1.169436] 000: initcall devlink_class_init+0x1/0x2c returned 0 after 0 usecs
      [    1.176675] 000: calling  software_node_init+0x1/0x2c @ 1
      [    1.182302] 000: initcall software_node_init+0x1/0x2c returned 0 after 0 usecs
      [    1.189552] 000: calling  wakeup_sources_debugfs_init+0x1/0x24 @ 1
      [    1.195876] 000: initcall wakeup_sources_debugfs_init+0x1/0x24 returned 0 after 0 usecs
      [    1.203947] 000: calling  wakeup_sources_sysfs_init+0x1/0x24 @ 1
      [    1.210131] 000: initcall wakeup_sources_sysfs_init+0x1/0x24 returned 0 after 0 usecs
      [    1.217970] 000: calling  regmap_initcall+0x1/0xc @ 1
      [    1.223252] 000: initcall regmap_initcall+0x1/0xc returned 0 after 0 usecs
      [    1.230154] 000: calling  spi_init+0x1/0x58 @ 1
      [    1.235033] 000: initcall spi_init+0x1/0x58 returned 0 after 0 usecs
      [    1.241461] 000: calling  i2c_init+0x1/0x80 @ 1
      [    1.246385] 000: initcall i2c_init+0x1/0x80 returned 0 after 0 usecs
      [    1.252771] 000: calling  rpmsg_init+0x1/0x28 @ 1
      [    1.257818] 000: initcall rpmsg_init+0x1/0x28 returned 0 after 0 usecs
      [    1.264359] 000: calling  rpmsg_char_init+0x1/0x84 @ 1
      [    1.269782] 000: initcall rpmsg_char_init+0x1/0x84 returned 0 after 0 usecs
      [    1.276771] 000: calling  kobject_uevent_init+0x1/0xc @ 1
      [    1.282330] 000: initcall kobject_uevent_init+0x1/0xc returned 0 after 0 usecs
      [    1.291033] 000: calling  gate_vma_init+0x1/0x48 @ 1
      [    1.296123] 000: initcall gate_vma_init+0x1/0x48 returned 0 after 0 usecs
      [    1.302940] 000: calling  customize_machine+0x1/0x14 @ 1
      [    1.308346] 000: initcall customize_machine+0x1/0x14 returned 0 after 0 usecs
      [    1.315503] 000: calling  exceptions_init+0x1/0x58 @ 1
      [    1.320753] 000: initcall exceptions_init+0x1/0x58 returned 0 after 0 usecs
      [    1.327731] 000: calling  cryptomgr_init+0x1/0xc @ 1
      [    1.332803] 000: initcall cryptomgr_init+0x1/0xc returned 0 after 0 usecs
      [    1.339617] 000: calling  dma_bus_init+0x1/0x68 @ 1
      [    1.344729] 000: initcall dma_bus_init+0x1/0x68 returned 0 after 0 usecs
      [    1.351440] 000: calling  dma_channel_table_init+0x1/0xa0 @ 1
      [    1.357347] 000: initcall dma_channel_table_init+0x1/0xa0 returned 0 after 0 usecs
      [    1.364931] 000: calling  iommu_dma_init+0x1/0x4 @ 1
      [    1.370030] 000: initcall iommu_dma_init+0x1/0x4 returned 0 after 0 usecs
      [    1.376835] 000: calling  of_platform_default_populate_init+0x1/0x72 @ 1
      [    1.390413] 000: probe of 7090000.rtc_ccu returned -517 after 0 usecs
      [    1.397478] 000: probe of 2001000.ccu returned -517 after 0 usecs
      [    1.404013] 000: probe of 7010000.r_ccu returned -517 after 0 usecs
      [    1.483803] 001: rtc_ccu: sunxi ccu init OK
      [    1.488140] 001: probe of 7090000.rtc_ccu returned 1 after 0 usecs
      [    1.499463] 001: ccu: sunxi ccu init OK
      [    1.503624] 001: probe of 2001000.ccu returned 1 after 10000 usecs
      [    1.510878] 001: r_ccu: sunxi ccu init OK
      [    1.515041] 001: probe of 7010000.r_ccu returned 1 after 10000 usecs
      [    1.523612] 001: initcall of_platform_default_populate_init+0x1/0x72 returned 0 after 126953 usecs
      [    1.534356] 001: calling  topology_init+0x1/0x48 @ 1
      [    1.540021] 001: initcall topology_init+0x1/0x48 returned 0 after 0 usecs
      [    1.546941] 001: calling  uid_cache_init+0x1/0x5c @ 1
      [    1.552066] 001: initcall uid_cache_init+0x1/0x5c returned 0 after 0 usecs
      [    1.559101] 001: calling  param_sysfs_init+0x1/0x14c @ 1
      [    1.618903] 001: initcall param_sysfs_init+0x1/0x14c returned 0 after 48828 usecs
      [    1.626926] 001: calling  user_namespace_sysctl_init+0x1/0x2c @ 1
      [    1.633122] 001: initcall user_namespace_sysctl_init+0x1/0x2c returned 0 after 0 usecs
      [    1.641749] 000: calling  pm_sysrq_init+0x1/0x14 @ 1
      [    1.646876] 001: initcall pm_sysrq_init+0x1/0x14 returned 0 after 0 usecs
      [    1.654552] 001: calling  create_proc_profile+0x1/0x94 @ 1
      [    1.660067] 001: initcall create_proc_profile+0x1/0x94 returned 0 after 0 usecs
      [    1.667498] 001: calling  cgroup_sysfs_init+0x1/0x14 @ 1
      [    1.672881] 001: initcall cgroup_sysfs_init+0x1/0x14 returned 0 after 0 usecs
      [    1.680174] 001: calling  cgroup_namespaces_init+0x1/0x4 @ 1
      [    1.685845] 001: initcall cgroup_namespaces_init+0x1/0x4 returned 0 after 0 usecs
      [    1.693456] 001: calling  dev_map_init+0x1/0x10 @ 1
      [    1.698348] 001: initcall dev_map_init+0x1/0x10 returned 0 after 0 usecs
      [    1.705160] 001: calling  oom_init+0x1/0x28 @ 1
      [    1.709954] 001: initcall oom_init+0x1/0x28 returned 0 after 0 usecs
      [    1.716420] 001: calling  cgwb_init+0x1/0x24 @ 1
      [    1.721122] 001: initcall cgwb_init+0x1/0x24 returned 0 after 0 usecs
      [    1.727664] 001: calling  default_bdi_init+0x1/0x78 @ 1
      [    1.733534] 001: initcall default_bdi_init+0x1/0x78 returned 0 after 0 usecs
      [    1.740739] 001: calling  percpu_enable_async+0x1/0x10 @ 1
      [    1.746252] 001: initcall percpu_enable_async+0x1/0x10 returned 0 after 0 usecs
      [    1.753658] 001: calling  init_reserve_notifier+0x1/0x4 @ 1
      [    1.759284] 001: initcall init_reserve_notifier+0x1/0x4 returned 0 after 0 usecs
      [    1.766793] 001: calling  init_admin_reserve+0x1/0x28 @ 1
      [    1.772203] 001: initcall init_admin_reserve+0x1/0x28 returned 0 after 0 usecs
      [    1.779527] 001: calling  init_user_reserve+0x1/0x28 @ 1
      [    1.784847] 001: initcall init_user_reserve+0x1/0x28 returned 0 after 0 usecs
      [    1.792074] 001: calling  swap_init_sysfs+0x1/0x4c @ 1
      [    1.797264] 001: initcall swap_init_sysfs+0x1/0x4c returned 0 after 0 usecs
      [    1.804336] 001: calling  swapfile_init+0x1/0x34 @ 1
      [    1.809317] 001: initcall swapfile_init+0x1/0x34 returned 0 after 0 usecs
      [    1.816209] 001: calling  mem_cgroup_init+0x1/0xc4 @ 1
      [    1.821455] 001: initcall mem_cgroup_init+0x1/0xc4 returned 0 after 0 usecs
      [    1.828509] 001: calling  rsa_init+0x1/0x28 @ 1
      [    1.833321] 000: initcall rsa_init+0x1/0x28 returned 0 after 0 usecs
      [    1.839749] 000: calling  crypto_cmac_module_init+0x1/0xc @ 1
      [    1.845617] 000: initcall crypto_cmac_module_init+0x1/0xc returned 0 after 0 usecs
      [    1.853204] 000: calling  hmac_module_init+0x1/0xc @ 1
      [    1.858531] 000: initcall hmac_module_init+0x1/0xc returned 0 after 0 usecs
      [    1.865501] 000: calling  crypto_null_mod_init+0x1/0x44 @ 1
      [    1.872060] 000: initcall crypto_null_mod_init+0x1/0x44 returned 0 after 0 usecs
      [    1.879482] 000: calling  sha256_generic_mod_init+0x1/0xc @ 1
      [    1.885805] 000: initcall sha256_generic_mod_init+0x1/0xc returned 0 after 0 usecs
      [    1.893414] 000: calling  crypto_ecb_module_init+0x1/0xc @ 1
      [    1.899215] 000: initcall crypto_ecb_module_init+0x1/0xc returned 0 after 0 usecs
      [    1.906706] 000: calling  des_generic_mod_init+0x1/0xc @ 1
      [    1.912727] 000: initcall des_generic_mod_init+0x1/0xc returned 0 after 0 usecs
      [    1.920050] 000: calling  aes_init+0x1/0xc @ 1
      [    1.924849] 000: initcall aes_init+0x1/0xc returned 0 after 0 usecs
      [    1.931138] 000: calling  arc4_init+0x1/0xc @ 1
      [    1.936004] 000: initcall arc4_init+0x1/0xc returned 0 after 0 usecs
      [    1.942394] 000: calling  deflate_mod_init+0x1/0x28 @ 1
      [    1.948396] 000: initcall deflate_mod_init+0x1/0x28 returned 0 after 0 usecs
      [    1.955477] 000: calling  crc32c_mod_init+0x1/0xc @ 1
      [    1.960896] 000: initcall crc32c_mod_init+0x1/0xc returned 0 after 0 usecs
      [    1.967791] 000: calling  lzo_mod_init+0x1/0x28 @ 1
      [    1.973234] 000: initcall lzo_mod_init+0x1/0x28 returned 0 after 0 usecs
      [    1.979959] 000: calling  lzorle_mod_init+0x1/0x28 @ 1
      [    1.985661] 000: initcall lzorle_mod_init+0x1/0x28 returned 0 after 0 usecs
      [    1.992637] 000: calling  drbg_init+0x1/0x58 @ 1
      [    1.999283] 000: initcall drbg_init+0x1/0x58 returned 0 after 0 usecs
      [    2.005769] 000: calling  zstd_mod_init+0x1/0x28 @ 1
      [    2.011331] 000: initcall zstd_mod_init+0x1/0x28 returned 0 after 0 usecs
      [    2.018139] 000: calling  ecdh_init+0x1/0xa @ 1
      [    2.023033] 000: initcall ecdh_init+0x1/0xa returned 0 after 0 usecs
      [    2.029413] 000: calling  init_bio+0x1/0x74 @ 1
      [    2.034210] 000: initcall init_bio+0x1/0x74 returned 0 after 0 usecs
      [    2.040582] 000: calling  blk_settings_init+0x1/0x24 @ 1
      [    2.046024] 000: initcall blk_settings_init+0x1/0x24 returned 0 after 0 usecs
      [    2.053191] 000: calling  blk_ioc_init+0x1/0x28 @ 1
      [    2.058205] 000: initcall blk_ioc_init+0x1/0x28 returned 0 after 0 usecs
      [    2.064931] 000: calling  blk_softirq_init+0x1/0x64 @ 1
      [    2.070287] 000: initcall blk_softirq_init+0x1/0x64 returned 0 after 0 usecs
      [    2.077358] 000: calling  blk_mq_init+0x1/0x28 @ 1
      [    2.082257] 000: initcall blk_mq_init+0x1/0x28 returned 0 after 0 usecs
      [    2.088894] 000: calling  genhd_device_init+0x1/0x5c @ 1
      [    2.094850] 000: initcall genhd_device_init+0x1/0x5c returned 0 after 0 usecs
      [    2.102009] 000: calling  blkcg_init+0x1/0x28 @ 1
      [    2.107405] 001: initcall blkcg_init+0x1/0x28 returned 0 after 0 usecs
      [    2.114032] 001: calling  gpiolib_debugfs_init+0x1/0x24 @ 1
      [    2.119738] 001: initcall gpiolib_debugfs_init+0x1/0x24 returned 0 after 0 usecs
      [    2.127281] 001: calling  pwm_debugfs_init+0x1/0x24 @ 1
      [    2.132556] 001: initcall pwm_debugfs_init+0x1/0x24 returned 0 after 0 usecs
      [    2.139731] 001: calling  pwm_sysfs_init+0x1/0x10 @ 1
      [    2.144859] 001: initcall pwm_sysfs_init+0x1/0x10 returned 0 after 0 usecs
      [    2.151862] 001: calling  fbmem_init+0x1/0x98 @ 1
      [    2.156679] 001: initcall fbmem_init+0x1/0x98 returned 0 after 0 usecs
      [    2.163312] 001: calling  sun6i_dma_init+0x1/0xc @ 1
      [    2.212820] 000: probe of 3002000.dma-controller returned 1 after 40000 usecs
      [    2.221575] 000: initcall sun6i_dma_init+0x1/0xc returned 0 after 48828 usecs
      [    2.228750] 000: calling  regulator_fixed_voltage_init+0x1/0xc @ 1
      [    2.236156] 000: probe of pio-18 returned 1 after 0 usecs
      [    2.242437] 000: probe of pio-33 returned 1 after 0 usecs
      [    2.248622] 000: probe of usb1-vbus returned 0 after 0 usecs
      [    2.254397] 000: initcall regulator_fixed_voltage_init+0x1/0xc returned 0 after 9765 usecs
      [    2.262873] 000: calling  misc_init+0x1/0x88 @ 1
      [    2.267619] 000: initcall misc_init+0x1/0x88 returned 0 after 0 usecs
      [    2.274197] 000: calling  sunxi_di_init+0x1/0x1c @ 1
      [    2.279198] 000: Deinterlace Module initialized.
      [    2.284297] 000: probe of 5400000.deinterlace returned -517 after 0 usecs
      [    2.291324] 000: initcall sunxi_di_init+0x1/0x1c returned 0 after 9765 usecs
      [    2.298528] 000: calling  iommu_subsys_init+0x1/0x4c @ 1
      [    2.303849] 000: iommu: Default domain type: Translated
      [    2.309244] 000: initcall iommu_subsys_init+0x1/0x4c returned 0 after 9765 usecs
      [    2.316659] 000: calling  sunxi_iommu_init+0x1/0xc @ 1
      [    2.322256] 000: sunxi iommu: irq = 24
      [    2.327238] 000: probe of 2010000.iommu returned 1 after 0 usecs
      [    2.333863] 000: initcall sunxi_iommu_init+0x1/0xc returned 0 after 9765 usecs
      [    2.341126] 000: calling  register_cpu_capacity_sysctl+0x1/0x50 @ 1
      [    2.347564] 000: initcall register_cpu_capacity_sysctl+0x1/0x50 returned 0 after 0 usecs
      [    2.355699] 000: calling  dma_buf_init+0x1/0x84 @ 1
      [    2.360914] 000: initcall dma_buf_init+0x1/0x84 returned 0 after 0 usecs
      [    2.367627] 000: calling  init_scsi+0x1/0x60 @ 1
      [    2.373069] 000: SCSI subsystem initialized
      [    2.377257] 000: initcall init_scsi+0x1/0x60 returned 0 after 0 usecs
      [    2.383841] 000: calling  phy_init+0x1/0x148 @ 1
      [    2.388812] 000: initcall phy_init+0x1/0x148 returned 0 after 0 usecs
      [    2.395387] 000: calling  usb_common_init+0x1/0x1c @ 1
      [    2.400571] 000: initcall usb_common_init+0x1/0x1c returned 0 after 0 usecs
      [    2.407629] 000: calling  usb_init+0x1/0xd0 @ 1
      [    2.412584] 000: usbcore: registered new interface driver usbfs
      [    2.418830] 000: usbcore: registered new interface driver hub
      [    2.424795] 000: usbcore: registered new device driver usb
      [    2.430393] 000: initcall usb_init+0x1/0xd0 returned 0 after 19531 usecs
      [    2.437141] 000: calling  usb_udc_init+0x1/0x3c @ 1
      [    2.442186] 000: initcall usb_udc_init+0x1/0x3c returned 0 after 0 usecs
      [    2.448906] 000: calling  usb_roles_init+0x1/0x24 @ 1
      [    2.454115] 000: initcall usb_roles_init+0x1/0x24 returned 0 after 0 usecs
      [    2.461021] 000: calling  serio_init+0x1/0x20 @ 1
      [    2.466018] 000: initcall serio_init+0x1/0x20 returned 0 after 0 usecs
      [    2.472567] 000: calling  input_init+0x1/0xac @ 1
      [    2.477490] 000: initcall input_init+0x1/0xac returned 0 after 0 usecs
      [    2.484040] 000: calling  rtc_init+0x1/0x3c @ 1
      [    2.488757] 000: initcall rtc_init+0x1/0x3c returned 0 after 0 usecs
      [    2.495132] 000: calling  media_devnode_init+0x1/0x64 @ 1
      [    2.500644] 000: mc: Linux media interface: v0.10
      [    2.505496] 000: initcall media_devnode_init+0x1/0x64 returned 0 after 0 usecs
      [    2.512876] 000: calling  videodev_init+0x1/0x68 @ 1
      [    2.517849] 000: videodev: Linux video capture interface: v2.00
      [    2.523920] 000: initcall videodev_init+0x1/0x68 returned 0 after 9765 usecs
      [    2.531001] 000: calling  rc_core_init+0x1/0x40 @ 1
      [    2.536070] 000: initcall rc_core_init+0x1/0x40 returned 0 after 0 usecs
      [    2.542798] 000: calling  power_supply_class_init+0x1/0x30 @ 1
      [    2.548876] 000: initcall power_supply_class_init+0x1/0x30 returned 0 after 0 usecs
      [    2.556542] 000: calling  hwmon_init+0x1/0x24 @ 1
      [    2.561416] 000: initcall hwmon_init+0x1/0x24 returned 0 after 0 usecs
      [    2.567956] 000: calling  mmc_init+0x1/0x24 @ 1
      [    2.572867] 000: initcall mmc_init+0x1/0x24 returned 0 after 0 usecs
      [    2.579233] 000: calling  leds_init+0x1/0x34 @ 1
      [    2.584058] 000: initcall leds_init+0x1/0x34 returned 0 after 0 usecs
      [    2.590511] 000: calling  ion_device_create+0x1/0xc8 @ 1
      [    2.596461] 000: initcall ion_device_create+0x1/0xc8 returned 0 after 0 usecs
      [    2.603629] 000: calling  ion_system_heap_init+0x1/0x58 @ 1
      [    2.609684] 000: initcall ion_system_heap_init+0x1/0x58 returned 0 after 0 usecs
      [    2.617104] 000: calling  ion_cma_heap_init+0x1/0x64 @ 1
      [    2.622645] 000: initcall ion_cma_heap_init+0x1/0x64 returned 0 after 0 usecs
      [    2.629792] 000: calling  remoteproc_init+0x1/0x10 @ 1
      [    2.635156] 000: initcall remoteproc_init+0x1/0x10 returned 0 after 0 usecs
      [    2.642149] 000: calling  rpmsg_init+0x1/0x28 @ 1
      [    2.647079] 000: initcall rpmsg_init+0x1/0x28 returned 0 after 0 usecs
      [    2.653645] 000: calling  iio_init+0x1/0x5c @ 1
      [    2.658455] 000: initcall iio_init+0x1/0x5c returned 0 after 0 usecs
      [    2.664842] 000: calling  nvmem_init+0x1/0xc @ 1
      [    2.669691] 000: initcall nvmem_init+0x1/0xc returned 0 after 0 usecs
      [    2.676151] 000: calling  init_soundcore+0x1/0x2c @ 1
      [    2.681390] 000: initcall init_soundcore+0x1/0x2c returned 0 after 0 usecs
      [    2.688311] 000: calling  alsa_sound_init+0x1/0x74 @ 1
      [    2.693638] 000: Advanced Linux Sound Architecture Driver Initialized.
      [    2.700172] 000: initcall alsa_sound_init+0x1/0x74 returned 0 after 0 usecs
      [    2.707265] 000: calling  proto_init+0x1/0xc @ 1
      [    2.711931] 000: initcall proto_init+0x1/0xc returned 0 after 0 usecs
      [    2.718474] 000: calling  net_dev_init+0x1/0x1b4 @ 1
      [    2.724858] 000: initcall net_dev_init+0x1/0x1b4 returned 0 after 0 usecs
      [    2.731818] 000: calling  neigh_init+0x1/0x68 @ 1
      [    2.736556] 000: initcall neigh_init+0x1/0x68 returned 0 after 0 usecs
      [    2.743177] 000: calling  fib_notifier_init+0x1/0xc @ 1
      [    2.748432] 000: initcall fib_notifier_init+0x1/0xc returned 0 after 0 usecs
      [    2.755593] 000: calling  init_flow_indr_rhashtable+0x1/0x10 @ 1
      [    2.761631] 000: initcall init_flow_indr_rhashtable+0x1/0x10 returned 0 after 0 usecs
      [    2.769554] 000: calling  fib_rules_init+0x1/0x80 @ 1
      [    2.774627] 000: initcall fib_rules_init+0x1/0x80 returned 0 after 0 usecs
      [    2.781613] 000: calling  genl_init+0x1/0x2c @ 1
      [    2.786305] 000: initcall genl_init+0x1/0x2c returned 0 after 0 usecs
      [    2.792840] 000: calling  nexthop_init+0x1/0x94 @ 1
      [    2.797756] 000: initcall nexthop_init+0x1/0x94 returned 0 after 0 usecs
      [    2.804556] 000: calling  bt_init+0x1/0x80 @ 1
      [    2.809017] 000: Bluetooth: Core ver 2.22
      [    2.813188] 000: NET: Registered protocol family 31
      [    2.818156] 000: Bluetooth: HCI device and connection manager initialized
      [    2.824971] 000: Bluetooth: HCI socket layer initialized
      [    2.830403] 000: Bluetooth: L2CAP socket layer initialized
      [    2.835945] 000: Bluetooth: SCO socket layer initialized
      [    2.841396] 000: initcall bt_init+0x1/0x80 returned 0 after 29296 usecs
      [    2.848044] 000: calling  rfkill_init+0x1/0xb4 @ 1
      [    2.853446] 000: initcall rfkill_init+0x1/0xb4 returned 0 after 0 usecs
      [    2.860108] 000: calling  pwm_module_init+0x1/0x1c @ 1
      [    2.865369] 000: pwm module init!
      [    2.870603] 000: probe of 2000c00.pwm returned 1 after 0 usecs
      [    2.877053] 000: initcall pwm_module_init+0x1/0x1c returned 0 after 9765 usecs
      [    2.884309] 000: calling  g2d_module_init+0x1/0xcc @ 1
      [    2.890591] 000: g2d 5410000.g2d: Adding to iommu group 0
      [    2.896788] 000: probe of 5410000.g2d returned 1 after 0 usecs
      [    2.903022] 000: G2D: rcq version initialized.major:249
      [    2.908251] 000: initcall g2d_module_init+0x1/0xcc returned 0 after 9765 usecs
      [    2.915597] 000: calling  sunxi_keyboard_init+0x1/0xc @ 1
      [    2.921719] 000: initcall sunxi_keyboard_init+0x1/0xc returned 0 after 0 usecs
      [    2.929069] 000: calling  sunxi_i2c_adap_init+0x1/0xc @ 1
      [    2.934796] 000: probe of 2502800.twi returned -517 after 0 usecs
      [    2.941464] 000: initcall sunxi_i2c_adap_init+0x1/0xc returned 0 after 9765 usecs
      [    2.948994] 000: calling  vin_io_init+0x1/0x28 @ 1
      [    2.954344] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_cameravdd supply, setting it to NULL!
      [    2.963971] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_iovdd supply, setting it to NULL!
      [    2.973143] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_avdd supply, setting it to NULL!
      [    2.982304] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor0_dvdd supply, setting it to NULL!
      [    2.991507] 000: probe of 5809470.sensor returned 1 after 20000 usecs
      [    2.998197] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_cameravdd supply, setting it to NULL!
      [    3.007705] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_iovdd supply, setting it to NULL!
      [    3.016967] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_avdd supply, setting it to NULL!
      [    3.026023] 000: [VIN_WARN]sensor_helper_probe: cannot get sensor1_dvdd supply, setting it to NULL!
      [    3.035268] 000: probe of 5809480.sensor returned 1 after 20000 usecs
      [    3.041975] 000: initcall vin_io_init+0x1/0x28 returned 0 after 48828 usecs
      [    3.049097] 000: calling  watchdog_init+0x1/0x54 @ 1
      [    3.054367] 000: initcall watchdog_init+0x1/0x54 returned 0 after 0 usecs
      [    3.062733] 000: calling  proc_cpu_init+0x1/0x1c @ 1
      [    3.067750] 000: initcall proc_cpu_init+0x1/0x1c returned 0 after 0 usecs
      [    3.074668] 000: calling  alignment_init+0x1/0x90 @ 1
      [    3.079767] 000: initcall alignment_init+0x1/0x90 returned 0 after 0 usecs
      [    3.086739] 000: calling  clocksource_done_booting+0x1/0x2c @ 1
      [    3.092748] 000: clocksource: Switched to clocksource arch_sys_counter
      [    3.099422] 000: initcall clocksource_done_booting+0x1/0x2c returned 0 after 6539 usecs
      [    3.107539] 000: calling  bpf_init+0x1/0x30 @ 1
      [    3.112121] 000: initcall bpf_init+0x1/0x30 returned 0 after 28 usecs
      [    3.118688] 000: calling  init_pipe_fs+0x1/0x30 @ 1
      [    3.123851] 000: initcall init_pipe_fs+0x1/0x30 returned 0 after 184 usecs
      [    3.130745] 000: calling  cgroup_writeback_init+0x1/0x24 @ 1
      [    3.136603] 000: initcall cgroup_writeback_init+0x1/0x24 returned 0 after 58 usecs
      [    3.144298] 000: calling  eventpoll_init+0x1/0xae @ 1
      [    3.149478] 000: initcall eventpoll_init+0x1/0xae returned 0 after 90 usecs
      [    3.156575] 000: calling  anon_inode_init+0x1/0x48 @ 1
      [    3.161884] 000: initcall anon_inode_init+0x1/0x48 returned 0 after 148 usecs
      [    3.169146] 001: calling  proc_locks_init+0x1/0x24 @ 1
      [    3.174402] 001: initcall proc_locks_init+0x1/0x24 returned 0 after 20 usecs
      [    3.181458] 001: calling  proc_cmdline_init+0x1/0x20 @ 1
      [    3.186871] 001: initcall proc_cmdline_init+0x1/0x20 returned 0 after 15 usecs
      [    3.194194] 001: calling  proc_consoles_init+0x1/0x24 @ 1
      [    3.199633] 001: initcall proc_consoles_init+0x1/0x24 returned 0 after 15 usecs
      [    3.207007] 001: calling  proc_cpuinfo_init+0x1/0x1c @ 1
      [    3.212348] 001: initcall proc_cpuinfo_init+0x1/0x1c returned 0 after 14 usecs
      [    3.219663] 001: calling  proc_devices_init+0x1/0x24 @ 1
      [    3.225066] 001: initcall proc_devices_init+0x1/0x24 returned 0 after 14 usecs
      [    3.232312] 001: calling  proc_interrupts_init+0x1/0x24 @ 1
      [    3.238004] 001: initcall proc_interrupts_init+0x1/0x24 returned 0 after 15 usecs
      [    3.245571] 001: calling  proc_loadavg_init+0x1/0x20 @ 1
      [    3.250914] 001: initcall proc_loadavg_init+0x1/0x20 returned 0 after 14 usecs
      [    3.258200] 001: calling  proc_meminfo_init+0x1/0x20 @ 1
      [    3.263611] 001: initcall proc_meminfo_init+0x1/0x20 returned 0 after 15 usecs
      [    3.270857] 001: calling  proc_stat_init+0x1/0x1c @ 1
      [    3.276006] 001: initcall proc_stat_init+0x1/0x1c returned 0 after 14 usecs
      [    3.283034] 001: calling  proc_uptime_init+0x1/0x20 @ 1
      [    3.288307] 001: initcall proc_uptime_init+0x1/0x20 returned 0 after 14 usecs
      [    3.295523] 001: calling  proc_version_init+0x1/0x20 @ 1
      [    3.300857] 001: initcall proc_version_init+0x1/0x20 returned 0 after 14 usecs
      [    3.308151] 001: calling  proc_softirqs_init+0x1/0x20 @ 1
      [    3.313641] 001: initcall proc_softirqs_init+0x1/0x20 returned 0 after 14 usecs
      [    3.320965] 001: calling  proc_kmsg_init+0x1/0x1c @ 1
      [    3.326116] 001: initcall proc_kmsg_init+0x1/0x1c returned 0 after 14 usecs
      [    3.333182] 001: calling  proc_page_init+0x1/0x48 @ 1
      [    3.338296] 001: initcall proc_page_init+0x1/0x48 returned 0 after 37 usecs
      [    3.345333] 001: calling  init_ramfs_fs+0x1/0xc @ 1
      [    3.350248] 001: initcall init_ramfs_fs+0x1/0xc returned 0 after 10 usecs
      [    3.357118] 001: calling  blk_scsi_ioctl_init+0x1/0x268 @ 1
      [    3.362719] 001: initcall blk_scsi_ioctl_init+0x1/0x268 returned 0 after 5 usecs
      [    3.370176] 001: calling  sun8iw20_pio_init+0x1/0xc @ 1
      [    3.398695] 001: sun8iw20-pinctrl pio: initialized sunXi PIO driver
      [    3.405288] 001: probe of pio returned 1 after 29592 usecs
      [    3.411279] 001: initcall sun8iw20_pio_init+0x1/0xc returned 0 after 34964 usecs
      [    3.418830] 001: calling  chr_dev_init+0x1/0xe8 @ 1
      [    3.453554] 000: initcall chr_dev_init+0x1/0xe8 returned 0 after 29050 usecs
      [    3.460658] 000: calling  firmware_class_init+0x1/0xc0 @ 1
      [    3.466291] 000: initcall firmware_class_init+0x1/0xc0 returned 0 after 9 usecs
      [    3.474007] 000: calling  udc_init+0x1/0x28 @ 1
      [    3.480724] 000: probe of 4100000.udc-controller returned 1 after 1752 usecs
      [    3.488128] 000: initcall udc_init+0x1/0x28 returned 0 after 9340 usecs
      [    3.495046] 000: calling  thermal_init+0x1/0x110 @ 1
      [    3.500035] 000: thermal_sys: Registered thermal governor 'step_wise'
      [    3.506575] 000: thermal_sys: Registered thermal governor 'user_space'
      [    3.513991] 000: initcall thermal_init+0x1/0x110 returned 0 after 13631 usecs
      [    3.521188] 000: calling  sysctl_core_init+0x1/0x28 @ 1
      [    3.526681] 000: initcall sysctl_core_init+0x1/0x28 returned 0 after 105 usecs
      [    3.534144] 000: calling  eth_offload_init+0x1/0x10 @ 1
      [    3.539399] 000: initcall eth_offload_init+0x1/0x10 returned 0 after 3 usecs
      [    3.546549] 000: calling  inet_init+0x1/0x1c8 @ 1
      [    3.551459] 000: NET: Registered protocol family 2
      [    3.558081] 001: tcp_listen_portaddr_hash hash table entries: 128 (order: 0, 4096 bytes, linear)
      [    3.567244] 001: TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
      [    3.575524] 001: TCP bind hash table entries: 1024 (order: 2, 28672 bytes, linear)
      [    3.583349] 001: TCP: Hash tables configured (established 1024 bind 1024)
      [    3.590365] 001: UDP hash table entries: 256 (order: 2, 16384 bytes, linear)
      [    3.597610] 000: UDP-Lite hash table entries: 256 (order: 2, 16384 bytes, linear)
      [    3.605664] 000: initcall inet_init+0x1/0x1c8 returned 0 after 53110 usecs
      [    3.612597] 000: calling  ipv4_offload_init+0x1/0x58 @ 1
      [    3.618035] 000: initcall ipv4_offload_init+0x1/0x58 returned 0 after 5 usecs
      [    3.625269] 000: calling  af_unix_init+0x1/0x3c @ 1
      [    3.630240] 000: NET: Registered protocol family 1
      [    3.635181] 000: initcall af_unix_init+0x1/0x3c returned 0 after 4891 usecs
      [    3.642182] 000: calling  ipv6_offload_init+0x1/0x60 @ 1
      [    3.647649] 000: initcall ipv6_offload_init+0x1/0x60 returned 0 after 5 usecs
      [    3.654874] 000: calling  init_sunrpc+0x1/0x48 @ 1
      [    3.660865] 000: RPC: Registered named UNIX socket transport module.
      [    3.667348] 000: RPC: Registered udp transport module.
      [    3.672514] 000: RPC: Registered tcp transport module.
      [    3.677728] 000: RPC: Registered tcp NFSv4.1 backchannel transport module.
      [    3.684664] 000: initcall init_sunrpc+0x1/0x48 returned 0 after 24389 usecs
      [    3.691650] 000: calling  vlan_offload_init+0x1/0x1c @ 1
      [    3.697033] 000: initcall vlan_offload_init+0x1/0x1c returned 0 after 5 usecs
      [    3.704262] 000: calling  cfg80211_init+0x1/0x84 @ 1
      [    3.710336] 000: initcall cfg80211_init+0x1/0x84 returned 0 after 1068 usecs
      [    3.717570] 000: calling  dsp_debug_init+0x1/0xc @ 1
      [    3.723255] 000: initcall dsp_debug_init+0x1/0xc returned 0 after 683 usecs
      [    3.730245] 000: calling  sunxi_spi_init+0x1/0xc @ 1
      [    3.736208] 000: sun8iw20-pinctrl pio: pio supply vcc-pc not found, using dummy regulator
      [    3.745828] 001: spi spi0: spi0 supply spi not found, using dummy regulator
      [    3.753421] 001: sunxi_spi_resource_get()2198 - [spi0] SPI MASTER MODE
      [    3.760047] 001: sunxi_spi_resource_get()2236 - Failed to get sample mode
      [    3.766990] 001: sunxi_spi_resource_get()2241 - Failed to get sample delay
      [    3.773964] 001: sunxi_spi_resource_get()2245 - sample_mode:-1431633921 sample_delay:-1431633921
      [    3.782992] 001: sunxi_spi_clk_init()2287 - [spi0] mclk 100000000
      [    3.790810] 001: sunxi_spi_probe()2700 - [spi0]: driver probe succeed, base c881f000, irq 39
      [    3.799545] 001: probe of spi0 returned 1 after 63934 usecs
      [    3.805781] 001: initcall sunxi_spi_init+0x1/0xc returned 0 after 68794 usecs
      [    3.813090] 001: calling  default_rootfs+0x1/0x5c @ 1
      [    3.818307] 001: initcall default_rootfs+0x1/0x5c returned 0 after 142 usecs
      [    3.826962] 001: calling  proc_execdomains_init+0x1/0x20 @ 1
      [    3.832668] 001: initcall proc_execdomains_init+0x1/0x20 returned 0 after 25 usecs
      [    3.840356] 001: calling  register_warn_debugfs+0x1/0x24 @ 1
      [    3.846189] 001: initcall register_warn_debugfs+0x1/0x24 returned 0 after 41 usecs
      [    3.853865] 001: calling  cpuhp_sysfs_init+0x1/0x6c @ 1
      [    3.859267] 001: initcall cpuhp_sysfs_init+0x1/0x6c returned 0 after 148 usecs
      [    3.866598] 001: calling  ioresources_init+0x1/0x44 @ 1
      [    3.871872] 001: initcall ioresources_init+0x1/0x44 returned 0 after 31 usecs
      [    3.879136] 001: calling  irq_gc_init_ops+0x1/0x10 @ 1
      [    3.884393] 001: initcall irq_gc_init_ops+0x1/0x10 returned 0 after 2 usecs
      [    3.891389] 001: calling  irq_pm_init_ops+0x1/0x10 @ 1
      [    3.896661] 001: initcall irq_pm_init_ops+0x1/0x10 returned 0 after 1 usecs
      [    3.903735] 001: calling  timekeeping_init_ops+0x1/0x10 @ 1
      [    3.909334] 001: initcall timekeeping_init_ops+0x1/0x10 returned 0 after 1 usecs
      [    3.916831] 001: calling  init_clocksource_sysfs+0x1/0x20 @ 1
      [    3.923262] 001: initcall init_clocksource_sysfs+0x1/0x20 returned 0 after 644 usecs
      [    3.931046] 001: calling  init_timer_list_procfs+0x1/0x30 @ 1
      [    3.936927] 001: initcall init_timer_list_procfs+0x1/0x30 returned 0 after 20 usecs
      [    3.944710] 001: calling  alarmtimer_init+0x1/0xa0 @ 1
      [    3.950216] 001: initcall alarmtimer_init+0x1/0xa0 returned 0 after 332 usecs
      [    3.957479] 001: calling  init_posix_timers+0x1/0x28 @ 1
      [    3.962977] 001: initcall init_posix_timers+0x1/0x28 returned 0 after 74 usecs
      [    3.970212] 001: calling  clockevents_init_sysfs+0x1/0x94 @ 1
      [    3.977039] 001: initcall clockevents_init_sysfs+0x1/0x94 returned 0 after 941 usecs
      [    3.984919] 001: calling  sched_clock_syscore_init+0x1/0x10 @ 1
      [    3.990861] 001: initcall sched_clock_syscore_init+0x1/0x10 returned 0 after 1 usecs
      [    3.998741] 001: calling  proc_modules_init+0x1/0x1c @ 1
      [    4.004195] 001: initcall proc_modules_init+0x1/0x1c returned 0 after 24 usecs
      [    4.011453] 001: calling  modules_wq_init+0x1/0x24 @ 1
      [    4.016686] 001: initcall modules_wq_init+0x1/0x24 returned 0 after 0 usecs
      [    4.023750] 001: calling  kallsyms_init+0x1/0x1c @ 1
      [    4.028750] 001: initcall kallsyms_init+0x1/0x1c returned 0 after 17 usecs
      [    4.035737] 001: calling  pid_namespaces_init+0x1/0x28 @ 1
      [    4.041313] 001: initcall pid_namespaces_init+0x1/0x28 returned 0 after 66 usecs
      [    4.048806] 001: calling  ikconfig_init+0x1/0x38 @ 1
      [    4.053885] 001: initcall ikconfig_init+0x1/0x38 returned 0 after 18 usecs
      [    4.060783] 001: calling  utsname_sysctl_init+0x1/0x10 @ 1
      [    4.066397] 001: initcall utsname_sysctl_init+0x1/0x10 returned 0 after 39 usecs
      [    4.073896] 001: calling  system_trusted_keyring_init+0x1/0x5c @ 1
      [    4.080081] 001: Initialise system trusted keyrings
      [    4.085111] 001: initcall system_trusted_keyring_init+0x1/0x5c returned 0 after 4912 usecs
      [    4.093604] 001: calling  kswapd_init+0x1/0x44 @ 1
      [    4.098648] 001: initcall kswapd_init+0x1/0x44 returned 0 after 223 usecs
      [    4.105520] 001: calling  mm_compute_batch_init+0x1/0x40 @ 1
      [    4.111212] 001: initcall mm_compute_batch_init+0x1/0x40 returned 0 after 0 usecs
      [    4.118775] 001: calling  slab_proc_init+0x1/0x1c @ 1
      [    4.123920] 001: initcall slab_proc_init+0x1/0x1c returned 0 after 20 usecs
      [    4.130887] 001: calling  workingset_init+0x1/0x64 @ 1
      [    4.136089] 001: workingset: timestamp_bits=14 max_order=15 bucket_order=1
      [    4.143031] 001: initcall workingset_init+0x1/0x64 returned 0 after 6780 usecs
      [    4.150270] 001: calling  proc_vmalloc_init+0x1/0x24 @ 1
      [    4.155671] 001: initcall proc_vmalloc_init+0x1/0x24 returned 0 after 16 usecs
      [    4.162984] 001: calling  memblock_init_debugfs+0x1/0x50 @ 1
      [    4.168762] 001: initcall memblock_init_debugfs+0x1/0x50 returned 0 after 92 usecs
      [    4.176418] 001: calling  procswaps_init+0x1/0x1c @ 1
      [    4.181493] 001: initcall procswaps_init+0x1/0x1c returned 0 after 15 usecs
      [    4.188536] 001: calling  slab_sysfs_init+0x1/0xb0 @ 1
      [    4.219083] 001: initcall slab_sysfs_init+0x1/0xb0 returned 0 after 24732 usecs
      [    4.226586] 001: calling  fcntl_init+0x1/0x28 @ 1
      [    4.231388] 001: initcall fcntl_init+0x1/0x28 returned 0 after 70 usecs
      [    4.238191] 001: calling  proc_filesystems_init+0x1/0x20 @ 1
      [    4.243996] 001: initcall proc_filesystems_init+0x1/0x20 returned 0 after 26 usecs
      [    4.251583] 001: calling  start_dirtytime_writeback+0x1/0x24 @ 1
      [    4.257757] 001: initcall start_dirtytime_writeback+0x1/0x24 returned 0 after 6 usecs
      [    4.265704] 001: calling  blkdev_init+0x1/0x10 @ 1
      [    4.270594] 001: initcall blkdev_init+0x1/0x10 returned 0 after 78 usecs
      [    4.277471] 001: calling  dio_init+0x1/0x28 @ 1
      [    4.282424] 001: initcall dio_init+0x1/0x28 returned 0 after 394 usecs
      [    4.289080] 001: calling  aio_setup+0x1/0x5c @ 1
      [    4.294387] 001: initcall aio_setup+0x1/0x5c returned 0 after 545 usecs
      [    4.301042] 001: calling  io_uring_init+0x1/0x28 @ 1
      [    4.306178] 001: initcall io_uring_init+0x1/0x28 returned 0 after 37 usecs
      [    4.313239] 001: calling  mbcache_init+0x1/0x30 @ 1
      [    4.318518] 001: initcall mbcache_init+0x1/0x30 returned 0 after 382 usecs
      [    4.325515] 001: calling  init_grace+0x1/0xc @ 1
      [    4.330160] 001: initcall init_grace+0x1/0xc returned 0 after 15 usecs
      [    4.336810] 001: calling  init_devpts_fs+0x1/0x20 @ 1
      [    4.341925] 001: initcall init_devpts_fs+0x1/0x20 returned 0 after 51 usecs
      [    4.349009] 001: calling  ext4_init_fs+0x1/0x124 @ 1
      [    4.356225] 001: initcall ext4_init_fs+0x1/0x124 returned 0 after 2094 usecs
      [    4.363420] 001: calling  init_ext2_fs+0x1/0x58 @ 1
      [    4.368655] 001: initcall init_ext2_fs+0x1/0x58 returned 0 after 336 usecs
      [    4.375674] 001: calling  journal_init+0x1/0xbc @ 1
      [    4.381827] 001: initcall journal_init+0x1/0xbc returned 0 after 1234 usecs
      [    4.388923] 001: calling  init_fat_fs+0x1/0x44 @ 1
      [    4.394504] 001: initcall init_fat_fs+0x1/0x44 returned 0 after 665 usecs
      [    4.401316] 001: calling  init_vfat_fs+0x1/0xc @ 1
      [    4.406246] 001: initcall init_vfat_fs+0x1/0xc returned 0 after 14 usecs
      [    4.413049] 001: calling  init_msdos_fs+0x1/0xc @ 1
      [    4.417945] 001: initcall init_msdos_fs+0x1/0xc returned 0 after 9 usecs
      [    4.424767] 001: calling  init_nfs_fs+0x1/0xe0 @ 1
      [    4.431127] 001: initcall init_nfs_fs+0x1/0xe0 returned 0 after 1514 usecs
      [    4.438159] 001: calling  init_nfs_v2+0x1/0x10 @ 1
      [    4.443113] 001: initcall init_nfs_v2+0x1/0x10 returned 0 after 3 usecs
      [    4.449766] 001: calling  init_nfs_v3+0x1/0x10 @ 1
      [    4.454655] 001: initcall init_nfs_v3+0x1/0x10 returned 0 after 2 usecs
      [    4.461279] 001: calling  init_nfs_v4+0x1/0x24 @ 1
      [    4.466203] 001: NFS: Registering the id_resolver key type
      [    4.471735] 001: Key type id_resolver registered
      [    4.476455] 001: Key type id_legacy registered
      [    4.480937] 001: initcall init_nfs_v4+0x1/0x24 returned 0 after 14388 usecs
      [    4.488025] 001: calling  nfs4filelayout_init+0x1/0x20 @ 1
      [    4.493625] 001: nfs4filelayout_init: NFSv4 File Layout Driver Registering...
      [    4.500761] 001: initcall nfs4filelayout_init+0x1/0x20 returned 0 after 6968 usecs
      [    4.508457] 001: calling  nfs4flexfilelayout_init+0x1/0x20 @ 1
      [    4.514385] 001: nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
      [    4.522229] 001: initcall nfs4flexfilelayout_init+0x1/0x20 returned 0 after 7660 usecs
      [    4.530362] 001: calling  init_nfsd+0x1/0x98 @ 1
      [    4.535116] 001: Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
      [    4.542200] 001: initcall init_nfsd+0x1/0x98 returned 0 after 6918 usecs
      [    4.549145] 001: calling  init_nlm+0x1/0x48 @ 1
      [    4.553847] 001: initcall init_nlm+0x1/0x48 returned 0 after 71 usecs
      [    4.560306] 001: calling  init_nls_cp437+0x1/0xc @ 1
      [    4.565366] 001: initcall init_nls_cp437+0x1/0xc returned 0 after 2 usecs
      [    4.572170] 001: calling  init_nls_iso8859_1+0x1/0xc @ 1
      [    4.577550] 001: initcall init_nls_iso8859_1+0x1/0xc returned 0 after 2 usecs
      [    4.584771] 001: calling  fuse_init+0x1/0xdc @ 1
      [    4.589406] 001: fuse: init (API version 7.31)
      [    4.594806] 001: initcall fuse_init+0x1/0xdc returned 0 after 5273 usecs
      [    4.601558] 001: calling  ovl_init+0x1/0x4c @ 1
      [    4.606617] 001: initcall ovl_init+0x1/0x4c returned 0 after 367 usecs
      [    4.613247] 001: calling  ipc_init+0x1/0x20 @ 1
      [    4.617914] 001: initcall ipc_init+0x1/0x20 returned 0 after 105 usecs
      [    4.624559] 001: calling  ipc_sysctl_init+0x1/0x10 @ 1
      [    4.629765] 001: initcall ipc_sysctl_init+0x1/0x10 returned 0 after 49 usecs
      [    4.636926] 001: calling  init_mqueue_fs+0x1/0x8c @ 1
      [    4.642543] 001: initcall init_mqueue_fs+0x1/0x8c returned 0 after 533 usecs
      [    4.649715] 001: calling  key_proc_init+0x1/0x50 @ 1
      [    4.654822] 001: initcall key_proc_init+0x1/0x50 returned 0 after 35 usecs
      [    4.661715] 001: calling  crypto_algapi_init+0x1/0xc @ 1
      [    4.667132] 001: initcall crypto_algapi_init+0x1/0xc returned 0 after 15 usecs
      [    4.674482] 001: calling  jent_mod_init+0x1/0x28 @ 1
      [    4.745305] 000: initcall jent_mod_init+0x1/0x28 returned 0 after 64296 usecs
      [    4.752498] 000: calling  af_alg_init+0x1/0x2c @ 1
      [    4.757413] 000: NET: Registered protocol family 38
      [    4.762301] 000: initcall af_alg_init+0x1/0x2c returned 0 after 4778 usecs
      [    4.769297] 000: calling  algif_hash_init+0x1/0xc @ 1
      [    4.774474] 000: initcall algif_hash_init+0x1/0xc returned 0 after 4 usecs
      [    4.781358] 000: calling  algif_skcipher_init+0x1/0xc @ 1
      [    4.786843] 000: initcall algif_skcipher_init+0x1/0xc returned 0 after 4 usecs
      [    4.794165] 000: calling  rng_init+0x1/0xc @ 1
      [    4.798645] 000: initcall rng_init+0x1/0xc returned 0 after 4 usecs
      [    4.804994] 000: calling  algif_aead_init+0x1/0xc @ 1
      [    4.810063] 000: initcall algif_aead_init+0x1/0xc returned 0 after 4 usecs
      [    4.817043] 000: calling  asymmetric_key_init+0x1/0xc @ 1
      [    4.822451] 000: Key type asymmetric registered
      [    4.827076] 000: initcall asymmetric_key_init+0x1/0xc returned 0 after 4520 usecs
      [    4.834700] 000: calling  x509_key_init+0x1/0xc @ 1
      [    4.839583] 000: Asymmetric key parser 'x509' registered
      [    4.844998] 000: initcall x509_key_init+0x1/0xc returned 0 after 5290 usecs
      [    4.851974] 000: calling  proc_genhd_init+0x1/0x3c @ 1
      [    4.857223] 000: initcall proc_genhd_init+0x1/0x3c returned 0 after 33 usecs
      [    4.864338] 000: calling  init_emergency_pool+0x1/0x50 @ 1
      [    4.869847] 000: initcall init_emergency_pool+0x1/0x50 returned 0 after 1 usecs
      [    4.877226] 000: calling  bsg_init+0x1/0xb8 @ 1
      [    4.881851] 000: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
      [    4.889785] 000: initcall bsg_init+0x1/0xb8 returned 0 after 7835 usecs
      [    4.896524] 000: calling  deadline_init+0x1/0xc @ 1
      [    4.901410] 000: io scheduler mq-deadline registered
      [    4.906470] 000: initcall deadline_init+0x1/0xc returned 0 after 4944 usecs
      [    4.913551] 000: calling  kyber_init+0x1/0xc @ 1
      [    4.918176] 000: io scheduler kyber registered
      [    4.922616] 000: initcall kyber_init+0x1/0xc returned 0 after 4339 usecs
      [    4.929454] 000: calling  libcrc32c_mod_init+0x1/0x24 @ 1
      [    4.934963] 000: initcall libcrc32c_mod_init+0x1/0x24 returned 0 after 13 usecs
      [    4.942277] 000: calling  percpu_counter_startup+0x1/0x68 @ 1
      [    4.948233] 000: initcall percpu_counter_startup+0x1/0x68 returned 0 after 100 usecs
      [    4.956094] 000: calling  test_atomics_init+0x1/0x16a8 @ 1
      [    4.961637] 000: atomic64_test: passed
      [    4.965480] 000: initcall test_atomics_init+0x1/0x16a8 returned 0 after 3795 usecs
      [    4.973157] 000: calling  sg_pool_init+0x1/0x98 @ 1
      [    4.979410] 000: initcall sg_pool_init+0x1/0x98 returned 0 after 1322 usecs
      [    4.986498] 000: calling  mbus_pmu_init+0x1/0x28 @ 1
      [    4.992484] 000: probe of 3102000.mbus-controller returned 1 after 787 usecs
      [    5.000140] 000: initcall mbus_pmu_init+0x1/0x28 returned 0 after 8454 usecs
      [    5.007335] 000: calling  sunxi_pinctrl_debugfs_init+0x1/0xc4 @ 1
      [    5.013727] 000: initcall sunxi_pinctrl_debugfs_init+0x1/0xc4 returned 0 after 179 usecs
      [    5.021834] 000: calling  sunxi_pwm_init+0x1/0xfc @ 1
      [    5.027501] 000: initcall sunxi_pwm_init+0x1/0xfc returned 0 after 504 usecs
      [    5.034674] 000: calling  disp_module_init+0x1/0xd4 @ 1
      [    5.039908] 000: [DISP]disp_module_init
      [    5.044944] 000: disp 5000000.disp: Adding to iommu group 0
      [    5.051714] 000: [DISP] parser_disp_init_para,line:1430:
      [    5.057143] 000: of_property_read fb0_width fail
      [    5.061790] 000: [DISP] disp_init,line:2387:
      [    5.066176] 000: smooth display screen:0 type:1 mode:4
      [    5.105165] 000: display_fb_request,fb_id:0
      [    5.114809] 000: disp_al_manager_apply ouput_type:1
      [    5.120160] 000: sunxi_pwm_enable_dual: can't parse pwm device
      [    5.123420] 001: probe of 5000000.disp returned 1 after 78636 usecs
      [    5.132962] 001: [DISP]disp_module_init finish
      [    5.137431] 001: initcall disp_module_init+0x1/0xd4 returned 0 after 95237 usecs
      [    5.143125] 000: free logo buffer src_phy_addr=0x43f12000  fb_height=480  src_stride=3200
      [    5.144982] 001: calling  of_fixed_factor_clk_driver_init+0x1/0xc @ 1
      [    5.156580] 000: Freeing logo buffer memory: 1500K
      [    5.160105] 001: initcall of_fixed_factor_clk_driver_init+0x1/0xc returned 0 after 560 usecs
      [    5.172952] 001: calling  of_fixed_clk_driver_init+0x1/0xc @ 1
      [    5.179317] 001: initcall of_fixed_clk_driver_init+0x1/0xc returned 0 after 496 usecs
      [    5.187301] 001: calling  gpio_clk_driver_init+0x1/0xc @ 1
      [    5.193440] 001: initcall gpio_clk_driver_init+0x1/0xc returned 0 after 518 usecs
      [    5.200942] 001: calling  sunxi_sram_driver_init+0x1/0xc @ 1
      [    5.207897] 001: initcall sunxi_sram_driver_init+0x1/0xc returned 0 after 1160 usecs
      [    5.215764] 001: calling  sunxi_sid_init+0x1/0x1c @ 1
      [    5.220835] 001: sunxi_sid_init()563 - insmod ok
      [    5.225557] 001: initcall sunxi_sid_init+0x1/0x1c returned 0 after 4611 usecs
      [    5.232721] 001: calling  pwm_regulator_driver_init+0x1/0xc @ 1
      [    5.239661] 001: pwm-regulator: supplied by regulator-dummy
      [    5.246265] 001: probe of vdd-cpu returned 1 after 7133 usecs
      [    5.252125] 001: initcall pwm_regulator_driver_init+0x1/0xc returned 0 after 13068 usecs
      [    5.260378] 001: calling  reset_simple_driver_init+0x1/0xc @ 1
      [    5.267362] 001: initcall reset_simple_driver_init+0x1/0xc returned 0 after 1021 usecs
      [    5.275472] 001: calling  n_null_init+0x1/0x14 @ 1
      [    5.280273] 001: initcall n_null_init+0x1/0x14 returned 0 after 2 usecs
      [    5.286985] 001: calling  pty_init+0x1/0x1a8 @ 1
      [    5.292125] 001: initcall pty_init+0x1/0x1a8 returned 0 after 493 usecs
      [    5.298886] 001: calling  sysrq_init+0x1/0x30 @ 1
      [    5.303739] 001: initcall sysrq_init+0x1/0x30 returned 0 after 38 usecs
      [    5.310379] 001: calling  sunxi_uart_init+0x1/0x38 @ 1
      [    5.316303] 001: sun8iw20-pinctrl pio: pio supply vcc-pe not found, using dummy regulator
      [    5.325214] 001: uart uart0: get regulator failed
      [    5.329982] 001: uart uart0: uart0 supply uart not found, using dummy regulator
      [    5.338046] 001: uart0: ttyS0 at MMIO 0x2500000 (irq = 34, base_baud = 1500000) is a SUNXI
      [    5.346450] 001: sw_console_setup()1784 - console setup baud 115200 parity n bits 8, flow n
      [    5.354977] 001: printk: console [ttyS0] enabled
      [    5.359615] 001: printk: bootconsole [earlycon0] disabled
      [    0.655126] 000: initcall cpu_pm_init+0x1/0x10 returned 0 after 0 usecs
      ** 27 printk messages dropped **
      [    0.828752] 000: calling  sun8iw20_rtc_ccu_init+0x1/0x20 @ 1
      ** 1 printk message dropped **
      [    0.842118] 000: calling  sunxi_r_ccu_sun8iw20_init+0x1/0x20 @ 1
      [    0.848324] 000: initcall sunxi_r_ccu_sun8iw20_init+0x1/0x20 returned 0 after 0 usecs
      [    0.856190] 000: calling  virtio_init+0x1/0x1c @ 1
      [    0.861226] 000: initcall virtio_init+0x1/0x1c returned 0 after 0 usecs
      [    0.867870] 000: calling  regulator_init+0x1/0x78 @ 1
      [    0.874373] 000: probe of reg-dummy returned 1 after 0 usecs
      [    0.880147] 000: initcall regulator_init+0x1/0x78 returned 0 after 0 usecs
      [    0.887184] 000: calling  iommu_init+0x1/0x28 @ 1
      [    0.891981] 000: initcall iommu_init+0x1/0x28 returned 0 after 0 usecs
      ** 9 printk messages dropped **
      [    0.956884] 000: initcall cpufreq_gov_performance_init+0x1/0xc returned 0 after 0 usecs
      ** 4 printk messages dropped **
      [    0.988851] 000: calling  net_defaults_init+0x1/0x1c @ 1
      [    0.994194] 000: initcall net_defaults_init+0x1/0x1c returned 0 after 0 usecs
      [    1.001512] 000: calling  init_default_flow_dissectors+0x1/0x48 @ 1
      [    1.007811] 000: initcall init_default_flow_dissectors+0x1/0x48 returned 0 after 0 usecs
      ** 38 printk messages dropped **
      [    1.264359] 000: calling  rpmsg_char_init+0x1/0x84 @ 1
      [    1.269782] 000: initcall rpmsg_char_init+0x1/0x84 returned 0 after 0 usecs
      [    1.276771] 000: calling  kobject_uevent_init+0x1/0xc @ 1
      [    1.282330] 000: initcall kobject_uevent_init+0x1/0xc returned 0 after 0 usecs
      [    1.291033] 000: calling  gate_vma_init+0x1/0x48 @ 1
      [    1.296123] 000: initcall gate_vma_init+0x1/0x48 returned 0 after 0 usecs
      [    1.302940] 000: calling  customize_machine+0x1/0x14 @ 1
      [    1.308346] 000: initcall customize_machine+0x1/0x14 returned 0 after 0 usecs
      [    1.315503] 000: calling  exceptions_init+0x1/0x58 @ 1
      [    1.320753] 000: initcall exceptions_init+0x1/0x58 returned 0 after 0 usecs
      [    1.327731] 000: calling  cryptomgr_init+0x1/0xc @ 1
      [    1.332803] 000: initcall cryptomgr_init+0x1/0xc returned 0 after 0 usecs
      [    1.339617] 000: calling  dma_bus_init+0x1/0x68 @ 1
      [    1.344729] 000: initcall dma_bus_init+0x1/0x68 returned 0 after 0 usecs
      [    1.351440] 000: calling  dma_channel_table_init+0x1/0xa0 @ 1
      [    1.357347] 000: initcall dma_channel_table_init+0x1/0xa0 returned 0 after 0 usecs
      [    1.364931] 000: calling  iommu_dma_init+0x1/0x4 @ 1
      [    1.370030] 000: initcall iommu_dma_init+0x1/0x4 returned 0 after 0 usecs
      [    1.376835] 000: calling  of_platform_default_populate_init+0x1/0x72 @ 1
      [    1.390413] 000: probe of 7090000.rtc_ccu returned -517 after 0 usecs
      [    1.397478] 000: probe of 2001000.ccu returned -517 after 0 usecs
      [    1.404013] 000: probe of 7010000.r_ccu returned -517 after 0 usecs
      [    1.483803] 001: rtc_ccu: sunxi ccu init OK
      [    1.488140] 001: probe of 7090000.rtc_ccu returned 1 after 0 usecs
      [    1.499463] 001: ccu: sunxi ccu init OK
      [    1.503624] 001: probe of 2001000.ccu returned 1 after 10000 usecs
      [    1.510878] 001: r_ccu: sunxi ccu init OK
      [    1.515041] 001: probe of 7010000.r_ccu returned 1 after 10000 usecs
      [    1.523612] 001: initcall of_platform_default_populate_init+0x1/0x72 returned 0 after 126953 usecs
      [    1.534356] 001: calling  topology_init+0x1/0x48 @ 1
      [    1.540021] 001: initcall topology_init+0x1/0x48 returned 0 after 0 usecs
      [    1.546941] 001: calling  uid_cache_init+0x1/0x5c @ 1
      [    1.552066] 001: initcall uid_cache_init+0x1/0x5c returned 0 after 0 usecs
      [    1.559101] 001: calling  param_sysfs_init+0x1/0x14c @ 1
      [    1.618903] 001: initcall param_sysfs_init+0x1/0x14c returned 0 after 48828 usecs
      [    1.626926] 001: calling  user_namespace_sysctl_init+0x1/0x2c @ 1
      [    1.633122] 001: initcall user_namespace_sysctl_init+0x1/0x2c returned 0 after 0 usecs
      [    1.641749] 000: calling  pm_sysrq_init+0x1/0x14 @ 1
      [    1.646876] 001: initcall pm_sysrq_init+0x1/0x14 returned 0 after 0 usecs
      [    1.654552] 001: calling  create_proc_profile+0x1/0x94 @ 1
      [    1.660067] 001: initcall create_proc_profile+0x1/0x94 returned 0 after 0 usecs
      [    1.667498] 001: calling  cgroup_sysfs_init+0x1/0x14 @ 1
      [    1.672881] 001: initcall cgroup_sysfs_init+0x1/0x14 returned 0 after 0 usecs
      [    1.680174] 001: calling  cgroup_namespaces_init+0x1/0x4 @ 1
      [    1.685845] 001: initcall cgroup_namespaces_init+0x1/0x4 returned 0 after 0 usecs
      [    1.693456] 001: calling  dev_map_init+0x1/0x10 @ 1
      [    1.698348] 001: initcall dev_map_init+0x1/0x10 returned 0 after 0 usecs
      [    1.705160] 001: calling  oom_init+0x1/0x28 @ 1
      [    1.709954] 001: initcall oom_init+0x1/0x28 returned 0 after 0 usecs
      [    1.716420] 001: calling  cgwb_init+0x1/0x24 @ 1
      [    1.721122] 001: initcall cgwb_init+0x1/0x24 returned 0 after 0 usecs
      [    1.727664] 001: calling  default_bdi_init+0x1/0x78 @ 1
      [    1.733534] 001: initcall default_bdi_init+0x1/0x78 returned 0 after 0 usecs
      [    1.740739] 001: calling  percpu_enable_async+0x1/0x10 @ 1
      [    1.746252] 001: initcall percpu_enable_async+0x1/0x10 returned 0 after 0 usecs
      [    1.753658] 001: calling  init_reserve_notifier+0x1/0x4 @ 1
      [    1.759284] 001: initcall init_reserve_notifier+0x1/0x4 returned 0 after 0 usecs
      [    1.766793] 001: calling  init_admin_reserve+0x1/0x28 @ 1
      [    1.772203] 001: initcall init_admin_reserve+0x1/0x28 returned 0 after 0 usecs
      [    1.779527] 001: calling  init_user_reserve+0x1/0x28 @ 1
      [    1.784847] 001: initcall init_user_reserve+0x1/0x28 returned 0 after 0 usecs
      [    1.792074] 001: calling  swap_init_sysfs+0x1/0x4c @ 1
      [    1.797264] 001: initcall swap_init_sysfs+0x1/0x4c returned 0 after 0 usecs
      [    1.804336] 001: calling  swapfile_init+0x1/0x34 @ 1
      [    1.809317] 001: initcall swapfile_init+0x1/0x34 returned 0 after 0 usecs
      [    1.816209] 001: calling  mem_cgroup_init+0x1/0xc4 @ 1
      [    1.821455] 001: initcall mem_cgroup_init+0x1/0xc4 returned 0 after 0 usecs
      [    1.828509] 001: calling  rsa_init+0x1/0x28 @ 1
      [    1.833321] 000: initcall rsa_init+0x1/0x28 returned 0 after 0 usecs
      [    1.839749] 000: calling  crypto_cmac_module_init+0x1/0xc @ 1
      [    1.845617] 000: initcall crypto_cmac_module_init+0x1/0xc returned 0 after 0 usecs
      [    1.853204] 000: calling  hmac_module_init+0x1/0xc @ 1
      [    1.858531] 000: initcall hmac_module_init+0x1/0xc returned 0 after 0 usecs
      [    1.865501] 000: calling  crypto_null_mod_init+0x1/0x44 @ 1
      [    1.872060] 000: initcall crypto_null_mod_init+0x1/0x44 returned 0 after 0 usecs
      [    1.879482] 000: calling  sha256_generic_mod_init+0x1/0xc @ 1
      [    1.885805] 000: initcall sha256_generic_mod_init+0x1/0xc returned 0 after 0 usecs
      [    1.893414] 000: calling  crypto_ecb_module_init+0x1/0xc @ 1
      [    1.899215] 000: initcall crypto_ecb_module_init+0x1/0xc returned 0 after 0 usecs
      [    1.906706] 000: calling  des_generic_mod_init+0x1/0xc @ 1
      [    1.912727] 000: initcall des_generic_mod_init+0x1/0xc returned 0 after 0 usecs
      [    1.920050] 000: calling  aes_init+0x1/0xc @ 1
      [    1.924849] 000: initcall aes_init+0x1/0xc returned 0 after 0 usecs
      [    1.931138] 000: calling  arc4_init+0x1/0xc @ 1
      [    1.936004] 000: initcall arc4_init+0x1/0xc returned 0 after 0 usecs
      [    1.942394] 000: calling  deflate_mod_init+0x1/0x28 @ 1
      [    1.948396] 000: initcall deflate_mod_init+0x1/0x28 returned 0 after 0 usecs
      [    1.955477] 000: calling  crc32c_mod_init+0x1/0xc @ 1
      [    1.960896] 000: initcall crc32c_mod_init+0x1/0xc returned 0 after 0 usecs
      [    1.967791] 000: calling  lzo_mod_init+0x1/0x28 @ 1
      [    1.973234] 000: initcall lzo_mod_init+0x1/0x28 returned 0 after 0 usecs
      [    1.979959] 000: calling  lzorle_mod_init+0x1/0x28 @ 1
      [    1.985661] 000: initcall lzorle_mod_init+0x1/0x28 returned 0 after 0 usecs
      [    1.992637] 000: calling  drbg_init+0x1/0x58 @ 1
      [    1.999283] 000: initcall drbg_init+0x1/0x58 returned 0 after 0 usecs
      [    2.005769] 000: calling  zstd_mod_init+0x1/0x28 @ 1
      [    2.011331] 000: initcall zstd_mod_init+0x1/0x28 returned 0 after 0 usecs
      [    2.018139] 000: calling  ecdh_init+0x1/0xa @ 1
      [    2.023033] 000: initcall ecdh_init+0x1/0xa returned 0 after 0 usecs
      [    2.029413] 000: calling  init_bio+0x1/0x74 @ 1
      [    2.034210] 000: initcall init_bio+0x1/0x74 returned 0 after 0 usecs
      [    2.040582] 000: calling  blk_settings_init+0x1/0x24 @ 1
      [    2.046024] 000: initcall blk_settings_init+0x1/0x24 returned 0 after 0 usecs
      [    2.053191] 000: calling  blk_ioc_init+0x1/0x28 @ 1
      [    2.058205] 000: initcall blk_ioc_init+0x1/0x28 returned 0 after 0 usecs
      [    2.064931] 000: calling  blk_softirq_init+0x1/0x64 @ 1
      [    2.070287] 000: initcall blk_softirq_init+0x1/0x64 returned 0 after 0 usecs
      [    2.077358] 000: calling  blk_mq_init+0x1/0x28 @ 1
      [    2.082257] 000: initcall blk_mq_init+0x1/0x28 returned 0 after 0 usecs
      [    2.088894] 000: calling  genhd_device_init+0x1/0x5c @ 1
      [    2.094850] 000: initcall genhd_device_init+0x1/0x5c returned 0 after 0 usecs
      [    2.102009] 000: calling  blkcg_init+0x1/0x28 @ 1
      [    2.107405] 001: initcall blkcg_init+0x1/0x28 returned 0 after 0 usecs
      [    2.114032] 001: calling  gpiolib_debugfs_init+0x1/0x24 @ 1
      [    2.119738] 001: initcall gpiolib_debugfs_init+0x1/0x24 returned 0 after 0 usecs
      [    2.127281] 001: calling  pwm_debugfs_init+0x1/0x24 @ 1
      [    2.132556] 001: initcall pwm_debugfs_init+0x1/0x24 returned 0 after 0 usecs
      [    2.139731] 001: calling  pwm_sysfs_init+0x1/0x10 @ 1
      [    2.144859] 001: initcall pwm_sysfs_init+0x1/0x10 returned 0 after 0 usecs
      [    2.151862] 001: calling  fbmem_init+0x1/0x98 @ 1
      [    2.156679] 001: initcall fbmem_init+0x1/0x98 returned 0 after 0 usecs
      [    2.163312] 001: calling  sun6i_dma_init+0x1/0xc @ 1
      [    2.212820] 000: probe of 3002000.dma-controller returned 1 after 40000 usecs
      [    2.221575] 000: initcall sun6i_dma_init+0x1/0xc returned 0 after 48828 usecs
      [    2.228750] 000: calling  regulator_fixed_voltage_init+0x1/0xc @ 1
      [    2.236156] 000: probe of pio-18 returned 1 after 0 usecs
      [    2.242437] 000: probe of pio-33 returned 1 after 0 usecs
      [    2.248622] 000: probe of usb1-vbus returned 0 after 0 usecs
      [    2.254397] 000: initcall regulator_fixed_voltage_init+0x1/0xc returned 0 after 9765 usecs
      [    2.262873] 000: calling  misc_init+0x1/0x88 @ 1
      [    2.267619] 000: initcall misc_init+0x1/0x88 returned 0 after 0 usecs
      [    2.274197] 000: calling  sunxi_di_init+0x1/0x1c @ 1
      [    2.279198] 000: Deinterlace Module initialized.
      [    2.284297] 000: probe of 5400000.deinterlace returned -517 after 0 usecs
      [    2.291324] 000: initcall sunxi_di_init+0x1/0x1c returned 0 after 9765 usecs
      [    2.298528] 000: calling  iommu_subsys_init+0x1/0x4c @ 1
      [    2.303849] 000: iommu: Default domain type: Translated
      [    2.309244] 000: initcall iommu_subsys_init+0x1/0x4c returned 0 after 9765 usecs
      [    2.316659] 000: calling  sunxi_iommu_init+0x1/0xc @ 1
      [    2.322256] 000: sunxi iommu: irq = 24
      [    2.327238] 000: probe of 2010000.iommu returned 1 after 0 usecs
      [    2.333863] 000: initcall sunxi_iommu_init+0x1/0xc returned 0 after 9765 usecs
      [    2.341126] 000: calling  register_cpu_capacity_sysctl+0x1/0x50 @ 1
      [    2.347564] 000: initcall register_cpu_capacity_sysctl+0x1/0x50 returned 0 after 0 usecs
      [    2.355699] 000: calling  dma_buf_init+0x1/0x84 @ 1
      [    2.360914] 000: initcall dma_buf_init+0x1/0x84 returned 0 after 0 usecs
      [    2.367627] 000: calling  init_scsi+0x1/0x60 @ 1
      [    2.373069] 000: SCSI subsystem initialized
      [    2.377257] 000: initcall init_scsi+0x1/0x60 returned 0 after 0 usecs
      [    2.383841] 000: calling  phy_init+0x1/0x148 @ 1
      [    2.388812] 000: initcall phy_init+0x1/0x148 returned 0 after 0 usecs
      [    2.395387] 000: calling  usb_common_init+0x1/0x1c @ 1
      [    2.400571] 000: initcall usb_common_init+0x1/0x1c returned 0 after 0 usecs
      [    2.407629] 000: calling  usb_init+0x1/0xd0 @ 1
      [    2.412584] 000: usbcore: registered new interface driver usbfs
      [    2.418830] 000: usbcore: registered new interface driver hub
      [    2.424795] 000: usbcore: registered new device driver usb
      [    2.430393] 000: initcall usb_init+0x1/0xd0 returned 0 after 19531 usecs
      [    2.437141] 000: calling  usb_udc_init+0x1/0x3c @ 1
      [    2.442186] 000: initcall usb_udc_init+0x1/0x3c returned 0 after 0 usecs
      [    2.448906] 000: calling  usb_roles_init+0x1/0x24 @ 1
      [    2.454115] 000: initcall usb_roles_init+0x1/0x24 returned 0 after 0 usecs
      [    2.461021] 000: calling  serio_init+0x1/0x20 @ 1
      [    2.466018] 000: initcall serio_init+0x1/0x20 returned 0 after 0 usecs
      [    2.472567] 000: calling  input_init+0x1/0xac @ 1
      [    2.477490] 000: in
      
      
      发布在 Linux
      X
      默
    • 回复: 请教如何排查 linux kernel 启动卡主的问题

      @xsyr1024
      board.dts

      /*
       * Allwinner Technology CO., Ltd.
       */
      
      /dts-v1/;
      
       /* optee used 7MB: SHM 2M: OS: 1M: TA:4M*/
      /memreserve/ 0x41B00000 0x00100000;
      /* DSP used 1MB */
      /*/memreserve/ 0x42000000 0x00100000;*/
      #include "sun8iw20p1.dtsi"
      
      /{
      	model = "sun8iw20";
      	compatible = "allwinner,r528", "arm,sun8iw20p1";
      
      	reg_vdd_cpu: vdd-cpu {
      		compatible = "sunxi-pwm-regulator";
      		pwms = <&pwm 3 5000 0>;
      		regulator-name = "vdd_cpu";
      		regulator-min-microvolt = <810000>;
      		regulator-max-microvolt = <1160000>;
      		regulator-ramp-delay = <25>;
      		regulator-always-on;
      		regulator-boot-on;
      		status = "okay";
      	};
      
      	reg_usb1_vbus: usb1-vbus {
      		compatible = "regulator-fixed";
      		regulator-name = "usb1-vbus";
      		regulator-min-microvolt = <5000000>;
      		regulator-max-microvolt = <5000000>;
      		regulator-enable-ramp-delay = <1000>;
      		gpio = <&pio PB 10 GPIO_ACTIVE_HIGH>;
      		enable-active-high;
      	};
      };
      
      &cpu0 {
      	cpu-supply = <&reg_vdd_cpu>;
      };
      
      &pio {
      	sdc0_pins_a: sdc0@0 {
      		allwinner,pins = "PF0", "PF1", "PF2",
      				 "PF3", "PF4", "PF5";
      		allwinner,function = "sdc0";
      		allwinner,muxsel = <2>;
      		allwinner,drive = <3>;
      		allwinner,pull = <1>;
      		pins = "PF0", "PF1", "PF2",
      		       "PF3", "PF4", "PF5";
      		function = "sdc0";
      		drive-strength = <30>;
      		bias-pull-up;
      		power-source = <3300>;
      	};
      
      
      	sdc0_pins_b: sdc0@1 {
      		pins = "PF0", "PF1", "PF2",
      		       "PF3", "PF4", "PF5";
      		function = "sdc0";
      		drive-strength = <30>;
      		bias-pull-up;
      		power-source = <1800>;
      	};
      
      	sdc0_pins_c: sdc0@2 {
      		pins = "PF0", "PF1", "PF2",
      			"PF3", "PF4", "PF5";
      		function = "gpio_in";
      	};
      
      	/* TODO: add jtag pin */
      	sdc0_pins_d: sdc0@3 {
      		pins = "PF2", "PF4";
      		function = "uart0";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	sdc0_pins_e: sdc0@4 {
      		pins = "PF0", "PF1", "PF3",
      			"PF5";
      		function = "jtag";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      
      	sdc1_pins_a: sdc1@0 {
      		pins = "PG0", "PG1", "PG2",
      		       "PG3", "PG4", "PG5";
      		function = "sdc1";
      		drive-strength = <30>;
      		bias-pull-up;
      	};
      
      	sdc1_pins_b: sdc1@1 {
      		pins = "PG0", "PG1", "PG2",
      		       "PG3", "PG4", "PG5";
      			function = "gpio_in";
      	};
      
      	sdc2_pins_a: sdc2@0 {
      		allwinner,pins = "PC2", "PC3", "PC4",
      				 "PC5", "PC6", "PC7";
      		allwinner,function = "sdc2";
      		allwinner,muxsel = <3>;
      		allwinner,drive = <3>;
      		allwinner,pull = <1>;
      		pins = "PC2", "PC3", "PC4",
      			"PC5", "PC6", "PC7";
      		function = "sdc2";
      		drive-strength = <30>;
      		bias-pull-up;
      	};
      
      	sdc2_pins_b: sdc2@1 {
      		pins = "PC2", "PC3", "PC4",
      		       "PC5", "PC6", "PC7";
      		function = "gpio_in";
      	};
      
      	wlan_pins_a:wlan@0 {
      		pins = "PG11";
      		function = "clk_fanout1";
      	};
      
              uart0_pins_a: uart0_pins@0 {  /* For mangopi board */
                      pins = "PE2", "PE3";
                      function = "uart0";
                      drive-strength = <10>;
                      bias-pull-up;
              };
      
              uart0_pins_b: uart0_pins@1 {  /* For mangopi board */
                      pins = "PE2", "PE3";
                      function = "gpio_in";
              };
      
      	uart1_pins_a: uart1_pins@0 {  /* For EVB1 board */
      		pins = "PG6", "PG7", "PG8", "PG9";
      		function = "uart1";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	uart1_pins_b: uart1_pins {  /* For EVB1 board */
      		pins = "PG6", "PG7", "PG8", "PG9";
      		function = "gpio_in";
      	};
      
      	uart2_pins_a: uart2_pins@0 {  /* For EVB1 board */
      		pins = "PC0", "PC1";
      		function = "uart2";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	uart2_pins_b: uart2_pins@1 {  /* For EVB1 board */
      		pins = "PC0", "PC1";
      		function = "gpio_in";
      	};
      
      	uart3_pins_a: uart3_pins@0 {  /* For EVB1 board */
      		pins = "PD10", "PD11";
      		function = "uart3";
      		muxsel = <5>;
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	twi0_pins_a: twi0@0 {
      		pins = "PB10", "PB11";	/*sck sda*/
      		function = "twi0";
      		drive-strength = <10>;
      	};
      
      	twi0_pins_b: twi0@1 {
      		pins = "PB10", "PB11";
      		function = "gpio_in";
      	};
      
      	twi1_pins_a: twi1@0 {
      		pins = "PB4", "PB5";
      		function = "twi1";
      		drive-strength = <10>;
      	};
      
      	twi1_pins_b: twi1@1 {
      		pins = "PB4", "PB5";
      		function = "gpio_in";
      	};
      
              twi2_pins_a: twi2@0 {
                      pins = "PE12", "PE13";
                      function = "twi2";
                      drive-strength = <10>;
              };
      
              twi2_pins_b: twi2@1 {
                      pins = "PE12", "PE13";
                      function = "gpio_in";
              };
      
      	twi3_pins_a: twi3@0 {
      		pins = "PE6", "PE7";
      		function = "twi3";
      		drive-strength = <10>;
      	};
      
      	twi3_pins_b: twi3@1 {
      		pins = "PE6", "PE7";
      		function = "gpio_in";
      	};
      
      	gmac_pins_a: gmac@0 {
      		pins = "PE0", "PE1", "PE2", "PE3",
      		       "PE4", "PE5", "PE6", "PE7",
      		       "PE8", "PE9", "PE10", "PE11",
      		       "PE12", "PE13", "PE14", "PE15";
      		function = "gmac0";
      		drive-strength = <10>;
      	};
      
      	gmac_pins_b: gmac@1 {
      		pins = "PE0", "PE1", "PE2", "PE3",
      		       "PE4", "PE5", "PE6", "PE7",
      		       "PE8", "PE9", "PE10", "PE11",
      		       "PE12", "PE13", "PE14", "PE15";
      		function = "gpio_in";
      	};
      
      	dmic_pins_a: dmic@0 {
      		/* DMIC_PIN: CLK, DATA0, DATA1, DATA2, DATA3*/
      		pins = "PB12", "PB11", "PB10", "PE14", "PB8";
      		function = "dmic";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	dmic_pins_b: dmic@1 {
      		pins = "PB12", "PB11", "PB10", "PE14", "PB8";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	daudio0_pins_a: daudio0@0 {
      		pins = "PE17", "PE16", "PE15", "PE14", "PE13";
      		function = "i2s0";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	daudio0_pins_b: daudio0_sleep@0 {
      		pins = "PE17", "PE16", "PE15", "PE14", "PE13";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	daudio1_pins_a: daudio1@0 {
      		pins = "PG11", "PG12", "PG13", "PG14", "PG15";
      		function = "i2s1";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	daudio1_pins_b: daudio1_sleep@0 {
      		pins = "PG11", "PG12", "PG13", "PG14", "PG15";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	daudio2_pins_a: daudio2@0 {
      		/* I2S_PIN: MCLK, BCLK, LRCK */
      		pins = "PF6", "PF3", "PF5";
      		function = "i2s2";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	daudio2_pins_b: daudio2@1 {
      		/* I2S_PIN: DOUT0 */
      		pins = "PF1";
      		function = "i2s2_dout";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	daudio2_pins_c: daudio2@2 {
      		/* I2S_PIN: DIN0 */
      		pins = "PF0";
      		function = "i2s2_din";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	daudio2_pins_d: daudio2_sleep@0 {
      		pins = "PF6", "PF3", "PF5", "PF1", "PF0";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	spdif_pins_a: spdif@0 {
      		/* SPDIF_PIN: SPDIF_OUT */
      		pins = "PG18";
      		function = "spdif";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	spdif_pins_b: spdif_sleep@0 {
      		pins = "PG18";
      		function = "io_disabled";
      		drive-strength = <20>;
      		bias-disable;
      	};
      
      	spi0_pins_a: spi0@0 {
      		pins = "PC2", "PC4", "PC5"; /* clk, mosi, miso */
      		function = "spi0";
      		muxsel = <2>;
      		drive-strength = <10>;
      	};
      
      	spi0_pins_b: spi0@1 {
      		pins = "PC3", "PC7", "PC6";
      		function = "spi0";
      		muxsel = <2>;
      		drive-strength = <10>;
      		bias-pull-up;   /* cs, hold, wp should be pulled up */
      	};
      
      	spi0_pins_c: spi0@2 {
      		pins = "PC2", "PC3", "PC4", "PC5","PC6", "PC7";
      		function = "gpio_in";
      		muxsel = <0>;
      		drive-strength = <10>;
      	};
      
      	spi1_pins_a: spi1@0 {
      		pins = "PD11", "PD12", "PD13"; /* clk, mosi, miso */
      		function = "spi1";
      		drive-strength = <10>;
      	};
      
      	spi1_pins_b: spi1@1 {
      		pins = "PD10", "PD14", "PD15";
      		function = "spi1";
      		drive-strength = <10>;
      		bias-pull-up;   /* cs, hold, wp should be pulled up */
      	};
      
      	spi1_pins_c: spi1@2 {
      		pins = "PD10", "PD11", "PD12", "PD13","PD14", "PD15";
      		function = "gpio_in";
      		drive-strength = <10>;
      	};
      
      	ledc_pins_a: ledc@0 {
      		pins = "PC0";
      		function = "ledc";
      		drive-strength = <10>;
      	};
      
      	ledc_pins_b: ledc@1 {
      		pins = "PC0";
      		function = "gpio_in";
      	};
      
      	pwm0_pin_a: pwm0@0 {
      		pins = "PD16";
      		function = "pwm0";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	pwm0_pin_b: pwm0@1 {
      		pins = "PD16";
      		function = "gpio_in";
      		bias-disable;
      	};
      
      	pwm2_pin_a: pwm2@0 {
      		pins = "PD18";
      		function = "pwm2";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	pwm2_pin_b: pwm2@1 {
      		pins = "PD18";
      		function = "gpio_out";
      	};
      
      	pwm7_pin_a: pwm7@0 {
      		pins = "PD22";
      		function = "pwm7";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	pwm7_pin_b: pwm7@1 {
      		pins = "PD22";
      		function = "gpio_in";
      	};
      
      
      	s_cir0_pins_a: s_cir@0 {
      		pins = "PB7";
      		function = "ir";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	s_cir0_pins_b: s_cir@1 {
      		pins = "PB7";
      		function = "gpio_in";
      	};
      
      	ir1_pins_a: ir1@0 {
      		pins = "PB0";
      		function = "ir";
      		drive-strength = <10>;
      		bias-pull-up;
      	};
      
      	ir1_pins_b: ir1@1 {
      		pins = "PB0";
      		function = "gpio_in";
      	};
      };
      
      &uart0 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart0_pins_a>;
      	pinctrl-1 = <&uart0_pins_b>;
      	status = "okay";
      };
      
      &uart1 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart1_pins_a>;
      	pinctrl-1 = <&uart1_pins_b>;
      	status = "disabled";
      };
      
      &uart2 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart2_pins_a>;
      	pinctrl-1 = <&uart2_pins_b>;
      	status = "disabled";
      };
      
      &uart3 {
      	compatible = "allwinner,sun20iw1-dsp-uart";
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&uart3_pins_a>;
      	pinctrl-1 = <&uart3_pins_a>;
      	status = "disabled";
      };
      
      &soc {
      	card0_boot_para@2 {
      		/*
      		 * Avoid dtc compiling warnings.
      		 * @TODO: Developer should modify this to the actual value
      		 */
      		reg = <0x0 0x2 0x0 0x0>;
      		device_type = "card0_boot_para";
      		card_ctrl = <0x0>;
      		card_high_speed = <0x1>;
      		card_line = <0x4>;
      		pinctrl-0 = <&sdc0_pins_a>;
      	};
      
      	card2_boot_para@3 {
      		/*
      		 * Avoid dtc compiling warnings.
      		 * @TODO: Developer should modify this to the actual value
      		 */
      		reg = <0x0 0x3 0x0 0x0>;
      		device_type = "card2_boot_para";
      		card_ctrl = <0x2>;
      		card_high_speed = <0x1>;
      		card_line = <0x4>;
      		pinctrl-0 = <&sdc2_pins_a>;
      		/*pinctrl-0 = <&sdc0_pins_a>;*/
      		/*sdc_ex_dly_used = <0x2>;*/
      		sdc_io_1v8 = <0x1>;
      		/*sdc_type = "tm4";*/
      		sdc_tm4_hs200_max_freq = <150>;
      		sdc_tm4_hs400_max_freq = <100>;
      		sdc_ex_dly_used = <2>;
      		/*sdc_tm4_win_th = <8>;*/
      		/*sdc_dis_host_caps = <0x180>;*/
      	};
      
      	rfkill: rfkill@0 {
      		compatible    = "allwinner,sunxi-rfkill";
      		chip_en;
      		power_en;
      		pinctrl-0 = <&wlan_pins_a>;
      		pinctrl-names = "default";
      		status        = "okay";
      
      		wlan: wlan@0 {
      			compatible    = "allwinner,sunxi-wlan";
      			clock-names = "32k-fanout1";
      			clocks = <&ccu CLK_FANOUT1_OUT>;
      			wlan_busnum    = <0x1>;
      			wlan_regon    = <&pio PG 12 GPIO_ACTIVE_HIGH>;
      			wlan_hostwake  = <&pio PG 10 GPIO_ACTIVE_HIGH>;
      			/*wlan_power    = "VCC-3V3";*/
      			/*wlan_power_vol = <3300000>;*/
      			/*interrupt-parent = <&pio>;
      			interrupts = < PG 10 IRQ_TYPE_LEVEL_HIGH>;*/
      			wakeup-source;
      
      		};
      		
      		bt: bt@0 {
      			compatible    = "allwinner,sunxi-bt";
      			clock-names = "32k-fanout1";
      			clocks = <&ccu CLK_FANOUT1_OUT>;
      			/*bt_power_num = <0x01>;*/
      			/*bt_power      = "axp803-dldo1";*/
      			/*bt_io_regulator = "axp803-dldo1";*/
      			/*bt_io_vol = <3300000>;*/
      			/*bt_power_vol = <330000>;*/
      			bt_rst_n      = <&pio PG 18 GPIO_ACTIVE_LOW>;
      			status        = "disabled";
      		};
      	};
      
      	btlpm: btlpm@0 {
      		compatible  = "allwinner,sunxi-btlpm";
      		uart_index  = <0x1>;
      		bt_wake     = <&pio PG 14 GPIO_ACTIVE_HIGH>;
      		bt_hostwake = <&pio PG 13 GPIO_ACTIVE_HIGH>;
      		status      = "disabled";
      	};
      
      	addr_mgt: addr_mgt@0 {
      		compatible     = "allwinner,sunxi-addr_mgt";
      		type_addr_wifi = <0x0>;
      		type_addr_bt   = <0x0>;
      		type_addr_eth  = <0x0>;
      		status         = "okay";
      	};
      };
      
      &sdc2 {
      	non-removable;
      	bus-width = <4>;
      	mmc-ddr-1_8v;
      	mmc-hs200-1_8v;
      	no-sdio;
      	no-sd;
      	ctl-spec-caps = <0x308>;
      	cap-mmc-highspeed;
      	sunxi-power-save-mode;
      	sunxi-dis-signal-vol-sw;
      	mmc-bootpart-noacc;
      	max-frequency = <150000000>;
      	/*vmmc-supply = <&reg_dcdc1>;*/
      	/*emmc io vol 3.3v*/
      	/*vqmmc-supply = <&reg_aldo1>;*/
      	/*emmc io vol 1.8v*/
      	/*vqmmc-supply = <&reg_eldo1>;*/
      	status = "disabled";
      };
      
      &sdc0 {
      	bus-width = <4>;
      	cd-gpios = <&pio PF 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; /* mangopi */
      	/*non-removable;*/
      	/*broken-cd;*/
      	/*cd-inverted;*/
      	/*data3-detect;*/
      	/*card-pwr-gpios = <&pio PH 14 1 1 2 0xffffffff>;*/
      	/*cd-used-24M;*/
      	cap-sd-highspeed;
      	/*sd-uhs-sdr50;*/
      	/*sd-uhs-ddr50;*/
      	/*sd-uhs-sdr104;*/
      	no-sdio;
      	no-mmc;
      	sunxi-power-save-mode;
      	/*sunxi-dis-signal-vol-sw;*/
      	max-frequency = <150000000>;
      	ctl-spec-caps = <0x8>;
      	/*vmmc-supply = <&reg_dcdc1>;*/
      	/*vqmmc33sw-supply = <&reg_dcdc1>;*/
      	/*vdmmc33sw-supply = <&reg_dcdc1>;*/
      	/*vqmmc18sw-supply = <&reg_eldo1>;*/
      	/*vdmmc18sw-supply = <&reg_eldo1>;*/
      	status = "okay";
      };
      
      &sdc1 {
      	bus-width = <4>;
      	no-mmc;
      	no-sd;
      	cap-sd-highspeed;
      	/*sd-uhs-sdr12*/
      	/*sd-uhs-sdr25;*/
      	/*sd-uhs-sdr50;*/
      	/*sd-uhs-ddr50;*/
      	/*sd-uhs-sdr104;*/
      	/*sunxi-power-save-mode;*/
      	/*sunxi-dis-signal-vol-sw;*/
      	cap-sdio-irq;
      	keep-power-in-suspend;
      	ignore-pm-notify;
      	max-frequency = <150000000>;
      	ctl-spec-caps = <0x8>;
      	status = "okay";
      };
      
      
      /*
      tvd configuration
      used                   (create device, 0: do not create device, 1: create device)
      agc_auto_enable        (0: agc manual mode,agc_manual_value is valid; 1: agc auto mode)
      agc_manual_value       (agc manual value, default value is 64)
      cagc_enable            (cagc        0: disable, 1: enable)
      fliter_used            (3d fliter   0: disable, 1: enable)
      support two PMU power  (tvd_power0, tvd_power1)
      support two GPIO power (tvd_gpio0, tvd_gpio1)
      NOTICE: If tvd need pmu power or gpio power,params need be configured under [tvd]
      tvd_sw                 (the switch of all tvd driver.)
      tvd_interface          (0: cvbs, 1: ypbpr,)
      tvd_format             (0:TVD_PL_YUV420 , 1: MB_YUV420, 2: TVD_PL_YUV422)
      tvd_system             (0:ntsc, 1:pal)
      tvd_row                (total row number in multi channel mode 1-2)
      tvd_column             (total column number in multi channel mode 1-2)
      tvd_channelx_en        (0:disable, 1~4:position in multi channel mode,In single channel
                             mode,mean enable)
      tvd_row*tvd_column is the total tvd channel number to be used in multichannel mode
      +--------------------+--------------------+
      |                    |                    |
      |                    |                    |
      |         1          |         2          |
      |                    |                    |
      |                    |                    |
      +--------------------+--------------------+
      |                    |                    |
      |                    |                    |
      |         3          |         4          |
      |                    |                    |
      |                    |                    |
      +--------------------+--------------------+
      */
      
      &tvd {
      	tvd_sw          = <1>;
      	tvd_interface   = <0>;
      	tvd_format      = <0>;
      	tvd_system      = <1>;
      	tvd_row         = <1>;
      	tvd_column      = <1>;
      	tvd_channel0_en = <1>;
      	tvd_channel1_en = <0>;
      	tvd_channel2_en = <0>;
      	tvd_channel3_en = <0>;
      	/*tvd_gpio0 = <&pio PD 22 GPIO_ACTIVE_HIGH>;*/
      	/*tvd_gpio1 = <&pio PD 23 GPIO_ACTIVE_HIGH>;*/
      	/*tvd_gpio2 = <&pio PD 24 GPIO_ACTIVE_HIGH>;*/
      	/*	dc1sw-supply = <&reg_dc1sw>;*/
      	/*	eldo3-supply = <&reg_eldo3>;*/
      	/*tvd_power0      = "dc1sw"*/
      	/*tvd_power1      = "eldo3"*/
      };
      
      &tvd0 {
      	used                    = <1>;
      	agc_auto_enable         = <1>;
      	agc_manual_value        = <64>;
      	cagc_enable             = <1>;
      	fliter_used             = <1>;
      };
      
      /* Audio Driver modules */
      &sunxi_rpaf_dsp0 {
      	status = "disabled";
      };
      
      /* if audiocodec is used, sdc0 and uart0 should be closed to enable PA. */
      &codec {
      	/* MIC and headphone gain setting */
      	mic1gain 	= <0x1F>;
      	mic2gain 	= <0x1F>;
      	mic3gain 	= <0x1F>;
      	/* ADC/DAC DRC/HPF func enabled */
              /* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */
      	adcdrc_cfg 	= <0x0>;
      	adchpf_cfg 	= <0x1>;
      	dacdrc_cfg 	= <0x0>;
      	dachpf_cfg 	= <0x0>;
      	/* Volume about */
      	digital_vol 	= <0x00>;
      	lineout_vol 	= <0x1a>;
      	headphonegain	= <0x03>;
      	/* Pa enabled about */
      	pa_level 	= <0x01>;
      	pa_pwr_level 	= <0x01>;
      	pa_msleep_time 	= <0x78>;
      	/* gpio-spk	= <&pio PF 2 GPIO_ACTIVE_HIGH>;*/
      	/* gpio-spk-pwr	= <&pio PF 4 GPIO_ACTIVE_HIGH>; */
      	/* CMA config about */
      	playback_cma	= <128>;
      	capture_cma	= <256>;
      	/* regulator about */
      	/* avcc-supply	= <&reg_aldo1>; */
      	/* hpvcc-supply	= <&reg_eldo1>; */
      	status = "okay";
      };
      
      &sndcodec {
      	hp_detect_case	= <0x00>;
      	jack_enable	= <0x01>;
      	status = "okay";
      };
      
      &dummy_cpudai {
      	status = "okay";
      };
      
      &dmic {
      	pinctrl-names   = "default","sleep";
      	pinctrl-0       = <&dmic_pins_a>;
      	pinctrl-1       = <&dmic_pins_b>;
      	status = "disabled";
      };
      
      &dmic_codec {
      	status = "okay";
      };
      
      &sounddmic {
      	status = "okay";
      };
      
      /*-----------------------------------------------------------------------------
       * pcm_lrck_period	16/32/64/128/256
       * slot_width_select	16bits/20bits/24bits/32bits
       * frametype		0 --> short frame = 1 clock width;
       *			1 --> long frame = 2 clock width;
       * tdm_config		0 --> pcm
       *			1 --> i2s
       * mclk_div		0 --> not output
       *			1/2/4/6/8/12/16/24/32/48/64/96/128/176/192
       *			(set mclk as external codec clk source, freq is pll_audio/mclk_div)
       * pinctrl_used		0 --> I2S/PCM use for internal
       *			1 --> I2S/PCM use for external audio
       * daudio_type:		0 --> external audio type
       *---------------------------------------------------------------------------*/
      &daudio0 {
      	mclk_div 	= <0x01>;
      	frametype 	= <0x00>;
      	tdm_config 	= <0x01>;
      	sign_extend 	= <0x00>;
      	msb_lsb_first 	= <0x00>;
      	pcm_lrck_period = <0x80>;
      	slot_width_select = <0x20>;
      	pinctrl-names   = "default", "sleep";
      	pinctrl-0       = <&daudio0_pins_a>;
      	pinctrl-1       = <&daudio0_pins_b>;
      	pinctrl_used	= <0x0>;
      	status = "disabled";
      };
      
      /*-----------------------------------------------------------------------------
       * simple-audio-card,name	name of sound card, e.g.
       *				"snddaudio0" --> use for external audio
       * sound-dai			"snd-soc-dummy" --> use for I2S
       *				"ac108" --> use for external audio of ac108
       *---------------------------------------------------------------------------*/
      &sounddaudio0 {
      	/* simple-audio-card,format = "i2s"; */
      	/* simple-audio-card,frame-master = <&daudio0_master>; */
      	/* simple-audio-card,bitclock-master = <&daudio0_master>; */
      	/* simple-audio-card,bitclock-inversion; */
      	/* simple-audio-card,frame-inversion; */
      	status = "disabled";
      	daudio0_master: simple-audio-card,codec {
      		/* sound-dai = <&ac108>; */
      	};
      };
      
      &daudio1 {
      	mclk_div 	= <0x01>;
      	frametype 	= <0x00>;
      	tdm_config 	= <0x01>;
      	sign_extend 	= <0x00>;
      	msb_lsb_first 	= <0x00>;
      	pcm_lrck_period = <0x80>;
      	slot_width_select = <0x20>;
      	pinctrl-names   = "default", "sleep";
      	pinctrl-0       = <&daudio1_pins_a>;
      	pinctrl-1       = <&daudio1_pins_b>;
      	pinctrl_used	= <0x0>;
      	status = "disabled";
      };
      
      &sounddaudio1 {
      	status = "disabled";
      	daudio1_master: simple-audio-card,codec {
      		/* sound-dai = <&ac108>; */
      	};
      };
      
      &daudio2 {
      	mclk_div 	= <0x01>;
      	frametype 	= <0x00>;
      	tdm_config 	= <0x01>;
      	sign_extend 	= <0x00>;
      	tx_data_mode 	= <0x00>;
      	rx_data_mode 	= <0x00>;
      	msb_lsb_first 	= <0x00>;
      	pcm_lrck_period = <0x80>;
      	slot_width_select = <0x20>;
      	asrc_function_en  = <0x00>;
      	pinctrl-names   = "default", "sleep";
      	pinctrl-0       = <&daudio2_pins_a &daudio2_pins_b &daudio2_pins_c>;
      	pinctrl-1       = <&daudio2_pins_d>;
      	pinctrl_used	= <0x1>;
      	daudio_type	= <0x0>;
      	status = "disabled";
      };
      
      &sounddaudio2 {
      	status = "disabled"; /* mangopi */
      	daudio2_master: simple-audio-card,codec {
      		/* sound-dai = <&ac108>; */
      	};
      };
      
      &spdif {
      	pinctrl-names   = "default","sleep";
      	pinctrl-0       = <&spdif_pins_a>;
      	pinctrl-1       = <&spdif_pins_b>;
      	status = "okay";
      };
      
      &soundspdif {
      	status = "okay";
      };
      
      /*
       *usb_port_type: usb mode. 0-device, 1-host, 2-otg.
       *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
       *usb_detect_mode: 0-thread scan, 1-id gpio interrupt.
       *usb_id_gpio: gpio for id detect.
       *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl";
       *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY.
       */
      &usbc0 {
      	device_type = "usbc0";
      	usb_port_type = <0x0>;
      	usb_detect_type = <0x0>;
      /*	usb_detect_mode = <0>;
      	usb_id_gpio = <&pio PB 8 GPIO_ACTIVE_HIGH>;
      	enable-active-high;
      	usb_det_vbus_gpio = <&pio PB 9 GPIO_ACTIVE_HIGH>; */
      	usb_wakeup_suspend = <0>;
      	usb_serial_unique = <0>;
      	usb_serial_number = "20080411";
      	rndis_wceis = <1>;
      	status = "okay";
      };
      
      &ehci0 {
      	drvvbus-supply = <&reg_usb1_vbus>;
      };
      
      &ohci0 {
      	drvvbus-supply = <&reg_usb1_vbus>;
      };
      
      &usbc1 {
      	device_type = "usbc1";
          usb_port_type = <0x01>;
          usb_detect_type = <0x1>;	
      	usb_regulator_io = "nocare";
      	usb_wakeup_suspend = <0>;
      	status = "okay";
      };
      
      &ehci1 {
      	status = "okay";
      };
      
      &ohci1 {
      	status = "okay";
      };
      
      &twi0 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi0_pins_a>;
      	pinctrl-1 = <&twi0_pins_b>;
      	pinctrl-names = "default", "sleep";
      	status = "disabled";
      
      	eeprom@50 {
      		compatible = "atmel,24c16";
      		reg = <0x50>;
      		status = "disabled";
      	};
      };
      
      &twi1 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi1_pins_a>;
      	pinctrl-1 = <&twi1_pins_b>;
      	pinctrl-names = "default", "sleep";
      	status = "disabled";
      };
      
      &twi2 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi2_pins_a>;
      	pinctrl-1 = <&twi2_pins_b>;
      	pinctrl-names = "default", "sleep";
      	dmas = <&dma 45>, <&dma 45>;
      	dma-names = "tx", "rx";
      	status = "okay";
      
      	/* pcf8574-usage:
      	 * only use gpio0~7, 0 means PP0.
      	 * pin set:
      	 * gpios = <&pcf8574 0 GPIO_ACTIVE_LOW>;
      	 * interrupt set:
      	 * interrupt-parent = <&pcf8574>;
      	 * interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
      	 */
      	pcf8574: gpio@38 {
      		compatible = "nxp,pcf8574";
      		reg = <0x38>;
      		gpio_base = <2020>;
      		gpio-controller;
      		#gpio-cells = <2>;
      		interrupt-controller;
      		#interrupt-cells = <2>;
      		interrupt-parent = <&pio>;
      		interrupts = <PB 2 IRQ_TYPE_EDGE_FALLING>;
      		status = "disabled";
      	};
      
      	ctp@14 {
                      compatible = "allwinner,goodix";
                      device_type = "ctp";
                      reg = <0x14>;
                      status = "okay";
                      ctp_name = "gt9xxnew_ts";
                      ctp_twi_id = <0x2>;
                      ctp_twi_addr = <0x14>;
                      ctp_screen_max_x = <0x320>;
                      ctp_screen_max_y = <0x1e0>;
                      ctp_revert_x_flag = <0x0>;
                      ctp_revert_y_flag = <0x0>;
                      ctp_exchange_x_y_flag = <0x0>;
                      ctp_int_port = <&pio PB 3 GPIO_ACTIVE_HIGH>;
                      ctp_wakeup = <&pio PB 2 GPIO_ACTIVE_HIGH>;
                      /*ctp-supply = <&reg_aldo2>;*/
                      /*ctp_power_ldo = <&reg_aldo2>;*/
                      /*ctp_power_ldo_vol = <3300>;*/
      	};
      };
      
      &twi3 {
      	clock-frequency = <400000>;
      	pinctrl-0 = <&twi3_pins_a>;
      	pinctrl-1 = <&twi3_pins_b>;
      	pinctrl-names = "default", "sleep";
      	status = "disabled";
      };
      
      &gmac0 {
      	phy-mode = "rgmii";
      	use_ephy25m = <1>;
      	pinctrl-0 = <&gmac_pins_a>;
      	pinctrl-1 = <&gmac_pins_b>;
      	pinctrl-names = "default", "sleep";
      	phy-rst = <&pio PE 16 GPIO_ACTIVE_HIGH>;
      	tx-delay = <3>; /*2~4*/
      	rx-delay = <0>;
      	status = "disabled";
      };
      
      &spi0 {
      	clock-frequency = <100000000>;
      	pinctrl-0 = <&spi0_pins_a &spi0_pins_b>;
      	pinctrl-1 = <&spi0_pins_c>;
      	pinctrl-names = "default", "sleep";
      	/*spi-supply = <&reg_dcdc1>;*/
      	spi_slave_mode = <0>;
      	spi0_cs_number = <1>;
          spi0_cs_bitmap = <1>;
      	status = "okay";
      
      	spi-nand@0 {
      		compatible = "spi-nand";
      		spi-max-frequency=<100000000>;
      		reg = <0x0>;
      		spi-rx-bus-width=<0x01>;
      		spi-tx-bus-width=<0x01>;
      		status="okay";
      	};
      
      	spi-nor@0 {
      		compatible = "jedec,spi-nor";
      		spi-max-frequency=<30000000>;
      		reg = <0x0>;
      		spi-rx-bus-width=<0x01>;
      		spi-tx-bus-width=<0x01>;
      		status="disabled";
      	};
      };
      
      &spi1 {
      	clock-frequency = <100000000>;
      	pinctrl-0 = <&spi1_pins_a &spi1_pins_b>;
      	pinctrl-1 = <&spi1_pins_c>;
      	pinctrl-names = "default", "sleep";
      	spi_slave_mode = <0>;
      	status = "disabled";
      
      	spi_board1@0 {
      		device_type = "spi_board1";
      		compatible = "rohm,dh2228fv";
      		spi-max-frequency = <0x5f5e100>;
      		reg = <0x0>;
      		spi-rx-bus-width = <0x4>;
      		spi-tx-bus-width = <0x4>;
      		status = "disabled";
      	};
      };
      
      &ledc {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&ledc_pins_a>;
      	pinctrl-1 = <&ledc_pins_b>;
      	led_count = <12>;
      	output_mode = "GRB";
      	reset_ns = <84>;
      	t1h_ns = <800>;
      	t1l_ns = <320>;
      	t0h_ns = <300>;
      	t0l_ns = <800>;
      	wait_time0_ns = <84>;
      	wait_time1_ns = <84>;
      	wait_data_time_ns = <600000>;
      	status	= "disabled";
      };
      
      &keyboard0 {
      	key0 = <210 0x160>;
      	wakeup-source;
      	status = "disabled";
      };
      
      /*----------------------------------------------------------------------------------
      disp init configuration
      
      disp_mode             (0:screen0<screen0,fb0>)
      screenx_output_type   (0:none; 1:lcd; 2:tv; 5:vdpo)
      fbx format            (4:RGB655 5:RGB565 6:RGB556 7:ARGB1555 8:RGBA5551 9:RGB888 10:ARGB8888 12:ARGB4444)
      fbx pixel sequence    (0:ARGB 1:BGRA 2:ABGR 3:RGBA)
      fb0_scaler_mode_enable(scaler mode enable, used FE)
      fbx_width,fbx_height  (framebuffer horizontal/vertical pixels, fix to output resolution while equal 0)
      lcdx_backlight        (lcd init backlight,the range:[0,256],default:197
      lcdx_yy               (lcd init screen bright/contrast/saturation/hue, value:0~100, default:50/50/57/50)
      lcd0_contrast         (LCD contrast, 0~100)
      lcd0_saturation       (LCD saturation, 0~100)
      lcd0_hue              (LCD hue, 0~100)
      framebuffer software rotation setting:
      disp_rotation_used:   (0:disable; 1:enable,you must set fbX_width to lcd_y,
      set fbX_height to lcd_x)
      degreeX:              (X:screen index; 0:0 degree; 1:90 degree; 3:270 degree)
      degreeX_Y:            (X:screen index; Y:layer index 0~15; 0:0 degree; 1:90 degree; 3:270 degree)
      devX_output_type : config output type in bootGUI framework in UBOOT-2018.
      				   (0:none; 1:lcd; 2:tv;)
      devX_output_mode : config output resolution(see include/video/sunxi_display2.h) of bootGUI framework in UBOOT-2018
      devX_screen_id   : config display index of bootGUI framework in UBOOT-2018
      devX_do_hpd      : whether do hpd detectation or not in UBOOT-2018
      chn_cfg_mode     : Hardware DE channel allocation config. 0:single display with 6
      				   channel, 1:dual display with 4 channel in main display and 2 channel in second
                         display, 2:dual display with 3 channel in main display and 3 channel in second
                         in display.
      ----------------------------------------------------------------------------------*/
      &disp {
      	disp_init_enable         = <1>;
      	disp_mode                = <0>;
      
      	screen0_output_type      = <1>;
      	screen0_output_mode      = <4>;
      
      	screen1_output_type      = <3>;
      	screen1_output_mode      = <4>;
      	
      	screen1_output_format    = <0>;
      	screen1_output_bits      = <0>;
      	screen1_output_eotf      = <4>;
      	screen1_output_cs        = <257>;
      	screen1_output_range     = <2>;
      	screen1_output_scan      = <0>;
      	screen1_output_aspect_ratio = <8>;
      	dev0_output_type         = <1>;
      	dev0_output_mode         = <4>;
      	dev0_screen_id           = <0>;
      	dev0_do_hpd              = <0>;
      
      	dev1_output_type         = <4>;
      	dev1_output_mode         = <10>;
      	dev1_screen_id           = <1>;
      	dev1_do_hpd              = <1>;
      
      	def_output_dev           = <0>;
      	disp_rotation_used		 = <1>;
      	degree0					 = <0>;
      	fb0_format               = <0>;
      	fb0_buffer_num           = <1>;	
      	/*fb0_width                = <800>;*/
      	/*fb0_height               = <480>;*/  /*read from lcd*/
      	fb1_format               = <0>;
      	fb1_width                = <0>;
      	fb1_height               = <0>;
      	chn_cfg_mode             = <1>;
      
      	disp_para_zone           = <1>;
      	/*VCC-LCD*/
      /*	dc1sw-supply = <&reg_dc1sw>;*/
      	/*VCC-DSI*/
      /*	eldo3-supply = <&reg_eldo3>;*/
      	/*VCC-PD*/
      /*	dcdc1-supply = <&reg_dcdc1>;*/
      };
      
      /*----------------------------------------------------------------------------------
      ;lcd0 configuration
      
      ;lcd_if:               0:hv(sync+de); 1:8080; 2:ttl; 3:lvds; 4:dsi; 5:edp; 6:extend dsi
      ;lcd_hv_if             0:Parallel RGB; 8:Serial RGB; 10:Dummy RGB; 11: RGB Dummy;12:CCIR656
      ;lcd_hv_clk_phase      0:0 degree;1:90 degree;2:180 degree;3:270 degree
      ;lcd_hv_sync_polarity  0:vs low,hs low; 1:vs high,hslow; 2:vs low,hs high; 3:vs high,hs high
      ;lcd_hv_syuv_seq       0:YUYV; 1:YVYU; 2:UYVY; 3:VYUY
      ;lcd_cpu_if            0:18bit/1 cycle parallel(RGB666); 4:16bit/1cycle parallel (RGB565)
      ;                      6:18bit/3 cycle parallel(RGB666); 7:16bit/2cycle parallel (RGB565)
      ;lcd_cpu_te            0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
      ;lcd_dsi_if            0:video mode; 1: Command mode; 2:video burst mode
      ;lcd_dsi_te            0:frame auto trigger; 1:frame triggered by te rising edge; 2:frame triggered by te falling edge;
      ;lcd_x:                lcd horizontal resolution
      ;lcd_y:                lcd vertical resolution
      ;lcd_width:            width of lcd in mm
      ;lcd_height:           height of lcd in mm
      ;lcd_dclk_freq:        in MHZ unit
      ;lcd_pwm_freq:         in HZ unit
      ;lcd_pwm_pol:          lcd backlight PWM polarity
      ;lcd_pwm_max_limit     lcd backlight PWM max limit(<=255)
      ;lcd_hbp:              hsync back porch(pixel) + hsync plus width(pixel);
      ;lcd_ht:               hsync total cycle(pixel)
      ;lcd_vbp:              vsync back porch(line) + vysnc plus width(line)
      ;lcd_vt:               vysnc total cycle(line)
      ;lcd_hspw:             hsync plus width(pixel)
      ;lcd_vspw:             vysnc plus width(pixel)
      ;lcd_lvds_if:          0:single link;  1:dual link
      ;lcd_lvds_colordepth:  0:8bit; 1:6bit
      ;lcd_lvds_mode:        0:NS mode; 1:JEIDA mode
      ;lcd_frm:              0:disable; 1:enable rgb666 dither; 2:enable rgb656 dither
      ;lcd_io_phase:         0:noraml; 1:intert phase(0~3bit: vsync phase; 4~7bit:hsync phase;
      ;                      8~11bit:dclk phase; 12~15bit:de phase)
      ;lcd_gamma_en          lcd gamma correction enable
      ;lcd_bright_curve_en   lcd bright curve correction enable
      ;lcd_cmap_en           lcd color map function enable
      ;deu_mode              0:smoll lcd screen; 1:large lcd screen(larger than 10inch)
      ;lcdgamma4iep:         Smart Backlight parameter, lcd gamma vale * 10;
      ;                      decrease it while lcd is not bright enough; increase while lcd is too bright
      ;smart_color           90:normal lcd screen 65:retina lcd screen(9.7inch)
      ;Pin setting for special function ie.LVDS, RGB data or vsync
      ;   name(donot care) = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;Pin setting for gpio:
      ;   lcd_gpio_X     = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;Pin setting for backlight enable pin
      ;   lcd_bl_en     = port:PD12<pin function><pull up or pull down><drive ability><output level>
      ;fsync setting, pulse to csi
      ;lcd_fsync_en          (0:disable fsync,1:enable)
      ;lcd_fsync_act_time    (active time of fsync, unit:pixel)
      ;lcd_fsync_dis_time    (disactive time of fsync, unit:pixel)
      ;lcd_fsync_pol         (0:positive;1:negative)
      ;gpio config: <&pio for cpu or &r_pio for cpus, port, port num, pio function,
      pull up or pull down(default 0), driver level(default 1), data>
      ;For dual link lvds: use lvds2link_pins_a  and lvds2link_pins_b instead
      ;For rgb24: use rgb24_pins_a  and rgb24_pins_b instead
      ;For lvds1: use lvds1_pins_a  and lvds1_pins_b instead
      ;For lvds0: use lvds0_pins_a  and lvds0_pins_b instead
      ;----------------------------------------------------------------------------------*/
      /*
      &lcd0 {
      	lcd_used            = <0>;
      
      	lcd_driver_name     = "tft08006";
      	lcd_backlight       = <100>;
      	lcd_if              = <4>;
      
      	lcd_x               = <800>;
      	lcd_y               = <1280>;
      	lcd_width           = <52>;
      	lcd_height          = <52>;
      	lcd_dclk_freq       = <70>;
      
      	lcd_pwm_used        = <1>;
      	lcd_pwm_ch          = <2>;
      	lcd_pwm_freq        = <1000>;
      	lcd_pwm_pol         = <0>;
      	lcd_pwm_max_limit   = <255>;
      
      	lcd_hbp             = <32>;
      	lcd_ht              = <868>;
      	lcd_hspw            = <4>;
      	lcd_vbp             = <12>;
      	lcd_vt              = <1311>;
      	lcd_vspw            = <4>;
      
      	lcd_dsi_if          = <0>;
      	lcd_dsi_lane        = <4>;
      	lcd_lvds_if         = <0>;
      	lcd_lvds_colordepth = <0>;
      	lcd_lvds_mode       = <0>;
      	lcd_frm             = <0>;
      	lcd_hv_clk_phase    = <0>;
      	lcd_hv_sync_polarity= <0>;
      	lcd_io_phase        = <0x0000>;
      	lcd_gamma_en        = <0>;
      	lcd_bright_curve_en = <0>;
      	lcd_cmap_en         = <0>;
      	lcd_fsync_en        = <0>;
      	lcd_fsync_act_time  = <1000>;
      	lcd_fsync_dis_time  = <1000>;
      	lcd_fsync_pol       = <0>;
      
      	deu_mode            = <0>;
      	lcdgamma4iep        = <22>;
      	smart_color         = <90>;
      
      	lcd_gpio_0 =  <&pio PG 13 GPIO_ACTIVE_HIGH>;
      	pinctrl-0 = <&dsi4lane_pins_a>;
      	pinctrl-1 = <&dsi4lane_pins_b>;
      };
      */
      
      &lcd0 {
      	lcd_used            = <1>;
      
      	lcd_driver_name     = "default_lcd";
      	lcd_backlight       = <50>;
      	lcd_if              = <0>;
      
      	lcd_x               = <800>;
      	lcd_y               = <480>;
      	lcd_width           = <150>;
      	lcd_height          = <94>;
      	lcd_dclk_freq       = <48>;
      
      	lcd_pwm_used        = <1>;
      	lcd_pwm_ch          = <7>;
      	lcd_pwm_freq        = <500>;
      	lcd_pwm_pol         = <0>;
      
      	lcd_hbp             = <55>;
      	lcd_ht              = <1240>;
      	lcd_hspw            = <20>;
      	lcd_vbp             = <35>;
      	lcd_vt              = <650>;
      	lcd_vspw            = <10>;
      
      	lcd_lvds_if         = <0>;
      	lcd_lvds_colordepth = <1>;
      	lcd_lvds_mode       = <0>;
      	lcd_frm             = <0>;
      	lcd_io_phase        = <0x0000>;
      	lcd_gamma_en        = <0>;
      	lcd_bright_curve_en = <0>;
      	lcd_cmap_en         = <0>;
      
      	deu_mode            = <0>;
      	lcdgamma4iep        = <22>;
      	smart_color         = <90>;
      
      	pinctrl-0 = <&rgb18_pins_a>;
      	pinctrl-1 = <&rgb18_pins_b>;
      /*
      	lcd_driver_name     = "default_lcd";
      	lcd_backlight       = <150>;
      	lcd_if              = <3>;
      
      	lcd_x               = <1280>;
      	lcd_y               = <800>;
      	lcd_width           = <150>;
      	lcd_height          = <94>;
      	lcd_dclk_freq       = <71>;
      	lcd_rb_swap			= <0>;
      	
      	lcd_pwm_used        = <1>;
      	lcd_pwm_ch          = <7>;
      	lcd_pwm_freq        = <50000>;
      	lcd_pwm_pol         = <1>;
      	lcd_pwm_max_limit   = <255>;
      
      	lcd_hbp             = <20>;
      	lcd_ht              = <1418>;
      	lcd_hspw            = <10>;
      	lcd_vbp             = <10>;
      	lcd_vt              = <814>;
      	lcd_vspw            = <5>;
      
      	lcd_lvds_if         = <0>;
      	lcd_lvds_colordepth = <1>;
      	lcd_lvds_mode       = <0>;
      	lcd_frm             = <1>;
      	lcd_io_phase        = <0x0000>;
      	lcd_hv_clk_phase	= <0>;
      	lcd_hv_sync_polarity = <0>;
      	lcd_gamma_en        = <0>;
      	lcd_bright_curve_en = <0>;
      	lcd_cmap_en         = <0>;
      	lcd_fsync_act_time  = <1000>;
      	lcd_fsync_dis_time  = <1000>;
      	
      	deu_mode            = <0>;
      	lcdgamma4iep        = <22>;
      	smart_color         = <90>;
      
      	pinctrl-0 = <&lvds0_pins_a>;
      	pinctrl-1 = <&lvds0_pins_b>;
      	lcd_bl_en = <&pio PD 20 GPIO_ACTIVE_HIGH>;	
      
      	lcd_driver_name     = "he0801a068";
      	lcd_backlight       = <50>;
      	lcd_if              = <4>;
      
      	lcd_x               = <800>;
      	lcd_y               = <1280>;
      	lcd_width           = <52>;
      	lcd_height          = <52>;
      	lcd_dclk_freq       = <78>;
      
      	lcd_pwm_used        = <1>;
      	lcd_pwm_ch          = <7>;
      	lcd_pwm_freq        = <50000>;
      	lcd_pwm_pol         = <1>;
      	lcd_pwm_max_limit   = <255>;
      
      	lcd_hbp             = <149>;
      	lcd_ht              = <978>;
      	lcd_hspw            = <16>;
      	lcd_vbp             = <7>;
      	lcd_vt              = <1329>;
      	lcd_vspw            = <5>;
      
      	lcd_dsi_lane        = <4>;
      	lcd_lvds_if         = <0>;
      	lcd_lvds_colordepth = <1>;
      	lcd_lvds_mode       = <0>;
      	lcd_frm             = <0>;
      	lcd_io_phase        = <0x0000>;
      	lcd_gamma_en        = <0>;
      	lcd_bright_curve_en = <0>;
      	lcd_cmap_en         = <0>;
      	lcd_fsync_act_time  = <1000>;
      	lcd_fsync_dis_time  = <1000>;
      	
      	deu_mode            = <0>;
      	lcdgamma4iep        = <22>;
      	smart_color         = <90>;
      
      	pinctrl-0 = <&dsi4lane_pins_a>;
      	pinctrl-1 = <&dsi4lane_pins_b>;
      	lcd_gpio_0 = <&pio PD 20 GPIO_ACTIVE_HIGH>;	
      */
      };
      
      &pwm0 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&pwm0_pin_a>;
      	pinctrl-1 = <&pwm0_pin_b>;
      	status = "disabled";
      };
      
      &pwm2 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&pwm2_pin_a>;
      	pinctrl-1 = <&pwm2_pin_b>;
      	status = "disabled";
      };
      
      
      &pwm7 {
      	pinctrl-names = "active", "sleep";
      	pinctrl-0 = <&pwm7_pin_a>;
      	pinctrl-1 = <&pwm7_pin_b>;
      	status = "disabled";
      };
      
      &rtp {
      	allwinner,tp-sensitive-adjust = <0xf>;
      	allwinner,filter-type = <0x1>;
      	allwinner,ts-attached;
      	status = "disabled";
      };
      
      &tpadc {
      	key_cnt = <5>;
      	key1 = <420 115>;
      	key2 = <870 114>;
      	key3 = <1290 119>;
      	key4 = <1630 373>;
      	key5 = <1950 28>;
      	status = "disabled";
      };
      
      &gpadc {
      	channel_num = <1>;
      	channel_select = <0x01>;
      	channel_data_select = <0>;
      	channel_compare_select = <0x01>;
      	channel_cld_select = <0x01>;
      	channel_chd_select = <0>;
      	channel0_compare_lowdata = <1600000>;
      	channel0_compare_higdata = <1200000>;
      	channel1_compare_lowdata = <460000>;
      	channel1_compare_higdata = <1200000>;
      	key_cnt = <5>;
      	key0_vol = <210>;
      	key0_val = <0x19c>;
      	key1_vol = <410>;
      	key1_val = <0x197>;
      	key2_vol = <590>;
      	key2_val = <158>;
      	key3_vol = <750>;
      	key3_val = <28>;
      	key4_vol = <880>;
      	key4_val = <28>;
      	status = "okay";
      	wakeup-source;
      };
      
      &s_cir0 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&s_cir0_pins_a>;
      	pinctrl-1 = <&s_cir0_pins_b>;
      	ir_protocol_used		= <0>;
      	ir_addr_code0			= <0x0>;
      	status = "disabled";
      };
      
      &ir1 {
      	pinctrl-names = "default", "sleep";
      	pinctrl-0 = <&ir1_pins_a>;
      	pinctrl-1 = <&ir1_pins_b>;
      	status = "disabled";
      };
      

      sun8iw20p1.dtsi

      /*
       * Allwinner Technology CO., Ltd. sun8iw20p1 platform
       *
       * modify base on juno.dts
       */
       /* optee used 7MB: SHM 2M: OS: 1M: TA:4M*/
      /memreserve/ 0x41900000 0x00700000;
      
      #include <dt-bindings/clock/sun8iw20-ccu.h>
      #include <dt-bindings/clock/sun8iw20-r-ccu.h>
      #include <dt-bindings/clock/sun8iw20-rtc.h>
      #include <dt-bindings/reset/sun8iw20-ccu.h>
      #include <dt-bindings/reset/sun8iw20-r-ccu.h>
      #include <dt-bindings/interrupt-controller/arm-gic.h>
      #include <dt-bindings/gpio/gpio.h>
      #include <dt-bindings/gpio/sun4i-gpio.h>
      #include <dt-bindings/thermal/thermal.h>
      #include <dt-bindings/power/r528-power.h>
      
      / {
              model = "sun8iw20";
              compatible = "allwinner,sun8iw20p1";
              interrupt-parent = <&gic>;
              #address-cells = <2>;
              #size-cells = <2>;
      
              aliases {
                      serial0 = &uart0;
                      serial1 = &uart1;
                      serial2 = &uart2;
                      serial3 = &uart3;
                      serial4 = &uart4;
                      serial5 = &uart5;
                      spi0 = &spi0;
                      spi1 = &spi1;
                      twi0 = &twi0;
                      twi1 = &twi1;
                      twi2 = &twi2;
                      twi3 = &twi3;
                      mmc0 = &sdc0;
                      mmc2 = &sdc2;
                      pwm = &pwm;
                      pwm0 = &pwm0;
                      pwm1 = &pwm1;
                      pwm2 = &pwm2;
                      pwm3 = &pwm3;
                      pwm4 = &pwm4;
                      pwm5 = &pwm5;
                      pwm6 = &pwm6;
                      pwm7 = &pwm7;
                      ir0 = &s_cir0;
                      ve0 = &ve;
                      tv0 = &tv0;
                      tvd = &tvd;
                      tvd0 = &tvd0;
                      share_space0 = &share_space0;
              };
      
              chosen {
                      bootargs = "earlyprintk=sunxi-uart,0x2500000 loglevel=8 initcall_debug=0 console=ttyS0 init=/init";
                      //bootargs = "loglevel=8 initcall_debug=0 console=ttyS0 init=/init";
                      linux,initrd-start = <0x0 0x0>;
                      linux,initrd-end = <0x0 0x0>;
              };
      
              firmware {
                      optee {
                              compatible = "linaro,optee-tz";
                              method = "smc";
                      };
              };
      
              cpus {
                      enable-method = "allwinner,sun8iw20p1";
                      #address-cells = <1>;
                      #size-cells = <0>;
      
                      cpu0: cpu@0 {
                              device_type = "cpu";
                              compatible = "arm,cortex-a7","arm,armv7";
                              reg = <0x0>;
                              enable-method = "psci";
                              clocks = <&ccu CLK_CPUX>;
                              dynamic-power-coefficient = <156>;
                              cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                              operating-points-v2 = <&cpu_opp_table>;
                              #cooling-cells = <2>;
                      };
      
                      cpu1: cpu@1 {
                              device_type = "cpu";
                              compatible = "arm,cortex-a7","arm,armv7";
                              reg = <0x1>;
                              enable-method = "psci";
                              clocks = <&ccu CLK_CPUX>;
                              cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
                              operating-points-v2 = <&cpu_opp_table>;
                              #cooling-cells = <2>;
                      };
      
                      idle-states {
                              entry-method = "arm,psci";
      
                              CPU_SLEEP: cpu-sleep {
                                      compatible = "arm,idle-state";
                                      arm,psci-suspend-param = <0x0010000>;
                                      entry-latency-us = <46>;
                                      exit-latency-us = <59>;
                                      min-residency-us = <3570>;
                                      local-timer-stop;
                              };
      
                              CLUSTER_SLEEP: cluster-sleep {
                                      compatible = "arm,idle-state";
                                      arm,psci-suspend-param = <0x1010000>;
                                      entry-latency-us = <47>;
                                      exit-latency-us = <74>;
                                      min-residency-us = <5000>;
                                      local-timer-stop;
                              };
                      };
      
              };
      
              psci {
                      compatible = "arm,psci-1.0";
                      method = "smc";
              };
      
              dump_reg: dump_reg@20000 {
                      compatible = "allwinner,sunxi-dump-reg";
                      reg = <0x0 0x00020000 0x0 0x0004>;
                      /* 0x00020000: dump_reg test addr, 0x0004: dump_reg test size */
              };
      
              cpu_opp_table: cpu-opp-table {
                      compatible = "allwinner,sun50i-operating-points";
                      nvmem-cells = <&speedbin_efuse>, <&cpubin_efuse>;
                      nvmem-cell-names = "speed", "bin";
                      opp-shared;
      
                      opp@480000000 {
                              opp-hz = /bits/ 64 <480000000>;
                              clock-latency-ns = <244144>; /* 8 32k periods */
                              opp-microvolt-a0 = <900000>;
                              opp-microvolt-a1 = <900000>;
      
                              opp-microvolt-b0 = <950000>;
                              opp-supported-hw = <0x3>;
                      };
      
                      opp@720000000 {
                              opp-hz = /bits/ 64 <720000000>;
                              clock-latency-ns = <244144>; /* 8 32k periods */
                              opp-microvolt-a0 = <900000>;
                              opp-microvolt-a1 = <900000>;
      
                              opp-microvolt-b0 = <950000>;
                              opp-supported-hw = <0x3>;
                      };
      
                      opp@912000000 {
                              opp-hz = /bits/ 64 <912000000>;
                              clock-latency-ns = <244144>; /* 8 32k periods */
                              opp-microvolt-a0 = <950000>;
                              opp-microvolt-a1 = <900000>;
      
                              opp-microvolt-b0 = <950000>;
                              opp-supported-hw = <0x3>;
                      };
      
                      opp@1008000000 {
                              opp-hz = /bits/ 64 <1008000000>;
                              clock-latency-ns = <244144>; /* 8 32k periods */
                              opp-microvolt-a0 = <1000000>;
                              opp-microvolt-a1 = <900000>;
      
                              opp-microvolt-b0 = <950000>;
                              opp-supported-hw = <0x3>;
                      };
      
                      opp@1104000000 {
                              opp-hz = /bits/ 64 <1104000000>;
                              clock-latency-ns = <244144>; /* 8 32k periods */
                              opp-microvolt-a0 = <1050000>;
                              opp-microvolt-a1 = <950000>;
      
                              opp-microvolt-b0 = <950000>;
                              opp-supported-hw = <0x3>;
                      };
      
                      opp@1200000000 {
                              opp-hz = /bits/ 64 <1200000000>;
                              clock-latency-ns = <244144>; /* 8 32k periods */
                              opp-microvolt-a0 = <1100000>;
                              opp-microvolt-a1 = <1000000>;
      
                              opp-supported-hw = <0x1>;
                      };
              };
      
      
              dcxo24M: dcxo24M_clk {
                      #clock-cells = <0>;
                      compatible = "fixed-clock";
                      clock-frequency = <24000000>;
                      clock-output-names = "dcxo24M";
              };
      
              rc_16m: rc16m_clk {
                      #clock-cells = <0>;
                      compatible = "fixed-clock";
                      clock-frequency = <16000000>;
                      clock-accuracy = <300000000>;
                      clock-output-names = "rc-16m";
              };
      
              ext_32k: ext32k_clk {
                      #clock-cells = <0>;
                      compatible = "fixed-clock";
                      clock-frequency = <32768>;
                      clock-output-names = "ext-32k";
              };
      
              dram: dram {
                      compatible = "allwinner,dram";
                      clocks = <&ccu CLK_PLL_DDR0>;
                      clock-names = "pll_ddr";
              };
      
              memory@40000000 {
                      device_type = "memory";
                      reg = <0x00000000 0x40000000 0x00000000 0x20000000>;
              };
      
              share_space0: share_space@42100000 {
                      #address-cells = <1>;
                      #size-cells = <1>;
                      deice_tpye = "share_space0";
                      /* dsp write addr and len */
                      /* arm write addr and len */
                      /* dsp log addr and len */
                      /* reserve */
                      reg = < 0x42100000 0x00001000
                              0x42101000 0x00001000
                              0x42102000 0x0000E000
                              0x00000000 0x00000000>;
              };
      
              gic: interrupt-controller@3020000 {
                      compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
                      #interrupt-cells = <3>;
                      #address-cells = <0>;
                      device_type = "gic";
                      interrupt-controller;
                      reg = <0x0 0x03021000 0 0x1000>, /* GIC Dist */
                            <0x0 0x03022000 0 0x2000>, /* GIC CPU */
                            <0x0 0x03024000 0 0x2000>, /* GIC VCPU Control */
                            <0x0 0x03026000 0 0x2000>; /* GIC VCPU */
                      interrupts = <GIC_PPI 9 0xf04>; /* GIC Maintenence IRQ */
              };
      
              timer_arch {
                      compatible = "arm,armv7-timer";
                      interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
                                   <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
                                   <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
                                   <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
                      clock-frequency = <24000000>;
                      arm,cpu-registers-not-fw-configured;
                      interrupt-parent = <&gic>;
                      arm,no-tick-in-suspend;
              };
      
              pmu {
                      compatible = "arm,cortex-a7-pmu";
                      interrupts = <GIC_SPI 172 4>,
                                   <GIC_SPI 173 4>;
              };
      
              power: power-management@ff000000 {
                      compatible = "allwinner,r528-pmu", "syscon", "simple-mfd";
                      reg = <0x0 0x07001000 0x0 0x400>;
      
                      pd: power-controller {
                              compatible = "allwinner,r528-power-controller";
                              clocks = <&r_ccu CLK_R_PPU>;
                              clock-names = "ppu";
                              resets = <&r_ccu RST_R_PPU>;
                              reset-names = "ppu_rst";
                              #power-domain-cells = <1>;
                              #address-cells = <1>;
                              #size-cells = <0>;
      
                              /* These power domains are grouped by VD_SYS */
                              pd_ve@R528_PD_VE {
                                      reg = <R528_PD_VE>;
                              };
                      };
              };
      
              mmu_aw: iommu@2010000 {
                      compatible = "allwinner,sunxi-iommu";
                      reg = <0x0 0x02010000 0x0 0x1000>;
                      interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
                      interrupt-names = "iommu-irq";
                      clocks = <&ccu CLK_BUS_IOMMU>;
                      clock-names = "iommu";
                      #iommu-cells = <2>;
                      status = "okay";
              };
      
              reg_pio1_8: pio-18 {
                      compatible = "regulator-fixed";
                      regulator-name = "pio-18";
                      regulator-min-microvolt = <1800000>;
                      regulator-max-microvolt = <1800000>;
              };
      
              reg_pio3_3: pio-33 {
                      compatible = "regulator-fixed";
                      regulator-name = "pio-33";
                      regulator-min-microvolt = <3300000>;
                      regulator-max-microvolt = <3300000>;
              };
      
              thermal-zones {
                      cpu_thermal_zone {
                              polling-delay-passive = <500>;
                              polling-delay = <1000>;
                              thermal-sensors = <&ths 0>;
                              sustainable-power = <589>;
      
                              cpu_trips: trips {
                                      cpu_threshold: trip-point@0 {
                                              temperature = <70000>;
                                              type = "passive";
                                              hysteresis = <0>;
                                      };
                                      cpu_target: trip-point@1 {
                                              temperature = <90000>;
                                              type = "passive";
                                              hysteresis = <0>;
                                      };
                                      cpu_crit: cpu_crit@0 {
                                              temperature = <110000>;
                                              type = "critical";
                                              hysteresis = <0>;
                                      };
                              };
      
                              cooling-maps {
                                      map0 {
                                              trip = <&cpu_target>;
                                              cooling-device = <&cpu0
                                              THERMAL_NO_LIMIT
                                              THERMAL_NO_LIMIT>;
                                              contribution = <1024>;
                                      };
                              };
                      };
              };
      
              soc: soc@3000000 {
                      compatible = "simple-bus";
                      #address-cells = <2>;
                      #size-cells = <2>;
                      ranges;
                      device_type = "soc";
      
                      sram_ctrl: sram_ctrl@3000000 {
                              compatible = "allwinner,sram_ctrl";
                              reg = <0x0 0x3000000 0 0x16C>;
                              soc_ver {
                                      offset = <0x24>;
                                      mask = <0x7>;
                                      shift = <0>;
                                      ver_a = <0x18590000>;
                                      ver_b = <0x18590002>;
                                      ver_d = <0x18590003>;
                              };
      
                              soc_id {
                                      offset = <0x200>;
                                      mask = <0x1>;
                                      shift = <22>;
                              };
      
                              soc_bin {
                                      offset = <0x0>;
                                      mask = <0x3ff>;
                                      shift = <0x0>;
                              };
      
                      };
      
                      rtc_ccu: rtc_ccu@7090000 {
                              compatible = "allwinner,sun8iw20-rtc-ccu";
                              device_type = "rtc-ccu";
                              reg = <0x0 0x07090000 0x0 0x320>;  /* The same as rtc */
                              #clock-cells = <1>;
                      };
      
                      ccu: ccu@2001000 {
                              compatible = "allwinner,sun8iw20-ccu";
                              reg = <0x0 0x02001000 0x0 0x1000>;
                              clocks = <&dcxo24M>, <&rtc_ccu CLK_OSC32K>, <&rtc_ccu CLK_IOSC>;
                              clock-names = "hosc", "losc", "iosc";
                              #clock-cells = <1>;
                              #reset-cells = <1>;
                      };
      
                      r_ccu: r_ccu@7010000 {
                              compatible = "allwinner,sun8iw20-r-ccu";
                              reg = <0x0 0x07010000 0x0 0x240>;
                              clocks = <&dcxo24M>, <&rtc_ccu CLK_OSC32K>, <&rtc_ccu CLK_IOSC>,
                                       <&ccu CLK_PLL_PERIPH0>;
                              clock-names = "hosc", "losc", "iosc", "pll-periph0";
                              #clock-cells = <1>;
                              #reset-cells = <1>;
                      };
      
                      rtc: rtc@7090000 {
                              compatible = "allwinner,sun8iw20-rtc";
                              device_type = "rtc";
                              wakeup-source;
                              reg = <0x0 0x07090000 0x0 0x320>;
                              interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&r_ccu CLK_R_AHB_BUS_RTC>, <&rtc_ccu CLK_RTC_1K>, <&rtc_ccu CLK_RTC_SPI>;
                              clock-names = "r-ahb-rtc", "rtc-1k", "rtc-spi";
                              resets = <&r_ccu RST_R_AHB_BUS_RTC>;
                              gpr_cur_pos = <6>;
                      };
      
                      dma:dma-controller@3002000 {
                              compatible = "allwinner,sun8iw20-dma";
                              reg = <0x0 0x03002000 0x0 0x1000>;
                              interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>;
                              clock-names = "bus", "mbus";
                              dma-channels = <8>;
                              dma-requests = <48>;
                              resets = <&ccu RST_BUS_DMA>;
                              #dma-cells = <1>;
                      };
      
                      soc_timer0: timer@2050000 {
                              compatible = "allwinner,sun4i-a10-timer";
                              device_type = "soc_timer";
                              reg = <0x0 0x02050000 0x0 0xA0>;
                              interrupt-parent = <&gic>;
                              interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&dcxo24M>;
                      };
      
                      wdt: watchdog@20500A0 {
                              compatible = "allwinner,sun6i-a31-wdt";
                              reg = <0x0 0x020500A0 0x0 0x20>;  /* In Timers Spec */
                              interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;  /* In GIC Spec */
                      };
      
                      mbus0: mbus-controller@3102000 {
                              compatible = "allwinner,sun8i-mbus";
                              reg = <0x0 0x03102000 0x0 0x1000>;  /* In SDRAM Controller Spec: DRAMC Common Register */
                              #mbus-cells = <1>;
                      };
      
                      pio: pinctrl@2000000 {
                              compatible = "allwinner,sun8iw20-pinctrl";
                              reg = <0x0 0x02000000 0x0 0x500>;
                              interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,  /* AW1859_GIC_Spec: GPIOB: 101-32=69 */
                                           <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
                                           <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
                                           <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
                                           <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
                                           <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
                              device_type = "pio";
                              clocks = <&ccu CLK_APB0>, <&dcxo24M>, <&rtc_ccu CLK_OSC32K>;
                              clock-names = "apb", "hosc", "losc";
                              gpio-controller;
                              #gpio-cells = <3>;
                              interrupt-controller;
                              #interrupt-cells = <3>;
                              #size-cells = <0>;
                              vcc-pf-supply = <&reg_pio1_8>;
                              vcc-pfo-supply = <&reg_pio3_3>;
      
                              test_pins_a: test_pins@0 {
                                      allwinner,pins = "PB0", "PB1";
                                      allwinner,function = "test";
                                      allwinner,muxsel = <0x9>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <1>;
                              };
                              test_pins_b: test_pins@1 {
                                      pins = "PB0", "PB1";
                                      function = "io_disabled";
                                      allwinner,muxsel = <0xF>;
                                      allwinner,drive = <1>;
                                      allwinner,pull = <1>;
                              };
      
                              csi_mclk0_pins_a: csi_mclk0@0 {
                                      pins = "PE3";
                                      function = "csi0";
                                      drive-strength = <10>;
                              };
                              csi_mclk0_pins_b: csi_mclk0@1 {
                                      pins = "PE3";
                                      function = "gpio_in";
                              };
                              csi0_pins_a: csi0@0 {
                                      pins = "PE2", "PE0", "PE1", "PE4", "PE5",
                                                       "PE6", "PE7", "PE8", "PE9", "PE10", "PE11";
                                      function = "ncsi0";
                                      drive-strength = <10>;
                              };
                              csi0_pins_b: csi0@1 {
                                      pins = "PE2", "PE0", "PE1", "PE4", "PE5",
                                                       "PE6", "PE7", "PE8", "PE9", "PE10", "PE11";
                                      function = "io_disabled";
                                      drive-strength = <10>;
                              };
      
                              lvds0_pins_a: lvds0@0 {
                                      pins  = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
                                      function = "lvds0";
                                      drive-strength = <30>;
                                      bias-disable;
                              };
      
                              lvds0_pins_b: lvds0@1 {
                                      pins  = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
                                      function = "io_disabled";
                                      drive-strength = <30>;
                                      bias-disable;
                              };
      
                              rgb24_pins_a: rgb24@0 {
                                      pins = "PB2", "PB3", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
                                              "PB4", "PB5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
                                              "PB6", "PB7", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
                                              "PD18", "PD19", "PD20", "PD21";
                                      function = "lcd0";
                                      drive-strength = <30>;
                                      bias-disable;
                              };
      
                              rgb24_pins_b: rgb24@1 {
                                      pins = "PB2", "PB3", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
                                              "PB4", "PB5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
                                              "PB6", "PB7", "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
                                              "PD18", "PD19", "PD20", "PD21";
                                      function = "io_disabled";
                                      bias-disable;
                              };
      
                              rgb18_pins_a: rgb18@0 {
                                      pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
                                              "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
                                              "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
                                              "PD18", "PD19", "PD20", "PD21";
                                      function = "lcd0";
                                      drive-strength = <30>;
                                      bias-disable;
                              };
      
                              rgb18_pins_b: rgb18@1 {
                                      pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", \
                                              "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", \
                                              "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", \
                                              "PD18", "PD19", "PD20", "PD21";
                                      function = "io_disabled";
                                      bias-disable;
                              };
      
                              dsi2lane_pins_a: dsi2lane@0 {
                                      pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5";
                                      function = "dsi";
                                      drive-strength = <30>;
                                      bias-disable;
                              };
      
                              dsi2lane_pins_b: dsi2lane@1 {
                                      pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5";
                                      function = "io_disabled";
                                      bias-disable;
                              };
      
                              dsi4lane_pins_a: dsi4lane@0 {
                                      pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
                                      function = "dsi";
                                      drive-strength = <30>;
                                      bias-disable;
                              };
      
                              dsi4lane_pins_b: dsi4lane@1 {
                                      pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9";
                                      function = "io_disabled";
                                      bias-disable;
                              };
      
                      };
      
                      pinctrl_test: pinctrl_test@0 {
                              reg = <0x0 0x0 0x0 0x0>;
                              compatible = "allwinner,sunxi-pinctrl-test";
                              device_type = "pinctrl-test";
                              /* For pin state selecting test */
                              pinctrl-0 = <&test_pins_a>;
                              pinctrl-1 = <&test_pins_b>;
                              pinctrl-names = "default", "sleep";
                              /* For pin basic_function/irq test */
                              test-gpios = <&pio PB 0 GPIO_ACTIVE_LOW>;
                              interrupt-parent = <&pio>;
                              interrupts = <PB 1 IRQ_TYPE_LEVEL_HIGH>;
                      };
      
                      uart0: uart@2500000 {
                              compatible = "allwinner,sun8i-uart";
                              device_type = "uart0";
                              reg = <0x0 0x02500000 0x0 0x400>;
                              interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
                              sunxi,uart-fifosize = <64>;
                              clocks = <&ccu CLK_BUS_UART0>;
                              clock-names = "uart0";
                              resets = <&ccu RST_BUS_UART0>;
                              uart0_port = <0>;
                              uart0_type = <2>;
                              status = "disabled";
                      };
      
                      uart1: uart@2500400 {
                              compatible = "allwinner,sun8i-uart";
                              device_type = "uart1";
                              reg = <0x0 0x02500400 0x0 0x400>;
                              interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
                              sunxi,uart-fifosize = <256>;
                              clocks = <&ccu CLK_BUS_UART1>;
                              clock-names = "uart1";
                              resets = <&ccu RST_BUS_UART1>;
                              uart1_port = <1>;
                              uart1_type = <4>;
                              status = "okay";
                      };
      
                      uart2: uart@2500800 {
                              compatible = "allwinner,sun8i-uart";
                              device_type = "uart2";
                              reg = <0x0 0x02500800 0x0 0x400>;
                              interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
                              sunxi,uart-fifosize = <256>;
                              clocks = <&ccu CLK_BUS_UART2>;
                              clock-names = "uart2";
                              resets = <&ccu RST_BUS_UART2>;
                              uart2_port = <2>;
                              uart2_type = <4>;
                              status = "disabled";
                      };
      
                      uart3: uart@2500c00 {
                              compatible = "allwinner,sun8i-uart";
                              device_type = "uart3";
                              reg = <0x0 0x02500c00 0x0 0x400>;
                              interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
                              sunxi,uart-fifosize = <256>;
                              clocks = <&ccu CLK_BUS_UART3>;
                              clock-names = "uart3";
                              resets = <&ccu RST_BUS_UART3>;
                              uart3_port = <3>;
                              uart3_type = <4>;
                              status = "disabled";
                      };
      
                      uart4: uart@2501000 {
                              compatible = "allwinner,sun8i-uart";
                              device_type = "uart4";
                              reg = <0x0 0x02501000 0x0 0x400>;
                              interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
                              sunxi,uart-fifosize = <256>;
                              clocks = <&ccu CLK_BUS_UART4>;
                              clock-names = "uart4";
                              resets = <&ccu RST_BUS_UART4>;
                              uart4_port = <4>;
                              uart4_type = <2>;
                              status = "disabled";
                      };
      
                      uart5: uart@2501400 {
                              compatible = "allwinner,sun8i-uart";
                              device_type = "uart5";
                              reg = <0x0 0x02501400 0x0 0x400>;
                              interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
                              sunxi,uart-fifosize = <256>;
                              clocks = <&ccu CLK_BUS_UART5>;
                              clock-names = "uart5";
                              resets = <&ccu RST_BUS_UART5>;
                              uart5_port = <5>;
                              uart5_type = <2>;
                              status = "disabled";
                      };
                      cryptoengine: ce@03040000 {
                              compatible = "allwinner,sunxi-ce";
                              device_name = "ce";
                              reg = <0x0 0x03040000 0x0 0xa0>, /* non-secure space */
                                    <0x0 0x03040800 0x0 0xa0>; /* secure space */
                              interrupts = <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>, /*non-secure*/
                                         <GIC_SPI 53 IRQ_TYPE_EDGE_RISING>; /* secure*/
                              clock-frequency = <400000000>; /* 400MHz */
                              clocks = <&ccu CLK_BUS_CE>, <&ccu CLK_CE>, <&ccu CLK_MBUS_CE>,
                                              <&ccu CLK_PLL_PERIPH0_2X>;
                              clock-names = "bus_ce", "ce_clk", "mbus_ce", "pll_periph0_2x";
                              resets = <&ccu RST_BUS_CE>;
                              status = "okay";
                      };
      
                      gmac0: eth@4500000 {
                              compatible = "allwinner,sunxi-gmac";
                              reg = <0x0 0x04500000 0x0 0x10000>,
                                    <0x0 0x03000030 0x0 0x4>;
                              interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
                              interrupt-names = "gmacirq";
                              clocks = <&ccu CLK_BUS_EMAC0>, <&ccu CLK_EMAC0_25M>;
                              clock-names = "gmac", "ephy";
                              resets = <&ccu RST_BUS_EMAC0>;
                              device_type = "gmac0";
                              gmac-power0;
                              gmac-power1;
                              gmac-power2;
                              status = "disabled";
                      };
      
                      sdc2: sdmmc@4022000 {
                              compatible = "allwinner,sunxi-mmc-v4p6x";
                              device_type = "sdc2";
                              reg = <0x0 0x04022000 0x0 0x1000>;
                              interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&dcxo24M>,
                                       <&ccu CLK_PLL_PERIPH0_2X>,
                                       <&ccu CLK_MMC2>,
                                       <&ccu CLK_BUS_MMC2>;
                              clock-names = "osc24m","pll_periph","mmc","ahb";
                              resets = <&ccu RST_BUS_MMC2>;
                              reset-names = "rst";
                              pinctrl-names = "default","sleep";
                              pinctrl-0 = <&sdc2_pins_a>;
                              pinctrl-1 = <&sdc2_pins_b>;
                              bus-width = <4>;
                              req-page-count = <2>;
                              cap-mmc-highspeed;
                              cap-cmd23;
                              mmc-cache-ctrl;
                              non-removable;
                              /*max-frequency = <200000000>;*/
                              max-frequency = <50000000>;
                              cap-erase;
                              mmc-high-capacity-erase-size;
                              no-sdio;
                              no-sd;
                              /*-- speed mode --*/
                              /*sm0: DS26_SDR12*/
                              /*sm1: HSSDR52_SDR25*/
                              /*sm2: HSDDR52_DDR50*/
                              /*sm3: HS200_SDR104*/
                              /*sm4: HS400*/
                              /*-- frequency point --*/
                              /*f0: CLK_400K*/
                              /*f1: CLK_25M*/
                              /*f2: CLK_50M*/
                              /*f3: CLK_100M*/
                              /*f4: CLK_150M*/
                              /*f5: CLK_200M*/
      
                              sdc_tm4_sm0_freq0 = <0>;
                              sdc_tm4_sm0_freq1 = <0>;
                              sdc_tm4_sm1_freq0 = <0x00000000>;
                              sdc_tm4_sm1_freq1 = <0>;
                              sdc_tm4_sm2_freq0 = <0x00000000>;
                              sdc_tm4_sm2_freq1 = <0>;
                              sdc_tm4_sm3_freq0 = <0x05000000>;
                              sdc_tm4_sm3_freq1 = <0x00000005>;
                              sdc_tm4_sm4_freq0 = <0x00050000>;
                              sdc_tm4_sm4_freq1 = <0x00000004>;
                              sdc_tm4_sm4_freq0_cmd = <0>;
                              sdc_tm4_sm4_freq1_cmd = <0>;
      
                              /*vmmc-supply = <&reg_3p3v>;*/
                              /*vqmc-supply = <&reg_3p3v>;*/
                              /*vdmc-supply = <&reg_3p3v>;*/
                              /*vmmc = "vcc-card";*/
                              /*vqmc = "";*/
                              /*vdmc = "";*/
                              /*sunxi-power-save-mode;*/
                      };
      
                      sdc0: sdmmc@4020000 {
                              compatible = "allwinner,sunxi-mmc-v5p3x";
                              device_type = "sdc0";
                              reg = <0x0 0x04020000 0x0 0x1000>;
                              interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&dcxo24M>,
                                       <&ccu CLK_PLL_PERIPH0_2X>,
                                       <&ccu CLK_MMC0>,
                                       <&ccu CLK_BUS_MMC0>;
                              clock-names = "osc24m","pll_periph","mmc","ahb";
                              resets = <&ccu RST_BUS_MMC0>;
                              reset-names = "rst";
                              pinctrl-names = "default","mmc_1v8","sleep","uart_jtag";
                              pinctrl-0 = <&sdc0_pins_a>;
                              pinctrl-1 = <&sdc0_pins_b>;
                              pinctrl-2 = <&sdc0_pins_c>;
                              pinctrl-3 = <&sdc0_pins_d &sdc0_pins_e>;
                              max-frequency = <50000000>;
                              bus-width = <4>;
                              req-page-count = <2>;
                              /*non-removable;*/
                              /*broken-cd;*/
                              /*cd-inverted*/
                              /*cd-gpios = <&pio PF 6 GPIO_ACTIVE_LOW>;*/
                              /* vmmc-supply = <&reg_3p3v>;*/
                              /* vqmc-supply = <&reg_3p3v>;*/
                              /* vdmc-supply = <&reg_3p3v>;*/
                              /*vmmc = "vcc-card";*/
                              /*vqmc = "";*/
                              /*vdmc = "";*/
                              cap-sd-highspeed;
                              cap-wait-while-busy;
                              no-sdio;
                              no-mmc;
                              /*sd-uhs-sdr50;*/
                              /*sd-uhs-ddr50;*/
                              /*cap-sdio-irq;*/
                              /*keep-power-in-suspend;*/
                              /*ignore-pm-notify;*/
                              /*sunxi-power-save-mode;*/
                              /*sunxi-dly-400k = <1 0 0 0>; */
                              /*sunxi-dly-26M  = <1 0 0 0>;*/
                              /*sunxi-dly-52M  = <1 0 0 0>;*/
                              /*sunxi-dly-52M-ddr4  = <1 0 0 0>;*/
                              /*sunxi-dly-52M-ddr8  = <1 0 0 0>;*/
                              /*sunxi-dly-104M  = <1 0 0 0>;*/
                              /*sunxi-dly-208M  = <1 0 0 0>;*/
                              /*sunxi-dly-104M-ddr  = <1 0 0 0>;*/
                              /*sunxi-dly-208M-ddr  = <1 0 0 0>;*/
                      };
      
                      sdc1: sdmmc@4021000 {
                              compatible = "allwinner,sunxi-mmc-v5p3x";
                              device_type = "sdc1";
                              reg = <0x0 0x04021000 0x0 0x1000>;
                              interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&dcxo24M>,
                                       <&ccu CLK_PLL_PERIPH0_2X>,
                                       <&ccu CLK_MMC1>,
                                       <&ccu CLK_BUS_MMC1>;
                              clock-names = "osc24m","pll_periph","mmc","ahb";
                              resets = <&ccu RST_BUS_MMC1>;
                              reset-names = "rst";
                              pinctrl-names = "default","sleep";
                              pinctrl-0 = <&sdc1_pins_a>;
                              pinctrl-1 = <&sdc1_pins_b>;
                              max-frequency = <50000000>;
                              bus-width = <4>;
                              /*broken-cd;*/
                              /*cd-inverted*/
                              /*cd-gpios = <&pio PG 6 6 1 2 0>;*/
                              /* vmmc-supply = <&reg_3p3v>;*/
                              /* vqmc-supply = <&reg_3p3v>;*/
                              /* vdmc-supply = <&reg_3p3v>;*/
                              /*vmmc = "vcc-card";*/
                              /*vqmc = "";*/
                              /*vdmc = "";*/
                              cap-sd-highspeed;
                              no-mmc;
                              /*sd-uhs-sdr50;*/
                              /*sd-uhs-ddr50;*/
                              /*sd-uhs-sdr104;*/
                              /*cap-sdio-irq;*/
                              keep-power-in-suspend;
                              /*ignore-pm-notify;*/
                              /*sunxi-power-save-mode;*/
                              /*sunxi-dly-400k = <1 0 0 0 0>; */
                              /*sunxi-dly-26M  = <1 0 0 0 0>;*/
                              /*sunxi-dly-52M  = <1 0 0 0 0>;*/
                              sunxi-dly-52M-ddr4  = <1 0 0 0 2>;
                              /*sunxi-dly-52M-ddr8  = <1 0 0 0 0>;*/
                              sunxi-dly-104M  = <1 0 0 0 1>;
                              /*sunxi-dly-208M  = <1 1 0 0 0>;*/
                              sunxi-dly-208M  = <1 0 0 0 1>;
                              /*sunxi-dly-104M-ddr  = <1 0 0 0 0>;*/
                              /*sunxi-dly-208M-ddr  = <1 0 0 0 0>;*/
      
                              status = "okay";
                      };
      
                      tpadc: tpadc@2009c00 {
                              compatible = "allwinner,tp_key";
                              reg = <0x0 0x02009c00 0x0 0x400>;
                              interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_TPADC>, <&ccu CLK_BUS_TPADC>;
                              clock-names = "mod", "bus";
                              clock-frequency = <1000000>;
                              resets = <&ccu RST_BUS_TPADC>;
                              status = "disabled";
                      };
      
                      rtp:rtp@2009c00 {
                              compatible = "allwinner,sun8i-ts";
                              reg = <0x0 0x02009c00 0x0 0x400>;
                              clocks = <&ccu CLK_TPADC>, <&ccu CLK_BUS_TPADC>;
                              clock-names = "mod", "bus";
                              clock-frequency = <1000000>;
                              resets = <&ccu RST_BUS_TPADC>;
                              interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
                      };
      
                      spi0: spi@4025000 {
                              #address-cells = <1>;
                              #size-cells = <0>;
                              compatible = "allwinner,sun8i-spi";
                              device_type = "spi0";
                              reg = <0x0 0x04025000 0x0 0x1000>;
                              interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_PLL_PERIPH0>, <&ccu CLK_SPI0>, <&ccu CLK_BUS_SPI0>;
                              clock-names = "pll", "mod", "bus";
                              resets = <&ccu RST_BUS_SPI0>;
                              clock-frequency = <100000000>;
                              spi0_cs_number = <1>;
                              spi0_cs_bitmap = <1>;
                              dmas = <&dma 22>, <&dma 22>;
                              dma-names = "tx", "rx";
                              status = "disabled";
                      };
      
                      spi1: spi@4026000 {
                              #address-cells = <1>;
                              #size-cells = <0>;
                              compatible = "allwinner,sun8i-spi";
                              device_type = "spi1";
                              reg = <0x0 0x04026000 0x0 0x1000>;
                              interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_PLL_PERIPH0>, <&ccu CLK_SPI1>, <&ccu CLK_BUS_SPI1>;
                              clock-names = "pll", "mod", "bus";
                              resets = <&ccu RST_BUS_SPI1>;
                              clock-frequency = <100000000>;
                              spi1_cs_number = <1>;
                              spi1_cs_bitmap = <1>;
                              dmas = <&dma 23>, <&dma 23>;
                              dma-names = "tx", "rx";
                              status = "disabled";
                      };
      
                      ve: ve@1c0e000 {
                                  compatible = "allwinner,sunxi-cedar-ve";
                                  reg = <0x0 0x01c0e000 0x0 0x1000>,
                                      <0x0 0x03000000 0x0 0x10>,
                                      <0x0 0x03001000 0x0 0x1000>;
                                  interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
                                  clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, <&ccu CLK_MBUS_VE>;
                                  clock-names = "bus_ve", "ve", "mbus_ve";
                                  resets = <&ccu RST_BUS_VE>;
                                  power-domains = <&pd R528_PD_VE>;
                                  iommus = <&mmu_aw 0 1>;
                                  status = "okay";
                      };
      
                      twi0: twi@2502000{
                              #address-cells = <1>;
                              #size-cells = <0>;
                              compatible = "allwinner,sun8i-twi";
                              device_type = "twi0";
                              reg = <0x0 0x02502000 0x0 0x400>;
                              interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_I2C0>;
                              resets = <&ccu RST_BUS_I2C0>;
                              clock-names = "bus";
                              clock-frequency = <400000>;
                              status = "disabled";
                      };
      
                      twi1: twi@2502400{
                              #address-cells = <1>;
                              #size-cells = <0>;
                              compatible = "allwinner,sun8i-twi";
                              device_type = "twi1";
                              reg = <0x0 0x02502400 0x0 0x400>;
                              interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_I2C1>;
                              resets = <&ccu RST_BUS_I2C1>;
                              clock-names = "bus";
                              clock-frequency = <200000>;
                              status = "disabled";
                      };
      
                      twi2: twi@2502800{
                              #address-cells = <1>;
                              #size-cells = <0>;
                              compatible = "allwinner,sun8i-twi";
                              device_type = "twi2";
                              reg = <0x0 0x02502800 0x0 0x400>;
                              interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_I2C2>;
                              resets = <&ccu RST_BUS_I2C2>;
                              clock-names = "bus";
                              clock-frequency = <100000>;
                              status = "disabled";
                      };
      
                      twi3: twi@2502c00{
                              #address-cells = <1>;
                              #size-cells = <0>;
                              compatible = "allwinner,sun8i-twi";
                              device_type = "twi3";
                              reg = <0x0 0x02502c00 0x0 0x400>;
                              interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_I2C3>;
                              resets = <&ccu RST_BUS_I2C3>;
                              clock-names = "bus";
                              clock-frequency = <100000>;
                              status = "disabled";
                      };
      
                      ledc: ledc@2008000 {
                              #address-cells = <1>;
                              #size-cells = <0>;
                              compatible = "allwinner,sunxi-leds";
                              reg = <0x0 0x02008000 0x0 0x400>;
                              interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
                              interrupt-names = "ledcirq";
                              clocks = <&ccu CLK_LEDC>, <&ccu CLK_BUS_LEDC>;
                              clock-names = "clk_ledc", "clk_cpuapb";
                              dmas = <&dma 42>, <&dma 42>;
                              dma-names = "rx", "tx";
                              resets = <&ccu RST_BUS_LEDC>;
                              reset-names = "ledc_reset";
                              status = "disable";
                      };
      
                      pwm: pwm@2000c00 {
                              #pwm-cells = <0x3>;
                              compatible = "allwinner,sunxi-pwm";
                              reg = <0x0 0x02000c00 0x0 0x400>;
                              clocks = <&ccu CLK_BUS_PWM>;
                              resets = <&ccu RST_BUS_PWM>;
                              pwm-number = <8>;
                              pwm-base = <0x0>;
                              sunxi-pwms = <&pwm0>, <&pwm1>, <&pwm2>, <&pwm3>, <&pwm4>,
                                      <&pwm5>, <&pwm6>, <&pwm7>;
                      };
      
                      pwm0: pwm0@2000c10 {
                              compatible = "allwinner,sunxi-pwm0";
                              pinctrl-names = "active", "sleep";
                              reg = <0x0 0x02000c10 0x0 0x4>;
                              reg_base = <0x02000c00>;
                      };
      
                      pwm1: pwm1@2000c11 {
                              compatible = "allwinner,sunxi-pwm1";
                              pinctrl-names = "active", "sleep";
                              reg = <0x0 0x02000c11 0x0 0x4>;
                              reg_base = <0x02000c00>;
                      };
      
                      pwm2: pwm2@2000c12 {
                              compatible = "allwinner,sunxi-pwm2";
                              pinctrl-names = "active", "sleep";
                              reg = <0x0 0x02000c12 0x0 0x4>;
                              reg_base = <0x02000c00>;
                      };
      
                      pwm3: pwm3@2000c13 {
                              compatible = "allwinner,sunxi-pwm3";
                              pinctrl-names = "active", "sleep";
                              reg = <0x0 0x02000c13 0x0 0x4>;
                              reg_base = <0x02000c00>;
                      };
      
                      pwm4: pwm4@2000c14 {
                              compatible = "allwinner,sunxi-pwm4";
                              pinctrl-names = "active", "sleep";
                              reg = <0x0 0x02000c14 0x0 0x4>;
                              reg_base = <0x02000c00>;
                      };
      
                      pwm5: pwm5@2000c15 {
                              compatible = "allwinner,sunxi-pwm5";
                              pinctrl-names = "active", "sleep";
                              reg = <0x0 0x02000c15 0x0 0x4>;
                              reg_base = <0x02000c00>;
                      };
      
                      pwm6: pwm6@2000c16 {
                              compatible = "allwinner,sunxi-pwm6";
                              pinctrl-names = "active", "sleep";
                              reg = <0x0 0x02000c16 0x0 0x4>;
                              reg_base = <0x02000c00>;
                      };
      
                      pwm7: pwm7@2000c17 {
                              compatible = "allwinner,sunxi-pwm7";
                              pinctrl-names = "active", "sleep";
                              reg = <0x0 0x02000c17 0x0 0x4>;
                              reg_base = <0x02000c00>;
                      };
      
                      lcd_fb0: lcd_fb0@0 {
                              compatible = "allwinner,sunxi-lcd_fb0";
                              pinctrl-names = "active","sleep";
      
                              status = "okay";
                      };
      
                      keyboard0: keyboard@2009800 {
                              compatible = "allwinner,keyboard_1350mv";
                              reg = <0x0 0x02009800 0x0 0x400>;
                              interrupts = <GIC_SPI 61 IRQ_TYPE_EDGE_RISING>;
                              clocks = <&ccu CLK_BUS_LRADC>;
                              clock-names = "mclk";
                              resets = <&ccu RST_BUS_LRADC>;
                              key_cnt = <5>;
                              key0 = <210 115>;
                              key1 = <410 114>;
                              key2 = <590 139>;
                              key3 = <750 28>;
                              key4 = <880 172>;
                              wakeup-source;
                              status = "okay";
                      };
      
                      sid@3006000 {
                              compatible = "allwinner,sun8iw20p1-sid", "allwinner,sunxi-sid";
                              reg = <0x0 0x03006000 0 0x1000>;
                              #address-cells = <1>;
                              #size-cells = <1>;
      
                              secure_status {
                                      reg = <0x0 0>;
                                      offset = <0xa0>;
                                      size = <0x4>;
                              };
      
                              chipid {
                                      reg = <0x0 0>;
                                      offset = <0x200>;
                                      size = <0x10>;
                              };
      
                              rotpk {
                                      reg = <0x0 0>;
                                      offset = <0x140>;
                                      size = <0x4>;
                              };
      
                              speedbin_efuse: speedbin@00 {
                                      reg = <0x00 2>;
                              };
      
                              cpubin_efuse: cpubin@28 {
                                      reg = <0x28 2>;
                              };
      
                              ths_calib: calib@14 {
                                      reg = <0x14 8>;
                              };
                      };
      
                      gpadc: gpadc@2009000 {
                              compatible = "allwinner,sunxi-gpadc";
                              reg = <0x0 0x02009000 0x0 0x400>;
                              interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_GPADC>;
                              clock-names = "bus";
                              resets = <&ccu RST_BUS_GPADC>;
                              status = "okay";
                      };
      
                      vind0: vind@5800800 {
                              compatible = "allwinner,sunxi-vin-media", "simple-bus";
                              #address-cells = <2>;
                              #size-cells = <2>;
                              ranges;
                              device_id = <0>;
                              csi_top = <336000000>;
                              csi_isp = <327000000>;
                              reg = <0x0 0x05800800 0x0 0x200>,
                                      <0x0 0x05800000 0x0 0x800>;
                              clocks = <&ccu CLK_CSI_TOP>, <&ccu CLK_PLL_VIDEO1_2X>,
                                      <&ccu CLK_CSI0_MCLK>, <&dcxo24M>, <&ccu CLK_PLL_VIDEO1>,
                                      <&ccu CLK_BUS_CSI>, <&ccu CLK_MBUS_CSI>;
                              clock-names = "csi_top", "csi_top_src",
                                              "csi_mclk0", "csi_mclk0_24m", "csi_mclk0_pll",
                                              "csi_bus", "csi_mbus";
                              resets = <&ccu RST_BUS_CSI>;
                              reset-names = "csi_ret";
                              pinctrl-names = "mclk0-default", "mclk0-sleep";
                              pinctrl-0 = <&csi_mclk0_pins_a>;
                              pinctrl-1 = <&csi_mclk0_pins_b>;
                              status = "okay";
      
                              csi0: csi@5801000{
                                      compatible = "allwinner,sunxi-csi";
                                      reg = <0x0 0x05801000 0x0 0x1000>;
                                      interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
                                      pinctrl-names = "default","sleep";
                                      pinctrl-0 = <&csi0_pins_a>;
                                      pinctrl-1 = <&csi0_pins_b>;
                                      device_id = <0>;
                                      iommus = <&mmu_aw 1 1>;
                                      status = "okay";
                              };
                              isp0: isp@5809410 {
                                      compatible = "allwinner,sunxi-isp";
                                      reg = <0x0 0x05809410 0x0 0x10>;
                                      device_id = <0xfe>;
      
                                      status = "okay";
                              };
                              isp1: isp@5809420 {
                                      compatible = "allwinner,sunxi-isp";
                                      reg = <0x0 0x05809420 0x0 0x10>;
                                      device_id = <0xff>;
                                      status = "okay";
                              };
                              scaler0: scaler@5809430 {
                                      compatible = "allwinner,sunxi-scaler";
                                      reg = <0x0 0x05809430 0x0 0x10>;
                                      device_id = <0xfe>;
                                      status = "okay";
                              };
                              scaler1: scaler@5809440 {
                                      compatible = "allwinner,sunxi-scaler";
                                      reg = <0x0 0x05809440 0x0 0x10>;
                                      device_id = <0xff>;
                                      status = "okay";
                              };
                              actuator0: actuator@5809450 {
                                      compatible = "allwinner,sunxi-actuator";
                                      device_type = "actuator0";
                                      reg = <0x0 0x05809450 0x0 0x10>;
                                      actuator0_name = "ad5820_act";
                                      actuator0_slave = <0x18>;
                                      actuator0_af_pwdn = <>;
                                      actuator0_afvdd = "afvcc-csi";
                                      actuator0_afvdd_vol = <2800000>;
                                      status = "disabled";
                              };
                              flash0: flash@5809460 {
                                      device_type = "flash0";
                                      compatible = "allwinner,sunxi-flash";
                                      reg = <0x0 0x05809460 0x0 0x10>;
                                      flash0_type = <2>;
                                      flash0_en = <>;
                                      flash0_mode = <>;
                                      flash0_flvdd = "";
                                      flash0_flvdd_vol = <>;
                                      device_id = <0>;
                                      status = "disabled";
                              };
                              sensor0: sensor@5809470 {
                                      reg = <0x0 0x05809470 0x0 0x10>;
                                      device_type = "sensor0";
                                      compatible = "allwinner,sunxi-sensor";
                                      sensor0_mname = "ov5640";
                                      sensor0_twi_cci_id = <2>;
                                      sensor0_twi_addr = <0x78>;
                                      sensor0_mclk_id = <0>;
                                      sensor0_pos = "rear";
                                      sensor0_isp_used = <0>;
                                      sensor0_fmt = <0>;
                                      sensor0_stby_mode = <0>;
                                      sensor0_vflip = <0>;
                                      sensor0_hflip = <0>;
                                      sensor0_iovdd-supply = <>;
                                      sensor0_iovdd_vol = <>;
                                      sensor0_avdd-supply = <>;
                                      sensor0_avdd_vol = <>;
                                      sensor0_dvdd-supply = <>;
                                      sensor0_dvdd_vol = <>;
                                      sensor0_power_en = <>;
                                      sensor0_reset = <&pio PE 9 GPIO_ACTIVE_LOW>;
                                      sensor0_pwdn = <&pio PE 8 GPIO_ACTIVE_LOW>;
                                      sensor0_sm_vs = <>;
                                      flash_handle = <&flash0>;
                                      act_handle = <&actuator0>;
                                      device_id = <0>;
                                      status  = "okay";
                              };
                              sensor1: sensor@5809480 {
                                      reg = <0x0 0x05809480 0x0 0x10>;
                                      device_type = "sensor1";
                                      compatible = "allwinner,sunxi-sensor";
                                      sensor1_mname = "ov5647";
                                      sensor1_twi_cci_id = <3>;
                                      sensor1_twi_addr = <0x6c>;
                                      sensor1_mclk_id = <1>;
                                      sensor1_pos = "front";
                                      sensor1_isp_used = <0>;
                                      sensor1_fmt = <0>;
                                      sensor1_stby_mode = <0>;
                                      sensor1_vflip = <0>;
                                      sensor1_hflip = <0>;
                                      sensor1_iovdd-supply = <>;
                                      sensor1_iovdd_vol = <>;
                                      sensor1_avdd-supply = <>;
                                      sensor1_avdd_vol = <>;
                                      sensor1_dvdd-supply = <>;
                                      sensor1_dvdd_vol = <>;
                                      sensor1_power_en = <>;
                                      sensor1_reset = <&pio PE 7 GPIO_ACTIVE_LOW>;
                                      sensor1_pwdn = <&pio PE 6 GPIO_ACTIVE_LOW>;
                                      sensor1_sm_vs = <>;
                                      flash_handle = <>;
                                      act_handle = <>;
                                      device_id = <1>;
                                      status  = "okay";
                              };
                              vinc0: vinc@5809000 {
                                      compatible = "allwinner,sunxi-vin-core";
                                      device_type = "vinc0";
                                      reg = <0x0 0x05809000 0x0 0x200>;
                                      interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
                                      vinc0_csi_sel = <0>;
                                      vinc0_mipi_sel = <0xff>;
                                      vinc0_isp_sel = <0>;
                                      vinc0_tdm_rx_sel = <0xff>;
                                      vinc0_rear_sensor_sel = <0>;
                                      vinc0_front_sensor_sel = <0>;
                                      vinc0_sensor_list = <0>;
                                      device_id = <0>;
                                      iommus = <&mmu_aw 1 1>;
                                      status = "okay";
                              };
                              vinc1: vinc@5809200 {
                                      device_type = "vinc1";
                                      compatible = "allwinner,sunxi-vin-core";
                                      reg = <0x0 0x05809200 0x0 0x200>;
                                      interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
                                      vinc1_csi_sel = <0>;
                                      vinc1_mipi_sel = <0xff>;
                                      vinc1_isp_sel = <1>;
                                      vinc1_tdm_rx_sel = <0xff>;
                                      vinc1_rear_sensor_sel = <0>;
                                      vinc1_front_sensor_sel = <0>;
                                      vinc1_sensor_list = <0>;
                                      device_id = <1>;
                                      iommus = <&mmu_aw 1 1>;
                                      status = "okay";
                              };
      
                      };
                      s_cir0: s_cir@7040000 {
                              compatible = "allwinner,s_cir";
                              reg = <0x0 0x07040000 0x0 0x400>;
                              interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&r_ccu CLK_R_APB0_BUS_IRRX>, <&dcxo24M>, <&r_ccu CLK_R_APB0_IRRX>;
                              clock-names = "bus", "pclk", "mclk";
                              resets = <&r_ccu RST_R_APB0_BUS_IRRX>;
                              status = "disabled";
                      };
      
                      ir1: ir@2003000 {
                              compatible = "allwinner,irtx";
                              reg = <0x0 0x02003000 0x0 0x400>;
                              interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_IR_TX>, <&dcxo24M>, <&ccu CLK_IR_TX>;
                              clock-names = "bus", "pclk", "mclk";
                              resets = <&ccu RST_BUS_IR_TX>;
                              status = "disabled";
                      };
      
                      di: deinterlace@5400000 {
                              compatible = "allwinner,sunxi-deinterlace";
                              reg = <0x0 0x05400000 0x0 0x0000ffff>;
                              interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_DI>,
                                       <&ccu CLK_BUS_DI>,
                                       <&ccu CLK_PLL_PERIPH0_2X>;
                              clock-names = "clk_di",
                                            "pll_periph",
                                            "clk_bus_di";
                              resets = <&ccu RST_BUS_DI>;
                              reset-names = "rst_bus_di";
      
                              assigned-clocks = <&ccu CLK_DI>;
                              assigned-clock-parents = <&ccu CLK_PLL_PERIPH0_2X>;
                              assigned-clock-rates = <300000000>;
      
                              iommus = <&mmu_aw 4 1>;
                              status = "okay";
                      };
      
                      g2d: g2d@5410000 {
                              compatible = "allwinner,sunxi-g2d";
                              reg = <0x0 0x05410000 0x0 0x3ffff>;
                              interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_G2D>, <&ccu CLK_G2D>, <&ccu CLK_MBUS_G2D>;
                              clock-names = "bus", "g2d", "mbus_g2d";
                              resets = <&ccu RST_BUS_G2D>;
                              iommus = <&mmu_aw 3 1>;
                              status = "okay";
                      };
      
                      disp: disp@5000000 {
                              compatible = "allwinner,sunxi-disp";
                              reg = <0x0 0x05000000 0x0 0x3fffff>,    /* de0 */
                                    <0x0 0x05460000 0x0 0xfff>,       /*display_if_top*/
                                    <0x0 0x05461000 0x0 0xfff>,       /* tcon-lcd0 */
                                    <0x0 0x05470000 0x0 0xfff>,       /* tcon-tv */
                                    <0x0 0x05450000 0x0 0x1fff>;      /* dsi0*/
                              interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,/*tcon-lcd0*/
                                           <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,/*tcon-tv */
                                           <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;/*dsi*/
                              clocks = <&ccu CLK_DE0>,
                                       <&ccu CLK_DE0>,
                                       <&ccu CLK_BUS_DE0>,
                                       <&ccu CLK_BUS_DE0>,
                                       <&ccu CLK_BUS_DPSS_TOP0>,
                                       <&ccu CLK_BUS_DPSS_TOP0>,
                                       <&ccu CLK_MIPI_DSI>,
                                       <&ccu CLK_BUS_MIPI_DSI>,
                                       <&ccu CLK_TCON_LCD0>,
                                       <&ccu CLK_TCON_TV>,
                                       <&ccu CLK_BUS_TCON_LCD0>,
                                       <&ccu CLK_BUS_TCON_TV>,
                                       <&ccu CLK_MIPI_DSI>,
                                       <&ccu CLK_BUS_MIPI_DSI>;
                              clock-names = "clk_de0",
                                              "clk_de1",
                                              "clk_bus_de0",
                                              "clk_bus_de1",
                                              "clk_bus_dpss_top0",
                                              "clk_bus_dpss_top1",
                                              "clk_mipi_dsi0",
                                              "clk_bus_mipi_dsi0",
                                              "clk_tcon0",
                                              "clk_tcon1",/*tcon-tv actually*/
                                              "clk_bus_tcon0",
                                              "clk_bus_tcon1",/*tcon-tv actually*/
                                              "clk_mipi_dsi0",
                                              "clk_bus_mipi_dsi0";
                              resets = <&ccu RST_BUS_DE0>,
                                       <&ccu RST_BUS_DE0>,
                                       <&ccu RST_BUS_DPSS_TOP0>,
                                       <&ccu RST_BUS_DPSS_TOP0>,
                                       <&ccu RST_BUS_MIPI_DSI>,
                                       <&ccu RST_BUS_TCON_LCD0>,
                                       <&ccu RST_BUS_TCON_TV>,
                                       <&ccu RST_BUS_LVDS0>;
                              reset-names = "rst_bus_de0",
                                              "rst_bus_de1",
                                              "rst_bus_dpss_top0",
                                              "rst_bus_dpss_top1",
                                              "rst_bus_mipi_dsi0",
                                              "rst_bus_tcon0",
                                              "rst_bus_tcon1",
                                              "rst_bus_lvds0";
      
                              assigned-clocks = <&ccu CLK_DE0>,
                              <&ccu CLK_MIPI_DSI>,
                              <&ccu CLK_TCON_LCD0>,
                              <&ccu CLK_TCON_TV>;
                              assigned-clock-parents = <&ccu CLK_PLL_PERIPH0_2X>,
                              <&ccu CLK_PLL_PERIPH0>,
                              <&ccu CLK_PLL_VIDEO0_4X>,
                              <&ccu CLK_PLL_VIDEO1_4X>;
                              assigned-clock-rates = <300000000>,
                              <150000000>,
                              <0>,
                              <0>;
      
                              boot_disp = <0>;
                              boot_disp1 = <0>;
                              boot_disp2 = <0>;
                              fb_base = <0>;
                              iommus = <&mmu_aw 2 0>;
                              status = "okay";
                      };
      
                      lcd0: lcd0@5461000 {
                              compatible = "allwinner,sunxi-lcd0";
                              reg = <0x0 0x05461000 0x0 0xfff>;
                              pinctrl-names = "active","sleep";
                              status = "okay";
                      };
      
                      tv0: tv0@5600000 {
                              compatible = "allwinner,sunxi-tv";
                              reg = <0x0 0x05600000 0x0 0x3fff>,
                                      <0x0 0x05604000 0x0 0x3fff>;
                              clocks = <&ccu CLK_BUS_TVE_TOP>,
                                       <&ccu CLK_TVE>,
                                       <&ccu CLK_BUS_TVE>;
                              clock-names = "clk_bus_tve_top",
                                            "clk_tve",
                                            "clk_bus_tve";
                              resets = <&ccu RST_BUS_TVE_TOP>,
                                       <&ccu RST_BUS_TVE>;
                              reset-names = "rst_bus_tve_top", "rst_bus_tve";
      
                              device_type = "tv0";
                              pinctrl-names = "active","sleep";
                              status = "okay";
                      };
      
                      hwspinlock: hwspinlock@0x3005000 {
                              compatible = "allwinner,sunxi-hwspinlock";
                              reg = <0x0 0x3005000 0x0 0x1000>;
                              #hwlock-cells = <1>;
                              clocks = <&ccu CLK_BUS_SPINLOCK>;
                              clock-names = "clk_hwspinlock_bus";
                              resets = <&ccu RST_BUS_SPINLOCK>;
                              reset-names = "rst";
                              num-locks = <32>;
                              status = "disabled";
                      };
                      /* old msgbox in dts
                      msgbox: msgbox@3003000 {
                              compatible = "sunxi,msgbox-amp";
                              reg = <0x0 0x03003000 0x0 0x1000>,
                                    <0x0 0x01701000 0x0 0x1000>,
                                    <0x0 0x0601f000 0x0 0x1000>;
                              interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
                                              <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
                                              <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_MSGBOX0>;
                              rpmsg_id = "sunxi,dsp-msgbox","sunxi,dsp-power-msgbox";
                              resets = <&ccu RST_BUS_MSGBOX0>;
                              reset-names = "rst";
                              msgbox_amp_counts = <3>;
                              msgbox_amp_local = <0>;
                              rpmsg_amp_remote-0 = <1>;
                              rpmsg_read_channel-0 = <1>;
                              rpmsg_write_channel-0 = <1>;
                              rpmsg_amp_remote-1 = <1>;
                              rpmsg_read_channel-1 = <0>;
                              rpmsg_write_channel-1 = <0>;
                      }; */
                      msgbox: msgbox@3003000 {
                              compatible = "allwinner,sunxi-msgbox";
                              #mbox-cells = <1>;
                              reg = <0x0 0x03003000 0x0 0x1000>,
                                    <0x0 0x01701000 0x0 0x1000>,
                                    <0x0 0x0601f000 0x0 0x1000>;
                              interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
                                              <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
                                              <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_MSGBOX0>;
                              resets = <&ccu RST_BUS_MSGBOX0>;
                              reset-names = "rst";
                              local_id = <0>;
                      };
      
                      hdmi: hdmi@5500000 {
                              compatible = "allwinner,sunxi-hdmi";
                              reg = <0x0 0x05500000 0x0 0xfffff>;
                              interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_HDMI>,
                                      <&ccu CLK_HDMI_24M>,
                                      <&ccu CLK_HDMI_CEC>,
                                      <&ccu CLK_TCON_TV>;
                              clock-names = "clk_bus_hdmi",
                                              "clk_ddc",
                                              "clk_cec",
                                              "clk_tcon_tv";
                              resets = <&ccu RST_BUS_HDMI_SUB>,
                                      <&ccu RST_BUS_HDMI_MAIN>;
                              reset-names = "rst_bus_sub",
                                            "rst_bus_main";
                              assigned-clocks = <&ccu CLK_HDMI_CEC>;
                              assigned-clock-parents = <&ccu CLK_HDMI_CEC_32K>;
                              assigned-clock-rates = <0>;
                              status = "okay";
                      };
                      usbc0:usbc0@0 {
                              device_type = "usbc0";
                              compatible = "allwinner,sunxi-otg-manager";
                              usb_port_type = <2>;
                              usb_detect_type = <1>;
                              usb_id_gpio;
                              usb_det_vbus_gpio;
                              usb_regulator_io = "nocare";
                              usb_wakeup_suspend = <0>;
                              usb_luns = <3>;
                              usb_serial_unique = <0>;
                              usb_serial_number = "20080411";
                              rndis_wceis = <1>;
                              status = "okay";
                      };
      
                      udc:udc-controller@0x04100000 {
                              compatible = "allwinner,sunxi-udc";
                              reg = <0x0 0x04100000 0x0 0x1000>, /*udc base*/
                                    <0x0 0x00000000 0x0 0x100>; /*sram base*/
                              interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_OTG>;
                              clock-names = "bus_otg";
                              resets = <&ccu RST_BUS_OTG>, <&ccu RST_USB_PHY0>;
                              reset-names = "otg", "phy";
                              status = "okay";
                      };
      
                      ehci0:ehci0-controller@0x04101000 {
                              compatible = "allwinner,sunxi-ehci0";
                              reg = <0x0 0x04101000 0x0 0xFFF>, /*hci0 base*/
                                    <0x0 0x00000000 0x0 0x100>, /*sram base*/
                                    <0x0 0x04100000 0x0 0x1000>; /*otg base*/
                              interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_EHCI0>;
                              clock-names = "bus_hci";
                              resets = <&ccu RST_BUS_EHCI0>, <&ccu RST_USB_PHY0>;
                              reset-names = "hci", "phy";
                              hci_ctrl_no = <0>;
                              status = "okay";
                      };
      
                      ohci0:ohci0-controller@0x04101400 {
                              compatible = "allwinner,sunxi-ohci0";
                              reg = <0x0 0x04101400 0x0 0xFFF>, /*hci0 base*/
                                    <0x0 0x00000000 0x0 0x100>, /*sram base*/
                                    <0x0 0x04100000 0x0 0x1000>; /*otg base*/
                              interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_OHCI0>, <&ccu CLK_USB_OHCI0>;
                              clock-names = "bus_hci", "ohci";
                              resets = <&ccu RST_BUS_OHCI0>, <&ccu RST_USB_PHY0>;
                              reset-names = "hci", "phy";
                              hci_ctrl_no = <0>;
                              status = "okay";
                      };
      
                      usbc1:usbc1@0 {
                              device_type = "usbc1";
                              usb_regulator_io = "nocare";
                              usb_wakeup_suspend = <0>;
                              status = "disable";
                      };
      
                      ehci1:ehci1-controller@0x04200000 {
                              compatible = "allwinner,sunxi-ehci1";
                              reg = <0x0 0x04200000 0x0 0xFFF>, /*ehci1 base*/
                                    <0x0 0x00000000 0x0 0x100>, /*sram base*/
                                    <0x0 0x04100000 0x0 0x1000>; /*otg base*/
                              interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_EHCI1>;
                              clock-names = "bus_hci";
                              resets = <&ccu RST_BUS_EHCI1>, <&ccu RST_USB_PHY1>;
                              reset-names = "hci", "phy";
                              hci_ctrl_no = <1>;
                              status = "disable";
                      };
      
                      ohci1:ohci1-controller@0x04200400 {
                              compatible = "allwinner,sunxi-ohci1";
                              reg = <0x0 0x04200400 0x0 0xFFF>, /*ohci1 base*/
                                    <0x0 0x00000000 0x0 0x100>, /*sram base*/
                                    <0x0 0x04100000 0x0 0x1000>; /*otg base*/
                              interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
                              clocks = <&ccu CLK_BUS_OHCI1>, <&ccu CLK_USB_OHCI1>;
                              clock-names = "bus_hci", "ohci";
                              resets = <&ccu RST_BUS_OHCI1>, <&ccu RST_USB_PHY1>;
                              reset-names = "hci", "phy";
                              hci_ctrl_no = <1>;
                              status = "disable";
                      };
      
                      /* codec addr: 0x02030000, the others is invalid to avoid build warining */
                      codec:codec@2030000 {
                              #sound-dai-cells = <0>;
                              compatible = "allwinner,sunxi-internal-codec";
                              reg = <0x0 0x02030000 0x0 0x34c>;
                              clocks = <&ccu CLK_PLL_AUDIO0>,
                                       <&ccu CLK_PLL_AUDIO1_DIV5>,
                                       <&ccu CLK_AUDIO_DAC>,
                                       <&ccu CLK_AUDIO_ADC>,
                                       <&ccu CLK_BUS_AUDIO_CODEC>;
                              clock-names = "pll_audio0", "pll_audio1_div5",
                                            "audio_clk_dac", "audio_clk_adc",
                                            "audio_clk_bus";
                              resets = <&ccu RST_BUS_AUDIO_CODEC>;
                              rx_sync_en  = <0x00>;
                              device_type = "codec";
                              status = "okay";
                      };
      
                      dummy_cpudai:dummy_cpudai@203034c {
                              compatible = "allwinner,sunxi-dummy-cpudai";
                              reg = <0x0 0x0203034c 0x0 0x4>;
                              tx_fifo_size    = <128>;
                              rx_fifo_size    = <256>;
                              dac_txdata      = <0x02030020>;
                              adc_txdata      = <0x02030040>;
                              playback_cma    = <128>;
                              capture_cma     = <256>;
                              device_type = "cpudai";
                              dmas = <&dma 7>, <&dma 7>;
                              dma-names = "tx", "rx";
                              status = "okay";
                      };
      
                      sndcodec:sound@2030340 {
                              compatible = "allwinner,sunxi-codec-machine";
                              reg = <0x0 0x02030340 0x0 0x4>;
                              interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
                              sunxi,audio-codec = <&codec>;
                              sunxi,cpudai-controller = <&dummy_cpudai>;
                              device_type = "sndcodec";
                              status = "okay";
                      };
      
                      sunxi_rpaf_dsp0:rpaf-dsp@203034c {
                              compatible = "allwinner,rpaf-dsp0";
                              device_type = "sunxi_rpaf_dsp0";
                              dsp_id = <0x0>;
                              status = "okay";
                      };
      
                      /* dmic addr: 0x02031000, the others is invalid to avoid build warining */
                      dmic:dmic@2031000{
                              #sound-dai-cells = <0>;
                              compatible = "allwinner,sunxi-dmic";
                              reg = <0x0 0x02031000 0x0 0x50>;
                              clocks = <&ccu CLK_PLL_AUDIO0>, /* 98.304M / 90.3168M */
                                       <&ccu CLK_DMIC>,
                                       <&ccu CLK_BUS_DMIC>;
                              clock-names = "pll_audio", "dmic", "dmic_bus";
                              resets = <&ccu RST_BUS_DMIC>;
                              dmas            = <&dma 8>;
                              dma-names       = "rx";
                              interrupts      = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
                              clk_parent      = <0x1>;
                              capture_cma     = <256>;
                              data_vol        = <0xB0>;
                              rx_chmap        = <0x76543210>;
                              rx_sync_en      = <0x00>;
                              device_type = "dmic";
                              status = "disabled";
                      };
      
                      dmic_codec:sound@2031050{
                              #sound-dai-cells = <0>;
                              compatible = "dmic-codec";
                              reg = <0x0 0x02031050 0x0 0x4>;
                              num-channels = <8>;
                      };
      
                      sounddmic:sounddmic@2031060 {
                              reg = <0x0 0x02031060 0x0 0x4>;
                              compatible = "sunxi,simple-audio-card";
                              simple-audio-card,name = "snddmic";
                              simple-audio-card,capture_only;
                              status = "disabled";
                              /* simple-audio-card,format = "i2s"; */
                              simple-audio-card,cpu {
                                      sound-dai = <&dmic>;
                              };
                              simple-audio-card,codec {
                                      sound-dai = <&dmic_codec>;
                              };
                      };
      
                      /* daudio0 addr: 0x02032000, the others is invalid to avoid build warining */
                      daudio0:daudio@2032000 {
                              #sound-dai-cells = <0>;
                              compatible = "allwinner,sunxi-daudio";
                              reg = <0x0 0x02032000 0x0 0xa0>;
                              clocks = <&ccu CLK_PLL_AUDIO0>, /* 98.304M / 90.3168M */
                                       <&ccu CLK_I2S0>,
                                       <&ccu CLK_BUS_I2S0>;
                              clock-names = "pll_audio", "i2s0", "i2s0_bus";
                              resets = <&ccu RST_BUS_I2S0>;
                              dmas            = <&dma 3>, <&dma 3>;
                              dma-names       = "tx", "rx";
                              interrupts      = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
                              pinctrl_used            = <0x01>;
                              sign_extend             = <0x00>;
                              tx_data_mode            = <0x00>;
                              rx_data_mode            = <0x00>;
                              msb_lsb_first           = <0x00>;
                              pcm_lrck_period         = <0x80>;
                              slot_width_select       = <0x20>;
                              frametype               = <0x00>;
                              tdm_config              = <0x01>;
                              tdm_num                 = <0x00>;
                              mclk_div                = <0x00>;
                              clk_parent              = <0x00>;
                              capture_cma             = <128>;
                              playback_cma            = <128>;
                              tx_num                  = <4>;
                              tx_chmap1               = <0x76543210>;
                              tx_chmap0               = <0xFEDCBA98>;
                              rx_num                  = <4>;
                              rx_chmap3               = <0x03020100>;
                              rx_chmap2               = <0x07060504>;
                              rx_chmap1               = <0x0B0A0908>;
                              rx_chmap0               = <0x0F0E0D0C>;
                              asrc_function_en        = <0x00>;
                              rx_sync_en              = <0x00>;
                              device_type = "daudio0";
                              status = "disabled";
                      };
      
                      sounddaudio0: sounddaudio0@20320a0 {
                              reg = <0x0 0x020320a0 0x0 0x4>;
                              compatible = "sunxi,simple-audio-card";
                              simple-audio-card,name = "snddaudio0";
                              simple-audio-card,format = "i2s";
                              status = "disabled";
                              /* simple-audio-card,frame-master = <&daudio0_master>; */
                              /* simple-audio-card,bitclock-master = <&daudio0_master>; */
                              /* simple-audio-card,bitclock-inversion; */
                              /* simple-audio-card,frame-inversion; */
                              simple-audio-card,cpu {
                                      sound-dai = <&daudio0>;
                              };
                      };
      
                      /* daudio1 addr: 0x02033000, the others is invalid to avoid build warining */
                      daudio1:daudio@2033000 {
                              #sound-dai-cells = <0>;
                              compatible = "allwinner,sunxi-daudio";
                              reg = <0x0 0x02033000 0x0 0xa0>;
                              clocks = <&ccu CLK_PLL_AUDIO0>, /* 98.304M / 90.3168M */
                                       <&ccu CLK_I2S1>,
                                       <&ccu CLK_BUS_I2S1>;
                              clock-names = "pll_audio", "i2s1", "i2s1_bus";
                              resets = <&ccu RST_BUS_I2S1>;
                              dmas            = <&dma 4>, <&dma 4>;
                              dma-names       = "tx", "rx";
                              interrupts      = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
                              pinctrl_used            = <0x01>;
                              sign_extend             = <0x00>;
                              tx_data_mode            = <0x00>;
                              rx_data_mode            = <0x00>;
                              msb_lsb_first           = <0x00>;
                              pcm_lrck_period         = <0x80>;
                              slot_width_select       = <0x20>;
                              frametype               = <0x00>;
                              tdm_config              = <0x01>;
                              tdm_num                 = <0x01>;
                              mclk_div                = <0x00>;
                              clk_parent              = <0x00>;
                              capture_cma             = <128>;
                              playback_cma            = <128>;
                              tx_num                  = <4>;
                              tx_chmap1               = <0x76543210>;
                              tx_chmap0               = <0xFEDCBA98>;
                              rx_num                  = <4>;
                              rx_chmap3               = <0x03020100>;
                              rx_chmap2               = <0x07060504>;
                              rx_chmap1               = <0x0B0A0908>;
                              rx_chmap0               = <0x0F0E0D0C>;
                              asrc_function_en        = <0x00>;
                              rx_sync_en              = <0x00>;
                              device_type = "daudio1";
                              status = "disabled";
                      };
      
                      sounddaudio1: sounddaudio1@20330a0 {
                              reg = <0x0 0x020330a0 0x0 0x4>;
                              compatible = "sunxi,simple-audio-card";
                              simple-audio-card,name = "snddaudio1";
                              simple-audio-card,format = "i2s";
                              status = "disabled";
                              simple-audio-card,cpu {
                                      sound-dai = <&daudio1>;
                              };
                      };
      
                      /* daudio2 addr: 0x02034000, the others is invalid to avoid build warining */
                      daudio2:daudio@2034000 {
                              #sound-dai-cells = <0>;
                              compatible = "allwinner,sunxi-daudio";
                              reg = <0x0 0x02034000 0x0 0xa0>;
                              clocks = <&ccu CLK_PLL_AUDIO0>, /* 98.304M / 90.3168M */
                                       <&ccu CLK_I2S2>,
                                       <&ccu CLK_BUS_I2S2>,
                                       <&ccu CLK_PLL_AUDIO0_4X>,
                                       <&ccu CLK_I2S2_ASRC>;
                              resets = <&ccu RST_BUS_I2S2>;
                              dmas            = <&dma 5>, <&dma 5>;
                              dma-names       = "tx", "rx";
                              interrupts      = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
                              pinctrl_used            = <0x01>;
                              daudio_type             = <0x00>;
                              sign_extend             = <0x00>;
                              tx_data_mode            = <0x00>;
                              rx_data_mode            = <0x00>;
                              msb_lsb_first           = <0x00>;
                              pcm_lrck_period         = <0x80>;
                              slot_width_select       = <0x20>;
                              frametype               = <0x00>;
                              tdm_config              = <0x01>;
                              tdm_num                 = <0x02>;
                              mclk_div                = <0x01>;
                              clk_parent              = <0x00>;
                              capture_cma             = <128>;
                              playback_cma            = <128>;
                              tx_num                  = <4>;
                              tx_chmap1               = <0x76543210>;
                              tx_chmap0               = <0xFEDCBA98>;
                              rx_num                  = <4>;
                              rx_chmap3               = <0x03020100>;
                              rx_chmap2               = <0x07060504>;
                              rx_chmap1               = <0x0B0A0908>;
                              rx_chmap0               = <0x0F0E0D0C>;
                              asrc_function_en        = <0x00>;
                              rx_sync_en              = <0x00>;
                              device_type = "daudio2";
                              status = "disabled";
                      };
      
                      sounddaudio2: sounddaudio2@20340a0 {
                              reg = <0x0 0x020340a0 0x0 0x4>;
                              compatible = "sunxi,simple-audio-card";
                              simple-audio-card,name = "snddaudio2";
                              simple-audio-card,format = "i2s";
                              status = "disabled";
                              simple-audio-card,cpu {
                                      sound-dai = <&daudio2>;
                              };
                      };
      
                      hdmiaudio: hdmiaudio@20340a4 {
                              #sound-dai-cells = <0>;
                              reg = <0x0 0x020340a4 0x0 0x4>;
                              compatible = "allwinner,sunxi-hdmiaudio";
                              status = "disabled";
                      };
      
                      /* spdif addr: 0x02036000, the others is invalid to avoid build warining */
                      spdif:spdif@2036000 {
                              #sound-dai-cells = <0>;
                              compatible = "allwinner,sunxi-spdif";
                              reg = <0x0 0x02036000 0x0 0x58>;
                              clocks = <&ccu CLK_PLL_AUDIO0_4X>,      /* 90.3168M */
                                       <&ccu CLK_SPDIF_TX>,
                                       <&ccu CLK_BUS_SPDIF>,
                                       <&ccu CLK_PLL_AUDIO1>,         /* 98.304M */
                                       <&ccu CLK_PLL_AUDIO1_DIV5>,
                                       <&ccu CLK_PLL_PERIPH0>,
                                       <&ccu CLK_SPDIF_RX>;
                              clock-names = "pll_audio0", "spdif", "spdif_bus",
                                            "pll_audio1", "pll_audio1_div5",
                                            "pll_periph", "spdif_rx";
                              resets = <&ccu RST_BUS_SPDIF>;
                              dmas            = <&dma 2>, <&dma 2>;
                              dma-names       = "tx", "rx";
                              interrupts      = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
                              clk_parent      = <0x1>;
                              playback_cma    = <128>;
                              capture_cma     = <128>;
                              rx_sync_en      = <0>;
                              device_type = "spdif";
                              status = "disabled";
                      };
      
                      soundspdif:soundspdif@203605c {
                              reg = <0x0 0x0203605c 0x0 0x4>;
                              compatible = "sunxi,simple-audio-card";
                              simple-audio-card,name = "sndspdif";
                              status = "disabled";
                               /* simple-audio-card,format = "i2s"; */
                               simple-audio-card,cpu {
                                       sound-dai = <&spdif>;
                               };
                               simple-audio-card,codec {
                                       /*snd-soc-dummy*/
                               };
                      };
      
                      ths: ths@02009400 {
                              compatible = "allwinner,sun8iw20p1-ths";
                              reg = <0x0 0x02009400 0x0 0x400>;
                              clocks = <&ccu CLK_BUS_THS>;
                              clock-names = "bus";
                              resets = <&ccu RST_BUS_THS>;
                              nvmem-cells = <&ths_calib>;
                              nvmem-cell-names = "calibration";
                              #thermal-sensor-cells = <1>;
                      };
      
                      tvd: tvd@05c00000 {
                              compatible = "allwinner,sunxi-tvd";
                              reg = <0x0 0x05c00000 0x0 0x00010000>;/*tvd_top*/
                              interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
      
                              clocks = <&ccu CLK_BUS_TVD_TOP>,
                              <&ccu CLK_MBUS_TVIN>;
                              clock-names = "clk_bus_tvd_top",
                              "clk_mbus_tvd";
      
                              resets = <&ccu RST_BUS_TVD_TOP>;
                              reset-names = "rst_bus_tvd_top";
      
                              tvd-number = <1>;
                              tvds = <&tvd0>;
                              status = "okay";
                      };
      
                      tvd0: tvd0@05c01000 {
                              compatible = "allwinner,sunxi-tvd0";
                              reg = <0x0 0x05c01000 0x0 0x00010000>;
                              interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
      
                              clocks = <&ccu CLK_TVD>,
                              <&ccu CLK_BUS_TVD>;
                              clock-names = "clk_tvd0","clk_bus_tvd0";
      
                              resets = <&ccu RST_BUS_TVD>;
                              reset-names = "rst_bus_tvd0";
      
                              assigned-clocks = <&ccu CLK_TVD>;
                              assigned-clock-parents = <&ccu CLK_PLL_VIDEO1>;
      
                              tvd_used = <1>;
                              tvd_if = <0>;
                              status = "okay";
                      };
      
              };
      };
      
      发布在 Linux
      X
      默
    • 1 / 1