21 21
Xalius

ROCK64

Recommended Posts

Well, I'm a cyborg, and I still run on 2.6.  B)

 

I may have been grounded by the wife after I bought the Tinker Board and then had to buy another box to take up it's intended position in the living room...  :-/  Getting one of these may not be in the cards unless someone has pity on me.  I'm certainly more gunshy at this point, The nanoPi's went so well I got careless and wasted some money.  On the bright side, I've learned an awful lot about a lot of things I wouldn't have gotten myself into before hand, and I'm glad to be learning more.

 

Now, speaking of, time to go work on cleaning up Tinker Board messes.  I need to "unfix" something that is reportedly messing with the MiQi and try out Myy's attempt at getting BT working (involves a Rockchip custom rfkill driver)  And figure out if my MAC address is actually stable on the thing or not with Igor's U-boot patch.  I saw more than one value, but I need to make sure I'm not just hallucinating due to distress over the general state of the board.

Share this post


Link to post
Share on other sites

By the way, I'm for support of rk3328 Rock64. I already use Armbian ubuntu on amlogic s905x tv box Nexbox A95x. It's great, it works well. Friends have a shock :-)

Share this post


Link to post
Share on other sites

The mainlining (is that a word?) looks like it just started not too long ago, and given the 4.4 kernel is the one directly from Rockchip, and the... unique coding style I've come across for some of their workarounds, I'd agree for now.  At the very least for mainline the RK805 needs supported, it's a non-start without it.

 

If given a board I'd help support if/when the time comes, as much as I'd like to I don't think purchasing one is on my radar just yet, and it would be hard to justify having 2 SBC's that don't actually do anything but absorb my working time...  ;-)

 

As a note to Mods, should this be put in the "Board Bring-up" sub-forum?

Share this post


Link to post
Share on other sites

Yeah I am following the mainlining process for some time now, and some new things went into 4.12.x , we'll see at what pace that continues. As for the documentation there are only the datasheets (SOC+RK805), Part 1 of the user manual and the schematics right now. Tl is trying to get the Part 2 of the user manual released, but I am not sure what is actually in there. RK just today provided some more patches for the 4.4.x BSP, maybe the Rock64 can now stay up longer than 20 minutes :-)

 

On the hardware front Tl was looking for last suggestions regarding schematic changes or board layout changes, I think the plan is to go into production as soon it is confirmed that 933Mhz DRAM works on all three (1/2/4GB) variants...

 

@TonyMac32 I can ask Tl if he can send you a board sample if you like

Share this post


Link to post
Share on other sites
15 hours ago, TonyMac32 said:

The mainlining (is that a word?) looks like it just started not too long ago, and given the 4.4 kernel is the one directly from Rockchip, and the... unique coding style I've come across for some of their workarounds, I'd agree for now.  At the very least for mainline the RK805 needs supported, it's a non-start without it.

 

14 hours ago, Xalius said:

Yeah I am following the mainlining process for some time now, and some new things went into 4.12.x , we'll see at what pace that continues. As for the documentation there are only the datasheets (SOC+RK805), Part 1 of the user manual and the schematics right now. Tl is trying to get the Part 2 of the user manual released, but I am not sure what is actually in there. RK just today provided some more patches for the 4.4.x BSP, maybe the Rock64 can now stay up longer than 20 minutes :-)

I mean as long as u-boot, SPL and DRAM configuration and issues are solved, it doesn't really matter what kernel to try - pure mainline or 4.4 BSP.

Share this post


Link to post
Share on other sites
9 minutes ago, zador.blood.stained said:

I mean as long as u-boot, SPL and DRAM configuration and issues are solved

Yes, this needs to be solved first, we should also wait whether there's one DRAM initialization solution for all 3 DRAM variants since dealing with users reporting bricked boards since downloading the wrong OS image is just boring.

 

11 minutes ago, zador.blood.stained said:

it doesn't really matter what kernel to try - pure mainline or 4.4 BSP

On a related note wrt kernel version: TL Lim introduced a few guys a week ago to Kever being some sort of an open source activity representative at RK (most probably I got it wrong, doesn't matter that much since at least he knows who's in charge of what at RK solving issues). Yesterday I informed them about promising USB3 performance but also 'I think we need to add a quirk for UAS to work reliably, please compare with dmesg output 'ERROR Transfer event for disabled endpoint or incorrect stream ring' (http://sprunge.us/HURC) and Hans de Goede's approach for a similar problem with an older ARM SoC who's most probably using an older version of the same USB3 IP as now in RK3328.'

 

