[U-Boot] [PATCH v2 0/7] Add TPL support for Pine64 Rock64 board.

Chen-Yu Tsai wens at kernel.org
Fri Aug 2 10:41:17 UTC 2019


On Fri, Aug 2, 2019 at 3:40 PM Matwey V. Kornilov
<matwey.kornilov at gmail.com> wrote:
>
> This series adds initial TPL support for Pine64 Rock64 board.
>
> The ROCK64 is a credit card size SBC based on Rockchip RK3328 Quad-Core ARM Cortex A53.
>
> The series has been tested with ATF v2.1.
>
> Some patches in the series are taken from https://github.com/rockchip-linux/u-boot
> Credits are given in each patch separately.
>
> Changes since v1:
>  - Added commit message in patch 6
>  - Split config to rk3328/Kconfig in patch 4
>  - Introduced rk3328-evb-u-boot.dtsi to collect u-boot specific dts configs
>
> Kever Yang (4):
>   rockchip: ram: add full feature rk3328 DRAM driver
>   rockchip: dts: rk3328: update dmc node for driver
>   rockchip: Kconfig: enable TPL support for rk3328
>   rockchip: evb-rk3328: enable defconfig options for TPL/SPL
>
> Matwey V. Kornilov (3):
>   rockchip: dts: rk3328: Add rk3328-evb-u-boot.dtsi
>   configs: rk3328: enable TPL for rock64-rk3328_defconfig
>   doc: rockchip: Adapt Pine64 Rock64 board instructions
>
>  arch/arm/dts/rk3328-evb-u-boot.dtsi               |   33 +
>  arch/arm/dts/rk3328-rock64-u-boot.dtsi            |    2 +
>  arch/arm/dts/rk3328-sdram-ddr3-666.dtsi           |  215 +++++
>  arch/arm/dts/rk3328-sdram-lpddr3-1600.dtsi        |  215 +++++
>  arch/arm/dts/rk3328-sdram-lpddr3-666.dtsi         |  215 +++++
>  arch/arm/dts/rk3328.dtsi                          |   11 +-
>  arch/arm/include/asm/arch-rockchip/sdram_rk3328.h |  441 +++++++++
>  arch/arm/mach-rockchip/Kconfig                    |    5 +
>  arch/arm/mach-rockchip/rk3328/Kconfig             |   12 +
>  configs/evb-rk3328_defconfig                      |   37 +-
>  configs/rock64-rk3328_defconfig                   |   14 +
>  doc/README.rockchip                               |   10 +-
>  drivers/ram/rockchip/sdram_rk3328.c               | 1018 ++++++++++++++++++++-
>  13 files changed, 2212 insertions(+), 16 deletions(-)
>  create mode 100644 arch/arm/dts/rk3328-evb-u-boot.dtsi
>  create mode 100644 arch/arm/dts/rk3328-sdram-ddr3-666.dtsi
>  create mode 100644 arch/arm/dts/rk3328-sdram-lpddr3-1600.dtsi
>  create mode 100644 arch/arm/dts/rk3328-sdram-lpddr3-666.dtsi
>  create mode 100644 arch/arm/include/asm/arch-rockchip/sdram_rk3328.h

Tested-by: Chen-Yu Tsai <wens at csie.org>

It correctly boots up to a U-boot prompt on my Rock64. However it
fails to read data correctly from the SD card afterwards:

U-Boot TPL 2019.10-rc1-00072-gaf0ea60e1a42 (Aug 02 2019 - 18:10:38)
LPDDR3
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2019.10-rc1-00072-gaf0ea60e1a42 (Aug 02 2019 - 18:10:38 +0800)
Trying to boot from MMC2
Card did not respond to voltage select!
spl: mmc init failed with error: -95
Trying to boot from MMC1
NOTICE:  BL31: v2.1(release):v2.1-531-g3ee48f40f
NOTICE:  BL31: Built : 17:09:50, Aug  2 2019
ERROR:   over or zero region, nr=4187640, max=10
NOTICE:  BL31:Rockchip release version: v1.2


U-Boot 2019.10-rc1-00072-gaf0ea60e1a42 (Aug 02 2019 - 18:11:02 +0800)

Model: Pine64 Rock64
DRAM:  4 GiB
MMC:   rksdmmc at ff500000: 1, rksdmmc at ff520000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial at ff130000
Out:   serial at ff130000
Err:   serial at ff130000
Model: Pine64 Rock64
Net:
Warning: ethernet at ff540000 (eth0) using random MAC address - 7e:ba:fc:e6:98:1f
eth0: ethernet at ff540000
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:1...
Found U-Boot script /boot/boot.scr
588 bytes read in 13 ms (43.9 KiB/s)
## Executing script at 00500000
 ** fs_devread read error - block
** No partition table - mmc 1 **
** No partition table - mmc 1 **
ERROR: Did not find a cmdline Flattened Device Tree
FDT and ATAGS support not compiled in - hanging
### ERROR ### Please RESET the board ###


boot script contents:

setenv bootargs console=ttyS2,1500000n8 earlycon=uart,mmio32,ff130000
loglevel=8 root=/dev/mmcblk0p1 rootwait kpti=off panic=10 debug

load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${prefix}Image
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${fdtfile}

if load ${devtype} ${devnum}:${distro_bootpart} ${ramdisk_addr_r}
${prefix}rock64-audio-dac.dtbo; then
    fdt addr ${fdt_addr_r}
    fdt resize 2048
    fdt apply ${ramdisk_addr_r}
fi

booti ${kernel_addr_r} - ${fdt_addr_r}

=============

If I manually load the kernel Image, that also fails.
If I manually load the fdt file, it completes, but the data is
complete gibberish.
ls works fine though.

And removing the fifo-mode flag from
arch/arm/dts/rk3328-rock64-u-boot.dtsi makes it
not boot at all.

Previously I was using an old build from Armbian, and that worked fine.

ChenYu


More information about the U-Boot mailing list