diff --git a/packages/lang/gcc-arm-arm-none-linux-gnueabihf/package.mk b/packages/lang/gcc-arm-arm-none-linux-gnueabihf/package.mk deleted file mode 100644 index c74467016e..0000000000 --- a/packages/lang/gcc-arm-arm-none-linux-gnueabihf/package.mk +++ /dev/null @@ -1,36 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="gcc-arm-arm-none-linux-gnueabihf" -PKG_VERSION="10.2-2020.11" -PKG_SHA256="102825ae56c9e00142d06f35d2bdd3299edb6060e84a275a25b095e66fd3fc2a" -PKG_LICENSE="GPL" -PKG_SITE="https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a" -PKG_URL="https://developer.arm.com/-/media/Files/downloads/gnu-a/${PKG_VERSION}/binrel/gcc-arm-${PKG_VERSION}-x86_64-arm-none-linux-gnueabihf.tar.xz" -PKG_DEPENDS_HOST="ccache:host" -PKG_LONGDESC="ARM AArch32 GNU Linux Binary Toolchain" -PKG_TOOLCHAIN="manual" - -makeinstall_host() { - mkdir -p ${TOOLCHAIN}/lib/gcc-arm-arm-none-linux-gnueabihf/ - cp -a * ${TOOLCHAIN}/lib/gcc-arm-arm-none-linux-gnueabihf - - # wrap gcc and g++ with ccache like in gcc package.mk - PKG_GCC_PREFIX="${TOOLCHAIN}/lib/gcc-arm-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-" - - cp "${PKG_GCC_PREFIX}gcc" "${PKG_GCC_PREFIX}gcc.real" -cat > "${PKG_GCC_PREFIX}gcc" << EOF -#!/bin/sh -${TOOLCHAIN}/bin/ccache ${PKG_GCC_PREFIX}gcc.real "\$@" -EOF - - chmod +x "${PKG_GCC_PREFIX}gcc" - - cp "${PKG_GCC_PREFIX}g++" "${PKG_GCC_PREFIX}g++.real" -cat > "${PKG_GCC_PREFIX}g++" << EOF -#!/bin/sh -${TOOLCHAIN}/bin/ccache ${PKG_GCC_PREFIX}g++.real "\$@" -EOF - - chmod +x "${PKG_GCC_PREFIX}g++" -} diff --git a/projects/Rockchip/README.md b/projects/Rockchip/README.md index 183eb4f695..b2ba7614cb 100644 --- a/projects/Rockchip/README.md +++ b/projects/Rockchip/README.md @@ -9,16 +9,21 @@ This project is for Rockchip SoC devices * [mqmaker MiQi](devices/RK3288) **RK3328** +* [Beelink A1 TV BOX](devices/RK3328) * [PINE64 ROCK64](devices/RK3328) -* [Popcorn Hour RockBox](devices/RK3328) * [Popcorn Hour Transformer](devices/RK3328) * [Firefly ROC-RK3328-CC](devices/RK3328) **RK3399** * [96rocks ROCK960](devices/RK3399) +* [Hugsun X99 TV BOX](devices/RK3399) * [Khadas Edge](devices/RK3399) +* [FriendlyARM NanoPC-T4](devices/RK3399) +* [FriendlyARM NanoPi M4](devices/RK3399) +* [Orange Pi RK3399](devices/RK3399) * [PINE64 RockPro64](devices/RK3399) * [Radxa ROCK Pi 4](devices/RK3399) +* [ROC-RK3399-PC](devices/RK3399) * [Rockchip Sapphire Board](devices/RK3399) **My single-board computer is not listed, will it be added in the future?**
@@ -29,7 +34,6 @@ You may have luck if your device vendor is open source friendly, otherwise keep ## Links -* https://github.com/rockchip-linux * http://opensource.rock-chips.com ## Useful debug commands diff --git a/projects/Rockchip/bootloader/canupdate.sh b/projects/Rockchip/bootloader/canupdate.sh index 908179b820..77a2efc4fc 100644 --- a/projects/Rockchip/bootloader/canupdate.sh +++ b/projects/Rockchip/bootloader/canupdate.sh @@ -1,17 +1,15 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) -# detect legacy kernel installs and abort to prevent upgrades -case $(uname -r) in - 4.4*) - echo "Updates from legacy kernels are not supported!" - sleep 10 - exit 1 - ;; -esac +# devices have been renamed after LE9.2 +if [ "${1}" = "TinkerBoard.arm" -o "${1}" = "MiQi.arm" ]; then + if [ "${2}" = "RK3288.arm" ]; then + exit 0 + fi +fi # Allow upgrades between arm and aarch64 -if [ "$1" = "@PROJECT@.arm" -o "$1" = "@PROJECT@.aarch64" ]; then +if [ "${1}" = "@PROJECT@.arm" -o "${1}" = "@PROJECT@.aarch64" ]; then exit 0 else exit 1 diff --git a/projects/Rockchip/bootloader/install b/projects/Rockchip/bootloader/install index aa50eaf105..e42d89f7e5 100644 --- a/projects/Rockchip/bootloader/install +++ b/projects/Rockchip/bootloader/install @@ -4,31 +4,31 @@ PKG_RKBIN="$(get_build_dir rkbin)" PKG_SOC="${DEVICE/RK/rk}" -case "$PKG_SOC" in +case "${PKG_SOC}" in rk3036) PKG_DATAFILE="spl/u-boot-spl-nodtb.bin" PKG_LOADER="u-boot-dtb.bin" ;; rk3288) - PKG_DATAFILE="$PKG_RKBIN/rk32/rk3288_ddr_400MHz_v1.08.bin" - PKG_LOADER="$PKG_RKBIN/rk32/rk3288_miniloader_v2.58.bin" + PKG_DATAFILE="${PKG_RKBIN}/rk32/rk3288_ddr_400MHz_v1.08.bin" + PKG_LOADER="${PKG_RKBIN}/rk32/rk3288_miniloader_v2.58.bin" PKG_LOAD_ADDR="0x0" ;; rk3328) - if [ "$UBOOT_SYSTEM" = "roc-cc" -o "$UBOOT_SYSTEM" = "box-trn9" ]; then - PKG_DATAFILE="$PKG_RKBIN/rk33/rk3328_ddr_933MHz_v1.16.bin" + if [ "${UBOOT_SYSTEM}" = "roc-cc" -o "${UBOOT_SYSTEM}" = "box-trn9" ]; then + PKG_DATAFILE="${PKG_RKBIN}/rk33/rk3328_ddr_933MHz_v1.16.bin" else - PKG_DATAFILE="$PKG_RKBIN/rk33/rk3328_ddr_786MHz_v1.16.bin" + PKG_DATAFILE="${PKG_RKBIN}/rk33/rk3328_ddr_786MHz_v1.16.bin" fi - PKG_LOADER="$PKG_RKBIN/rk33/rk3328_miniloader_v2.50.bin" - PKG_BL31="$PKG_RKBIN/rk33/rk3328_bl31_v1.42.elf" + PKG_LOADER="${PKG_RKBIN}/rk33/rk3328_miniloader_v2.50.bin" + PKG_BL31="${PKG_RKBIN}/rk33/rk3328_bl31_v1.42.elf" PKG_BL31_ADDR="0x10000" PKG_LOAD_ADDR="0x200000" ;; rk3399) - PKG_DATAFILE="$PKG_RKBIN/rk33/rk3399_ddr_800MHz_v1.17.bin" - PKG_LOADER="$PKG_RKBIN/rk33/rk3399_miniloader_v1.24.bin" - PKG_BL31="$PKG_RKBIN/rk33/rk3399_bl31_v1.31.elf" + PKG_DATAFILE="${PKG_RKBIN}/rk33/rk3399_ddr_800MHz_v1.17.bin" + PKG_LOADER="${PKG_RKBIN}/rk33/rk3399_miniloader_v1.24.bin" + PKG_BL31="${PKG_RKBIN}/rk33/rk3399_bl31_v1.31.elf" PKG_BL31_ADDR="0x40000" PKG_LOAD_ADDR="0x200000" ;; @@ -38,25 +38,25 @@ case "$PKG_SOC" in ;; esac -if [ -n "$PKG_DATAFILE" -a -n "$PKG_LOADER" ]; then - tools/mkimage -n $PKG_SOC -T rksd -d "$PKG_DATAFILE" idbloader.img - cat "$PKG_LOADER" >> idbloader.img - cp -av idbloader.img $INSTALL/usr/share/bootloader +if [ -n "${PKG_DATAFILE}" -a -n "${PKG_LOADER}" ]; then + tools/mkimage -n ${PKG_SOC} -T rksd -d "${PKG_DATAFILE}" idbloader.img + cat "${PKG_LOADER}" >> idbloader.img + cp -av idbloader.img ${INSTALL}/usr/share/bootloader fi -if [ -n "$PKG_LOAD_ADDR" ]; then - $PKG_RKBIN/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img $PKG_LOAD_ADDR - cp -av uboot.img $INSTALL/usr/share/bootloader +if [ -n "${PKG_LOAD_ADDR}" ]; then + ${PKG_RKBIN}/tools/loaderimage --pack --uboot u-boot-dtb.bin uboot.img ${PKG_LOAD_ADDR} + cp -av uboot.img ${INSTALL}/usr/share/bootloader fi -if [ -n "$PKG_BL31" ]; then +if [ -n "${PKG_BL31}" ]; then cat >trust.ini <"$SAVE_ERROR" 2>&1 || show_error + dd if="${RELEASE_DIR}/3rdparty/bootloader/idbloader.img" of="${DISK}" bs=32k seek=1 conv=fsync,notrunc >"${SAVE_ERROR}" 2>&1 || show_error fi -if [ -f "$RELEASE_DIR/3rdparty/bootloader/uboot.img" ]; then +if [ -f "${RELEASE_DIR}/3rdparty/bootloader/uboot.img" ]; then echo "image: burn uboot.img to image..." - dd if="$RELEASE_DIR/3rdparty/bootloader/uboot.img" of="$DISK" bs=64k seek=128 conv=fsync,notrunc >"$SAVE_ERROR" 2>&1 || show_error + dd if="${RELEASE_DIR}/3rdparty/bootloader/uboot.img" of="${DISK}" bs=64k seek=128 conv=fsync,notrunc >"${SAVE_ERROR}" 2>&1 || show_error fi -if [ -f "$RELEASE_DIR/3rdparty/bootloader/trust.img" ]; then +if [ -f "${RELEASE_DIR}/3rdparty/bootloader/trust.img" ]; then echo "image: burn trust.img to image..." - dd if="$RELEASE_DIR/3rdparty/bootloader/trust.img" of="$DISK" bs=64k seek=192 conv=fsync,notrunc >"$SAVE_ERROR" 2>&1 || show_error + dd if="${RELEASE_DIR}/3rdparty/bootloader/trust.img" of="${DISK}" bs=64k seek=192 conv=fsync,notrunc >"${SAVE_ERROR}" 2>&1 || show_error fi diff --git a/projects/Rockchip/bootloader/release b/projects/Rockchip/bootloader/release index 25a3210c67..d9649bc88f 100644 --- a/projects/Rockchip/bootloader/release +++ b/projects/Rockchip/bootloader/release @@ -1,20 +1,20 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) -SRCDIR="$BUILD/image/system/usr/share/bootloader" -DSTDIR="$RELEASE_DIR/3rdparty/bootloader" +SRCDIR="${BUILD}/image/system/usr/share/bootloader" +DSTDIR="${RELEASE_DIR}/3rdparty/bootloader" -mkdir -p "$DSTDIR" - if [ -n "$UBOOT_SYSTEM" ]; then - if [ -f "$SRCDIR/idbloader.img" ]; then - cp -a "$SRCDIR/idbloader.img" "$DSTDIR" +mkdir -p "${DSTDIR}" + if [ -n "${UBOOT_SYSTEM}" ]; then + if [ -f "${SRCDIR}/idbloader.img" ]; then + cp -a "${SRCDIR}/idbloader.img" "${DSTDIR}" fi - if [ -f "$SRCDIR/uboot.img" ]; then - cp -a "$SRCDIR/uboot.img" "$DSTDIR" + if [ -f "${SRCDIR}/uboot.img" ]; then + cp -a "${SRCDIR}/uboot.img" "${DSTDIR}" fi - if [ -f "$SRCDIR/trust.img" ]; then - cp -a "$SRCDIR/trust.img" "$DSTDIR" + if [ -f "${SRCDIR}/trust.img" ]; then + cp -a "${SRCDIR}/trust.img" "${DSTDIR}" fi fi - cp -a "$SRCDIR"/${DEVICE,,}-*.dtb "$DSTDIR" + cp -a "${SRCDIR}"/${DEVICE,,}-*.dtb "${DSTDIR}" diff --git a/projects/Rockchip/bootloader/update.sh b/projects/Rockchip/bootloader/update.sh index d2a6993dd2..933366e338 100644 --- a/projects/Rockchip/bootloader/update.sh +++ b/projects/Rockchip/bootloader/update.sh @@ -1,50 +1,87 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) -[ -z "$SYSTEM_ROOT" ] && SYSTEM_ROOT="" -[ -z "$BOOT_ROOT" ] && BOOT_ROOT="/flash" -[ -z "$BOOT_PART" ] && BOOT_PART=$(df "$BOOT_ROOT" | tail -1 | awk {' print $1 '}) -if [ -z "$BOOT_DISK" ]; then - case $BOOT_PART in +[ -z "${SYSTEM_ROOT}" ] && SYSTEM_ROOT="" +[ -z "${BOOT_ROOT}" ] && BOOT_ROOT="/flash" +[ -z "${BOOT_PART}" ] && BOOT_PART=$(df "${BOOT_ROOT}" | tail -1 | awk {' print $1 '}) +if [ -z "${BOOT_DISK}" ]; then + case ${BOOT_PART} in /dev/sd[a-z][0-9]*) - BOOT_DISK=$(echo $BOOT_PART | sed -e "s,[0-9]*,,g") + BOOT_DISK=$(echo ${BOOT_PART} | sed -e "s,[0-9]*,,g") ;; /dev/mmcblk*) - BOOT_DISK=$(echo $BOOT_PART | sed -e "s,p[0-9]*,,g") + BOOT_DISK=$(echo ${BOOT_PART} | sed -e "s,p[0-9]*,,g") ;; esac fi -# mount $BOOT_ROOT r/w - mount -o remount,rw $BOOT_ROOT +# mount ${BOOT_ROOT} r/w + mount -o remount,rw ${BOOT_ROOT} # update device tree - for all_dtb in $BOOT_ROOT/*.dtb; do - dtb=$(basename $all_dtb) - if [ -f $SYSTEM_ROOT/usr/share/bootloader/$dtb ]; then - echo -n "Updating $dtb... " - cp -p $SYSTEM_ROOT/usr/share/bootloader/$dtb $BOOT_ROOT + for all_dtb in ${BOOT_ROOT}/*.dtb; do + dtb=$(basename ${all_dtb}) + + # device tree mappings for update from vendor to mainline kernel + case "${dtb}" in + rk3288-miniarm.dtb) + new_dtb=rk3288-tinker.dtb + ;; + rk3328-box.dtb|rk3328-box-trn9.dtb|rk3328-box-z28.dtb|rk3328-rockbox.dtb) + new_dtb=rk3328-a1.dtb + ;; + rk3399-rock-pi-4.dtb) + new_dtb=rk3399-rock-pi-4a.dtb + ;; + *) + new_dtb="${dtb}" + ;; + esac + + if [ "${dtb}" != "${new_dtb}" -a -f ${SYSTEM_ROOT}/usr/share/bootloader/${new_dtb} ]; then + echo -n "Replacing ${dtb} with ${new_dtb} ... " + cp -p ${SYSTEM_ROOT}/usr/share/bootloader/${new_dtb} ${BOOT_ROOT} && \ + sed -e "s/FDT \/${dtb}/FDT \/${new_dtb}/g" \ + -i ${BOOT_ROOT}/extlinux/extlinux.conf && \ + rm -f ${BOOT_ROOT}/${dtb} echo "done" + else + if [ -f ${SYSTEM_ROOT}/usr/share/bootloader/${dtb} ]; then + echo -n "Updating ${dtb}... " + cp -p ${SYSTEM_ROOT}/usr/share/bootloader/${dtb} ${BOOT_ROOT} + echo "done" + elif [ "$(grep -c "FDT /${dtb}" ${BOOT_ROOT}/extlinux/extlinux.conf)" -ne 0 ]; then + non_existend_dtb="${dtb}" + fi fi done # update bootloader - if [ -f $SYSTEM_ROOT/usr/share/bootloader/idbloader.img ]; then + if [ -f ${SYSTEM_ROOT}/usr/share/bootloader/idbloader.img ]; then echo -n "Updating idbloader.img... " - dd if=$SYSTEM_ROOT/usr/share/bootloader/idbloader.img of=$BOOT_DISK bs=32k seek=1 conv=fsync &>/dev/null + dd if=${SYSTEM_ROOT}/usr/share/bootloader/idbloader.img of=${BOOT_DISK} bs=32k seek=1 conv=fsync &>/dev/null echo "done" fi - if [ -f $SYSTEM_ROOT/usr/share/bootloader/uboot.img ]; then + if [ -f ${SYSTEM_ROOT}/usr/share/bootloader/uboot.img ]; then echo -n "Updating uboot.img... " - dd if=$SYSTEM_ROOT/usr/share/bootloader/uboot.img of=$BOOT_DISK bs=64k seek=128 conv=fsync &>/dev/null + dd if=${SYSTEM_ROOT}/usr/share/bootloader/uboot.img of=${BOOT_DISK} bs=64k seek=128 conv=fsync &>/dev/null echo "done" fi - if [ -f $SYSTEM_ROOT/usr/share/bootloader/trust.img ]; then + if [ -f ${SYSTEM_ROOT}/usr/share/bootloader/trust.img ]; then echo -n "Updating trust.img... " - dd if=$SYSTEM_ROOT/usr/share/bootloader/trust.img of=$BOOT_DISK bs=64k seek=192 conv=fsync &>/dev/null + dd if=${SYSTEM_ROOT}/usr/share/bootloader/trust.img of=${BOOT_DISK} bs=64k seek=192 conv=fsync &>/dev/null echo "done" fi -# mount $BOOT_ROOT r/o +# mount ${BOOT_ROOT} r/o sync - mount -o remount,ro $BOOT_ROOT + mount -o remount,ro ${BOOT_ROOT} + +# warning if device tree was not updated + if [ -n "${non_existend_dtb}" ]; then + echo "The device tree ${non_existend_dtb} your installation uses does not exist in this update package." + echo "The updated system will continue to use the device tree from the previous system and your installation might be broken." + echo "Please check documentation to find out which boards are supported by this package." + sleep 10 + fi + diff --git a/projects/Rockchip/devices/RK3288/linux/default/linux.arm.conf b/projects/Rockchip/devices/RK3288/linux/default/linux.arm.conf index 7e3e7e0526..a2a4eb1524 100644 --- a/projects/Rockchip/devices/RK3288/linux/default/linux.arm.conf +++ b/projects/Rockchip/devices/RK3288/linux/default/linux.arm.conf @@ -3235,7 +3235,7 @@ CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 -# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set +CONFIG_DRM_LOAD_EDID_FIRMWARE=y # CONFIG_DRM_DP_CEC is not set CONFIG_DRM_GEM_CMA_HELPER=y CONFIG_DRM_KMS_CMA_HELPER=y @@ -5780,7 +5780,7 @@ CONFIG_CRYPTO_LIB_SHA256=y CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set -CONFIG_CRYPTO_DEV_ROCKCHIP=m +# CONFIG_CRYPTO_DEV_ROCKCHIP is not set CONFIG_CRYPTO_DEV_VIRTIO=m # CONFIG_CRYPTO_DEV_SAFEXCEL is not set # CONFIG_CRYPTO_DEV_CCREE is not set diff --git a/projects/Rockchip/devices/RK3288/options b/projects/Rockchip/devices/RK3288/options index 64703ad9e3..b05d5e9ac6 100644 --- a/projects/Rockchip/devices/RK3288/options +++ b/projects/Rockchip/devices/RK3288/options @@ -10,7 +10,6 @@ TARGET_CPU="cortex-a17" TARGET_FPU="neon-vfpv4" TARGET_FEATURES="32bit" - KERNEL_TOOLCHAIN="arm-none-linux-gnueabihf" ;; esac diff --git a/projects/Rockchip/devices/RK3328/linux/default/linux.aarch64.conf b/projects/Rockchip/devices/RK3328/linux/default/linux.aarch64.conf index 937cd8f7cb..c6c2e73658 100644 --- a/projects/Rockchip/devices/RK3328/linux/default/linux.aarch64.conf +++ b/projects/Rockchip/devices/RK3328/linux/default/linux.aarch64.conf @@ -3323,7 +3323,7 @@ CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 -# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set +CONFIG_DRM_LOAD_EDID_FIRMWARE=y # CONFIG_DRM_DP_CEC is not set CONFIG_DRM_GEM_CMA_HELPER=y CONFIG_DRM_GEM_SHMEM_HELPER=y diff --git a/projects/Rockchip/devices/RK3399/README.md b/projects/Rockchip/devices/RK3399/README.md index 72923919c1..3c767523bf 100644 --- a/projects/Rockchip/devices/RK3399/README.md +++ b/projects/Rockchip/devices/RK3399/README.md @@ -4,18 +4,13 @@ This is a SoC device for RK3399 **Build** -* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=firefly make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=hugsun-x99 make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=khadas-edge make image` -* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=khadas-edge-v make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=nanopc-t4 make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=nanopi-m4 make image` -* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=nanopi-neo4 make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=orangepi make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock960 make image` -* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock-pi-4a make image` -* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock-pi-4b make image` -* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock-pi-4c make image` +* `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rock-pi-4 make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=rockpro64 make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=roc-pc make image` * `PROJECT=Rockchip DEVICE=RK3399 ARCH=arm UBOOT_SYSTEM=sapphire make image` diff --git a/projects/Rockchip/devices/RK3399/linux/default/linux.aarch64.conf b/projects/Rockchip/devices/RK3399/linux/default/linux.aarch64.conf index 54c51b710a..b639c30d86 100644 --- a/projects/Rockchip/devices/RK3399/linux/default/linux.aarch64.conf +++ b/projects/Rockchip/devices/RK3399/linux/default/linux.aarch64.conf @@ -3846,7 +3846,7 @@ CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 -# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set +CONFIG_DRM_LOAD_EDID_FIRMWARE=y # CONFIG_DRM_DP_CEC is not set CONFIG_DRM_GEM_CMA_HELPER=y CONFIG_DRM_GEM_SHMEM_HELPER=y @@ -4755,7 +4755,27 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 # CONFIG_USB_RAW_GADGET is not set # end of USB Gadget precomposed configurations -# CONFIG_TYPEC is not set +CONFIG_TYPEC=y +CONFIG_TYPEC_TCPM=m +# CONFIG_TYPEC_TCPCI is not set +CONFIG_TYPEC_FUSB302=m +# CONFIG_TYPEC_UCSI is not set +# CONFIG_TYPEC_HD3SS3220 is not set +# CONFIG_TYPEC_TPS6598X is not set +# CONFIG_TYPEC_STUSB160X is not set + +# +# USB Type-C Multiplexer/DeMultiplexer Switch support +# +# CONFIG_TYPEC_MUX_PI3USB30532 is not set +# end of USB Type-C Multiplexer/DeMultiplexer Switch support + +# +# USB Type-C Alternate Mode drivers +# +# CONFIG_TYPEC_DP_ALTMODE is not set +# end of USB Type-C Alternate Mode drivers + CONFIG_USB_ROLE_SWITCH=y CONFIG_MMC=y CONFIG_PWRSEQ_EMMC=y diff --git a/projects/Rockchip/patches/linux/default/linux-1003-for-libreelec.patch b/projects/Rockchip/patches/linux/default/linux-1003-for-libreelec.patch index 35a3c0f8a0..c759418b1a 100644 --- a/projects/Rockchip/patches/linux/default/linux-1003-for-libreelec.patch +++ b/projects/Rockchip/patches/linux/default/linux-1003-for-libreelec.patch @@ -450,3 +450,243 @@ index 403d4c6a49a8..7505c3eee4c1 100644 }; struct hdmi_codec_priv { +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Alex Bee +Date: Sat, 27 Feb 2021 17:41:48 +0100 +Subject: [PATCH] ARM64: dts: rockchip: fix gpu register width and supplies + for RK3328 + +Signed-off-by: Alex Bee +--- + arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts | 4 ++++ + arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 4 ++++ + arch/arm64/boot/dts/rockchip/rk3328.dtsi | 2 +- + 3 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts +index 3ac876c08d61..8607514437f5 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts +@@ -161,6 +161,10 @@ &gmac2io { + status = "okay"; + }; + ++&gpu { ++ mali-supply = <&vdd_logic>; ++}; ++ + &hdmi { + status = "okay"; + }; +diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts +index 89fde87f7650..bd62349a9390 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts +@@ -157,6 +157,10 @@ &gmac2io { + status = "okay"; + }; + ++&gpu { ++ mali-supply = <&vdd_logic>; ++}; ++ + &hdmi { + status = "okay"; + }; +diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +index 2dc257098002..f86f10f7e64e 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi +@@ -619,7 +619,7 @@ saradc: adc@ff280000 { + + gpu: gpu@ff300000 { + compatible = "rockchip,rk3328-mali", "arm,mali-450"; +- reg = <0x0 0xff300000 0x0 0x40000>; ++ reg = <0x0 0xff300000 0x0 0x30000>; + interrupts = , + , + , +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= +Date: Sun, 30 Dec 2018 13:32:47 +0100 +Subject: [PATCH] ayufan: dts: rockpro64: change rx_delay for gmac + +Change-Id: Ib3899f684188aa1ed1545717af004bba53fe0e07 +--- + arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +index 58097245994a..0da80295f09f 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dtsi +@@ -248,7 +248,7 @@ &gmac { + snps,reset-active-low; + snps,reset-delays-us = <0 10000 50000>; + tx_delay = <0x28>; +- rx_delay = <0x11>; ++ rx_delay = <0x20>; + status = "okay"; + }; + +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Aditya Prayoga +Date: Tue, 15 Sep 2020 13:29:45 +0700 +Subject: [PATCH] PCI: rockchip: support ep-gpio undefined case + +Signed-off-by: Aditya Prayoga +--- + drivers/pci/controller/pcie-rockchip.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/pci/controller/pcie-rockchip.c b/drivers/pci/controller/pcie-rockchip.c +index 904dec0d3a88..13b0d30b130d 100644 +--- a/drivers/pci/controller/pcie-rockchip.c ++++ b/drivers/pci/controller/pcie-rockchip.c +@@ -118,9 +118,9 @@ int rockchip_pcie_parse_dt(struct rockchip_pcie *rockchip) + } + + if (rockchip->is_rc) { +- rockchip->ep_gpio = devm_gpiod_get(dev, "ep", GPIOD_OUT_HIGH); ++ rockchip->ep_gpio = devm_gpiod_get_optional(dev, "ep", GPIOD_OUT_HIGH); + if (IS_ERR(rockchip->ep_gpio)) { +- dev_err(dev, "missing ep-gpios property in node\n"); ++ dev_err(dev, "invalid ep-gpios property in node\n"); + return PTR_ERR(rockchip->ep_gpio); + } + } +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Alex Bee +Date: Sat, 27 Feb 2021 17:52:02 +0100 +Subject: [PATCH] ARM64: dts: rockchip: add SPDIF nodes for RK3328 A1/ROC CC + +Signed-off-by: Alex Bee +--- + arch/arm64/boot/dts/rockchip/rk3328-a1.dts | 23 +++++++++++++++++++ + .../arm64/boot/dts/rockchip/rk3328-roc-cc.dts | 23 +++++++++++++++++++ + 2 files changed, 46 insertions(+) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3328-a1.dts b/arch/arm64/boot/dts/rockchip/rk3328-a1.dts +index 4013f16bb368..1bb3f4a6e496 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3328-a1.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3328-a1.dts +@@ -52,6 +52,24 @@ ir-receiver { + gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>; + linux,rc-map-name = "rc-beelink-gs1"; + }; ++ ++ spdif_sound: spdif-sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "SPDIF"; ++ ++ simple-audio-card,cpu { ++ sound-dai = <&spdif>; ++ }; ++ ++ simple-audio-card,codec { ++ sound-dai = <&spdif_dit>; ++ }; ++ }; ++ ++ spdif_dit: spdif-dit { ++ compatible = "linux,spdif-dit"; ++ #sound-dai-cells = <0>; ++ }; + }; + + &analog_sound { +@@ -319,6 +337,11 @@ &sdmmc { + status = "okay"; + }; + ++&spdif { ++ pinctrl-0 = <&spdifm0_tx>; ++ status = "okay"; ++}; ++ + &tsadc { + rockchip,hw-tshut-mode = <0>; + rockchip,hw-tshut-polarity = <0>; +diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts +index 8607514437f5..6ca08854aef3 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts +@@ -102,6 +102,24 @@ user_led: led-1 { + mode = <0x05>; + }; + }; ++ ++ spdif_sound: spdif-sound { ++ compatible = "simple-audio-card"; ++ simple-audio-card,name = "SPDIF"; ++ ++ simple-audio-card,cpu { ++ sound-dai = <&spdif>; ++ }; ++ ++ simple-audio-card,codec { ++ sound-dai = <&spdif_dit>; ++ }; ++ }; ++ ++ spdif_dit: spdif-dit { ++ compatible = "linux,spdif-dit"; ++ #sound-dai-cells = <0>; ++ }; + }; + + &analog_sound { +@@ -337,6 +355,11 @@ &sdmmc { + status = "okay"; + }; + ++&spdif { ++ pinctrl-0 = <&spdifm0_tx>; ++ status = "okay"; ++}; ++ + &tsadc { + status = "okay"; + }; +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Alex Bee +Date: Sat, 27 Feb 2021 18:01:13 +0100 +Subject: [PATCH] ARM64: dts: rockchip: Add ir-receiver node for RK3328 ROC CC + +Signed-off-by: Alex Bee +--- + arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts +index 6ca08854aef3..fb21ad1324bc 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts +@@ -83,6 +83,13 @@ vcc_phy: vcc-phy-regulator { + regulator-boot-on; + }; + ++ ir-receiver { ++ compatible = "gpio-ir-receiver"; ++ gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>; ++ pinctrl-0 = <&ir_int>; ++ pinctrl-names = "default"; ++ }; ++ + leds { + compatible = "gpio-leds"; + +@@ -325,6 +332,13 @@ &io_domains { + }; + + &pinctrl { ++ ++ ir { ++ ir_int: ir-int { ++ rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ + pmic { + pmic_int_l: pmic-int-l { + rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; diff --git a/scripts/uboot_helper b/scripts/uboot_helper index 15a11803c4..d19fdfa29f 100755 --- a/scripts/uboot_helper +++ b/scripts/uboot_helper @@ -263,10 +263,6 @@ devices = \ }, }, 'RK3399': { - 'firefly': { - 'dtb': 'rk3399-firefly.dtb', - 'config': 'evb-rk3399_defconfig' - }, 'hugsun-x99': { 'dtb': 'rk3399-hugsun-x99.dtb', 'config': 'evb-rk3399_defconfig' @@ -275,10 +271,6 @@ devices = \ 'dtb': 'rk3399-khadas-edge.dtb', 'config': 'evb-rk3399_defconfig' }, - 'khadas-edge-v': { - 'dtb': 'rk3399-khadas-edge-v.dtb', - 'config': 'evb-rk3399_defconfig' - }, 'nanopc-t4': { 'dtb': 'rk3399-nanopc-t4.dtb', 'config': 'evb-rk3399_defconfig' @@ -287,10 +279,6 @@ devices = \ 'dtb': 'rk3399-nanopi-m4.dtb', 'config': 'evb-rk3399_defconfig' }, - 'nanopi-neo4': { - 'dtb': 'rk3399-nanopi-neo4.dtb', - 'config': 'evb-rk3399_defconfig' - }, 'orangepi': { 'dtb': 'rk3399-orangepi.dtb', 'config': 'evb-rk3399_defconfig' @@ -299,18 +287,10 @@ devices = \ 'dtb': 'rk3399-rock960.dtb', 'config': 'evb-rk3399_defconfig' }, - 'rock-pi-4a': { + 'rock-pi-4': { 'dtb': 'rk3399-rock-pi-4a.dtb', 'config': 'evb-rk3399_defconfig' }, - 'rock-pi-4b': { - 'dtb': 'rk3399-rock-pi-4b.dtb', - 'config': 'evb-rk3399_defconfig' - }, - 'rock-pi-4c': { - 'dtb': 'rk3399-rock-pi-4c.dtb', - 'config': 'evb-rk3399_defconfig' - }, 'rockpro64': { 'dtb': 'rk3399-rockpro64.dtb', 'config': 'evb-rk3399_defconfig'