User Tools

Site Tools




Serial console

Mediatek X20 Development Board has two UART ports present in the Low Speed Expansion Connector - CON7001. If you use the EVB device tree file, the serial console is uart0. If you use the x20 Dev Board device tree, it uses uart1. You should use the latter if you also use the 96boards serial console adapter.

For uart0 configuration is 921600 8N1, as it is used by the bootloader as well. For uart1 it is 115200n8.

DC Power input
Board connector Power connector Electrical specs
DC jack(J901) EIAJ-3 Compliant 1) 8V~18V@3A 2)

Where to buy?


How to compile the kernel

You will need mkbootimg either from your distro or from the Android repository.

make ARCH=arm64 CROSS_COMPILE=$CROSS_COMPILE Image.gz -j 8
make ARCH=arm64 CROSS_COMPILE=$CROSS_COMPILE mediatek/mt6797-evb.dtb
cat arch/arm64/boot/Image.gz arch/arm64/boot/dts/mediatek/mt6797-evb.dtb > /tmp/Image.gz-dtb

mkbootimg --kernel /tmp/Image.gz-dtb --ramdisk ${ramdisk_full} --base 0x40000000 --ramdisk_offset 0x04000000 --kernel_offset 0x00080000 --cmdline bootopt=64S3,32N2,64N2 --output /tmp/boot.img

Beware that ramdisk_full should hold the path to a gzip compressed ramdisk image.

To flash the kernel you will need android's fastboot tool (look for android-tools etc in your distro packages). To set the board into fastboot mode, you need the xflash tool from the sla.tar.gz file from linaro.

cd sla/vendor/mediatek/proprietary/system/core/xflash/bin/linux
./xflash enter-fastboot <absolute-path-to>/sla/device/amt/amt6797_64_open/MT6797_Android_scatter.txt

fastboot flash boot /tmp/boot.img
fastboot reboot
Supported IP blocks


  • clock driver
  • scpsys
  • sysirq
  • uart
  • watchdog
  • AFE-PCM (sound)
  • mt6351 sound codec
  • pmic-wrapper

Being worked on:

  • pinctrl (Saber)

Needs work:

  • emmc/MSDC
  • graphics
    • display contoller
    • display pwm
    • DPI
    • DSI
    • JPEG Encoder
    • JPEG Decoder
    • Video Decoder
    • H.264/HEVC Video Enconder
    • MFG
    • Sensor Interface
  • Wifi
  • reset controller (?)
  • Keypad Scanner
  • USB + USB phy
  • SPI
  • I2C
  • PWM
  • IR
  • Bluetooth
  • USIM


No u-boot, but Little Kernel (LK) from the BSP.

In order to be able to boot a mainline kernel you might need to apply a patch the AOSP and recompile.


The 96 Boards homepage has some register documentation.

More information


You can find information on how to build the AOSP here

Plug specification is inner diameter 1.7mm and outer diameter 4.8mm
96Boards current limit is 2A but Mediatek x20 is up to 3A
devices/mediatek_x20.txt · Last modified: 2018/09/14 11:44 by matthias