On Sun, 30 Jun 2019, Mark Kettenis wrote:

> > 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.

No, the jumper is set and it should be the correct u-boot from the 
download links you provided. Easy to recognize as the ayufan u-boot from 
SPI is using 1500000 baud:

Trying to boot from BOOTROM
Returning to boot ROM...
U-Boot SPL board init
Trying to boot from MMC1
NOTICE:  BL31: v2.1(debug):2.1
NOTICE:  BL31: Built : 03:09:58, Apr 11 2019
INFO:    GICv3 with legacy support detected. ARM GICV3 driver initialized 
in EL3
INFO:    plat_rockchip_pmu_init(1596): pd status 3e
INFO:    BL31: Initializing runtime services
WARNING: BL31: cortex_a53: CPU workaround for 819472 was missing!
WARNING: BL31: cortex_a53: CPU workaround for 824069 was missing!
WARNING: BL31: cortex_a53: CPU workaround for 827319 was missing!
INFO:    BL31: cortex_a53: CPU workaround for 855873 was applied
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x200000
INFO:    SPSR = 0x3c9


U-Boot 2019.07-rc4-00278-g0805a932f4-dirty (Jun 21 2019 - 21:33:15 +0200)

Model: Pine64 RockPro64
DRAM:  3.9 GiB
MMC:   dwmmc@fe320000: 1, sdhci@fe330000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default 
environment

In:    serial@ff1a0000
Out:   serial@ff1a0000
Err:   serial@ff1a0000
Model: Pine64 RockPro64
Net:
Error: ethernet@fe300000 address not set.
eth-1: ethernet@fe300000
Hit any key to stop autoboot:  0
Card did not respond to voltage select!
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:2...
53346 bytes read in 7 ms (7.3 MiB/s)
Found EFI removable media binary efi/boot/bootaa64.efi
Scanning disk dw...@fe320000.blk...
Card did not respond to voltage select!
Scanning disk sd...@fe330000.blk...
Disk sd...@fe330000.blk not ready
Found 3 disks
BootOrder not defined
EFI boot manager: Cannot load any image
161322 bytes read in 12 ms (12.8 MiB/s)
disks: sd0*
>> OpenBSD/arm64 BOOTAA64 0.16

The bsd.rd from the last snapshot worked (28th June). I will try to 
install the system on NVMe via the installer and boot using the -a switch 
in the bootloader.

> 
> > 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.

So I just keep entering boot -a on serial console during boot. After all 
this is a system to play around with. I can live with that.
Or perhaps I will put / on SD card and copy it to NVMe via /altroot until
the situation changes.

 
> > 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
> > > 
> > > 
> > 
> 
> 

Reply via email to