From 7b89a40a7b41ebd16ecde015e0033e40723458f9 Mon Sep 17 00:00:00 2001
From: android <android@lingyun.com>
Date: Wed, 24 Jul 2024 14:54:39 +0800
Subject: [PATCH] Add Rockchip DDR test tool and document

---
 android_sdk/build.sh |  158 +++++++++++++++++++++++++++++-----------------------
 1 files changed, 89 insertions(+), 69 deletions(-)

diff --git a/android_sdk/build.sh b/android_sdk/build.sh
index c4eac55..054bb37 100755
--- a/android_sdk/build.sh
+++ b/android_sdk/build.sh
@@ -7,7 +7,7 @@
 TOP_PATH=$(realpath $PRJ_PATH/..)
 
 # SDK build workspace
-SDK_DIR=/work/sdk_build
+SDK_DIR=android_build
 
 # binaries build prefix install path
 PRFX_PATH=$PRJ_PATH/install
@@ -22,10 +22,11 @@
 CONF_FILE=$TOP_PATH/config.json
 
 #4g files path
-FILES_PATCH_4G=$PRJ_PATH/apps/Quectel_RILv3.6.24
+FILES_PATCH_4G=$PRJ_PATH/patches/Quectel_RILv3.6.24
 
 #wifi firmware path
-FILES_PATCH_WIFI=$PRJ_PATH/apps
+FILES_PATCH_WIFI=$PRJ_PATH/patches/wifi/
+
 # shell script will exit once get command error
 set -e
 
@@ -101,101 +102,118 @@
     export SDK_VER=`jq -r ".android.sdk_ver" $CONF_FILE`
     export SDK_PATH=`jq -r ".android.sdk_path" $CONF_FILE`
 
-	export ARCH=arm64
+    export ARCH=arm64
 
-	if [[ $BOARD =~ igkboard-rk3568 ]] ; then
-		LUNCH_BOARD=rk3568_t-userdebug
-	fi
+    if [[ $BOARD =~ igkboard-rk3568 ]] ; then
+        LAUNCH_BOARD=rk3568_t-userdebug
+    fi
 
-	PYTHON_VERSION=$(python --version 2>&1 | awk '{print $2}' | cut -d. -f1)
-	if [ $PYTHON_VERSION != "3" ] ; then
-		PYTHON_VERSION=$(python --version 2>&1)
-		pr_error "ERROR: This SDK build need Python3, current version is $PYTHON_VERSION"
-		pr_warn "You can use 'sudo update-alternatives --config python' command to switch it"
-		exit
-	fi
+    PYTHON_VERSION=$(python --version 2>&1 | awk '{print $2}' | cut -d. -f1)
+    if [ $PYTHON_VERSION != "3" ] ; then
+        PYTHON_VERSION=$(python --version 2>&1)
+        pr_error "ERROR: This SDK build need Python3, current version is $PYTHON_VERSION"
+        pr_warn "You can use 'sudo update-alternatives --config python' command to switch it"
+        exit
+    fi
 }
 
 function do_fetch()
 {
-	SDK_FPATH=$SDK_PATH/$SDK_VER
+    SDK_FPATH=$SDK_PATH/$SDK_VER
 
-	PATCH_FLAG="$SDK_DIR/kernel-5.10/arch/arm64/configs/rockchip_defconfig"
-	if [ -e $PATCH_FLAG ] ;  then
-		pr_warn "SDK source code fetched already, skip do fetch"
-	fi
+    SDK_FLAG=$SDK_DIR/kernel-5.10/Makefile
 
-	if [ ! -d $SDK_DIR/.repo ] ; then
+    cd $PRJ_PATH
 
-		SDK_FILE=$SDK_PATH/$SDK_VER.tar.bz2
+    if [ -e $SDK_FLAG ] ;  then
+        pr_warn "INFO: SDK source code fetched already, skip do fetch"
+    fi
 
-		if [ ! -e $SDK_FILE ] ; then
-			pr_error "ERROR: SDK package '$SDK_FILE' doesn't exist!"
-			exit
-		fi
+    if [ ! -d $SDK_DIR/.repo ] ; then
 
-		pr_info "decompress SDK tarball $SDK_FILE..."
+        if [ ! -d $SDK_FPATH ] ; then
+            pr_error "ERROR: SDK package folder '$SDK_FPATH' doesn't exist!"
+            exit
+        fi
 
-		do_unpack $SDK_FILE $SDK_DIR
-	fi
-	
-	cd $SDK_DIR
+        SDK_FILE=`ls $SDK_FPATH/*.tar.bz2 | head -n 1`
 
-	if [ ! -e $PATCH_FLAG ] ; then
-		pr_info "repo sync to checkout source code..."
-		./.repo/repo/repo sync -l
-	fi
+        pr_info "decompress SDK tarball $SDK_FILE..."
+        do_unpack $SDK_FILE $SDK_DIR
+    fi
 
-	if ! grep -q '^CONFIG_CAN=y' $PATCH_FLAG ; then 
-		pr_info "patch for android..."
-		cd kernel-5.10
-		patch -p1 < $PRJ_PATH/patches/kernel.patch
-		
-		cd ../vendor/rockchip/common/
-		patch -p1 < $PRJ_PATH/patches/4g_patch/vendor.patch
 
-		cd $SDK_DIR/device/rockchip/common/
-		patch -p1 < $PRJ_PATH/patches/4g_patch/device_rockchip.patch
+    if [ ! -e $SDK_FLAG ] ; then
+        pr_info "repo sync to checkout source code..."
+        cd $SDK_DIR
+        ./.repo/repo/repo sync -l
+    fi
+}
 
