Jump to content

jock

Members
  • Posts

    1849
  • Joined

  • Last visited

Everything posted by jock

  1. Maybe you can try swapping your dtb file with the one supplied in one of the images above or just try any of them. You will lose some peripherals, but at least you can understand if it is just a hardware description problem or something more serious. edit: also, reading from the rk3288 datasheet I understand that i2c bus at address 0xff170000 is the bus designated for HDMI DDC, so there are no chances to change it in the device tree
  2. Is it possible to patch the device tree someway to enable HDMI output and having the console on the framebuffer for debugging in current non-development armbian version? Thanks
  3. I guess there is something wrong with the i2c driver. This is the output I can gather using the armbian image with 4.4.126 kernel: root@xt:/home/paolo# dmesg | grep i2c [ 2.876359] i2c /dev entries driver [ 2.877897] of_get_named_gpiod_flags: can't parse 'vsel-gpios' property of node '/i2c@ff650000/syr827@40[0]' [ 2.877913] of_get_named_gpiod_flags: can't parse 'vsel-gpio' property of node '/i2c@ff650000/syr827@40[0]' [ 2.881312] of_get_named_gpiod_flags: can't parse 'vsel-gpios' property of node '/i2c@ff650000/syr828@41[0]' [ 2.881328] of_get_named_gpiod_flags: can't parse 'vsel-gpio' property of node '/i2c@ff650000/syr828@41[0]' [ 2.908968] rk3x-i2c ff650000.i2c: Initialized RK3xxx I2C bus at f0fba000 [ 2.910075] rk3x-i2c ff140000.i2c: Initialized RK3xxx I2C bus at f0fbc000 [ 2.911169] rk3x-i2c ff160000.i2c: Initialized RK3xxx I2C bus at f0fbe000 [ 2.912242] rk3x-i2c ff170000.i2c: Initialized RK3xxx I2C bus at f0fd2000 [ 2.913370] rk3x-i2c ff660000.i2c: Initialized RK3xxx I2C bus at f0fd4000 [ 8.226809] i2c i2c-6: Added multiplexed i2c bus 7 [ 8.228102] i2c i2c-6: Added multiplexed i2c bus 8 root@xt:/home/paolo# i2cdetect -y 5 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- 37 -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- 4a 4b -- -- -- -- 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@xt:/home/paolo# get-edid -b 5 | parse-edid 5 This is read-edid version 3.0.2. Prepare for some fun. Attempting to use i2c interface Only trying 5 as per your request. 256-byte EDID successfully retrieved from i2c bus 5 Looks like i2c was successful. Have a good day. Checksum Correct Section "Monitor" Identifier "PL2390" ModelName "PL2390" VendorName "IVM" # Monitor Manufactured week 6 of 2016 # EDID version 1.3 # Digital Display DisplaySize 510 290 Gamma 2.20 Option "DPMS" "true" Horizsync 30-83 VertRefresh 55-76 # Maximum pixel clock is 170MHz #Not giving standard mode: 1920x1080, 60Hz #Not giving standard mode: 1280x1024, 60Hz #Not giving standard mode: 1440x900, 60Hz #Not giving standard mode: 1680x1050, 60Hz #Not giving standard mode: 1280x960, 60Hz #Not giving standard mode: 1152x864, 75Hz #Not giving standard mode: 1440x900, 75Hz #Extension block found. Parsing... Modeline "Mode 13" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync Modeline "Mode 0" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync Modeline "Mode 1" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync Modeline "Mode 2" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync Modeline "Mode 3" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync Modeline "Mode 4" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync Modeline "Mode 5" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace Modeline "Mode 6" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync Modeline "Mode 7" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync Modeline "Mode 8" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync Modeline "Mode 9" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync Modeline "Mode 10" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace Modeline "Mode 11" 54.000 1440 1464 1592 1728 576 581 586 625 -hsync -vsync Modeline "Mode 12" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync Modeline "Mode 14" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync Modeline "Mode 15" 27.00 720 732 796 864 576 581 586 625 -hsync -vsync Option "PreferredMode" "Mode 13" EndSection So EDID works fine on my box using i2c5. I get devices at addresses 37 and 50 as you described and get-edit tool works fine. Also data is correctly reported (display name, modelines, etc...) The i2c6 bus appearing in your test can be probably explained taking a look to the kernel documentation. I found this in the device tree documentation: so that bus is directly embedded into the HDMI controller and spawns up when there is not a master i2c bus for EDID, which is what you did removing the line from the device tree. From what I understand, that works but is suboptimal. To satisfy my curiosity I will try swapping the buses to see what happens. In the meantime you may do tests with another HDMI cable, it is quite common that faulty or cheap cables causes many kinds of issues (HDMI CEC not working or working intermittently for example...) Check the u-boot device tree for &pinctrl section. You'll find these lines: &pinctrl { u-boot,dm-pre-reloc; pinctrl-names = "default"; pinctrl-0 = <&power_led>, <&pwr_hold>; ... act8846 { /* * Original q8 device tree says: * - gpio0 11 HIGH -> power hold * - gpio7 1 LOW -> possibly pmic-vsel, we omit it here */ /*pmic_vsel: pmic-vsel { rockchip,pins = <7 1 RK_FUNC_GPIO &pcfg_output_low>; };*/ pwr_hold: pwr-hold { rockchip,pins = <0 11 RK_FUNC_GPIO &pcfg_pull_up>; }; }; ... }; This way u-boot is instructed to turn the power led GPIO active and the power hold GPIO (which is pin 11 of bank 0) active at boot. edit: I made some tests with other i2c buses, nothing did work, only i2c5 is able to retrieve a valid EDID to me
  4. Thanks for the corrections to the device tree. I integrated most of them into the dts and I will publish them as soon as possible. At the moment I'm having problems compiling a working kernel because of some recent changes to the rockchip codebase which are producing non-booting kernels and I can't verify if everything is in place :/ I'm a little confused about the i2c5 bus, which is working pretty fine to me. I don't get any timeout message in dmesg and there shouldn't be any: all the rk3288 boards I viewed so far use the i2c5 bus for the HDMI DDC feature. Maybe you are having issues with your monitor due to some misconfiguration or malfunction of that? In which case I'm not sure changing i2c5 to i2c4 is a good idea for two reasons. The i2c4 bus currently hosts the rk1000 on some addresses, and also I think the DDC feature is hardwired to the i2c5 bus and we, in the device tree, are just informing the linux driver of that. Does it work changing i2c5 to i2c4 for you, or you just don't get the timeout messages? About the OTG cable, you should not use it anymore, I finally found the power hold GPIO which keeps the act8846 powering the board. Nonetheless I noticed the same behaviour you describe: reboot does not work but if I keep the OTG cable connected to the computer reboot works.
  5. I'm developing this armbian fork for some rk3288 tv boxes. In my case audio via HDMI is working well in next kernel (4.14). I used the patched tinkerboard dts as "inspiration" for that part. I also had problems with audio until I bypassed these two lines: chroot $SDCARD /bin/bash -c "sed -i -e '/#load-module module-alsa-sink/r /usr/local/bin/pulseaudio.txt' /etc/pulse/default.pa >/dev/null 2>&1" chroot $SDCARD /bin/bash -c "rm /usr/local/bin/pulseaudio.txt" in build/config/sources/rockchip.conf for tinkerboard. You may take a look on github for that source code Also bluetooth is working fine (no hardware rfkill though), and I can happily stream audio from the phone to the monitor, but those tv boxes use broadcom-based AP6330 wifi SoCs.
  6. Thanks pro, it would be really nice to have official support for these boards, they look pretty polished and really rock-solid to me and the SoC is quite amazing
  7. This guide describes how to erase the internal eMMC memory. This won't brick your TV Box, instead will force it to boot from the SD Card. Also I give some steps to backup and restore the original firmware in case you want to restore the original functionality. The tool used here is rkdeveloptool, which is opensource and is available cloning or downloading the armbian rockchip-linux rkbin github repository mirror Get into rockusb mode: Getting into rockusb mode is essential to do anything else 1) plug the power cord inside the device 2) push the Reset button and keep it pushed while plugging the USB cable into the OTG port 3) check if the device is connected, use lsusb: lsusb Bus 001 Device 005: ID 058f:6377 Alcor Micro Corp. AU6375 4-LUN card reader Bus 001 Device 003: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n Bus 001 Device 029: ID 2207:320a Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 004: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth Bus 002 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port Bus 002 Device 002: ID 046d:c312 Logitech, Inc. DeLuxe 250 Keyboard Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub you should be able to see a device with ID 2207:320a. If so, you are in rockusb mode and can jump to Backup, Restore or erase eMMC paragraphs below Erase the eMMC: To completely erase the eMMC card just run ./rkdeveloptool ef it will take around a minute, then the flash memory will be completely erased and your box will boot from the sdcard Backup: First we determine the size of the eMMC flash memory ./rkdeveloptool rfi Flash Info: Manufacturer: SAMSUNG, value=00 Flash Size: 7393 MB Block Size: 512 KB Page Size: 2 KB ECC Bits: 0 Access Time: 40 Flash CS: Flash<0> in my case the size of the memory is 7393 Megabytes, so you can the command to retrieve the data: ./rkdeveloptool rl 0x0 $((7393 * 2048)) backup.data this will download the original firmware in backup.data file in less than five minutes. Restore the original firmware: First we have to restore the original bootloader. Running these commands will do the job: ./rkdeveloptool db ../rk32/rk3288_ubootloader_v1.01.06.bin Downloading bootloader succeeded. ./rkdeveloptool ul ../rk32/rk3288_ubootloader_v1.01.06.bin Upgrading loader succeeded. ./rkdeveloptool wl 0x0 backup.data Write LBA from file (100%)
  8. DISCLAIMER (PLEASE READ): everything you can find in this thread (binaries, texts, code snippets, etc...) are provided AS-IS and are not part of official Armbian project. For this reason not people from Armbian project nor myself are responsible for misuse or loss of functionality of hardware. Please don't ask about support or assistance in other non-community forums nor in the official Armbian github repository, instead post your questions in this thread, in the TV Boxes forum section (hardware related) or in the Peer-to-peer support section (general linux/software related). Thank you! This is CSC Armbian for XT-Q8L-V10 boards, also known as Chiptrip Q8, Vsmart Q8, ENY 3288 Q8, etc... All source code has been merged into Armbian mainline project. I still keep my personal public Armbian fork for experimental features: https://github.com/paolosabatino/armbian-build Nightly images: download directory Quick installation instructions on eMMC: Build or download your preferred Armbian image from Download directory and a copy of the Multitool; Burn the Multitool on an SD card; once done, place the Armbian image in images folder of the SD card NTFS partition; Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears; OPTIONAL: you can do a backup of the existing firmware with "Backup flash" menu option; Choose "Burn image to flash" from the menu, then select the destination device (usually mmcblk2) and the image to burn; Wait for the process to complete, then choose "Shutdown" from main menu; Unplug the sd card, then push the power button for 1 second (the led will turn blue) After 10 seconds HDMI will turn on and you will get logging messages; On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run armbian-config to configure timezone, locales and other personal options Congratulations, Armbian is now installed! Boot from SD Card/USB stick (with Armbian already installed in eMMC, empty eMMC or no eMMC😞 Build or download your preferred Armbian image from Download directory; Burn the image on your SD card/USB stick; Plug the SD card/USB stick in the device; Push the power button for 1 second (the led will turn blue); After 10 seconds HDMI will turn on and you will get logging messages; On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run armbian-config to configure timezone, locales and other personal options Congratulations, Armbian is now installed! Boot from SD Card/USB stick (with original firmware or other firmware): In case your box has the original firmware installed, use the Multitool to erase the internal flash. Don't worry, you will not brick your box: once the eMMC is emptied, the box will automatically boot from SD Card. This is called Maskrom mode and is common to all Rockchip devices. Instructions and download links for the Multitool are at the bottom of this post. After erasing the internal eMMC, just follow the "Boot from SD Card" procedure above and then you are fine. Boot priority: Newer images (those with mainline kernel >= 4.14.50) now support booting from multiple devices. Priority is fixed and boot devices are probed in this order: External SD card External USB storage device (Any USB Stick/Hard drive attached to USB host ports) Internal eMMC This way even if you install armbian to internal eMMC, you can still easily test different images booting from external devices. Experts notes: when armbian is installed into eMMC you get U-boot installed too in eMMC. This is important to know because the box won't boot in Maskrom Mode, but instead will always boot the embedded U-boot, no matter if you put an sdcard/usb stick. In practice the embedded U-boot is totally responsible for the boot priority. If you want to restore the Maskrom Mode, just erase U-boot from eMMC using this command: dd if=/dev/zero of=/dev/mmcblk2 seek=64 count=8128 conv=sync,fsync Current status: Wireless: works. pretty fast and stable, signal is strong on my box; Bluetooth: works. I was able to transfer files and stream audio without problems USB ports: works, with autosuspend too. A quick benchmark show that transfer rate is quite good (topped at 34 MB/s) USB OTG: works in host mode. Transfer rate is very good (> 40 MB/s) MMC: works and is perfectly accessible as storage device. The images above with "eMMC friendly" have been tested and work when installed in eMMC using the standard armbian-config eMMC installer SDCard: works. legacy kernel is limited to high speed, while mainline works fine in UHS mode too. A quick benchmark with a Samsung EVO card shows the promised 48Mb/s read speed. Gigabit Ethernet: works, fast and reliably HDMI: works perfectly Serial: works Audio: both HDMI audio and SPDIF connector works IR remote: works on legacy and mainline kernels Reboot/Suspend process: rebooting the device is a working in progress, at the moment sometimes it works and sometimes it doesn't. Suspend is still not available. Hardware acceleration: everything which works for rk3288 boards applies here too. This guide or maybe the Media Testing Script will help you gain an hardware accelerated X11 and Chromium (using GL4ES I enjoyed Quake 2 from the start till the end, but also Quake and Quake III Arena work flawlessy, here a quick how-to to compile and install GL4ES) Multimedia: On mainline kernel 3D acceleration is provided by Panfrost driver and is already enabled. Hardware video decoding: https://forum.armbian.com/topic/19258-testing-hardware-video-decoding-rockchip-allwinner/ Multitool: The Multitool is a small but powerful tool to easy operate on internal eMMC flash of RK3288 devices. Features: Backup the content of internal eMMC Restore a previously backed-up image to eMMC Erase the eMMC (via fast blkdiscard or zero-fill as fallback) Burn an Armbian (or LibreELEC) image directly on the eMMC Provide a recovery shell for manual maintenance Windows-friendly: everything is placed in a NTFS partition Image compression format autodetection: they are decompressed on-the-fly during burn process Network support for remote maintenance via SSH (instructions to access via network here) Instructions are simple: Download the image from here Burn it on an sdcard Open the NTFS partition with your preferred file manager Place the images you want to burn on the device in images directory (backups will be stored in backups directory) Plug the sd card in the RK3288 device Power the device and wait few seconds, the Multitool menu will appear on screen and can be navigated with the keyboard Last edit: 07/06/2020 - updated installation instructions
  9. Try to turn off and on the monitor. Once and then I have glitches with a pink column of pixels at the left border which, I guess, is something that should be fixed in hdmi drivers. By the way I tested the HDMI on a couple of devices, a Philips Monitor/TV and a Iiyama Monitor, both Full-HD and with in-built speakers and both works fine either with output and sound. For my understanding, rk1000 device drives only analog audio and video, so it not of any use on our TV boxes.
  10. 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
  11. @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. edit: see this page for better and more up-to-date armbian images 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
  12. 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
  13. 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.
  14. 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
  15. 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+
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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.
  21. 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.
  22. 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)
  23. 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!
  24. 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
  25. There is no pci bus in these SoCs, you should use lsmod to see if there is any module related to wifi and iwconfig to show the network interfaces which support wifi
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines