diff options
author | Amit Pundir <amit.pundir@linaro.org> | 2021-05-26 14:30:57 +0530 |
---|---|---|
committer | Amit Pundir <amit.pundir@linaro.org> | 2021-09-01 00:53:03 +0530 |
commit | e4ca84a8555cda76d8fd4f485522ed510a7a088b (patch) | |
tree | cfed04246e3b74d7cc10d4cf16d27f9b73375f2b /installer | |
parent | c1584bde78f3f256cc862a5046e6ffdf452217e9 (diff) |
rb5: Add support for Qcom Robotics RB5 development kitandroid-s-beta-5
* Add new lunch target "rb5-userdebug"
* Boots android-mainline (3aa53d85a061) to UI
* ADB works
* If you are having display issues on your brand new RB5
kit then run the following set of adb commands to update
the lt9611uxc firmware version:
adb wait-for-device; adb root;
adb shell "echo 1 > /sys/bus/i2c/devices/5-002b/lt9611uxc_firmware"
Check installer/rb5/README for more details.
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Change-Id: I2917de0375e95e17a88446474fdb256af769f73d
Diffstat (limited to 'installer')
-rw-r--r-- | installer/rb5/README | 70 | ||||
-rwxr-xr-x | installer/rb5/flash-all-aosp.sh | 54 | ||||
-rwxr-xr-x | installer/rb5/recovery.sh | 35 |
3 files changed, 159 insertions, 0 deletions
diff --git a/installer/rb5/README b/installer/rb5/README new file mode 100644 index 0000000..ee59bdb --- /dev/null +++ b/installer/rb5/README @@ -0,0 +1,70 @@ +These instructions will help you flashing the prebuilt bootloader +and AOSP images(built from sources) on rb5. + +First, make sure you have built the AOSP images for RB5 by +running the rb5-userdebug lunch target. + + +Boot the board into fastboot mode: +---------------------------------- +The easiest way to boot into fastboot mode is to run something +like "adb reboot bootloader" from the host, or +"reboot bootloader" on the device. However, this +functionality may depend on the software installed on the board +to work, so you may need to manually enter fastboot mode as +follows. + +To manually enter fastboot mode: +-------------------------------- +* To manually boot the board into fastboot mode, press DOWN arrow + key over serial UART console when restarting the board. + + OR + +* Follow the instructions here +https://www.96boards.org/documentation/consumer/dragonboard/qualcomm-robotics-rb5/installation/board-recovery.md.html#booting-into-fastboot + + +Flash the board: +---------------- +Once the board is in fastboot mode, you can then flash bootloader +binaries and AOSP images by running the following script from +device/linaro/dragonboard/installer/rb5/ directory: + + $ ./flash-all-aosp.sh + + +Troubleshooting: +---------------- +* If you have flashed AOSP images and you can see the boot logs + on Serial prompt but no UI then try updating the lt9611uxc + firmware version. Factory shipped RB5 has an older version of + lt9611uxc firmware flashed on it and it is incompatible with + upstream kernel. Try updating the firmware version by running + the following adb shell commands: + + $ adb wait-for-device; adb root; adb shell "echo 1 > /sys/bus/i2c/devices/5-002b/lt9611uxc_firmware" + +* Make sure the USB-C cable is connected. As it has to be + removed to fully power the device down, it is easy to forget + to reconnect it! + +* If you cannot get the board into fastboot mode, or for some + reason the flash-all-aosp.sh script does not work, you can do + a full recovery flash of the board using the following + instructions. + + +Recovery: +-------- +First boot into recovery mode by follwing the recovery +instructions from here: +https://www.96boards.org/documentation/consumer/dragonboard/qualcomm-robotics-rb5/installation/board-recovery.md.html + +Then run the recovery script from the +device/linaro/dragonboard/installer/rb5/ directory: + + $ ./recovery.sh + +This will do a recovery flash of the ptable and bootloader +binaries. diff --git a/installer/rb5/flash-all-aosp.sh b/installer/rb5/flash-all-aosp.sh new file mode 100755 index 0000000..9eea95b --- /dev/null +++ b/installer/rb5/flash-all-aosp.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +INSTALLER_DIR="`dirname ${0}`" + +FIRMWARE_DIR="rb5-bootloader-ufs-aosp" + +# for cases that don't run "lunch rb5-userdebug" +if [ -z "${ANDROID_BUILD_TOP}" ]; then + ANDROID_BUILD_TOP=${INSTALLER_DIR}/../../../../../ + ANDROID_PRODUCT_OUT="${ANDROID_BUILD_TOP}/out/target/product/rb5" +fi + +if [ ! -d "${ANDROID_PRODUCT_OUT}" ]; then + echo "FLASH-ALL-AOSP: error in locating out/target directory, check if it exist" + exit +fi + +echo "android out dir:${ANDROID_PRODUCT_OUT}" + +# TODO: Pull one-time recovery/qdl path out of standard install +# Flash bootloader firmware files +if [ ! -d "${INSTALLER_DIR}/${FIRMWARE_DIR}/" ]; then + echo "FLASH-ALL-AOSP: No firmware directory? Make sure binaries have been provided" + exit +fi + +pushd "${INSTALLER_DIR}/${FIRMWARE_DIR}" > /dev/null +./flashall +popd > /dev/null + +echo "FLASH-ALL-AOSP: Flash boot img" +fastboot flash boot "${ANDROID_PRODUCT_OUT}"/boot.img +echo "FLASH-ALL-AOSP: Flash super/dynamic image" +fastboot flash super "${ANDROID_PRODUCT_OUT}"/super.img +echo "FLASH-ALL-AOSP: Flash userdata image" +fastboot flash userdata "${ANDROID_PRODUCT_OUT}"/userdata.img +echo "FLASH-ALL-AOSP: Flash vendor_boot image" +fastboot flash vendor_boot "${ANDROID_PRODUCT_OUT}"/vendor_boot.img +echo "FLASH-ALL-AOSP: Formatting metadata" +fastboot format:ext4 metadata + +fastboot reboot + +echo "FLASH-ALL-AOSP: Updating lt9611uxc firmware version" +adb wait-for-device +VERSION=`adb shell su 0 cat /sys/bus/i2c/devices/5-002b/lt9611uxc_firmware` +if [ "$VERSION" -lt "43" ] ; then + echo "FLASH-ALL-AOSP: lt9611uxc 5-002b: Updating firmware... May take up to 120 seconds. Do not switch off the device" + adb shell "echo 1 | su 0 tee /sys/bus/i2c/devices/5-002b/lt9611uxc_firmware > /dev/null" + echo "FLASH-ALL-AOSP: lt9611uxc 5-002b: Firmware updates successfully" + echo "FLASH-ALL-AOSP: Rebooting" + adb reboot +fi +echo "FLASH-ALL-AOSP: Done" diff --git a/installer/rb5/recovery.sh b/installer/rb5/recovery.sh new file mode 100755 index 0000000..5541209 --- /dev/null +++ b/installer/rb5/recovery.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +INSTALLER_DIR="`dirname ${0}`" + +QDL="`readlink -f ${INSTALLER_DIR}/qdl`" +FIRMWARE_DIR="rb5-bootloader-ufs-aosp" + +# for cases that don't run "lunch rb5-userdebug" +if [ -z "${ANDROID_BUILD_TOP}" ]; then + ANDROID_BUILD_TOP=${INSTALLER_DIR}/../../../../../ + ANDROID_PRODUCT_OUT="${ANDROID_BUILD_TOP}/out/target/product/rb5" +fi + +if [ ! -d "${ANDROID_PRODUCT_OUT}" ]; then + echo "RECOVERY: error in locating out directory, check if it exist" + exit +fi + +echo "android out dir:${ANDROID_PRODUCT_OUT}" + +# TODO: Pull one-time recovery/qdl path out of standard install +# Flash bootloader firmware files +if [ ! -d "${INSTALLER_DIR}/${FIRMWARE_DIR}/" ]; then + echo "RECOVERY: No firmware directory? Make sure binaries have been provided" + exit +fi + +pushd "${INSTALLER_DIR}/${FIRMWARE_DIR}" > /dev/null +sudo "${QDL}" prog_firehose_ddr.elf rawprogram?.xml patch?.xml +popd > /dev/null + +echo +echo +echo "RECOVERY: Please boot the RB5 into fastboot mode, and use the flash-all-aosp.sh script!" +echo |