DEFAULTTUNE ?= "armv6hf"

TUNEVALID[armv6] = "Enable instructions for ARMv6"
TUNECONFLICTS[armv6] = "armv4 armv5"
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 'armv6:', '', d)}"

require conf/machine/include/arm/arch-armv5-dsp.inc

# Little Endian
AVAILTUNES += "armv6-novfp armv6t-novfp armv6 armv6t armv6hf armv6thf"
ARMPKGARCH:tune-armv6-novfp  ?= "armv6"
ARMPKGARCH:tune-armv6t-novfp ?= "armv6"
ARMPKGARCH:tune-armv6        ?= "armv6"
ARMPKGARCH:tune-armv6t       ?= "armv6"
ARMPKGARCH:tune-armv6hf      ?= "armv6"
ARMPKGARCH:tune-armv6thf     ?= "armv6"
TUNE_FEATURES:tune-armv6-novfp  = "arm armv6"
TUNE_FEATURES:tune-armv6t-novfp = "${TUNE_FEATURES:tune-armv6-novfp} thumb"
TUNE_FEATURES:tune-armv6        = "${TUNE_FEATURES:tune-armv6-novfp} vfp"
TUNE_FEATURES:tune-armv6t       = "${TUNE_FEATURES:tune-armv6t-novfp} vfp"
TUNE_FEATURES:tune-armv6hf      = "${TUNE_FEATURES:tune-armv6} callconvention-hard"
TUNE_FEATURES:tune-armv6thf     = "${TUNE_FEATURES:tune-armv6t} callconvention-hard"
PACKAGE_EXTRA_ARCHS:tune-armv6-novfp  = "${PACKAGE_EXTRA_ARCHS:tune-armv5e} armv6"
PACKAGE_EXTRA_ARCHS:tune-armv6t-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5te} armv6 armv6t"
PACKAGE_EXTRA_ARCHS:tune-armv6        = "${PACKAGE_EXTRA_ARCHS:tune-armv5e-vfp} armv6 armv6-vfp"
PACKAGE_EXTRA_ARCHS:tune-armv6t       = "${PACKAGE_EXTRA_ARCHS:tune-armv5te-vfp} armv6 armv6t armv6-vfp armv6t-vfp"
PACKAGE_EXTRA_ARCHS:tune-armv6hf      = "${PACKAGE_EXTRA_ARCHS:tune-armv5ehf-vfp} armv6hf-vfp"
PACKAGE_EXTRA_ARCHS:tune-armv6thf     = "${PACKAGE_EXTRA_ARCHS:tune-armv5tehf-vfp} armv6hf-vfp armv6thf-vfp"

# Big Endian
AVAILTUNES += "armv6b-novfp armv6tb-novfp armv6b armv6tb armv6hfb armv6thfb"
ARMPKGARCH:tune-armv6b-novfp  ?= "armv6"
ARMPKGARCH:tune-armv6tb-novfp ?= "armv6"
ARMPKGARCH:tune-armv6b        ?= "armv6"
ARMPKGARCH:tune-armv6tb       ?= "armv6"
ARMPKGARCH:tune-armv6hfb      ?= "armv6"
ARMPKGARCH:tune-armv6thfb     ?= "armv6"
TUNE_FEATURES:tune-armv6b-novfp  = "${TUNE_FEATURES:tune-armv6-novfp} bigendian"
TUNE_FEATURES:tune-armv6tb-novfp = "${TUNE_FEATURES:tune-armv6t-novfp} bigendian"
TUNE_FEATURES:tune-armv6b =        "${TUNE_FEATURES:tune-armv6} bigendian"
TUNE_FEATURES:tune-armv6tb =       "${TUNE_FEATURES:tune-armv6t} bigendian"
TUNE_FEATURES:tune-armv6hfb =      "${TUNE_FEATURES:tune-armv6hf} bigendian"
TUNE_FEATURES:tune-armv6thfb =     "${TUNE_FEATURES:tune-armv6thf} bigendian"
PACKAGE_EXTRA_ARCHS:tune-armv6b-novfp  = "${PACKAGE_EXTRA_ARCHS:tune-armv5eb} armv6b"
PACKAGE_EXTRA_ARCHS:tune-armv6tb-novfp = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb} armv6b armv6tb"
PACKAGE_EXTRA_ARCHS:tune-armv6b        = "${PACKAGE_EXTRA_ARCHS:tune-armv5eb-vfp} armv6b armv6b-vfp"
PACKAGE_EXTRA_ARCHS:tune-armv6tb       = "${PACKAGE_EXTRA_ARCHS:tune-armv5teb-vfp} armv6b armv6tb armv6b-vfp armv6tb-vfp"
PACKAGE_EXTRA_ARCHS:tune-armv6hfb      = "${PACKAGE_EXTRA_ARCHS:tune-armv5ehfb-vfp} armv6hfb-vfp"
PACKAGE_EXTRA_ARCHS:tune-armv6thfb     = "${PACKAGE_EXTRA_ARCHS:tune-armv5tehfb-vfp} armv6hfb-vfp armv6thfb-vfp"
