219 lines
5.9 KiB
Diff
219 lines
5.9 KiB
Diff
diff --git a/arch/arm/mach-rockchip/rk3328/Kconfig b/arch/arm/mach-rockchip/rk3328/Kconfig
|
|
index d13a1690..f2d8dab4 100644
|
|
--- a/arch/arm/mach-rockchip/rk3328/Kconfig
|
|
+++ b/arch/arm/mach-rockchip/rk3328/Kconfig
|
|
@@ -10,6 +10,13 @@ config TARGET_EVB_RK3328
|
|
with full function and phisical connectors support like
|
|
usb2.0 host ports, LVDS, JTAG, MAC, SDcard, HDMI, USB-2-serial...
|
|
|
|
+config TARGET_BOX_RK3318
|
|
+ bool "Generic RK3318 Box"
|
|
+ help
|
|
+ Generic RK3318/RK3328 Tvbox appliance,
|
|
+ with full function and phisical connectors support like
|
|
+ usb2.0 and usb3.0 ports, MAC, SDcard, HDMI, eMMC, WiFi, ...
|
|
+
|
|
endchoice
|
|
|
|
config ROCKCHIP_BOOT_MODE_REG
|
|
@@ -40,5 +47,6 @@ config TPL_STACK
|
|
default 0xff098000
|
|
|
|
source "board/rockchip/evb_rk3328/Kconfig"
|
|
+source "board/rockchip/rk3318_box/Kconfig"
|
|
|
|
endif
|
|
diff --git a/board/rockchip/rk3318_box/Kconfig b/board/rockchip/rk3318_box/Kconfig
|
|
new file mode 100644
|
|
index 00000000..4b146413
|
|
--- /dev/null
|
|
+++ b/board/rockchip/rk3318_box/Kconfig
|
|
@@ -0,0 +1,15 @@
|
|
+if TARGET_BOX_RK3318
|
|
+
|
|
+config SYS_BOARD
|
|
+ default "rk3318_box"
|
|
+
|
|
+config SYS_VENDOR
|
|
+ default "rockchip"
|
|
+
|
|
+config SYS_CONFIG_NAME
|
|
+ default "rk3318-box"
|
|
+
|
|
+config BOARD_SPECIFIC_OPTIONS # dummy
|
|
+ def_bool y
|
|
+
|
|
+endif
|
|
diff --git a/board/rockchip/rk3318_box/MAINTAINERS b/board/rockchip/rk3318_box/MAINTAINERS
|
|
new file mode 100644
|
|
index 00000000..e7dd59ff
|
|
--- /dev/null
|
|
+++ b/board/rockchip/rk3318_box/MAINTAINERS
|
|
@@ -0,0 +1,26 @@
|
|
+EVB-RK3328
|
|
+M: Kever Yang <kever.yang@rock-chips.com>
|
|
+S: Maintained
|
|
+F: board/rockchip/evb_rk3328
|
|
+F: include/configs/evb_rk3328.h
|
|
+F: configs/evb-rk3328_defconfig
|
|
+
|
|
+ROC-RK3328-CC
|
|
+M: Loic Devulder <ldevulder@suse.com>
|
|
+M: Chen-Yu Tsai <wens@csie.org>
|
|
+S: Maintained
|
|
+F: configs/roc-cc-rk3328_defconfig
|
|
+F: arch/arm/dts/rk3328-roc-cc-u-boot.dtsi
|
|
+
|
|
+ROCK64-RK3328
|
|
+M: Matwey V. Kornilov <matwey.kornilov@gmail.com>
|
|
+S: Maintained
|
|
+F: configs/rock64-rk3328_defconfig
|
|
+F: arch/arm/dts/rk3328-rock64-u-boot.dtsi
|
|
+
|
|
+ROCKPIE-RK3328
|
|
+M: Banglang Huang <banglang.huang@foxmail.com>
|
|
+S: Maintained
|
|
+F: configs/rock-pi-e-rk3328_defconfig
|
|
+F: arch/arm/dts/rk3328-rock-pi-e.dts
|
|
+F: arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi
|
|
diff --git a/board/rockchip/rk3318_box/Makefile b/board/rockchip/rk3318_box/Makefile
|
|
new file mode 100644
|
|
index 00000000..5eba9dfb
|
|
--- /dev/null
|
|
+++ b/board/rockchip/rk3318_box/Makefile
|
|
@@ -0,0 +1,7 @@
|
|
+#
|
|
+# (C) Copyright 2016 Rockchip Electronics Co., Ltd
|
|
+#
|
|
+# SPDX-License-Identifier: GPL-2.0+
|
|
+#
|
|
+
|
|
+obj-y += rk3318-box.o
|
|
diff --git a/board/rockchip/rk3318_box/README b/board/rockchip/rk3318_box/README
|
|
new file mode 100644
|
|
index 00000000..6cbb66a4
|
|
--- /dev/null
|
|
+++ b/board/rockchip/rk3318_box/README
|
|
@@ -0,0 +1,70 @@
|
|
+Introduction
|
|
+============
|
|
+
|
|
+RK3328 key features we might use in U-Boot:
|
|
+* CPU: ARMv8 64bit quad-core Cortex-A53
|
|
+* IRAM: 36KB
|
|
+* DRAM: 4GB-16MB dual-channel
|
|
+* eMMC: support eMMC 5.0/5.1, suport HS400, HS200, DDR50
|
|
+* SD/MMC: support SD 3.0, MMC 4.51
|
|
+* USB: USB2.0 EHCI host port *2
|
|
+* Display: RGB/HDMI/DP/MIPI/EDP
|
|
+
|
|
+evb key features:
|
|
+* regulator: pwm regulator for CPU B/L
|
|
+* PMIC: rk808
|
|
+* debug console: UART2
|
|
+
|
|
+In order to support Arm Trust Firmware(ATF), we need to use the
|
|
+miniloader from rockchip which:
|
|
+* do DRAM init
|
|
+* load and verify ATF image
|
|
+* load and verify U-Boot image
|
|
+
|
|
+Here is the step-by-step to boot to U-Boot on rk3328.
|
|
+
|
|
+Get the Source and prebuild binary
|
|
+==================================
|
|
+
|
|
+ > mkdir ~/evb_rk3328
|
|
+ > cd ~/evb_rk3328
|
|
+ > git clone https://github.com/ARM-software/arm-trusted-firmware.git
|
|
+ > git clone https://github.com/rockchip-linux/rkbin
|
|
+ > git clone https://github.com/rockchip-linux/rkflashtool
|
|
+
|
|
+Compile ATF
|
|
+===============
|
|
+
|
|
+ > cd arm-trusted-firmware
|
|
+ > make realclean
|
|
+ > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3328 bl31
|
|
+
|
|
+Compile U-Boot
|
|
+==================
|
|
+
|
|
+ > cd ../u-boot
|
|
+ > make CROSS_COMPILE=aarch64-linux-gnu- evb-rk3328_defconfig all
|
|
+
|
|
+Compile rkflashtool
|
|
+=======================
|
|
+
|
|
+ > cd ../rkflashtool
|
|
+ > make
|
|
+
|
|
+Package image for miniloader
|
|
+================================
|
|
+ > cd ..
|
|
+ > cp arm-trusted-firmware/build/rk3328/release/bl31.bin rkbin/rk33
|
|
+ > ./rkbin/tools/trust_merger rkbin/tools/RK3328TRUST.ini
|
|
+ > ./rkbin/tools/loaderimage --pack --uboot u-boot/u-boot-dtb.bin uboot.img
|
|
+ > mkdir image
|
|
+ > mv trust.img ./image/
|
|
+ > mv uboot.img ./image/rk3328evb-uboot.bin
|
|
+
|
|
+Flash image
|
|
+===============
|
|
+Power on(or reset with RESET KEY) with MASKROM KEY preesed, and then:
|
|
+
|
|
+ > ./rkflashtool/rkflashloader rk3328evb
|
|
+
|
|
+You should be able to get U-Boot log message in console/UART2 now.
|
|
diff --git a/board/rockchip/rk3318_box/rk3318-box.c b/board/rockchip/rk3318_box/rk3318-box.c
|
|
new file mode 100644
|
|
index 00000000..779bc646
|
|
--- /dev/null
|
|
+++ b/board/rockchip/rk3318_box/rk3318-box.c
|
|
@@ -0,0 +1,5 @@
|
|
+// SPDX-License-Identifier: GPL-2.0+
|
|
+/*
|
|
+ * (C) Copyright 2016 Rockchip Electronics Co., Ltd
|
|
+ */
|
|
+
|
|
diff --git a/include/configs/rk3318-box.h b/include/configs/rk3318-box.h
|
|
new file mode 100644
|
|
index 00000000..6587d30b
|
|
--- /dev/null
|
|
+++ b/include/configs/rk3318-box.h
|
|
@@ -0,0 +1,34 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0+ */
|
|
+/*
|
|
+ * (C) Copyright 2016 Rockchip Electronics Co., Ltd
|
|
+ */
|
|
+
|
|
+#ifndef __RK3318_BOX_H
|
|
+#define __RK3318_BOX_H
|
|
+
|
|
+#include <configs/rk3328_common.h>
|
|
+
|
|
+#undef BOOT_TARGET_DEVICES
|
|
+
|
|
+#define BOOT_TARGET_DEVICES(func) \
|
|
+ func(MMC, mmc, 1) \
|
|
+ func(MMC, mmc, 3) \
|
|
+ func(USB, usb, 0) \
|
|
+ func(MMC, mmc, 0) \
|
|
+ func(PXE, pxe, na) \
|
|
+ func(DHCP, dchp, na)
|
|
+
|
|
+#undef CONFIG_EXTRA_ENV_SETTINGS
|
|
+
|
|
+#define CONFIG_EXTRA_ENV_SETTINGS \
|
|
+ ENV_MEM_LAYOUT_SETTINGS \
|
|
+ "stdin=serial,usbkbd\0" \
|
|
+ "stdout=serial,vidconsole\0" \
|
|
+ "stderr=serial,vidconsole\0" \
|
|
+ "fdt_high=0xffffffffffffffff\0" \
|
|
+ "initrd_high=0xffffffffffffffff\0" \
|
|
+ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
|
|
+ "partitions=" PARTS_DEFAULT \
|
|
+ BOOTENV
|
|
+
|
|
+#endif
|