arm:quartz

This is an old revision of the document!


Quartz is a tiny module utilized Freescale VF6xx by Device Solutions.

The Vybrid VF6xx family is an implementation of the new modern Cortex-A5-based low-power ARM SoC boards. Vybrid devices are ideal for applications including simple HMI in appliances and industrial machines, secure control of infrastructure and manufacturing equipment, energy conversion applications such as motor drives and power inverters, ruggedized wired and wireless connectivity, and control of mobile battery-operated systems such as robots and industrial vehicles.

Supported device drivers:

  • Analog components control digital interface (ANADIG)
  • Clock Controller Module (CCM)
  • Display Control Unit (DCU4)
  • Direct Memory Access Multiplexer (DMAMUX)
  • Enhanced Direct Memory Access Controller (eDMA)
  • Universal Serial Bus (USB) Controller
  • General-Purpose Input/Output (GPIO)
  • Inter-Integrated Circuit (I2C)
  • Input/Output Multiplexer Controller (IOMUXC)
  • Miscellaneous System Control Module (MSCM)
  • NAND Flash Controller (NFC)
    • Warning: NAND framework considered experimental in FreeBSD.
  • Port control and interrupts (PORT)
  • Synchronous Audio Interface (SAI)
  • System Reset Controller (SRC)
  • Timing Controller (TCON)
  • Universal Asynchronous Receiver/Transmitter
  • FFEC Ethernet Driver (FFEC)
  • MPCore timer (MCT)
  • Generic Interrupt Controller (GIC)

1. Under FreeBSD, checkout latest source

# svnlite co http://svn.freebsd.org/base/head ~/src

2. Compile FreeBSD

# cd ~/src
# make TARGET_ARCH=armv6 kernel-toolchain
# make TARGET_ARCH=armv6 KERNCONF=QUARTZ buildkernel
# make TARGET_ARCH=armv6 buildworld

3. Create USB image

# truncate -s 1024M quartz.img
# mdconfig -f quartz.img -u0
# newfs /dev/md0
# mount /dev/md0 /mnt
# cd ~/src && make TARGET_ARCH=armv6 DESTDIR=/mnt installworld distribution
# echo "/dev/da0 / ufs rw,noatime 1 1" > /mnt/etc/fstab
# vi /mnt/etc/ttys #(enable ttyv0 for display or/and ttyu0 for console)
# umount /mnt
# mdconfig -d -u0

4. Write USB image (replace /dev/da0 with your USB stick device). USB stick is used for booting FreeBSD world.

# sysctl kern.geom.debugflags=16
# dd if=quartz.img of=/dev/da0 bs=4096k 

5. Create SD card image (replace /dev/da4 with your SD device). SD card is used for booting kernel.

# dd if=/dev/zero of=/dev/da4 bs=4096k count=10
# gpart create -s MBR da4
# gpart add -b 8m -s 32m -t '\!14' da4
# newfs_msdos /dev/da4s1
# mount_msdosfs /dev/da4s1 /mnt
# cp /usr/obj/arm.armv6/usr/home/YOUR_USERNAME/src/sys/QUARTZ/kernel.bin /mnt/
# umount /mnt

1. Connect to serial console on speed 115200

# cu -l /dev/ttyu0 -s 115200

2. Power on the board and boot

# fatload mmc 0:1 0x80100000 kernel.bin
# go 0x80100000
  • arm/quartz.1398144581.txt.gz
  • Last modified: 2014/04/22 05:29
  • by RuslanBukin