#-----------------------------------------------------------------------------
#@TYPE: Machine
-#@NAME: FIC GTA02 (Neo1973)
-#@DESCRIPTION: Machine configuration for the FIC Neo1973/2 GSM phone
+#@NAME: Openmoko GTA02 (NeoFreerunner)
+#@DESCRIPTION: Machine configuration for the Openmoko NeoFreerunner GSM phone
#-----------------------------------------------------------------------------
TARGET_ARCH = "arm"
-MACHINE_CLASS = "neo1973"
-PACKAGE_EXTRA_ARCHS = "armv4t fic-gta02 ${MACHINE_CLASS}"
-PREFERRED_PROVIDER_virtual/kernel = "linux-openmoko"
-PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-glamo"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-openmoko-2.6.28"
+PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
+
+# If you want to have KMS enabled in default kernel, uncomment linux-openmoko-shr-drm-devel
+PREFERRED_PROVIDER_virtual/kernel_shr = "linux-openmoko-shr-devel"
+#PREFERRED_PROVIDER_virtual/kernel_shr = "linux-openmoko-shr-drm-devel"
+#PREFERRED_PROVIDER_virtual/kernel_shr = "linux-openmoko-2.6.31"
+
+PREFERRED_PROVIDER_virtual/libgl_shr = "mesa-dri"
+# Override only for shr as it needs mesa-dri_git and ie angstrom has preferred_version set to 7.6
+MACHINE_DRI_MODULES_shr = "glamo"
+
UBOOT_ENTRYPOINT = "30008000"
+OLDEST_KERNEL_linux-gnueabi = "2.6.24"
+
MACHINE_FEATURES = "kernel26 apm alsa bluetooth gps usbgadget usbhost phone wifi vfat ext2"
MACHINE_DISPLAY_WIDTH_PIXELS = "480"
MACHINE_DISPLAY_HEIGHT_PIXELS = "640"
MACHINE_DISPLAY_ORIENTATION = "0"
MACHINE_DISPLAY_PPI = "285"
-XSERVER = "xserver-kdrive-glamo xserver-kdrive-fbdev"
+XSERVER ?= "xserver-xorg \
+ xf86-input-tslib \
+ xf86-input-evdev \
+ xf86-video-glamo \
+ xf86-input-keyboard \
+ xf86-input-mouse"
+
+# fbreader specific
+READER_RESOLUTION = "480x640"
+READER_ARCH = "desktop"
+READER_UI = "gtk"
# package machine specific modules
MACHINE_EXTRA_RRECOMMENDS = "\
- kernel-module-gta01-pm-bt \
- kernel-module-gta01-pm-gps \
- kernel-module-gta01-pm-gsm \
- kernel-module-gta01kbd \
- kernel-module-s3cmci \
- kernel-module-snd-soc-neo1973-gta02-wm8753 \
+ kernel-modules \
"
+# no need to bypass this as in om-gta01, since this model is not using a multiplexed ttySAC0
SERIAL_CONSOLE = "115200 ttySAC2"
+USE_VT = "0"
# used by some images
ROOT_FLASH_SIZE = "256"
+IMAGE_FSTYPES += "tar.gz jffs2 ubi"
+
# extra jffs2 tweaks
-IMAGE_FSTYPES ?= "jffs2"
EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 \
--no-cleanmarkers --pad -n ; sumtool --eraseblock=0x20000 --no-cleanmarkers \
--littleendian --pad \
-i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
- -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.summary"
+ -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.summary ; \
+ mv ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.nosummary ; \
+ mv ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.summary \
+ ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2"
+
+# do ubiattach /dev/ubi_ctrl -m 4
+# From dmesg:
+# UBI: smallest flash I/O unit: 2048
+# UBI: logical eraseblock size: 129024 bytes
+# from ubiattach stdout:
+# UBI device number 0, total 1996 LEBs
+MKUBIFS_ARGS = "-m 2048 -e 126976 -c 2047"
+
+# do ubiattach /dev/ubi_ctrl -m 4
+# from dmesg:
+# UBI: smallest flash I/O unit: 2048
+# UBI: physical eraseblock size: 131072 bytes (128 KiB)
+# UBI: sub-page size: 512
+UBINIZE_ARGS = "-m 2048 -p 128KiB -s 2048 -O 2048"
# build / upload tools
EXTRA_IMAGEDEPENDS += "sjf2410-linux-native dfu-util-native"
+module_autoload_snd-soc-neo1973-gta02-wm8753 = "snd-soc-neo1973-gta02-wm8753"
+#2.6.31 is using the same name as it was in gta01
+module_autoload_snd-soc-neo1973-wm8753 = "snd-soc-neo1973-wm8753"
+
# tune for S3C24x0
include conf/machine/include/tune-arm920t.inc