#@TYPE: Machine
#@NAME: {{=machine}}

#@DESCRIPTION: Machine configuration for {{=machine}} systems

{{ input type:"boolean" name:"xserver" prio:"50" msg:"Do you need support for X? (y/n)" default:"y" }}
{{ if xserver == "y": }}
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
XSERVER = "xserver-xorg \
           xf86-input-evdev \
           xf86-input-mouse \
           xf86-video-omapfb \
           xf86-input-keyboard"

# Ship all kernel modules by default
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"

# Allow for MMC booting (required by the NAND-less Beagleboard XM)
EXTRA_IMAGEDEPENDS += "u-boot x-load"

# Uncomment the following line to enable the hard floating point abi. Note that
# this breaks some binary libraries and 3D (neither of which ship with
# meta-yocto). For maximum compatibility, leave this disabled.
#DEFAULTTUNE ?= "cortexa8hf-neon"
{{ input type:"choicelist" name:"tunefile" prio:"40" msg:"Which machine tuning would you like to use?" default:"tune_cortexa8" }}
{{ input type:"choice" val:"tune_arm1136jf_s" msg:"arm1136jf-s tuning optimizations" }}
{{ input type:"choice" val:"tune_arm920t" msg:"arm920t tuning optimizations" }}
{{ input type:"choice" val:"tune_arm926ejs" msg:"arm926ejs tuning optimizations" }}
{{ input type:"choice" val:"tune_arm9tdmi" msg:"arm9tdmi tuning optimizations" }}
{{ input type:"choice" val:"tune_cortexa8" msg:"cortexa8 tuning optimizations" }}
{{ input type:"choice" val:"tune_cortexa9" msg:"cortexa9 tuning optimizations" }}
{{ input type:"choice" val:"tune_cortexm1" msg:"cortexm1 tuning optimizations" }}
{{ input type:"choice" val:"tune_cortexm3" msg:"cortexm3 tuning optimizations" }}
{{ input type:"choice" val:"tune_cortexr4" msg:"cortexr4 tuning optimizations" }}
{{ input type:"choice" val:"tune_ep9312" msg:"ep9312 tuning optimizations" }}
{{ input type:"choice" val:"tune_iwmmxt" msg:"iwmmxt tuning optimizations" }}
{{ input type:"choice" val:"tune_strongarm1100" msg:"strongarm1100 tuning optimizations" }}
{{ input type:"choice" val:"tune_xscale" msg:"xscale tuning optimizations" }}
{{ if tunefile == "tune_arm1136jf_s": }}
include conf/machine/include/tune-arm1136jf-s.inc
{{ if tunefile == "tune_arm920t": }}
include conf/machine/include/tune-arm920t.inc
{{ if tunefile == "tune_arm926ejs": }}
include conf/machine/include/tune-arm926ejs.inc
{{ if tunefile == "tune_arm9tdmi": }}
include conf/machine/include/tune-arm9tdmi.inc
{{ if tunefile == "tune_cortexa8": }}
include conf/machine/include/tune-cortexa8.inc
{{ if tunefile == "tune_cortexa9": }}
include conf/machine/include/tune-cortexa9.inc
{{ if tunefile == "tune_cortexm1": }}
include conf/machine/include/tune-cortexm1.inc
{{ if tunefile == "tune_cortexm3": }}
include conf/machine/include/tune-cortexm3.inc
{{ if tunefile == "tune_cortexr4": }}
include conf/machine/include/tune-cortexr4.inc
{{ if tunefile == "tune_ep9312": }}
include conf/machine/include/tune-ep9312.inc
{{ if tunefile == "tune_iwmmxt": }}
include conf/machine/include/tune-iwmmxt.inc
{{ if tunefile == "tune_strongarm1100": }}
include conf/machine/include/tune-strongarm1100.inc
{{ if tunefile == "tune_xscale": }}
include conf/machine/include/tune-xscale.inc

IMAGE_FSTYPES += "tar.bz2 jffs2"
EXTRA_IMAGECMD_jffs2 = "-lnp "

# 2.6.37 and later kernels use OMAP_SERIAL, ttyO2
# earlier kernels use ttyS2
SERIAL_CONSOLE = "115200 ttyO2"

{{ preferred_kernel = kernel_choice.split('_')[0] }}
{{ preferred_kernel_version = kernel_choice.split('_')[1] }}
PREFERRED_PROVIDER_virtual/kernel ?= "{{=preferred_kernel}}"
PREFERRED_VERSION_{{=preferred_kernel}} ?= "{{=preferred_kernel_version}}%"

KERNEL_IMAGETYPE = "uImage"

{{ input type:"edit" name:"uboot_machine" prio:"40" msg:"Please specify a value for UBOOT_MACHINE:" default:"omap3_beagle_config" }}
UBOOT_MACHINE = "{{=uboot_machine}}"
{{ input type:"edit" name:"uboot_entrypoint" prio:"40" msg:"Please specify a value for UBOOT_ENTRYPOINT:" default:"0x80008000" }}
UBOOT_ENTRYPOINT = "{{=uboot_entrypoint}}"
{{ input type:"edit" name:"uboot_loadaddress" prio:"40" msg:"Please specify a value for UBOOT_LOADADDRESS:" default:"0x80008000" }}
UBOOT_LOADADDRESS = "{{=uboot_loadaddress}}"

MACHINE_FEATURES = "apm usbgadget usbhost vfat alsa"
