> Date: Sun, 30 Jun 2019 14:13:23 +0200 (CEST) > From: Markus Hennecke <markus-henne...@markus-hennecke.de> > > On Fri, 21 Jun 2019, Mark Kettenis wrote: > > > I've finally managed to build a properly working (and fully open > > source) firmware for the ROCKPro64. The firmware consists of two > > files, which can be downloaded from: > > > > https://sibelius.home.xs4all.nl/firmware/rk3399-rockpro64/idbloader.img > > https://sibelius.home.xs4all.nl/firmware/rk3399-rockpro64/u-boot.itb > > > > In order to use this firmware you'll have to write it to a uSD card or > > an eMMC module with the following commands: > > > > # dd if=idbloader.img of=/dev/sdXc seek=64 > > # dd if=u-boot.itb of=/dev/sdXc seek=16384 > > > > Note that if you flashed a firmware to the onboard SPI flash, you'll > > have to erase it first or disable the SPI flash with a jumper wire > > connecting pins 23 and 25. > > > > Also note that the firmware overlaps with the msdos partition in the > > default OpenBSD/arm64 disk layout. Therefore you can't have the > > firmware and the OpenBSD boot/root filesystems on the same device > > without running through additional hoops. Ultimately the goal is to > > make it possible to put this firmware in SPI flash, but I haven't > > looked into that yet. > > > > This firmware uses a more standard serial speed of 115200, which means > > you can use almost any USB TTL serial cable. DVFS is supported so you > > can use sysctl hw.setperf to control to clock speed of the CPUs. But > > be aware that without a fan the board will probably overheat if you > > run it at the highest supported clock speed. > > Thanks, I was unable to boot bsd.rd, but setting up a system on a SD card > and copying the dtb to the efi partition worked out and gave me a booting > system. Well, most of the time it is booting. Sometimes the boot ends in > input/output errors.
That suggests you're still using an old U-Boot that doesn't initialize the voltage regulators properly. If you have a bootloader in SPI flash, you'll have to erase it or disable the SPI clock by connecting pin 23 and 25 with a jumper wire. > Is there any smart way to put the system on NVMe while u-boot can't > boot from it yet without having the root partition on SD card? Unfortunately not. > Just for the record, the following patch for ports sysutils/dtb will not > change the console speed during the boot process and in addition will > enable the pcie port: Yes, I have a similar diff. I'll see if I can update the sysuitls/dtb port. > $OpenBSD$ > > Index: arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts > --- arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts.orig > +++ arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts > @@ -15,7 +15,7 @@ > compatible = "pine64,rockpro64", "rockchip,rk3399"; > > chosen { > - stdout-path = "serial2:1500000n8"; > + stdout-path = "serial2:115200n8"; > }; > > clkin_gmac: external-gmac-clock { > @@ -186,6 +186,20 @@ > }; > > &emmc_phy { > + status = "okay"; > +}; > + > +&pcie_phy { > + status = "okay"; > +}; > + > +&pcie0 { > + ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; > + num-lanes = <4>; > + max-link-speed = <2>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pcie_clkreqn_cpm>; > + vpcie3v3-supply = <&vcc3v3_pcie>; > status = "okay"; > }; > > > > > > At some point this should land in the official u-boot-aarch64 > > packages. But since this build relies on a fairly large patch set > > that hasn't landed upstream yet, this may take some time. > > > > Cheers, > > > > Mark > > > > >