diff options
author | Christoph Muellner <christoph.muellner@theobroma-systems.com> | 2019-08-14 11:47:33 +0200 |
---|---|---|
committer | Christoph Muellner <christoph.muellner@theobroma-systems.com> | 2019-08-23 11:25:44 +0200 |
commit | 514d8164a0ae5fdb5e05b5590e48e2c4eedbfbc2 (patch) | |
tree | 30778e9c6c4e912756758cc98be4ea8fb3a5d752 | |
parent | 95f85d17dc0f107add974ac0df30354347074046 (diff) |
Add support for the RK3399-Q7 SoM (Puma).2019.05.1-puma
This patch adds support for the RK3399-Q7 SoM (Puma) from
Theobroma Systems.
Signed-off-by: Christoph Muellner <christoph.muellner@theobroma-systems.com>
-rw-r--r-- | board/theobroma-systems/puma/boot.cmd | 68 | ||||
-rw-r--r-- | board/theobroma-systems/puma/defaultEnv.txt | 6 | ||||
-rw-r--r-- | board/theobroma-systems/puma/genimage.cfg | 22 | ||||
-rwxr-xr-x | board/theobroma-systems/puma/post-build.sh | 12 | ||||
-rw-r--r-- | board/theobroma-systems/puma/userEnv.txt | 0 | ||||
-rw-r--r-- | configs/puma-rk3399_defconfig | 126 |
6 files changed, 234 insertions, 0 deletions
diff --git a/board/theobroma-systems/puma/boot.cmd b/board/theobroma-systems/puma/boot.cmd new file mode 100644 index 0000000000..328b2a3906 --- /dev/null +++ b/board/theobroma-systems/puma/boot.cmd @@ -0,0 +1,68 @@ +# mkimage -C none -A arm -T script -d boot.cmd boot.scr + +# fallback default values +load_addr=0x01000000 +fdtfile=dtb +kernelfile=Image +initrdfile=uInitrd +rootdevice=/dev/mmcblk0p1 +rootdevice_flags=rw +loglevel=7 + +echo "Boot script running from ${devtype} ${devnum}" + +if test ${board_name} = "puma_rk3399"; then + if test ${devtype} = "mmc" && test ${devnum} -eq 0;then + rootdevice=/dev/mmcblk1p1 + elif test ${devtype} = "mmc" && test ${devnum} -eq 1;then + rootdevice=/dev/mmcblk0p1 + fi +fi + +if load ${devtype} ${devnum} ${fdt_addr_r} /boot/${board_name}/defaultEnv.txt; then + setenv load_path "/boot/${board_name}" + echo "Import default environment from /boot/${board_name}/defaultEnv.txt" + env import -t ${fdt_addr_r} ${filesize} +else + if load ${devtype} ${devnum} ${fdt_addr_r} /boot/defaultEnv.txt; then + setenv load_path "/boot" + echo "Import default environment from /boot/defaultEnv.txt" + env import -t ${fdt_addr_r} ${filesize} + fi +fi + +if load ${devtype} ${devnum} ${load_addr} ${load_path}/userEnv.txt; then + echo "Import default environment from ${load_path}/userEnv.txt" + env import -t ${load_addr} ${filesize} +fi + +if test -n ${userscript}; then + if load ${devtype} ${devnum} ${load_addr} ${load_path}/${userscript}; then + echo "Running userscript from ${load_path}/${userscript}" + source ${load_addr} + fi +fi + +setenv bootargs "root=${rootdevice} ${rootdevice_flags} rootwait ${console} consoleblank=0 loglevel=${loglevel} ${extraargs}" + +if load ${devtype} ${devnum} ${fdt_addr_r} ${load_path}/${fdtfile}; then + echo "Load devicetree from ${load_path}/${fdtfile}" +fi +fdt addr ${fdt_addr_r} +fdt resize + +for overlay_file in ${overlays}; do + if load ${devtype} ${devnum} ${load_addr} ${load_path}/overlays/${overlay_file}; then + echo "Apply devicetree overlay ${load_path}/overlays/${overlay_file}" + fdt apply ${load_addr} + fi +done + +load ${devtype} ${devnum} ${kernel_addr_r} ${load_path}/${kernelfile} + +if load ${devtype} ${devnum} ${load_addr} ${load_path}/${initrdfile}; then + booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} +else + echo "Start Kernel without initrd" + booti ${kernel_addr_r} - ${fdt_addr_r} +fi diff --git a/board/theobroma-systems/puma/defaultEnv.txt b/board/theobroma-systems/puma/defaultEnv.txt new file mode 100644 index 0000000000..436e6b44cd --- /dev/null +++ b/board/theobroma-systems/puma/defaultEnv.txt @@ -0,0 +1,6 @@ +load_addr=0x01000000 +kernelfile=Image +fdtfile=rk3399-puma.dtb +overlays= +rootdevice_flags=rw +loglevel=7 diff --git a/board/theobroma-systems/puma/genimage.cfg b/board/theobroma-systems/puma/genimage.cfg new file mode 100644 index 0000000000..233bc4e2d2 --- /dev/null +++ b/board/theobroma-systems/puma/genimage.cfg @@ -0,0 +1,22 @@ +image sdcard.img { + hdimage { + } + + partition spl { + in-partition-table = "no" + image = "spl_sd.img" + offset = 32K + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot.itb" + offset = 256K + } + + partition rootfs { + partition-type = 0x83 + offset = 2M + image = "rootfs.ext4" + } +} diff --git a/board/theobroma-systems/puma/post-build.sh b/board/theobroma-systems/puma/post-build.sh new file mode 100755 index 0000000000..93fd341fc2 --- /dev/null +++ b/board/theobroma-systems/puma/post-build.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +set -x + +MKIMAGE=$HOST_DIR/bin/mkimage +BOARD_DIR="$(dirname $0)" + +install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/boot.scr +install -m 0644 -D $BOARD_DIR/defaultEnv.txt $TARGET_DIR/boot/defaultEnv.txt +install -m 0644 -D $BOARD_DIR/userEnv.txt $TARGET_DIR/boot/userEnv.txt + +$MKIMAGE -n rk3399 -T rksd -d $BINARIES_DIR/u-boot-spl.bin ${BINARIES_DIR}/spl_sd.img diff --git a/board/theobroma-systems/puma/userEnv.txt b/board/theobroma-systems/puma/userEnv.txt new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/board/theobroma-systems/puma/userEnv.txt diff --git a/configs/puma-rk3399_defconfig b/configs/puma-rk3399_defconfig new file mode 100644 index 0000000000..30da717b1d --- /dev/null +++ b/configs/puma-rk3399_defconfig @@ -0,0 +1,126 @@ +BR2_aarch64=y +BR2_cortex_a72_a53=y +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y +BR2_BINUTILS_VERSION_2_32_X=y +BR2_GCC_VERSION_8_X=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +BR2_GCC_ENABLE_LTO=y +BR2_GCC_ENABLE_OPENMP=y +BR2_GCC_ENABLE_GRAPHITE=y +BR2_PACKAGE_HOST_GDB=y +BR2_PACKAGE_HOST_GDB_TUI=y +BR2_PACKAGE_HOST_GDB_PYTHON=y +BR2_PACKAGE_HOST_GDB_SIM=y +BR2_GDB_VERSION_8_2=y +BR2_TARGET_GENERIC_HOSTNAME="rk3399-q7" +BR2_TARGET_GENERIC_ROOT_PASSWD="root" +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/theobroma-systems/puma/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh" +BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/theobroma-systems/puma/genimage.cfg" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.theobroma-systems.com/puma-linux.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="puma-release-4.4.167-20190320" +BR2_LINUX_KERNEL_DEFCONFIG="puma-rk3399" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="rockchip/rk3399-puma" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_BZIP2=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_UNRAR=y +BR2_PACKAGE_UNZIP=y +BR2_PACKAGE_XZ=y +BR2_PACKAGE_GDB=y +BR2_PACKAGE_GDB_SERVER=y +BR2_PACKAGE_GDB_DEBUGGER=y +BR2_PACKAGE_GDB_TUI=y +BR2_PACKAGE_IOZONE=y +BR2_PACKAGE_STRACE=y +BR2_PACKAGE_STRESS=y +BR2_PACKAGE_BINUTILS=y +BR2_PACKAGE_BINUTILS_TARGET=y +BR2_PACKAGE_FLEX=y +BR2_PACKAGE_GAWK=y +BR2_PACKAGE_GETTEXT=y +BR2_PACKAGE_GREP=y +BR2_PACKAGE_SED=y +BR2_PACKAGE_TREE=y +BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y +BR2_PACKAGE_E2TOOLS=y +BR2_PACKAGE_DEVMEM2=y +BR2_PACKAGE_DFU_UTIL=y +BR2_PACKAGE_HDPARM=y +BR2_PACKAGE_I2C_TOOLS=y +BR2_PACKAGE_IOSTAT=y +BR2_PACKAGE_NVME=y +BR2_PACKAGE_PARTED=y +BR2_PACKAGE_PICOCOM=y +BR2_PACKAGE_RTC_TOOLS=y +BR2_PACKAGE_SETSERIAL=y +BR2_PACKAGE_SMARTMONTOOLS=y +BR2_PACKAGE_BC=y +BR2_PACKAGE_HAVEGED=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_CLIENT=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_NETCAT=y +BR2_PACKAGE_NET_TOOLS=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_RSYNC=y +BR2_PACKAGE_SOCAT=y +BR2_PACKAGE_SSHPASS=y +BR2_PACKAGE_TCPDUMP=y +BR2_PACKAGE_OPTEE_BENCHMARK=y +BR2_PACKAGE_BASH=y +BR2_PACKAGE_BASH_COMPLETION=y +BR2_PACKAGE_FILE=y +BR2_PACKAGE_TMUX=y +BR2_PACKAGE_WHICH=y +BR2_PACKAGE_COREUTILS=y +BR2_PACKAGE_DEBIANUTILS=y +BR2_PACKAGE_HTOP=y +BR2_PACKAGE_IRQBALANCE=y +BR2_PACKAGE_PROCPS_NG=y +BR2_PACKAGE_PSMISC=y +BR2_PACKAGE_TAR=y +BR2_PACKAGE_UTIL_LINUX_FSCK=y +BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y +BR2_PACKAGE_UTIL_LINUX_KILL=y +BR2_PACKAGE_UTIL_LINUX_SETTERM=y +BR2_PACKAGE_LESS=y +BR2_PACKAGE_MC=y +BR2_PACKAGE_NANO=y +# BR2_PACKAGE_NANO_TINY is not set +BR2_PACKAGE_VIM=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_XZ=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +BR2_TARGET_ROOTFS_EXT2_SIZE="256M" +BR2_TARGET_ROOTFS_TAR_XZ=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://git.theobroma-systems.com/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="puma-release-v1.3" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="rk3399" +BR2_TARGET_RK3399_CORTEXM0_FIRMWARE=y +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://git.theobroma-systems.com/puma-u-boot.git" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="puma-v2019.04" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="puma-rk3399" +BR2_TARGET_UBOOT_NEEDS_DTC=y +BR2_TARGET_UBOOT_NEEDS_PYLIBFDT=y +BR2_TARGET_UBOOT_NEEDS_ATF_BL31=y +# BR2_TARGET_UBOOT_FORMAT_BIN is not set +BR2_TARGET_UBOOT_FORMAT_ITB=y +BR2_TARGET_UBOOT_SPL=y +BR2_TARGET_UBOOT_BOOT_SCRIPT=y +BR2_TARGET_UBOOT_BOOT_SCRIPT_SOURCE="board/theobroma-systems/puma/boot.cmd" +BR2_PACKAGE_HOST_GENIMAGE=y |