Let's wait and see. What I expect is a fix first in their BSP kernel but then also submitting patches upstream so we can tick the 'USB3/UAS working flawlessly' checkbox soon.

Share this post


Link to post
Share on other sites

I have a short update on the latest patches RK sent to BSP upstream. As of this morning we have a Rock64 image that doesnt lock up anymore  after 20 minutes and ayufan found a hotfix for the GbE issues by turning off tx-offloading (no TX/RX paramters tuned yet) and that seems to work well at least for him (930Mbit both directions) with one CPU core loaded since integrity calculations are now done on the CPU. Currently we boot the 2GB and 4GB with one firmware loader at 768Mhz DRAM frequency. The u-boot patches to autodetect DRAM size seem to work so far, havent heard back from someone with a 1GB board yet. RK also should push a DRAM init blob for 933Mhz soon...

 

https://github.com/ayufan-rock64/linux-build/releases - new images and deb packages for system upgrade

Share this post


Link to post
Share on other sites

@Xalius, do you know if the debug serial on those Rock64 should be UART2 (pin 8 and 10) on header ?

Using either mate or minimal 0.2.1 images, I've only got few garbage characters and nothing else. I presumed it should be at 115200.

Maybe the board I've received doesn't work at all ...:(

Share this post


Link to post
Share on other sites
6 minutes ago, martinayotte said:

@Xalius, do you know if the debug serial on those Rock64 should be UART2 (pin 8 and 10) on header ?

Using either mate or minimal 0.2.1 images, I've only got few garbage characters and nothing else.

Maybe the board I've received doesn't work at all ...:(

 

It is 1500000 8N1, RK uses 1.5Mbit for everything (miniloader, u-boot, kernel). I use PL2303HX (up to 12Mbit) and FT232RL  (up to 3Mbit) both work fine, while PL2303TA (up to 6Mbit) can not set 1.5Mbit properly...

Share this post


Link to post
Share on other sites

It failed to find boot partition. Looking at partition schemes, strangely it has 7 GPT partitions and the Boot one seems to be the 7th.



In
LPDDR3
786MHz
Bus Width=32 Col=11 Bank=8 Row=14/14 CS=2 Die Bus-Width=32 Size=2048MB
ddrconfig:7
OUT
Boot1 Release Time: 2017-02-23, version: 2.39
ChipType = 0x11, 127
WR_REL_SET is 0 4
SdmmcInit=2 0
BootCapSize=2000
UserCapSize=1ce8000
FwPartOffset=2000 , 2000
StorageInit ok = 26281
SecureMode : SBOOT_MODE_NS
LoadTrustBL
Trust version:102
BL2: Loading BL3-0
No find bl30.bin
BL2: Loading BL3-1
image_size:0x124
image_base:0x10000
image_size:0x10
image_base:0xff091000
BL2: Loading BL3-2
image_size:0x1dc
image_base:0x8400000
Load uboot, ReadLba = 2000
Load OK, addr=0x200000, size=0x57bcc
sha_hw_verify
RunBL31 0x10000
NOTICE:  BL31: v1.3(debug):3cb76c2
NOTICE:  BL31: Built : 21:10:34, Feb 23 2017
NOTICE:  BL31: Release version: v1.1
INFO:    ARM GICv2 driver initialized
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.02-RK3328-06-02273-g84e0a7b-dirty (Apr 12 2017 - 23:42:46)

CPU: rk3328
cpu version = 1
CPU's clock information:
    arm pll = 600000000HZ
    general pll = 800000000HZ
    ddr pll = 1572000000HZ
    codec pll = 594000000HZ
    new pll = 594000000HZ
Board:  Rockchip platform Board
Uboot as second level loader
DRAM:  Found dram banks: 1
Adding bank:0000000000200000(000000007fe00000)
128 MiB
GIC CPU mask = 0x00000001
SdmmcInit = 0 0
SDCard Update.
storage init OK!
Using default environment

GetParam
W: Invalid Parameter's tag (0x00000000)!
Invalid parameter
remotectl v0.1
pwm freq=0x11b3dc
pwm_freq_nstime=0x35d
No pmic detect.
CPU's clock information:
    arm pll = 1200000000HZ
    general pll = 800000000HZ
    ddr pll = 1572000000HZ
    codec pll = 594000000HZ
    new pll = 594000000HZ
SecureBootEn = 0, SecureBootLock = 0

#Boot ver: 0000-00-00#0.00
empty serial no.
normal boot.
no fuel gauge found
no fuel gauge found
read logo on state from dts [0]
no fuel gauge found
'recovery' does not seem to be a partition nor an address
Unable to boot:recovery
try to start backup
'backup' does not seem to be a partition nor an address
Unable to boot:backup
try to start rockusb

Share this post


Link to post
Share on other sites

 

4 minutes ago, martinayotte said:

What kind are you using ?

 

I used PL2303 and it kind of worked for me.

"Kind of" because kernel command line and DT stdout property doesn't explicitly specify the baud rate (at least on image that I tried), so system switched to another baud rate and I didn't have time to find the right one or to modify the image.

Share this post


Link to post
Share on other sites

On the Pinebook or SOPine having the eMMC installed changes the device numbering and needs handling in boot.cmd, not sure how the RK u-boot config handles that atm...

Share this post


Link to post
Share on other sites

When shorting the eMMC jumper, it start booting, but it produce a lot of mmcblk0 errors, and finally quit by not having mount rootfs.

I've then remove eMMC module, but it does the same thing ...

I think I will have to edit some configs to change it to mmcblk1 or mmcblk2.

 

 


Warning: fsck not present, so skipping root file system
[   33.619161] mmcblk0: error -5 transferring data, sector 262152, nr 8, cmd response 0x900, card status 0xb00
[   33.647386] mmc_host mmc0: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[   33.699107] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual 50000000HZ div = 0)
[   33.718354] mmc0: tried to reset card
[   33.737397] mmcblk0: error -5 transferring data, sector 262152, nr 8, cmd response 0x900, card status 0xb00
[   33.750745] mmcblk0: retrying using single block read
[   33.764169] mmcblk0: error -110 sending status command, retrying
[   33.771975] mmcblk0: error -84 transferring data, sector 262152, nr 8, cmd response 0x900, card status 0x0
[   33.780141] blk_update_request: I/O error, dev mmcblk0, sector 262152
[   33.791800] EXT4-fs (mmcblk0p7): can't read group descriptor 0
mount: mounting /dev/mmcblk0p7 on /root failed: Invalid argument
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... mount: mounting /dev on /root/dev failed: No such file or directory
done.
mount: mounting /run on /root/run failed: No such file or directory
run-init: current directory on the same filesystem as the root: error 0
Target filesystem doesn't have requested /sbin/init.
run-init: current directory on the same filesystem as the root: error 0
run-init: current directory on the same filesystem as the root: error 0
run-init: current directory on the same filesystem as the root: error 0
run-init: current directory on the same filesystem as the root: error 0
run-init: current directory on the same filesystem as the root: error 0
No init found. Try passing init= bootarg.


BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

 
 

 

 

Share this post


Link to post
Share on other sites

Strange ...

On your, when boot succeed, the sdcard is really at mmcblk0 ?

Why even by removing the eMMC module, my SDCard wasn't seen as mmcblk0 ?

Anyway, I've edited /boot/extlinux/extlinux.conf to point to mmcblk1, but it still try to access mmcblk0.

But greping the whole /boot, some binary still have mmcblk0 ...

I don't understand this whole boot process ...:wacko:

Share this post


Link to post
Share on other sites
1 hour ago, martinayotte said:

Is that 7 GPT partitions scheme is normal ? (we are not on Android here ... :wacko:)

That's the "Rockchip recommended" configuration.  If you look at the ASUS Tinker Board images it's the same thing.  It's how they put the data where the bootrom wants to find it.

Share this post


Link to post
Share on other sites

Well, we don't use it, instead just putting the data where it goes without the partitions.  At least the 3288 ignores the partitions themselves and is only looking for the "magic" values and bootloader

Share this post


Link to post
Share on other sites
52 minutes ago, martinayotte said:

I've copied the same xenial mate into eMMC, tweak the /boot/extlinux/extlinux.conf to point to mmcblk1, and now it boot from eMMC.

 

 

Thanks for testing, this was still on my TODO list :-)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
21 21