jock

Members
  • Content count

    45
  • Joined

  • Last visited

About jock

  • Rank
    Advanced Member

Recent Profile Visitors

309 profile views
  1. Sorry, that was my mistake. So I was too zealant in changing some regulators in order to support suspend features and so on and disabled the lcd power regulator Overwrite /boot/dtb/rk3288-q8.dtb with the rk3288-q8.dtb attached to this message and HDMI should finally work. I also provide the device tree source for reference, but copying the binary will suffice. rk3288-q8.dtb rk3288-q8.dts
  2. @pro777 and anyone who is interested, I publish here the first draft of my work. Take this as a "proof of concept" for future work, this is nothing more than a test image. The test image can be downloaded from here. It is an image of Armbian based upone latest 5.41 release for tinkerboard, with u-boot and kernel compiled using the device trees I adapted on the base of the original device tree coming from my tv box. A lot of work has already been done by other people. Current status: - Wireless, pretty fast and stable, signal is strong on my box; - Bluetooth, seems to work. I just tested a file transfer. - USB Host: works quite well but autosuspend is disable for the 4-port hub connected to this non-OTG SoC port due to issues. Transfer rate is quite good (topped at 34 MB/s) - USB OTG: works quite well in host mode, no quirks apparently. Transfer rate is very good (topped at 38 MB/s) - MMC: can be accessed, did not try to program it though - SDCard: works very well, in ultra high speed mode too. Tested a lousy class-4 sdcard and reached more than 60 MB/s! - Gigabit Ethernet: seems to work fast and reliably - HDMI: has some quirks, expecially if you attach and detach the devices. Generally works, but resolution is not configurable (see the note at the bottom) - Serial: works - Audio: HDMI audio works, but SPDIF is still a work in progress - IR remote: does not work, still trying to understand if a special driver is required or I am missing some pieces of the puzzle - Boot/Reboot/Suspend process: still some mysteries lays around here. The boot process on my box is a bit problematic (see the instructions below) and requires some attention. Suspend is not available at all. Rebooting the device via command line actually shuts it down. - Hardware acceleration: the kernel driver is there, userland drivers are still messy, but something can be achieved for the X server (see the link to the guide below) and probably the framebuffer GL ES driver works too Instructions: - First of all, you should boot your box in Maskrom Mode. One of the fastest ways is to zero-fill the internal MMC, I followed this as reference: https://github.com/nolange/rk3288-guide/blob/master/bootloader.md When in maskrom mode, the First Program Loader (which is the bootloader inside the SoC) will try to boot first from MMC chip, then SD card and finally USB. If you don't boot in maskrom mode, the SoC will always try to boot from the MMC chip, which has an obsolete u-boot - Flash the image over an microsd card, then plug the card into the box - If your box has a power button (mine has), push it and keep it pushed for some seconds, until you hopefully see the power led blinking. When the led is blinking, the kernel has started and your can stop pushing the power button. Note that if you push the power button for more than 10 seconds, the box will shut down. Another solution could be to connect the OTG port to your computer: doing this won't require you the keep the button pushed. - As usual, armbian default credentials are user: root password: 1234 You should be able to follow this guide to gain some hardware accelerated X server. It worked for me and I was able to obtain some pleasant Chrome experience. In /opt directory there are some firmwares and binaries downloaded from rockchip official github pages, and also the source device trees, scripts, and the configuration files I used to build the custom kernel and u-boot. I tried to stay stick to the default configs, so modifications should be minor. Also there is an enable_bt.h script to load the patch firmware and enable the bluetooh device. Kernel is 4.14, (current armbian mainline) and u-boot is 2018.3 (current mainline). I also tested latest 4.16 mainline kernel and rockchip pre-2018 u-boot, they also work. From the device tree, the CPU is configured to run at a maximum frequency of 1.6 Ghz and trigger the first thermal trip points at 70°C. A nice heatsink, or even a fan, are suggested. edit: for HDMI, I made a mistake. You will need to manually copy a new device tree binary into /boot/dtb directory. Look here for the dtb file
  3. At the moment I have no published firmware yet. I would like to solve the boot problem soon if possibile, but I may think to share some preliminary work so who is interested can look into. I should really do some tidying up of the source device tree, kernel patches, binary firmwares and other things needed to make the thing work; I guess I can share my working image as a preliminary "demo" just for testing, sources may come as soon as possible
  4. Great job! I'm working from the mainline side: kernel 4.16 and latest u-boot (2018-3) are working fine. I'm still facing a problem against the bootstrap and reboot (looking into the act8846 power regulator datasheet, see this), but most of the hardware is working very well, including gpu-accelerated chromium, wifi, bluetooth. I'm still missing the IR remote control.
  5. Librecomputer Renegade RK3328

    Until someone put the bits for the DDR4 in mainline u-boot, you can use u-boot as a third program loader and extract the DDR4 memory initialization blob from the original image. I don't know if the booting procedure is the same as in rk3288 (I guess it is), but my rk3288 tv-box with DDR2 now boots mainline u-boot despite u-boot not supporting DDR2 initialization
  6. Nice Phoronix benchmark

    Well, the rk3288 of the tinkerboard is still an out-of-order architecture, which has a better IPC (but it is also more power hungry) than the in-order architecture of the bcm2837 of the rpi3b+
  7. 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
  8. Ok, I did some research, trial and errors, a lot of time lost around this issue. At last, I found that setting the autosuspend property for the USB host to a large number doesn't immediately kill the dwc2 USB host port, so this is definitely an autosuspend problem, which led me back to the mailing list thread I linked above. The most recent post of that I can find is this: https://patchwork.kernel.org/patch/9469811/ The patch is not yet in upstream kernel, so I patched it manually and adding the proper reset lines to usbphy2 section this post I finally made it work! The working device tree is attached to this post, along with a dmesg for the most curious. Anyway the author of the patch says that this is a "workaround", because RK3288 has an errata about the dwc2 host post messing around with the usb bus when it is reset. There is some tuning to gain performance and reduce cpu usage, which is definitely too high at the moment. rk3288-q8.dts dmesg.log
  9. Swapped the device tree with the MiQi, the box didn't boot at all, crashing in the middle of the kernel boot :/ The missing regulators should not be a real problem, at least I think I saw them on some other kernel logs from tinkerboard bootstrap. Reverted back the usb_host0_ehci and usb_host1 sections to status = "okay" only, but no luck either. I'll do some more research, and post here the findings
  10. Hello Myy, I guess you're behind the kernel work. First of all, thank you! Attached to this post there is the output of lsusb -v and lsusb -t before attaching the USB device and the output of dmesg after the USB stick is attached. There is a 4-port hub soldered on the board after the SoC USB port, it is controlling the two exposed USB ports. If I boot the system with the USB stick attached it is correctly detected and works too. As long as I leave at least one device attached I can connect and disconnect other devices. All of them get properly detected and work. When I unpopulate all the ports I can't connect any USB device anymore because I get the USB reset and read errors you can see in dmesg log. If I plug an USB device after the system boot I get the reset/read errors and the USB ports stop responding. Also the 4 port hub disappears from the list of USB devices. The mailing list thread describes a very similar problem but the proposed solutions (autosuspend, reset pins in device tree) seem not to work in my case. PS: I compared the original device tree and the one I'm using which is a rework by DengueTim based on the firefly device tree. I attach it also to this post in case you want to take a look into. I tinkered a bit with it: enabled the apparently unused generic-ehci usb host @ff500000, added some resets... but I'm not a master in there and I'm still trying to realize how device trees work. dmesg.log lsusb.before.log lsusb-t.before.log rk3288-q8.dts
  11. Hello, back again on the topic. I studied for quite some time this q8l, found a lot of interesting things about and now I'm able to boot a pretty stable Linux mainline kernel with a minimal but totally functional debian stretch. Linux kernel has been built using the scripts from RockMyy (https://github.com/Miouyouyou/RockMyy). Unfortunately there is an issue with the USB ports which is preventing me from publish a working image. I found some info about the very same issue in this mailing list thread: the guy suggests that patching the dts file solved his problem, but it didn't work for me. If someone is interested or has an idea on how to solve I could pack the things up and share this preliminary work.
  12. 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.
  13. 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)
  14. Hello anyone, I managed to pack a basic system for my Q8 tv box which seems to be *really* working. It is a very basic debian wheezy running on the stock 3.10.0 kernel, no framebuffer console, and misses a lot of things, but it is a start point for anyone who wants to experiment with this tv box. The goal is to achieve armbian running on a fairly recent kernel! Here you can download the archive, which contains the basic image parts and a bash script to flash them onto an sd card. The system is a bare minimal debian wheezy which asks a DHCP server for an IP and spawns SSH daemon. Check the included readme.txt file for more detailed infos. Have fun!
  15. Hi hoskit, yes I was able to get the job done. I suggest you to take the very latest development armbian nightly which already has the HDMI bits in the device tree, just not to tinker about the kernel compilation and other messy things. The guy (mripard) on github fixed some regression he introduced that broke the mali kernel driver compilation on slightly older kernel, so now compilation and installation should be pretty accessible. I tried only the framebuffer version, and yes, it was working pretty well: I tried different OpenGLES2 demos from the official Mali SDK and they all worked without issues