#@TYPE: Machine
#@NAME: EM-X270
#@DESCRIPTION: Machine configuration for the CompuLab EM-X270 with a pxa27x CPU

#
# Hardware-based properties
#
TARGET_ARCH = "arm"
GUI_MACHINE_CLASS ?= "bigscreen"

PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt  "
PREFERRED_PROVIDER_virtual/kernel = "linux"

require conf/machine/include/tune-xscale.inc

# Uncomment this to use iwmmxt optimizations. Remove the above xscale stuff first
# require conf/machine/include/tune-iwmmxt.inc

IMAGE_DEPENDS_jffs2 += " genext2fs-native "
ROOT_FLASH_SIZE = "128"
IMAGE_CMD_jffs2 = " \
          mkfs.jffs2 --root=${IMAGE_ROOTFS} \
             --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
             --eraseblock=0x20000 --pad --faketime -n; \
          sumtool -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
                  -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs-summary.jffs2 \
                  -e 0x20000 -p; \
          mkdir -p ${WORKDIR}/img; \
          mkdir -p ${WORKDIR}/kern-img/; \
          install -m 0644 `readlink -f ${DEPLOY_DIR_IMAGE}/uImage-em-x270.bin` ${WORKDIR}/kern-img/uImage; \
          mkfs.jffs2 --root=${WORKDIR}/kern-img/ --eraseblock=0x20000 --pad \
	     --no-cleanmarkers --faketime --output=${WORKDIR}/img/em-x270-kernel.jffs2; \
          cd ${DEPLOY_DIR_IMAGE}; \
          ln -fs ${IMAGE_NAME}.rootfs-summary.jffs2 ${IMAGE_LINK_NAME}.rootfs-summary.jffs2; \
          install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs-summary.jffs2 \
                 ${WORKDIR}/img/em-x270-angstrom.jffs2; \
          size=`du -sk ${WORKDIR}/img | cut -f 1` ; ((size *= 120)) ; ((size /= 100)) ; \
          genext2fs -d ${WORKDIR}/img -b $size ${DEPLOY_DIR_IMAGE}/updater-em-x270.ext2 \
"

#VOLATILE_STORAGE_SIZE = "128"
MACHINE_DISPLAY_WIDTH_PIXELS ?= "480"
MACHINE_DISPLAY_HEIGHT_PIXELS ?= "640"
MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth wifi usbhost usbgadget screen phone "

#
# Software/packages selection
#

PREFERRED_PROVIDER_xserver = "xserver-kdrive"

#
# Modules autoload and other boot properties
#
module_autoload_evdev = "evdev"
module_autoload_mmc_block = "mmc_block"
module_autoload_pxa27x_udc = "pxa27x_udc"

#FIXME: this should be controlled by a userspace utility later.
module_autoload_g_ether = "g_ether"

SERIAL_CONSOLE = "115200 ttyS0"

KERNEL_IMAGETYPE = "uImage"
UBOOT_ENTRYPOINT = "a0008000"
