On Sun, 2020-02-02 at 23:01 +0100, Sebastian Reitenbach wrote: > Hi, > > got a Pine64 Rock64_V2.0 2017-0713, which is stuck booting miniroot66.fs. > > This is how I prepared the miniroot66.fs to boot on it, following > INSTALL.arm64: > > ftp https://ftp.hostserver.de/pub/OpenBSD/snapshots/arm64/miniroot66.fs > dd if=miniroot66.fs of=/dev/rsd2c > mount /dev/sd2i /mnt > mkdir /mnt/rockchip > cp /usr/local/share/dtb/arm64/rockchip/rk3328-rock64.dtb /mnt/rockchip > umount /mnt > dd if=/usr/local/share/u-boot/rock64-rk3328/idbloader.img of=/dev/sd2c seek=64 > dd if=/usr/local/share/u-boot/rock64-rk3328/u-boot.itb of=/dev/sd2c seek=16384 > > the device itself boots the u-boot-erase-spi-rock64.img from > ayufan-rock64/linux-u-boot > as well as NetBSD-evbarm-aarch64-202001141930Z-rock64.img. > However, booting the prepared miniroot66.fs I'm stuck at: > > cu -l /dev/cuaU0 -s 115200 > Connected to /dev/cuaU0 (speed 115200) > > U-Boot TPL 2020.01 (Jan 12 2020 - 02:16:54) > data training error > col error > data training error > LPDDR3, 800MHz > BW=16 Col=12 Bk=8 CS0 Row=16 CS=1 Die BW=8 Size=4096MB >
The 'col error' appears to be fixed after u-boot 2020.01 was released. I've backported the fix for it in the attached diff to our u-boot port. I've uploaded the rock64-rk3328 subdir with the fix here: http://www.intricatesoftware.com/distfiles/u-boot-2020.01p2.rock64-rk3328.tar.gz Could you test idbloader.img and u-boot.itb from it on both of your boards to see if it corrects the TPL memory training error you are seeing? -Kurt > U-Boot TPL 2020.01 (Jan 12 2020 - 02:16:54) > data training error > col error > data training error > LPDDR3, 800MHz > BW=16 Col=12 Bk=8 CS0 Row=16 CS=1 Die BW=8 Size=4096MB > > I have another rock64 with 2GB memory, same V2.0 from 2017-0713 > taking the SD card from there and place it into this 1GB device, > I get the same, stuck in U-Boot, same output. > > When I put the miniroot66.fs into the 2GB memory booting device, I > get output alike: > > U-Boot TPL 2020.01 (Jan 12 2020 - 02:16:54) > LPDDR3, 800MHz > BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB > Trying to boot from BOOTROM > Returning to boot ROM... > > U-Boot SPL 2020.01 (Jan 12 2020 - 02:16:54 -0700) > Trying to boot from MMC1 > NOTICE: BL31: v2.2(debug):2.2 > NOTICE: BL31: Built : 02:07:28, Jan 12 2020 > ERROR: over or zero region, nr=4187432, max=10 > NOTICE: BL31:Rockchip release version: v1.2 > INFO: ARM GICv2 driver initialized > INFO: plat_rockchip_pmu_init: pd status 0xe > INFO: BL31: Initializing runtime services > WARNING: BL31: cortex_a53: CPU workaround for 855873 was missing! > INFO: BL31: Preparing for EL3 exit to normal world > INFO: Entry point address = 0x200000 > INFO: SPSR = 0x3c9 > > > U-Boot 2020.01 (Jan 12 2020 - 02:16:54 -0700) > > Model: Pine64 Rock64 > DRAM: 2 GiB > PMIC: RK8050 (on=0x40, off=0x00) > MMC: rksdmmc@ff500000: 1, rksdmmc@ff520000: 0 > Loading Environment from MMC... *** Warning - bad CRC, using default > environment > ... > > any idea what could be the problem? > I don't know what the values in that line should tell me: > BW=16 Col=12 Bk=8 CS0 Row=16 CS=1 Die BW=8 Size=4096MB > is the Size=4096MB the memory it detected and is trying to use? > > > Sebastian > > below the NetBSD dmesg from the non-booting device. > > > > > > > > > NetBSD/evbarm EFI Boot (aarch64), Revision 1.12 (Thu Jan 9 17:18:43 UTC > > > 2020) (from NetBSD 9.0_RC1) > Press return to boot now, any other key for boot prompt > booting netbsd - starting in 0 seconds. > 5377304+2473216+2732660+1927828 [515353+700224+490565]=0x1012fb8 > [ 1.0000000] NetBSD/evbarm (fdt) booting ... > [ 1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, > 2004, 2005, > [ 1.0000000] 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, > 2015, 2016, 2017, > [ 1.0000000] 2018, 2019, 2020 The NetBSD Foundation, Inc. All rights > reserved. > [ 1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993 > [ 1.0000000] The Regents of the University of California. All rights > reserved. > > [ 1.0000000] NetBSD 9.0_RC1 (GENERIC64) #0: Thu Jan 9 17:18:43 UTC 2020 > [ 1.0000000] > mkre...@mkrepro.netbsd.org:/usr/src/sys/arch/evbarm/compile/GENERIC[ > 1.0000000] total memory = 1007 > MB > [ 1.0000000] avail memory = 971 MB > [ 1.0000000] armfdt0 (root) > [ 1.0000000] simplebus0 at armfdt0: Pine64 Rock64 > [ 1.0000000] cpus0 at simplebus0 > [ 1.0000000] simplebus1 at simplebus0 > [ 1.0000000] simplebus2 at simplebus0 > [ 1.0000000] cpu0 at cpus0: Cortex-A53 r0p4 (Cortex V8-A core) > [ 1.0000000] cpu0: package 0, core 0, smt 0 > [ 1.0000000] cpu0: IC enabled, DC enabled, EL0/EL1 stack Alignment check > enabled > [ 1.0000000] cpu0: Cache Writeback Granule 16B, Exclusives Reservation > Granule 16B > [ 1.0000000] cpu0: Dcache line 64, line 64 > [ 1.0000000] cpu0: L1 32KB/64B 2-way read-allocate VIPT Instruction cache > [ 1.0000000] cpu0: L1 32KB/64B 4-way write-back read-allocate > write-allocate PIPT Data cache > [ 1.0000000] cpu0: L2 256KB/64B 16-way write-back read-allocate write-alte > PIPT Unified cache > [ 1.0000000] cpu0: revID=0x180, PMCv3, 4k table, 64k table, 16bit ASID > [ 1.0000000] cpu0: auxID=0x11120, FP, CRC32, SHA1, SHA256, AES+PMULL, NEON, > rounding, NaN propagation, denormals, > 32x64bitRegs, Fused Multiply-Add > [ 1.0000000] cpufreqdt0 at cpu0 > [ 1.0000000] cpu1 at cpus0: Cortex-A53 r0p4 (Cortex V8-A core) > [ 1.0000000] cpu1: package 0, core 1, smt 0 > [ 1.0000000] cpufreqdt1 at cpu1 > [ 1.0000000] cpu2 at cpus0: Cortex-A53 r0p4 (Cortex V8-A core) > [ 1.0000000] cpu2: package 0, core 2, smt 0 > [ 1.0000000] cpufreqdt2 at cpu2 > [ 1.0000000] cpu3 at cpus0: Cortex-A53 r0p4 (Cortex V8-A core) > [ 1.0000000] cpu3: package 0, core 3, smt 0 > [ 1.0000000] cpufreqdt3 at cpu3 > [ 1.0000000] gic0 at simplebus0: GIC > [ 1.0000000] armgic0 at gic0: Generic Interrupt Controller, 160 sources > (149 valid) > [ 1.0000000] armgic0: 16 Priorities, 128 SPIs, 6 PPIs, 15 SGIs > [ 1.0000000] syscon0 at simplebus0: System Controller Registers > [ 1.0000000] fclock0 at simplebus0: 24000000 Hz fixed clock (xin24m) > [ 1.0000000] syscon1 at simplebus0: System Controller Registers > [ 1.0000000] fclock1 at simplebus0: 125000000 Hz fixed clock (gmac_clkin) > [ 1.0000000] gtmr0 at simplebus0: Generic Timer > [ 1.0000000] gtmr0: interrupting on GIC irq 27 > [ 1.0000000] armgtmr0 at gtmr0: Generic Timer (24000 kHz, virtual) > [ 1.0000060] rkcru0 at simplebus0: RK3328 CRU > [ 1.0000060] rkiomux0 at simplebus0: RK3328 IOMUX control > [ 1.0000060] rkgpio0 at rkiomux0: GPIO (gpio0@ff210000) > [ 1.0000060] gpio0 at rkgpio0: 32 pins > [ 1.0000060] rkgpio1 at rkiomux0: GPIO (gpio1@ff220000) > [ 1.0000060] gpio1 at rkgpio1: 32 pins > [ 1.0000060] rkgpio2 at rkiomux0: GPIO (gpio2@ff230000) > [ 1.0000060] gpio2 at rkgpio2: 32 pins > [ 1.0000060] rkgpio3 at rkiomux0: GPIO (gpio3@ff240000) > [ 1.0000060] gpio3 at rkgpio3: 32 pins > [ 1.0000060] rkiic0 at simplebus0: Rockchip I2C (100000 Hz) > [ 1.0000060] iic0 at rkiic0: I2C bus > [ 1.0000060] rkpmic0 at iic0 addr 0x18: RK805 Power Management IC > [ 1.0000060] rkreg0 at rkpmic0: vdd_logic > [ 1.0000060] rkreg1 at rkpmic0: vdd_arm > [ 1.0000060] rkreg2 at rkpmic0: vcc_ddr > [ 1.0000060] rkreg3 at rkpmic0: vcc_io > [ 1.0000060] rkreg4 at rkpmic0: vdd_18 > [ 1.0000060] rkreg5 at rkpmic0: vcc_18emmc > [ 1.0000060] rkreg6 at rkpmic0: vdd_10 > [ 1.0000060] fregulator0 at simplebus0: vcc_sys > [ 1.0000060] fregulator1 at simplebus0: vcc_sd > [ 1.0000060] com0 at simplebus0: ns16550a, working fifo > [ 1.0000060] com0: console > [ 1.0000060] com0: interrupting on GIC irq 89 > [ 1.0000060] fregulator2 at simplebus0: vcc_host_5v > [ 1.0000060] fregulator3 at simplebus0: vcc_host1_5v > [ 1.0000060] rkdrm0 at simplebus0 > [ 1.0000060] rkusb0 at syscon1: USB2 PHY > [ 1.0000060] rkusbphy0 at rkusb0: USB2 OTG port > [ 1.0000060] rkusbphy1 at rkusb0: USB2 host port > [ 1.0000060] /opp_table0 at simplebus0 not configured > [ 1.0000060] /vop@ff370000 at simplebus0 not configured > [ 1.0000060] /amba/dmac@ff1f0000 at simplebus1 not configured > [ 1.0000060] /codec@ff410000 at simplebus0 not configured > [ 1.0000060] spdiftx0 at simplebus0: SPDIF transmitter > [ 1.0000060] rktsadc0 at simplebus0: RK3328/3399 Temperature Sensor ADC > [ 1.0000060] rktsadc0: interrupting on GIC irq 90 > [ 1.0000060] /iommu@ff373f00 at simplebus0 not configured > [ 1.0000060] /hdmi@ff3c0000 at simplebus0 not configured > [ 1.0000060] /phy@ff430000 at simplebus0 not configured > [ 1.0000060] /i2s@ff010000 at simplebus0 not configured > [ 1.0000060] /efuse@ff260000 at simplebus0 not configured > [ 1.0000060] /spdif@ff030000 at simplebus0 not configured > [ 1.0000060] /syscon@ff100000/io-domains at syscon0 not configured > [ 1.0000060] /syscon@ff100000/grf-gpio at syscon0 not configured > [ 1.0000060] /syscon@ff100000/power-controller at syscon0 not configured > [ 1.0000060] /spi@ff190000 at simplebus0 not configured > [ 1.0000060] /watchdog@ff1a0000 at simplebus0 not configured > [ 1.0000060] /gpu@ff300000 at simplebus0 not configured > [ 1.0000060] dwcmmc0 at simplebus0: DesignWare SD/MMC > [ 1.0000060] dwcmmc0: interrupting on GIC irq 44 > [ 1.0000060] dwcmmc1 at simplebus0: DesignWare SD/MMC > [ 1.0000060] dwcmmc1: interrupting on GIC irq 46 > [ 1.0000060] awge0 at simplebus0: GMAC > [ 1.0000060] awge0: Core version: 00001035 > [ 1.0000060] awge0: Ethernet address 2a:35:9f:29:d4:45 > [ 1.0000060] awge0: HW feature mask: d0f17 > [ 1.0000060] rgephy0 at awge0 phy 0: RTL8211F 1000BASE-T media interface > [ 1.0000060] rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, > 1000baseT-FDX, auto > [ 1.0000060] rgephy1 at awge0 phy 1: RTL8211F 1000BASE-T media interface > [ 1.0000060] rgephy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, > 1000baseT-FDX, auto > [ 1.0000060] awge0: interrupting on GIC irq 56 > [ 1.0000060] dwctwo0 at simplebus0: DesignWare USB2 OTG > [ 1.0000060] dwctwo0: interrupting on GIC irq 55 > [ 1.0000060] ehci0 at simplebus0: EHCI > [ 1.0000060] ehci0: interrupting on GIC irq 48 > [ 1.0000060] ehci0: 1 companion controller, 1 port > [ 1.0000060] usb0 at ehci0: USB revision 2.0 > [ 1.0000060] ohci0 at simplebus0: OHCI > [ 1.0000060] ohci0: interrupting on GIC irq 49 > [ 1.0000060] ohci0: OHCI version 1.0 > [ 1.0000060] usb1 at ohci0: USB revision 1.0 > [ 1.0000060] xhci0 at simplebus0: DesignWare USB3 XHCI (rev. 3.00a) > [ 1.0000060] xhci0: interrupting on GIC irq 99 > [ 1.0000060] usb2 at xhci0: USB revision 3.0 > [ 1.0000060] usb3 at xhci0: USB revision 2.0 > [ 1.0000060] armpmu0 at simplebus0: Performance Monitor Unit > [ 1.0000060] psci0 at simplebus0: PSCI 1.0 > [ 1.0000060] /sound at simplebus0 not configured > [ 1.0000060] /syscon@ff100000/reboot-mode at syscon0 not configured > [ 1.0000060] rkdrm0: no display interface ports configured > [ 1.0000060] rkdrm0: couldn't register DRM device: -6 > [ 1.0000060] cpu1: IC enabled, DC enabled, EL0/EL1 stack Alignment check > enabled > [ 1.0000060] cpu1: Cache Writeback Granule 16B, Exclusives Reservation > Granule 16B > [ 1.0000060] cpu1: Dcache line 64, Icache line 64 > [ 1.0000060] cpu1: L1 32KB/64B 2-way read-allocate VIPT Instruction cache > [ 1.0000060] cpu1: L1 32KB/64B 4-way write-back read-allocate > write-allocate PIPT Da > [ 1.0000060] cpu1: L2 256KB/64B 16-way write-back read-allocate > write-allocate PIPT Unified cache > [ 1.0000060] cpu1: revID=0x180, PMCv3, 4k table, 64k table, 16bit ASID > [ 1.0000060] cpu1: auxID=0x11120, FP, CRC32, SHA1, SHA256, AES+PMULL, NEON, > raN propagation, denormals, > 32x64bitRegs, Fused Multiply-Add > [ 1.0000060] cpu2: IC enabled, DC enabled, EL0/EL1 stack Alignment check > enabled > [ 1.0000060] cpu2: Cache Writeback Granule 16B, Exclusives Reservation > Granule 16B > [ 1.0000060] cpu2: Dcac Icache line 64 > [ 1.0000060] cpu2: L1 32KB/64B 2-way read-allocate VIPT Instruction cache > [ 1.0000060] cpu2: L1 32KB/64B 4-way write-back read-allocate > write-allocate PIPT Data cache > [ 1.0000060] cpu2: L2 256KB/64B 16-way write-back read-allocate allocate > PIPT Unified cache > [ 1.0000060] cpu2: revID=0x180, PMCv3, 4k table, 64k table, 16bit ASID > [ 1.0000060] cpu2: auxID=0x11120, FP, CRC32, SHA1, SHA256, AES+PMULL, NEON, > rounding, NaN propagation, denormals, > 32x64bitRegs, Fused Multiply-Add > [ 1.6856784] cpu3: IC enabled, DC enabled, EL0/EL1 stack Alignment check > enabled > [ 1.6856784] cpu3: Cache Writeback Granule 16B, Exclusives Reservation > Granule 16B > [ 1.6856784] cpu3: Dcache line 64, Icache line 64 > [ 1.6856784] cpu3: L1 32KB/64B 2-way read-allocate VIPT Instruction cache > [ 1.6856784] cpu3: L1 32KB/64B 4-way write-back read-allocate > write-allocate PIPT Data cache > [ 1.6856784] cpu3: L2 256KB/64B 16-way write-back read-allocate > write-allocate PIPT Unified cache > [ 1.6856784] cpu3: revID=0x180, PMCv3, 4k table, 64k table, 16bit ASID > [ 1.6856784] cpu3: auxID=0x11120, FP, CRC32, SHA1, SHA256, AES+PMULL, NEON, > rounding, NaN propagation, denormals, > 32x64bitRegs, Fused Multiply-Add > [ 1.6956732] sdmmc0 at dwcmmc0 > [ 1.6956732] sdmmc1 at dwcmmc1 > [ 1.6956732] uhub0 at usb2: NetBSD (0000) xHCI root hub (0000), class 9/0, > rev 3.00/1.00, addr 0 > [ 1.8056753] uhub1 at usb3: NetBSD (0000) xHCI root hub (0000), class 9/0, > rev 2.00/1.00, addr 0 > [ 1.9056785] uhub2 at usb1: NetBSD (0000) OHCI root hub (0000), class 9/0, > rev 1.00/1.00, addr 1 > [ 1.9056785] uhub3 at usb0: NetBSD (0000) EHCI root hub (0000), class 9/0, > rev 2.00/1.00, addr 1 > [ 1.9156803] armpmu0: interrupting on GIC irq 132 > [ 1.9156803] armpmu0: interrupting on GIC irq 133 > [ 1.9156803] armpmu0: interrupting on GIC irq 134 > [ 1.9256795] armpmu0: interrupting on GIC irq 135 > [ 1.9256795] usb4 at dwctwo0: USB revision 2.0 > [ 1.9356813] sdmmc1: sdmmc_mem_enable failed with error 60 > [ 1.9456802] sdmmc1: couldn't enable card: 60 > [ 1.9456802] uhub4 at usb4: NetBSD (0000) DWC2 root hub (0000), class 9/0, > rev 2.00/1.00, addr 1 > [ 1.9456802] sdmmc0: SD card status: 4-bit, C10, U1 > [ 1.9456802] ld0 at sdmmc0: <0x1b:0x534d:EB1QT:0x30:0x480353fe:0x141> > [ 1.9556824] ld0: 30528 MB, 7753 cyl, 128 head, 63 sec, 512 bytes/sect x > 62521344 sectors > [ 1.9556824] ld0: 4-bit width, High-Speed/SDR25, 50.000 MHz > [ 2.6656965] WARNING: 3 errors while detecting hardware; check system log. > [ 2.6656965] boot device: ld0 > [ 2.6656965] root on ld0a dumps on ld0b > [ 2.6756992] root file system type: ffs > [ 2.6756992] kern.module.path=/stand/evbarm/9.0/modules > [ 2.6756992] WARNING: no TOD clock present > [ 2.6756992] WARNING: using filesystem time > [ 2.6807132] WARNING: CHECK AND RESET THE DATE! >
Index: Makefile =================================================================== RCS file: /cvs/ports/sysutils/u-boot/Makefile,v retrieving revision 1.64 diff -u -p -u -r1.64 Makefile --- Makefile 17 Jan 2020 14:24:42 -0000 1.64 +++ Makefile 3 Feb 2020 18:57:03 -0000 @@ -7,7 +7,7 @@ FLAVOR?= arm COMMENT= U-Boot firmware VERSION= 2020.01 -REVISION= 1 +REVISION= 2 DISTNAME= u-boot-${VERSION} PKGNAME= u-boot-${FLAVOR}-${VERSION:S/-//} FULLPKGNAME= ${PKGNAME} Index: patches/patch-arch_arm_dts_rk3328-sdram-lpddr3-666_dtsi =================================================================== RCS file: patches/patch-arch_arm_dts_rk3328-sdram-lpddr3-666_dtsi diff -N patches/patch-arch_arm_dts_rk3328-sdram-lpddr3-666_dtsi --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-arch_arm_dts_rk3328-sdram-lpddr3-666_dtsi 3 Feb 2020 18:57:03 -0000 @@ -0,0 +1,44 @@ +$OpenBSD$ + +Upstream for rk3328 TPL "col error": +https://github.com/u-boot/u-boot/commit/4082a6814235d81a21a1bfe9bfa8ca99c69d8fa8 + +Index: arch/arm/dts/rk3328-sdram-lpddr3-666.dtsi +--- arch/arm/dts/rk3328-sdram-lpddr3-666.dtsi.orig ++++ arch/arm/dts/rk3328-sdram-lpddr3-666.dtsi +@@ -18,7 +18,7 @@ + 0x10 + 0 + +- 0x0c48a18a ++ 0x8c48a18a + 0x00000000 + 0x00000021 + 0x00000482 +@@ -33,7 +33,7 @@ + 0 + + 0x00000000 +- 0xc3040008 ++ 0x43041008 + 0x00000064 + 0x00140023 + 0x000000d0 +@@ -48,6 +48,8 @@ + 0x00010000 + 0x000000e4 + 0x00070003 ++ 0x000000f4 ++ 0x000f011f + 0x00000100 + 0x06090b07 + 0x00000104 +@@ -84,8 +86,6 @@ + 0x00000f00 + 0x00000490 + 0x00000001 +- 0xffffffff +- 0xffffffff + 0xffffffff + 0xffffffff + 0xffffffff