
On Fri, Aug 2, 2019 at 3:40 PM Matwey V. Kornilov matwey.kornilov@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@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@ff500000: 1, rksdmmc@ff520000: 0 Loading Environment from MMC... *** Warning - bad CRC, using default environment
In: serial@ff130000 Out: serial@ff130000 Err: serial@ff130000 Model: Pine64 Rock64 Net: Warning: ethernet@ff540000 (eth0) using random MAC address - 7e:ba:fc:e6:98:1f eth0: ethernet@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