Rockchip RK3399 (ROCKPro64) boots to multiuser

Greg V greg at unrelenting.technology
Wed Aug 15 19:41:49 UTC 2018



On Wed, Aug 15, 2018 at 5:30 PM, Ganbold Tsagaankhuu 
<ganbold at gmail.com> wrote:
> 
> 
> On Wed, Aug 15, 2018 at 4:56 PM, Emmanuel Vadot 
> <manu at bidouilliste.com> wrote:
>> On Tue, 14 Aug 2018 21:30:11 +0800
>> Ganbold Tsagaankhuu <ganbold at gmail.com> wrote:
>> 
>> > Greg,
>> >
>> > On Tue, Aug 14, 2018 at 9:23 PM, Greg V 
>> <greg at unrelenting.technology> wrote:
>> >
>> > >
>> > >
>> > > On Tue, Aug 14, 2018 at 2:01 PM, Ganbold Tsagaankhuu 
>> <ganbold at gmail.com>
>> > > wrote:
>> > >
>> > >> Greg,
>> > >>
>> > >> On Tue, Aug 7, 2018 at 1:48 AM, Greg V 
>> <greg at unrelenting.technology>
>> > >> wrote:
>> > >>
>> > >>> Hi,
>> > >>>
>> > >>> I managed to boot FreeBSD on the Rockchip RK3399 SoC (Pine64 
>> ROCKPro64
>> > >>> board):
>> > >>>
>> > >>> 
>> https://gist.github.com/myfreeweb/5f5b9e56f9a0fd1d63a46c34886f5ad1
>> > >>>
>> > >>> As with the ROCK64, boot is over the network. To boot, dd 
>> ayufan's
>> > >>> ubuntu image onto an sdcard and Ctrl-C the linux boot on the 
>> kernel
>> > >>> selection screen. U-Boot on SPI flash is not available yet.
>> > >>>
>> > >>> Unfortunately, performance is very disappointing ? I think the 
>> big
>> > >>> cluster's default frequency is very low.
>> > >>> (Everything runs faster if cpuset to the LITTLE cores.)
>> > >>>
>> > >>> Looks like we'll need a driver for the "rockchip,rk808" PMIC 
>> to make
>> > >>> cpufreq_dt work?
>> > >>> Also my attempt at the clock driver is very incomplete ;)
>> > >>>
>> > >>
>> > >> Can you change the patches according to style(9) for 
>> phabricator review (
>> > >> https://reviews.freebsd.org) and send them to me?
>> > >> I think full files should be fine too.
>> > >>
>> > >
>> > > My patches are rather incomplete and janky, don't do anything 
>> with them.
>> > > manu@ got a ROCKPro64 recently https://twitter.com/manuvadot/
>> > > status/1027152057051041793 so you can expect proper versions of 
>> these
>> > > "soon" :)
>> > >
>> >
>> >
>> > I meant to say that we can rather use your patches if no one did 
>> it yet.
>> >
>> > Emmanuel,
>> >
>> > Do you have proper patches yet?
>> 
>>  No and I'm not in a hurry to put everything up for RK3399 so close 
>> to
>> freeze.
> 
> Yes, I agree.
> 
> 
>>  But if you want to clean them and put this in a review be my guest,
>> I'll review them.
> 
> Ok, I will see if I'll have some time to polish it unless someone 
> else will do it.
> 
> thanks,
> 
> Ganbold

Alright everyone, good news — I managed to reclock the CPU!!!

The patch is now at https://reviews.freebsd.org/D16732

(and I think the style is more correct now. Though it's really fscking 
silly that the style doesn't like making "table-like" structures look 
like tables, i.e. with one-line "rows".)

Plus the hack you need to reclock the CPU right now at 
https://gist.github.com/myfreeweb/88cb9340652f56498f4be770c77b9d61

(the hack allows cpufreq_dt to deal with clock only, no voltage — 
since we don't have all the drivers for voltage.)

BTW, the sysctl cpufreq interface is a bit funny with big.LITTLE:
dev.cpu.4/5 do not have any freq stuff, it's all on dev.cpu.0 — and 
it displays only the LITTLE frequencies:

dev.cpu.0.freq_levels: 1512/-1 1416/-1 1200/-1 1008/-1 816/-1 600/-1 
408/-1
dev.cpu.0.freq: 1512

To maximize the big frequency, I need to set *that* to a big number 
e.g. dev.cpu.0.freq=2000 — that results in 1512/1992.
Setting 1512 there (which is what powerd does in this situation, since 
it does not have any info about big) results in 1512/1608 — quite 
underclocked on the big cores.



More information about the freebsd-arm mailing list