Dragonboard/APQ8074

From eLinux.org
Jump to: navigation, search

The APQ8074 Dragonboard is based on the quad core Snapdragon 800 (Krait) chip. The board is made up two pieces, a carrier board with display and connectors, and a CPU board System-on-Module (SoM).

Using the Hardware

If you position the board with the connectors at the bottom, the volume down button, used to have the bootloader wait for fastboot commands, is the center button on the left edge. The serial port and micro USB connector, for console and fastboot/ADB, respectively, are in the bottom left corner. The external micro SD card holder is on the underside of the board. Push it back to open, slide it forward to lock it closed. To see serial output, hook up a serial to USB converter and use a program such as minicom.

Booting Upstream Linux

To test out a custom Kernel and root filesystem without overwriting the factory image, copy the root filesystem to the external micro SD card. Build a kernel using the qcom_defconfig or multi_v7_defconfig from 3.15 or newer. With Linux 3.15, you must modifiy arch/arm/boot/dts/qcom-apq8074-dragonboard.dts, adding a status = "ok"; to sdhci@f98a4900 in arch/arm/boot/dts/qcom-apq8074-dragonboard.dts to get the external micro SD card working. Once this is built, you must combine it with the kernel image to create an "appended DTB" format image. The following example uses a Linaro toolchain picked up from the $PATH environment variable.

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- qcom_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage dtbs
cat arch/arm/boot/zImage arch/arm/boot/dts/qcom-apq8074-dragonboard.dtb > /tmp/zImage-dtb

This kernel image with appended DTB can be booted using the fastboot tool. The version from android-tools-fastboot on Ubuntu 12.04 is known to work. First, power cycle the device while pushing the volume down button. You should see fastboot: processing commands as the last line of the serial console. Then, run the following.

sudo fastboot boot /tmp/zImage-dtb -b 0x208000 -c "console=ttyMSM0,115200,n8 root=/dev/mmcblk1 rootwait"

You should now see boot messages on the serial console.

External Links