TonyMac32 Posted March 4, 2019 Posted March 4, 2019 The newest revision does not boot from current SD images. I'm working to debug why. If anyone else has a board and can test it out, let me know. The eMMC will boot, no problem, so it's just the SD itself. Model: Pine64 Rock64 DRAM: 1022 MiB MMC: rksdmmc@ff520000: 0, rksdmmc@ff500000: 1 SF: Detected w25q128bv with page size 256 Bytes, erase size 4 KiB, total 16 MiB *** Warning - bad CRC, using default environment In: serial@ff130000 Out: serial@ff130000 Err: serial@ff130000 Model: Pine64 Rock64 misc_init_r cpuid=55524b50303930343200000000051f1a serial=f55c6806c317581 Net: eth0: ethernet@ff540000 Hit any key to stop autoboot: 0 Card did not respond to voltage select! mmc_init: -95, time 9 switch to partitions #0, OK mmc1 is current device ** No partition table - mmc 1 ** starting USB... USB0: USB EHCI 1.00 USB1: USB OHCI 1.0 USB2: Core Release: 3.10a USB3: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... 2 USB Device(s) found scanning bus 2 for devices... 2 USB Device(s) found scanning bus 3 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Device 0: unknown device ethernet@ff540000 Waiting for PHY auto negotiation to complete......... TIMEOUT Ideally getting old an new to boot would be ideal, @Igor this might mean a fragmentation for this board though, like having a V2 and older and a V3 and newer build if we can't make them all play nice with one bootloader.
Igor Posted March 4, 2019 Posted March 4, 2019 2 hours ago, TonyMac32 said: this might mean a fragmentation for this board though, like having a V2 and older and a V3 and newer build if we can't make them all play nice with one bootloader. OMG I hope it won't be needed.
TonyMac32 Posted March 4, 2019 Author Posted March 4, 2019 2 minutes ago, Igor said: OMG I hope it won't be needed. Agreed, but I'm having flashbacks to the MiQi boot order vs. the Tinker Board. I should be able to look at it more fully tomorrow.
martinayotte Posted March 4, 2019 Posted March 4, 2019 My Rock64 is using this build since 6 weeks : Linux rock64 4.20.0-rockchip64 #5.72 SMP Thu Jan 17 16:15:05 EST 2019 aarch64 GNU/Linux EDIT : Now building Ayufan 4.20.13 ... will see ! EDIT2 : My Rock64 is now updated with 4.20.13 without any issues ...
TonyMac32 Posted March 4, 2019 Author Posted March 4, 2019 3 hours ago, martinayotte said: My Rock64 is using this build since 6 weeks : A rev 3 board? My Rev 1 boots no problem all of our images. It's the new one I just got that refuses. How much RAM does yours have, this looks like a 1GB model, maybe it's trying to load something out of the memory space.
martinayotte Posted March 4, 2019 Posted March 4, 2019 22 minutes ago, TonyMac32 said: A rev 3 board? No, Rev.1 ... 23 minutes ago, TonyMac32 said: How much RAM does yours have No, 2GB ... Is it refuse to boot even without eMMC plugged ?
TonyMac32 Posted March 4, 2019 Author Posted March 4, 2019 25 minutes ago, martinayotte said: Is it refuse to boot even without eMMC plugged ? Yes. That's the issue here is with the brand new revision, eMMC unplugged, plugged, etc, doesn't matter. U-boot loads, faults out to PXE and gives up. I had a thought to verify the U-boot is indeed the one from the SD, I don't know if the SPI is preloaded or not...
martinayotte Posted March 4, 2019 Posted March 4, 2019 2 minutes ago, TonyMac32 said: I don't know if the SPI is preloaded or not... Right, that can be an issue ... If you stop the u-boot with <spacebar>, what "mmc list" is reporting ? Then "mmc dev" followed with "mmc info" , finally "ls mmc X" ?
TonyMac32 Posted March 4, 2019 Author Posted March 4, 2019 you'll have to wait on those results, I'm at the day job wrestling lightning bolts and B-fields, choking on magic smoke.
martinayotte Posted March 4, 2019 Posted March 4, 2019 5 minutes ago, TonyMac32 said: I'm at the day job wrestling lightning bolts and B-fields, choking on magic smoke. Wow ! what kind of job is that ?
Thewonderer Posted March 20, 2019 Posted March 20, 2019 How's the Rev 3 of the ROCK64 going? How did you manage to get it as the website doesn't seem to show whether its rev2 or 3 that you get.... Realise there are more powerful boards out there but don't need some power hungry board for my needs, though the Odroid N2 looks tempting and low power too.
TonyMac32 Posted March 20, 2019 Author Posted March 20, 2019 Hi @Thewonderer, I have dev samples of a few boards, it's one of the ways we work with vendors that show interest. My other Rock64 is a pre-V1, so I wanted to make sure I had something representative moving forward. I've had some personal projects going, and @martinayotte moved so much around on these boards I decided to stay out of the way. Taking a look at the u-boot configs and device trees tonight to see if I can find a difference, the Renegade image got to the point of loading kernel (obviously didn't get past that with the differences in DTS's) on the Rock64 3.0 while the Rock64 V1/2 image would not, telling me there's no hardware issue. @martinayotte did you try to boot Renegade with newer u-boot? I can't remember if you have one or not.
suberimakuri Posted March 20, 2019 Posted March 20, 2019 They've just sent me a v2 even though I requested v3. They said v3 not released on website and I can return. I got the impression from Twitter that they had v3 ready. Thanks for doing work on v3 bring up in armbian!
Staars Posted March 20, 2019 Posted March 20, 2019 8 hours ago, TonyMac32 said: Hi @Thewonderer, I have dev samples of a few boards, it's one of the ways we work with vendors that show interest. My other Rock64 is a pre-V1, so I wanted to make sure I had something representative moving forward. I've had some personal projects going, and @martinayotte moved so much around on these boards I decided to stay out of the way. Taking a look at the u-boot configs and device trees tonight to see if I can find a difference, the Renegade image got to the point of loading kernel (obviously didn't get past that with the differences in DTS's) on the Rock64 3.0 while the Rock64 V1/2 image would not, telling me there's no hardware issue. @martinayotte did you try to boot Renegade with newer u-boot? I can't remember if you have one or not. Does the SD card appear later in the boot process, when you boot from eMMC?
martinayotte Posted March 20, 2019 Posted March 20, 2019 10 hours ago, TonyMac32 said: and @martinayotte moved so much around on these boards ... not so much ... My Rock64 is a v1, and it is now running 5.0.0 from eMMC.
TonyMac32 Posted March 20, 2019 Author Posted March 20, 2019 8 hours ago, martinayotte said: not so much ... Mmhmm. my V1 has no problems with our u-boot, it is fine from eMMC and from SD. The V3 is fine from eMMC if I 'transplant' it from the V1 to the V3. SD using our u-boot recipe somewhere goes wrong on V3, so I need to debug
TonyMac32 Posted March 21, 2019 Author Posted March 21, 2019 (edited) On 3/4/2019 at 8:06 PM, martinayotte said: If you stop the u-boot with <spacebar>, what "mmc list" is reporting ? Then "mmc dev" followed with "mmc info" , finally "ls mmc X" ? Sorry I didn't get back to you, but here goes: => mmc list rksdmmc@ff520000: 0 rksdmmc@ff500000: 1 (SD) => mmc info Device: rksdmmc@ff500000 Manufacturer ID: 3 OEM: 5344 Name: SL16G Tran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 14.8 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes => ls mmc 1 ** ext4fs_devread read error - block Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** Now, to be completely clear, that SD card boots perfectly on a revision 1 board. I was talking to Pine, I think I might have to reach out again. Interestingly, if I stuff my Renegade SD into the Rock64 I get this: Spoiler DDR version 1.13 20180428 ID:0x805 Y In LPDDR3 786MHz Bus Width=32 Col=10 Bank=8 Row=15 CS=1 Die Bus-Width=32 Size=1024MB ddrconfig:1 OUT Boot1 Release Time: Feb 2 2018 15:41:39, version: 2.46 ChipType = 0x11, 147 SdmmcInit=2 0 BootCapSize=0 UserCapSize=0MB FwPartOffset=2000 , 0 SdmmcInit=0 0 BootCapSize=0 UserCapSize=15193MB FwPartOffset=2000 , 0 StorageInit ok = 39136 Raw SecureMode = 0 SecureInit read PBA: 0x4 SecureInit read PBA: 0x404 SecureInit read PBA: 0x804 SecureInit read PBA: 0xc04 SecureInit read PBA: 0x1004 SecureInit ret = 0, SecureMode = 0 LoadTrustBL No find bl30.bin No find bl32.bin Load uboot, ReadLba = 2000 Load OK, addr=0x200000, size=0x91d80 RunBL31 0x10000 NOTICE: BL31: v1.3(debug):f947c7e NOTICE: BL31: Built : 12:41:19, Mar 3 2019 NOTICE: BL31:Rockchip release version: v1.3 INFO: ARM GICv2 driver initialized INFO: Using rkfiq sec cpu_context! INFO: boot cpu mask: 1 INFO: plat_rockchip_pmu_init: pd status 0xe INFO: BL31: Initializing runtime services INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x200000 INFO: SPSR = 0x3c9 U-Boot 2017.09-armbian (Mar 19 2019 - 23:49:43 -0400) Model: Firefly ROC-RK3328-CC DRAM: 1022 MiB MMC: rksdmmc@ff520000: 0, rksdmmc@ff500000: 1 *** Warning - bad CRC, using default environment In: serial@ff130000 Out: serial@ff130000 Err: serial@ff130000 Model: Firefly ROC-RK3328-CC misc_init_r boot mode 0. Net: Net Initialization Skipped No ethernet found. Hit any key to stop autoboot: 0 Card did not respond to voltage select! mmc_init: -95, time 9 switch to partitions #0, OK mmc1 is current device Scanning mmc 1:1... Found U-Boot script /boot/boot.scr 2949 bytes read in 20 ms (143.6 KiB/s) ## Executing script at 00500000 Boot script loaded from mmc 1 151 bytes read in 17 ms (7.8 KiB/s) 8767906 bytes read in 427 ms (19.6 MiB/s) 14107136 bytes read in 664 ms (20.3 MiB/s) 48282 bytes read in 32 ms (1.4 MiB/s) 1847 bytes read in 31 ms (57.6 KiB/s) Applying kernel provided DT fixup script (rockchip-fixup.scr) ## Executing script at 39000000 ## Loading init Ramdisk from Legacy Image at 04000000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 8767842 Bytes = 8.4 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 3d6b7000, end 3df13962 ... OK reserving fdt memory region: addr=1f00000 size=72000 Loading Device Tree to 000000003d642000, end 000000003d6b6fff ... OK Starting kernel ... ...Where it of course freezes because it is not a Renegade and they are different enough for that to be a problem. What options and hardware combo would wreck reading the SD card? *head explodes* Edited March 24, 2019 by Tido added spoiler
martinayotte Posted March 21, 2019 Posted March 21, 2019 9 hours ago, TonyMac32 said: Interestingly, if I stuff my Renegade SD into the Rock64 I get this: Right ! Interesting ! 9 hours ago, TonyMac32 said: *head explodes* Mine is exploding too ... Even more strange, both are with v2017.09, sharing the same rk3328.dtsi which has mmc pins strength at 4mA.
TonyMac32 Posted March 21, 2019 Author Posted March 21, 2019 I don't think this has anything to do with the drive strength, I can scan different SD's with no issue, reading the mfg info/type/size/etc. But it won't recognize the filesystem in any of them. (Tried 6 different ones)Sent from my Pixel using Tapatalk
martinayotte Posted March 21, 2019 Posted March 21, 2019 27 minutes ago, TonyMac32 said: But it won't recognize the filesystem in any of them But why the Rev.1 can read the same filesystem ?
balbes150 Posted March 22, 2019 Posted March 22, 2019 On 3/21/2019 at 6:48 AM, TonyMac32 said: => ls mmc 1 Show the output of the command help and command ls mmc 1:0 ls mmc 1:1
TonyMac32 Posted March 22, 2019 Author Posted March 22, 2019 This is from Rock64 Rev 3. Spoiler => help ? - alias for 'help' base - print or set address offset bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootefi - Boots an EFI payload from memory bootelf - Boot from an ELF image in memory booti - boot arm64 Linux Image image from memory bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol bootvx - Boot vxWorks from an ELF image bootz - boot Linux zImage image from memory chpart - change active partition cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation dhcp - boot image via network using DHCP/TFTP protocol dm - Driver model low level access echo - echo args to console editenv - edit environment variable env - environment handling commands erase - erase FLASH memory ethsw - Ethernet l2 switch commands exit - exit script ext2load- load binary file from a Ext2 filesystem ext2ls - list files in a directory (default /) ext4load- load binary file from a Ext4 filesystem ext4ls - list files in a directory (default /) ext4size- determine a file's size false - do nothing, unsuccessfully fastboot- use USB or UDP Fastboot protocol fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) fatsize - determine a file's size fatwrite- write file into a dos filesystem fdt - flattened device tree utility commands flinfo - print FLASH memory information fstype - Look up a filesystem type go - start application at address 'addr' gpio - query and control gpio pins gpt - GUID Partition Table help - print command description/usage i2c - I2C sub-system iminfo - print header information for application image imxtract- extract a part of a multi-image itest - return true/false on integer compare led - manage LEDs load - load binary file from a filesystem loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loadx - load binary file over serial line (xmodem mode) loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range ls - list files in a directory (default /) md - memory display mdio - MDIO utility commands meminfo - display memory information mii - MII utility commands mm - memory modify (auto-incrementing address) mmc - MMC sub system mmcinfo - display MMC info mtdparts- define flash/nand partitions mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) part - disk partition related commands ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables protect - enable or disable FLASH write protection pxe - commands to get and boot from pxe files regulator- uclass operations reset - Perform RESET of the CPU rockusb - Use the rockusb Protocol run - run commands in an environment variable save - save file to a filesystem saveenv - save environment variables to persistent storage setenv - set environment variables setexpr - set environment variable as the result of eval expression sf - SPI flash sub-system sha1sum - compute SHA1 message digest showvar - print local hushshell variables size - determine a file's size sleep - delay execution for some time source - run script from memory sspi - SPI utility command sysboot - command to get and boot from syslinux files test - minimal test like /bin/sh tftpboot- boot image via network using TFTP protocol time - run commands and summarize execution time true - do nothing, successfully ums - Use the UMS [USB Mass Storage] usb - USB sub-system usbboot - boot from USB device version - print monitor, compiler and linker version => version U-Boot 2017.09-armbian (Mar 20 2019 - 22:48:31 -0400) aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011 GNU ld (Linaro_Binutils-2017.11) 2.28.2.20170706 => ls mmc 1:1 ** No partition table - mmc 1 ** => ls mmc 1:0 ** ext4fs_devread read error - block Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** => Pulling the exact same card out of the Rev 3 and stopping boot on the Rev 1: Spoiler => help ? - alias for 'help' base - print or set address offset bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootefi - Boots an EFI payload from memory bootelf - Boot from an ELF image in memory booti - boot arm64 Linux Image image from memory bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol bootvx - Boot vxWorks from an ELF image bootz - boot Linux zImage image from memory chpart - change active partition cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation dhcp - boot image via network using DHCP/TFTP protocol dm - Driver model low level access echo - echo args to console editenv - edit environment variable env - environment handling commands erase - erase FLASH memory ethsw - Ethernet l2 switch commands exit - exit script ext2load- load binary file from a Ext2 filesystem ext2ls - list files in a directory (default /) ext4load- load binary file from a Ext4 filesystem ext4ls - list files in a directory (default /) ext4size- determine a file's size false - do nothing, unsuccessfully fastboot- use USB or UDP Fastboot protocol fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) fatsize - determine a file's size fatwrite- write file into a dos filesystem fdt - flattened device tree utility commands flinfo - print FLASH memory information fstype - Look up a filesystem type go - start application at address 'addr' gpio - query and control gpio pins gpt - GUID Partition Table help - print command description/usage i2c - I2C sub-system iminfo - print header information for application image imxtract- extract a part of a multi-image itest - return true/false on integer compare led - manage LEDs load - load binary file from a filesystem loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loadx - load binary file over serial line (xmodem mode) loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range ls - list files in a directory (default /) md - memory display mdio - MDIO utility commands meminfo - display memory information mii - MII utility commands mm - memory modify (auto-incrementing address) mmc - MMC sub system mmcinfo - display MMC info mtdparts- define flash/nand partitions mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) part - disk partition related commands ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables protect - enable or disable FLASH write protection pxe - commands to get and boot from pxe files regulator- uclass operations reset - Perform RESET of the CPU rockusb - Use the rockusb Protocol run - run commands in an environment variable save - save file to a filesystem saveenv - save environment variables to persistent storage setenv - set environment variables setexpr - set environment variable as the result of eval expression sf - SPI flash sub-system sha1sum - compute SHA1 message digest showvar - print local hushshell variables size - determine a file's size sleep - delay execution for some time source - run script from memory sspi - SPI utility command sysboot - command to get and boot from syslinux files test - minimal test like /bin/sh tftpboot- boot image via network using TFTP protocol time - run commands and summarize execution time true - do nothing, successfully ums - Use the UMS [USB Mass Storage] usb - USB sub-system usbboot - boot from USB device version - print monitor, compiler and linker version => version U-Boot 2017.09-armbian (Mar 20 2019 - 22:48:31 -0400) aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011 GNU ld (Linaro_Binutils-2017.11) 2.28.2.20170706 => ls mmc 1:1 <DIR> 4096 . <DIR> 4096 .. <DIR> 16384 lost+found <DIR> 4096 bin <DIR> 4096 boot <DIR> 4096 dev <DIR> 4096 etc <DIR> 4096 home <DIR> 4096 lib <DIR> 4096 media <DIR> 4096 mnt <DIR> 4096 opt <DIR> 4096 proc <DIR> 4096 root <DIR> 4096 run <DIR> 4096 sbin <DIR> 4096 selinux <DIR> 4096 srv <DIR> 4096 sys <DIR> 4096 tmp <DIR> 4096 usr <DIR> 4096 var => ls mmc 1:0 Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** =>
balbes150 Posted March 22, 2019 Posted March 22, 2019 ls mmc 0:0 ls mmc 0:1 ext4ls mmc 1:0 ext4ls mmc 1:1 ext2ls mmc 1:0 ext2ls mmc 1:1 fatls mmc 1:0 fatls mmc 1:1
TonyMac32 Posted March 22, 2019 Author Posted March 22, 2019 I'll be able to check later, but the SD is ext4, and I am moving the same physical SD between the two revisions of the board without any other changes. I did a lot of other tests on my own earlier on, MMC 0 is not present (and is not installed, so ok).Sent from my Pixel using Tapatalk
balbes150 Posted March 23, 2019 Posted March 23, 2019 Perhaps the answer is in this quote. New Rock64 Revision 3 features include support for Power over Ethernet, a Real Time Clock, support for high-speed microSD cards, and improved PI2 GPIO compatibility.
TonyMac32 Posted March 24, 2019 Author Posted March 24, 2019 13 hours ago, balbes150 said: Perhaps the answer is in this quote. New Rock64 Revision 3 features include support for Power over Ethernet, a Real Time Clock, support for high-speed microSD cards, and improved PI2 GPIO compatibility. Yes, I had considered this but had (probably wrongly) thought that the uboot code wasn't using it since it didn't die on boot with the Rev 1 that it wasn't trying to switch regulators. (could be trying but nothing is changing, now the gpio is wrong? Schematic searching...)
Leapo Posted May 27, 2019 Posted May 27, 2019 The issue is that GPIO0_D6 (SDMMC0_PWREN) is left floating by current Linux devicetree configurations, but needs to be set to high or low in order to select an appropriate SDCard voltage. Armbian will need to be updated to set this pin corrently. To get the current non-updated version of Arbmian running on a v3 (I've tested this), you can solder a connection between test pad 2302 and 3.3v to revert your Rev3 board's SD-Card slot to Rev2 behavior, which should work with all cards. If you have a UHS-capable MicroSD card, you can solder a connection between test pad 2303 and ground to force the slot into UHS mode. The test pad can be located on the back of the PCB, near the center. I've highlighted it in this drawing, in red: https://i.imgur.com/F9BCSkj.png
TonyMac32 Posted May 27, 2019 Author Posted May 27, 2019 No need for hardware hacking, I will try to address this tonight, it is in my open items. :-)Sent from my Pixel using Tapatalk
Backseat Posted June 3, 2019 Posted June 3, 2019 Try this: https://github.com/u-boot/u-boot/pull/21/commits/cbe59e621f83b54b7b463ad69a568fbae4db04a7
Recommended Posts