summaryrefslogtreecommitdiff
path: root/conf/machine/include
diff options
context:
space:
mode:
Diffstat (limited to 'conf/machine/include')
-rw-r--r--conf/machine/include/.mtn2git_empty0
-rw-r--r--conf/machine/include/AT91-LCD.inc15
-rw-r--r--conf/machine/include/AT91.inc51
-rw-r--r--conf/machine/include/afeb9260.inc24
-rw-r--r--conf/machine/include/davinci.inc25
-rw-r--r--conf/machine/include/dm355.inc2
-rw-r--r--conf/machine/include/dm365.inc12
-rw-r--r--conf/machine/include/dm6446.inc13
-rw-r--r--conf/machine/include/gumstix.inc1
-rw-r--r--conf/machine/include/htc-msm7.inc23
-rw-r--r--conf/machine/include/initramfs-kexecboot.inc13
-rw-r--r--conf/machine/include/kexecboot.inc15
-rw-r--r--conf/machine/include/kirkwood.inc24
-rw-r--r--conf/machine/include/lsppc.inc14
-rw-r--r--conf/machine/include/motorola-ezx-base.inc6
-rw-r--r--conf/machine/include/omap3.inc23
-rw-r--r--conf/machine/include/omapl137.inc1
-rw-r--r--conf/machine/include/omapl138.inc1
-rw-r--r--conf/machine/include/orion.inc24
-rw-r--r--conf/machine/include/palm.inc1
-rw-r--r--conf/machine/include/tune-arm1136-novfp.inc10
-rw-r--r--conf/machine/include/tune-arm1136jf-s.inc4
-rw-r--r--conf/machine/include/tune-arm1176jzf-s.inc7
-rw-r--r--conf/machine/include/tune-arm920t.inc4
-rw-r--r--conf/machine/include/tune-arm926ejs.inc5
-rw-r--r--conf/machine/include/tune-arm9tdmi.inc5
-rw-r--r--conf/machine/include/tune-armv7.inc5
-rw-r--r--conf/machine/include/tune-athlonmp.inc1
-rw-r--r--conf/machine/include/tune-atom.inc9
-rw-r--r--conf/machine/include/tune-c3.inc1
-rw-r--r--conf/machine/include/tune-cortexa8.inc1
-rw-r--r--conf/machine/include/tune-cortexa9.inc9
-rw-r--r--conf/machine/include/tune-ep9312.inc11
-rw-r--r--conf/machine/include/tune-geode.inc5
-rw-r--r--conf/machine/include/tune-geodelx.inc7
-rw-r--r--conf/machine/include/tune-i486sx.inc9
-rw-r--r--conf/machine/include/tune-iwmmxt.inc2
-rw-r--r--conf/machine/include/tune-mips32.inc1
-rw-r--r--conf/machine/include/tune-pentium.inc2
-rw-r--r--conf/machine/include/tune-pentium4c.inc2
-rw-r--r--conf/machine/include/tune-pentiummmx.inc4
-rw-r--r--conf/machine/include/tune-pentiumpro.inc2
-rw-r--r--conf/machine/include/tune-ppc405.inc1
-rw-r--r--conf/machine/include/tune-ppc440.inc1
-rw-r--r--conf/machine/include/tune-ppc440e.inc1
-rw-r--r--conf/machine/include/tune-ppc603e.inc1
-rw-r--r--conf/machine/include/tune-ppce300c2.inc1
-rw-r--r--conf/machine/include/tune-ppce300c3.inc1
-rw-r--r--conf/machine/include/tune-ppce500.inc1
-rw-r--r--conf/machine/include/tune-ppce500v2.inc4
-rw-r--r--conf/machine/include/tune-sh3.inc1
-rw-r--r--conf/machine/include/tune-sh4.inc1
-rw-r--r--conf/machine/include/tune-strongarm.inc6
-rw-r--r--conf/machine/include/tune-thumb.inc2
-rw-r--r--conf/machine/include/tune-x86-nocona.inc1
-rw-r--r--conf/machine/include/tune-x86-prescott.inc1
-rw-r--r--conf/machine/include/tune-xscale.inc12
-rw-r--r--conf/machine/include/zaurus-2.6.inc108
-rw-r--r--conf/machine/include/zaurus-kernel.inc16
59 files changed, 448 insertions, 105 deletions
diff --git a/conf/machine/include/.mtn2git_empty b/conf/machine/include/.mtn2git_empty
deleted file mode 100644
index e69de29bb2..0000000000
--- a/conf/machine/include/.mtn2git_empty
+++ /dev/null
diff --git a/conf/machine/include/AT91-LCD.inc b/conf/machine/include/AT91-LCD.inc
new file mode 100644
index 0000000000..3036295f48
--- /dev/null
+++ b/conf/machine/include/AT91-LCD.inc
@@ -0,0 +1,15 @@
+# Common description for Atmel ARM processors with LCD controller
+
+include conf/machine/include/AT91.inc
+
+MACHINE_FEATURES += "screen touchscreen keyboard"
+
+# Some options we disable for now
+# MACHINE_FEATURES += "apm"
+# MACHINE_FEATURES += "lcd"
+# MACHINE_FEATURES += "bluetooth wifi irda phone gps"
+# MACHINE_FEATURES += "mmc mmcroot fat"
+# MACHINE_FEATURES += "i2c spi serial"
+# MACHINE_FEATURES += "sound libogg libvorbis"
+
+
diff --git a/conf/machine/include/AT91.inc b/conf/machine/include/AT91.inc
new file mode 100644
index 0000000000..6c0f8f04ac
--- /dev/null
+++ b/conf/machine/include/AT91.inc
@@ -0,0 +1,51 @@
+# Common description for Atmel ARM processors
+
+TARGET_ARCH = "arm"
+#PACKAGE_EXTRA_ARCHS = "armv4t armv5te"
+CPU_FAMILY = "at91"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux"
+PREFERRED_VERSION_linux = "2.6.32"
+
+#PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
+#PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-1300"
+#PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
+#PREFERRED_PROVIDER_xserver = "xserver-xorg"
+#PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+#XSERVER = "xserver-kdrive-fbdev"
+# Angstrom defines:
+#PREFERRED_VERSION_xserver-kdrive = "1.4.0.90"
+#PREFERRED_VERSION_xserver-kdrive = "1.6.1"
+
+PREFERRED_PROVIDER_at91bootstrap = "at91bootstrap_2.13"
+PREFERRED_VERSION_at91bootstrap = "2.13"
+
+PREFERRED_PROVIDER_u-boot = "u-boot_2009.08"
+PREFERRED_VERSION_u-boot = "2009.08"
+
+KERNEL_IMAGETYPE = "uImage"
+
+# PREFERRED_VERSION_mplayer = "svn"
+
+#don't try to access tty1
+USE_VT = "0"
+
+MACHINE_FEATURES = " kernel26 alsa ext2 usbgadget vfat uboot "
+EXTRA_IMAGEDEPENDS += "u-boot"
+EXTRA_IMAGEDEPENDS += "at91bootstrap"
+
+MACHINE_EXTRA_RDEPENDS += " kernel-modules "
+#MACHINE_EXTRA_RDEPENDS += " atmel-fixes "
+
+# used by sysvinit_2
+SERIAL_CONSOLE = "115200 ttyS0"
+IMAGE_FSTYPES ?= "jffs2"
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
+#
+# Uncomment or add kernel modules that should be autoloaded
+#module_autoload_g_file_storage = ${@base_contains('MACHINE_FEATURES', 'usbgadget', 'g_file_storage', '',d)}
+#module_autoload_g_ether = ${@base_contains('MACHINE_FEATURES', 'usbgadget', 'g_ether', '',d)}
+module_autoload_g_serial = ${@base_contains('MACHINE_FEATURES', 'usbgadget', 'g_serial', '',d)}
+
+require conf/machine/include/tune-arm926ejs.inc
+
diff --git a/conf/machine/include/afeb9260.inc b/conf/machine/include/afeb9260.inc
new file mode 100644
index 0000000000..cb3ff9bbe9
--- /dev/null
+++ b/conf/machine/include/afeb9260.inc
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@Name: AFEB9260 development board http://www.oshw.ru/
+
+TARGET_ARCH = "arm"
+#PACKAGE_EXTRA_ARCHS = "armv4t armv5te"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+XSERVER = "xserver-kdrive-fbdev"
+
+KERNEL_IMAGETYPE = "uImage"
+
+#don't try to access tty1
+USE_VT = "0"
+
+MACHINE_FEATURES = "kernel26 ext2 usbhost usbgadget"
+EXTRA_IMAGEDEPENDS += "at91bootstrap u-boot"
+
+# used by sysvinit_2
+SERIAL_CONSOLE = "115200 ttyS0"
+IMAGE_FSTYPES ?= "jffs2"
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
+
+require conf/machine/include/tune-arm926ejs.inc
diff --git a/conf/machine/include/davinci.inc b/conf/machine/include/davinci.inc
new file mode 100644
index 0000000000..a262059d45
--- /dev/null
+++ b/conf/machine/include/davinci.inc
@@ -0,0 +1,25 @@
+require conf/machine/include/tune-arm926ejs.inc
+
+# Increase this everytime you change something in the kernel
+MACHINE_KERNEL_PR = "r32"
+
+TARGET_ARCH = "arm"
+
+KERNEL_IMAGETYPE = "uImage"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-davinci"
+
+PREFERRED_PROVIDER_virtual/bootloader = "u-boot"
+UBOOT_MACHINE = "davinci_dvevm_config"
+
+UBOOT_ENTRYPOINT = "0x80008000"
+UBOOT_LOADADDRESS = "0x80008000"
+
+EXTRA_IMAGEDEPENDS += "u-boot"
+
+SERIAL_CONSOLE ?= "115200 ttyS0"
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
+
+#ROOT_FLASH_SIZE = "29"
+
+MACHINE_FEATURES = "kernel26 serial ethernet usbhost usbgadget mmc alsa"
diff --git a/conf/machine/include/dm355.inc b/conf/machine/include/dm355.inc
new file mode 100644
index 0000000000..d666d5e030
--- /dev/null
+++ b/conf/machine/include/dm355.inc
@@ -0,0 +1,2 @@
+SOC_FAMILY = "dm355"
+
diff --git a/conf/machine/include/dm365.inc b/conf/machine/include/dm365.inc
new file mode 100644
index 0000000000..c53680ea63
--- /dev/null
+++ b/conf/machine/include/dm365.inc
@@ -0,0 +1,12 @@
+SOC_FAMILY = "dm365"
+
+
+# DMAI
+PLATFORM = "dm365"
+XDC_PLATFORM = ti.platforms.evmDM365
+
+# Obsoleted (CE examples rebuild)
+#GPPOS = "LINUX_GCC"
+
+# DMAI recipe
+#TARGET = "dm365_al"
diff --git a/conf/machine/include/dm6446.inc b/conf/machine/include/dm6446.inc
new file mode 100644
index 0000000000..c14e573c74
--- /dev/null
+++ b/conf/machine/include/dm6446.inc
@@ -0,0 +1,13 @@
+SOC_FAMILY = "dm6446"
+
+# TI DVSDK stuff:
+DSPCFG ?= "DM6446GEMSHMEM"
+DSPLINKDSPCFG ?= "DM6446GEMSHMEM"
+DSPLINKGPPOS ?= "MVL5G"
+DSPLINKPLATFORM ?= "DAVINCI"
+DSPLINKSOC ?= "DM6446"
+DSPPOWERSOC ?= "DM6446"
+GPPOS ?= "LINUX_GCC"
+PLATFORM ?= "dm6446"
+XDC_PLATFORM ?= "ti.platforms.evmDM6446"
+
diff --git a/conf/machine/include/gumstix.inc b/conf/machine/include/gumstix.inc
index 5aa789e5aa..64cf184fab 100644
--- a/conf/machine/include/gumstix.inc
+++ b/conf/machine/include/gumstix.inc
@@ -5,7 +5,6 @@
# Don't edit this file unless you *really* know what you are doing!
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te "
#Compile with armv5te optimizations, incompatible with armv4(t) cpus
require conf/machine/include/tune-xscale.inc
diff --git a/conf/machine/include/htc-msm7.inc b/conf/machine/include/htc-msm7.inc
new file mode 100644
index 0000000000..5d7596f38d
--- /dev/null
+++ b/conf/machine/include/htc-msm7.inc
@@ -0,0 +1,23 @@
+# kernel
+PREFERRED_PROVIDER_virtual/kernel = "linux-msm7xxxx"
+
+# xserver
+PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
+XSERVER = "xserver-kdrive-fbdev"
+
+# capability database
+MACHINE_DISPLAY_WIDTH_PIXELS = "480"
+MACHINE_DISPLAY_HEIGHT_PIXELS = "640"
+
+# use this for overrides
+MACHINE_CLASS = "htc-msm7"
+
+# features
+MACHINE_FEATURES = "kernel26 touchscreen screen phone gps usb keyboard"
+
+# filesystems
+IMAGE_FSTYPES = "tar.gz"
+
+# CPU
+require conf/machine/include/tune-arm1136-novfp.inc
+
diff --git a/conf/machine/include/initramfs-kexecboot.inc b/conf/machine/include/initramfs-kexecboot.inc
new file mode 100644
index 0000000000..6ee1ddc3fa
--- /dev/null
+++ b/conf/machine/include/initramfs-kexecboot.inc
@@ -0,0 +1,13 @@
+# initramfs-kexecboot specific config options
+
+MACHINE_FEATURES_append = " kexecboot "
+
+EXTRA_IMAGEDEPENDS += "linux-kexecboot"
+
+# Include kernel image in kexecboot enabled images
+RDEPENDS_kernel-base = "kernel-image"
+
+# we store kernel images in rootfs and only a minimal initramfs kernel in nand for booting other kernels
+DONT_CHECK_KERNELSIZE ?= "1"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_append = " kexecboot-cfg"
diff --git a/conf/machine/include/kexecboot.inc b/conf/machine/include/kexecboot.inc
deleted file mode 100644
index 8158f3ca02..0000000000
--- a/conf/machine/include/kexecboot.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-# kexecboot specific config options
-
-# NOTE: include this file after zaurus-2.6.inc for zaurus machines
-
-MACHINE_FEATURES_append = "kexecboot"
-
-# Include Kernel image in kexecboot enabled images
-RDEPENDS_kernel-base = "kernel-image"
-
-# we store kernel images in rootfs and only a minimal initramfs kernel in mtd1 for booting other kernels
-DONT_CHECK_KERNELSIZE ?= "1"
-
-IMAGE_DEVICE_TABLES ?= "files/device_table-minimal.txt"
-#add some device nodes for kexecboot
-IMAGE_DEVICE_TABLES_append = " files/device_table-kexecboot.txt"
diff --git a/conf/machine/include/kirkwood.inc b/conf/machine/include/kirkwood.inc
new file mode 100644
index 0000000000..c3c59aa48b
--- /dev/null
+++ b/conf/machine/include/kirkwood.inc
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@DESCRIPTION: Machine configuration for various different Marvell Kirkwood based devices
+
+TARGET_ARCH = "arm"
+
+MACHINE_FEATURES = "kernel26 usbhost ext2 vfat mmc"
+MACHINE_TASK_PROVIDER = "task-base"
+
+USE_DEVFS = "0"
+
+PREFERRED_PROVIDER_virtual/bootloader = ""
+PREFERRED_PROVIDER_virtual/kernel = "linux-kirkwood"
+
+MACHINE_KERNEL_PR = "r14"
+
+IMAGE_FSTYPES += "tar.gz ubi"
+SERIAL_CONSOLE = "ttyS0 115200"
+
+# Currently all the orion devices we support use uImage
+KERNEL_IMAGETYPE = "uImage"
+UBOOT_ENTRYPOINT = "0x00008000"
+UBOOT_LOADADDRESS = "0x00008000"
+
+require conf/machine/include/tune-arm926ejs.inc
diff --git a/conf/machine/include/lsppc.inc b/conf/machine/include/lsppc.inc
index 632a9ed4cc..50a3ab3c57 100644
--- a/conf/machine/include/lsppc.inc
+++ b/conf/machine/include/lsppc.inc
@@ -2,11 +2,12 @@
#@Name: Buffalo PPC Linkstations
#@DESCRIPTION: Generic Machine configuration for ppc based linkstations
-
TARGET_ARCH = "powerpc"
-PACKAGE_EXTRA_ARCHS = "ppc ppc603e"
-MACHINE_FEATURES = "kernel26 usbhost ext2 pci uboot"
-TARGET_FPU = "hard"
+PACKAGE_EXTRA_ARCHS = "ppc"
+
+MACHINE_FEATURES = "kernel26 usbhost ext2"
+MACHINE_EXTRA_RDEPENDS = "kernel-devicetree avr-evtd"
+MACHINE_EXTRA_RRECOMMENDS = "u-boot-utils"
USE_DEVFS = "0"
@@ -22,5 +23,8 @@ udevdir = "/dev"
IMAGE_DEVICE_TABLES = "files/device_table-slugos.txt"
IMAGE_FSTYPES = "tar.gz"
-#tune for the MPC5200B cpu
+KERNEL_IMAGETYPE = "uImage"
+UBOOT_ENTRYPOINT = "0x00000000"
+UBOOT_LOADADDRESS = "0x00000000"
+
require conf/machine/include/tune-ppc603e.inc
diff --git a/conf/machine/include/motorola-ezx-base.inc b/conf/machine/include/motorola-ezx-base.inc
index 52c2b04690..75c0f42f7d 100644
--- a/conf/machine/include/motorola-ezx-base.inc
+++ b/conf/machine/include/motorola-ezx-base.inc
@@ -1,8 +1,7 @@
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te iwmmxt"
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-ezx"
+PREFERRED_PROVIDER_virtual/kernel ?= "openezx-kernel"
#cat /proc/mtd
#dev: size erasesize name
@@ -19,6 +18,9 @@ MACHINE_DISPLAY_HEIGHT_PIXELS = "320"
MACHINE_DISPLAY_ORIENTATION = "0"
MACHINE_DISPLAY_PPI = "180"
+# use this for overrides
+MACHINE_CLASS = "motorola-ezx"
+
XSERVER = "xserver-kdrive-fbdev"
ROOT_FLASH_SIZE = "24"
diff --git a/conf/machine/include/omap3.inc b/conf/machine/include/omap3.inc
new file mode 100644
index 0000000000..dd1188b7c5
--- /dev/null
+++ b/conf/machine/include/omap3.inc
@@ -0,0 +1,23 @@
+SOC_FAMILY = "omap3"
+
+require conf/machine/include/tune-cortexa8.inc
+PREFERRED_PROVIDER_virtual/kernel = "linux-omap"
+# Increase this everytime you change something in the kernel
+MACHINE_KERNEL_PR = "r51"
+
+KERNEL_IMAGETYPE = "uImage"
+
+UBOOT_ENTRYPOINT = "0x80008000"
+UBOOT_LOADADDRESS = "0x80008000"
+
+# Only build u-boot, xload is optional
+EXTRA_IMAGEDEPENDS += "u-boot"
+
+# TI DVSDK stuff:
+# DSPLink rebuild
+DSPLINKDSPCFG ?= "OMAP3530SHMEM"
+DSPLINKGPPOS ?= "OMAPLSP"
+DSPLINKPLATFORM ?= "OMAP3530"
+DSPLINKSOC ?= "3530"
+
+
diff --git a/conf/machine/include/omapl137.inc b/conf/machine/include/omapl137.inc
new file mode 100644
index 0000000000..cd84594f86
--- /dev/null
+++ b/conf/machine/include/omapl137.inc
@@ -0,0 +1 @@
+SOC_FAMILY = "omapl137"
diff --git a/conf/machine/include/omapl138.inc b/conf/machine/include/omapl138.inc
new file mode 100644
index 0000000000..4c222753df
--- /dev/null
+++ b/conf/machine/include/omapl138.inc
@@ -0,0 +1 @@
+SOC_FAMILY = "omapl138"
diff --git a/conf/machine/include/orion.inc b/conf/machine/include/orion.inc
new file mode 100644
index 0000000000..9e16805bd2
--- /dev/null
+++ b/conf/machine/include/orion.inc
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@DESCRIPTION: Machine configuration for various different Marvell Orion based devices
+
+TARGET_ARCH = "arm"
+
+MACHINE_FEATURES = "kernel26 usbhost ext2 vfat"
+MACHINE_TASK_PROVIDER = "task-base"
+
+USE_DEVFS = "0"
+
+PREFERRED_PROVIDER_virtual/bootloader = ""
+PREFERRED_PROVIDER_virtual/kernel = "linux-orion"
+PREFERRED_VERSION_linux-orion = "2.6.28.4"
+
+IMAGE_DEVICE_TABLES = "files/device_table-slugos.txt"
+IMAGE_FSTYPES = "tar.gz"
+SERIAL_CONSOLE = "ttyS0 115200"
+
+# Currently all the orion devices we support use uImage
+KERNEL_IMAGETYPE = "uImage"
+UBOOT_ENTRYPOINT = "0x00008000"
+UBOOT_LOADADDRESS = "0x00008000"
+
+require conf/machine/include/tune-arm926ejs.inc
diff --git a/conf/machine/include/palm.inc b/conf/machine/include/palm.inc
index 22c6ad4233..5394855523 100644
--- a/conf/machine/include/palm.inc
+++ b/conf/machine/include/palm.inc
@@ -3,7 +3,6 @@
#
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "arm armv4t armv5te"
SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/conf/machine/include/tune-arm1136-novfp.inc b/conf/machine/include/tune-arm1136-novfp.inc
new file mode 100644
index 0000000000..e1f7945a0f
--- /dev/null
+++ b/conf/machine/include/tune-arm1136-novfp.inc
@@ -0,0 +1,10 @@
+TARGET_ARCH = "arm"
+TARGET_CC_ARCH = "-march=armv6j -mtune=arm1136jf-s"
+
+# Not all kernels enable floating point emulation in the kernel, so we exclude 'armv6' for now
+FEED_ARCH = "armv6-novfp"
+BASE_PACKAGE_ARCH = "armv6-novfp"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6-novfp"
+
+# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish
+require conf/machine/include/tune-thumb.inc
diff --git a/conf/machine/include/tune-arm1136jf-s.inc b/conf/machine/include/tune-arm1136jf-s.inc
index 0f5aef5ea4..c532b9c816 100644
--- a/conf/machine/include/tune-arm1136jf-s.inc
+++ b/conf/machine/include/tune-arm1136jf-s.inc
@@ -1,3 +1,7 @@
TARGET_CC_ARCH = "-march=armv6j -mtune=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp"
FEED_ARCH = "armv6"
BASE_PACKAGE_ARCH = "armv6"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6"
+
+# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish
+require conf/machine/include/tune-thumb.inc
diff --git a/conf/machine/include/tune-arm1176jzf-s.inc b/conf/machine/include/tune-arm1176jzf-s.inc
new file mode 100644
index 0000000000..b7c5291731
--- /dev/null
+++ b/conf/machine/include/tune-arm1176jzf-s.inc
@@ -0,0 +1,7 @@
+TARGET_CC_ARCH = "-march=armv6j -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=softfp"
+FEED_ARCH = "armv6"
+BASE_PACKAGE_ARCH = "armv6"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6"
+
+# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish
+require conf/machine/include/tune-thumb.inc
diff --git a/conf/machine/include/tune-arm920t.inc b/conf/machine/include/tune-arm920t.inc
index 1f7a04bb3b..5a373e9d80 100644
--- a/conf/machine/include/tune-arm920t.inc
+++ b/conf/machine/include/tune-arm920t.inc
@@ -1,4 +1,8 @@
FEED_ARCH = "armv4t"
BASE_PACKAGE_ARCH = "armv4t"
TARGET_CC_ARCH = "-march=armv4t -mtune=arm920t"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t"
+
+# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish
+require conf/machine/include/tune-thumb.inc
diff --git a/conf/machine/include/tune-arm926ejs.inc b/conf/machine/include/tune-arm926ejs.inc
index e80ef10490..f6f5064548 100644
--- a/conf/machine/include/tune-arm926ejs.inc
+++ b/conf/machine/include/tune-arm926ejs.inc
@@ -1,7 +1,10 @@
FEED_ARCH = "armv5te"
-
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te"
# For gcc 3.x you need:
#TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ejs"
# For gcc 4.x you need:
TARGET_CC_ARCH = "-march=armv5te -mtune=arm926ej-s"
BASE_PACKAGE_ARCH = "armv5te"
+
+# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish
+require conf/machine/include/tune-thumb.inc
diff --git a/conf/machine/include/tune-arm9tdmi.inc b/conf/machine/include/tune-arm9tdmi.inc
index 50aaec1320..a11ee381d5 100644
--- a/conf/machine/include/tune-arm9tdmi.inc
+++ b/conf/machine/include/tune-arm9tdmi.inc
@@ -1,3 +1,8 @@
FEED_ARCH = "armv4t"
BASE_PACKAGE_ARCH = "armv4t"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t"
TARGET_CC_ARCH = "-mcpu=arm9tdmi -mtune=arm9tdmi"
+
+# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish
+require conf/machine/include/tune-thumb.inc
+
diff --git a/conf/machine/include/tune-armv7.inc b/conf/machine/include/tune-armv7.inc
index 96c8c64904..05ec3da1ac 100644
--- a/conf/machine/include/tune-armv7.inc
+++ b/conf/machine/include/tune-armv7.inc
@@ -3,4 +3,9 @@
# This will NOT compile programs in 'ARM' mode, which is what you really want
TARGET_CC_ARCH = "-march=armv7 -mfpu=vfp -mfloat-abi=softfp"
FEED_ARCH = "armv7"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7"
BASE_PACKAGE_ARCH = "armv7"
+
+# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish
+require conf/machine/include/tune-thumb.inc
+
diff --git a/conf/machine/include/tune-athlonmp.inc b/conf/machine/include/tune-athlonmp.inc
index 313300d9cd..9526faad7e 100644
--- a/conf/machine/include/tune-athlonmp.inc
+++ b/conf/machine/include/tune-athlonmp.inc
@@ -1,3 +1,4 @@
TARGET_CC_ARCH = "-march=i686"
+PACKAGE_EXTRA_ARCHS += "i386 i486 i586"
BASE_PACKAGE_ARCH = "i686"
FEED_ARCH = "i686"
diff --git a/conf/machine/include/tune-atom.inc b/conf/machine/include/tune-atom.inc
new file mode 100644
index 0000000000..44058c12be
--- /dev/null
+++ b/conf/machine/include/tune-atom.inc
@@ -0,0 +1,9 @@
+# GCC 4.3.0- (see Poky)
+# TARGET_CC_ARCH = "-march=i586"
+# GCC 4.3.1+ (see Gentoo)
+TARGET_CC_ARCH = "-march=core2"
+# GCC 4.4.2+ (see Fedora 12)
+#TARGET_CC_ARCH = "-march=i686 -mtune=atom"
+BASE_PACKAGE_ARCH = "i686"
+FEED_ARCH = "i686"
+PACKAGE_EXTRA_ARCHS += "x86 i386 i486 i586" \ No newline at end of file
diff --git a/conf/machine/include/tune-c3.inc b/conf/machine/include/tune-c3.inc
index 43849086f4..136efa247c 100644
--- a/conf/machine/include/tune-c3.inc
+++ b/conf/machine/include/tune-c3.inc
@@ -1,3 +1,4 @@
TARGET_CC_ARCH = "-march=c3 -mtune=c3"
+PACKAGE_EXTRA_ARCHS += "i386 i486"
BASE_PACKAGE_ARCH = "i586"
FEED_ARCH = "i586"
diff --git a/conf/machine/include/tune-cortexa8.inc b/conf/machine/include/tune-cortexa8.inc
index 4216255102..a2ce7def1a 100644
--- a/conf/machine/include/tune-cortexa8.inc
+++ b/conf/machine/include/tune-cortexa8.inc
@@ -5,4 +5,5 @@
TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp"
FEED_ARCH = "armv7a"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7 armv7a"
BASE_PACKAGE_ARCH = "armv7a"
diff --git a/conf/machine/include/tune-cortexa9.inc b/conf/machine/include/tune-cortexa9.inc
new file mode 100644
index 0000000000..a12494fbb6
--- /dev/null
+++ b/conf/machine/include/tune-cortexa9.inc
@@ -0,0 +1,9 @@
+# Instead of using -mfpu=vfp[2] we can use -mfpu=neon to make use of gcc intrinsics[1] and vectorize loops with -ftree-vectorize[3]
+# [1] http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html
+# [2] http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
+# [3] https://support.codesourcery.com/GNUToolchain/kbentry29
+
+TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp"
+FEED_ARCH = "armv7a"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7 armv7a"
+BASE_PACKAGE_ARCH = "armv7a"
diff --git a/conf/machine/include/tune-ep9312.inc b/conf/machine/include/tune-ep9312.inc
index 7da1cb50c8..c8770e0783 100644
--- a/conf/machine/include/tune-ep9312.inc
+++ b/conf/machine/include/tune-ep9312.inc
@@ -1,7 +1,14 @@
-TARGET_CC_ARCH = "-march=ep9312 -mtune=ep9312 -mcpu=ep9312"
-# add "-mfp=maverick" for newer gcc versions > 4.0
+TARGET_CC_ARCH = "-mcpu=ep9312 -mfpu=maverick -mfloat-abi=softfp"
#set arch to ep9312 for all generated packages
+PACKAGE_EXTRA_ARCHS += "armv4t ep9312"
BASE_PACKAGE_ARCH = "ep9312"
FEED_ARCH = "ep9312"
+# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish
+require conf/machine/include/tune-thumb.inc
+
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O -fno-signed-zeros"
+DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer -g"
+SELECTED_OPTIMIZATION = "${@bb.data.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][bb.data.getVar('DEBUG_BUILD', d, 1) == '1'], d, 1)}"
+BUILD_OPTIMIZATION = "-O"
diff --git a/conf/machine/include/tune-geode.inc b/conf/machine/include/tune-geode.inc
new file mode 100644
index 0000000000..eda332a74e
--- /dev/null
+++ b/conf/machine/include/tune-geode.inc
@@ -0,0 +1,5 @@
+TARGET_CC_ARCH = "-march=geode -mtune=geode"
+BASE_PACKAGE_ARCH = "geode"
+PACKAGE_EXTRA_ARCHS += "x86 i386 geode"
+
+FEED_ARCH = "geode"
diff --git a/conf/machine/include/tune-geodelx.inc b/conf/machine/include/tune-geodelx.inc
deleted file mode 100644
index 7e6562ad46..0000000000
--- a/conf/machine/include/tune-geodelx.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-# Geode CPU has it's own target in GCC 4.3
-# in older versions k6-2 is closest
-#
-TARGET_CC_ARCH = "-march=k6-2"
-BASE_PACKAGE_ARCH = "geode"
-FEED_ARCH = "geode"
-
diff --git a/conf/machine/include/tune-i486sx.inc b/conf/machine/include/tune-i486sx.inc
new file mode 100644
index 0000000000..bd8025924a
--- /dev/null
+++ b/conf/machine/include/tune-i486sx.inc
@@ -0,0 +1,9 @@
+TARGET_ARCH = "i486"
+TARGET_CC_ARCH = "-march=i486"
+PACKAGE_EXTRA_ARCHS = "486sx"
+BASE_PACKAGE_ARCH = "486sx"
+FEED_ARCH = "${BASE_PACKAGE_ARCH}"
+
+# gcc doesn't understand softfloat:
+# "This target does not support --with-float"
+
diff --git a/conf/machine/include/tune-iwmmxt.inc b/conf/machine/include/tune-iwmmxt.inc
index aa5aaee901..f7291be805 100644
--- a/conf/machine/include/tune-iwmmxt.inc
+++ b/conf/machine/include/tune-iwmmxt.inc
@@ -2,6 +2,6 @@
# Please use tune-xscale for PXA255/PXA26x based processors.
TARGET_CC_ARCH = "-march=iwmmxt -mcpu=iwmmxt -mtune=iwmmxt"
BASE_PACKAGE_ARCH = "iwmmxt"
-PACKAGE_EXTRA_ARCHS += "iwmmxt"
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te iwmmxt"
FEED_ARCH = "iwmmxt"
diff --git a/conf/machine/include/tune-mips32.inc b/conf/machine/include/tune-mips32.inc
new file mode 100644
index 0000000000..93da66b158
--- /dev/null
+++ b/conf/machine/include/tune-mips32.inc
@@ -0,0 +1 @@
+TARGET_CC_ARCH = "-march=mips32"
diff --git a/conf/machine/include/tune-pentium.inc b/conf/machine/include/tune-pentium.inc
index 6b8c9b521f..0df6917699 100644
--- a/conf/machine/include/tune-pentium.inc
+++ b/conf/machine/include/tune-pentium.inc
@@ -1,4 +1,4 @@
TARGET_CC_ARCH = "-march=pentium"
BASE_PACKAGE_ARCH = "i586"
FEED_ARCH = "i586"
-
+PACKAGE_EXTRA_ARCHS += "x86 i386 i486"
diff --git a/conf/machine/include/tune-pentium4c.inc b/conf/machine/include/tune-pentium4c.inc
index 302eb3c4a0..42de0d9abd 100644
--- a/conf/machine/include/tune-pentium4c.inc
+++ b/conf/machine/include/tune-pentium4c.inc
@@ -1,3 +1,3 @@
TARGET_CC_ARCH = "-march=prescott"
BASE_PACKAGE_ARCH = "i686p4c"
-
+PACKAGE_EXTRA_ARCHS += "x86 i386 i486 i586"
diff --git a/conf/machine/include/tune-pentiummmx.inc b/conf/machine/include/tune-pentiummmx.inc
new file mode 100644
index 0000000000..33ef63107f
--- /dev/null
+++ b/conf/machine/include/tune-pentiummmx.inc
@@ -0,0 +1,4 @@
+TARGET_CC_ARCH = "-march=pentium-mmx"
+BASE_PACKAGE_ARCH = "i586"
+FEED_ARCH = "i586"
+PACKAGE_EXTRA_ARCHS += "i386 i486"
diff --git a/conf/machine/include/tune-pentiumpro.inc b/conf/machine/include/tune-pentiumpro.inc
index 88fe7d7445..9b9a8be42f 100644
--- a/conf/machine/include/tune-pentiumpro.inc
+++ b/conf/machine/include/tune-pentiumpro.inc
@@ -1,4 +1,4 @@
TARGET_CC_ARCH = "-march=pentiumpro"
BASE_PACKAGE_ARCH = "i686"
FEED_ARCH = "i686"
-
+PACKAGE_EXTRA_ARCHS += "x86 i386 i486 i586"
diff --git a/conf/machine/include/tune-ppc405.inc b/conf/machine/include/tune-ppc405.inc
index a54aec0336..e5edd68040 100644
--- a/conf/machine/include/tune-ppc405.inc
+++ b/conf/machine/include/tune-ppc405.inc
@@ -3,3 +3,4 @@ TARGET_FPU ?= "soft"
TARGET_CC_ARCH = "-mcpu=405"
BASE_PACKAGE_ARCH = "ppc405"
FEED_ARCH = "ppc405"
+PACKAGE_EXTRA_ARCHS += "ppc405"
diff --git a/conf/machine/include/tune-ppc440.inc b/conf/machine/include/tune-ppc440.inc
index 7d7ca0ea11..feca186315 100644
--- a/conf/machine/include/tune-ppc440.inc
+++ b/conf/machine/include/tune-ppc440.inc
@@ -1,3 +1,4 @@
TARGET_CC_ARCH = "-mcpu=440"
BASE_PACKAGE_ARCH = "ppc440"
FEED_ARCH = "ppc440"
+PACKAGE_EXTRA_ARCHS += "ppc440e"
diff --git a/conf/machine/include/tune-ppc440e.inc b/conf/machine/include/tune-ppc440e.inc
index cbcef8a573..8b6955a817 100644
--- a/conf/machine/include/tune-ppc440e.inc
+++ b/conf/machine/include/tune-ppc440e.inc
@@ -1,3 +1,4 @@
TARGET_CC_ARCH = "-mcpu=440fp -mhard-float"
BASE_PACKAGE_ARCH = "ppc440e"
FEED_ARCH = "ppc440e"
+PACKAGE_EXTRA_ARCHS += "ppc440e"
diff --git a/conf/machine/include/tune-ppc603e.inc b/conf/machine/include/tune-ppc603e.inc
index f48dc26e05..2f627a725d 100644
--- a/conf/machine/include/tune-ppc603e.inc
+++ b/conf/machine/include/tune-ppc603e.inc
@@ -1,3 +1,4 @@
TARGET_CC_ARCH = "-mcpu=603e -mhard-float"
BASE_PACKAGE_ARCH = "ppc603e"
FEED_ARCH = "ppc603e"
+PACKAGE_EXTRA_ARCHS += "ppc603e"
diff --git a/conf/machine/include/tune-ppce300c2.inc b/conf/machine/include/tune-ppce300c2.inc
index 41ddd4151a..1524c7cf86 100644
--- a/conf/machine/include/tune-ppce300c2.inc
+++ b/conf/machine/include/tune-ppce300c2.inc
@@ -1,3 +1,4 @@
TARGET_CC_ARCH = "-mcpu=e300c2"
BASE_PACKAGE_ARCH = "ppce300c2"
FEED_ARCH = "ppce300c2"
+PACKAGE_EXTRA_ARCHS += "ppce300c2"
diff --git a/conf/machine/include/tune-ppce300c3.inc b/conf/machine/include/tune-ppce300c3.inc
index 24af11a8ba..467c4cc87f 100644
--- a/conf/machine/include/tune-ppce300c3.inc
+++ b/conf/machine/include/tune-ppce300c3.inc
@@ -1,3 +1,4 @@
TARGET_CC_ARCH = "-mcpu=e300c3"
BASE_PACKAGE_ARCH = "ppce300c3"
FEED_ARCH = "ppce300c3"
+PACKAGE_EXTRA_ARCHS += "ppce300c3"
diff --git a/conf/machine/include/tune-ppce500.inc b/conf/machine/include/tune-ppce500.inc
index 9c8c68c342..44f8742f9f 100644
--- a/conf/machine/include/tune-ppce500.inc
+++ b/conf/machine/include/tune-ppce500.inc
@@ -1,3 +1,4 @@
TARGET_CC_ARCH = "-mcpu=8540"
BASE_PACKAGE_ARCH = "ppce500"
FEED_ARCH = "ppce500"
+PACKAGE_EXTRA_ARCHS += "ppce500"
diff --git a/conf/machine/include/tune-ppce500v2.inc b/conf/machine/include/tune-ppce500v2.inc
new file mode 100644
index 0000000000..73d8e92f0a
--- /dev/null
+++ b/conf/machine/include/tune-ppce500v2.inc
@@ -0,0 +1,4 @@
+TARGET_CC_ARCH = "-mcpu=8548 -mspe=yes -mabi=spe -mhard-float -mfloat-gprs=double"
+BASE_PACKAGE_ARCH = "ppce500v2"
+FEED_ARCH = "ppce500v2"
+PACKAGE_EXTRA_ARCHS += "ppce500v2"
diff --git a/conf/machine/include/tune-sh3.inc b/conf/machine/include/tune-sh3.inc
index 65bfacf174..32801a61c3 100644
--- a/conf/machine/include/tune-sh3.inc
+++ b/conf/machine/include/tune-sh3.inc
@@ -1,2 +1,3 @@
TARGET_CC_ARCH = "-ml -m3"
FEED_ARCH = "sh3"
+BASE_PACKAGE_ARCH = "sh3"
diff --git a/conf/machine/include/tune-sh4.inc b/conf/machine/include/tune-sh4.inc
index c20b8cf5a0..5d43e4195e 100644
--- a/conf/machine/include/tune-sh4.inc
+++ b/conf/machine/include/tune-sh4.inc
@@ -1,2 +1,3 @@
TARGET_CC_ARCH = "-ml -m4"
FEED_ARCH = "sh4"
+BASE_PACKAGE_ARCH = "sh4"
diff --git a/conf/machine/include/tune-strongarm.inc b/conf/machine/include/tune-strongarm.inc
index 37499a61dc..fe57c9ccc0 100644
--- a/conf/machine/include/tune-strongarm.inc
+++ b/conf/machine/include/tune-strongarm.inc
@@ -2,7 +2,7 @@
# gcc does not differentiate between the different Strongarm versions, so neither do we
# http://lists.linuxtogo.org/pipermail/openembedded-devel/2008-January/004031.html
-ARM_ABI = "oabi"
TARGET_CC_ARCH = "-march=armv4 -mtune=strongarm"
-FEED_ARCH = "arm-oabi"
-
+FEED_ARCH = "armv4"
+BASE_PACKAGE_ARCH = "armv4"
+PACKAGE_EXTRA_ARCHS += "armv4"
diff --git a/conf/machine/include/tune-thumb.inc b/conf/machine/include/tune-thumb.inc
index a25cb5320c..cd88bb4786 100644
--- a/conf/machine/include/tune-thumb.inc
+++ b/conf/machine/include/tune-thumb.inc
@@ -9,7 +9,7 @@ ARM_INSTRUCTION_SET ?= "arm"
# but requires more instructions (140% for 70% smaller code) so may be
# slower.
-THUMB_INTERWORK ?= "yes"
+THUMB_INTERWORK ?= "no"
# "yes" "no"
# Whether to compile with code to allow interworking between the two
# instruction sets. This allows thumb code to be executed on a primarily
diff --git a/conf/machine/include/tune-x86-nocona.inc b/conf/machine/include/tune-x86-nocona.inc
index f1189a171e..9bee740dd4 100644
--- a/conf/machine/include/tune-x86-nocona.inc
+++ b/conf/machine/include/tune-x86-nocona.inc
@@ -1,2 +1,3 @@
TARGET_CC_ARCH = "-march=nocona"
TARGET_CC_KERNEL_ARCH = "-march=nocona"
+PACKAGE_EXTRA_ARCHS += "x86 i386 i486 i586"
diff --git a/conf/machine/include/tune-x86-prescott.inc b/conf/machine/include/tune-x86-prescott.inc
index f3ec4e956a..0a584f085a 100644
--- a/conf/machine/include/tune-x86-prescott.inc
+++ b/conf/machine/include/tune-x86-prescott.inc
@@ -1,2 +1,3 @@
TARGET_CC_ARCH = "-march=prescott"
TARGET_CC_KERNEL_ARCH = "-march=prescott"
+PACKAGE_EXTRA_ARCHS += "x86 i386 i486 i586"
diff --git a/conf/machine/include/tune-xscale.inc b/conf/machine/include/tune-xscale.inc
index eb16651ae3..3a6bd0e659 100644
--- a/conf/machine/include/tune-xscale.inc
+++ b/conf/machine/include/tune-xscale.inc
@@ -1,5 +1,13 @@
-FEED_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
+# this depends on fact that for ARM the TARGET_ARCH is 'arm' for little endian and 'armeb' for bigendian
+# this is the case as of now for all arm machines in OE.
+
+FEED_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('TARGET_ARCH', d, 1) == 'arm']}"
TARGET_CC_ARCH = "-march=armv5te -mtune=xscale"
TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale"
-BASE_PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
+PACKAGE_EXTRA_ARCHS += "${@['armv4b armv4tb armv5teb', 'armv4 armv4t armv5te'][ bb.data.getVar('TARGET_ARCH', d, 1) == 'arm']}"
+BASE_PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('TARGET_ARCH', d, 1) == 'arm']}"
+
+# Include tune file for thumb support, it defaults to off so DISTROs can turn it on if they wish
+require conf/machine/include/tune-thumb.inc
+
diff --git a/conf/machine/include/zaurus-2.6.inc b/conf/machine/include/zaurus-2.6.inc
index a688f2f64b..02a48629c8 100644
--- a/conf/machine/include/zaurus-2.6.inc
+++ b/conf/machine/include/zaurus-2.6.inc
@@ -1,83 +1,69 @@
-# Zaurus specific configuration for kernel 2.6
+# Zaurus common settings
# Additionally, clamshell specific stuff in zaurus-clamshell.inc
TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
-PACKAGE_EXTRA_ARCHS_collie = ""
-
-MACHINE_KERNEL_VERSION = "2.6"
ERASEBLOCKSIZE = "0x4000"
ERASEBLOCKSIZE_akita = "0x20000"
+# Warning! SL-C3000 seems to be "0x4000" (16m NAND)
+# C3100 and C3200 have same 128MB NAND device as akita
+ERASEBLOCKSIZE_spitz = "0x20000"
+
EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=${ERASEBLOCKSIZE} --pad --faketime -n"
-IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}"
-EXTRA_IMAGEDEPENDS += "zaurus-updater"
+
+EXTRA_IMAGEDEPENDS += "zaurus-installer"
SERIAL_CONSOLE = "115200 ttyS0"
SERIAL_CONSOLE_collie = "115200 ttySA0"
-PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
+# FIXME: xserver-xorg is in testing
+
+# deprecated defaults
PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
+XSERVER = "xserver-kdrive-fbdev"
+
+# c7x0 uses kdrive-imageon (W100)
PREFERRED_PROVIDER_virtual/xserver_c7x0 = "xserver-kdrive-imageon"
+XSERVER_c7x0 = "xserver-kdrive-imageon"
+
+# collie uses kdrive-fbdev
+PREFERRED_PROVIDER_virtual/xserver_collie = "xserver-kdrive-fbdev"
+XSERVER_collie = "xserver-kdrive-fbdev"
+
+# FIXME xserver-kdrive 1.3.0.0 is still the only working version ?
+PREFERRED_PROVIDER_virtual/xserver_akita = "xserver-kdrive-1300"
+XSERVER_akita = "xserver-kdrive-1300-fbdev"
+
+# spitz uses xserver-xorg
+PREFERRED_PROVIDER_virtual/xserver_spitz = "xserver-xorg"
+XSERVER_spitz = "xserver-xorg xf86-input-keyboard xf86-input-mouse xf86-input-evdev"
+PREFERRED_PROVIDER_virtual/libgl_spitz = "mesa-dri"
PCMCIA_MANAGER ?= "pcmciautils"
-MACHINE_FEATURES = "kernel26 apm alsa pcmcia irda usbgadget keyboard touchscreen screen vfat"
-MACHINE_FEATURES_append_tosa = " usbhost wifi "
+IMAGE_FSTYPES += "jffs2 tar.gz"
+
+MACHINE_FEATURES = "kernel26 apm alsa pcmcia irda usbgadget keyboard touchscreen screen vfat ext2"
MACHINE_FEATURES_append_akita = " usbhost "
-MACHINE_FEATURES_append_spitz = " usbhost ext2 "
+MACHINE_FEATURES_append_spitz = " usbhost "
+MACHINE_FEATURES_append_tosa = " usbhost wifi "
+
+MACHINE_EXTRA_RDEPENDS = "zaurusd mtd-utils nandlogical"
+MACHINE_EXTRA_RDEPENDS_collie = "zaurusd"
-MACHINE_EXTRA_RDEPENDS = "zaurusd"
+# Here we just need snd modules
+# Fixme ? pcmcia and pxa2xx-cs are now compiled in kernel
+# Fixme ? module-snd for collie
+MACHINE_EXTRA_RRECOMMENDS_collie = ""
MACHINE_EXTRA_RRECOMMENDS_c7x0 = "kernel-module-snd-soc-corgi kernel-module-pxa2xx-cs kernel-module-pcmcia"
MACHINE_EXTRA_RRECOMMENDS_akita = "kernel-module-snd-soc-spitz kernel-module-pxa2xx-cs kernel-module-pcmcia"
-MACHINE_EXTRA_RRECOMMENDS_spitz = "kernel-module-snd-soc-spitz"
+MACHINE_EXTRA_RRECOMMENDS_spitz = "kernel-module-snd-soc-spitz kernel-module-pxa2xx-cs kernel-module-pcmcia"
MACHINE_EXTRA_RRECOMMENDS_poodle = "kernel-module-snd-soc-poodle kernel-module-pxa2xx-cs kernel-module-pcmcia"
-MACHINE_EXTRA_RRECOMMENDS_collie = "kernel-module-locomo-spi kernel-module-sa1100-cs kernel-module-mmc-block \
- kernel-module-collie-ts kernel-module-leds-locomo kernel-module-locomokbd kernel-module-mmc-spi \
- kernel-module-power"
-
-GUI_MACHINE_CLASS = "bigscreen"
-GUI_MACHINE_CLASS_collie = "smallscreen"
-GUI_MACHINE_CLASS_poodle = "smallscreen"
-
-KERNEL_IMAGE_MAXSIZE = "1294336"
-KERNEL_IMAGE_MAXSIZE_collie = "1048576"
-
-MACHINE_POSTPROCESS_COMMAND = "zaurus_make_installkit"
-
-zaurus_make_installkit () {
- cd ${DEPLOY_DIR_IMAGE}
- rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit/
- mkdir ${IMAGE_NAME}-installkit/
-
- # Get the latest kernel using the zImage-<machine>.bin symlink
- if [ "${@base_contains('MACHINE_FEATURES', 'kexecboot', 'true', 'false',d)}" = "true" ]; then
- [ -f "zImage-kexecboot-${MACHINE}.bin" ] && cp zImage-kexecboot-${MACHINE}.bin ${IMAGE_NAME}-installkit/zImage
- # we need also tgz for mmc or cf cards
- cp ${IMAGE_NAME}.rootfs.tar.gz ${IMAGE_NAME}-installkit/image.tgz
- else
- cp zImage-${MACHINE}.bin ${IMAGE_NAME}-installkit/zImage
- fi
-
- if [ "${MACHINE}" = "spitz" ]; then
- cp gnu-tar ${IMAGE_NAME}-installkit/
- cp ${IMAGE_NAME}.rootfs.tar.gz ${IMAGE_NAME}-installkit/hdimage1.tgz
- else
- [ -f ${IMAGE_NAME}.rootfs.jffs2 ] && cp ${IMAGE_NAME}.rootfs.jffs2 ${IMAGE_NAME}-installkit/initrd.bin
- fi
-
- # All zaurus machines except collie need updater.sh
- if [ "${MACHINE}" != "collie" ]; then
- cp updater.sh.${MACHINE} ${IMAGE_NAME}-installkit/updater.sh
- fi
-
- tar czf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit.tgz ${IMAGE_NAME}-installkit/
- md5sum ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit.tgz > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit.tgz.md5
- rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-installkit/
-}
-
-# Don't include kernels in standard images for Zaurus machines
-RDEPENDS_kernel-base = ""
-
-KERNEL_IMAGETYPE ?= "zImage"
+# For tosa: OHCI suspend/resume fixup
+# wlan-ng is now in kernel (2.6.29)
+# Fixme ? module-snd for tosa
+MACHINE_EXTRA_RRECOMMENDS_tosa = "apm-tosa-suspendfix"
+
+require conf/machine/include/zaurus-kernel.inc
+require conf/machine/include/initramfs-kexecboot.inc
diff --git a/conf/machine/include/zaurus-kernel.inc b/conf/machine/include/zaurus-kernel.inc
new file mode 100644
index 0000000000..1ba4a3422d
--- /dev/null
+++ b/conf/machine/include/zaurus-kernel.inc
@@ -0,0 +1,16 @@
+# Zaurus common kernel settings
+
+MACHINE_KERNEL_VERSION = "2.6"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
+
+# Starting with 2.6.32 linux-rp is deprecated
+#PREFERRED_PROVIDER_virtual/kernel = "linux"
+PREFERRED_PROVIDER_virtual/kernel_collie = "linux"
+PREFERRED_PROVIDER_virtual/kernel_tosa = "linux"
+
+KERNEL_IMAGE_MAXSIZE = "1294336"
+KERNEL_IMAGE_MAXSIZE_collie = "1048576"
+
+ZAURUS_KERNEL_IMAGETYPE ?= "zImage"
+KERNEL_IMAGETYPE = "${ZAURUS_KERNEL_IMAGETYPE}"