jock Posted February 15, 2018 Posted February 15, 2018 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)
jock Posted February 17, 2018 Author Posted February 17, 2018 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.
jock Posted March 29, 2018 Author Posted March 29, 2018 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
pro777 Posted April 7, 2018 Posted April 7, 2018 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.
Recommended Posts