RK3399 is a new generation powerful SoC from Rockchip, which has Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU.
Signed-off-by: Jacob Chen <jacob-c...@iotwrt.com> Signed-off-by: ayaka <ay...@soulik.info> --- conf/machine/excavator-rk3399.conf | 10 ++++++ conf/machine/include/rk3399.inc | 18 +++++++++++ conf/machine/include/tune-cortexa53.inc | 57 +++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 conf/machine/excavator-rk3399.conf create mode 100644 conf/machine/include/rk3399.inc create mode 100644 conf/machine/include/tune-cortexa53.inc diff --git a/conf/machine/excavator-rk3399.conf b/conf/machine/excavator-rk3399.conf new file mode 100644 index 0000000..c7134d2 --- /dev/null +++ b/conf/machine/excavator-rk3399.conf @@ -0,0 +1,10 @@ +# Copyright (C) 2017 Fuzhou Rockchip Electronics Co., Ltd +# Released under the MIT license (see COPYING.MIT for the terms) + +#@TYPE: Machine +#@NAME: EXCAVATOR 3399 + +include conf/machine/include/rk3399.inc + +KERNEL_DEVICETREE = "rk3399-sapphire-excavator-linux.dtb" +UBOOT_MACHINE = "evb-rk3399_defconfig" diff --git a/conf/machine/include/rk3399.inc b/conf/machine/include/rk3399.inc new file mode 100644 index 0000000..29cdfc4 --- /dev/null +++ b/conf/machine/include/rk3399.inc @@ -0,0 +1,18 @@ +# Copyright (C) 2017 Jacob Chen +# Released under the MIT license (see COPYING.MIT for the terms) + +SOC_FAMILY = "rk3399" + +require conf/machine/include/tune-cortexa53.inc +require conf/machine/include/soc-family.inc + +PREFERRED_PROVIDER_virtual/kernel = "linux" +SERIAL_CONSOLES = "1500000;ttyS2" +KERNEL_IMAGETYPE = "Image" +KBUILD_DEFCONFIG = "multi_v8_defconfig" + +PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-rockchip" +SPL_BINARY ?= "u-boot-spl-nodtb.bin" + +IMAGE_FSTYPES = "ext4 rockchip-gpt-img" +IMAGE_CLASSES += "rockchip-gpt-img" diff --git a/conf/machine/include/tune-cortexa53.inc b/conf/machine/include/tune-cortexa53.inc new file mode 100644 index 0000000..8b8d943 --- /dev/null +++ b/conf/machine/include/tune-cortexa53.inc @@ -0,0 +1,57 @@ +DEFAULTTUNE ?= "cortexa53-32" + +require conf/machine/include/arm/arch-armv8.inc + +TUNEVALID[cortexa53] = "Enable Cortex-A53 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa53', ' -mcpu=cortex-a53 ', '',d)}" + +TUNEVALID[armv8] = "Enable instructions for ARMv8" +TUNECONFLICTS[armv8] = "armv4 armv5 armv6 armv7 armv7a armv7ve" + +TUNE_CCARGS .= \ +"-mtune=cortex-a57.cortex-a53" + +TUNE_CCARGS_MFPU .= \ +"${@' crypto-neon-fp-armv8' if bb.utils.contains('TUNE_FEATURES', [ 'armv8', 'neon', 'cryptov8' ], True, False, d) else \ +' neon-fp-armv8' if bb.utils.contains('TUNE_FEATURES', [ 'armv8', 'neon' ], True, False, d) else \ +bb.utils.contains('TUNE_FEATURES', [ 'armv8' ], ' fp-armv8', '', d)}" + +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8', 'armv8:', '' ,d)}" + +AVAILTUNES += "armv8" +TUNE_FEATURES_tune-armv8 = "armv8" +PACKAGE_EXTRA_ARCHS_tune-armv8 = "armv8" + +AVAILTUNES += "armv8-neon" +TUNE_FEATURES_tune-armv8-neon = "${TUNE_FEATURES_tune-armv8} neon" +PACKAGE_EXTRA_ARCHS_tune-armv8-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8} armv8-neon" + +AVAILTUNES += "armv8hf" +TUNE_FEATURES_tune-armv8hf = "${TUNE_FEATURES_tune-armv8} callconvention-hard" +PACKAGE_EXTRA_ARCHS_tune-armv8hf = "armv8hf" + +AVAILTUNES += "armv8hf-neon" +TUNE_FEATURES_tune-armv8hf-neon = "${TUNE_FEATURES_tune-armv8hf} neon" +PACKAGE_EXTRA_ARCHS_tune-armv8hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv8hf} armv8hf-neon" + +# Extra tune selections +AVAILTUNES += "cortexa53-32" +ARMPKGARCH_tune-cortexa53-32 ?= "cortexa53" +TUNE_FEATURES_tune-cortexa53-32 = "${TUNE_FEATURES_tune-armv8-neon} cortexa53" +BASE_LIB_tune-cortexa53-32 = "lib" +TUNE_PKGARCH_tune-cortexa53-32 = "cortexa53-32" +PACKAGE_EXTRA_ARCHS_tune-cortexa53-32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-neon} cortexa53-32 cortexa53-neon-fp-armv8" + +AVAILTUNES += "cortexa53hf-32" +ARMPKGARCH_tune-cortexa53hf-32 ?= "cortexa53" +TUNE_FEATURES_tune-cortexa53hf-32 = "${TUNE_FEATURES_tune-armv8hf-neon} cortexa53" +BASE_LIB_tune-cortexa53hf-32 = "lib" +TUNE_PKGARCH_tune-cortexa53hf-32 = "cortexa53hf-32" +PACKAGE_EXTRA_ARCHS_tune-cortexa53hf-32 = "${PACKAGE_EXTRA_ARCHS_tune-armv8hf-neon} cortexa53hf-32 cortexa53hf-neon-fp-armv8" + +AVAILTUNES += "cortexa53-64" +ARMPKGARCH_tune-cortexa53-64 ?= "cortexa53" +TUNE_FEATURES_tune-cortexa53-64 = "${TUNE_FEATURES_tune-aarch64} cortexa53" +BASE_LIB_tune-cortexa53-64 = "lib64" +TUNE_PKGARCH_tune-cortexa53-64 = "cortexa53-64" +PACKAGE_EXTRA_ARCHS_tune-cortexa53-64 = "${PACKAGE_EXTRA_ARCHS_tune-aarch64} cortexa53-64" -- 2.7.4 -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto