Useful Links:

The Inforce IFC6410 is a low cost, full featured Pico-ITX Single Board Computer, that is powered by SnapdragonTM 600 APQ8064 SoC.

For additional information, see:

All support requests, questions, comments should be reported to Inforce Computing. For bugs with Linaro's Member builds, the Linaro Bug tracking System can be found at: bugs.linaro.org (Use Product: "Qualcomm LT"). Bugs will be reviewed and prioritized by the team.

The Linaro Snapdragon 600 Linux Platform Release

The Linaro Qualcomm Landing team creates and maintains the Snapdragon 600 Linux Platform release. It is released on a monthly cadence on the last Thursday of the month. The release will be noted by a version number YYYY.MM or Release YY.MM. For the latest release, go to the Linaro Download page.

This is an Ubuntu-based Linaro Member Build that provides a desktop like environment using Ubuntu and the Gnome desktop. The Linaro Ubuntu-based releases also integrate and use the freedreno driver to support 2D/3D GPUs on the IFC6410 platform (See: freedreno Project on github ) Other flavors of Ubuntu-based images for the IFC6410 are provided as well, such as a console-only, developer image that provides a ready-to-use Ubuntu image for developers. For more details see our info on How to build Linaro Ubuntu-based images

The latest Linaro Release supports the following features:

  • Quad Core Krait 300 1.7GHz CPU
  • Adreno 320 GPU, powered by freedreno GPU driver
    • OpenGL 2.1
    • Mesa 10.2.1
    • XA support enabled
  • Cpufreq
  • Initial, very conservative in-kernel thermal management
  • Audio playback (analog, digital)
  • HDMI display
  • UART, Ethernet, SD, eMMC, SATA
  • USB2.0 (Mouse, Keyboard, Storage)
  • Wifi using QCA6234x
  • Inforce IFC6410 Android BSP Rel v1.5
  • Ubuntu 14.04 (Trusty Tahr)
  • Linux Kernel v3.4 from Code Aurora Forum

Linux kernel for IFC6410

You can find more information about the current status of Linux kernel development for IFC6410, as well as building and using your own kernel, here.

About the Board

Board Features

Pico-ITX Form Factor.
eMMC booting,4GB
SDIO interface (optional booting capability)
Power options: 5V DC / 3A
Display : HDMI and dual LVDS support
Camera: MIPI-CSI interface
USB: 2x USB 2.0, 1x USB-OTG
1x GbE interface
1x SATA interface
AUDIO: 1x Headphone, 1x Mic Jack
Dual stream dual band Wi-Fi
Bluetooth 4.0
Debug interfaces: JTAG, UART

Processor information

Qualcomm Snapdragon 600 APQ8064
Krait Processor, quad-Core,1.7GHz
2-wide instruction decode and in-order execution
2MB L2 Cache
Full HD 1080p hardware accelerated video codecs 
Adreno 320

Processor interface

3 x USB 2.0
PCI Express x1
UIM interface (User identity module)
SDCC (Secure digital card controller)
I2C (Inter-integrated circuit)
SPI (Serial peripheral interface)
PCM (Pulse code modulation) port
TSIF (Transport stream interface)
Dual Channel x32 dual rank DDR3 Interface

Board Setup

Power and Boot

The development kit comes bundled with the proper power supply (5V) and it is recommended to use it. When the board is powered up, it will automatically boot with the preloaded Android image.

The boot process is complex, but from a high level perspective, it can be described as follows:

  1. When the board is powered on, the RPM processor (a small ARM7 core in the SoC along the side of the main Krait cores) is reset and executes the Primary Boot Loader (PBL) from ROM which in turn, loads the initial Secondary Boot Loader (SBL1) into RPM memory
  2. The RPM runs SBL1 which in turn load SBL2 into memory, and takes the first Krait out of reset
  3. the first Krait core runs SBL2, download and authenticate the TZ (Trustzone) image and the RPM firmware, initializes the DDR and download the SBL3 into main memory
  4. The first Krait notifies the RPM which is now ready to run its firmware, until the board is powered off
  5. The first Krait runs SBL3 which loads and authenticates the APPSBL (u-boot, LK, coreboot, ...), and waits for RPM ready interrupt.
  6. The first Krait jumps to the main bootloader

SBL1, SBL2, SBL3 and the APPSBL are binary files which are loaded from eMMC partitions. While it would be possible to load these files from SD card, it is currently not supported (the support needs to be added in the SBL themselves). There are dedicated partitions in the on board eMMC for each of these files:


Size (kb)

















It is not recommended to erase or modify any of these partitions. Modifying may cause the board to no longer boot.

If the eMMC partitions have been erased or partition table has been corrupted, you need to recover the eMMC using the instructions you can find on Inforce techweb side, e.g. refer to the application note called "SYS644X AND IFC641X AppNote Recovery of bricked boards using SD Card".


The board comes with fastboot support, which means that the APPSBL implements the fastboot protocol. Fastboot is a special bootloader protocol that allows eMMC partition to be flashed with new images. While it was initially developed for Android, it is independent of Android and can be used with any other distribution. As mentioned previously, it is very dangerous to flash any of the restricted boot partitions such as sbl1, sbl2, sbl3, aboot or rpm. However it is safe to flash any other partition in order to install custom Linux builds and run them.

By default the APPSBL will load and execute the boot image from the 'boot' partition. Since the board comes with Android pre-loaded, the boot partition contains the Android kernel and initial ramdisk.

To use fastboot you need to connect the board to the host PC using the provided USB cable: connect the micro-B USB plug into the receptacle located on the short side, close to the audio jacks. The fastboot utility is available in the Android SDK, however most standard Linux distributions now provide fastboot as a standalone pacakge. For example, if you are running Ubuntu on your host, you can run:

sudo apt-get install android-tools-fastboot

To boot the board into fastboot mode, there are several possibilities.

  • If Android is already running, you can run sudo fastboot reboot-bootloader, which will reboot the board into fastboot mode

  • You can force the board to boot into fastboot mode, such that it would follow the normal boot process, but would not jump to the boot image. This happens by connecting pins 30 and 26 of the Expansion Connector (pulling GPIO6 low), e.g, such as shown here: https://wiki.linaro.org/Boards/IFC6410?action=AttachFile&do=view&target=ifc6410.jpg

  • Otherwise, you can erase the boot partition. cat /dev/zero > /dev/disk/by-partlabel/boot

    • Once you've entered fastboot mode once, you can run sudo fastboot erase boot to make it boot into fastboot permanently. y

For more information about fastboot, please check:

Future Topics

  • Serial / UART
  • Display
  • Ethernet
  • eMMC
  • Thermal
    • Heatsync for the IFC6410


Boards/IFC6410 (last modified 2017-08-31 08:28:58)