diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 20dbc2ff..e6aa0b07 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -75,7 +75,8 @@ dtb-$(CONFIG_ROCKCHIP_RK3188) += \ rk3188-radxarock.dtb dtb-$(CONFIG_ROCKCHIP_RK322X) += \ - rk3229-evb.dtb + rk3229-evb.dtb \ + rk322x-box.dtb dtb-$(CONFIG_ROCKCHIP_RK3288) += \ rk3288-evb.dtb \ diff --git a/arch/arm/mach-rockchip/rk322x/Kconfig b/arch/arm/mach-rockchip/rk322x/Kconfig index 8a1f95f7..249add9b 100644 --- a/arch/arm/mach-rockchip/rk322x/Kconfig +++ b/arch/arm/mach-rockchip/rk322x/Kconfig @@ -4,6 +4,10 @@ config TARGET_EVB_RK3229 bool "EVB_RK3229" select BOARD_LATE_INIT +config TARGET_RK322X_BOX + bool "RK322X-BOX" + select BOARD_LATE_INIT + config SYS_SOC default "rk322x" @@ -14,5 +18,6 @@ config SPL_SERIAL_SUPPORT default y source "board/rockchip/evb_rk3229/Kconfig" +source "board/rockchip/rk322x-box/Kconfig" endif diff --git a/board/rockchip/rk322x-box/Kconfig b/board/rockchip/rk322x-box/Kconfig new file mode 100644 index 00000000..9ec0227e --- /dev/null +++ b/board/rockchip/rk322x-box/Kconfig @@ -0,0 +1,15 @@ +if TARGET_RK322X_BOX + +config SYS_BOARD + default "rk322x-box" + +config SYS_VENDOR + default "rockchip" + +config SYS_CONFIG_NAME + default "rk322x-box" + +config BOARD_SPECIFIC_OPTIONS # dummy + def_bool y + +endif diff --git a/board/rockchip/rk322x-box/MAINTAINERS b/board/rockchip/rk322x-box/MAINTAINERS new file mode 100644 index 00000000..dddc7865 --- /dev/null +++ b/board/rockchip/rk322x-box/MAINTAINERS @@ -0,0 +1,6 @@ +XT-MX4VR-V10 +M: Paolo Sabatino +S: Out of tree +F: board/rockchip/rk322x-box +F: include/configs/rk322x-box.h +F: configs/rk322x-box_defconfig diff --git a/board/rockchip/rk322x-box/Makefile b/board/rockchip/rk322x-box/Makefile new file mode 100644 index 00000000..965ff42c --- /dev/null +++ b/board/rockchip/rk322x-box/Makefile @@ -0,0 +1,7 @@ +# +# (C) Copyright 2015 Google, Inc +# +# SPDX-License-Identifier: GPL-2.0+ +# + +obj-y += rk322x-box.o diff --git a/board/rockchip/rk322x-box/README b/board/rockchip/rk322x-box/README new file mode 100644 index 00000000..9c047470 --- /dev/null +++ b/board/rockchip/rk322x-box/README @@ -0,0 +1,72 @@ +Get the Source and prebuild binary +================================== + + > mkdir ~/rk322x-box + > cd ~/rk322x-box + > git clone git://git.denx.de/u-boot.git + > git clone https://github.com/OP-TEE/optee_os.git + > git clone https://github.com/rockchip-linux/rkbin.git + > git clone https://github.com/rockchip-linux/rkdeveloptool.git + +Compile the OP-TEE +=============== + + > cd optee_os + > make clean + > make CROSS_COMPILE_ta_arm32=arm-none-eabi- PLATFORM=rockchip-rk322x + Get tee.bin in this step, copy it to U-Boot root dir: + > cp out/arm-plat-rockchip/core/tee-pager.bin ../u-boot/tee.bin + +Compile the U-Boot +================== + + > cd ../u-boot + > export CROSS_COMPILE=arm-linux-gnueabihf- + > export ARCH=arm + > make rk322x-box_defconfig + > make + > make u-boot.itb + + Get tpl/u-boot-tpl.bin, spl/u-boot-spl.bin and u-boot.itb in this step. + +Compile the rkdeveloptool +======================= + Follow instructions in latest README + > cd ../rkflashtool + > autoreconf -i + > ./configure + > make + > sudo make install + + Get rkdeveloptool in you Host in this step. + +Both origin binaries and Tool are ready now, choose either option 1 or +option 2 to deploy U-Boot. + +Package the image +================= + + > cd ../u-boot + > tools/mkimage -n rk322x -T rksd -d tpl/u-boot-spl.bin idbloader.img + > cat spl/u-boot-spl.bin >> idbloader.img + + Get idbloader.img in this step. + +Flash the image to eMMC +======================= +Power on(or reset with RESET KEY) with MASKROM KEY preesed, and then: + > cd .. + > rkdeveloptool db rkbin/rk32/rk322x_loader_v1.04.232.bin + > rkdeveloptool wl 64 u-boot/idbloader.img + > rkdeveloptool wl 0x4000 u-boot/u-boot.itb + > rkdeveloptool rd + +Flash the image to SD card +========================== + > dd if=u-boot/idbloader.img of=/dev/sdb seek=64 + > dd if=u-boot/u-boot.itb of=/dev/sdb seek=16384 + +You should be able to get U-Boot log message with OP-TEE boot info. + +For more detail, please reference to: +http://opensource.rock-chips.com/wiki_Boot_option diff --git a/include/configs/rk322x-box.h b/include/configs/rk322x-box.h new file mode 100644 index 00000000..a909aa19 --- /dev/null +++ b/include/configs/rk322x-box.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * (C) Copyright 2017 Rockchip Electronics Co., Ltd + */ + +#ifndef __CONFIG_H +#define __CONFIG_H + +#define ROCKCHIP_DEVICE_SETTINGS \ + "stdin=serial,usbkbd\0" \ + "stdout=serial,vidconsole\0" \ + "stderr=serial,vidconsole\0" \ + "fdt_high=0xffffffff\0" \ + "initrd_high=0xffffffff\0" + +#include + +#undef BOOT_TARGET_DEVICES + +#define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 1) \ + func(USB, usb, 0) \ + func(MMC, mmc, 0) \ + func(PXE, pxe, na) \ + func(DHCP, dchp, na) + +#define CONFIG_SYS_MMC_ENV_DEV 0 + +#endif diff --git a/board/rockchip/rk322x-box/rk322x-box.c b/board/rockchip/rk322x-box/rk322x-box.c new file mode 100644 index 00000000..ff7d8c98 --- /dev/null +++ b/board/rockchip/rk322x-box/rk322x-box.c @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2017 Rockchip Electronics Co., Ltd + */ + +#include +#include +#include +#include +#include + +int board_early_init_r(void) { + + /* LED setup */ + if (IS_ENABLED(CONFIG_LED)) + led_default_state(); + + return 0; + +} +