1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 05:09:24 +00:00

meta-moblin: Add initial menlow support

This commit is contained in:
Richard Purdie
2008-12-30 17:15:49 +00:00
parent 459a7f4a34
commit c8a24cd002
23 changed files with 69393 additions and 3 deletions
@@ -12,3 +12,6 @@ PREFERRED_VERSION_atk ?= "1.24.0"
PREFERRED_VERSION_pixman ?= "0.12.0"
PREFERRED_VERSION_cairo ?= "1.8.2"
PREFERRED_VERSION_pango ?= "1.22.2"
SRCREV_pn-xf86-video-psb ?= "b6b3bba06fe5a3fe0b1bd6e31a7369dd83812bab"
SRCREV_pn-libdrm-psb = "aa96c0bbbba11d5bab28bb421a67c2264fad953a"
SRCREV_pn-linux-mid ?= "cb29ee2997ba598028e1ad4bbdd073deac2d057d"
+43
View File
@@ -0,0 +1,43 @@
#@TYPE: Machine
#@NAME: Netbook
#@DESCRIPTION: Machine configuration for Menlow platforms. Currently supported machines are the Compal JAX10
TARGET_ARCH = "i586"
PACKAGE_EXTRA_ARCHS = "x86"
include conf/machine/include/tune-atom.inc
MACHINE_FEATURES = "kernel26 screen keyboard pci usbhost ext2 ext3 x86 wifi \
acpi"
KERNEL_IMAGETYPE = "bzImage"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-mid"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-lite-psb"
PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-lite-psb"
XSERVER ?= "xserver-xf86-lite-psb \
xf86-input-mouse \
xf86-input-keyboard \
xf86-input-synaptics \
xf86-video-psb"
# mesa-dri-driver-i915"
#MACHINE_EXTRA_RDEPENDS = "rt2860"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts"
GUI_MACHINE_CLASS = "bigscreen"
IMAGE_ROOTFS_SIZE_ext3 = "500000"
IMAGE_FSTYPES ?= "ext3 jffs2 cpio.gz"
APPEND += "video=intelfb:mode=800x600,accel=0,hwcursor=0 vga=788 usbcore.autosuspend=1"
GLIBC_ADDONS = "nptl"
GLIBC_EXTRA_OECONF = "--with-tls"
EXTRA_OECONF_append_pn-matchbox-panel-2 = " --with-battery=acpi"
@@ -0,0 +1,84 @@
# Ubuntu config
CONFIG_BLK_DEV_GNBD=m
# Requires some headers from drivers/md
#CONFIG_BLK_DEV_DM_BBR=m
CONFIG_SND_BTSCO=m
CONFIG_INPUT_ACERHK=m
CONFIG_AVERATEC_5100P=m
CONFIG_PACKARDBELL_E5=m
CONFIG_LMPCM_USB=m
CONFIG_NOZOMI=m
CONFIG_NDISWRAPPER=m
CONFIG_NDISWRAPPER_WQ=y
#CONFIG_MOL=m
CONFIG_ASFS_FS=m
# Uses unexported functions from gfs2
CONFIG_GFS_FS=m
CONFIG_SQUASHFS=m
# CONFIG_UNION_FS is not set
CONFIG_USB_APPLEIR=m
CONFIG_GSPCA=m
CONFIG_USB_OV511_NEW=m
CONFIG_QUICKCAM=m
CONFIG_USB_UVCCAM=m
CONFIG_NET_ACX=m
CONFIG_IPW3945=m
CONFIG_IWLWIFI=m
CONFIG_USB_ATMEL=m
CONFIG_PRISM2_USB=m
CONFIG_IPW2100_FS_AMILO_M7400=m
CONFIG_LIRC_DEV=m
CONFIG_LIRC_ATIUSB=m
CONFIG_LIRC_BT829=m
CONFIG_LIRC_CMDIR=m
#CONFIG_LIRC_GPIO=m
CONFIG_LIRC_I2C=m
CONFIG_LIRC_IGORPLUGUSB=m
CONFIG_LIRC_IMON=m
CONFIG_LIRC_IT87=m
CONFIG_LIRC_MCEUSB=m
CONFIG_LIRC_MCEUSB2=m
#CONFIG_LIRC_PARALLEL=m
CONFIG_LIRC_PVR150=m
CONFIG_LIRC_SASEM=m
CONFIG_LIRC_SERIAL=m
CONFIG_LIRC_SERIAL_IGOR=m
CONFIG_LIRC_SIR=m
CONFIG_LIRC_STREAMZAP=m
CONFIG_LIRC_TTUSBIR=m
CONFIG_DRM_PSB=m
CONFIG_AMT_HECI=m
CONFIG_ET131X=m
CONFIG_STK11XX=m
CONFIG_MMC_SD8686=m
CONFIG_MMC_SD8688=m
CONFIG_WIMAX_I2400M=m
# CONFIG_DVB_SIANO_SMS1XXX is not set
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,25 @@
SECTION = "x11/base"
LICENSE = "MIT"
SRC_URI = "git://git.moblin.org/projects/libdrm.git/;protocol=git \
file://poulsbo_libdrm_update.patch;patch=1"
PROVIDES = "drm libdrm"
S = ${WORKDIR}/git
DEPENDS = "libpthread-stubs"
PR = "r2"
PV = "2.3.0+git${SRCREV}"
#PROVIDES = "libdrm"
COMPATIBLE_MACHINE = "menlow"
#DEFAULT_PREFERENCE_menlow = "5"
#PACKAGE_ARCH = "${MACHINE_ARCH}"
LEAD_SONAME = "libdrm.so"
inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
@@ -0,0 +1,26 @@
SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/l/linux-ubuntu-modules-2.6.24/linux-ubuntu-modules-2.6.24_2.6.24-22.35.tar.gz \
file://menlow-config"
S = "${WORKDIR}/lum/ubuntu"
inherit module
export src="${S}"
do_configure_prepend () {
cp ${WORKDIR}/menlow-config ${S}/.config
}
do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
make -C ${STAGING_KERNEL_DIR} ARCH=i386 M=${S} modules
}
MODULE_PATH = "/lib/modules/${KERNEL_VERSION}"
do_install () {
install -d ${D}${MODULE_PATH}/kernel/drivers/char/drm/
install -m 644 ${S}/media/drm-poulsbo/drm.ko ${D}${MODULE_PATH}/kernel/drivers/char/drm/
install -m 644 ${S}/media/drm-poulsbo/psb.ko ${D}${MODULE_PATH}/kernel/drivers/char/drm/
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,11 @@
require linux-moblin.inc
PR = "r0"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_menlow = "100"
SRC_URI = "git://git.moblin.org/projects/kernel-mid-2.6.24.git;protocol=git \
file://defconfig-menlow"
S = "${WORKDIR}/git"
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -14,5 +14,4 @@ do_configure() {
}
COMPATIBLE_MACHINE = "netbook"
COMPATIBLE_MACHINE = "(netbook|menlow)"
@@ -50,6 +50,7 @@ SRC_URI = "${KERNELORG_MIRROR}pub/linux/kernel/v2.6/linux-2.6.27.tar.bz2 \
file://0041-r8169-8101e.patch;patch=1 \
file://0042-intelfb-945gme.patch;patch=1 \
file://0043-superreadahead-patch.patch;patch=1 \
file://defconfig-menlow \
file://defconfig-netbook"
S = "${WORKDIR}/linux-2.6.27"
@@ -0,0 +1,23 @@
Index: git/src/psb_driver.c
===================================================================
--- git.orig/src/psb_driver.c 2008-12-12 15:14:28.000000000 +0000
+++ git/src/psb_driver.c 2008-12-30 14:18:16.000000000 +0000
@@ -1326,7 +1326,7 @@
pScrn->pScreen = pScreen;
- psbDRILock(pScrn, 0);
+/* psbDRILock(pScrn, 0);*/
pPsb->front = psbScanoutCreate(pScrn, pScrn->bitsPerPixel >> 3,
pScrn->depth, pScrn->virtualX,
pScrn->virtualY, 0, -1, 0);
@@ -1489,7 +1489,9 @@
return psbEnterVT(pScreen->myNum, 0);
out_err_unlock:
+ /* Temporary Fix TBD
psbDRIUnlock(pScrn);
+ */
out_err:
psbRestoreHWState(pDevice);
return FALSE;
@@ -0,0 +1,32 @@
DESCRIPTION = "X driver"
HOMEPAGE = "http://www.x.org"
SECTION = "x11/drivers"
LICENSE = "MIT-X"
PE = "1"
PR = "r0"
DEPENDS = "virtual/xserver-xf86 xproto randrproto"
XORG_PN = "${PN}"
SRC_URI = "${XORG_MIRROR}/individual/driver/${XORG_PN}-${PV}.tar.bz2"
S = "${WORKDIR}/${XORG_PN}-${PV}"
FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so"
FILES_${PN}-dbg += " ${libdir}/xorg/modules/drivers/.debug"
inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
# AC_CHECK_FILE doesn't work when cross compiling, so we create a replacement
# macro that simply assumes the test succeeds.
do_configure_prepend () {
echo 'AC_DEFUN(CC_AC_CHECK_FILE, $2)' > configure.ac.new
sed 's/AC_CHECK_FILE/CC_AC_CHECK_FILE/g' configure.ac >> configure.ac.new
mv configure.ac.new configure.ac
}
@@ -0,0 +1,4 @@
include xf86-driver-common.inc
DEPENDS =+ "renderproto videoproto xextproto fontsproto"
@@ -0,0 +1,20 @@
require xf86-video-common.inc
DESCRIPTION = "X.Org X server -- PIntel i8xx, i9xx display driver"
DEPENDS += "virtual/libx11 libxvmc libdrm-psb dri2proto glproto \
virtual/libgl xineramaproto libpciaccess"
RDEPENDS += linux-psb-modules
PV = "0.2.6+git${SRCREV}"
PR = "r4"
SRC_URI = "git://git.moblin.org/projects/xf86-video-psb;protocol=git \
file://104_disable_locks.diff;patch=1"
S = "${WORKDIR}/git"
COMPATIBLE_HOST = '(i.86.*-linux)'
COMPATIBLE_MACHINE = "menlow"
EXTRA_OECONF = "--enable-dri --disable-static"
@@ -0,0 +1,45 @@
DESCRIPTION = "The X.Org X server"
HOMEPAGE = "http://www.x.org"
SECTION = "x11/base"
LICENSE = "MIT-X"
# xf86-*-* packages depend on an X server built with the xfree86 DDX
# so we have a virtual to represent that:
PROVIDES = "virtual/xserver-xf86"
# Other packages tend to just care that there is *an* X server:
PROVIDES += "virtual/xserver"
XORG_PN = "xorg-server"
SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2 \
file://xorg.conf"
S = "${WORKDIR}/${XORG_PN}-${PV}"
inherit autotools pkgconfig
PACKAGES =+ "${PN}-utils"
FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
FILES_${PN} = "${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/xserver/SecurityPolicy ${libdir}/xorg/modules/*.so ${libdir}/xorg/modules/*/*.so ${libdir}/xorg/modules/*/*/*.so /etc/X11 "
FILES_${PN}-doc += "${libdir}/X11/doc /usr/share/X11/xkb/compiled/README.compiled"
FILES_${PN}-dbg += "${libdir}/xorg/modules/.debug \
${libdir}/xorg/modules/*/.debug \
${libdir}/xorg/modules/*/*/.debug \
"
CONFFILES_${PN} += "${sysconfdir}/X11/xorg.conf"
SRC_URI += "file://macro_tweak.patch;patch=1"
do_stage() {
autotools_stage_all
}
do_install_append () {
install -d ${D}/${sysconfdir}/X11
install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/
ln -sf ${datadir}/fonts/X11 ${D}/${libdir}/X11/fonts
}
@@ -0,0 +1,13 @@
Index: xorg-server-1.4/hw/xfree86/os-support/linux/Makefile.am
===================================================================
--- xorg-server-1.4.orig/hw/xfree86/os-support/linux/Makefile.am 2007-08-23 21:04:53.000000000 +0200
+++ xorg-server-1.4/hw/xfree86/os-support/linux/Makefile.am 2008-03-13 18:27:23.000000000 +0100
@@ -41,7 +41,7 @@
AM_CFLAGS = -DUSESTDRES -DHAVE_SYSV_IPC $(DIX_CFLAGS) $(XORG_CFLAGS) $(PLATFORM_DEFINES)
-INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) -I/usr/include/drm # FIXME this last part is crack
+INCLUDES = $(XORG_INCS) $(PLATFORM_INCLUDES) $(LIBDRM_CFLAGS)
# FIXME: These need to be added to the build
LNX_EXTRA_SRCS = \
@@ -0,0 +1,50 @@
Index: xorg-server-1.5.0/hw/xfree86/dri/dri.c
===================================================================
--- xorg-server-1.5.0.orig/hw/xfree86/dri/dri.c 2008-09-24 17:43:04.000000000 +0100
+++ xorg-server-1.5.0/hw/xfree86/dri/dri.c 2008-09-24 17:46:38.000000000 +0100
@@ -73,10 +73,6 @@
#define PCI_BUS_NO_DOMAIN(bus) ((bus) & 0xffu)
-#if !defined(PANORAMIX)
-extern Bool noPanoramiXExtension;
-#endif
-
static int DRIEntPrivIndex = -1;
static DevPrivateKey DRIScreenPrivKey = &DRIScreenPrivKey;
static DevPrivateKey DRIWindowPrivKey = &DRIWindowPrivKey;
@@ -307,7 +303,6 @@
drm_context_t * reserved;
int reserved_count;
int i;
- Bool xineramaInCore = FALSE;
DRIEntPrivPtr pDRIEntPriv;
ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
DRIContextFlags flags = 0;
@@ -320,20 +315,13 @@
return FALSE;
}
- /*
- * If Xinerama is on, don't allow DRI to initialise. It won't be usable
- * anyway.
- */
- if (xf86LoaderCheckSymbol("noPanoramiXExtension"))
- xineramaInCore = TRUE;
-
- if (xineramaInCore) {
- if (!noPanoramiXExtension) {
- DRIDrvMsg(pScreen->myNum, X_WARNING,
- "Direct rendering is not supported when Xinerama is enabled\n");
- return FALSE;
- }
+#if defined(PANORAMIX)
+ if (!noPanoramiXExtension) {
+ DRIDrvMsg(pScreen->myNum, X_WARNING,
+ "Direct rendering is not supported when Xinerama is enabled\n");
+ return FALSE;
}
+#endif
if (!DRIOpenDRMMaster(pScrn, pDRIInfo->SAREASize,
pDRIInfo->busIdString,
@@ -0,0 +1,30 @@
Index: xorg-server-1.4/xorg-server.m4
===================================================================
--- xorg-server-1.4.orig/xorg-server.m4 2007-08-23 20:04:55.000000000 +0100
+++ xorg-server-1.4/xorg-server.m4 2008-12-26 23:59:53.000000000 +0000
@@ -28,9 +28,12 @@
# Checks for the $1 define in xorg-server.h (from the sdk). If it
# is defined, then add $1 to $REQUIRED_MODULES.
+m4_pattern_allow(PKG_CONFIG_SYSROOT_DIR)
+
AC_DEFUN([XORG_DRIVER_CHECK_EXT],[
+ PKG_PROG_PKG_CONFIG
SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS -I`pkg-config --variable=sdkdir xorg-server`"
+ CFLAGS="$CFLAGS -I$PKG_CONFIG_SYSROOT_DIR`pkg-config --variable=sdkdir xorg-server`"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include "xorg-server.h"
#if !defined $1
Index: xorg-server-1.4/xorg-server.pc.in
===================================================================
--- xorg-server-1.4.orig/xorg-server.pc.in 2008-12-27 00:07:37.000000000 +0000
+++ xorg-server-1.4/xorg-server.pc.in 2008-12-27 00:08:39.000000000 +0000
@@ -8,5 +8,6 @@
Name: xorg-server
Description: Modular X.Org X Server
Version: @PACKAGE_VERSION@
-Cflags: -I${sdkdir} @PIXMAN_CFLAGS@
+Requires: pixman-1
+Cflags: -I${sdkdir}
Libs: -L${libdir}
@@ -0,0 +1,87 @@
Section "Files"
EndSection
#Section "InputDevice"
# Identifier "Generic Keyboard"
# Driver "kbd"
# Option "CoreKeyboard"
# Option "XkbRules" "xorg"
# Option "XkbModel" "pc105"
# Option "XkbLayout" "us"
#EndSection
#
#Section "InputDevice"
# Identifier "Configured Mouse"
# Driver "mouse"
# Option "CorePointer"
# Option "Device" "/dev/input/mice"
# Option "Protocol" "ImPS/2"
# Option "ZAxisMapping" "4 5"
# Option "Emulate3Buttons" "true"
#EndSection
#Section "InputDevice"
# Identifier "Synaptics Touchpad"
# Driver "synaptics"
# Option "SendCoreEvents" "true"
# Option "Device" "/dev/psaux"
# Option "Protocol" "auto-dev"
# Option "HorizEdgeScroll" "0"
#EndSection
#Section "InputDevice"
# Driver "wacom"
# Identifier "stylus"
# Option "Device" "/dev/input/wacom"
# Option "Type" "stylus"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection
#Section "InputDevice"
# Driver "wacom"
# Identifier "eraser"
# Option "Device" "/dev/input/wacom"
# Option "Type" "eraser"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection
#Section "InputDevice"
# Driver "wacom"
# Identifier "cursor"
# Option "Device" "/dev/input/wacom"
# Option "Type" "cursor"
# Option "ForceDevice" "ISDV4" # Tablet PC ONLY
#EndSection
Section "Device"
Identifier "PSB Graphics Controller"
Driver "psb"
# BusID "PCI:0:2:0"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
EndSection
Section "Screen"
Identifier "Default Screen"
Device "PSB Graphics Controller"
Monitor "Generic Monitor"
DefaultDepth 24
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
# InputDevice "Generic Keyboard"
# InputDevice "Configured Mouse"
# Uncomment if you have a wacom tablet
# InputDevice "stylus" "SendCoreEvents"
# InputDevice "cursor" "SendCoreEvents"
# InputDevice "eraser" "SendCoreEvents"
# InputDevice "Synaptics Touchpad"
EndSection
@@ -0,0 +1,7 @@
require xserver-xf86-lite.inc
PR = "r4"
SRC_URI += "file://drmfix.patch;patch=1 \
file://libdri-xinerama-symbol.patch;patch=1 "
@@ -0,0 +1,37 @@
require xserver-xf86-common.inc
PROVIDES += "xserver-xf86-lite"
PROTO_DEPS = "randrproto renderproto fixesproto damageproto xextproto xproto xf86dgaproto xf86miscproto xf86rushproto xf86vidmodeproto xf86bigfontproto compositeproto recordproto resourceproto videoproto scrnsaverproto evieext trapproto xineramaproto fontsproto kbproto inputproto bigreqsproto xcmiscproto glproto"
LIB_DEPS = "mesa pixman libxfont xtrans libxau libxext libxdmcp libxt libdrm-psb libxkbfile libpciaccess openssl"
DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
RDEPENDS = "hal xorg-minimal-fonts"
FILES_${PN} += "${bindir}/Xorg "
EXTRA_OECONF += "--disable-acfb \
--enable-aiglx=yes \
--enable-dri=yes \
--enable-glx=yes \
--enable-glx-tls=yes \
--disable-ccfb \
--disable-mcfb \
--disable-dga \
--disable-xinerama \
--disable-xf86misc \
--disable-xorgcfg \
--disable-record \
--disable-dmx \
--disable-xnest \
--disable-xvfb \
--enable-composite \
--sysconfdir=/etc/X11 \
--localstatedir=/var \
--with-pic \
--with-int10=x86emu \
--with-fontdir=/usr/share/fonts/X11 \
--with-xkb-output=/var/lib/xkb \
ac_cv_file__usr_share_sgml_X11_defs_ent=no"
+1 -1
View File
@@ -13,7 +13,7 @@ SRC_URI = "http://folks.o-hand.com/sameo/rt2860/rt2860-1.7.0.0.tar.bz2 \
S = "${WORKDIR}/rt2860-1.7.0.0"
COMPATIBLE_MACHINE = "netbook"
COMPATIBLE_MACHINE = "(netbook|menlow)"
inherit module