Jump to content

Armbian on rk3288 TV Box, stuck on u-boot


Recommended Posts

Posted

I'm spending some time on one of those famous Q8 tv boxes (ENY Q8, VSmart Q8, etc...) which sports the rk3288 soc

 

I started with recent u-boot and kernel releases. Rockchip provides a recent u-boot (late 2017) and an LTS 4.4 kernel on their rockchip-linux github account.

I compiled u-boot (from here) using a the device tree source from DengueTim (available here, in arch/arm/boot/dts/rk3288-q8.dts). I had to enable the serial driver though, because the device tree is "kernel flavour", instead u-boot wanted explicitly the serial port in "chosen" section.

 

Compilation goes fine and u-boot boots from the SD card, prints Model, Ram and MMC infos on the serial and then stops.

Pushing the power button of the TV Box restarts the boot process, so the box is not frozen, but it is more like being shat down.

 

I also tried different board configuration and device trees (firefly, tinkerboard), and I discovered that u-boot behaves exactly the same, printing the same info lines (albeit Model being incorrect) and then stops.

 

Now I'm stuck because I don't understand if there is a fault in the device tree or in u-boot .config file.

Any experiences or hints are greatly appreciated (I'll post logs as soon as I can)

Posted

This is the log provided by u-boot, compiled with DEBUG directive on:

 

DDR Version 1.00 20141007
In
Channel a: LPDDR2 200MHz
MR0=0x8
MR1=0x887744BB
MR2=0x8
MR3=0x8
MR4=0x8
MR5=0x1
MR6=0x1
MR7=0x1
MR8=0x0
MR9=0x18
MR10=0x18
MR11=0x18
MR12=0x18
MR13=0x18
MR14=0x18
MR15=0x18
MR16=0x18
Bus Width=32 Col=10 Bank=8 Row=14 CS=2 Die Bus-Width=32 Size=1024MB
Channel b: LPDDR2 200MHz
MR0=0x8
MR1=0x887744BB
MR2=0x8
MR3=0x8
MR4=0x8
MR5=0x1
MR6=0x1
MR7=0x1
MR8=0x0
MR9=0x18
MR10=0x18
MR11=0x18
MR12=0x18
MR13=0x18
MR14=0x18
MR15=0x18
MR16=0x18
Bus Width=32 Col=10 Bank=8 Row=14 CS=2 Die Bus-Width=32 Size=1024MB
Memory OK
Memory OK
OUT
initcall: 0000cac1
initcall: 00039b2d
initcall: 00013ee5
initcall: 0000cd8b
initcall: 0000cb01
initcall: 000016f9
initcall: 0000cad9
initcall: 0000cd85
malloc_simple: size=18, ptr=18, limit=2000: fe000
malloc_simple: size=54, ptr=6c, limit=2000: fe018
malloc_simple: size=4, ptr=70, limit=2000: fe06c
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 -1 'root_driver'
   - not found
bind node dwmmc@ff0c0000
   - attempt to match compatible string 'rockchip,rk3288-dw-mshc'
   - found match at 'rockchip_rk3288_dw_mshc'
malloc_simple: size=18, ptr=88, limit=2000: fe070
malloc_simple: size=54, ptr=dc, limit=2000: fe088
Looking for 'mmc' at 3060, name dwmmc@ff0c0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
Found seq 1
malloc_simple: size=f8, ptr=1d4, limit=2000: fe0dc
Looking for 'mmc' at 3060, name dwmmc@ff0c0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
Found seq 1
mmc_bind: alias ret=0, devnum=1
malloc_simple: size=13, ptr=1e7, limit=2000: fe1d4
malloc_simple: size=18, ptr=200, limit=2000: fe1e8
malloc_simple: size=54, ptr=254, limit=2000: fe200
malloc_simple: size=68, ptr=2bc, limit=2000: fe254
Bound device dwmmc@ff0c0000.blk to dwmmc@ff0c0000
Bound device dwmmc@ff0c0000 to root_driver
bind node serial@ff690000
   - attempt to match compatible string 'rockchip,rk3288-uart'
   - attempt to match compatible string 'snps,dw-apb-uart'
   - found match at 'ns16550_serial'
malloc_simple: size=18, ptr=2d4, limit=2000: fe2bc
malloc_simple: size=54, ptr=328, limit=2000: fe2d4
Looking for 'serial' at 7228, name serial@ff690000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
   - serial2, /serial@ff690000
Found seq 2
malloc_simple: size=14, ptr=33c, limit=2000: fe328
Bound device serial@ff690000 to root_driver
bind node dmc@ff610000
   - attempt to match compatible string 'rockchip,rk3288-dmc'
   - found match at 'rockchip_rk3288_dmc'
malloc_simple: size=18, ptr=354, limit=2000: fe33c
malloc_simple: size=54, ptr=3a8, limit=2000: fe354
Bound device dmc@ff610000 to root_driver
bind node power-management@ff730000
   - attempt to match compatible string 'rockchip,rk3288-pmu'
   - found match at 'rk3288_syscon'
malloc_simple: size=18, ptr=3c0, limit=2000: fe3a8
malloc_simple: size=54, ptr=414, limit=2000: fe3c0
Bound device power-management@ff730000 to root_driver
bind node syscon@ff740000
   - attempt to match compatible string 'rockchip,rk3288-sgrf'
   - found match at 'rk3288_syscon'
malloc_simple: size=54, ptr=468, limit=2000: fe414
Bound device syscon@ff740000 to root_driver
bind node clock-controller@ff760000
   - attempt to match compatible string 'rockchip,rk3288-cru'
   - found match at 'rockchip_rk3288_cru'
malloc_simple: size=18, ptr=480, limit=2000: fe468
malloc_simple: size=54, ptr=4d4, limit=2000: fe480
malloc_simple: size=18, ptr=4ec, limit=2000: fe4d4
malloc_simple: size=54, ptr=540, limit=2000: fe4ec
Bound device sysreset to clock-controller@ff760000
malloc_simple: size=8, ptr=548, limit=2000: fe540
malloc_simple: size=18, ptr=560, limit=2000: fe548
malloc_simple: size=54, ptr=5b4, limit=2000: fe560
Bound device reset to clock-controller@ff760000
malloc_simple: size=c, ptr=5c0, limit=2000: fe5b4
Bound device clock-controller@ff760000 to root_driver
bind node syscon@ff770000
   - attempt to match compatible string 'rockchip,rk3288-grf'
   - found match at 'rk3288_syscon'
malloc_simple: size=54, ptr=614, limit=2000: fe5c0
Bound device syscon@ff770000 to root_driver
bind node vop@ff930000
   - attempt to match compatible string 'rockchip,rk3288-vop'
   - found match at 'rk3288_vop'
malloc_simple: size=18, ptr=62c, limit=2000: fe614
malloc_simple: size=54, ptr=680, limit=2000: fe62c
Looking for 'video' at 16496, name vop@ff930000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
   - serial2, /serial@ff690000
   - serial3, /serial@ff1b0000
   - serial4, /serial@ff1c0000
   - spi0, /spi@ff110000
   - spi1, /spi@ff120000
   - spi2, /spi@ff130000
Not found
malloc_simple: size=c, ptr=68c, limit=2000: fe680
Bound device vop@ff930000 to root_driver
bind node vop@ff940000
   - attempt to match compatible string 'rockchip,rk3288-vop'
   - found match at 'rk3288_vop'
malloc_simple: size=54, ptr=6e0, limit=2000: fe68c
Looking for 'video' at 17428, name vop@ff940000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
   - serial2, /serial@ff690000
   - serial3, /serial@ff1b0000
   - serial4, /serial@ff1c0000
   - spi0, /spi@ff110000
   - spi1, /spi@ff120000
   - spi2, /spi@ff130000
Not found
malloc_simple: size=c, ptr=6ec, limit=2000: fe6e0
Bound device vop@ff940000 to root_driver
bind node syscon@ffac0000
   - attempt to match compatible string 'rockchip,rk3288-noc'
   - found match at 'rk3288_syscon'
malloc_simple: size=54, ptr=740, limit=2000: fe6ec
Bound device syscon@ffac0000 to root_driver
bind node config
Device 'config' has no compatible string
initcall: 0000cb09
initcall: 0003b5b1
initcall: 0002d529
initcall: 0000cd69
initcall: 00024a31
malloc_simple: size=18, ptr=758, limit=2000: fe740
malloc_simple: size=10, ptr=768, limit=2000: fe758
uclass_find_device_by_seq: 0 2
   - 2 -1 'serial@ff690000'
   - not found
malloc_simple: size=18, ptr=780, limit=2000: fe768
malloc_simple: size=18, ptr=798, limit=2000: fe780
OF: ** translation for device serial@ff690000 **
OF: bus is default (na=1, ns=1) on 
OF: translating address: 000069ff
OF: reached root node
ofnode_read_u32: reg-offset: (not found)
ofnode_read_u32: reg-shift: 0x2 (2)
clk_get_by_index(dev=000fe2d4, index=0, clk=000fdea8)
fdtdec_get_int: #clock-cells: 0x1 (1)
malloc_simple: size=c, ptr=7a4, limit=2000: fe798
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 -1 'clock-controller@ff760000'
   - not found
OF: ** translation for device clock-controller@ff760000 **
OF: bus is default (na=1, ns=1) on 
OF: translating address: 000076ff
OF: reached root node
malloc_simple: size=4, ptr=7a8, limit=2000: fe7a4
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 -1 'power-management@ff730000'
   - -1 -1 'syscon@ff740000'
   - -1 -1 'syscon@ff770000'
   - -1 -1 'syscon@ffac0000'
   - not found
malloc_simple: size=14, ptr=7bc, limit=2000: fe7a8
fdtdec_get_addr_size_fixed: reg: OF: ** translation for device syscon@ff770000 **
OF: bus is default (na=1, ns=1) on 
OF: translating address: 000077ff
OF: reached root node
addr=ff770000, size=1000
clk_of_xlate_default(clk=000fdea8)
clk_request(dev=000fe480, clk=000fdea8)
clk_get_rate(clk=000fdea8)
ofnode_read_u32: clock-frequency: 0x16e3600 (24000000)
initcall: 0003a6b9


U-Boot 2017.09-g5ecf0ee-dirty (Feb 17 2018 - 12:17:28 +0100)

initcall: 0000cc61
U-Boot code: 00000000 -> 000645F8  BSS: -> 000A5C0C
initcall: 0000d025
Model: Q8-RK3288
initcall: 0000cd59
DRAM:  initcall: 00001671
malloc_simple: size=3c, ptr=7f8, limit=2000: fe7bc
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 -1 'dmc@ff610000'
   - not found
malloc_simple: size=4, ptr=7fc, limit=2000: fe7f8
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 -1 'power-management@ff730000'
   - -1 -1 'syscon@ff740000'
   - -1 0 'syscon@ff770000'
   - found
uclass_find_device_by_seq: 0 1
   - -1 -1 'power-management@ff730000'
   - -1 -1 'syscon@ff740000'
   - -1 0 'syscon@ff770000'
   - -1 -1 'syscon@ffac0000'
   - not found
malloc_simple: size=14, ptr=810, limit=2000: fe7fc
fdtdec_get_addr_size_fixed: reg: OF: ** translation for device power-management@ff730000 **
OF: bus is default (na=1, ns=1) on 
OF: translating address: 000073ff
OF: reached root node
addr=ff730000, size=100
rockchip_sdram_size ff73009c 3a50ba50
rank 2 col 10 bk 3 cs0_row 14 bw 2 row_3_4 0
rank 2 col 10 bk 3 cs0_row 14 bw 2 row_3_4 0
SDRAM base=0, size=80000000
initcall: 0000ce01
Monitor len: 000A5C0C
Ram size: 80000000
Ram top: 80000000
initcall: 0000cadd
initcall: 0000cb25
TLB table from 7fff0000 to 7fff4000
initcall: 0000cd39
video_reserve: Reserving 7f0000 bytes at 7f800000 for video device 'vop@ff930000'
video_reserve: Reserving 800000 bytes at 7f000000 for video device 'vop@ff940000'
Video frame buffers from 7f000000 to 7fff0000
initcall: 0000caf1
initcall: 0000cc21
Reserving 663k for U-Boot at: 7ef5a000
initcall: 0000cbf9
Reserving 32800k for malloc() at: 7cf52000
initcall: 0000cd01
Reserving 80 Bytes for Board Info at: 7cf51fb0
initcall: 0000caf5
initcall: 0000cbd1
Reserving 208 Bytes for Global Data at: 7cf51ee0
initcall: 0000cb81
Reserving 41152 Bytes for FDT at: 7cf47e20
initcall: 0000caf9
initcall: 0000cb05
initcall: 0000ce59
initcall: 0000cb0d
initcall: 0000cd9d

RAM Configuration:
Bank #0: 0 2 GiB

DRAM:  2 GiB
initcall: 0000cb6d
New Stack Pointer is: 7cf45e10
initcall: 0000ccd5
initcall: 0000cafd
initcall: 0000cc81
Relocation Offset is: 7ef5a000
Relocating to 7ef5a000, new gd at 7cf51ee0, sp at 7cf45e10
initcall: 7ef66e99
initcall: 7ef66e9d
initcall: 0000cff9 (relocated to 7ef66ff9)
dram_bank_mmu_setup: bank: 0
initcall: 0000cfd1 (relocated to 7ef66fd1)
efi_runtime_relocate: Relocating to offset=7ef5a000
efi_runtime_relocate: Setting 7efbe4a8 to 7efbe500
efi_runtime_relocate: Setting 7efbe4b4 to 7efbc3b4
efi_runtime_relocate: Setting 7efbe4bc to 7ef9a71c
efi_runtime_relocate: Setting 7efbe4c4 to 7ef9a71c
efi_runtime_relocate: Setting 7efbe4c8 to 7efbe518
efi_runtime_relocate: Setting 7efbe4cc to 7ef99b58
efi_runtime_relocate: Setting 7efbe4d4 to 7efbe4d8
efi_runtime_relocate: Setting 7efbe530 to 7ef8d7b5
efi_runtime_relocate: Setting 7efbe534 to 7efbe47d
efi_runtime_relocate: Setting 7efbe538 to 7efbe475
efi_runtime_relocate: Setting 7efbe53c to 7efbe475
efi_runtime_relocate: Setting 7efbe540 to 7ef8d915
efi_runtime_relocate: Setting 7efbe544 to 7efbe485
efi_runtime_relocate: Setting 7efbe548 to 7efbe47d
efi_runtime_relocate: Setting 7efbe54c to 7efbe47d
efi_runtime_relocate: Setting 7efbe550 to 7efbe47d
efi_runtime_relocate: Setting 7efbe554 to 7efbe47d
efi_runtime_relocate: Setting 7efbe558 to 7ef8d7bd
initcall: 0000ceb1 (relocated to 7ef66eb1)
initcall: 0000cfa1 (relocated to 7ef66fa1)
Pre-reloc malloc() used 0x810 bytes (2 KB)
using memory 0x7cf52000-0x7ef5a000 for malloc()
initcall: 0000cf95 (relocated to 7ef66f95)
initcall: 0000ceb5 (relocated to 7ef66eb5)
initcall: 0000ce95 (relocated to 7ef66e95)
initcall: 0000cf83 (relocated to 7ef66f83)
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
   - -1 -1 'root_driver'
   - not found
bind node chosen
Device 'chosen' has no compatible string
bind node aliases
Device 'aliases' has no compatible string
bind node memory
Device 'memory' has no compatible string
bind node cpus
Device 'cpus' has no compatible string
bind node amba
   - attempt to match compatible string 'arm,amba-bus'
No match for node 'amba'
bind node oscillator
   - attempt to match compatible string 'fixed-clock'
   - found match at 'fixed_rate_clock'
Bound device oscillator to root_driver
bind node timer
   - attempt to match compatible string 'arm,armv7-timer'
No match for node 'timer'
bind node display-subsystem
   - attempt to match compatible string 'rockchip,display-subsystem'
No match for node 'display-subsystem'
bind node dwmmc@ff0c0000
   - attempt to match compatible string 'rockchip,rk3288-dw-mshc'
   - found match at 'rockchip_rk3288_dw_mshc'
Looking for 'mmc' at 3060, name dwmmc@ff0c0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
Found seq 1
Looking for 'mmc' at 3060, name dwmmc@ff0c0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
Found seq 1
mmc_bind: alias ret=0, devnum=1
Bound device dwmmc@ff0c0000.blk to dwmmc@ff0c0000
Bound device dwmmc@ff0c0000 to root_driver
bind node dwmmc@ff0d0000
   - attempt to match compatible string 'rockchip,rk3288-dw-mshc'
   - found match at 'rockchip_rk3288_dw_mshc'
Looking for 'mmc' at 3460, name dwmmc@ff0d0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
Found seq 2
Looking for 'mmc' at 3460, name dwmmc@ff0d0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
Found seq 2
mmc_bind: alias ret=0, devnum=2
Bound device dwmmc@ff0d0000.blk to dwmmc@ff0d0000
Bound device dwmmc@ff0d0000 to root_driver
   - ignoring disabled device
bind node dwmmc@ff0f0000
   - attempt to match compatible string 'rockchip,rk3288-dw-mshc'
   - found match at 'rockchip_rk3288_dw_mshc'
Looking for 'mmc' at 4132, name dwmmc@ff0f0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
Found seq 0
Looking for 'mmc' at 4132, name dwmmc@ff0f0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
Found seq 0
mmc_bind: alias ret=0, devnum=0
Bound device dwmmc@ff0f0000.blk to dwmmc@ff0f0000
Bound device dwmmc@ff0f0000 to root_driver
bind node saradc@ff100000
   - attempt to match compatible string 'rockchip,saradc'
   - found match at 'rockchip_saradc'
Bound device saradc@ff100000 to root_driver
bind node spi@ff110000
   - attempt to match compatible string 'rockchip,rk3288-spi'
   - attempt to match compatible string 'rockchip,rk3066-spi'
No match for node 'spi@ff110000'
   - ignoring disabled device
   - ignoring disabled device
bind node i2c@ff140000
   - attempt to match compatible string 'rockchip,rk3288-i2c'
   - found match at 'i2c_rockchip'
Looking for 'i2c' at 5720, name i2c@ff140000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
Found seq 1
Bound device i2c@ff140000 to root_driver
   - ignoring disabled device
bind node i2c@ff160000
   - attempt to match compatible string 'rockchip,rk3288-i2c'
   - found match at 'i2c_rockchip'
Looking for 'i2c' at 6172, name i2c@ff160000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
Found seq 4
Bound device i2c@ff160000 to root_driver
bind node i2c@ff170000
   - attempt to match compatible string 'rockchip,rk3288-i2c'
   - found match at 'i2c_rockchip'
Looking for 'i2c' at 6396, name i2c@ff170000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
Found seq 5
Bound device i2c@ff170000 to root_driver
bind node serial@ff180000
   - attempt to match compatible string 'rockchip,rk3288-uart'
   - attempt to match compatible string 'snps,dw-apb-uart'
   - found match at 'ns16550_serial'
Looking for 'serial' at 6652, name serial@ff180000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
Found seq 0
Bound device serial@ff180000 to root_driver
bind node serial@ff190000
   - attempt to match compatible string 'rockchip,rk3288-uart'
   - attempt to match compatible string 'snps,dw-apb-uart'
   - found match at 'ns16550_serial'
Looking for 'serial' at 6944, name serial@ff190000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
Found seq 1
Bound device serial@ff190000 to root_driver
bind node serial@ff690000
   - attempt to match compatible string 'rockchip,rk3288-uart'
   - attempt to match compatible string 'snps,dw-apb-uart'
   - found match at 'ns16550_serial'
Looking for 'serial' at 7228, name serial@ff690000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
   - serial2, /serial@ff690000
Found seq 2
Bound device serial@ff690000 to root_driver
bind node serial@ff1b0000
   - attempt to match compatible string 'rockchip,rk3288-uart'
   - attempt to match compatible string 'snps,dw-apb-uart'
   - found match at 'ns16550_serial'
Looking for 'serial' at 7524, name serial@ff1b0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
   - serial2, /serial@ff690000
   - serial3, /serial@ff1b0000
Found seq 3
Bound device serial@ff1b0000 to root_driver
   - ignoring disabled device
bind node thermal-zones
Device 'thermal-zones' has no compatible string
bind node tsadc@ff280000
   - attempt to match compatible string 'rockchip,rk3288-tsadc'
No match for node 'tsadc@ff280000'
   - ignoring disabled device
   - ignoring disabled device
bind node usb@ff540000
   - attempt to match compatible string 'rockchip,rk3288-usb'
   - attempt to match compatible string 'rockchip,rk3066-usb'
   - attempt to match compatible string 'snps,dwc2'
   - found match at 'dwc2_usb'
Looking for 'usb' at 10176, name usb@ff540000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
   - serial2, /serial@ff690000
   - serial3, /serial@ff1b0000
   - serial4, /serial@ff1c0000
   - spi0, /spi@ff110000
   - spi1, /spi@ff120000
   - spi2, /spi@ff130000
Not found
Bound device usb@ff540000 to root_driver
bind node usb@ff580000
   - attempt to match compatible string 'rockchip,rk3288-usb'
   - attempt to match compatible string 'rockchip,rk3066-usb'
   - attempt to match compatible string 'snps,dwc2'
   - found match at 'dwc2_usb'
Looking for 'usb' at 10440, name usb@ff580000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
   - serial2, /serial@ff690000
   - serial3, /serial@ff1b0000
   - serial4, /serial@ff1c0000
   - spi0, /spi@ff110000
   - spi1, /spi@ff120000
   - spi2, /spi@ff130000
Not found
Bound device usb@ff580000 to root_driver
   - ignoring disabled device
bind node dmc@ff610000
   - attempt to match compatible string 'rockchip,rk3288-dmc'
   - found match at 'rockchip_rk3288_dmc'
Bound device dmc@ff610000 to root_driver
bind node i2c@ff650000
   - attempt to match compatible string 'rockchip,rk3288-i2c'
   - found match at 'i2c_rockchip'
Looking for 'i2c' at 11224, name i2c@ff650000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
Found seq 0
bind node syr827@40
   - attempt to match compatible string 'silergy,syr827'
No match for node 'syr827@40'
bind node syr828@41
   - attempt to match compatible string 'silergy,syr828'
No match for node 'syr828@41'
bind node hym8563@51
   - attempt to match compatible string 'haoyu,hym8563'
No match for node 'hym8563@51'
bind node act8846@5a
   - attempt to match compatible string 'active-semi,act8846'
   - found match at 'act8846 pmic'
ofnode_read_u32: u-boot,i2c-offset-len: (not found)
ofnode_read_u32: reg: 0x5a (90)
ofnode_find_subnode: regulators: regulators
act8846_bind: 'act8846@5a' - found regulators subnode
pmic_bind_children for 'act8846@5a' at node offset: 12076
* Found child node: 'REG1'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vcc_ddr
Bound device REG1 to act8846@5a
  - bound child device: 'REG1'
  - set 'child->driver_data': 1
* Found child node: 'REG2'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vcc_io
Bound device REG2 to act8846@5a
  - bound child device: 'REG2'
  - set 'child->driver_data': 2
* Found child node: 'REG3'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vdd_log
Bound device REG3 to act8846@5a
  - bound child device: 'REG3'
  - set 'child->driver_data': 3
* Found child node: 'REG4'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vcc_20
Bound device REG4 to act8846@5a
  - bound child device: 'REG4'
  - set 'child->driver_data': 4
* Found child node: 'REG5'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vccio_sd
Bound device REG5 to act8846@5a
  - bound child device: 'REG5'
  - set 'child->driver_data': 5
* Found child node: 'REG6'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vdd10_lcd
Bound device REG6 to act8846@5a
  - bound child device: 'REG6'
  - set 'child->driver_data': 6
* Found child node: 'REG7'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vcca_18
Bound device REG7 to act8846@5a
  - bound child device: 'REG7'
  - set 'child->driver_data': 7
* Found child node: 'REG8'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vcca_33
Bound device REG8 to act8846@5a
  - bound child device: 'REG8'
  - set 'child->driver_data': 8
* Found child node: 'REG9'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vcc_lan
Bound device REG9 to act8846@5a
  - bound child device: 'REG9'
  - set 'child->driver_data': 9
* Found child node: 'REG10'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vdd_10
Bound device REG10 to act8846@5a
  - bound child device: 'REG10'
  - set 'child->driver_data': 10
* Found child node: 'REG11'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vcc_18
Bound device REG11 to act8846@5a
  - bound child device: 'REG11'
  - set 'child->driver_data': 11
* Found child node: 'REG12'
  - compatible prefix: 'REG'
  - found child driver: 'act8846_reg'
ofnode_read_string: regulator-name: vcc18_lcd
Bound device REG12 to act8846@5a
  - bound child device: 'REG12'
  - set 'child->driver_data': 12
Bound: 12 children for PMIC: 'act8846@5a'
Bound device act8846@5a to i2c@ff650000
Bound device i2c@ff650000 to root_driver
bind node i2c@ff660000
   - attempt to match compatible string 'rockchip,rk3288-i2c'
   - found match at 'i2c_rockchip'
Looking for 'i2c' at 13472, name i2c@ff660000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
Found seq 2
Bound device i2c@ff660000 to root_driver
   - ignoring disabled device
bind node pwm@ff680010
   - attempt to match compatible string 'rockchip,rk3288-pwm'
   - found match at 'rk_pwm'
Bound device pwm@ff680010 to root_driver
   - ignoring disabled device
   - ignoring disabled device
bind node bus_intmem@ff700000
   - attempt to match compatible string 'mmio-sram'
No match for node 'bus_intmem@ff700000'
bind node sram@ff720000
   - attempt to match compatible string 'rockchip,rk3288-pmu-sram'
   - attempt to match compatible string 'mmio-sram'
No match for node 'sram@ff720000'
bind node power-management@ff730000
   - attempt to match compatible string 'rockchip,rk3288-pmu'
   - found match at 'rk3288_syscon'
Bound device power-management@ff730000 to root_driver
bind node syscon@ff740000
   - attempt to match compatible string 'rockchip,rk3288-sgrf'
   - found match at 'rk3288_syscon'
Bound device syscon@ff740000 to root_driver
bind node clock-controller@ff760000
   - attempt to match compatible string 'rockchip,rk3288-cru'
   - found match at 'rockchip_rk3288_cru'
Bound device sysreset to clock-controller@ff760000
Bound device reset to clock-controller@ff760000
Bound device clock-controller@ff760000 to root_driver
bind node syscon@ff770000
   - attempt to match compatible string 'rockchip,rk3288-grf'
   - found match at 'rk3288_syscon'
Bound device syscon@ff770000 to root_driver
bind node watchdog@ff800000
   - attempt to match compatible string 'rockchip,rk3288-wdt'
   - attempt to match compatible string 'snps,dw-wdt'
No match for node 'watchdog@ff800000'
   - ignoring disabled device
   - ignoring disabled device
bind node vop@ff930000
   - attempt to match compatible string 'rockchip,rk3288-vop'
   - found match at 'rk3288_vop'
Looking for 'video' at 16496, name vop@ff930000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
   - serial2, /serial@ff690000
   - serial3, /serial@ff1b0000
   - serial4, /serial@ff1c0000
   - spi0, /spi@ff110000
   - spi1, /spi@ff120000
   - spi2, /spi@ff130000
Not found
video_post_bind: Claiming 7f0000 bytes at 7f800000 for video device 'vop@ff930000'
Bound device vop@ff930000 to root_driver
bind node iommu@ff930300
   - attempt to match compatible string 'rockchip,iommu'
No match for node 'iommu@ff930300'
bind node vop@ff940000
   - attempt to match compatible string 'rockchip,rk3288-vop'
   - found match at 'rk3288_vop'
Looking for 'video' at 17428, name vop@ff940000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
   - serial2, /serial@ff690000
   - serial3, /serial@ff1b0000
   - serial4, /serial@ff1c0000
   - spi0, /spi@ff110000
   - spi1, /spi@ff120000
   - spi2, /spi@ff130000
Not found
video_post_bind: Claiming 7f0000 bytes at 7f800000 for video device 'vop@ff940000'
Bound device vop@ff940000 to root_driver
bind node iommu@ff940300
   - attempt to match compatible string 'rockchip,iommu'
No match for node 'iommu@ff940300'
   - ignoring disabled device
bind node hdmi@ff980000
   - attempt to match compatible string 'rockchip,rk3288-dw-hdmi'
   - found match at 'rk3288_hdmi_rockchip'
Bound device hdmi@ff980000 to root_driver
   - ignoring disabled device
   - ignoring disabled device
   - ignoring disabled device
bind node video-codec@ff9a0000
   - attempt to match compatible string 'rockchip,rk3288-vpu'
No match for node 'video-codec@ff9a0000'
bind node iommu@ff9a0800
   - attempt to match compatible string 'rockchip,iommu'
No match for node 'iommu@ff9a0800'
bind node gpu@ffa30000
   - attempt to match compatible string 'arm,malit764'
   - attempt to match compatible string 'arm,malit76x'
   - attempt to match compatible string 'arm,malit7xx'
   - attempt to match compatible string 'arm,mali-midgard'
No match for node 'gpu@ffa30000'
bind node syscon@ffac0000
   - attempt to match compatible string 'rockchip,rk3288-noc'
   - found match at 'rk3288_syscon'
Bound device syscon@ffac0000 to root_driver
   - ignoring disabled device
bind node interrupt-controller@ffc01000
   - attempt to match compatible string 'arm,gic-400'
No match for node 'interrupt-controller@ffc01000'
bind node cpuidle
   - attempt to match compatible string 'rockchip,rk3288-cpuidle'
No match for node 'cpuidle'
bind node phy
   - attempt to match compatible string 'rockchip,rk3288-usb-phy'
No match for node 'phy'
bind node pinctrl
   - attempt to match compatible string 'rockchip,rk3288-pinctrl'
   - found match at 'rockchip_rk3288_pinctrl'
Looking for 'pinctrl' at 22124, name pinctrl
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio8@ff7f0000
   - i2c0, /i2c@ff650000
   - i2c1, /i2c@ff140000
   - i2c2, /i2c@ff660000
   - i2c3, /i2c@ff150000
   - i2c4, /i2c@ff160000
   - i2c5, /i2c@ff170000
   - mmc0, /dwmmc@ff0f0000
   - mmc1, /dwmmc@ff0c0000
   - mmc2, /dwmmc@ff0d0000
   - mmc3, /dwmmc@ff0e0000
   - mshc0, /dwmmc@ff0f0000
   - mshc1, /dwmmc@ff0c0000
   - mshc2, /dwmmc@ff0d0000
   - mshc3, /dwmmc@ff0e0000
   - serial0, /serial@ff180000
   - serial1, /serial@ff190000
   - serial2, /serial@ff690000
   - serial3, /serial@ff1b0000
   - serial4, /serial@ff1c0000
   - spi0, /spi@ff110000
   - spi1, /spi@ff120000
   - spi2, /spi@ff130000
Not found
bind node gpio0@ff750000
   - attempt to match compatible string 'rockchip,gpio-bank'
   - found match at 'gpio_rockchip'
Looking for 'gpio' at 22248, name gpio0@ff750000
   - gpio0, /pinctrl/gpio0@ff750000
Found seq 0
Bound device gpio0@ff750000 to pinctrl
bind node gpio1@ff780000
   - attempt to match compatible string 'rockchip,gpio-bank'
   - found match at 'gpio_rockchip'
Looking for 'gpio' at 22456, name gpio1@ff780000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
Found seq 1
Bound device gpio1@ff780000 to pinctrl
bind node gpio2@ff790000
   - attempt to match compatible string 'rockchip,gpio-bank'
   - found match at 'gpio_rockchip'
Looking for 'gpio' at 22632, name gpio2@ff790000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
Found seq 2
Bound device gpio2@ff790000 to pinctrl
bind node gpio3@ff7a0000
   - attempt to match compatible string 'rockchip,gpio-bank'
   - found match at 'gpio_rockchip'
Looking for 'gpio' at 22808, name gpio3@ff7a0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
Found seq 3
Bound device gpio3@ff7a0000 to pinctrl
bind node gpio4@ff7b0000
   - attempt to match compatible string 'rockchip,gpio-bank'
   - found match at 'gpio_rockchip'
Looking for 'gpio' at 22984, name gpio4@ff7b0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
Found seq 4
Bound device gpio4@ff7b0000 to pinctrl
bind node gpio5@ff7c0000
   - attempt to match compatible string 'rockchip,gpio-bank'
   - found match at 'gpio_rockchip'
Looking for 'gpio' at 23192, name gpio5@ff7c0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
Found seq 5
Bound device gpio5@ff7c0000 to pinctrl
bind node gpio6@ff7d0000
   - attempt to match compatible string 'rockchip,gpio-bank'
   - found match at 'gpio_rockchip'
Looking for 'gpio' at 23368, name gpio6@ff7d0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
Found seq 6
Bound device gpio6@ff7d0000 to pinctrl
bind node gpio7@ff7e0000
   - attempt to match compatible string 'rockchip,gpio-bank'
   - found match at 'gpio_rockchip'
Looking for 'gpio' at 23544, name gpio7@ff7e0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
Found seq 7
Bound device gpio7@ff7e0000 to pinctrl
bind node gpio8@ff7f0000
   - attempt to match compatible string 'rockchip,gpio-bank'
   - found match at 'gpio_rockchip'
Looking for 'gpio' at 23752, name gpio8@ff7f0000
   - gpio0, /pinctrl/gpio0@ff750000
   - gpio1, /pinctrl/gpio1@ff780000
   - gpio2, /pinctrl/gpio2@ff790000
   - gpio3, /pinctrl/gpio3@ff7a0000
   - gpio4, /pinctrl/gpio4@ff7b0000
   - gpio5, /pinctrl/gpio5@ff7c0000
   - gpio6, /pinctrl/gpio6@ff7d0000
   - gpio7, /pinctrl/gpio7@ff7e0000
   - gpio8, /pinctrl/gpio�

as you can see, it suddenly stops at some point while evaluating the device tree. Every time I reboot the machine, it stops inside the tree evaluation, but always in a different part.

Posted

I have some progress here and found some interesting things about.

My TV-Box has LPDDR2 which is not officially supported by u-boot. U-boot supports only DDR3 and LPDDR3 rk3288 boards. 

There is a workaround although: I have to use the DDR SPL (Secondary Program Loader) binary supplied by Rockchip which does the RAM initialization. You can see the Rockchip binary at work looking to the log I posted above: the very first lines with the timings are the memory timings autodetected by the SPL.

 

My tv-box comes with a binary which initializes the memory @200 MHz, but I found another binary which initializes the memory @400 MHz. I tried that to speedup the boot process. It worked and, surprise!, also I got more u-boot messages on the serial line showing a primordial bootstrap, but then the box suddenly turns off.

Another discovery is that if I push and *keep pushing* the box power button, the boot procedure actually goes on for much longer and I get more messages, till the marvellous "Starting kernel"!

Then the box powers off due to emergency shutdown happening when you keep the power button pushed too long. This is what I get (no detailed debug messages here):

 

DDR Version 1.03 20170411
In
Channel a: LPDDR2 400MHz
MR0=0x8
MR1=0x887744BB
MR2=0x8
MR3=0x8
MR4=0x8
MR5=0x1
MR6=0x1
MR7=0x1
MR8=0x0
MR9=0x18
MR10=0x18
MR11=0x18
MR12=0x18
MR13=0x18
MR14=0x18
MR15=0x18
MR16=0x18
Bus Width=32 Col=10 Bank=8 Row=14/14 CS=2 Die Bus-Width=32 Size=1024MB
Channel b: LPDDR2 400MHz
MR0=0x8
MR1=0x887744BB
MR2=0x8
MR3=0x8
MR4=0x8
MR5=0x2
MR6=0x1
MR7=0x1
MR8=0x0
MR9=0x18
MR10=0x18
MR11=0x18
MR12=0x18
MR13=0x18
MR14=0x18
MR15=0x18
MR16=0x18
Bus Width=32 Col=10 Bank=8 Row=14/14 CS=2 Die Bus-Width=32 Size=1024MB
Memory OK
Memory OK
OUT


U-Boot 2017.09-g5ecf0ee-dirty (Mar 29 2018 - 21:56:56 +0200)

Model: Q8-RK3288
DRAM:  2 GiB
MMC:   dwmmc@ff0c0000: 1
MMC Device 0 not found
*** Warning - No MMC card found, using default environment

In:    serial
Out:   serial
Err:   serial
Model: Q8-RK3288
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  0 
MMC Device 0 not found
no mmc device at slot 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
1485 bytes read in 21 ms (68.4 KiB/s)
## Executing script at 00000000
U-boot loaded from eMMC
106 bytes read in 17 ms (5.9 KiB/s)
54282 bytes read in 58 ms (913.1 KiB/s)
4344436 bytes read in 220 ms (18.8 MiB/s)
8063544 bytes read in 385 ms (20 MiB/s)
## Loading init Ramdisk from Legacy Image at 21000000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4344372 Bytes = 4.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to 0fbdb000, end 0ffffa34 ... OK
   Loading Device Tree to 0fbca000, end 0fbda409 ... OK

Starting kernel ...

The problem is that probably there is some sort of timer or watchdog which turns the box after a specific timeout, and that timer is not counting while I keep pushing the power button. I may guess that it can be a GPIO that should be turned off or on, but I really don't know which one could be. I gladly accept any experience or hint about this behaviour  :)

Posted
On 29.03.2018 at 11:19 PM, jock said:

I have some progress here and found some interesting things about.

My TV-Box has LPDDR2 which is not officially supported by u-boot. U-boot supports only DDR3 and LPDDR3 rk3288 boards. 

There is a workaround although: I have to use the DDR SPL (Secondary Program Loader) binary supplied by Rockchip which does the RAM initialization. You can see the Rockchip binary at work looking to the log I posted above: the very first lines with the timings are the memory timings autodetected by the SPL.

 

My tv-box comes with a binary which initializes the memory @200 MHz, but I found another binary which initializes the memory @400 MHz. I tried that to speedup the boot process. It worked and, surprise!, also I got more u-boot messages on the serial line showing a primordial bootstrap, but then the box suddenly turns off.

Another discovery is that if I push and *keep pushing* the box power button, the boot procedure actually goes on for much longer and I get more messages, till the marvellous "Starting kernel"!

Then the box powers off due to emergency shutdown happening when you keep the power button pushed too long. This is what I get (no detailed debug messages here):

 


DDR Version 1.03 20170411
In
Channel a: LPDDR2 400MHz
MR0=0x8
MR1=0x887744BB
MR2=0x8
MR3=0x8
MR4=0x8
MR5=0x1
MR6=0x1
MR7=0x1
MR8=0x0
MR9=0x18
MR10=0x18
MR11=0x18
MR12=0x18
MR13=0x18
MR14=0x18
MR15=0x18
MR16=0x18
Bus Width=32 Col=10 Bank=8 Row=14/14 CS=2 Die Bus-Width=32 Size=1024MB
Channel b: LPDDR2 400MHz
MR0=0x8
MR1=0x887744BB
MR2=0x8
MR3=0x8
MR4=0x8
MR5=0x2
MR6=0x1
MR7=0x1
MR8=0x0
MR9=0x18
MR10=0x18
MR11=0x18
MR12=0x18
MR13=0x18
MR14=0x18
MR15=0x18
MR16=0x18
Bus Width=32 Col=10 Bank=8 Row=14/14 CS=2 Die Bus-Width=32 Size=1024MB
Memory OK
Memory OK
OUT


U-Boot 2017.09-g5ecf0ee-dirty (Mar 29 2018 - 21:56:56 +0200)

Model: Q8-RK3288
DRAM:  2 GiB
MMC:   dwmmc@ff0c0000: 1
MMC Device 0 not found
*** Warning - No MMC card found, using default environment

In:    serial
Out:   serial
Err:   serial
Model: Q8-RK3288
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  0 
MMC Device 0 not found
no mmc device at slot 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
1485 bytes read in 21 ms (68.4 KiB/s)
## Executing script at 00000000
U-boot loaded from eMMC
106 bytes read in 17 ms (5.9 KiB/s)
54282 bytes read in 58 ms (913.1 KiB/s)
4344436 bytes read in 220 ms (18.8 MiB/s)
8063544 bytes read in 385 ms (20 MiB/s)
## Loading init Ramdisk from Legacy Image at 21000000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4344372 Bytes = 4.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 01f00000
   Booting using the fdt blob at 0x1f00000
   Loading Ramdisk to 0fbdb000, end 0ffffa34 ... OK
   Loading Device Tree to 0fbca000, end 0fbda409 ... OK

Starting kernel ...

The problem is that probably there is some sort of timer or watchdog which turns the box after a specific timeout, and that timer is not counting while I keep pushing the power button. I may guess that it can be a GPIO that should be turned off or on, but I really don't know which one could be. I gladly accept any experience or hint about this behaviour  :)

 

Connect the OTG cable from the box to the computer. This will help solve the problem.

 

P.S. Thanks for the hint with the new Rockchip SPL.

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines