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

Matwey V. Kornilov matwey.kornilov at gmail.com
Fri Aug 2 10:55:35 UTC 2019


пт, 2 авг. 2019 г. в 13:41, Chen-Yu Tsai <wens at kernel.org>:
>
> 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.

Hi,

Thank you for testing! I've tested only EFI payload execution, running
GRUB works fine for me (and it also boots Linux afterwards).
If you could share your OS Image or tell how could I reproduce it, I
would dig a little into this issue.

My output:

Model: Pine64 Rock64
DRAM:  2 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 - 02:14:70:31:8b:96
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:2...
52739 bytes read in 39 ms (1.3 MiB/s)
** Unrecognized filesystem type **
Scanning mmc 1:1...
Found EFI removable media binary efi/boot/bootaa64.efi
Scanning disk rksdmmc at ff500000.blk...
Card did not respond to voltage select!
Scanning disk rksdmmc at ff520000.blk...
Disk rksdmmc at ff520000.blk not ready
Found 5 disks
BootOrder not defined
EFI boot manager: Cannot load any image
1259360 bytes read in 440 ms (2.7 MiB/s)
Welcome to GRUB!



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

It is expected behavior. fifo-mode is required until another
patch-set: https://patchwork.ozlabs.org/patch/1138256/

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



-- 
With best regards,
Matwey V. Kornilov


More information about the U-Boot mailing list