-		cd $SDK_DIR/device/google/atv/
-		patch -p1 < $PRJ_PATH/patches/4g_patch/device_google.patch
+function do_patch()
+{
+    PATCH_FLAG="$SDK_DIR/kernel-5.10/arch/arm64/configs/rockchip_defconfig"
 
-		cd $SDK_DIR/hardware/interfaces/
-		patch -p1 < $PRJ_PATH/patches/4g_patch/hardware_interfaces.patch
+    cd $PRJ_PATH
 
-		cd $SDK_DIR/hardware/ril/
-		patch -p1 < $PRJ_PATH/patches/4g_patch/hardware_ril.patch
+    if grep -q '^CONFIG_CAN=y' $PATCH_FLAG > /dev/null 2>&1 ; then
+        pr_warn "INFO: Patch for Android SDK already"
+        return ;
+    fi
 
-		cd $SDK_DIR/frameworks/opt/telephony/
-		patch -p1 < $PRJ_PATH/patches/4g_patch/frameworks_opt_telephony.patch
-		
-		pr_info "copy 4G RIL library..."
+    pr_info "do patch for android source code"
+    cd $SDK_DIR/kernel-5.10
+    patch -p1 < $PRJ_PATH/patches/kernel.patch
+    cd -
 
-		cp -f $FILES_PATCH_4G/ip-* $SDK_DIR/vendor/rockchip/common/phone/etc/ppp/
-		cp -f $FILES_PATCH_4G/ql-ril.conf $SDK_DIR/vendor/rockchip/common/phone/etc/ppp/
-		cp -f $FILES_PATCH_4G/chat $SDK_DIR/vendor/rockchip/common/phone/bin/
-		cp -f $FILES_PATCH_4G/libreference-ril.so $SDK_DIR/vendor/rockchip/common/phone/lib/libreference-ril-em05.so
+    cd $SDK_DIR/vendor/rockchip/common/
+    patch -p1 < $PRJ_PATH/patches/4g_patch/vendor.patch
+    cd -
 
-		pr_info "copy wifi firmware..."
+    cd $SDK_DIR/device/rockchip/common/
+    patch -p1 < $PRJ_PATH/patches/4g_patch/device_rockchip.patch
+    cd -
 
-		cp -f $FILES_PATCH_WIFI/mt7601u.bin $SDK_DIR/vendor/rockchip/common/wifi/firmware
+    cd $SDK_DIR/device/google/atv/
+    patch -p1 < $PRJ_PATH/patches/4g_patch/device_google.patch
+    cd -
 
-		cd 
-	fi
+    cd $SDK_DIR/hardware/interfaces/
+    patch -p1 < $PRJ_PATH/patches/4g_patch/hardware_interfaces.patch
+    cd -
+
+    cd $SDK_DIR/hardware/ril/
+    patch -p1 < $PRJ_PATH/patches/4g_patch/hardware_ril.patch
+    cd -
+
+    cd $SDK_DIR/frameworks/opt/telephony/
+    patch -p1 < $PRJ_PATH/patches/4g_patch/frameworks_opt_telephony.patch
+    cd -
+
+    pr_info "copy 4G RIL library..."
+
+    cp -f $FILES_PATCH_4G/ip-* $SDK_DIR/vendor/rockchip/common/phone/etc/ppp/
+    cp -f $FILES_PATCH_4G/ql-ril.conf $SDK_DIR/vendor/rockchip/common/phone/etc/ppp/
+    cp -f $FILES_PATCH_4G/chat $SDK_DIR/vendor/rockchip/common/phone/bin/
+    cp -f $FILES_PATCH_4G/libreference-ril.so $SDK_DIR/vendor/rockchip/common/phone/lib/libreference-ril-em05.so
+
+    pr_info "copy wifi firmware..."
+    cp -f $FILES_PATCH_WIFI/mt7601u.bin $SDK_DIR/vendor/rockchip/common/wifi/firmware
 }
 
 function do_build()
 {
-	pr_info "Choose your board"
+    cd $PRJ_PATH
 
-	cd $SDK_DIR
-	
-	source build/envsetup.sh
-	lunch $LUNCH_BOARD
-	./build.sh -AUCKu
+    pr_info "start build $LAUNCH_BOARD..."
 
-	pr_info "System image will be installed to $SDK_DIR/rockdev/Image-rk3568_t"
-	ls ./rockdev/Image-rk3568_t
+    cd $SDK_DIR
+    source build/envsetup.sh
+    lunch $LAUNCH_BOARD
+    ./build.sh -AUCKu
+
+    pr_info "System image will be installed to $SDK_DIR/rockdev/Image-rk3568_t"
+    ls ./rockdev/Image-rk3568_t
 }
 
 #+-------------------------+
@@ -208,4 +226,6 @@
 
 do_fetch
 
+do_patch
+
 do_build

--
Gitblit v1.9.1