# yocto-bsp-filename {{=machine}}.conf
#@TYPE: Machine
#@NAME: {{=machine}}

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

{{ if kernel_choice == "custom": preferred_kernel = "linux-yocto-custom" }}
{{ if kernel_choice == "linux-yocto-dev": preferred_kernel = "linux-yocto-dev" }}
{{ if kernel_choice == "custom" or kernel_choice == "linux-yocto-dev" : }}
PREFERRED_PROVIDER_virtual/kernel ?= "{{=preferred_kernel}}"

{{ if kernel_choice != "custom" and kernel_choice != "linux-yocto-dev": preferred_kernel = kernel_choice.split('_')[0] }}
{{ if kernel_choice != "custom" and kernel_choice != "linux-yocto-dev": preferred_kernel_version = kernel_choice.split('_')[1] }}
{{ if kernel_choice != "custom" and kernel_choice != "linux-yocto-dev": }}
PREFERRED_PROVIDER_virtual/kernel ?= "{{=preferred_kernel}}"
PREFERRED_VERSION_{{=preferred_kernel}} ?= "{{=preferred_kernel_version}}%"

{{ input type:"choicelist" name:"tunefile" prio:"40" msg:"Which machine tuning would you like to use?" default:"tune_core2" }}
{{ input type:"choice" val:"tune_i586" msg:"i586 tuning optimizations" }}
{{ input type:"choice" val:"tune_atom" msg:"Atom tuning optimizations" }}
{{ input type:"choice" val:"tune_core2" msg:"Core2 tuning optimizations" }}
{{ if tunefile == "tune_i586": }}
require conf/machine/include/tune-i586.inc
{{ if tunefile == "tune_atom": }}
require conf/machine/include/tune-atom.inc
{{ if tunefile == "tune_core2": }}
DEFAULTTUNE="core2-32"
require conf/machine/include/tune-core2.inc

require conf/machine/include/x86-base.inc

MACHINE_FEATURES += "wifi efi pcbios"

{{ input type:"boolean" name:"xserver" prio:"50" msg:"Do you need support for X? (y/n)" default:"y" }}

{{ if xserver == "y" and (kernel_choice == "linux-yocto_4.4" or kernel_choice == "linux-yocto_4.1"): }}
{{ input type:"choicelist" name:"xserver_choice" prio:"50" msg:"Please select an xserver for this machine:" default:"xserver_vesa" }}
{{ input type:"choice" val:"xserver_vesa" msg:"VESA xserver support" }}
{{ input type:"choice" val:"xserver_i915" msg:"i915 xserver support" }}
{{ input type:"choice" val:"xserver_i965" msg:"i965 xserver support" }}
{{ input type:"choice" val:"xserver_fbdev" msg:"fbdev xserver support" }}
{{ input type:"choice" val:"xserver_modesetting" msg:"modesetting xserver support" }}

{{ if xserver == "y" and kernel_choice == "custom": }}
{{ input type:"choicelist" name:"xserver_choice" prio:"50" msg:"Please select an xserver for this machine:" default:"xserver_vesa" }}
{{ input type:"choice" val:"xserver_vesa" msg:"VESA xserver support" }}
{{ input type:"choice" val:"xserver_i915" msg:"i915 xserver support" }}
{{ input type:"choice" val:"xserver_i965" msg:"i965 xserver support" }}
{{ input type:"choice" val:"xserver_fbdev" msg:"fbdev xserver support" }}
{{ input type:"choice" val:"xserver_modesetting" msg:"modesetting xserver support" }}

{{ if xserver == "y" and kernel_choice != "linux-yocto_4.4" and kernel_choice != "linux-yocto_4.1" and kernel_choice != "custom": xserver_choice = "xserver_i915" }}

{{ if xserver == "y": }}
XSERVER ?= "${XSERVER_X86_BASE} \
           ${XSERVER_X86_EXT} \
{{ if xserver == "y" and xserver_choice == "xserver_vesa": }}
           ${XSERVER_X86_VESA} \
{{ if xserver == "y" and xserver_choice == "xserver_i915": }}
           ${XSERVER_X86_I915} \
{{ if xserver == "y" and xserver_choice == "xserver_i965": }}
           ${XSERVER_X86_I965} \
{{ if xserver == "y" and xserver_choice == "xserver_fbdev": }}
           ${XSERVER_X86_FBDEV} \
{{ if xserver == "y" and xserver_choice == "xserver_modesetting": }}
           ${XSERVER_X86_MODESETTING} \
{{ if xserver == "y": }}
           "

MACHINE_EXTRA_RRECOMMENDS += "linux-firmware v86d eee-acpi-scripts"

EXTRA_OECONF_append_pn-matchbox-panel-2 = " --with-battery=acpi"

GLIBC_ADDONS = "nptl"

{{ if xserver == "y" and xserver_choice == "xserver_vesa": }}
APPEND += "video=vesafb vga=0x318"
