summaryrefslogtreecommitdiff
path: root/conf/machine/include
diff options
context:
space:
mode:
Diffstat (limited to 'conf/machine/include')
-rw-r--r--conf/machine/include/davinci.inc2
-rw-r--r--conf/machine/include/dm365.inc10
-rw-r--r--conf/machine/include/dm6446.inc11
-rw-r--r--conf/machine/include/dm6467.inc1
-rw-r--r--conf/machine/include/htc-qsd8.inc8
-rw-r--r--conf/machine/include/imx51.inc11
-rw-r--r--conf/machine/include/initramfs-kexecboot.inc19
-rw-r--r--conf/machine/include/ixp4xx.inc1
-rw-r--r--conf/machine/include/kirkwood.inc2
-rw-r--r--conf/machine/include/motorola-ezx-base.inc60
-rw-r--r--conf/machine/include/nios2.inc40
-rw-r--r--conf/machine/include/omap3.inc13
-rw-r--r--conf/machine/include/qemu.inc4
-rw-r--r--conf/machine/include/tune-arm1136-novfp.inc3
-rw-r--r--conf/machine/include/tune-arm1136jf-s.inc3
-rw-r--r--conf/machine/include/tune-arm1176jzf-s.inc3
-rw-r--r--conf/machine/include/tune-arm920t.inc4
-rw-r--r--conf/machine/include/tune-arm926ejs.inc3
-rw-r--r--conf/machine/include/tune-arm9tdmi.inc4
-rw-r--r--conf/machine/include/tune-armv7.inc4
-rw-r--r--conf/machine/include/tune-cortexa8.inc16
-rw-r--r--conf/machine/include/tune-ep9312.inc3
-rw-r--r--conf/machine/include/tune-ppc440.inc2
-rw-r--r--conf/machine/include/tune-ppc603e.inc2
-rw-r--r--conf/machine/include/tune-ppce600.inc4
-rw-r--r--conf/machine/include/tune-thumb.inc32
-rw-r--r--conf/machine/include/tune-xscale.inc4
-rw-r--r--conf/machine/include/zaurus-2.6.inc81
-rw-r--r--conf/machine/include/zaurus-clamshell.inc15
-rw-r--r--conf/machine/include/zaurus-kernel.inc16
30 files changed, 203 insertions, 178 deletions
diff --git a/conf/machine/include/davinci.inc b/conf/machine/include/davinci.inc
index a262059d45..28ded38611 100644
--- a/conf/machine/include/davinci.inc
+++ b/conf/machine/include/davinci.inc
@@ -1,7 +1,7 @@
require conf/machine/include/tune-arm926ejs.inc
# Increase this everytime you change something in the kernel
-MACHINE_KERNEL_PR = "r32"
+MACHINE_KERNEL_PR = "r48"
TARGET_ARCH = "arm"
diff --git a/conf/machine/include/dm365.inc b/conf/machine/include/dm365.inc
index c53680ea63..b974f2cdda 100644
--- a/conf/machine/include/dm365.inc
+++ b/conf/machine/include/dm365.inc
@@ -1,12 +1,2 @@
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
index c14e573c74..827b3752c0 100644
--- a/conf/machine/include/dm6446.inc
+++ b/conf/machine/include/dm6446.inc
@@ -1,13 +1,2 @@
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/dm6467.inc b/conf/machine/include/dm6467.inc
new file mode 100644
index 0000000000..5200f854b3
--- /dev/null
+++ b/conf/machine/include/dm6467.inc
@@ -0,0 +1 @@
+SOC_FAMILY = "dm6467"
diff --git a/conf/machine/include/htc-qsd8.inc b/conf/machine/include/htc-qsd8.inc
index ac3e7d22ee..819646aa42 100644
--- a/conf/machine/include/htc-qsd8.inc
+++ b/conf/machine/include/htc-qsd8.inc
@@ -8,11 +8,12 @@ XSERVER = " \
xserver-xorg \
xserver-xorg-extension-glx \
xserver-xorg-extension-dri \
- xf86-input-evtouch \
+ xf86-input-tslib \
+ xf86-input-evtouch \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard \
- xf86-video-msm \
+ xf86-video-fbdev \
"
# capability database
@@ -22,6 +23,9 @@ MACHINE_DISPLAY_HEIGHT_PIXELS = "640"
# use this for overrides
MACHINE_CLASS = "htc-qsd8"
+# use uncompressed kernel image
+KERNEL_IMAGETYPE = Image
+
# features
MACHINE_FEATURES = "kernel26 touchscreen screen phone gps usb keyboard"
diff --git a/conf/machine/include/imx51.inc b/conf/machine/include/imx51.inc
new file mode 100644
index 0000000000..543e09feba
--- /dev/null
+++ b/conf/machine/include/imx51.inc
@@ -0,0 +1,11 @@
+require conf/machine/include/tune-cortexa8.inc
+PREFERRED_PROVIDER_virtual/kernel = "linux"
+# Increase this everytime you change something in the kernel
+
+KERNEL_IMAGETYPE = "uImage"
+
+UBOOT_ENTRYPOINT = "0x90008000"
+UBOOT_LOADADDRESS = "0x90008000"
+
+EXTRA_IMAGEDEPENDS += "u-boot"
+
diff --git a/conf/machine/include/initramfs-kexecboot.inc b/conf/machine/include/initramfs-kexecboot.inc
index 6ee1ddc3fa..bc9cd518e2 100644
--- a/conf/machine/include/initramfs-kexecboot.inc
+++ b/conf/machine/include/initramfs-kexecboot.inc
@@ -1,13 +1,18 @@
-# initramfs-kexecboot specific config options
+# Initramfs-kexecboot extra config
-MACHINE_FEATURES_append = " kexecboot "
+# If set here, each image will also build linux-kexecboot.
+# Usually the machine-installer recipe already DEPENDS on it
+#
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"
+# Force inclusion of kernel in target images
+# (done by default)
+#
+RDEPENDS_kernel-base = "kernel-image"
-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_append = " kexecboot-cfg"
+
+# Install /boot/boot.cfg in target images
+#
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS_append = " kexecboot-cfg "
diff --git a/conf/machine/include/ixp4xx.inc b/conf/machine/include/ixp4xx.inc
index 192cbb121b..cf7f0dd603 100644
--- a/conf/machine/include/ixp4xx.inc
+++ b/conf/machine/include/ixp4xx.inc
@@ -22,7 +22,6 @@ IMAGE_FSTYPES ?= "jffs2 tar.gz"
EXTRA_IMAGECMD_jffs2 = "--pad --eraseblock=0x20000 -n"
require conf/machine/include/tune-xscale.inc
-require conf/machine/include/tune-thumb.inc
#-------------------------------------------------------------------------------
# Board defaults
diff --git a/conf/machine/include/kirkwood.inc b/conf/machine/include/kirkwood.inc
index 8507857b11..632540345b 100644
--- a/conf/machine/include/kirkwood.inc
+++ b/conf/machine/include/kirkwood.inc
@@ -11,7 +11,7 @@ USE_DEVFS = "0"
PREFERRED_PROVIDER_virtual/bootloader = ""
PREFERRED_PROVIDER_virtual/kernel = "linux-kirkwood"
-MACHINE_KERNEL_PR = "r16"
+MACHINE_KERNEL_PR = "r18"
IMAGE_FSTYPES += "tar.gz ubi"
SERIAL_CONSOLE = "ttyS0 115200"
diff --git a/conf/machine/include/motorola-ezx-base.inc b/conf/machine/include/motorola-ezx-base.inc
index 75c0f42f7d..d65b5b2c71 100644
--- a/conf/machine/include/motorola-ezx-base.inc
+++ b/conf/machine/include/motorola-ezx-base.inc
@@ -1,7 +1,16 @@
+# use this for overrides
+MACHINE_CLASS = "motorola-ezx"
+
+#
+# Hardware-based properties
+#
TARGET_ARCH = "arm"
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
-PREFERRED_PROVIDER_virtual/kernel ?= "openezx-kernel"
+# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
+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
#cat /proc/mtd
#dev: size erasesize name
@@ -10,34 +19,53 @@ PREFERRED_PROVIDER_virtual/kernel ?= "openezx-kernel"
#mtd2: 00580000 00020000 "VFM_Filesystem"
#mtd3: 00020000 00020000 "Logo"
-MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth usbgadget usbhost keyboard screen phone"
-MACHINE_FEATURES += " iwmmxt"
-
+ROOT_FLASH_SIZE = "24"
+MACHINE_GUI_CLASS = "smallscreen"
MACHINE_DISPLAY_WIDTH_PIXELS = "240"
MACHINE_DISPLAY_HEIGHT_PIXELS = "320"
MACHINE_DISPLAY_ORIENTATION = "0"
MACHINE_DISPLAY_PPI = "180"
+MACHINE_FEATURES = "alsa apm bluetooth kernel26 keyboard phone screen touchscreen usbgadget usbhost vfat"
+MACHINE_FEATURES += " iwmmxt"
-# use this for overrides
-MACHINE_CLASS = "motorola-ezx"
-
+#
+# Software/packages selection
+#
+PREFERRED_PROVIDER_virtual/kernel ?= "openezx-kernel"
+MODUTILS = "26"
XSERVER = "xserver-kdrive-fbdev"
-
-ROOT_FLASH_SIZE = "24"
+PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
IMAGE_FSTYPES ?= "jffs2"
EXTRA_IMAGECMD_jffs2 = "--pad=14680064 --little-endian --eraseblock=0x20000 -n"
-EXTRA_IMAGEDEPENDS += "ezx-boot-usb-native"
+# In order to enable UIBIFS add "uibi and ubifs"
+#IMAGE_FSTYPES += "ubi ubifs"
+
+# From dmesg:
+# UBI: smallest flash I/O unit: 1
+# UBI: logical eraseblock size: 131072 bytes
+# from ubiattach stdout:
+# UBI device number 0, total 1996 LEBs
+MKUBIFS_ARGS = "-m 1 -e 130944 -c 487"
-# the EZX phones need a userspace daemon to stop the BP from shutting down the phone
-MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "ezxd"
+# from dmesg:
+# UBI: smallest flash I/O unit: 1
+# UBI: physical eraseblock size: 131072 bytes (128 KiB)
+# UBI: sub-page size: 512
+UBINIZE_ARGS = "-m 1 -p 128KiB "
+
+
+EXTRA_IMAGEDEPENDS += "moto-boot-usb-native ezx-gen-blob"
+
+IMAGE_INSTALL_append += "\
+ kernel-module-ohci-hcd \
+ kernel-module-moto-usb-ipc \
+ kernel-module-ts27010mux \
+"
# Ezxd needs to be started very early so we need the mux devices in static /dev
IMAGE_DEVICE_TABLES = "files/device_table-minimal.txt \
files/device_table-ezx.txt"
-# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
-require conf/machine/include/tune-xscale.inc
-
SERIAL_CONSOLE = "115200 ttyS0"
diff --git a/conf/machine/include/nios2.inc b/conf/machine/include/nios2.inc
new file mode 100644
index 0000000000..ccbfc36111
--- /dev/null
+++ b/conf/machine/include/nios2.inc
@@ -0,0 +1,40 @@
+#@TYPE: Machine configuration
+#@NAME: nios2
+#@DESCRIPTION: generic machine configuration for nios2 with mmu
+
+# there are some hooks for uclibc in this file
+# however uclibc is not working yet
+
+# LIBC = "uclibc"
+LIBC = "glibc"
+# and for the angstrom folks
+ANGSTROMLIBC = "${LIBC}"
+
+# fix up target strings
+# TARGET_PREFIX = "nios2-linux-uclibc-"
+TARGET_PREFIX = "nios2-linux-"
+TARGET_VENDOR_nios2 = ""
+
+# Set default for common nios2-based machines
+MACHINE_FEATURES ?= "kernel26"
+# Select an appropriate default kernel
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-nios2"
+
+# Set default for 16MB machines - can be overridden for more or less flash.
+ROOT_FLASH_SIZE ?= "12"
+
+# Allow for rootfs loaded direct from internal hard disk
+IMAGE_FSTYPES ?= "jffs2 tar.gz"
+
+# Set default for common ixp4xx-based machines
+EXTRA_IMAGECMD_jffs2 = "--pad --eraseblock=0x20000 -n"
+
+#-------------------------------------------------------------------------------
+# Board defaults
+#-------------------------------------------------------------------------------
+# These values are board specific but they seem to be common to a large number
+# of boards so are reasonable defaults.
+SERIAL_CONSOLE = "115200 ttyS0"
+KERNEL_CONSOLE = "ttyS0,115200n8"
+USE_VT = "0"
diff --git a/conf/machine/include/omap3.inc b/conf/machine/include/omap3.inc
index dd1188b7c5..193e31e8f9 100644
--- a/conf/machine/include/omap3.inc
+++ b/conf/machine/include/omap3.inc
@@ -3,21 +3,12 @@ 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"
+MACHINE_KERNEL_PR = "r90"
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"
-
+EXTRA_IMAGEDEPENDS += "u-boot x-load"
diff --git a/conf/machine/include/qemu.inc b/conf/machine/include/qemu.inc
index 190066bca0..852c12a0fd 100644
--- a/conf/machine/include/qemu.inc
+++ b/conf/machine/include/qemu.inc
@@ -1,5 +1,5 @@
PCMCIA_MANAGER = "pcmciautils"
-PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
GUI_MACHINE_CLASS = "bigscreen"
MACHINE_FEATURES = "kernel26 apm alsa pcmcia bluetooth irda usbgadget screen keyboard touchscreen"
@@ -11,3 +11,5 @@ IMAGE_ROOTFS_SIZE_ext2 ?= "230000"
# Don't include kernels in standard images
RDEPENDS_kernel-base = ""
+
+EXTRA_IMAGEDEPENDS += "qemu-native"
diff --git a/conf/machine/include/tune-arm1136-novfp.inc b/conf/machine/include/tune-arm1136-novfp.inc
index e1f7945a0f..58134b7d40 100644
--- a/conf/machine/include/tune-arm1136-novfp.inc
+++ b/conf/machine/include/tune-arm1136-novfp.inc
@@ -5,6 +5,3 @@ TARGET_CC_ARCH = "-march=armv6j -mtune=arm1136jf-s"
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 c532b9c816..2944cc7166 100644
--- a/conf/machine/include/tune-arm1136jf-s.inc
+++ b/conf/machine/include/tune-arm1136jf-s.inc
@@ -2,6 +2,3 @@ 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
index b7c5291731..ee2884b0a9 100644
--- a/conf/machine/include/tune-arm1176jzf-s.inc
+++ b/conf/machine/include/tune-arm1176jzf-s.inc
@@ -2,6 +2,3 @@ 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 5a373e9d80..fee5c586c9 100644
--- a/conf/machine/include/tune-arm920t.inc
+++ b/conf/machine/include/tune-arm920t.inc
@@ -2,7 +2,3 @@ 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 f6f5064548..f41e460999 100644
--- a/conf/machine/include/tune-arm926ejs.inc
+++ b/conf/machine/include/tune-arm926ejs.inc
@@ -5,6 +5,3 @@ PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te"
# 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 a11ee381d5..d788b5304f 100644
--- a/conf/machine/include/tune-arm9tdmi.inc
+++ b/conf/machine/include/tune-arm9tdmi.inc
@@ -2,7 +2,3 @@ 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 05ec3da1ac..379a3eb011 100644
--- a/conf/machine/include/tune-armv7.inc
+++ b/conf/machine/include/tune-armv7.inc
@@ -5,7 +5,3 @@ 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-cortexa8.inc b/conf/machine/include/tune-cortexa8.inc
index a2ce7def1a..096c219511 100644
--- a/conf/machine/include/tune-cortexa8.inc
+++ b/conf/machine/include/tune-cortexa8.inc
@@ -3,7 +3,15 @@
# [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-a8 -mfpu=neon -mfloat-abi=softfp"
-FEED_ARCH = "armv7a"
-PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7 armv7a"
-BASE_PACKAGE_ARCH = "armv7a"
+# Can be 'softfp' or 'hardfp'
+ARM_FP_MODE ?= "softfp"
+
+ARM_FP_OPT = "${@['-mfloat-abi=softfp', '-mfloat-abi=hardfp'][bb.data.getVar('ARM_FP_MODE', d, 1) == 'hardfp']}"
+ARM_FP_PACKAGESUFFIX = "${@['', '-hardfp'][bb.data.getVar('ARM_FP_MODE', d, 1) == 'hardfp']}"
+
+TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a8 -mfpu=neon ${ARM_FP_OPT}"
+
+FEED_ARCH = "armv7a${ARM_FP_PACKAGESUFFIX}"
+BASE_PACKAGE_ARCH = "armv7a${ARM_FP_PACKAGESUFFIX}"
+
+PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7 armv7a${ARM_FP_PACKAGESUFFIX}"
diff --git a/conf/machine/include/tune-ep9312.inc b/conf/machine/include/tune-ep9312.inc
index c8770e0783..7458281172 100644
--- a/conf/machine/include/tune-ep9312.inc
+++ b/conf/machine/include/tune-ep9312.inc
@@ -5,9 +5,6 @@ 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)}"
diff --git a/conf/machine/include/tune-ppc440.inc b/conf/machine/include/tune-ppc440.inc
index feca186315..1c94a34e9e 100644
--- a/conf/machine/include/tune-ppc440.inc
+++ b/conf/machine/include/tune-ppc440.inc
@@ -1,4 +1,4 @@
TARGET_CC_ARCH = "-mcpu=440"
BASE_PACKAGE_ARCH = "ppc440"
FEED_ARCH = "ppc440"
-PACKAGE_EXTRA_ARCHS += "ppc440e"
+PACKAGE_EXTRA_ARCHS += "${BASE_PACKAGE_ARCH} ppc440e"
diff --git a/conf/machine/include/tune-ppc603e.inc b/conf/machine/include/tune-ppc603e.inc
index 2f627a725d..a1c62ad74c 100644
--- a/conf/machine/include/tune-ppc603e.inc
+++ b/conf/machine/include/tune-ppc603e.inc
@@ -1,4 +1,4 @@
-TARGET_CC_ARCH = "-mcpu=603e -mhard-float"
+TARGET_CC_ARCH = "-mcpu=603e"
BASE_PACKAGE_ARCH = "ppc603e"
FEED_ARCH = "ppc603e"
PACKAGE_EXTRA_ARCHS += "ppc603e"
diff --git a/conf/machine/include/tune-ppce600.inc b/conf/machine/include/tune-ppce600.inc
new file mode 100644
index 0000000000..77a7cb86b8
--- /dev/null
+++ b/conf/machine/include/tune-ppce600.inc
@@ -0,0 +1,4 @@
+TARGET_CC_ARCH = "-mcpu=7450"
+BASE_PACKAGE_ARCH = "ppce600"
+FEED_ARCH = "ppce600"
+PACKAGE_EXTRA_ARCHS += "ppce600"
diff --git a/conf/machine/include/tune-thumb.inc b/conf/machine/include/tune-thumb.inc
deleted file mode 100644
index cd88bb4786..0000000000
--- a/conf/machine/include/tune-thumb.inc
+++ /dev/null
@@ -1,32 +0,0 @@
-#tune file for thumb instructions
-
-ARM_INSTRUCTION_SET ?= "arm"
-# "arm" "thumb"
-# The instruction set the compiler should use when generating application
-# code. The kernel is always compiled with arm code at present. arm code
-# is the original 32 bit ARM instruction set, thumb code is the 16 bit
-# encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size)
-# but requires more instructions (140% for 70% smaller code) so may be
-# slower.
-
-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
-# arm system and vice versa. It is strongly recommended that DISTROs not
-# turn this off - the actual cost is very small.
-
-OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
-OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
-OVERRIDES .= "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}"
-
-# Compiler and linker options for application code and kernel code. These
-# options ensure that the compiler has the correct settings for the selected
-# instruction set and interworking.
-ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
-ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
-
-#
-TARGET_CC_ARCH += "${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}"
-TARGET_CC_KERNEL_ARCH += "-mno-thumb-interwork -mno-thumb"
-
diff --git a/conf/machine/include/tune-xscale.inc b/conf/machine/include/tune-xscale.inc
index 3a6bd0e659..f0f58bc30d 100644
--- a/conf/machine/include/tune-xscale.inc
+++ b/conf/machine/include/tune-xscale.inc
@@ -7,7 +7,3 @@ TARGET_CC_ARCH = "-march=armv5te -mtune=xscale"
TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale"
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 02a48629c8..0412396f33 100644
--- a/conf/machine/include/zaurus-2.6.inc
+++ b/conf/machine/include/zaurus-2.6.inc
@@ -1,34 +1,44 @@
+########################
# Zaurus common settings
-# Additionally, clamshell specific stuff in zaurus-clamshell.inc
-
-TARGET_ARCH = "arm"
+########################
ERASEBLOCKSIZE = "0x4000"
ERASEBLOCKSIZE_akita = "0x20000"
-# Warning! SL-C3000 seems to be "0x4000" (16m NAND)
-# C3100 and C3200 have same 128MB NAND device as akita
+# Warning! SL-C3000 has "0x4000" (16MiB NAND)
+# C3100 and C3200 have same 128MiB NAND device as akita
ERASEBLOCKSIZE_spitz = "0x20000"
-EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=${ERASEBLOCKSIZE} --pad --faketime -n"
+IMAGE_FSTYPES += "jffs2 tar.gz"
+
+# kernel now supports favourlzo
+IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime -m favourlzo \
+ --output=${T}/${IMAGE_NAME}.rootfs.jffs2 --pad --little-endian --eraseblock=${ERASEBLOCKSIZE} -n \
+ && sumtool -i ${T}/${IMAGE_NAME}.rootfs.jffs2 \
+ -o ${T}/${IMAGE_NAME}.rootfs.jffs2.summary \
+ --eraseblock=${ERASEBLOCKSIZE} -l -p; \
+ cat ${T}/${IMAGE_NAME}.rootfs.jffs2 > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2; \
+ rm ${T}/${IMAGE_NAME}.rootfs.jffs2; \
+ cat ${T}/${IMAGE_NAME}.rootfs.jffs2.summary > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.summary.jffs2; \
+ rm ${T}/${IMAGE_NAME}.rootfs.jffs2.summary;"
+
EXTRA_IMAGEDEPENDS += "zaurus-installer"
-SERIAL_CONSOLE = "115200 ttyS0"
-SERIAL_CONSOLE_collie = "115200 ttySA0"
-# FIXME: xserver-xorg is in testing
+#########
+# xserver (FIXME: xserver-xorg is in testing on spitz)
+#########
-# deprecated defaults
PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
XSERVER = "xserver-kdrive-fbdev"
-# c7x0 uses kdrive-imageon (W100)
+# c7x0 uses kdrive-imageon_1.2.0
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"
+PREFERRED_PROVIDER_virtual/xserver_collie = "xserver-kdrive"
XSERVER_collie = "xserver-kdrive-fbdev"
# FIXME xserver-kdrive 1.3.0.0 is still the only working version ?
@@ -37,12 +47,45 @@ 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"
+XSERVER_spitz = "xserver-xorg xf86-video-fbdev xf86-input-keyboard xf86-input-mouse xf86-input-evdev"
PREFERRED_PROVIDER_virtual/libgl_spitz = "mesa-dri"
-PCMCIA_MANAGER ?= "pcmciautils"
-IMAGE_FSTYPES += "jffs2 tar.gz"
+########
+# kernel
+########
+
+MACHINE_KERNEL_VERSION = "2.6"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-rp"
+
+# Starting with 2.6.32 linux-rp is deprecated for some models
+#PREFERRED_PROVIDER_virtual/kernel = "linux"
+PREFERRED_PROVIDER_virtual/kernel_collie = "linux"
+PREFERRED_PROVIDER_virtual/kernel_tosa = "linux"
+
+# udev-141 is the latest version that works with linux-2.6.26-RP
+PREFERRED_PROVIDER_udev-compat_akita = "udev-compat141"
+PREFERRED_PROVIDER_udev-compat_spitz = "udev-compat141"
+PREFERRED_PROVIDER_udev-compat_c7x0 = "udev-compat141"
+PREFERRED_PROVIDER_udev-compat_poodle = "udev-compat141"
+
+# Default bootloader expects "zImage", use "uImage" for u-boot
+# Note: kexecboot can boot both kind of images
+ZAURUS_KERNEL_IMAGETYPE ?= "zImage"
+KERNEL_IMAGETYPE = "${ZAURUS_KERNEL_IMAGETYPE}"
+
+
+################
+# machine tuning
+################
+
+TARGET_ARCH = "arm"
+
+SERIAL_CONSOLE = "115200 ttyS0"
+SERIAL_CONSOLE_collie = "115200 ttySA0"
+
+PCMCIA_MANAGER ?= "pcmciautils"
MACHINE_FEATURES = "kernel26 apm alsa pcmcia irda usbgadget keyboard touchscreen screen vfat ext2"
MACHINE_FEATURES_append_akita = " usbhost "
@@ -52,7 +95,6 @@ MACHINE_FEATURES_append_tosa = " usbhost wifi "
MACHINE_EXTRA_RDEPENDS = "zaurusd mtd-utils nandlogical"
MACHINE_EXTRA_RDEPENDS_collie = "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 = ""
@@ -65,5 +107,10 @@ MACHINE_EXTRA_RRECOMMENDS_poodle = "kernel-module-snd-soc-poodle kernel-module-p
# Fixme ? module-snd for tosa
MACHINE_EXTRA_RRECOMMENDS_tosa = "apm-tosa-suspendfix"
-require conf/machine/include/zaurus-kernel.inc
+
+##################################
+# build kexecboot kernel while
+# making sure rootfs is compatible
+##################################
+
require conf/machine/include/initramfs-kexecboot.inc
diff --git a/conf/machine/include/zaurus-clamshell.inc b/conf/machine/include/zaurus-clamshell.inc
deleted file mode 100644
index 4fa9f75eb3..0000000000
--- a/conf/machine/include/zaurus-clamshell.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-include conf/machine/include/tune-xscale.inc
-
-EXTRA_IMAGEDEPENDS += "sharp-flash-header-c700"
-
-IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime -m favourlzo \
- --output=${T}/${IMAGE_NAME}.rootfs.jffs2 --pad --little-endian --eraseblock=${ERASEBLOCKSIZE} -n \
- && sumtool -i ${T}/${IMAGE_NAME}.rootfs.jffs2 \
- -o ${T}/${IMAGE_NAME}.rootfs.jffs2.summary \
- --eraseblock=${ERASEBLOCKSIZE} -l -p; \
- cat ${STAGING_LIBDIR}/sharp-flash-header/header-c700.bin \
- ${T}/${IMAGE_NAME}.rootfs.jffs2 > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2; \
- rm ${T}/${IMAGE_NAME}.rootfs.jffs2; \
- cat