summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/siteinfo.bbclass2
-rw-r--r--conf/distro/angstrom-2008.1.conf5
-rw-r--r--conf/distro/include/preferred-xorg-versions-X11R7.3.inc282
-rw-r--r--conf/machine/at91sam9260ek.conf20
-rw-r--r--conf/machine/at91sam9261ek.conf20
-rw-r--r--conf/machine/include/motorola-ezx-base.inc2
-rw-r--r--conf/machine/nokia770.conf2
-rw-r--r--packages/dbus/dbus-1.0.2/dbus-1.init2
-rw-r--r--packages/dbus/dbus_1.0.2.bb2
-rw-r--r--packages/ezx/ezxd/.mtn2git_empty0
-rw-r--r--packages/ezx/ezxd/ezxd.init84
-rw-r--r--packages/ezx/ezxd_svn.bb34
-rw-r--r--packages/glibc/eglibc-initial_svn.bb1
-rw-r--r--packages/glibc/eglibc-intermediate_svn.bb1
-rw-r--r--packages/glibc/eglibc_svn.bb2
-rw-r--r--packages/gnome/gnome-panel_2.18.1.bb6
-rw-r--r--packages/gnome/libwnck_2.13.5.bb1
-rw-r--r--packages/images/angstrom-minimal-image-with-mtd-utils.bb2
-rw-r--r--packages/linux/linux-2.6.20/at91sam9260ek/.mtn2git_empty0
-rw-r--r--packages/linux/linux-2.6.20/at91sam9260ek/defconfig1209
-rw-r--r--packages/linux/linux-2.6.20/at91sam9261ek/.mtn2git_empty0
-rw-r--r--packages/linux/linux-2.6.20/at91sam9261ek/defconfig1242
-rw-r--r--packages/linux/linux-ezx-2.6.21/a1200/.mtn2git_empty0
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/a1200/defconfig (renamed from packages/linux/linux-ezx-2.6.21/patches/defconfig-a1200)0
-rw-r--r--packages/linux/linux-ezx-2.6.21/a780/.mtn2git_empty0
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/a780/defconfig (renamed from packages/linux/linux-ezx-2.6.21/patches/defconfig-a780)86
-rw-r--r--packages/linux/linux-ezx-2.6.21/e2/.mtn2git_empty0
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/e2/defconfig (renamed from packages/linux/linux-ezx-2.6.21/patches/defconfig-e2)0
-rw-r--r--packages/linux/linux-ezx-2.6.21/e6/.mtn2git_empty0
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/e6/defconfig (renamed from packages/linux/linux-ezx-2.6.21/patches/defconfig-e6)0
-rw-r--r--packages/linux/linux-ezx-2.6.21/e680/.mtn2git_empty0
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/e680/defconfig (renamed from packages/linux/linux-ezx-2.6.21/patches/defconfig-e680)0
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch27
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/a1200-pcap.patch53
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch18
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/a780-emu.patch38
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a780-flip.patch10
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a780-kbd.patch22
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a780-leds.patch21
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a780-mci.patch27
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/a780-pcap.patch98
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/a780-ts.patch19
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/e680-emu.patch38
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch22
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/e680-leds.patch287
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/e680-locksw.patch10
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/e680-mci.patch27
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/e680-pcap.patch98
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/e680-ts.patch19
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/ezx-asoc.patch1179
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/ezx-backlight.patch28
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/ezx-bp.patch17
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/ezx-core.patch220
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/ezx-emu.patch64
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/ezx-pcap.patch248
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch22
-rw-r--r--packages/linux/linux-ezx-2.6.21/patches/index.html60
-rwxr-xr-xpackages/linux/linux-ezx-2.6.21/patches/series12
-rw-r--r--packages/linux/linux-ezx-2.6.21/rokre2/.mtn2git_empty0
-rw-r--r--packages/linux/linux-ezx_2.6.21.bb73
-rw-r--r--packages/linux/linux.inc29
-rw-r--r--packages/linux/linux_2.6.20.bb10
-rw-r--r--packages/tasks/task-boot.bb2
-rw-r--r--packages/tasks/task-openmoko-debug.bb31
-rw-r--r--packages/tasks/task-openmoko-feed.bb9
-rw-r--r--packages/webkit/webkit-gtk_svn.bb4
-rw-r--r--packages/xorg-app/bdftopcf_1.0.1.bb7
-rw-r--r--packages/xorg-app/iceauth_1.0.2.bb7
-rw-r--r--packages/xorg-app/ico_1.0.2.bb6
-rw-r--r--packages/xorg-app/xbacklight_1.1.bb6
-rw-r--r--packages/xorg-app/xdm_1.1.6.bb2
-rw-r--r--packages/xorg-app/xinit_1.0.5.bb6
-rw-r--r--packages/xorg-app/xprop_1.0.3.bb7
-rw-r--r--packages/xorg-app/xset_1.0.3.bb11
-rw-r--r--packages/xorg-driver/xf86-input-keyboard_1.2.2.bb7
-rw-r--r--packages/xorg-lib/libxcursor_1.1.9.bb8
-rw-r--r--packages/xorg-lib/libxfont_1.3.1.bb11
-rw-r--r--packages/xorg-lib/libxi_1.1.3.bb7
-rw-r--r--packages/xorg-lib/libxrandr_1.2.2.bb8
-rw-r--r--packages/xorg-lib/libxrender_0.9.4.bb8
-rw-r--r--packages/xorg-lib/libxxf86dga_1.0.2.bb7
-rw-r--r--packages/xorg-lib/pixman-0.9.5/.mtn2git_empty0
-rw-r--r--packages/xorg-lib/pixman-0.9.5/dont-copy-unused-bits-to-alpha-channel.patch29
-rw-r--r--packages/xorg-lib/pixman_0.9.5.bb6
-rw-r--r--packages/xorg-proto/inputproto_1.4.2.1.bb3
-rw-r--r--packages/xorg-proto/renderproto_0.9.3.bb4
-rw-r--r--packages/xorg-proto/xf86dgaproto_2.0.3.bb5
-rw-r--r--packages/xorg-xserver/xserver-kdrive-common.inc3
-rw-r--r--packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb3
-rw-r--r--packages/xorg-xserver/xserver-kdrive_1.2.0.bb3
-rw-r--r--packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb3
-rw-r--r--packages/xournal/xournal_0.4.0.1.bb17
-rw-r--r--site/mips-linux122
93 files changed, 5323 insertions, 830 deletions
diff --git a/classes/siteinfo.bbclass b/classes/siteinfo.bbclass
index 4191f4edc1..c41a3ff369 100644
--- a/classes/siteinfo.bbclass
+++ b/classes/siteinfo.bbclass
@@ -42,6 +42,8 @@ def get_siteinfo_list(d):
"i686-linux-uclibc": "endian-little bit-32 common-uclibc ix86-common",\
"mipsel-linux": "endian-little bit-32 common-glibc",\
"mipsel-linux-uclibc": "endian-little bit-32 common-uclibc",\
+ "mips-linux": "endian-big bit-32 common-glibc",\
+ "mips-linux-uclibc": "endian-big bit-32 common-uclibc",\
"powerpc-darwin": "endian-big bit-32 common-darwin",\
"ppc-linux": "endian-big bit-32 common-glibc powerpc-common",\
"powerpc-linux": "endian-big bit-32 common-glibc powerpc-common",\
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index 34a1e54959..7d017b1e49 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -6,6 +6,11 @@
#@MAINTAINER: Michael 'Mickey' Lauer <mickey@Vanille-media.de>
#@--------------------------------------------------------------------
+
+# Use Xorg R7.3 release
+require conf/distro/include/preferred-xorg-versions-X11R7.3.inc
+
+
# This is a testbed for unstable and/or untested things, while angstrom-2007.1
# is aiming for stability and a release.
# Use this at your own risk, we welcome bugreports filed at
diff --git a/conf/distro/include/preferred-xorg-versions-X11R7.3.inc b/conf/distro/include/preferred-xorg-versions-X11R7.3.inc
new file mode 100644
index 0000000000..adbb3d9465
--- /dev/null
+++ b/conf/distro/include/preferred-xorg-versions-X11R7.3.inc
@@ -0,0 +1,282 @@
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
+
+PREFERRED_PROVIDER_libxext ?= "libxext"
+PREFERRED_PROVIDER_xext ?= "libxext"
+PREFERRED_PROVIDER_libxi ?= "libxi"
+PREFERRED_PROVIDER_libxft ?= "libxft"
+PREFERRED_PROVIDER_virtual/libx11 ?= "libx11"
+PREFERRED_PROVIDER_libxpm ?= "libxpm"
+PREFERRED_PROVIDER_xpm ?= "libxpm"
+PREFERRED_PROVIDER_libxt ?= "libxt"
+PREFERRED_PROVIDER_libxaw ?= "libxaw"
+PREFERRED_PROVIDER_libice ?= "libice"
+PREFERRED_PROVIDER_libxrender ?= "libxrender"
+PREFERRED_PROVIDER_libxcursor ?= "libxcursor"
+PREFERRED_PROVIDER_xextensions ?= "xextensions"
+PREFERRED_PROVIDER_xproto ?= "xproto"
+PREFERRED_PROVIDER_x11 ?= "libx11"
+PREFERRED_PROVIDER_libxv ?= "libxv"
+PREFERRED_PROVIDER_xft ?= "libxft"
+PREFERRED_PROVIDER_libxrandr ?= "libxrandr"
+PREFERRED_PROVIDER_libxdamage ?= "libxdamage"
+PREFERRED_PROVIDER_libxcomposite ?= "libxcomposite"
+PREFERRED_PROVIDER_libxfixes ?= "libxfixes"
+PREFERRED_PROVIDER_libxinerama ?= "libxinerama"
+PREFERRED_PROVIDER_libxxf86vm ?= "libxxf86vm"
+PREFERRED_PROVIDER_libxmu ?= "libxmu"
+PREFERRED_PROVIDER_libsm ?= "libsm"
+PREFERRED_PROVIDER_xrandr ?= "xrandr"
+PREFERRED_PROVIDER_xserver ?= "xserver-xorg"
+PREFERRED_PROVIDER_virtual/xorg ?= "xserver-xorg"
+
+PREFERRED_VERSION_task-xorg ?= "X11R7.3"
+
+# app
+PREFERRED_VERSION_appres ?= "1.0.1"
+PREFERRED_VERSION_bdftopcf ?= "1.0.1"
+PREFERRED_VERSION_beforelight ?= "1.0.2"
+PREFERRED_VERSION_bitmap ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_editres ?= "1.0.2"
+PREFERRED_VERSION_fontosfnt ?= "1.0.3"
+PREFERRED_VERSION_fslsfonts ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_fstobdf ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_iceauth ?= "1.0.2"
+PREFERRED_VERSION_ico ?= "1.0.2"
+PREFERRED_VERSION_lbxproxy ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_listres ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_luit ?= "1.0.2"
+PREFERRED_VERSION_mkfontdir-native ?= "1.0.3"
+PREFERRED_VERSION_mkfontdir ?= "1.0.3"
+PREFERRED_VERSION_mkfontscale ?= "1.0.3"
+PREFERRED_VERSION_oclock ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_proxymngr ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_rgb ?= "X11R7.1-1.0.1"
+PREFERRED_VERSION_rstart ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_scripts ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_sessreg ?= "1.0.3"
+PREFERRED_VERSION_setxkbmap ?= "1.0.4"
+PREFERRED_VERSION_smproxy ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_twm ?= "1.0.3"
+PREFERRED_VERSION_viewres ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_x11perf ?= "X11R7.1-1.4.1"
+PREFERRED_VERSION_xauth ?= "1.0.2"
+PREFERRED_VERSION_xbacklight ?= "1.1"
+PREFERRED_VERSION_xbiff ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xcalc ?= "1.0.2"
+PREFERRED_VERSION_xclipboard ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xclock ?= "1.0.3"
+PREFERRED_VERSION_xcmsdb ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xconsole ?= "1.0.3"
+PREFERRED_VERSION_xcursorgen ?= "1.0.2"
+PREFERRED_VERSION_xdbedizzy ?= "1.0.2"
+PREFERRED_VERSION_xditview ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xdm ?= "1.1.6"
+PREFERRED_VERSION_xdpyinfo ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xdriinfo ?= "1.0.2"
+PREFERRED_VERSION_xedit ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_xev ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xeyes ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xxf86dga ?= "1.0.2"
+PREFERRED_VERSION_xfd ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xfindproxy ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xfontsel ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xfs ?= "1.0.4"
+PREFERRED_VERSION_xfsinfo ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xfwp ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xgamma ?= "1.0.2"
+PREFERRED_VERSION_xgc ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xhost ?= "1.0.2"
+PREFERRED_VERSION_xinit ?= "1.0.5"
+PREFERRED_VERSION_xkbcomp ?= "1.0.3"
+PREFERRED_VERSION_xkbevd ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_xkbprint ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xkbutils ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xkill ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xload ?= "1.0.2"
+PREFERRED_VERSION_xlogo ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xlsatoms ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xlsclients ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xlsfonts ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xmag ?= "1.0.2"
+PREFERRED_VERSION_xman ?= "1.0.3"
+PREFERRED_VERSION_xmessage ?= "1.0.2"
+PREFERRED_VERSION_xmh ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xmodmap ?= "1.0.3"
+PREFERRED_VERSION_xmore ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xphelloworld ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xplsprinters ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xpr ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xprehashprinterlist ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xprop ?= "1.0.3"
+PREFERRED_VERSION_xrandr ?= "1.2.2"
+PREFERRED_VERSION_xrdb ?= "1.0.4"
+PREFERRED_VERSION_xrefresh ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_xrx ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xset ?= "1.0.3"
+PREFERRED_VERSION_xsetmode ?= "X11R7.0-1.0.0"
+PREFERRED_VERSION_xsetpointer ?= "X11R7.0-1.0.0"
+PREFERRED_VERSION_xsetroot ?= "1.0.2"
+PREFERRED_VERSION_xsm ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xstdcmap ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xtrap ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_xvidtune ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xvinfo ?= "1.0.2"
+PREFERRED_VERSION_xwd ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xwininfo ?= "1.0.3"
+PREFERRED_VERSION_xwud ?= "X11R7.0-1.0.1"
+
+#data
+PREFERRED_VERSION_xbitmaps ?= "X11R7.0-1.0.1"
+PREFERRED_VERSION_xcursor-themes ?= "X11R7.0-1.0.1"
+
+# doc
+PREFERRED_VERSION_xorg-docs ?= "1.4"
+PREFERRED_VERSION_xorg-sgml-doctools ?= "1.2"
+
+# driver
+PREFERRED_VERSION_xf86-input-acecad ?= "1.2.0"
+PREFERRED_VERSION_xf86-input-aiptek ?= "X11R7.1-1.0.1"
+PREFERRED_VERSION_xf86-input-calcomp ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-citron ?= "X11R7.1-2.2.0"
+PREFERRED_VERSION_xf86-input-digitaledge ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-dmc ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-dynapro ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-elo2300 ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-elographics ?= "X11R7.0-1.0.0.5"
+PREFERRED_VERSION_xf86-input-evdev ?= "X11R7.1-1.1.2"
+PREFERRED_VERSION_xf86-input-fpit ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-hyperpen ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-jamstudio ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-joystick ?= "1.2.3"
+PREFERRED_VERSION_xf86-input-keyboard ?= "1.2.2"
+PREFERRED_VERSION_xf86-input-magellan ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-magictouch ?= "X11R7.1-1.0.0.5"
+PREFERRED_VERSION_xf86-input-microtouch ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-mouse ?= "1.2.2"
+PREFERRED_VERSION_xf86-input-mutouch ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-palmax ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-penmount ?= "1.2.0"
+PREFERRED_VERSION_xf86-input-spaceorb ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-summa ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-tek4957 ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-ur98 ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-input-vmmouse ?= "12.4.1"
+PREFERRED_VERSION_xf86-input-void ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-apm ?= "X11R7.1-1.1.1"
+PREFERRED_VERSION_xf86-video-ark ?= "X11R7.1-0.6.0"
+PREFERRED_VERSION_xf86-video-ast ?= "X11R7.1-0.81.0"
+PREFERRED_VERSION_xf86-video-ati ?= "6.6.193"
+PREFERRED_VERSION_xf86-video-chips ?= "X11R7.1-1.1.1"
+PREFERRED_VERSION_xf86-video-cirrus ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-cyrix ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-dummy ?= "X11R7.1-0.2.0"
+PREFERRED_VERSION_xf86-video-fbdev ?= "0.3.1"
+PREFERRED_VERSION_xf86-video-glide ?= "1.0.0"
+PREFERRED_VERSION_xf86-video-glint ?= "X11R7.1-1.1.1"
+PREFERRED_VERSION_xf86-video-i128 ?= "1.1.0.6"
+PREFERRED_VERSION_xf86-video-i740 ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-i810 ?= "1.6.5"
+PREFERRED_VERSION_xf86-video-imstt ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-intel ?= "2.1.1"
+PREFERRED_VERSION_xf86-video-mga ?= "1.4.6.1"
+PREFERRED_VERSION_xf86-video-neomagic ?= "X11R7.1-1.1.1"
+PREFERRED_VERSION_xf86-video-newport ?= "0.2.1"
+PREFERRED_VERSION_xf86-video-nsc ?= "2.8.3"
+PREFERRED_VERSION_xf86-video-nv ?= "2.1.3"
+PREFERRED_VERSION_xf86-video-rendition ?= "4.1.3"
+PREFERRED_VERSION_xf86-video-s3 ?= "0.5.0"
+PREFERRED_VERSION_xf86-video-s3virge ?= "X11R7.1-1.9.1"
+PREFERRED_VERSION_xf86-video-savage ?= "2.1.3"
+PREFERRED_VERSION_xf86-video-siliconmotion ?= "1.4.2"
+PREFERRED_VERSION_xf86-video-sis ?= "0.9.3"
+PREFERRED_VERSION_xf86-video-sisusb ?= "X11R7.1-0.8.1"
+PREFERRED_VERSION_xf86-video-sunbw2 ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-suncg14 ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-suncg3 ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-suncg6 ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-sunffb ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-sunleo ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-suntcx ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-tdfx ?= "1.3.0"
+PREFERRED_VERSION_xf86-video-tga ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86-video-trident ?= "1.2.3"
+PREFERRED_VERSION_xf86-video-tseng ?= "1.1.1"
+PREFERRED_VERSION_xf86-video-v4l ?= "X11R7.1-0.1.1"
+PREFERRED_VERSION_xf86-video-vermilion ?= "1.0.0"
+PREFERRED_VERSION_xf86-video-vesa ?= "1.3.0"
+PREFERRED_VERSION_xf86-video-vga ?= "X11R7.1-4.1.0"
+PREFERRED_VERSION_xf86-video-via ?= "0.2.2"
+PREFERRED_VERSION_xf86-video-vmware ?= "10.14.1"
+PREFERRED_VERSION_xf86-video-voodoo ?= "1.1.1"
+
+# font
+PREFERRED_VERSION_encodings ?= "1.0.2"
+PREFERRED_VERSION_font-screen-cyrillic ?= "1.0.1"
+PREFERRED_VERSION_font-util-native ?= "X11R7.1-1.0.1"
+PREFERRED_VERSION_font-util ?= "X11R7.1-1.0.1"
+
+# lib
+PREFERRED_VERSION_diet-x11 ?= "1.1.3"
+PREFERRED_VERSION_libdmx ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_libfontenc ?= "1.0.4"
+PREFERRED_VERSION_libice ?= "1.0.4"
+PREFERRED_VERSION_liblbxutil ?= "X11R7.1-1.0.1"
+PREFERRED_VERSION_libsm ?= "1.0.3"
+PREFERRED_VERSION_libx11 ?= "1.1.3"
+PREFERRED_VERSION_libx11-native ?= "1.1.1"
+PREFERRED_VERSION_libxau ?= "1.0.3"
+PREFERRED_VERSION_libxaw ?= "1.0.4"
+PREFERRED_VERSION_libxcomposite ?= "0.4.0"
+PREFERRED_VERSION_libxcursor ?= "1.1.9"
+PREFERRED_VERSION_libxdamage ?= "1.0.4"
+PREFERRED_VERSION_libxdmcp-native ?= "1.0.2"
+PREFERRED_VERSION_libxdmcp ?= "1.0.2"
+PREFERRED_VERSION_libxevie ?= "1.0.2"
+PREFERRED_VERSION_libxext ?= "1.0.2"
+PREFERRED_VERSION_libxfixes ?= "4.0.3"
+PREFERRED_VERSION_libxfont ?= "1.3.1"
+PREFERRED_VERSION_libxfontcache ?= "1.0.4"
+PREFERRED_VERSION_libxi ?= "1.1.3"
+PREFERRED_VERSION_libxinerama ?= "1.0.2"
+PREFERRED_VERSION_libxkbfile ?= "1.0.4"
+PREFERRED_VERSION_libxkbui ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_libxmu ?= "1.0.3"
+PREFERRED_VERSION_libxpm ?= "3.5.7"
+PREFERRED_VERSION_libxrandr ?= "1.2.2"
+PREFERRED_VERSION_libxrender ?= "0.9.4"
+PREFERRED_VERSION_libxres ?= "1.0.3"
+PREFERRED_VERSION_libxscrnsaver ?= "1.1.2"
+PREFERRED_VERSION_libxt ?= "1.0.4"
+PREFERRED_VERSION_libxtst ?= "1.0.3"
+PREFERRED_VERSION_libxvmc ?= "1.0.4"
+PREFERRED_VERSION_libxxf86dga ?= "1.0.2"
+PREFERRED_VERSION_libxxf86misc ?= "X11R7.1-1.0.1"
+PREFERRED_VERSION_libxxf86vm ?= "X11R7.1-1.0.1"
+PREFERRED_VERSION_xtrans ?= "1.0.4"
+
+# proto
+PREFERRED_VERSION_compositeproto ?= "0.4"
+PREFERRED_VERSION_damageproto ?= "1.1.0"
+PREFERRED_VERSION_fixesproto ?= "X11R7.1-4.0"
+PREFERRED_VERSION_glproto ?= "1.4.8"
+PREFERRED_VERSION_inputproto ?= "1.4.2.1"
+PREFERRED_VERSION_kbproto ?= "X11R7.1-1.0.3"
+PREFERRED_VERSION_randrproto ?= "1.2.1"
+PREFERRED_VERSION_renderproto ?= "0.9.3"
+PREFERRED_VERSION_scrnsaverproto ?= "X11R7.1-1.1.0"
+PREFERRED_VERSION_xf86dgaproto ?= "2.0.3"
+PREFERRED_VERSION_xproto-native ?= "7.0.10"
+PREFERRED_VERSION_xproto ?= "7.0.10"
+
+# util
+PREFERRED_VERSION_gccmakedep ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_imake ?= "X11R7.1-1.0.2"
+PREFERRED_VERSION_makedepend ?= "1.0.1"
+PREFERRED_VERSION_util-macros-native ?= "X11R7.1-1.1.5"
+PREFERRED_VERSION_util-macros ?= "X11R7.1-1.1.5"
+PREFERRED_VERSION_xorg-cf-files ?= "X11R7.1-1.0.2"
+
+# xserver
+PREFERRED_VERSION_xserver-kdrive ?= "1.4.0"
+PREFERRED_VERSION_xserver-xorg ?= "1.4.0"
+
diff --git a/conf/machine/at91sam9260ek.conf b/conf/machine/at91sam9260ek.conf
new file mode 100644
index 0000000000..e8903a960a
--- /dev/null
+++ b/conf/machine/at91sam9260ek.conf
@@ -0,0 +1,20 @@
+#@TYPE: Machine
+#@Name: Atmel AT91SAM9260EK Development Platform
+#@DESCRIPTION: Machine configuration for the at91sam9260ek development board with a at91sam9260 processor
+
+TARGET_ARCH = "arm"
+PACKAGE_EXTRA_ARCHS = "armv4t armv5te"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+
+#don't try to access tty1
+USE_VT = "0"
+
+MACHINE_FEATURES = "kernel26 alsa ext2 usbhost usbgadget"
+
+# used by sysvinit_2
+SERIAL_CONSOLE = "115200 ttyS0"
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
+
+require conf/machine/include/tune-arm926ejs.conf
diff --git a/conf/machine/at91sam9261ek.conf b/conf/machine/at91sam9261ek.conf
new file mode 100644
index 0000000000..489575cd2b
--- /dev/null
+++ b/conf/machine/at91sam9261ek.conf
@@ -0,0 +1,20 @@
+#@TYPE: Machine
+#@Name: Atmel AT91SAM9261EK Development Platform
+#@DESCRIPTION: Machine configuration for the at91sam9261ek development board with a at91sam9261 processor
+
+TARGET_ARCH = "arm"
+PACKAGE_EXTRA_ARCHS = "armv4t armv5te"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
+
+#don't try to access tty1
+USE_VT = "0"
+
+MACHINE_FEATURES = "kernel26 alsa ext2 usbhost usbgadget screen touchscreen"
+
+# used by sysvinit_2
+SERIAL_CONSOLE = "115200 ttyS0"
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
+
+require conf/machine/include/tune-arm926ejs.conf
diff --git a/conf/machine/include/motorola-ezx-base.inc b/conf/machine/include/motorola-ezx-base.inc
index 6baa6a50ba..52b9ccc65d 100644
--- a/conf/machine/include/motorola-ezx-base.inc
+++ b/conf/machine/include/motorola-ezx-base.inc
@@ -16,7 +16,7 @@ EXTRA_IMAGECMD_jffs2 = "--pad=14680064 --little-endian --eraseblock=0x20000 -n"
MACHINE_FEATURES = "kernel26 touchscreen apm alsa bluetooth usbgadget usbhost keyboard screen"
# the EZX phones need a userspace daemon to stop the BP from shutting down the phone
-MACHINE_EXTRA_RDEPENDS += "opentapi"
+MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "ezxd"
MACHINE_DISPLAY_WIDTH_PIXELS = "240"
MACHINE_DISPLAY_HEIGHT_PIXELS = "320"
diff --git a/conf/machine/nokia770.conf b/conf/machine/nokia770.conf
index 2727fd44d3..0e308b0a67 100644
--- a/conf/machine/nokia770.conf
+++ b/conf/machine/nokia770.conf
@@ -8,7 +8,7 @@ PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive-omap"
PREFERRED_PROVIDER_virtual/bootloader = ""
PREFERRED_PROVIDER_tslib = "tslib-maemo"
-XSERVER = "xserver-kdrive-omap"
+XSERVER = "xserver-kdrive-xomap"
# 800x480 is big enough for me
GUI_MACHINE_CLASS = "bigscreen"
diff --git a/packages/dbus/dbus-1.0.2/dbus-1.init b/packages/dbus/dbus-1.0.2/dbus-1.init
index 38e7574ad5..46e321860d 100644
--- a/packages/dbus/dbus-1.0.2/dbus-1.init
+++ b/packages/dbus/dbus-1.0.2/dbus-1.init
@@ -62,7 +62,7 @@ start_it_up()
shut_it_down()
{
if [ -d $EVENTDIR ]; then
- run-parts --reverse --arg=stop $EVENTDIR
+ run-parts --arg=stop $EVENTDIR
fi
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
diff --git a/packages/dbus/dbus_1.0.2.bb b/packages/dbus/dbus_1.0.2.bb
index a660eb1586..0c97e30406 100644
--- a/packages/dbus/dbus_1.0.2.bb
+++ b/packages/dbus/dbus_1.0.2.bb
@@ -2,4 +2,4 @@ require dbus.inc
SRC_URI += " file://fix-waitpid.patch;patch=1"
-PR = "r2"
+PR = "r3"
diff --git a/packages/ezx/ezxd/.mtn2git_empty b/packages/ezx/ezxd/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ezx/ezxd/.mtn2git_empty
diff --git a/packages/ezx/ezxd/ezxd.init b/packages/ezx/ezxd/ezxd.init
new file mode 100644
index 0000000000..dccd293af1
--- /dev/null
+++ b/packages/ezx/ezxd/ezxd.init
@@ -0,0 +1,84 @@
+#! /bin/sh
+# -*- coding: utf-8 -*-
+# init.d script for ezxd
+
+set -e
+
+DAEMON=/usr/bin/ezxd
+NAME=ezxd
+PIDDIR=/var/run/ezxd
+PIDFILE=$PIDDIR/pid
+DESC="ezxd server"
+
+test -x $DAEMON || exit 0
+
+# Source defaults file; edit that file to configure this script.
+ENABLED=1
+PARAMS=""
+if [ -e /etc/default/ezxd ]; then
+ . /etc/default/ezxd
+fi
+
+test "$ENABLED" != "0" || exit 0
+
+start_it_up()
+{
+ if [ ! -d $PIDDIR ]; then
+ mkdir -p $PIDDIR
+ fi
+ if [ -e $PIDFILE ]; then
+ PIDDIR=/proc/$(cat $PIDFILE)
+ if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then
+ echo "$DESC already started; not starting."
+ else
+ echo "Removing stale PID file $PIDFILE."
+ rm -f $PIDFILE
+ fi
+ fi
+
+ echo -n "Starting $DESC: "
+ start-stop-daemon --start --background --quiet --pidfile $PIDFILE \
+ --exec $DAEMON -- --system $PARAMS
+ # We need to sleep here because opening the mux devices takes some time
+ sleep 15
+ echo "$NAME."
+ if [ -d $EVENTDIR ]; then
+ run-parts --arg=start $EVENTDIR
+ fi
+}
+
+shut_it_down()
+{
+ if [ -d $EVENTDIR ]; then
+ run-parts --reverse --arg=stop $EVENTDIR
+ fi
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE
+
+ # We no longer include these arguments so that start-stop-daemon
+ # can do its job even given that we may have been upgraded.
+ # We rely on the pidfile being sanely managed
+ # --exec $DAEMON -- --system $PARAMS
+ echo "$NAME."
+ rm -f $PIDFILE
+}
+
+case "$1" in
+ start)
+ start_it_up
+ ;;
+ stop)
+ shut_it_down
+ ;;
+ restart|force-reload)
+ shut_it_down
+ sleep 1
+ start_it_up
+ ;;
+ *)
+ echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/packages/ezx/ezxd_svn.bb b/packages/ezx/ezxd_svn.bb
new file mode 100644
index 0000000000..3a052174b2
--- /dev/null
+++ b/packages/ezx/ezxd_svn.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "Open implementation of motorola's tapisrv, replaces opentapi"
+LICENSE = "GPLv2"
+SECTION = "devel"
+AUTHOR = "Daniel Ribeiro"
+
+PV = "0.0+svnr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "svn://svn.openezx.org/trunk/src/userspace/;module=ezxd;proto=http \
+ file://ezxd.init \
+ "
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "ezxd"
+INITSCRIPT_PARAMS = "start 00 S ."
+
+RREPLACES = "opentapi"
+
+
+S = "${WORKDIR}/${PN}"
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 755 ezxd ${D}${bindir}
+
+ install -d ${D}${libdir}/ezxd
+ install -m 755 *.so ${D}${libdir}/ezxd
+
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0600 ezxd.conf ${D}${sysconfdir}/
+ install -m 0755 ${WORKDIR}/ezxd.init ${D}${sysconfdir}/init.d/ezxd
+}
+
diff --git a/packages/glibc/eglibc-initial_svn.bb b/packages/glibc/eglibc-initial_svn.bb
index 02ba4c6273..ae3f0d2b41 100644
--- a/packages/glibc/eglibc-initial_svn.bb
+++ b/packages/glibc/eglibc-initial_svn.bb
@@ -10,6 +10,7 @@ do_configure () {
sed -ie 's,{ (exit 1); exit 1; }; },{ (exit 0); }; },g' ${S}/configure
chmod +x ${S}/configure
unset CFLAGS
+ find ${S} -name "configure" | xargs touch
CC="${BUILD_CC}" CPP="${BUILD_CPP}" LD="${BUILD_LD}" ${S}/configure --host=${TARGET_SYS} --build=${BUILD_SYS} \
--without-cvs --disable-sanity-checks \
--with-headers=${CROSS_DIR}/${TARGET_SYS}/include \
diff --git a/packages/glibc/eglibc-intermediate_svn.bb b/packages/glibc/eglibc-intermediate_svn.bb
index c26f649031..5ecbdb6ed8 100644
--- a/packages/glibc/eglibc-intermediate_svn.bb
+++ b/packages/glibc/eglibc-intermediate_svn.bb
@@ -6,6 +6,7 @@ do_install () {
# gcc uses -Werror which break on a "you have no thumb interwork" _warning_
do_configure_prepend() {
+ find ${S} -name "configure" | xargs touch
sed -i s:-Werror:: ${S}/configure
}
diff --git a/packages/glibc/eglibc_svn.bb b/packages/glibc/eglibc_svn.bb
index b47493f4e0..0b69283681 100644
--- a/packages/glibc/eglibc_svn.bb
+++ b/packages/glibc/eglibc_svn.bb
@@ -65,7 +65,7 @@ do_configure () {
exit 1
fi
(cd ${S} && gnu-configize) || die "failure in running gnu-configize"
- find ${WORKDIR} -name "configure" | xargs touch
+ find ${S} -name "configure" | xargs touch
CPPFLAGS="" oe_runconf
}
diff --git a/packages/gnome/gnome-panel_2.18.1.bb b/packages/gnome/gnome-panel_2.18.1.bb
index 349951143b..59c6f3e6e0 100644
--- a/packages/gnome/gnome-panel_2.18.1.bb
+++ b/packages/gnome/gnome-panel_2.18.1.bb
@@ -1,8 +1,9 @@
LICENSE = "GPL"
DEPENDS = "libwnck orbit2 gtk+ libgnome libgnomeui gnome-desktop libglade gnome-menus"
-inherit gnome pkgconfig
+PR = "r1"
+inherit gnome pkgconfig
do_configure_prepend() {
sed -i -e s:help:: ${S}/Makefile.am
@@ -12,6 +13,9 @@ do_configure_prepend() {
PACKAGES =+ "libpanel-applet"
FILES_libpanel-applet = "${libdir}/libpanel-applet-2.so.*"
+FILES_${PN} =+ "${datadir}/gnome* \
+ ${datadir}/icons"
+
do_stage() {
autotools_stage_all
}
diff --git a/packages/gnome/libwnck_2.13.5.bb b/packages/gnome/libwnck_2.13.5.bb
index 1830a7540a..5ad3e00cbf 100644
--- a/packages/gnome/libwnck_2.13.5.bb
+++ b/packages/gnome/libwnck_2.13.5.bb
@@ -1,7 +1,6 @@
LICENSE = "LGPL"
DEPENDS = "gtk+"
DESCRIPTION = "Window navigation construction toolkit"
-HOMEPAGE = ""
inherit gnome
diff --git a/packages/images/angstrom-minimal-image-with-mtd-utils.bb b/packages/images/angstrom-minimal-image-with-mtd-utils.bb
index 740c39126c..4fe33e9282 100644
--- a/packages/images/angstrom-minimal-image-with-mtd-utils.bb
+++ b/packages/images/angstrom-minimal-image-with-mtd-utils.bb
@@ -3,7 +3,7 @@
# to program the NAND flash.
require angstrom-minimal-image.bb
-RDEPENDS += "mtd-utils"
+IMAGE_INSTALL += "mtd-utils"
export IMAGE_BASENAME = "minimalist-image-mtdutils"
diff --git a/packages/linux/linux-2.6.20/at91sam9260ek/.mtn2git_empty b/packages/linux/linux-2.6.20/at91sam9260ek/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-2.6.20/at91sam9260ek/.mtn2git_empty
diff --git a/packages/linux/linux-2.6.20/at91sam9260ek/defconfig b/packages/linux/linux-2.6.20/at91sam9260ek/defconfig
new file mode 100644
index 0000000000..9278e6e857
--- /dev/null
+++ b/packages/linux/linux-2.6.20/at91sam9260ek/defconfig
@@ -0,0 +1,1209 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.20
+# Wed Apr 18 14:53:20 2007
+#
+CONFIG_ARM=y
+# CONFIG_GENERIC_TIME is not set
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+CONFIG_ARCH_AT91=y
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+
+#
+# Atmel AT91 System-on-Chip
+#
+# CONFIG_ARCH_AT91RM9200 is not set
+CONFIG_ARCH_AT91SAM9260=y
+# CONFIG_ARCH_AT91SAM9261 is not set
+# CONFIG_ARCH_AT91SAM9263 is not set
+
+#
+# AT91SAM9260 Variants
+#
+# CONFIG_ARCH_AT91SAM9260_SAM9XE is not set
+
+#
+# AT91SAM9260 / AT91SAM9XE Board Type
+#
+CONFIG_MACH_AT91SAM9260EK=y
+
+#
+# AT91 Board Options
+#
+CONFIG_MTD_AT91_DATAFLASH_CARD=y
+# CONFIG_MTD_NAND_AT91_BUSWIDTH_16 is not set
+
+#
+# AT91 Feature Selections
+#
+# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,17105363 root=/dev/ram0 rw"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_DATAFLASH=y
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_AT91=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=24576
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+# CONFIG_ATA is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# PHY device support
+#
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+CONFIG_DAVICOM_PHY=y
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_FIXED_PHY is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_MACB=y
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_UCB1400 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_ATMEL=y
+CONFIG_SERIAL_ATMEL_CONSOLE=y
+# CONFIG_SERIAL_ATMEL_TTYAT is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_ATMEL=y
+# CONFIG_SPI_BITBANG is not set
+
+#
+# SPI Protocol Masters
+#
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+# CONFIG_TIFM_CORE is not set
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB=y
+# CONFIG_FB_CFB_FILLRECT is not set
+# CONFIG_FB_CFB_COPYAREA is not set
+# CONFIG_FB_CFB_IMAGEBLIT is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_SEQUENCER=y
+CONFIG_SND_SEQ_DUMMY=y
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+CONFIG_SND_DEBUG_DETECT=y
+# CONFIG_SND_PCM_XRUN_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# HID Devices
+#
+CONFIG_HID=y
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET_MII is not set
+# CONFIG_USB_USBNET is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+CONFIG_USB_GADGET_AT91=y
+CONFIG_USB_AT91=y
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_ETH is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_AT91=y
+# CONFIG_MMC_TIFM_SD is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4DEV_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=y
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+CONFIG_NLS_ISO8859_15=y
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_RWSEMS is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FRAME_POINTER=y
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_DEBUG_USER=y
+# CONFIG_DEBUG_ERRORS is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_PLIST=y
+CONFIG_IOMAP_COPY=y
diff --git a/packages/linux/linux-2.6.20/at91sam9261ek/.mtn2git_empty b/packages/linux/linux-2.6.20/at91sam9261ek/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-2.6.20/at91sam9261ek/.mtn2git_empty
diff --git a/packages/linux/linux-2.6.20/at91sam9261ek/defconfig b/packages/linux/linux-2.6.20/at91sam9261ek/defconfig
new file mode 100644
index 0000000000..595e67cd83
--- /dev/null
+++ b/packages/linux/linux-2.6.20/at91sam9261ek/defconfig
@@ -0,0 +1,1242 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.20
+# Thu Aug 30 18:18:12 2007
+#
+CONFIG_ARM=y
+# CONFIG_GENERIC_TIME is not set
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_SWAP is not set
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+CONFIG_ARCH_AT91=y
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+
+#
+# Atmel AT91 System-on-Chip
+#
+# CONFIG_ARCH_AT91RM9200 is not set
+# CONFIG_ARCH_AT91SAM9260 is not set
+CONFIG_ARCH_AT91SAM9261=y
+# CONFIG_ARCH_AT91SAM9263 is not set
+
+#
+# AT91SAM9261 Board Type
+#
+CONFIG_MACH_AT91SAM9261EK=y
+
+#
+# AT91 Board Options
+#
+CONFIG_MTD_AT91_DATAFLASH_CARD=y
+# CONFIG_MTD_NAND_AT91_BUSWIDTH_16 is not set
+
+#
+# AT91 Feature Selections
+#
+CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+# CONFIG_ARM_THUMB is not set
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,17105363 root=/dev/ram0 rw"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+# CONFIG_VFP is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+# CONFIG_PACKET_MMAP is not set
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_DHCP is not set
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_DATAFLASH=y
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+CONFIG_MTD_NAND_AT91=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=24576
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+# CONFIG_ATA is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# PHY device support
+#
+CONFIG_PHYLIB=y
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+CONFIG_DAVICOM_PHY=y
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_FIXED_PHY is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_UCB1400 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_ATMEL=y
+CONFIG_SERIAL_ATMEL_CONSOLE=y
+# CONFIG_SERIAL_ATMEL_TTYAT is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_AT91=y
+CONFIG_I2C_AT91_CLOCKRATE=100000
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_ATMEL=y
+# CONFIG_SPI_BITBANG is not set
+
+#
+# SPI Protocol Masters
+#
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+# CONFIG_TIFM_CORE is not set
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_ATMEL=y
+CONFIG_FB_INTSRAM=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_SEQUENCER=y
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_SEQUENCER_OSS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+# CONFIG_SND_AT91_AC97 is not set
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# HID Devices
+#
+CONFIG_HID=y
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET_MII is not set
+# CONFIG_USB_USBNET is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+CONFIG_USB_GADGET_AT91=y
+CONFIG_USB_AT91=y
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_ETH is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_EXT4DEV_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=y
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+CONFIG_NLS_ISO8859_15=y
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_RWSEMS is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+CONFIG_FRAME_POINTER=y
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_DEBUG_USER=y
+# CONFIG_DEBUG_ERRORS is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_IOMAP_COPY=y
diff --git a/packages/linux/linux-ezx-2.6.21/a1200/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/a1200/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/a1200/.mtn2git_empty
diff --git a/packages/linux/linux-ezx-2.6.21/patches/defconfig-a1200 b/packages/linux/linux-ezx-2.6.21/a1200/defconfig
index 36021906b7..36021906b7 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/defconfig-a1200
+++ b/packages/linux/linux-ezx-2.6.21/a1200/defconfig
diff --git a/packages/linux/linux-ezx-2.6.21/a780/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/a780/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/a780/.mtn2git_empty
diff --git a/packages/linux/linux-ezx-2.6.21/patches/defconfig-a780 b/packages/linux/linux-ezx-2.6.21/a780/defconfig
index bd794af856..271b1139ab 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/defconfig-a780
+++ b/packages/linux/linux-ezx-2.6.21/a780/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.21
-# Sat Jun 2 19:52:36 2007
+# Linux kernel version: 2.6.21.4
+# Fri Sep 7 09:32:15 2007
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -198,7 +198,7 @@ CONFIG_PREEMPT=y
CONFIG_NO_IDLE_HZ=y
CONFIG_HZ=100
CONFIG_AEABI=y
-# CONFIG_OABI_COMPAT is not set
+CONFIG_OABI_COMPAT=y
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
@@ -215,9 +215,9 @@ CONFIG_ALIGNMENT_TRAP=y
#
# Boot options
#
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169.254.1.11:169.254.1.10:169.254.1.10:255.255.255.254:ezx:usb0:off debug mem=32M@0xA0000000 mem=16M@0xAC000000"
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5 ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off debug mem=32M@0xA0000000 mem=16M@0xAC000000"
# CONFIG_XIP_KERNEL is not set
# CONFIG_KEXEC is not set
@@ -228,6 +228,8 @@ CONFIG_CMDLINE="console=tty1 noinitrd root=/dev/mmcblk0p2 rootfstype=ext3 ip=169
#
# At least one emulation must be selected
#
+# CONFIG_FPE_NWFPE is not set
+# CONFIG_FPE_FASTFPE is not set
#
# Userspace binary formats
@@ -428,7 +430,7 @@ CONFIG_MTD_XIP=y
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_START=0x0
-CONFIG_MTD_PHYSMAP_LEN=0
+CONFIG_MTD_PHYSMAP_LEN=0x0
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_ARM_INTEGRATOR is not set
# CONFIG_MTD_SHARP_SL is not set
@@ -833,12 +835,78 @@ CONFIG_FONT_MINI_4x6=y
#
# Logo configuration
#
-# CONFIG_LOGO is not set
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
#
-# CONFIG_SOUND is not set
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DUMMY=m
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+CONFIG_SND_PXA2XX_PCM=m
+CONFIG_SND_PXA2XX_AC97=m
+
+#
+# USB devices
+#
+# CONFIG_SND_USB_AUDIO is not set
+
+#
+# SoC audio support
+#
+CONFIG_SND_SOC=y
+
+#
+# SoC Platforms
+#
+
+#
+# SoC Audio for the Atmel AT91
+#
+
+#
+# SoC Audio for the Intel PXA2xx
+#
+CONFIG_SND_PXA2XX_SOC=y
+CONFIG_SND_PXA2XX_SOC_EZX=y
+CONFIG_SND_SOC_PCAP2=y
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
#
# HID Devices
diff --git a/packages/linux/linux-ezx-2.6.21/e2/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/e2/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/e2/.mtn2git_empty
diff --git a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e2 b/packages/linux/linux-ezx-2.6.21/e2/defconfig
index be512457d9..be512457d9 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e2
+++ b/packages/linux/linux-ezx-2.6.21/e2/defconfig
diff --git a/packages/linux/linux-ezx-2.6.21/e6/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/e6/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/e6/.mtn2git_empty
diff --git a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e6 b/packages/linux/linux-ezx-2.6.21/e6/defconfig
index 75ee2803d9..75ee2803d9 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e6
+++ b/packages/linux/linux-ezx-2.6.21/e6/defconfig
diff --git a/packages/linux/linux-ezx-2.6.21/e680/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/e680/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/e680/.mtn2git_empty
diff --git a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e680 b/packages/linux/linux-ezx-2.6.21/e680/defconfig
index d180351886..d180351886 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/defconfig-e680
+++ b/packages/linux/linux-ezx-2.6.21/e680/defconfig
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch
index 0d2640a2e7..0bd7581965 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-mci.patch
@@ -1,20 +1,8 @@
-Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
-===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-02 20:32:31.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-02 20:44:29.000000000 -0300
-@@ -97,6 +97,7 @@
- config PXA_EZX_A1200
- bool "Motorola A1200 GSM Phone"
- select PXA27x
-+ select EZX_MCI_TF
-
- config PXA_EZX_E6
- bool "Motorola E6 GSM Phone"
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-06-02 20:32:26.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-02 20:44:56.000000000 -0300
-@@ -13,11 +13,14 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-06-28 22:48:05.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-28 22:53:19.000000000 -0300
+@@ -13,6 +13,8 @@
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/fb.h>
@@ -23,13 +11,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
- #include <asm/arch/pxa-regs.h>
+@@ -20,12 +22,102 @@
#include <asm/arch/pxafb.h>
+ #include <asm/arch/ezx.h>
+ #include <asm/arch/ezx-pcap.h>
+#include <asm/arch/mmc.h>
#include "generic.h"
- #include "ezx.h"
-@@ -25,6 +28,95 @@
+
extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
extern void ezx_backlight_power(int);
@@ -125,7 +114,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
static struct pxafb_mode_info mode_a1200 = {
.pixclock = 192308,
.xres = 240,
-@@ -54,6 +146,7 @@
+@@ -88,6 +180,7 @@
static void __init a1200_init(void)
{
set_pxa_fb_info(&a1200_fb_info);
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-pcap.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-pcap.patch
new file mode 100644
index 0000000000..9bc17555cd
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-pcap.patch
@@ -0,0 +1,53 @@
+Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+===================================================================
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-06-28 22:44:12.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-28 22:45:56.000000000 -0300
+@@ -19,6 +19,7 @@
+ #include <asm/arch/pxa-regs.h>
+ #include <asm/arch/pxafb.h>
+ #include <asm/arch/ezx.h>
++#include <asm/arch/ezx-pcap.h>
+
+ #include "generic.h"
+
+@@ -48,7 +49,40 @@
+ .pxafb_lcd_power = &ezx_lcd_power,
+ };
+
++/* PCAP */
++static int __init a1200_pcap_init(void)
++{
++ return 0;
++}
++
++static struct pcap_platform_data a1200_pcap_platform_data = {
++ .port = 1,
++ .cs = GPIO_SPI_CE,
++ .flags = PCAP_CS_AH | PCAP_MCI_TF,
++ .clk = 1,
++ .init = a1200_pcap_init,
++};
++
++static struct resource a1200_pcap_resources[] = {
++ [0] = {
++ .start = IRQ_GPIO1,
++ .end = IRQ_GPIO1,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++struct platform_device a1200_pcap_device = {
++ .name = "ezx-pcap",
++ .id = -1,
++ .num_resources = ARRAY_SIZE(a1200_pcap_resources),
++ .resource = a1200_pcap_resources,
++ .dev = {
++ .platform_data = &a1200_pcap_platform_data,
++ },
++};
++
+ static struct platform_device *devices[] __initdata = {
++ &a1200_pcap_device,
+ };
+
+ static void __init a1200_init(void)
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch
index a7ca6362b0..bcac76d16c 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a1200-ts.patch
@@ -1,9 +1,9 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-06-02 20:32:32.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-02 20:33:41.000000000 -0300
-@@ -117,6 +117,27 @@
- .exit = a1200_mci_exit,
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a1200.c 2007-06-28 22:54:35.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-28 22:55:00.000000000 -0300
+@@ -173,8 +173,33 @@
+ },
};
+/* PCAP_TS */
@@ -23,17 +23,15 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+struct platform_device pcap_ts_device = {
+ .name = "pcap-ts",
+ .id = -1,
++ .dev = {
++ .parent = &a1200_pcap_device.dev,
++ },
+ .num_resources = ARRAY_SIZE(pcap_ts_resources),
+ .resource = pcap_ts_resources,
+};
+
- static struct pxafb_mode_info mode_a1200 = {
- .pixclock = 192308,
- .xres = 240,
-@@ -141,6 +162,7 @@
- };
-
static struct platform_device *devices[] __initdata = {
+ &a1200_pcap_device,
+ &pcap_ts_device,
};
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-emu.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-emu.patch
new file mode 100644
index 0000000000..1477ce48ea
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/a780-emu.patch
@@ -0,0 +1,38 @@
+Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
+===================================================================
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-01 19:46:15.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-01 19:52:09.000000000 -0300
+@@ -219,8 +219,33 @@
+ },
+ };
+
++/* EMU */
++static struct resource a780_emu_resources[] = {
++ [0] = {
++ .start = EZX_IRQ_USB4V,
++ .end = EZX_IRQ_USB4V,
++ .flags = IORESOURCE_IRQ,
++ },
++ [1] = {
++ .start = EZX_IRQ_USB1V,
++ .end = EZX_IRQ_USB1V,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++struct platform_device a780_emu_device = {
++ .name = "ezx-emu",
++ .id = -1,
++ .dev = {
++ .parent = &a780_pcap_device.dev,
++ },
++ .num_resources = ARRAY_SIZE(a780_emu_resources),
++ .resource = a780_emu_resources,
++};
++
+ static struct platform_device *devices[] __initdata = {
+ &a780_pcap_device,
++ &a780_emu_device,
+ };
+
+ static void __init a780_init(void)
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-flip.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-flip.patch
index b93b1b14e4..4c61a35ec2 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/a780-flip.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a780-flip.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-06-08 18:38:47.000000000 +0200
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-08 18:38:50.000000000 +0200
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-01 19:58:07.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-01 20:02:00.000000000 -0300
@@ -17,6 +17,7 @@
#include <linux/mmc/host.h>
#include <linux/irq.h>
@@ -10,8 +10,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
-@@ -214,8 +215,31 @@
- },
+@@ -319,10 +320,33 @@
+ .resource = pcap_ts_resources,
};
+static struct gpio_keys_button a780flip_buttons[] = {
@@ -37,6 +37,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
+
+
static struct platform_device *devices[] __initdata = {
+ &a780_pcap_device,
+ &a780_emu_device,
&pcap_ts_device,
+ &a780flip_device,
};
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-kbd.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-kbd.patch
index 902889abe6..9f26b3dd94 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/a780-kbd.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a780-kbd.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-05-24 00:54:38.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-05-24 00:56:22.000000000 -0300
-@@ -16,18 +16,21 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-01 19:52:09.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-01 19:56:13.000000000 -0300
+@@ -16,6 +16,7 @@
#include <linux/fb.h>
#include <linux/mmc/host.h>
#include <linux/irq.h>
@@ -10,13 +10,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
- #include <asm/arch/pxa-regs.h>
- #include <asm/arch/pxafb.h>
+@@ -24,11 +25,13 @@
+ #include <asm/arch/ezx.h>
+ #include <asm/arch/ezx-pcap.h>
#include <asm/arch/mmc.h>
+#include <asm/arch/kbd.h>
#include "generic.h"
- #include "ezx.h"
extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
extern void ezx_backlight_power(int);
@@ -24,8 +24,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
#ifdef CONFIG_EZX_PCAP
extern int ezx_pcap_mmcsd_power(int);
-@@ -141,6 +144,55 @@
- .pxafb_lcd_power = &ezx_lcd_power,
+@@ -243,6 +246,55 @@
+ .resource = a780_emu_resources,
};
+static unsigned char a780_keycode[] = {
@@ -78,9 +78,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
+};
+
static struct platform_device *devices[] __initdata = {
- };
-
-@@ -159,6 +211,7 @@
+ &a780_pcap_device,
+ &a780_emu_device,
+@@ -263,6 +315,7 @@
set_pxa_fb_info(&a780_fb_info);
pxa_set_mci_info(&a780_mci_platform_data);
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-leds.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-leds.patch
index 5a9a9383f7..ff7a0b3dab 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/a780-leds.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a780-leds.patch
@@ -5,8 +5,8 @@
Index: linux-2.6.21/drivers/leds/Kconfig
===================================================================
---- linux-2.6.21.orig/drivers/leds/Kconfig 2007-06-08 18:33:45.000000000 +0200
-+++ linux-2.6.21/drivers/leds/Kconfig 2007-06-08 18:39:04.000000000 +0200
+--- linux-2.6.21.orig/drivers/leds/Kconfig 2007-08-01 19:38:44.000000000 -0300
++++ linux-2.6.21/drivers/leds/Kconfig 2007-08-01 20:03:29.000000000 -0300
@@ -104,6 +104,13 @@
These triggers allow kernel events to drive the LEDs and can
be configured via sysfs. If unsure, say Y.
@@ -23,8 +23,8 @@ Index: linux-2.6.21/drivers/leds/Kconfig
depends on LEDS_TRIGGERS
Index: linux-2.6.21/drivers/leds/Makefile
===================================================================
---- linux-2.6.21.orig/drivers/leds/Makefile 2007-06-08 18:33:45.000000000 +0200
-+++ linux-2.6.21/drivers/leds/Makefile 2007-06-08 18:39:04.000000000 +0200
+--- linux-2.6.21.orig/drivers/leds/Makefile 2007-08-01 19:38:44.000000000 -0300
++++ linux-2.6.21/drivers/leds/Makefile 2007-08-01 20:03:29.000000000 -0300
@@ -16,6 +16,7 @@
obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
@@ -36,7 +36,7 @@ Index: linux-2.6.21/drivers/leds/Makefile
Index: linux-2.6.21/drivers/leds/leds-a780.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/drivers/leds/leds-a780.c 2007-06-08 18:39:04.000000000 +0200
++++ linux-2.6.21/drivers/leds/leds-a780.c 2007-08-01 20:03:29.000000000 -0300
@@ -0,0 +1,122 @@
+/*
+ * EZX Platform LED Driver for the Motorola A780 GSM Phone
@@ -162,18 +162,23 @@ Index: linux-2.6.21/drivers/leds/leds-a780.c
+MODULE_LICENSE("GPL");
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-06-08 18:38:50.000000000 +0200
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-08 18:39:04.000000000 +0200
-@@ -236,10 +236,15 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-01 20:02:00.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-01 20:03:29.000000000 -0300
+@@ -341,12 +341,20 @@
},
};
+static struct platform_device a780led_device = {
+ .name = "a780-led",
+ .id = -1,
++ .dev = {
++ .parent = &a780_pcap_device.dev,
++ },
+};
static struct platform_device *devices[] __initdata = {
+ &a780_pcap_device,
+ &a780_emu_device,
&pcap_ts_device,
&a780flip_device,
+ &a780led_device,
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-mci.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-mci.patch
index 4877bfffa5..3cf1848502 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/a780-mci.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a780-mci.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-05-24 00:44:14.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-05-24 00:47:01.000000000 -0300
-@@ -14,11 +14,14 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-06-28 22:45:00.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-28 22:53:03.000000000 -0300
+@@ -14,6 +14,8 @@
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/fb.h>
@@ -11,13 +11,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
- #include <asm/arch/pxa-regs.h>
+@@ -21,12 +23,102 @@
#include <asm/arch/pxafb.h>
+ #include <asm/arch/ezx.h>
+ #include <asm/arch/ezx-pcap.h>
+#include <asm/arch/mmc.h>
#include "generic.h"
- #include "ezx.h"
-@@ -26,6 +29,95 @@
+
extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
extern void ezx_backlight_power(int);
@@ -113,7 +114,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
static struct pxafb_mode_info mode_a780 = {
.pixclock = 150000,
.xres = 240,
-@@ -66,6 +158,7 @@
+@@ -145,6 +237,7 @@
PSLR = 0x05800f00;
set_pxa_fb_info(&a780_fb_info);
@@ -121,15 +122,3 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
/* clear EMU MUX1/MUX2 (low) to close the audio path to EMU */
pxa_gpio_mode(GPIO_EMU_MUX1|GPIO_OUT);
-Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
-===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-24 00:47:13.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-24 00:48:11.000000000 -0300
-@@ -87,6 +87,7 @@
- config PXA_EZX_A780
- bool "Motorola A780 GSM Phone"
- select PXA27x
-+ select EZX_MCI_TF
-
- config PXA_EZX_E2
- bool "Motorola E2 GSM Phone"
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-pcap.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-pcap.patch
new file mode 100644
index 0000000000..35417344e0
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/a780-pcap.patch
@@ -0,0 +1,98 @@
+Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
+===================================================================
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-06-28 22:44:12.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-28 22:45:00.000000000 -0300
+@@ -20,6 +20,7 @@
+ #include <asm/arch/pxa-regs.h>
+ #include <asm/arch/pxafb.h>
+ #include <asm/arch/ezx.h>
++#include <asm/arch/ezx-pcap.h>
+
+ #include "generic.h"
+
+@@ -49,7 +50,85 @@
+ .pxafb_lcd_power = &ezx_lcd_power,
+ };
+
++/* PCAP */
++static int __init a780_pcap_init(void)
++{
++ /* initialize PCAP registers */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A1CTRL, 1);
++// ezx_pcap_vibrator_level(PCAP_VIBRATOR_VOLTAGE_LEVEL3);
++
++ /* set SW1 sleep to keep SW1 1.3v in sync mode */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE10, 0);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE11, 0);
++
++ /* SW1 active in sync mode */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE00, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE01, 0);
++
++ /* at SW1 -core voltage to 1.30V */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW10_DVS, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW11_DVS, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW12_DVS, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW13_DVS, 0);
++
++ /* when STANDY2 PIN ACTIVE (high) set V3-- sram V8 -- pll off */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V3_STBY, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V3_LOWPWR, 0);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V8_STBY, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V8_LOWPWR, 0);
++
++ /*
++ * when STANDY2 PIN ACTIVE (high) set V4-- lcd only for e680 V6 ---
++ * camera for e680
++ */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V4_STBY, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V4_LOWPWR, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V6_STBY, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V6_LOWPWR, 0);
++
++ /* set Vc to low power mode when AP sleep */
++// SSP_PCAP_bit_set( SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VC_STBY);
++
++ /* set VAUX2 to voltage 2.775V and low power mode when AP sleep */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_1, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_0, 0);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX2_STBY, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX2_LOWPWR, 1);
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_EN, 1);
++
++// PGSR(GPIO34_TXENB) |= GPIO_bit(GPIO34_TXENB);
++
++ return 0;
++}
++
++static struct pcap_platform_data a780_pcap_platform_data = {
++ .port = 1,
++ .cs = GPIO_SPI_CE,
++ .flags = PCAP_MCI_TF,
++ .clk = 1,
++ .init = a780_pcap_init,
++};
++
++static struct resource a780_pcap_resources[] = {
++ [0] = {
++ .start = IRQ_GPIO1,
++ .end = IRQ_GPIO1,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++struct platform_device a780_pcap_device = {
++ .name = "ezx-pcap",
++ .id = -1,
++ .num_resources = ARRAY_SIZE(a780_pcap_resources),
++ .resource = a780_pcap_resources,
++ .dev = {
++ .platform_data = &a780_pcap_platform_data,
++ },
++};
++
+ static struct platform_device *devices[] __initdata = {
++ &a780_pcap_device,
+ };
+
+ static void __init a780_init(void)
diff --git a/packages/linux/linux-ezx-2.6.21/patches/a780-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/a780-ts.patch
index a4a476ac59..7c455cfb3a 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/a780-ts.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/a780-ts.patch
@@ -1,9 +1,9 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-06-02 20:32:48.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-02 20:33:10.000000000 -0300
-@@ -121,6 +121,27 @@
- .exit = a780_mci_exit,
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-a780.c 2007-08-01 19:56:13.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-08-01 19:58:07.000000000 -0300
+@@ -295,9 +295,34 @@
+ },
};
+/* PCAP_TS */
@@ -23,17 +23,16 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
+struct platform_device pcap_ts_device = {
+ .name = "pcap-ts",
+ .id = -1,
++ .dev = {
++ .parent = &a780_pcap_device.dev,
++ },
+ .num_resources = ARRAY_SIZE(pcap_ts_resources),
+ .resource = pcap_ts_resources,
+};
+
- static struct pxafb_mode_info mode_a780 = {
- .pixclock = 150000,
- .xres = 240,
-@@ -194,6 +215,7 @@
- };
-
static struct platform_device *devices[] __initdata = {
+ &a780_pcap_device,
+ &a780_emu_device,
+ &pcap_ts_device,
};
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-emu.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-emu.patch
new file mode 100644
index 0000000000..572485dde6
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/e680-emu.patch
@@ -0,0 +1,38 @@
+Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
+===================================================================
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-08-01 19:53:13.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-08-01 19:55:54.000000000 -0300
+@@ -222,8 +222,33 @@
+ },
+ };
+
++/* EMU */
++static struct resource e680_emu_resources[] = {
++ [0] = {
++ .start = EZX_IRQ_USB4V,
++ .end = EZX_IRQ_USB4V,
++ .flags = IORESOURCE_IRQ,
++ },
++ [1] = {
++ .start = EZX_IRQ_USB1V,
++ .end = EZX_IRQ_USB1V,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++struct platform_device e680_emu_device = {
++ .name = "ezx-emu",
++ .id = -1,
++ .dev = {
++ .parent = &e680_pcap_device.dev,
++ },
++ .num_resources = ARRAY_SIZE(e680_emu_resources),
++ .resource = e680_emu_resources,
++};
++
+ static struct platform_device *devices[] __initdata = {
+ &e680_pcap_device,
++ &e680_emu_device,
+ };
+
+ static void __init e680_init(void)
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch
index 2a2d9c7a72..0d2047c2c1 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/e680-kbd.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-05-24 00:54:39.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-05-24 00:56:30.000000000 -0300
-@@ -15,18 +15,21 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-08-01 19:55:54.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-08-01 19:56:21.000000000 -0300
+@@ -15,6 +15,7 @@
#include <linux/fb.h>
#include <linux/mmc/host.h>
#include <linux/irq.h>
@@ -10,13 +10,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
- #include <asm/arch/pxa-regs.h>
- #include <asm/arch/pxafb.h>
+@@ -23,11 +24,13 @@
+ #include <asm/arch/ezx.h>
+ #include <asm/arch/ezx-pcap.h>
#include <asm/arch/mmc.h>
+#include <asm/arch/kbd.h>
#include "generic.h"
- #include "ezx.h"
extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
extern void ezx_backlight_power(int);
@@ -24,8 +24,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
#ifdef CONFIG_EZX_PCAP
extern int ezx_pcap_mmcsd_power(int);
-@@ -144,6 +147,58 @@
- .pxafb_lcd_power = &ezx_lcd_power,
+@@ -246,6 +249,58 @@
+ .resource = e680_emu_resources,
};
+static unsigned char e680_keycode[] = {
@@ -81,9 +81,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
+};
+
static struct platform_device *devices[] __initdata = {
- };
-
-@@ -162,6 +217,7 @@
+ &e680_pcap_device,
+ &e680_emu_device,
+@@ -266,6 +321,7 @@
set_pxa_fb_info(&e680_fb_info);
pxa_set_mci_info(&e680_mci_platform_data);
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-leds.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-leds.patch
index 82dc93b611..beffb28a04 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/e680-leds.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/e680-leds.patch
@@ -5,8 +5,8 @@
Index: linux-2.6.21/drivers/leds/Kconfig
===================================================================
---- linux-2.6.21.orig/drivers/leds/Kconfig 2007-06-08 18:39:04.000000000 +0200
-+++ linux-2.6.21/drivers/leds/Kconfig 2007-06-08 18:39:12.000000000 +0200
+--- linux-2.6.21.orig/drivers/leds/Kconfig 2007-08-01 20:03:29.000000000 -0300
++++ linux-2.6.21/drivers/leds/Kconfig 2007-08-01 20:04:02.000000000 -0300
@@ -111,6 +111,13 @@
This option enables support for the LEDs on the
Motorola A780 GSM Phone.
@@ -23,8 +23,8 @@ Index: linux-2.6.21/drivers/leds/Kconfig
depends on LEDS_TRIGGERS
Index: linux-2.6.21/drivers/leds/Makefile
===================================================================
---- linux-2.6.21.orig/drivers/leds/Makefile 2007-06-08 18:39:04.000000000 +0200
-+++ linux-2.6.21/drivers/leds/Makefile 2007-06-08 18:39:12.000000000 +0200
+--- linux-2.6.21.orig/drivers/leds/Makefile 2007-08-01 20:03:29.000000000 -0300
++++ linux-2.6.21/drivers/leds/Makefile 2007-08-01 20:04:02.000000000 -0300
@@ -17,6 +17,7 @@
obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
@@ -36,8 +36,8 @@ Index: linux-2.6.21/drivers/leds/Makefile
Index: linux-2.6.21/drivers/leds/leds-e680.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/drivers/leds/leds-e680.c 2007-06-08 18:39:12.000000000 +0200
-@@ -0,0 +1,309 @@
++++ linux-2.6.21/drivers/leds/leds-e680.c 2007-08-01 20:04:02.000000000 -0300
+@@ -0,0 +1,235 @@
+/*
+ * EZX Platform LED Driver for the Motorola E680(i) GSM Phone
+ *
@@ -73,147 +73,100 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c
+extern int ezx_pcap_read(u_int8_t, u_int32_t *);
+extern int ezx_pcap_write(u_int8_t, u_int32_t);
+
-+static enum led_brightness old_red;
-+static enum led_brightness old_green;
-+static enum led_brightness old_blue;
-+
+typedef struct {
-+ unsigned char ind_GPIO_red; /*Indicator Red control GPIO 46: 0 active, 1 disactive*/
-+ unsigned char ind_GPIO_green; /*Indicator Green control GPIO 47: 0 active, 1 disactive*/
-+ unsigned char pcap_LEDR_en; /*pcap LEDR_EN bit value: 1 =Red LED(&Green) sink circuit enabled*/
-+ unsigned char pcap_LEDG_en; /*pcap LEDG_EN bit value:1 =Green(->Blue)LED sink circuit enabled*/
-+ unsigned char pcap_LEDR_CTRL; /* 4bits Sets the timing for the red(&Green) LED sink circuit*/
-+ unsigned char pcap_LEDG_CTRL; /* 4bits Sets the timing for the GREEN (->Blue) LED sink circuit*/
-+ unsigned char pcap_LEDR_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDR*/
-+ unsigned char pcap_LEDG_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDG*/
-+ unsigned char pcap_SKIP_on; /*1=The ON timing sequence defined by LEDx_CTRL is executed on every other cycle*/
++ u_int8_t ind_GPIO_red; /*Indicator Red control GPIO 46: 0 active, 1 inactive */
++ u_int8_t ind_GPIO_green; /*Indicator Green control GPIO 47: 0 inactive, 1 active */
++ u_int8_t pcap_LEDR_en; /*pcap LEDR_EN bit value: 1 =Red LED(&Green) sink circuit enabled*/
++ u_int8_t pcap_LEDG_en; /*pcap LEDG_EN bit value:1 =Green(->Blue)LED sink circuit enabled*/
++ u_int8_t pcap_LEDR_CTRL; /* 4bits Sets the timing for the red(&Green) LED sink circuit*/
++ u_int8_t pcap_LEDG_CTRL; /* 4bits Sets the timing for the GREEN (->Blue) LED sink circuit*/
++ u_int8_t pcap_LEDR_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDR*/
++ u_int8_t pcap_LEDG_I; /* 2 bits 00 3mA,01 4mA, 10 5mA, 11 9mA, sets the pulsed current level for LEDG*/
++// u_int8_t pcap_SKIP_on; /*1=The ON timing sequence defined by LEDx_CTRL is executed on every other cycle*/
+} PCAP2_LED_REGISTER_VALUE;
+
+const PCAP2_LED_REGISTER_VALUE led_register_value[]=
+{
-+ /* on/off pulsepower timing intensity */
-+ {0x1,0x1, 0x0,0x0, 0x0,0x0, 0x0,0x0,0x0}, /* OFF */
-+ {0x0,0x1, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* RED */
-+ {0x1,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* GREEN */
-+ {0x0,0x0, 0x1,0x0, 0xc,0x0, 0x1,0x0,0x0}, /* ORANGE = RED + GREEN */
-+ {0x1,0x1, 0x0,0x1, 0x0,0xc, 0x0,0x0,0x0}, /* BLUE */
-+ {0x0,0x1, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_RED = RED + BLUE */
-+ {0x1,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* LIGHT_GREEN = GREEN + BLUE */
-+ {0x0,0x0, 0x1,0x1, 0xc,0xc, 0x1,0x0,0x0}, /* WHITE = RED + GREEN + BLUE */
++ {0x1,0x0, 0x0,0x0, 0x0,0x0, 0x1,0x0}, /* 0 OFF */
++
++ {0x0,0x0, 0x1,0x0, 0xf,0x0, 0x1,0x0}, /* 1 RED */
++ {0x1,0x1, 0x1,0x0, 0xf,0x0, 0x1,0x0}, /* 2 GREEN */
++ {0x0,0x1, 0x1,0x0, 0xf,0x0, 0x1,0x0}, /* 3 ORANGE */
++ {0x1,0x0, 0x0,0x1, 0x0,0xf, 0x0,0x0}, /* 4 BLUE */
++ {0x0,0x0, 0x1,0x1, 0xf,0xf, 0x1,0x0}, /* 5 MAGENTA */
++ {0x1,0x1, 0x1,0x1, 0xf,0xf, 0x1,0x0}, /* 6 CYAN */
++ {0x0,0x1, 0x1,0x1, 0xf,0xf, 0x1,0x0}, /* 7 WHITE */
+};
+
-+static void e680led_led_set( enum led_brightness red, enum led_brightness green, enum led_brightness blue )
++static void e680led_set(struct led_classdev *led_cdev, enum led_brightness value)
+{
-+ unsigned int tempValue = 0;
-+ unsigned int value = 0;
-+ unsigned int stateIndex = 0;
-+ unsigned char gpio_red, gpio_green, ledr_en, ledg_en, ledr_ctrl, ledg_ctrl, ledr_i, ledg_i,skip;
-+
-+ printk( KERN_DEBUG "e680led_led_set: red=%d, green=%d, blue=%d", red, green, blue );
-+ stateIndex = ( ( blue << 2 ) | ( green << 1 ) | ( red ) ) & 0x7;
-+ printk( KERN_DEBUG "LED stateIndex is %d", stateIndex );
-+ gpio_red = led_register_value[stateIndex].ind_GPIO_red & 0x1;
-+ gpio_green = led_register_value[stateIndex].ind_GPIO_green & 0x1;
-+ ledr_en = led_register_value[stateIndex].pcap_LEDR_en & 0x1;
-+ ledg_en = led_register_value[stateIndex].pcap_LEDG_en & 0x1;
-+ ledr_ctrl = led_register_value[stateIndex].pcap_LEDR_CTRL & 0xf;
-+ ledg_ctrl = led_register_value[stateIndex].pcap_LEDG_CTRL & 0xf;
-+ ledr_i = led_register_value[stateIndex].pcap_LEDR_I & 0x3;
-+ ledg_i = led_register_value[stateIndex].pcap_LEDG_I & 0x3;
-+ skip = led_register_value[stateIndex].pcap_SKIP_on & 0x1;
-+
-+ /* disable LEDs */
-+ if( ezx_pcap_read(SSP_PCAP_ADJ_PERIPH_REGISTER,&tempValue) != SSP_PCAP_SUCCESS )
-+ {
-+ printk( KERN_WARNING "LED PCAP Read Failed\n" );
-+ return;
++ unsigned int tempValue;
++ unsigned char gpio_red, gpio_green, ledr_en, ledg_en, ledr_ctrl,
++ ledg_ctrl, ledr_i, ledg_i, skip, t, color;
++ unsigned char t_mask[2] = { 0xc, 0xc };
++
++ skip = 0;
++ if (value & 128) {
++ value &= (~128);
++ skip = 1;
+ }
-+ tempValue &= (~SSP_PCAP_LED_MASK);
-+ if( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) != SSP_PCAP_SUCCESS )
-+ {
-+ printk( KERN_WARNING "LED PCAP Write Failed (Clear Data)\n" );
-+ return;
++
++ /* 7 colors - simple on */
++ if (value <= 7)
++ color = value;
++ /* 4 colors - 11 timed on */
++ else if (value <= 51) {
++ value -= 7;
++ color = ((value-1)%4)+1;
++ t = ((value-1)/4)+1;
++ t_mask[0] = t;
++ t_mask[1] = t;
++ }
++ /* 3 colors - 22 change color */
++ else if (value <= 84) {
++ value -= 51;
++ color = ((value-1)%3)+5;
++ t = ((value-1)/3)+1;
++ t_mask[1] = t;
++ }
++ else if (value <= 117) {
++ value -= 84;
++ color = ((value-1)%3)+5;
++ t = ((value-1)/3)+1;
++ t_mask[0] = t;
+ }
++ /* 3 colors - alternate with blue */
++ else if (value <= 120) {
++ color = value-113;
++ t_mask[0] = 0xa;
++ t_mask[1] = 0xb;
++ }
++ /* invalid value */
++ else
++ color = 1;
+
-+ /* configure GPIOs as output */
-+ pxa_gpio_mode(IND_CNTL_R_BUL | GPIO_OUT);
-+ pxa_gpio_mode(IND_CNTL_G_BUL | GPIO_OUT);
++ gpio_red = led_register_value[color].ind_GPIO_red;
++ gpio_green = led_register_value[color].ind_GPIO_green;
++ ledr_en = led_register_value[color].pcap_LEDR_en;
++ ledg_en = led_register_value[color].pcap_LEDG_en;
++ ledr_ctrl = led_register_value[color].pcap_LEDR_CTRL & t_mask[0];
++ ledg_ctrl = led_register_value[color].pcap_LEDG_CTRL & t_mask[1];
++ ledr_i = led_register_value[color].pcap_LEDR_I;
++ ledg_i = led_register_value[color].pcap_LEDG_I;
+
-+ //FIXME: Simplify this logic
-+ if ( (gpio_green && gpio_red) )
-+ {
-+ /*Disable Red & Green signal*/
-+ pxa_gpio_set_value(IND_CNTL_R_BUL, 1); /*IND_CNTL_R_BUL Low active*/
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL);
-+
-+ pxa_gpio_set_value(IND_CNTL_G_BUL, 0); /*IND_CNTL_G_BUL High active*/
-+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL));
-+
-+ printk( KERN_DEBUG "LED GPIO Green & Red Disable\n");
-+ } else if ( gpio_green && !gpio_red )
-+ {
-+ /*Green Disable, Red Enable*/
-+ pxa_gpio_set_value(IND_CNTL_R_BUL, 0);
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL));
-+
-+ pxa_gpio_set_value(IND_CNTL_G_BUL, 0);
-+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) & (~GPIO_bit(IND_CNTL_G_BUL));
-+
-+ printk( KERN_DEBUG "LED GPIO Green Disable, Red Enable\n");
-+ } else if (gpio_red && !gpio_green )
-+ {
-+ /*Red Disable, Green Enable*/
-+ pxa_gpio_set_value(IND_CNTL_R_BUL, 1);
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) | GPIO_bit(IND_CNTL_R_BUL);
-+
-+ pxa_gpio_set_value(IND_CNTL_G_BUL, 1);
-+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL);
-+ printk( KERN_DEBUG "LED GPIO Red Disable, Green Enable");
-+ }else
-+ {
-+ /*Red & Green enable*/
-+ pxa_gpio_set_value(IND_CNTL_R_BUL, 0);
-+ PGSR(IND_CNTL_R_BUL) = PGSR(IND_CNTL_R_BUL) & (~GPIO_bit(IND_CNTL_R_BUL));
-+
-+ pxa_gpio_set_value(IND_CNTL_G_BUL, 1);
-+ PGSR(IND_CNTL_G_BUL) = PGSR(IND_CNTL_G_BUL) | GPIO_bit(IND_CNTL_G_BUL);
-+ printk( KERN_DEBUG "LED GPIO Red & Green Enable\n");
-+ }
++ ezx_pcap_read(SSP_PCAP_ADJ_PERIPH_REGISTER,&tempValue);
+
-+ /* Write PCAP LED Peripheral Control Register*/
-+ value = ( ledr_en | (ledg_en <<1) | (ledr_ctrl <<2) | (ledg_ctrl <<6) |
-+ (ledr_i << 10) | (ledg_i <<12) | (skip <<14) ) & 0x7fff;
-+ tempValue |= (value <<SSP_PCAP_LED_SHIFT);
-+
-+ if ( ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue) == SSP_PCAP_SUCCESS )
-+ {
-+ printk( KERN_DEBUG "LED PCAP Write Success (0x%x :0x%x)\n",tempValue,value);
-+ old_red = red;
-+ old_green = green;
-+ old_blue = blue;
-+ return;
-+ } else {
-+ printk( KERN_DEBUG "LED PCAP Write Failed (State Change)\n");
-+ return;
-+ }
-+}
++ tempValue &= (~SSP_PCAP_LED_MASK);
+
-+static void e680led_red_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ printk( KERN_DEBUG "e680led_red_set: %d\n", value );
-+ e680led_led_set( 1 && value, old_green, old_blue );
-+}
++ pxa_gpio_set_value(IND_CNTL_R_BUL, gpio_red);
++ pxa_gpio_set_value(IND_CNTL_G_BUL, gpio_green);
+
-+static void e680led_green_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ printk( KERN_DEBUG "e680led_green_set: %d\n", value );
-+ e680led_led_set( old_red, 1 && value, old_blue );
-+}
++ /* Write PCAP LED Peripheral Control Register*/
++ tempValue = ((ledr_en | (ledg_en << 1) | (ledr_ctrl << 2) |
++ (ledg_ctrl << 6) | (ledr_i << 10) | (ledg_i << 12) |
++ (skip << 14)) & 0x7fff) << SSP_PCAP_LED_SHIFT;
+
-+static void e680led_blue_set(struct led_classdev *led_cdev, enum led_brightness value)
-+{
-+ printk( KERN_DEBUG "e680led_blue_set: %d\n", value );
-+ e680led_led_set( old_red, old_green, 1 && value );
++ ezx_pcap_write(SSP_PCAP_ADJ_PERIPH_REGISTER,tempValue);
+}
+
+static void e680led_keypad_set(struct led_classdev *led_cdev, enum led_brightness value)
@@ -238,25 +191,13 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c
+#endif
+}
+
-+static struct led_classdev e680_red_led = {
-+ .name = "e680:red",
-+ .default_trigger = "none",
-+ .brightness_set = e680led_red_set,
-+};
-+
-+static struct led_classdev e680_green_led = {
-+ .name = "e680:green",
++static struct led_classdev e680_led = {
++ .name = "e680:led",
+ .default_trigger = "none",
-+ .brightness_set = e680led_green_set,
++ .brightness_set = e680led_set,
+};
+
-+static struct led_classdev e680_blue_led = {
-+ .name = "e680:blue",
-+ .default_trigger = "none",
-+ .brightness_set = e680led_blue_set,
-+};
-+
-+static struct led_classdev e680_keypad_led = {
++static struct led_classdev e680_keypad = {
+ .name = "e680:keypad",
+ .default_trigger = "none",
+ .brightness_set = e680led_keypad_set,
@@ -265,19 +206,15 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c
+#ifdef CONFIG_PM
+static int e680led_suspend(struct platform_device *dev, pm_message_t state)
+{
-+ led_classdev_suspend(&e680_red_led);
-+ led_classdev_suspend(&e680_green_led);
-+ led_classdev_suspend(&e680_blue_led);
-+ led_classdev_suspend(&e680_keypad_led);
++ led_classdev_suspend(&e680_led);
++ led_classdev_suspend(&e680_keypad);
+ return 0;
+}
+
+static int e680led_resume(struct platform_device *dev)
+{
-+ led_classdev_resume(&e680_red_led);
-+ led_classdev_resume(&e680_green_led);
-+ led_classdev_resume(&e680_blue_led);
-+ led_classdev_resume(&e680_keypad_led);
++ led_classdev_resume(&e680_led);
++ led_classdev_resume(&e680_keypad);
+ return 0;
+}
+#endif
@@ -286,35 +223,25 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c
+{
+ int ret;
+
-+ ret = led_classdev_register(&pdev->dev, &e680_red_led);
-+ if (ret < 0)
-+ return ret;
++ /* configure GPIOs as output */
++ pxa_gpio_mode(IND_CNTL_R_BUL | GPIO_OUT);
++ pxa_gpio_mode(IND_CNTL_G_BUL | GPIO_OUT);
+
-+ ret = led_classdev_register(&pdev->dev, &e680_green_led);
++ ret = led_classdev_register(&pdev->dev, &e680_led);
+ if (ret < 0)
-+ led_classdev_unregister(&e680_red_led);
-+
-+ ret = led_classdev_register(&pdev->dev, &e680_blue_led);
-+ if (ret < 0) {
-+ led_classdev_unregister(&e680_red_led);
-+ led_classdev_unregister(&e680_green_led);
-+ }
++ return ret;
+
-+ ret = led_classdev_register(&pdev->dev, &e680_keypad_led);
++ ret = led_classdev_register(&pdev->dev, &e680_keypad);
+ if (ret < 0) {
-+ led_classdev_unregister(&e680_red_led);
-+ led_classdev_unregister(&e680_green_led);
-+ led_classdev_unregister(&e680_blue_led);
++ led_classdev_unregister(&e680_led);
+ }
+ return ret;
+}
+
+static int e680led_remove(struct platform_device *pdev)
+{
-+ led_classdev_unregister(&e680_red_led);
-+ led_classdev_unregister(&e680_green_led);
-+ led_classdev_unregister(&e680_blue_led);
-+ led_classdev_unregister(&e680_keypad_led);
++ led_classdev_unregister(&e680_led);
++ led_classdev_unregister(&e680_keypad);
+ return 0;
+}
+
@@ -337,7 +264,6 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c
+
+static void __exit e680led_exit(void)
+{
-+ e680led_led_set( 0, 0, 0 );
+ platform_driver_unregister(&e680led_driver);
+}
+
@@ -349,18 +275,23 @@ Index: linux-2.6.21/drivers/leds/leds-e680.c
+MODULE_LICENSE("GPL");
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-06-08 18:38:59.000000000 +0200
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-08 18:39:12.000000000 +0200
-@@ -242,9 +242,15 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-08-01 20:02:32.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-08-01 20:04:02.000000000 -0300
+@@ -347,11 +347,20 @@
},
};
+static struct platform_device e680led_device = {
+ .name = "e680-led",
+ .id = -1,
++ .dev = {
++ .parent = &e680_pcap_device.dev,
++ },
+};
+
static struct platform_device *devices[] __initdata = {
+ &e680_pcap_device,
+ &e680_emu_device,
&pcap_ts_device,
&e680locksw_device,
+ &e680led_device,
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-locksw.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-locksw.patch
index 36b52a916a..a0c1ebbfbe 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/e680-locksw.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/e680-locksw.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-06-08 18:38:48.000000000 +0200
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-08 18:38:59.000000000 +0200
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-08-01 19:58:54.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-08-01 20:02:32.000000000 -0300
@@ -16,6 +16,7 @@
#include <linux/mmc/host.h>
#include <linux/irq.h>
@@ -10,8 +10,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
-@@ -220,8 +221,30 @@
- },
+@@ -325,10 +326,32 @@
+ .resource = pcap_ts_resources,
};
+static struct gpio_keys_button e680locksw_buttons[] = {
@@ -36,6 +36,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
+};
+
static struct platform_device *devices[] __initdata = {
+ &e680_pcap_device,
+ &e680_emu_device,
&pcap_ts_device,
+ &e680locksw_device,
};
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-mci.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-mci.patch
index b5bb2931f1..40b56b9b6c 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/e680-mci.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/e680-mci.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-05-24 00:43:08.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-05-24 00:48:20.000000000 -0300
-@@ -13,11 +13,14 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-06-28 22:45:27.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-28 22:53:10.000000000 -0300
+@@ -13,6 +13,8 @@
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/fb.h>
@@ -11,13 +11,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
- #include <asm/arch/pxa-regs.h>
+@@ -20,12 +22,106 @@
#include <asm/arch/pxafb.h>
+ #include <asm/arch/ezx.h>
+ #include <asm/arch/ezx-pcap.h>
+#include <asm/arch/mmc.h>
#include "generic.h"
- #include "ezx.h"
-@@ -25,6 +28,99 @@
+
extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
extern void ezx_backlight_power(int);
@@ -117,7 +118,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
static struct pxafb_mode_info mode_e680 = {
.pixclock = 150000,
.xres = 240,
-@@ -65,6 +161,7 @@
+@@ -144,6 +240,7 @@
PSLR = 0x05800f00;
set_pxa_fb_info(&e680_fb_info);
@@ -125,15 +126,3 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
/* clear EMU MUX1/MUX2 (low) to close the audio path to EMU */
pxa_gpio_mode(GPIO_EMU_MUX1|GPIO_OUT);
-Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
-===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-05-24 00:48:28.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-05-24 00:48:55.000000000 -0300
-@@ -83,6 +83,7 @@
- config PXA_EZX_E680
- bool "Motorola E680 GSM Phone"
- select PXA27x
-+ select EZX_MCI_SD
-
- config PXA_EZX_A780
- bool "Motorola A780 GSM Phone"
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-pcap.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-pcap.patch
new file mode 100644
index 0000000000..e974be9b4e
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/e680-pcap.patch
@@ -0,0 +1,98 @@
+Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
+===================================================================
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-06-28 22:44:12.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-28 22:45:27.000000000 -0300
+@@ -19,6 +19,7 @@
+ #include <asm/arch/pxa-regs.h>
+ #include <asm/arch/pxafb.h>
+ #include <asm/arch/ezx.h>
++#include <asm/arch/ezx-pcap.h>
+
+ #include "generic.h"
+
+@@ -48,7 +49,85 @@
+ .pxafb_lcd_power = &ezx_lcd_power,
+ };
+
++/* PCAP */
++static int __init e680_pcap_init(void)
++{
++ /* initialize PCAP registers */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A1CTRL, 1);
++// ezx_pcap_vibrator_level(PCAP_VIBRATOR_VOLTAGE_LEVEL3);
++
++ /* set SW1 sleep to keep SW1 1.3v in sync mode */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE10, 0);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE11, 0);
++
++ /* SW1 active in sync mode */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE00, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE01, 0);
++
++ /* at SW1 -core voltage to 1.30V */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW10_DVS, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW11_DVS, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW12_DVS, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW13_DVS, 0);
++
++ /* when STANDY2 PIN ACTIVE (high) set V3-- sram V8 -- pll off */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V3_STBY, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V3_LOWPWR, 0);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V8_STBY, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V8_LOWPWR, 0);
++
++ /*
++ * when STANDY2 PIN ACTIVE (high) set V4-- lcd only for e680 V6 ---
++ * camera for e680
++ */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V4_STBY, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V4_LOWPWR, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V6_STBY, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V6_LOWPWR, 0);
++
++ /* set Vc to low power mode when AP sleep */
++// SSP_PCAP_bit_set( SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VC_STBY);
++
++ /* set VAUX2 to voltage 2.775V and low power mode when AP sleep */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_1, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_0, 0);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX2_STBY, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX2_LOWPWR, 1);
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_EN, 1);
++
++// PGSR(GPIO34_TXENB) |= GPIO_bit(GPIO34_TXENB);
++
++ return 0;
++}
++
++static struct pcap_platform_data e680_pcap_platform_data = {
++ .port = 1,
++ .cs = GPIO_SPI_CE,
++ .flags = PCAP_MCI_SD,
++ .clk = 1,
++ .init = e680_pcap_init,
++};
++
++static struct resource e680_pcap_resources[] = {
++ [0] = {
++ .start = IRQ_GPIO1,
++ .end = IRQ_GPIO1,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++struct platform_device e680_pcap_device = {
++ .name = "ezx-pcap",
++ .id = -1,
++ .num_resources = ARRAY_SIZE(e680_pcap_resources),
++ .resource = e680_pcap_resources,
++ .dev = {
++ .platform_data = &e680_pcap_platform_data,
++ },
++};
++
+ static struct platform_device *devices[] __initdata = {
++ &e680_pcap_device,
+ };
+
+ static void __init e680_init(void)
diff --git a/packages/linux/linux-ezx-2.6.21/patches/e680-ts.patch b/packages/linux/linux-ezx-2.6.21/patches/e680-ts.patch
index 52f9ce34b5..7a7a1be7fd 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/e680-ts.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/e680-ts.patch
@@ -1,9 +1,9 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-06-02 20:32:49.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-02 20:33:26.000000000 -0300
-@@ -124,6 +124,27 @@
- .exit = e680_mci_exit,
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx-e680.c 2007-08-01 19:56:21.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-08-01 19:58:54.000000000 -0300
+@@ -301,9 +301,34 @@
+ },
};
+/* PCAP_TS */
@@ -23,17 +23,16 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
+struct platform_device pcap_ts_device = {
+ .name = "pcap-ts",
+ .id = -1,
++ .dev = {
++ .parent = &e680_pcap_device.dev,
++ },
+ .num_resources = ARRAY_SIZE(pcap_ts_resources),
+ .resource = pcap_ts_resources,
+};
+
- static struct pxafb_mode_info mode_e680 = {
- .pixclock = 150000,
- .xres = 240,
-@@ -200,6 +221,7 @@
- };
-
static struct platform_device *devices[] __initdata = {
+ &e680_pcap_device,
+ &e680_emu_device,
+ &pcap_ts_device,
};
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-asoc.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-asoc.patch
new file mode 100644
index 0000000000..4b1f39b7d2
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-asoc.patch
@@ -0,0 +1,1179 @@
+Index: linux-2.6.21/sound/soc/codecs/pcap2.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.21/sound/soc/codecs/pcap2.c 2007-08-04 22:20:36.000000000 -0300
+@@ -0,0 +1,709 @@
++/*
++ * pcap2.c -- Template Codec Audio driver
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++#include <linux/moduleparam.h>
++#include <linux/init.h>
++#include <linux/delay.h>
++#include <linux/pm.h>
++#include <linux/platform_device.h>
++#include <sound/driver.h>
++#include <sound/core.h>
++#include <sound/pcm.h>
++#include <sound/pcm_params.h>
++#include <sound/soc.h>
++#include <sound/soc-dapm.h>
++#include <sound/initval.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/arch/ezx-pcap.h>
++#include <asm/arch/ezx.h>
++#include <asm/arch/hardware.h>
++
++#include "pcap2.h"
++
++#define AUDIO_NAME "pcap2-codec"
++#define PCAP2_VERSION "0.1"
++
++extern int ezx_pcap_write(u_int8_t, u_int32_t);
++extern int ezx_pcap_read(u_int8_t, u_int32_t *);
++
++/*
++ * Debug
++ */
++
++#define PCAP2_DEBUG 1
++
++#ifdef PCAP2_DEBUG
++#define dbg(format, arg...) \
++ printk(KERN_DEBUG AUDIO_NAME ": " format "\n" , ## arg)
++#else
++#define dbg(format, arg...) do {} while (0)
++#endif
++
++#define err(format, arg...) \
++ printk(KERN_ERR AUDIO_NAME ": " format "\n" , ## arg)
++#define info(format, arg...) \
++ printk(KERN_INFO AUDIO_NAME ": " format "\n" , ## arg)
++#define warn(format, arg...) \
++ printk(KERN_WARNING AUDIO_NAME ": " format "\n" , ## arg)
++
++#define dump_registers() pcap2_codec_read(NULL, 13); \
++ pcap2_codec_read(NULL, 12); \
++ pcap2_codec_read(NULL, 11); \
++ pcap2_codec_read(NULL, 26);
++
++
++
++
++/*
++ * write to the pcap2 codec register space
++ */
++static int pcap2_codec_write(struct snd_soc_codec *codec, unsigned int reg,
++ unsigned int value)
++{
++ dbg("codec_write reg=%08x, val=%08x", reg, value);
++ ezx_pcap_write(reg, value);
++ return 0;
++
++}
++
++static unsigned int pcap2_codec_read(struct snd_soc_codec *codec, unsigned int reg)
++{
++ unsigned int ret;
++
++ ezx_pcap_read(reg, &ret);
++ dbg("codec_read reg=%08x, val=%08x", reg, ret);
++ return(ret);
++
++}
++
++static const char *pcap2_amp_output[] = {"R L Stereo", "RL", "RL3db", "RL6db"};
++
++static const struct soc_enum pcap2_enum[] = {
++SOC_ENUM_SINGLE(PCAP2_OUTPUT_AMP, 19, 4, pcap2_amp_output),
++
++};
++
++/* pcap2 codec non DAPM controls */
++static const struct snd_kcontrol_new pcap2_codec_snd_controls[] = {
++SOC_SINGLE("Output gain", PCAP2_OUTPUT_AMP, 13, 15, 0),
++SOC_SINGLE("Input gain", PCAP2_INPUT_AMP, 0, 31, 0),
++SOC_SINGLE("louderspeaker sw", PCAP2_OUTPUT_AMP, 1, 1, 0),
++SOC_SINGLE("Earpiece switch", PCAP2_OUTPUT_AMP, 0, 1, 0),
++SOC_SINGLE("Earpctrl switch", PCAP2_OUTPUT_AMP, 17, 1, 0),
++SOC_SINGLE("Aright switch", PCAP2_OUTPUT_AMP, 5, 1, 0),
++SOC_SINGLE("Aleft switch", PCAP2_OUTPUT_AMP, 6, 1, 0),
++//SOC_SINGLE("AHS switch", PCAP2_INPUT_AMP, 14, 1, 0),
++//SOC_SINGLE("pga in switch", PCAP2_OUTPUT_AMP, 10, 1, 0),
++SOC_ENUM("Output mode", pcap2_enum[0]),
++};
++
++/* add non dapm controls */
++static int pcap2_codec_add_controls(struct snd_soc_codec *codec)
++{
++ int err, i;
++ dbg("pcap2_codec_add_controls");
++
++ for (i = 0; i < ARRAY_SIZE(pcap2_codec_snd_controls); i++) {
++ if ((err = snd_ctl_add(codec->card,
++ snd_soc_cnew(&pcap2_codec_snd_controls[i],codec, NULL))) < 0)
++ return err;
++ }
++
++ return 0;
++}
++
++/* pcap2 codec DAPM controls */
++static const struct snd_soc_dapm_widget pcap2_codec_dapm_widgets[] = {
++};
++
++/*
++ * template codec audio interconnectiosn between sink and source.
++ */
++static const char *audio_map[][3] = {
++
++
++ /* terminator */
++ {NULL, NULL, NULL},
++};
++
++static int pcap2_codec_add_widgets(struct snd_soc_codec *codec)
++{
++ int i;
++ dbg("pcap2_codec_add_widgets");
++
++ for(i = 0; i < ARRAY_SIZE(pcap2_codec_dapm_widgets); i++) {
++ snd_soc_dapm_new_control(codec, &pcap2_codec_dapm_widgets[i]);
++ }
++
++ /* set up audio path interconnects */
++ for(i = 0; audio_map[i][0] != NULL; i++) {
++ snd_soc_dapm_connect_input(codec, audio_map[i][0],
++ audio_map[i][1], audio_map[i][2]);
++ }
++
++ snd_soc_dapm_new_widgets(codec);
++ return 0;
++}
++
++/*
++ * Alsa operations
++ * Only implement the required operations for your platform.
++ * These operations are specific to the codec only.
++ */
++
++ /*
++ * Called by ALSA when a PCM substream is opened, private data can be allocated.
++ */
++static int pcap2mono_codec_startup(struct snd_pcm_substream *substream)
++{
++ dbg("pcap2 codec startup");
++
++ return 0;
++}
++
++/*
++ * Called by ALSA when a PCM substream is closed. Private data can be
++ * freed here.
++ */
++static int pcap2mono_codec_shutdown(struct snd_pcm_substream *substream)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_device *socdev = rtd->socdev;
++ struct snd_soc_codec *codec = socdev->codec;
++
++ dbg("pcap2mono codec shutdown");
++
++ pcap2_codec_write(codec, PCAP2_CODEC, 0);
++ return 0;
++}
++
++/*
++ * Called by ALSA when the hardware params are set by application. This
++ * function can also be called multiple times and can allocate buffers
++ * (using snd_pcm_lib_* ). It's non-atomic.
++ */
++static int pcap2mono_codec_hw_params(struct snd_pcm_substream *substream,
++ struct snd_pcm_hw_params *params)
++{
++// u_int32_t tmp;
++ dbg("pcap2mono_codec_hw_params");
++
++ return 0;
++}
++
++/*
++ * Free's resources allocated by hw_params, can be called multiple times
++ */
++static int pcap2mono_codec_hw_free(struct snd_pcm_substream *substream)
++{
++ dbg("pcap2mono_codec_hw_free");
++ return 0;
++}
++
++static int pcap2_set_dai_sysclk(struct snd_soc_codec_dai *codec_dai,
++ int clk_id, unsigned int freq, int dir)
++{
++
++ dbg("pcap2 set dai sysclk");
++ return 0;
++}
++
++static int pcap2_set_dai_pll(struct snd_soc_codec_dai *codec_dai,
++ int pll_id, unsigned int freq_in, unsigned int freq_out)
++{
++ struct snd_soc_codec *codec = codec_dai->codec;
++ u_int32_t tmp;
++
++ dbg("pcap2 set dai pll");
++
++ if (codec_dai->id == PCAP2_STEREO_DAI) {
++ /* ST_DAC */
++ dbg("stereo codec not supported yet.");
++ return -ENODEV;
++ }
++ else {
++ /* MONO_DAC */
++ tmp = pcap2_codec_read(codec, PCAP2_CODEC);
++
++ tmp &= ~0x10000;
++ switch (pll_id) {
++ case PCAP2_PLL_AP:
++ tmp |= 0x10000;
++ break;
++ case PCAP2_PLL_BP:
++ break;
++ default:
++ return -ENODEV;
++ }
++
++ tmp &= ~0x1c0;
++ switch (freq_in) {
++ case 13000000:
++ break;
++/* case 15M36:
++ tmp |= 0x40;
++ break;
++ case 16M8:
++ tmp |= 0x80;
++ break;
++ case 19M44:
++ tmp |= 0xc0;
++ break;
++*/ case 26000000:
++ tmp |= 0x100;
++ break;
++ default:
++ return -EINVAL;
++ }
++
++
++ pcap2_codec_write(codec, PCAP2_CODEC, tmp);
++ }
++ return 0;
++}
++
++static int pcap2_set_dai_fmt(struct snd_soc_codec_dai *codec_dai,
++ unsigned int fmt)
++{
++ struct snd_soc_codec *codec = codec_dai->codec;
++ u_int32_t tmp = 0;
++
++ dbg("pcap2_set_dai_fmt");
++
++ if (codec_dai->id == PCAP2_STEREO_DAI) {
++ /* ST_DAC */
++ dbg("stereo codec not supported yet.");
++ return -ENODEV;
++ }
++ else {
++ /* MONO_DAC */
++
++ /* disable ST_DAC */
++ pcap2_codec_write(codec, PCAP2_ST_DAC, 0);
++
++ switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
++ case SND_SOC_DAIFMT_CBM_CFM:
++ break;
++ case SND_SOC_DAIFMT_CBS_CFS:
++ tmp |= 0x2;
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
++ case SND_SOC_DAIFMT_I2S:
++ tmp |= 0x4000;
++ break;
++/* case SND_SOC_NET:
++ tmp |= 0x2000;
++ break;
++*/ case SND_SOC_DAIFMT_DSP_B:
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
++ case SND_SOC_DAIFMT_IB_IF:
++ break;
++ case SND_SOC_DAIFMT_NB_NF:
++ tmp |= 0x600;
++ break;
++ case SND_SOC_DAIFMT_IB_NF:
++ tmp |= 0x400;
++ break;
++ case SND_SOC_DAIFMT_NB_IF:
++ tmp |= 0x200;
++ break;
++ }
++ if (codec_dai->id == PCAP2_MONO_DAI)
++ /* set dai to AP */
++ tmp |= 0x8000;
++
++ pcap2_codec_write(codec, PCAP2_CODEC, tmp);
++ }
++ return 0;
++}
++
++
++#if 0
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A1_CONFIG, 1);
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AHS_CONFIG, 1);
++
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ST_DAC_ST_CLK_EN, 0);
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ST_DAC_ST_DAC_EN, 0);
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ST_DAC_SMB_ST_DAC,1);
++
++// dbg ("configure pcap to use ap clock");
++// OSCC |= 0x00000008;
++// pxa_gpio_mode(AP_13MHZ_OUTPUT_PIN | GPIO_ALT_FN_3_OUT);
++
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_CLK_IN_SEL, 1);
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_ST_DAC_ST_DAC_CLK_IN_SEL, 1);
++
++
++
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_V2_EN_2, 1);
++
++
++
++
++ /* configure bitclk, pllclock, mode */
++ ezx_pcap_write(PCAP2_ST_DAC, 0);
++
++ tmp = PCAP_CDC_CLK_IN_13M0;
++ ezx_pcap_write(PCAP2_CODEC, tmp);
++
++ /* codec 0=master 1=slave */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_SMB, 0);
++
++ /* bitrate 0=8k 1=16k */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_FS_8K_16K, 0);
++
++ /* clock source */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_CLK_IN_SEL,1);
++
++ /* dai select 0=neptune 1=pxa */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_DIG_AUD_IN,1);
++
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_AUDIHPF,1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_AUDOHPF,1);
++
++ /* clock/frame inv */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_CLK_INV,0);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_FS_INV,0);
++
++ /*(3) reset digital filter(DF_RESET=1) */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_DF_RESET,1);
++
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_ADITH,0);
++
++ /* (4) enable pcap clk(CDC_CLK_EN=1),enable CODEC(CDC_EN=1) */
++
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_CD_BYP,0);
++
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_CDC_CLK_EN,1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_CODEC_CDC_EN,1);
++ mdelay(1);
++
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_ST_DAC_SW, 0);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_CDC_SW, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_PGA_IN_SW, 0);
++
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_PGA_R_EN, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_PGA_L_EN, 0);
++
++ /* set default output to louderspeaker while developing */
++ ezx_pcap_read(SSP_PCAP_ADJ_AUD_RX_AMPS_REGISTER, &tmp);
++ tmp &= ~SSP_PCAP_MONO_PGA_MASK;
++ tmp |= PCAP_MONO_PGA_RL;
++ ezx_pcap_write(SSP_PCAP_ADJ_AUD_RX_AMPS_REGISTER, tmp);
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A1CTRL, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A2_EN, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A2_CONFIG, 1);
++
++ /* set default input to handset while developing */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_MB_ON1, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A5_EN, 0);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_A5_MUX, 1);
++
++
++
++ dump_registers();
++
++
++ return 0;
++}
++
++#endif
++
++/*
++ * Starts (Triggers) audio playback or capture.
++ * Usually only needed for DMA
++ */
++static int pcap2mono_codec_trigger(struct snd_pcm_substream *substream, int cmd)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_device *socdev = rtd->socdev;
++ struct snd_soc_codec *codec = socdev->codec;
++ u_int32_t tmp;
++
++ dbg("pcap2mono_codec_trigger");
++ tmp = pcap2_codec_read(codec, PCAP2_CODEC);
++
++
++ /* reset digital filter */
++ tmp |= 0x800;
++
++ /* enable codec */
++ tmp |= 0x1000;
++
++ /* enable codec clock */
++ tmp |= 0x2000;
++
++ pcap2_codec_write(codec, PCAP2_CODEC, tmp);
++
++ dump_registers();
++ return 0;
++}
++
++/*
++ * Called by ALSA when the PCM substream is prepared, can set format, sample
++ * rate, etc. This function is non atomic and can be called multiple times,
++ * it can refer to the runtime info.
++ */
++static int pcap2mono_codec_prepare(struct snd_pcm_substream *substream)
++{
++ dbg("pcap2mono_codec_prepare");
++ return 0;
++}
++
++/*
++ * Codec DAPM event handler
++ * This handles codec level DAPM events
++ */
++static int pcap2_codec_dapm_event(struct snd_soc_codec *codec, int event)
++{
++ switch (event) {
++ case SNDRV_CTL_POWER_D0: /* full On */
++ /* e.g. vref/mid, osc on, */
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIO_LOWPWR, 0);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_V2_EN_2, 1);
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_V2_EN_2, 1);
++ break;
++ case SNDRV_CTL_POWER_D1: /* partial On */
++ case SNDRV_CTL_POWER_D2: /* partial On */
++ break;
++ case SNDRV_CTL_POWER_D3hot: /* Off, with power */
++ /* everything off except vref/vmid, */
++ dbg("power on pcap codec");
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIO_LOWPWR, 0);
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_V2_EN_2, 1);
++// ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_V2_EN_2, 1);
++ break;
++ case SNDRV_CTL_POWER_D3cold: /* Off, without power */
++ /* everything off, dac mute, inactive */
++ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_TX_AUD_AMPS_AUDIO_LOWPWR, 1);
++ break;
++ }
++ codec->dapm_state = event;
++ return 0;
++}
++
++/*
++ * Define codec DAI.
++ */
++struct snd_soc_codec_dai pcap2_dai[] = {
++{
++ .name = "PCAP2 MONO",
++ .id = 0,
++ /* playback and capture stream info */
++ .playback = {
++ .stream_name = "mono playback",
++ .channels_min = 1,
++ .channels_max = 1,
++ .rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000),
++ .formats = SNDRV_PCM_FMTBIT_S16_LE,
++ },
++ .capture = {
++ .stream_name = "mono capture",
++ .channels_min = 1,
++ .channels_max = 1,
++ .rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000),
++ .formats = SNDRV_PCM_FMTBIT_S16_LE,
++ },
++ /* codec operations */
++ /* alsa PCM operations */
++ .ops = {
++ .startup = pcap2mono_codec_startup,
++ .shutdown = pcap2mono_codec_shutdown,
++ .prepare = pcap2mono_codec_prepare,
++ .trigger = pcap2mono_codec_trigger,
++ .hw_params = pcap2mono_codec_hw_params,
++ .hw_free = pcap2mono_codec_hw_free,},
++ .dai_ops = {
++// .digital_mute = pcap2_mute,
++ .set_fmt = pcap2_set_dai_fmt,
++// .set_clkdiv = pcap2_set_dai_clkdiv,
++ .set_pll = pcap2_set_dai_pll,
++ .set_sysclk = pcap2_set_dai_sysclk,
++ },
++},
++{
++ .name = "PCAP2 STEREO",
++ .id = 1,
++ .playback = {
++ .stream_name = "stereo playback",
++ .channels_min = 2,
++ .channels_max = 2,
++ .rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_44100),
++ .formats = SNDRV_PCM_FMTBIT_S16_LE,
++ },
++ .ops = {
++// .startup = pcap2stereo_codec_startup,
++// .shutdown = pcap2stereo_codec_shutdown,
++// .prepare = pcap2stereo_codec_prepare,
++// .trigger = pcap2stereo_codec_trigger,
++// .hw_params = pcap2stereo_codec_hw_params,
++// .hw_free = pcap2stereo_codec_hw_free,
++ },
++ .dai_ops = {
++// .digital_mute = pcap2_mute,
++ .set_fmt = pcap2_set_dai_fmt,
++// .set_clkdiv = pcap2_set_dai_clkdiv,
++ .set_pll = pcap2_set_dai_pll,
++ .set_sysclk = pcap2_set_dai_sysclk,
++ },
++},
++{
++ .name = "PCAP2 BP",
++ .id = 2,
++ .playback = {
++ .stream_name = "baseband playback",
++ .channels_min = 1,
++ .channels_max = 1,
++ .rates = SNDRV_PCM_RATE_8000,
++ .formats = SNDRV_PCM_FMTBIT_S16_LE,
++ },
++ .ops = {
++ .startup = pcap2mono_codec_startup,
++// .shutdown = pcap2mono_codec_shutdown,
++ .prepare = pcap2mono_codec_prepare,
++ .trigger = pcap2mono_codec_trigger,
++ .hw_params = pcap2mono_codec_hw_params,
++ .hw_free = pcap2mono_codec_hw_free,
++ },
++ .dai_ops = {
++// .digital_mute = pcap2_mute,
++ .set_fmt = pcap2_set_dai_fmt,
++// .set_clkdiv = pcap2_set_dai_clkdiv,
++ .set_pll = pcap2_set_dai_pll,
++ .set_sysclk = pcap2_set_dai_sysclk,
++ },
++},
++};
++EXPORT_SYMBOL_GPL(pcap2_dai);
++
++static int pcap2_codec_suspend(struct platform_device *pdev, pm_message_t state)
++{
++ struct snd_soc_device *socdev = platform_get_drvdata(pdev);
++ struct snd_soc_codec *codec = socdev->codec;
++
++ dbg("pcap2_codec_suspend");
++ pcap2_codec_dapm_event(codec, SNDRV_CTL_POWER_D3cold);
++ return 0;
++}
++
++static int pcap2_codec_resume(struct platform_device *pdev)
++{
++ struct snd_soc_device *socdev = platform_get_drvdata(pdev);
++ struct snd_soc_codec *codec = socdev->codec;
++
++ dbg("pcap2_codec_resume");
++ pcap2_codec_dapm_event(codec, SNDRV_CTL_POWER_D3hot);
++ pcap2_codec_dapm_event(codec, codec->suspend_dapm_state);
++ return 0;
++}
++
++/*
++ * initialise the PCAP2 driver
++ * register the mixer and dsp interfaces with the kernel
++ */
++static int pcap2_codec_init(struct snd_soc_device *socdev)
++{
++ struct snd_soc_codec *codec = socdev->codec;
++ int reg, ret = 0;
++
++ dbg("pcap2_codec_init");
++ codec->name = "PCAP2 Audio";
++ codec->owner = THIS_MODULE;
++ codec->read = pcap2_codec_read;
++ codec->write = pcap2_codec_write;
++ codec->dapm_event = pcap2_codec_dapm_event;
++ codec->dai = pcap2_dai;
++ codec->num_dai = ARRAY_SIZE(pcap2_dai);
++
++ /* register pcms */
++ ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1);
++ if (ret < 0) {
++ return ret;
++ }
++ /* power on device */
++ pcap2_codec_dapm_event(codec, SNDRV_CTL_POWER_D3hot);
++ /* set the update bits */
++
++ pcap2_codec_add_controls(codec);
++ pcap2_codec_add_widgets(codec);
++ ret = snd_soc_register_card(socdev);
++ if (ret < 0) {
++ snd_soc_free_pcms(socdev);
++ snd_soc_dapm_free(socdev);
++ dbg("erro registrando\n");
++ }
++
++ return ret;
++}
++
++static struct snd_soc_device *pcap2_codec_socdev;
++
++
++static int pcap2_codec_probe(struct platform_device *pdev)
++{
++ struct snd_soc_device *socdev = platform_get_drvdata(pdev);
++ struct pcap2_codec_setup_data *setup;
++ struct snd_soc_codec *codec;
++ int ret = 0;
++ info("PCAP2 Audio Codec %s", PCAP2_VERSION);
++
++ setup = socdev->codec_data;
++ codec = kzalloc(sizeof(struct snd_soc_codec), GFP_KERNEL);
++ if (codec == NULL)
++ return -ENOMEM;
++
++ socdev->codec = codec;
++ mutex_init(&codec->mutex);
++ INIT_LIST_HEAD(&codec->dapm_widgets);
++ INIT_LIST_HEAD(&codec->dapm_paths);
++
++ pcap2_codec_socdev = socdev;
++
++ ret = pcap2_codec_init(socdev);
++ return ret;
++}
++
++/* power down chip and remove */
++static int pcap2_codec_remove(struct platform_device *pdev)
++{
++ struct snd_soc_device *socdev = platform_get_drvdata(pdev);
++ struct snd_soc_codec *codec = socdev->codec;
++ if (codec->control_data)
++ pcap2_codec_dapm_event(codec, SNDRV_CTL_POWER_D3cold);
++ snd_soc_free_pcms(socdev);
++ snd_soc_dapm_free(socdev);
++
++ kfree(codec);
++
++ return 0;
++}
++
++/* codec device ops */
++struct snd_soc_codec_device soc_codec_dev_pcap2 = {
++ .probe = pcap2_codec_probe,
++ .remove = pcap2_codec_remove,
++// .suspend = pcap2_codec_suspend,
++// .resume = pcap2_codec_resume,
++};
++
++EXPORT_SYMBOL_GPL(soc_codec_dev_pcap2);
++
++MODULE_DESCRIPTION("ASoC PCAP2 codec");
++MODULE_AUTHOR("Daniel Ribeiro");
++MODULE_LICENSE("GPL");
+Index: linux-2.6.21/sound/soc/codecs/pcap2.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.21/sound/soc/codecs/pcap2.h 2007-08-04 02:06:01.000000000 -0300
+@@ -0,0 +1,31 @@
++/*
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ */
++
++#ifndef _PCAP2_H
++#define _PCAP2_H
++
++/* PCAP2 register space */
++
++#define PCAP2_OUTPUT_AMP 0x0c
++#define PCAP2_ST_DAC 0x0d
++#define PCAP2_INPUT_AMP 0x1a
++#define PCAP2_CODEC 0x0b
++
++#define PCAP2_MONO_DAI 0
++#define PCAP2_STEREO_DAI 1
++#define PCAP2_BP_DAI 2
++
++#define PCAP2_PLL_BP 0
++#define PCAP2_PLL_AP 1
++
++//struct template_codec_setup_data {
++// unsigned short i2c_address;
++//};
++
++extern struct snd_soc_codec_dai pcap2_dai[];
++extern struct snd_soc_codec_device soc_codec_dev_pcap2;
++
++#endif
+Index: linux-2.6.21/sound/soc/pxa/Kconfig
+===================================================================
+--- linux-2.6.21.orig/sound/soc/pxa/Kconfig 2007-08-02 22:58:17.000000000 -0300
++++ linux-2.6.21/sound/soc/pxa/Kconfig 2007-08-02 22:58:34.000000000 -0300
+@@ -60,4 +60,13 @@
+ Say Y if you want to add support for SoC audio on Sharp
+ Zaurus SL-C6000x models (Tosa).
+
++config SND_PXA2XX_SOC_EZX
++ tristate "SoC Audio support for EZX"
++ depends on SND_PXA2XX_SOC && PXA_EZX
++ select SND_PXA2XX_SOC_SSP
++ select SND_SOC_PCAP2
++ help
++ Say Y if you want to add support for SoC audio on
++ Motorola EZX Phones (a780/e680).
++
+ endmenu
+Index: linux-2.6.21/sound/soc/pxa/ezx.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.21/sound/soc/pxa/ezx.c 2007-08-04 22:35:25.000000000 -0300
+@@ -0,0 +1,296 @@
++/*
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by the
++ * Free Software Foundation; either version 2 of the License, or (at your
++ * option) any later version.
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/moduleparam.h>
++#include <linux/timer.h>
++#include <linux/interrupt.h>
++#include <linux/platform_device.h>
++#include <sound/driver.h>
++#include <sound/core.h>
++#include <sound/pcm.h>
++#include <sound/soc.h>
++#include <sound/soc-dapm.h>
++
++#include <asm/mach-types.h>
++#include <asm/arch/pxa-regs.h>
++#include <asm/arch/hardware.h>
++
++#include "../codecs/pcap2.h"
++#include "pxa2xx-pcm.h"
++#include "pxa2xx-ssp.h"
++
++#define GPIO_HW_ATTENUATE_A780 96
++/*
++ * Alsa operations
++ * Only implement the required operations for your platform.
++ * These operations are specific to the machine only.
++ */
++
++ /*
++ * Called by ALSA when a PCM substream is opened, private data can be allocated.
++ */
++static int ezx_machine_startup(struct snd_pcm_substream *substream)
++{
++ printk("ezx_machine_startup\n");
++ return 0;
++}
++
++/*
++ * Called by ALSA when the hardware params are set by application. This
++ * function can also be called multiple times and can allocate buffers
++ * (using snd_pcm_lib_* ). It's non-atomic.
++ */
++static int ezx_machine_hw_params(struct snd_pcm_substream *substream,
++ struct snd_pcm_hw_params *params)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_codec_dai *codec_dai = rtd->dai->codec_dai;
++ struct snd_soc_cpu_dai *cpu_dai = rtd->dai->cpu_dai;
++ int ret;
++
++
++ /* set codec DAI configuration */
++ ret = codec_dai->dai_ops.set_fmt(codec_dai, SND_SOC_DAIFMT_DSP_B |
++ SND_SOC_DAIFMT_IB_IF | SND_SOC_DAIFMT_CBM_CFM);
++ if(ret < 0)
++ return ret;
++
++ /* set PLL source */
++ ret = codec_dai->dai_ops.set_pll(codec_dai, PCAP2_PLL_AP, 13000000, -1);
++ if(ret < 0)
++ return ret;
++
++ /* set cpu DAI configuration */
++ ret = cpu_dai->dai_ops.set_fmt(cpu_dai, SND_SOC_DAIFMT_DSP_B |
++ SND_SOC_DAIFMT_IB_IF | SND_SOC_DAIFMT_CBM_CFM);
++ if (ret < 0)
++ return ret;
++
++ ret = cpu_dai->dai_ops.set_tristate(cpu_dai, 0);
++ if (ret < 0)
++ return ret;
++
++ ret = cpu_dai->dai_ops.set_sysclk(cpu_dai,PXA2XX_SSP_CLK_PLL, 0, SND_SOC_CLOCK_IN);
++ if (ret < 0)
++ return ret;
++
++ return 0;
++}
++
++/*
++ * Free's resources allocated by hw_params, can be called multiple times
++ */
++static int ezx_machine_hw_free(struct snd_pcm_substream *substream)
++{
++
++ printk("ezx_machine_hw_free\n");
++
++ return 0;
++}
++
++static int ezx_machine_prepare(struct snd_pcm_substream *substream)
++{
++ int timeout = 0;
++ while(((SSSR_P(3) & SSSR_CSS) != 0) && (timeout++ < 10000000));
++
++ if (timeout >= 10000000)
++ printk("clock sync timeout!\n");
++ else
++ printk("clock sync passed %d\n", timeout);
++
++// printk("SSCR0 %x SSCR1 %x SSTO %x SSPSP %x SSSR %x SSACD %x\n",
++// SSCR0_P(3), SSCR1_P(3),
++// SSTO_P(3), SSPSP_P(3),
++// SSSR_P(3), SSACD_P(3));
++ return 0;
++}
++
++/* machine Alsa PCM operations */
++static struct snd_soc_ops ezx_ops = {
++ .startup = ezx_machine_startup,
++ .prepare = ezx_machine_prepare,
++ .hw_free = ezx_machine_hw_free,
++ .hw_params = ezx_machine_hw_params,
++};
++
++static int bp_hw_params(struct snd_pcm_substream *substream,
++ struct snd_pcm_hw_params *params)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_codec_dai *codec_dai = rtd->dai->codec_dai;
++ struct snd_soc_cpu_dai *cpu_dai = rtd->dai->cpu_dai;
++ int ret;
++ printk("bp_hw_params\n");
++ /* set codec DAI configuration */
++ ret = codec_dai->dai_ops.set_fmt(codec_dai, SND_SOC_DAIFMT_DSP_B |
++ SND_SOC_DAIFMT_IB_IF | SND_SOC_DAIFMT_CBM_CFM);
++ if(ret < 0)
++ return ret;
++
++ /* set PLL source */
++ ret = codec_dai->dai_ops.set_pll(codec_dai, PCAP2_PLL_BP, 13000000, -1);
++ if(ret < 0)
++ return ret;
++
++ /* set cpu DAI configuration */
++// ret = cpu_dai->dai_ops.set_fmt(cpu_dai, SND_SOC_DAIFMT_DSP_B |
++// SND_SOC_DAIFMT_IB_IF | SND_SOC_DAIFMT_CBM_CFM);
++// if (ret < 0)
++// return ret;
++
++// ret = cpu_dai->dai_ops.set_tristate(cpu_dai, 0);
++// if (ret < 0)
++// return ret;
++
++// ret = cpu_dai->dai_ops.set_sysclk(cpu_dai,PXA2XX_SSP_CLK_PLL, 0, SND_SOC_CLOCK_IN);
++// if (ret < 0)
++// return ret;
++
++ return 0;
++}
++
++/* machine audio map (connections to the codec pins) */
++static const char *audio_map[][3] = {
++
++ {NULL, NULL, NULL},
++};
++
++/*
++ * Initialise the machine audio subsystem.
++ */
++static int ezx_machine_init(struct snd_soc_codec *codec)
++{
++ printk("ezx machine init\n");
++ /* mark unused codec pins as NC */
++
++ /* Add template specific controls */
++
++ /* Add template specific widgets */
++
++ /* Set up template specific audio path audio_map */
++ /* synchronise subsystem */
++ snd_soc_dapm_sync_endpoints(codec);
++ return 0;
++}
++
++static struct snd_soc_cpu_dai bp_dai =
++{
++ .name = "Baseband",
++ .id = 0,
++ .type = SND_SOC_DAI_PCM,
++ .playback = {
++ .channels_min = 1,
++ .channels_max = 1,
++ .rates = SNDRV_PCM_RATE_8000,
++ .formats = SNDRV_PCM_FMTBIT_S16_LE,
++ },
++ .capture = {
++ .channels_min = 1,
++ .channels_max = 1,
++ .rates = SNDRV_PCM_RATE_8000,
++ .formats = SNDRV_PCM_FMTBIT_S16_LE,
++ },
++ .ops = {
++// .startup = bp_startup,
++// .shutdown = bp_shutdown,
++ .hw_params = bp_hw_params,
++// .hw_free = bp_hw_free,
++ },
++};
++
++/* template digital audio interface glue - connects codec <--> CPU */
++static struct snd_soc_dai_link ezx_dai[] = {
++{
++ .name = "PCAP2 MONO",
++ .stream_name = "mono playback",
++ .cpu_dai = &pxa_ssp_dai[PXA2XX_DAI_SSP3],
++ .codec_dai = &pcap2_dai[PCAP2_MONO_DAI],
++ .init = ezx_machine_init,
++ .ops = &ezx_ops,
++},
++{
++ .name = "PCAP2 STEREO",
++ .stream_name = "stereo playback",
++ .cpu_dai = &pxa_ssp_dai[PXA2XX_DAI_SSP3],
++ .codec_dai = &pcap2_dai[PCAP2_STEREO_DAI],
++ .init = ezx_machine_init,
++ .ops = &ezx_ops,
++},
++{
++ .name = "PCAP2 BP",
++ .stream_name = "BP Audio",
++ .cpu_dai = &bp_dai,
++ .codec_dai = &pcap2_dai[PCAP2_BP_DAI],
++},
++};
++
++/* template audio machine driver */
++static struct snd_soc_machine snd_soc_machine_ezx = {
++ .name = "Motorola EZX",
++// .probe
++// .remove
++// .suspend_pre
++// .resume_post
++ .dai_link = ezx_dai,
++ .num_links = ARRAY_SIZE(ezx_dai),
++};
++
++/* template audio private data */
++//static struct codec_priv_setup_data template_codec_setup = {
++// .i2c_address = 0x1b,
++//};
++
++/* template audio subsystem */
++static struct snd_soc_device ezx_snd_devdata = {
++ .machine = &snd_soc_machine_ezx,
++ .platform = &pxa2xx_soc_platform,
++ .codec_dev = &soc_codec_dev_pcap2,
++// .codec_data = &ezx_pcap2_setup,
++};
++
++static struct platform_device *ezx_snd_device;
++
++static int __init ezx_init(void)
++{
++ int ret;
++ printk("soc: ezx_init entered\n");
++ ezx_snd_device = platform_device_alloc("soc-audio", -1);
++ if (!ezx_snd_device)
++ return -ENOMEM;
++
++ platform_set_drvdata(ezx_snd_device, &ezx_snd_devdata);
++ ezx_snd_devdata.dev = &ezx_snd_device->dev;
++ ret = platform_device_add(ezx_snd_device);
++
++ if (ret)
++ platform_device_put(ezx_snd_device);
++
++ pxa_gpio_mode(GPIO83_SFRM3_MD); /* SFRM */
++ pxa_gpio_mode(GPIO81_STXD3_MD); /* TXD */
++ pxa_gpio_mode(52 | GPIO_ALT_FN_2_IN); /* SCLK */
++ pxa_gpio_mode(GPIO89_SRXD3_MD); /* RXD */
++
++
++ pxa_gpio_mode(GPIO_HW_ATTENUATE_A780 | GPIO_OUT);
++ pxa_gpio_set_value(GPIO_HW_ATTENUATE_A780, 1);
++
++
++
++
++ return ret;
++}
++
++static void __exit ezx_exit(void)
++{
++ platform_device_unregister(ezx_snd_device);
++}
++
++module_init(ezx_init);
++module_exit(ezx_exit);
++
+Index: linux-2.6.21/sound/soc/codecs/Makefile
+===================================================================
+--- linux-2.6.21.orig/sound/soc/codecs/Makefile 2007-08-02 22:57:48.000000000 -0300
++++ linux-2.6.21/sound/soc/codecs/Makefile 2007-08-02 22:58:34.000000000 -0300
+@@ -2,8 +2,10 @@
+ snd-soc-wm8731-objs := wm8731.o
+ snd-soc-wm8750-objs := wm8750.o
+ snd-soc-wm9712-objs := wm9712.o
++snd-soc-pcap2-objs := pcap2.o
+
+ obj-$(CONFIG_SND_SOC_AC97_CODEC) += snd-soc-ac97.o
+ obj-$(CONFIG_SND_SOC_WM8731) += snd-soc-wm8731.o
+ obj-$(CONFIG_SND_SOC_WM8750) += snd-soc-wm8750.o
+ obj-$(CONFIG_SND_SOC_WM9712) += snd-soc-wm9712.o
++obj-$(CONFIG_SND_SOC_PCAP2) += snd-soc-pcap2.o
+Index: linux-2.6.21/sound/soc/codecs/Kconfig
+===================================================================
+--- linux-2.6.21.orig/sound/soc/codecs/Kconfig 2007-08-02 22:57:48.000000000 -0300
++++ linux-2.6.21/sound/soc/codecs/Kconfig 2007-08-02 22:58:34.000000000 -0300
+@@ -13,3 +13,7 @@
+ config SND_SOC_WM9712
+ tristate
+ depends on SND_SOC
++
++config SND_SOC_PCAP2
++ tristate
++ depends on SND_SOC && EZX_PCAP
+Index: linux-2.6.21/sound/soc/pxa/Makefile
+===================================================================
+--- linux-2.6.21.orig/sound/soc/pxa/Makefile 2007-08-02 22:58:17.000000000 -0300
++++ linux-2.6.21/sound/soc/pxa/Makefile 2007-08-02 22:58:34.000000000 -0300
+@@ -14,9 +14,10 @@
+ snd-soc-poodle-objs := poodle.o
+ snd-soc-tosa-objs := tosa.o
+ snd-soc-spitz-objs := spitz.o
++snd-soc-ezx-objs := ezx.o
+
+ obj-$(CONFIG_SND_PXA2XX_SOC_CORGI) += snd-soc-corgi.o
+ obj-$(CONFIG_SND_PXA2XX_SOC_POODLE) += snd-soc-poodle.o
+ obj-$(CONFIG_SND_PXA2XX_SOC_TOSA) += snd-soc-tosa.o
+ obj-$(CONFIG_SND_PXA2XX_SOC_SPITZ) += snd-soc-spitz.o
+-
++obj-$(CONFIG_SND_PXA2XX_SOC_EZX) += snd-soc-ezx.o
+Index: linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.c
+===================================================================
+--- linux-2.6.21.orig/sound/soc/pxa/pxa2xx-ssp.c 2007-08-02 22:58:17.000000000 -0300
++++ linux-2.6.21/sound/soc/pxa/pxa2xx-ssp.c 2007-08-02 22:58:34.000000000 -0300
+@@ -440,6 +440,12 @@
+ case SND_SOC_DAIFMT_NB_NF:
+ SSPSP_P(port) |= SSPSP_SFRMP | SSPSP_FSRT;
+ break;
++ case SND_SOC_DAIFMT_NB_IF:
++ SSPSP_P(port) |= SSPSP_FSRT;
++ break;
++ case SND_SOC_DAIFMT_IB_NF:
++ SSPSP_P(port) |= SSPSP_SFRMP;
++ break;
+ case SND_SOC_DAIFMT_IB_IF:
+ break;
+ default:
+Index: linux-2.6.21/sound/soc/pxa/pxa2xx-pcm.c
+===================================================================
+--- linux-2.6.21.orig/sound/soc/pxa/pxa2xx-pcm.c 2007-08-02 22:57:48.000000000 -0300
++++ linux-2.6.21/sound/soc/pxa/pxa2xx-pcm.c 2007-08-04 22:46:02.000000000 -0300
+@@ -61,8 +61,9 @@
+
+ dcsr = DCSR(dma_ch);
+ DCSR(dma_ch) = dcsr & ~DCSR_STOPIRQEN;
+-
++ printk("dma irq dcsr=%08x ", dcsr);
+ if (dcsr & DCSR_ENDINTR) {
++ printk("endintr\n");
+ snd_pcm_period_elapsed(substream);
+ } else {
+ printk( KERN_ERR "%s: DMA error on channel %d (DCSR=%#x)\n",
+@@ -106,7 +107,8 @@
+ return ret;
+ prtd->dma_ch = ret;
+ }
+-
++ printk("requested dma channel %d\n", ret);
++
+ snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer);
+ runtime->dma_bytes = totsize;
+
+@@ -153,11 +155,13 @@
+ static int pxa2xx_pcm_prepare(struct snd_pcm_substream *substream)
+ {
+ struct pxa2xx_runtime_data *prtd = substream->runtime->private_data;
+-
++ printk("pcm_prepare channel %d\n", prtd->dma_ch);
+ DCSR(prtd->dma_ch) &= ~DCSR_RUN;
+ DCSR(prtd->dma_ch) = 0;
+ DCMD(prtd->dma_ch) = 0;
+- *prtd->params->drcmr = prtd->dma_ch | DRCMR_MAPVLD;
++
++ if (prtd->params)
++ *prtd->params->drcmr = prtd->dma_ch | DRCMR_MAPVLD;
+
+ return 0;
+ }
+@@ -190,7 +194,7 @@
+ default:
+ ret = -EINVAL;
+ }
+-
++ printk("pcm_trigger ret%d, cmd%d\n", ret, cmd);
+ return ret;
+ }
+
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-backlight.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-backlight.patch
index 7054ef549b..c0284e3a1f 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-backlight.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-backlight.patch
@@ -5,8 +5,8 @@
Index: linux-2.6.21/drivers/video/backlight/Kconfig
===================================================================
---- linux-2.6.21.orig/drivers/video/backlight/Kconfig 2007-06-02 20:03:06.000000000 -0300
-+++ linux-2.6.21/drivers/video/backlight/Kconfig 2007-06-02 20:26:49.000000000 -0300
+--- linux-2.6.21.orig/drivers/video/backlight/Kconfig 2007-08-01 19:38:48.000000000 -0300
++++ linux-2.6.21/drivers/video/backlight/Kconfig 2007-08-01 20:00:56.000000000 -0300
@@ -63,3 +63,12 @@
help
If you have a Frontpath ProGear say Y to enable the
@@ -22,8 +22,8 @@ Index: linux-2.6.21/drivers/video/backlight/Kconfig
+
Index: linux-2.6.21/drivers/video/backlight/Makefile
===================================================================
---- linux-2.6.21.orig/drivers/video/backlight/Makefile 2007-06-02 20:03:06.000000000 -0300
-+++ linux-2.6.21/drivers/video/backlight/Makefile 2007-06-02 20:26:49.000000000 -0300
+--- linux-2.6.21.orig/drivers/video/backlight/Makefile 2007-08-01 19:38:48.000000000 -0300
++++ linux-2.6.21/drivers/video/backlight/Makefile 2007-08-01 20:00:56.000000000 -0300
@@ -6,3 +6,4 @@
obj-$(CONFIG_BACKLIGHT_HP680) += hp680_bl.o
obj-$(CONFIG_BACKLIGHT_LOCOMO) += locomolcd.o
@@ -32,7 +32,7 @@ Index: linux-2.6.21/drivers/video/backlight/Makefile
Index: linux-2.6.21/drivers/video/backlight/ezx_bl.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/drivers/video/backlight/ezx_bl.c 2007-06-02 20:26:49.000000000 -0300
++++ linux-2.6.21/drivers/video/backlight/ezx_bl.c 2007-08-01 20:00:56.000000000 -0300
@@ -0,0 +1,142 @@
+/*
+ * Backlight Driver for Motorola A780 and E680(i) GSM Phones.
@@ -178,9 +178,9 @@ Index: linux-2.6.21/drivers/video/backlight/ezx_bl.c
+MODULE_LICENSE("GPL");
Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-02 20:19:44.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-02 20:26:49.000000000 -0300
-@@ -67,6 +67,12 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-08-01 19:39:02.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-08-01 20:00:56.000000000 -0300
+@@ -65,6 +65,12 @@
#endif
EXPORT_SYMBOL(ezx_backlight_power);
@@ -190,13 +190,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
+ .id = -1,
+};
+
- /* SSP */
- struct platform_device ezxssp_device = {
- .name = "ezx-ssp",
-@@ -179,6 +185,7 @@
+ /* OHCI Controller */
+ static int ezx_ohci_init(struct device *dev)
+ {
+@@ -121,6 +127,7 @@
+
+ static struct platform_device *devices[] __initdata = {
&ezxbp_device,
- &ezxpcap_device,
- &ezxemu_device,
+ &ezxbacklight_device,
};
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-bp.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-bp.patch
index a0b3b61b12..b0ccf4835e 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-bp.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-bp.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-02 14:46:25.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-02 20:03:12.000000000 -0300
-@@ -100,9 +100,41 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-28 19:44:46.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-28 19:44:52.000000000 -0300
+@@ -86,8 +86,40 @@
.init = ezx_ohci_init,
};
@@ -39,15 +39,14 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
+
static struct platform_device *devices[] __initdata = {
- &ezxssp_device,
+ &ezxbp_device,
};
static int __init ezx_init(void)
Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-02 14:48:52.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-02 20:03:11.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-28 19:44:29.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-28 19:44:52.000000000 -0300
@@ -102,6 +102,9 @@
endchoice
@@ -61,7 +60,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c 2007-06-02 18:26:22.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c 2007-06-28 19:44:52.000000000 -0300
@@ -0,0 +1,249 @@
+/*
+ * BP handshake code for Motorola EZX phones
@@ -314,8 +313,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-bp.c
+
Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-02 14:49:50.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-02 20:03:11.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-28 19:44:29.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-28 19:44:52.000000000 -0300
@@ -24,6 +24,7 @@
obj-$(CONFIG_PXA_EZX_E2) += ezx-e2.o
obj-$(CONFIG_PXA_EZX_A1200) += ezx-a1200.o
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch
index c0e9435723..653e814fb4 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-core.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/boot/compressed/head-xscale.S
===================================================================
---- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-06-02 14:46:22.000000000 -0300
-+++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-06-02 14:46:25.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/boot/compressed/head-xscale.S 2007-06-28 16:51:44.000000000 -0300
++++ linux-2.6.21/arch/arm/boot/compressed/head-xscale.S 2007-06-28 16:51:50.000000000 -0300
@@ -53,3 +53,6 @@
str r1, [r0, #0x18]
#endif
@@ -11,8 +11,8 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head-xscale.S
+#endif
Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-02 14:46:22.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-02 14:48:52.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-28 16:51:44.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-28 20:54:54.000000000 -0300
@@ -37,6 +37,10 @@
bool "Keith und Koep Trizeps4 DIMM-Module"
select PXA27x
@@ -68,13 +68,13 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
endif
Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-02 14:46:22.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-02 14:49:50.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-28 16:51:44.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-28 20:54:54.000000000 -0300
@@ -18,6 +18,12 @@
obj-$(CONFIG_MACH_AKITA) += akita-ioexp.o
obj-$(CONFIG_MACH_POODLE) += poodle.o corgi_ssp.o
obj-$(CONFIG_MACH_TOSA) += tosa.o
-+obj-$(CONFIG_PXA_EZX) += ezx.o ezx_ssp.o
++obj-$(CONFIG_PXA_EZX) += ezx.o
+obj-$(CONFIG_PXA_EZX_A780) += ezx-a780.o
+obj-$(CONFIG_PXA_EZX_E680) += ezx-e680.o
+obj-$(CONFIG_PXA_EZX_E2) += ezx-e2.o
@@ -86,8 +86,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-02 14:46:25.000000000 -0300
-@@ -0,0 +1,135 @@
++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-28 20:54:54.000000000 -0300
+@@ -0,0 +1,118 @@
+/*
+ * ezx.c - Common code for EZX platform.
+ *
@@ -108,11 +108,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
+#include <asm/arch/pxafb.h>
+#include <asm/arch/pxa-regs.h>
+#include <asm/arch/ohci.h>
++#include <asm/arch/ezx.h>
+
+#include "generic.h"
-+#include "ezx.h"
-+
-+extern int ezx_ssp_set_machinfo(struct ezxssp_machinfo *);
+
+/* EZX PXA Framebuffer */
+void ezx_lcd_power(int on, struct fb_var_screeninfo *var)
@@ -156,18 +154,6 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
+#endif
+EXPORT_SYMBOL(ezx_backlight_power);
+
-+/* SSP */
-+struct platform_device ezxssp_device = {
-+ .name = "ezx-ssp",
-+ .id = -1,
-+};
-+
-+struct ezxssp_machinfo ezx_ssp_machinfo = {
-+ .port = 1,
-+ .cs_pcap = GPIO_SPI_CE,
-+ .clk_pcap = 1,
-+};
-+
+/* OHCI Controller */
+static int ezx_ohci_init(struct device *dev)
+{
@@ -192,15 +178,12 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
+
+
+static struct platform_device *devices[] __initdata = {
-+ &ezxssp_device,
+};
+
+static int __init ezx_init(void)
+{
+ CKEN = CKEN9_OSTIMER | CKEN22_MEMC;
+
-+ ezx_ssp_set_machinfo(&ezx_ssp_machinfo);
-+
+ pxa_gpio_mode(GPIO_ICL_FFRXD_MD);
+ pxa_gpio_mode(GPIO_ICL_FFTXD_MD);
+ pxa_gpio_mode(GPIO_ICL_FFCTS_MD);
@@ -226,7 +209,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-06-02 14:46:25.000000000 -0300
++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx.h 2007-06-28 16:51:50.000000000 -0300
@@ -0,0 +1,225 @@
+/*
+ * linux/include/asm-arm/arch-pxa/ezx.h
@@ -455,8 +438,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx.h
+
Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
===================================================================
---- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-06-02 14:46:22.000000000 -0300
-+++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-06-02 14:46:25.000000000 -0300
+--- linux-2.6.21.orig/include/asm-arm/arch-pxa/pxa-regs.h 2007-06-28 16:51:44.000000000 -0300
++++ linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h 2007-06-28 18:18:49.000000000 -0300
@@ -849,6 +849,8 @@
#define UP2OCR_HXOE (1 << 17) /* Host Port 2 Transceiver Output Enable */
#define UP2OCR_SEOS (1 << 24) /* Single-Ended Output Select */
@@ -572,8 +555,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/pxa-regs.h
#define PGSR2 __REG(0x40F00028) /* Power Manager GPIO Sleep State Register for GP[84-64] */
Index: linux-2.6.21/arch/arm/boot/compressed/head.S
===================================================================
---- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-06-02 14:46:22.000000000 -0300
-+++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-06-02 14:46:25.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/boot/compressed/head.S 2007-06-28 16:51:44.000000000 -0300
++++ linux-2.6.21/arch/arm/boot/compressed/head.S 2007-06-28 16:51:50.000000000 -0300
@@ -117,6 +117,9 @@
mov r0, r0
.endr
@@ -586,8 +569,8 @@ Index: linux-2.6.21/arch/arm/boot/compressed/head.S
.word start @ absolute load/run zImage address
Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h
===================================================================
---- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-06-02 14:46:22.000000000 -0300
-+++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-06-02 14:46:25.000000000 -0300
+--- linux-2.6.21.orig/include/asm-arm/arch-pxa/uncompress.h 2007-06-28 16:51:44.000000000 -0300
++++ linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h 2007-06-28 16:51:50.000000000 -0300
@@ -14,14 +14,14 @@
#define STUART ((volatile unsigned long *)0x40700000)
#define HWUART ((volatile unsigned long *)0x41600000)
@@ -606,155 +589,10 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/uncompress.h
}
/*
-Index: linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx_ssp.c 2007-06-02 14:46:25.000000000 -0300
-@@ -0,0 +1,126 @@
-+/*
-+ * SSP control code for Motorola EZX phones
-+ *
-+ * Copyright (c) 2007 Daniel Ribeiro <drwyrm@gmail.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/kernel.h>
-+#include <linux/sched.h>
-+#include <linux/slab.h>
-+#include <linux/delay.h>
-+#include <linux/platform_device.h>
-+#include <asm/hardware.h>
-+#include <asm/mach-types.h>
-+
-+#include <asm/arch/ssp.h>
-+#include <asm/arch/pxa-regs.h>
-+
-+#include "ezx.h"
-+
-+static DEFINE_SPINLOCK(ezx_ssp_lock);
-+static struct ssp_dev ezx_ssp_dev;
-+static struct ssp_state ezx_ssp_state;
-+static struct ezxssp_machinfo *ssp_machinfo;
-+
-+/* PCAP */
-+unsigned long ezx_ssp_pcap_putget(ulong data)
-+{
-+ unsigned long flag;
-+ u32 ret = 0;
-+
-+ spin_lock_irqsave(&ezx_ssp_lock, flag);
-+ if (ssp_machinfo->cs_pcap >= 0)
-+ GPCR(ssp_machinfo->cs_pcap) = GPIO_bit(ssp_machinfo->cs_pcap);
-+
-+ ssp_write_word(&ezx_ssp_dev,data);
-+ ssp_read_word(&ezx_ssp_dev, &ret);
-+
-+ if (ssp_machinfo->cs_pcap >= 0)
-+ GPSR(ssp_machinfo->cs_pcap) = GPIO_bit(ssp_machinfo->cs_pcap);
-+ spin_unlock_irqrestore(&ezx_ssp_lock, flag);
-+
-+ return ret;
-+}
-+EXPORT_SYMBOL(ezx_ssp_pcap_putget);
-+
-+void __init ezx_ssp_set_machinfo(struct ezxssp_machinfo *machinfo)
-+{
-+ ssp_machinfo = machinfo;
-+}
-+
-+static int __init ezx_ssp_probe(struct platform_device *dev)
-+{
-+ int ret;
-+ /* PCAP init */
-+ pxa_gpio_mode(29|GPIO_ALT_FN_3_OUT);
-+ pxa_gpio_mode(GPIO24_SFRM_MD);
-+ pxa_gpio_mode(GPIO25_STXD_MD);
-+ pxa_gpio_mode(GPIO26_SRXD_MD);
-+
-+ /* Chip Select - Disable All */
-+ if (ssp_machinfo->cs_pcap >= 0)
-+ pxa_gpio_mode(ssp_machinfo->cs_pcap | GPIO_OUT | GPIO_DFLT_HIGH);
-+
-+ ret = ssp_init(&ezx_ssp_dev, ssp_machinfo->port, 0);
-+
-+ if (ret)
-+ printk(KERN_ERR "Unable to register SSP handler!\n");
-+ else {
-+ ssp_disable(&ezx_ssp_dev);
-+ ssp_config(&ezx_ssp_dev,
-+ (SSCR0_Motorola | SSCR0_DataSize(16) | SSCR0_EDSS),
-+ (SSCR1_TxTresh(1) | SSCR1_RxTresh(1)),
-+ 0, SSCR0_SerClkDiv(ssp_machinfo->clk_pcap));
-+ ssp_enable(&ezx_ssp_dev);
-+ }
-+
-+ return ret;
-+}
-+
-+static int ezx_ssp_remove(struct platform_device *dev)
-+{
-+ ssp_exit(&ezx_ssp_dev);
-+ return 0;
-+}
-+
-+static int ezx_ssp_suspend(struct platform_device *dev, pm_message_t state)
-+{
-+ ssp_flush(&ezx_ssp_dev);
-+ ssp_save_state(&ezx_ssp_dev,&ezx_ssp_state);
-+
-+ return 0;
-+}
-+
-+static int ezx_ssp_resume(struct platform_device *dev)
-+{
-+ if (ssp_machinfo->cs_pcap >= 0)
-+ GPSR(ssp_machinfo->cs_pcap) = GPIO_bit(ssp_machinfo->cs_pcap);
-+ ssp_restore_state(&ezx_ssp_dev,&ezx_ssp_state);
-+ ssp_enable(&ezx_ssp_dev);
-+
-+ return 0;
-+}
-+
-+static struct platform_driver ezxssp_driver = {
-+ .probe = ezx_ssp_probe,
-+ .remove = ezx_ssp_remove,
-+ .suspend = ezx_ssp_suspend,
-+ .resume = ezx_ssp_resume,
-+ .driver = {
-+ .name = "ezx-ssp",
-+ },
-+};
-+
-+int __init ezx_ssp_init(void)
-+{
-+ return platform_driver_register(&ezxssp_driver);
-+}
-+
-+arch_initcall(ezx_ssp_init);
-Index: linux-2.6.21/arch/arm/mach-pxa/ezx.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx.h 2007-06-02 14:46:25.000000000 -0300
-@@ -0,0 +1,9 @@
-+#include <asm/arch/ezx.h>
-+
-+/* SSP */
-+struct ezxssp_machinfo {
-+ int port;
-+ int cs_pcap;
-+ int clk_pcap;
-+};
-+
Index: linux-2.6.21/arch/arm/mm/init.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mm/init.c 2007-06-02 14:46:22.000000000 -0300
-+++ linux-2.6.21/arch/arm/mm/init.c 2007-06-02 14:46:25.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mm/init.c 2007-06-28 16:51:44.000000000 -0300
++++ linux-2.6.21/arch/arm/mm/init.c 2007-06-28 16:51:50.000000000 -0300
@@ -241,6 +241,10 @@
*/
reserve_bootmem_node(pgdat, boot_pfn << PAGE_SHIFT,
@@ -769,7 +607,7 @@ Index: linux-2.6.21/arch/arm/mm/init.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-02 14:46:25.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c 2007-06-28 20:53:01.000000000 -0300
@@ -0,0 +1,88 @@
+/*
+ * ezx-a780.c - Code specific to A780 GSM Phone.
@@ -792,9 +630,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
+#include <asm/mach/arch.h>
+#include <asm/arch/pxa-regs.h>
+#include <asm/arch/pxafb.h>
++#include <asm/arch/ezx.h>
+
+#include "generic.h"
-+#include "ezx.h"
+
+extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
+extern void ezx_backlight_power(int);
@@ -862,7 +700,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a780.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c 2007-06-02 14:46:25.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c 2007-06-28 20:54:24.000000000 -0300
@@ -0,0 +1,70 @@
+/*
+ * ezx-e2.c - Code specific to E2 GSM Phone.
@@ -884,9 +722,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c
+#include <asm/mach/arch.h>
+#include <asm/arch/pxa-regs.h>
+#include <asm/arch/pxafb.h>
++#include <asm/arch/ezx.h>
+
+#include "generic.h"
-+#include "ezx.h"
+
+extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
+extern void ezx_backlight_power(int);
@@ -937,7 +775,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e2.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-02 14:46:25.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c 2007-06-28 20:53:29.000000000 -0300
@@ -0,0 +1,87 @@
+/*
+ * ezx-e680.c - Code specific to E680 GSM Phone.
@@ -959,9 +797,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
+#include <asm/mach/arch.h>
+#include <asm/arch/pxa-regs.h>
+#include <asm/arch/pxafb.h>
++#include <asm/arch/ezx.h>
+
+#include "generic.h"
-+#include "ezx.h"
+
+extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
+extern void ezx_backlight_power(int);
@@ -1029,7 +867,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e680.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-02 14:46:25.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c 2007-06-28 20:53:48.000000000 -0300
@@ -0,0 +1,70 @@
+/*
+ * ezx-a1200.c - Code specific to A1200 GSM Phone.
@@ -1051,9 +889,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
+#include <asm/mach/arch.h>
+#include <asm/arch/pxa-regs.h>
+#include <asm/arch/pxafb.h>
++#include <asm/arch/ezx.h>
+
+#include "generic.h"
-+#include "ezx.h"
+
+extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
+extern void ezx_backlight_power(int);
@@ -1104,7 +942,7 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-a1200.c
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-06-02 14:48:08.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c 2007-06-28 20:54:07.000000000 -0300
@@ -0,0 +1,70 @@
+/*
+ * ezx-e6.c - Code specific to E6 GSM Phone.
@@ -1126,9 +964,9 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-e6.c
+#include <asm/mach/arch.h>
+#include <asm/arch/pxa-regs.h>
+#include <asm/arch/pxafb.h>
++#include <asm/arch/ezx.h>
+
+#include "generic.h"
-+#include "ezx.h"
+
+extern void ezx_lcd_power(int, struct fb_var_screeninfo *);
+extern void ezx_backlight_power(int);
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-emu.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-emu.patch
index 94581d4531..a86be24b30 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-emu.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-emu.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c 2007-06-02 20:32:34.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c 2007-08-01 19:45:27.000000000 -0300
@@ -0,0 +1,215 @@
+/*
+ * EMU Driver for Motorola EZX phones
@@ -220,19 +220,11 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-emu.c
+MODULE_LICENSE("GPL");
Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-02 20:32:32.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-02 20:32:34.000000000 -0300
-@@ -73,6 +73,7 @@
-
- endchoice
-
-+
- endif
-
- if PXA_EZX
-@@ -117,6 +118,28 @@
- config EZX_MCI_TF
- bool
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-08-01 19:39:02.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-08-01 19:45:27.000000000 -0300
+@@ -108,6 +108,28 @@
+ config EZX_PCAP
+ bool "PCAP Support"
+config EZX_EMU
+ bool "Motorola Enchanced Mini Usb"
@@ -259,50 +251,10 @@ Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
endif
endmenu
-Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
-===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-02 20:32:28.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-02 20:32:34.000000000 -0300
-@@ -150,11 +150,35 @@
- .resource = ezxpcap_resources,
- };
-
-+/* EMU */
-+static struct resource ezxemu_resources[] = {
-+ [0] = {
-+ .start = EZX_IRQ_USB4V,
-+ .end = EZX_IRQ_USB4V,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+ [1] = {
-+ .start = EZX_IRQ_USB1V,
-+ .end = EZX_IRQ_USB1V,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+struct platform_device ezxemu_device = {
-+ .name = "ezx-emu",
-+ .id = -1,
-+ .dev = {
-+ .parent = &ezxpcap_device.dev,
-+ },
-+ .num_resources = ARRAY_SIZE(ezxemu_resources),
-+ .resource = ezxemu_resources,
-+};
-
- static struct platform_device *devices[] __initdata = {
- &ezxssp_device,
- &ezxbp_device,
- &ezxpcap_device,
-+ &ezxemu_device,
- };
-
- /* PM */
Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-02 20:32:28.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-02 20:32:34.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-08-01 19:39:02.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-08-01 19:45:27.000000000 -0300
@@ -26,6 +26,7 @@
obj-$(CONFIG_PXA_EZX_E6) += ezx-e6.o
obj-$(CONFIG_EZX_BP) += ezx-bp.o
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-pcap.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-pcap.patch
index 6af6317a6e..91d33d6500 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-pcap.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-pcap.patch
@@ -1,8 +1,8 @@
Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c 2007-06-07 21:39:37.000000000 -0300
-@@ -0,0 +1,472 @@
++++ linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c 2007-08-01 20:14:17.000000000 -0300
+@@ -0,0 +1,498 @@
+/* Driver for Motorola PCAP2 as present in EZX phones
+ *
+ * This is both a SPI device driver for PCAP itself, as well as
@@ -24,21 +24,51 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c
+#include <asm/hardware.h>
+#include <asm/mach-types.h>
+
++#include <asm/arch/ezx.h>
+#include <asm/arch/ssp.h>
+#include <asm/arch/pxa-regs.h>
+#include <asm/arch/ezx-pcap.h>
+#include <asm/arch/irqs.h>
+#include <asm/mach/irq.h>
+
-+#include "ezx.h"
-+
+#if 0
+#define DEBUGP(x, args...) printk(x, ## args)
+#else
+#define DEBUGP(x, args...)
+#endif
+
-+extern unsigned long ezx_ssp_pcap_putget(ulong);
++static DEFINE_SPINLOCK(ezx_ssp_lock);
++static struct ssp_dev ezx_ssp_dev;
++static struct ssp_state ezx_ssp_state;
++static struct pcap_platform_data *pcap_data;
++
++static unsigned long ezx_ssp_pcap_putget(ulong data)
++{
++ unsigned long flag;
++ u32 ret = 0;
++
++ spin_lock_irqsave(&ezx_ssp_lock, flag);
++ if (pcap_data->cs >= 0) {
++ if (pcap_data->flags & PCAP_CS_AH)
++ GPSR(pcap_data->cs) = GPIO_bit(pcap_data->cs);
++ else
++ GPCR(pcap_data->cs) = GPIO_bit(pcap_data->cs);
++ }
++
++ ssp_write_word(&ezx_ssp_dev,data);
++ ssp_read_word(&ezx_ssp_dev, &ret);
++
++ if (pcap_data->cs >= 0) {
++ if(pcap_data->flags & PCAP_CS_AH)
++ GPCR(pcap_data->cs) = GPIO_bit(pcap_data->cs);
++ else
++ GPSR(pcap_data->cs) = GPIO_bit(pcap_data->cs);
++ }
++
++ spin_unlock_irqrestore(&ezx_ssp_lock, flag);
++
++ return ret;
++}
+
+int ezx_pcap_write(u_int8_t reg_num, u_int32_t value)
+{
@@ -160,72 +190,20 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c
+}
+EXPORT_SYMBOL_GPL(ezx_pcap_vibrator_level);
+
-+static int __init pcap_init(void)
-+{
-+ /* initialize registers */
-+#warning FIXME: pcap_init still chip level
-+ /* implement a per board pcap init reg array? */
-+
-+ ezx_pcap_write(SSP_PCAP_ADJ_MSR_REGISTER, PCAP_MASK_ALL_INTERRUPT);
-+ ezx_pcap_write(SSP_PCAP_ADJ_ISR_REGISTER, PCAP_CLEAR_INTERRUPT_REGISTER);
-+
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUD_RX_AMPS_A1CTRL, 1);
-+// ezx_pcap_vibrator_level(PCAP_VIBRATOR_VOLTAGE_LEVEL3);
-+
-+ /* set SW1 sleep to keep SW1 1.3v in sync mode */
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE10, 0);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE11, 0);
-+ /* SW1 active in sync mode */
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE00, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW1_MODE01, 0);
-+ /* at SW1 -core voltage to 1.30V */
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW10_DVS, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW11_DVS, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW12_DVS, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_SW13_DVS, 0);
-+
-+ /* when STANDY2 PIN ACTIVE (high) set V3-- sram V8 -- pll off */
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V3_STBY, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V3_LOWPWR, 0);
-+
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V8_STBY, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V8_LOWPWR, 0);
-+
-+ /* when STANDY2 PIN ACTIVE (high) set V4-- lcd only for e680 V6 ---
-+ * camera for e680 */
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V4_STBY, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V4_LOWPWR, 1);
-+
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V6_STBY, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_VREG2_V6_LOWPWR, 0);
-+
-+ /* set Vc to low power mode when AP sleep */
-+ //SSP_PCAP_bit_set( SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VC_STBY);
-+
-+ /* set VAUX2 to voltage 2.775V and low power mode when AP sleep */
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_1, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_0, 0);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX2_STBY, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_LOWPWR_CTRL_VAUX2_LOWPWR, 1);
-+ ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_EN, 1);
-+
-+// PGSR(GPIO34_TXENB) |= GPIO_bit(GPIO34_TXENB);
-+
-+ return 0;
-+}
+/* MMC/SD specific functions */
+
+void ezx_pcap_mmcsd_voltage(u_int32_t bits)
+{
+ unsigned int tmp;
+ ezx_pcap_read(SSP_PCAP_ADJ_AUX_VREG_REGISTER, &tmp);
-+#if defined(CONFIG_EZX_MCI_SD)
-+ tmp &= 0xffffff9f; /* zero all vaux2 bits */
-+ tmp |= (bits & 0x3) << 5;
-+#elif defined(CONFIG_EZX_MCI_TF)
-+ tmp &= 0xfffff0ff; /* zero all vaux3 bits */
-+ tmp |= (bits & 0xf) << 8;
-+#endif
++ if (pcap_data->flags & PCAP_MCI_SD) {
++ tmp &= 0xffffff9f; /* zero all vaux2 bits */
++ tmp |= (bits & 0x3) << 5;
++ }
++ else if (pcap_data->flags & PCAP_MCI_TF) {
++ tmp &= 0xfffff0ff; /* zero all vaux3 bits */
++ tmp |= (bits & 0xf) << 8;
++ }
+ ezx_pcap_write(SSP_PCAP_ADJ_AUX_VREG_REGISTER, tmp);
+}
+EXPORT_SYMBOL(ezx_pcap_mmcsd_voltage);
@@ -234,11 +212,12 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c
+{
+ if (on > 0) on = 1;
+ else on = 0;
-+#if defined(CONFIG_EZX_MCI_SD)
-+ return ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_EN, on);
-+#elif defined(CONFIG_EZX_MCI_TF)
-+ return ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX3_EN, on);
-+#endif
++ if (pcap_data->flags & PCAP_MCI_SD)
++ return ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX2_EN, on);
++ else if (pcap_data->flags & PCAP_MCI_TF)
++ return ezx_pcap_bit_set(SSP_PCAP_ADJ_BIT_AUX_VREG_VAUX3_EN, on);
++ else
++ return -ENODEV;
+}
+EXPORT_SYMBOL_GPL(ezx_pcap_mmcsd_power);
+
@@ -397,18 +376,54 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c
+ set_irq_flags(irq, 0);
+ }
+
++ ssp_exit(&ezx_ssp_dev);
++
+ return 0;
+}
+
+static int __init ezx_pcap_probe(struct platform_device *pdev)
+{
-+ unsigned int irq;
++ unsigned int ret, irq;
+ DEBUGP("ezx_pcap_probe entered\n");
+
-+ pcap_init();
++ pcap_data = pdev->dev.platform_data;
++
++ /* configure ssp port */
++ pxa_gpio_mode(29|GPIO_ALT_FN_3_OUT);
++ pxa_gpio_mode(GPIO24_SFRM_MD);
++ pxa_gpio_mode(GPIO25_STXD_MD);
++ pxa_gpio_mode(GPIO26_SRXD_MD);
++
++ if (pcap_data->cs >= 0) {
++ if (pcap_data->flags & PCAP_CS_AH)
++ pxa_gpio_mode(pcap_data->cs | GPIO_OUT);
++ else
++ pxa_gpio_mode(pcap_data->cs | GPIO_OUT
++ | GPIO_DFLT_HIGH);
++ }
++
++ ret = ssp_init(&ezx_ssp_dev, pcap_data->port, 0);
++ if (ret) {
++ printk(KERN_ERR "Unable to register SSP handler!\n");
++ return ret;
++ }
++
++ ssp_disable(&ezx_ssp_dev);
++ ssp_config(&ezx_ssp_dev,
++ (SSCR0_Motorola | SSCR0_DataSize(16) | SSCR0_EDSS),
++ (SSCR1_TxTresh(1) | SSCR1_RxTresh(1)),
++ 0, SSCR0_SerClkDiv(pcap_data->clk));
++ ssp_enable(&ezx_ssp_dev);
++
++ /* mask/ack all PCAP interrupts */
++ ezx_pcap_write(SSP_PCAP_ADJ_MSR_REGISTER, PCAP_MASK_ALL_INTERRUPT);
++ ezx_pcap_write(SSP_PCAP_ADJ_ISR_REGISTER, PCAP_CLEAR_INTERRUPT_REGISTER);
++
++ if (pcap_data->init)
++ pcap_data->init();
+
-+ set_irq_type(IRQ_GPIO1, IRQT_RISING);
+ /* set up interrupt demultiplexing code for PCAP2 irqs */
++ set_irq_type(IRQ_GPIO1, IRQT_RISING);
+ for (irq = EZX_IRQ(0); irq <= EZX_IRQ(6); irq++) {
+ set_irq_chip(irq, &pcap_chip);
+ set_irq_handler(irq, handle_edge_irq);
@@ -417,19 +432,30 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c
+ set_irq_chained_handler(IRQ_GPIO1, pcap_irq_demux_handler);
+
+ printk("ezx-pcap: ssp driver registered\n");
-+
-+ return 0;
++ return ret;
+}
+
+static int ezx_pcap_suspend(struct platform_device *dev, pm_message_t state)
+{
+ DEBUGP("pcap suspend!\n");
++ ssp_flush(&ezx_ssp_dev);
++ ssp_save_state(&ezx_ssp_dev, &ezx_ssp_state);
+ return 0;
+}
+
+static int ezx_pcap_resume(struct platform_device *dev)
+{
+ DEBUGP("pcap resume!\n");
++
++ if (pcap_data->cs >= 0) {
++ if (pcap_data->flags & PCAP_CS_AH)
++ GPCR(pcap_data->cs) = GPIO_bit(pcap_data->cs);
++ else
++ GPSR(pcap_data->cs) = GPIO_bit(pcap_data->cs);
++ }
++ ssp_restore_state(&ezx_ssp_dev,&ezx_ssp_state);
++ ssp_enable(&ezx_ssp_dev);
++
+ /* ack all irqs */
+ ezx_pcap_write(SSP_PCAP_ADJ_ISR_REGISTER, PCAP_CLEAR_INTERRUPT_REGISTER);
+ return 0;
@@ -478,8 +504,21 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx-pcap.c
Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h 2007-06-03 11:14:40.000000000 -0300
-@@ -0,0 +1,665 @@
++++ linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h 2007-06-29 01:07:18.000000000 -0300
+@@ -0,0 +1,678 @@
++struct pcap_platform_data {
++ int port;
++ int cs;
++ int clk;
++ int flags;
++ int (*init)(void);
++};
++
++#define PCAP_CS_AH 0x1
++#define PCAP_MCI_SD 0x2
++#define PCAP_MCI_TF 0x4
++
++
+/* (c) Copyright Motorola Beijing 2002 all rights reserved.
+
+ Project Name : EZX
@@ -1147,8 +1186,8 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/ezx-pcap.h
+#endif
Index: linux-2.6.21/include/asm-arm/arch-pxa/irqs.h
===================================================================
---- linux-2.6.21.orig/include/asm-arm/arch-pxa/irqs.h 2007-06-03 02:17:12.000000000 -0300
-+++ linux-2.6.21/include/asm-arm/arch-pxa/irqs.h 2007-06-03 11:14:40.000000000 -0300
+--- linux-2.6.21.orig/include/asm-arm/arch-pxa/irqs.h 2007-06-29 01:06:37.000000000 -0300
++++ linux-2.6.21/include/asm-arm/arch-pxa/irqs.h 2007-06-29 01:07:18.000000000 -0300
@@ -176,7 +176,8 @@
#define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1)
#elif defined(CONFIG_ARCH_LUBBOCK) || \
@@ -1173,65 +1212,24 @@ Index: linux-2.6.21/include/asm-arm/arch-pxa/irqs.h
+#define EZX_IRQ_ADCDONE EZX_IRQ(4)
+#define EZX_IRQ_TS EZX_IRQ(5) /* TS touch */
+#define EZX_IRQ_ADCDONE2 EZX_IRQ(6) /* TS x/y ADC ready */
-Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
-===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-03 11:14:40.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-09 14:57:44.000000000 -0300
-@@ -131,11 +131,30 @@
- .resource = ezxbp_resources,
- };
-
-+/* PCAP */
-+static struct resource ezxpcap_resources[] = {
-+ [0] = {
-+ .start = IRQ_GPIO1,
-+ .end = IRQ_GPIO1,
-+ .flags = IORESOURCE_IRQ,
-+ },
-+};
-+
-+struct platform_device ezxpcap_device = {
-+ .name = "ezx-pcap",
-+ .id = -1,
-+ .dev = {
-+ .parent = &ezxssp_device.dev,
-+ },
-+ .num_resources = ARRAY_SIZE(ezxpcap_resources),
-+ .resource = ezxpcap_resources,
-+};
-
-
- static struct platform_device *devices[] __initdata = {
- &ezxssp_device,
- &ezxbp_device,
-+ &ezxpcap_device,
- };
-
- /* PM */
Index: linux-2.6.21/arch/arm/mach-pxa/Kconfig
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-03 11:14:40.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-06-09 14:57:46.000000000 -0300
-@@ -105,6 +105,15 @@
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Kconfig 2007-06-29 01:07:18.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Kconfig 2007-08-01 20:14:28.000000000 -0300
+@@ -105,6 +105,9 @@
config EZX_BP
bool "BP Control code for EZX Platform"
+config EZX_PCAP
+ bool "PCAP Support"
+
-+config EZX_MCI_SD
-+ bool
-+
-+config EZX_MCI_TF
-+ bool
-+
endif
endmenu
Index: linux-2.6.21/arch/arm/mach-pxa/Makefile
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-03 11:14:40.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-06-09 14:57:44.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/Makefile 2007-06-29 01:07:18.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/Makefile 2007-08-01 20:14:28.000000000 -0300
@@ -25,6 +25,7 @@
obj-$(CONFIG_PXA_EZX_A1200) += ezx-a1200.o
obj-$(CONFIG_PXA_EZX_E6) += ezx-e6.o
diff --git a/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch b/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch
index 85b6f5c15d..ff3413f062 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch
+++ b/packages/linux/linux-ezx-2.6.21/patches/ezx-pm.patch
@@ -1,7 +1,7 @@
Index: linux-2.6.21/arch/arm/mach-pxa/pxa27x.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/pxa27x.c 2007-05-08 16:29:23.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/pxa27x.c 2007-05-08 16:29:36.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/pxa27x.c 2007-06-28 19:44:28.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/pxa27x.c 2007-06-28 19:44:58.000000000 -0300
@@ -22,6 +22,10 @@
#include <asm/arch/pxa-regs.h>
#include <asm/arch/ohci.h>
@@ -29,8 +29,8 @@ Index: linux-2.6.21/arch/arm/mach-pxa/pxa27x.c
}
Index: linux-2.6.21/arch/arm/mach-pxa/pm.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/pm.c 2007-05-08 16:29:23.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/pm.c 2007-05-08 16:29:36.000000000 -0300
+--- linux-2.6.21.orig/arch/arm/mach-pxa/pm.c 2007-06-28 19:44:28.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/pm.c 2007-06-28 19:44:58.000000000 -0300
@@ -24,6 +24,10 @@
#include <asm/arch/lubbock.h>
#include <asm/mach/time.h>
@@ -58,17 +58,17 @@ Index: linux-2.6.21/arch/arm/mach-pxa/pm.c
RESTORE(GPDR0); RESTORE(GPDR1); RESTORE(GPDR2);
Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
===================================================================
---- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-05-08 16:29:36.000000000 -0300
-+++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-05-08 16:32:56.000000000 -0300
-@@ -18,6 +18,7 @@
- #include <asm/arch/pxafb.h>
+--- linux-2.6.21.orig/arch/arm/mach-pxa/ezx.c 2007-06-28 19:44:52.000000000 -0300
++++ linux-2.6.21/arch/arm/mach-pxa/ezx.c 2007-06-28 19:44:58.000000000 -0300
+@@ -19,6 +19,7 @@
#include <asm/arch/pxa-regs.h>
#include <asm/arch/ohci.h>
+ #include <asm/arch/ezx.h>
+#include <asm/arch/system.h>
#include "generic.h"
- #include "ezx.h"
-@@ -137,8 +138,69 @@
+
+@@ -122,8 +123,69 @@
&ezxbp_device,
};
@@ -137,4 +137,4 @@ Index: linux-2.6.21/arch/arm/mach-pxa/ezx.c
+
CKEN = CKEN9_OSTIMER | CKEN22_MEMC;
- ezx_ssp_set_machinfo(&ezx_ssp_machinfo);
+ pxa_gpio_mode(GPIO_ICL_FFRXD_MD);
diff --git a/packages/linux/linux-ezx-2.6.21/patches/index.html b/packages/linux/linux-ezx-2.6.21/patches/index.html
new file mode 100644
index 0000000000..4d57380e0c
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/patches/index.html
@@ -0,0 +1,60 @@
+<html><head><title>Revision 2047: /trunk/src/kernel-2.6/patches</title></head>
+<body>
+ <h2>Revision 2047: /trunk/src/kernel-2.6/patches</h2>
+ <ul>
+ <li><a href="../">..</a></li>
+ <li><a href="Makefile.OpenEZX">Makefile.OpenEZX</a></li>
+ <li><a href="a1200-mci.patch">a1200-mci.patch</a></li>
+ <li><a href="a1200-pcap.patch">a1200-pcap.patch</a></li>
+ <li><a href="a1200-ts.patch">a1200-ts.patch</a></li>
+ <li><a href="a780-emu.patch">a780-emu.patch</a></li>
+ <li><a href="a780-flip.patch">a780-flip.patch</a></li>
+ <li><a href="a780-kbd.patch">a780-kbd.patch</a></li>
+ <li><a href="a780-leds.patch">a780-leds.patch</a></li>
+ <li><a href="a780-mci.patch">a780-mci.patch</a></li>
+ <li><a href="a780-pcap.patch">a780-pcap.patch</a></li>
+ <li><a href="a780-ts.patch">a780-ts.patch</a></li>
+ <li><a href="a780-vibrator.patch">a780-vibrator.patch</a></li>
+ <li><a href="asoc-pxa-ssp.patch">asoc-pxa-ssp.patch</a></li>
+ <li><a href="defconfig-a1200">defconfig-a1200</a></li>
+ <li><a href="defconfig-a780">defconfig-a780</a></li>
+ <li><a href="defconfig-e2">defconfig-e2</a></li>
+ <li><a href="defconfig-e6">defconfig-e6</a></li>
+ <li><a href="defconfig-e680">defconfig-e680</a></li>
+ <li><a href="dmesg-a780.log">dmesg-a780.log</a></li>
+ <li><a href="e680-emu.patch">e680-emu.patch</a></li>
+ <li><a href="e680-kbd.patch">e680-kbd.patch</a></li>
+ <li><a href="e680-leds.patch">e680-leds.patch</a></li>
+ <li><a href="e680-locksw.patch">e680-locksw.patch</a></li>
+ <li><a href="e680-mci.patch">e680-mci.patch</a></li>
+ <li><a href="e680-pcap.patch">e680-pcap.patch</a></li>
+ <li><a href="e680-ts.patch">e680-ts.patch</a></li>
+ <li><a href="ezx-asoc.patch">ezx-asoc.patch</a></li>
+ <li><a href="ezx-backlight.patch">ezx-backlight.patch</a></li>
+ <li><a href="ezx-bp.patch">ezx-bp.patch</a></li>
+ <li><a href="ezx-core.patch">ezx-core.patch</a></li>
+ <li><a href="ezx-emu.patch">ezx-emu.patch</a></li>
+ <li><a href="ezx-enable-stuart.patch">ezx-enable-stuart.patch</a></li>
+ <li><a href="ezx-mtd-map.patch">ezx-mtd-map.patch</a></li>
+ <li><a href="ezx-pcap.patch">ezx-pcap.patch</a></li>
+ <li><a href="ezx-pm.patch">ezx-pm.patch</a></li>
+ <li><a href="ezx-serial-bug-workaround.patch">ezx-serial-bug-workaround.patch</a></li>
+ <li><a href="mux-fix-init-errorpath.patch">mux-fix-init-errorpath.patch</a></li>
+ <li><a href="mux-fix-makefile.patch">mux-fix-makefile.patch</a></li>
+ <li><a href="mux-fix-tty-driver.patch">mux-fix-tty-driver.patch</a></li>
+ <li><a href="mux-fix.patch">mux-fix.patch</a></li>
+ <li><a href="mux-ifdef-ezx-features.patch">mux-ifdef-ezx-features.patch</a></li>
+ <li><a href="mux-linux-2.6.21-fix.patch">mux-linux-2.6.21-fix.patch</a></li>
+ <li><a href="mux-remove-flipbuffers.patch">mux-remove-flipbuffers.patch</a></li>
+ <li><a href="mux-remove-get_halted_bit.patch">mux-remove-get_halted_bit.patch</a></li>
+ <li><a href="mux-remove-usbh_finished_resume.patch">mux-remove-usbh_finished_resume.patch</a></li>
+ <li><a href="mux_cli.patch">mux_cli.patch</a></li>
+ <li><a href="mux_debug.patch">mux_debug.patch</a></li>
+ <li><a href="patch-2.6.21.4">patch-2.6.21.4</a></li>
+ <li><a href="pcap-ts.patch">pcap-ts.patch</a></li>
+ <li><a href="pxa-kbd.patch">pxa-kbd.patch</a></li>
+ <li><a href="pxa27x-udc-support.2.patch">pxa27x-udc-support.2.patch</a></li>
+ <li><a href="series">series</a></li>
+ </ul>
+ <hr noshade><em>Powered by <a href="http://subversion.tigris.org/">Subversion</a> version 1.1.4 (r13838).</em>
+</body></html> \ No newline at end of file
diff --git a/packages/linux/linux-ezx-2.6.21/patches/series b/packages/linux/linux-ezx-2.6.21/patches/series
index 5580b74bf8..ecdc30b5fe 100755
--- a/packages/linux/linux-ezx-2.6.21/patches/series
+++ b/packages/linux/linux-ezx-2.6.21/patches/series
@@ -20,10 +20,11 @@ ezx-pm.patch
ezx-pcap.patch
# ezx-pcap TODO:
-# implement a per board init reg array
-# move mmc functions to the ezx-phone.c mmc init
# move vibrator level function to the vibrator driver
+a780-pcap.patch
+e680-pcap.patch
+a1200-pcap.patch
a780-mci.patch
e680-mci.patch
@@ -36,6 +37,9 @@ ezx-emu.patch
# userspace interface for controling emu
# read adc to find which accessory is plugged
+a780-emu.patch
+e680-emu.patch
+
ezx-mtd-map.patch
# ezx-mtd-map TODO:
# at least the original partition should go on the ezx-phone.c file
@@ -89,5 +93,5 @@ mux-linux-2.6.21-fix.patch
# pxa-ohci, ts0710_mux, ts0710_mux_usb, ezx-bp
# incomplete
-#asoc-pxa-ssp.patch
-#ezx-asoc.patch
+asoc-pxa-ssp.patch
+ezx-asoc.patch
diff --git a/packages/linux/linux-ezx-2.6.21/rokre2/.mtn2git_empty b/packages/linux/linux-ezx-2.6.21/rokre2/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/linux/linux-ezx-2.6.21/rokre2/.mtn2git_empty
diff --git a/packages/linux/linux-ezx_2.6.21.bb b/packages/linux/linux-ezx_2.6.21.bb
index 8b111a2c44..61681b4c00 100644
--- a/packages/linux/linux-ezx_2.6.21.bb
+++ b/packages/linux/linux-ezx_2.6.21.bb
@@ -3,15 +3,13 @@ SECTION = "kernel"
AUTHOR = "Harald Welte and the OpenEZX Team <openezx-devel@lists.openezx.org>"
HOMEPAGE = "http://www.openezx.org"
LICENSE = "GPL"
-DEPENDS += "quilt-native"
EZX = "ezxdev"
-PR = "${EZX}-r6"
+PR = "${EZX}-r7"
inherit kernel
-##############################################################
-# source and patches
-#
+require linux.inc
+
SRC_URI = " \
${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
file://logo_linux_clut224.ppm \
@@ -21,11 +19,16 @@ SRC_URI = " \
file://patches/ezx-bp.patch;patch=1 \
file://patches/ezx-pm.patch;patch=1 \
file://patches/ezx-pcap.patch;patch=1 \
+ file://patches/a780-pcap.patch;patch=1 \
+ file://patches/e680-pcap.patch;patch=1 \
+ file://patches/a1200-pcap.patch;patch=1 \
file://patches/a780-mci.patch;patch=1 \
file://patches/e680-mci.patch;patch=1 \
file://patches/a1200-mci.patch;patch=1 \
file://patches/pxa27x-udc-support.2.patch;patch=1 \
file://patches/ezx-emu.patch;patch=1 \
+ file://patches/a780-emu.patch;patch=1 \
+ file://patches/e680-emu.patch;patch=1 \
file://patches/ezx-mtd-map.patch;patch=1 \
file://patches/ezx-serial-bug-workaround.patch;patch=1 \
file://patches/pxa-kbd.patch;patch=1 \
@@ -50,12 +53,10 @@ SRC_URI = " \
file://patches/mux-fix-makefile.patch;patch=1 \
file://patches/mux-fix-tty-driver.patch;patch=1 \
file://patches/mux-linux-2.6.21-fix.patch;patch=1 \
- file://patches/defconfig-a1200 \
- file://patches/defconfig-a780 \
- file://patches/defconfig-e2 \
- file://patches/defconfig-e6 \
- file://patches/defconfig-e680 \
- \
+ file://patches/asoc-pxa-ssp.patch;patch=1 \
+ http://shell.studenti.unina.it/~ospite/tmp/ezx-asoc-preview.patch;patch=1 \
+ file://defconfig \
+ \
"
S = "${WORKDIR}/linux-${PV}"
@@ -89,44 +90,6 @@ CMDLINE = "${CMDLINE_CON} ${CMDLINE_ROOT} ${CMDLINE_IP} ${CMDLINE_ROTATE} ${CMDL
#module_autoload_pxaficp_ir = "pxaficp_ir"
#module_autoload_snd-pcm-oss = "snd-pcm-oss"
-do_configure() {
- install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm
-
- if [ ! -e ${WORKDIR}/patches/defconfig-${MACHINE} ]; then
- die "No default configuration for ${MACHINE} available."
- fi
-
- echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
-
- if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
- echo "CONFIG_AEABI=y" >> ${S}/.config
- echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
- else
- echo "# CONFIG_AEABI is not set" >> ${S}/.config
- echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config
- fi
-
- #
- # Logo configuration
- #
- echo "CONFIG_LOGO=y" >> ${S}/.config
- echo "CONFIG_LOGO_LINUX_CLUT224=y" >> ${S}/.config
-
-
- sed -e '/CONFIG_AEABI/d' \
- -e '/CONFIG_OABI_COMPAT=/d' \
- -e '/CONFIG_CMDLINE=/d' \
- -e '/CONFIG_MTD_MTDRAM_SA1100=/d' \
- -e '/CONFIG_MTDRAM_TOTAL_SIZE=/d' \
- -e '/CONFIG_MTDRAM_ERASE_SIZE=/d' \
- -e '/CONFIG_MTDRAM_ABS_POS=/d' \
- -e '/CONFIG_LOGO=/d' \
- -e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
- '${WORKDIR}/patches/defconfig-${MACHINE}' >>'${S}/.config'
-
- yes '' | oe_runmake oldconfig
-}
-
###############################################################
# check the kernel is below the 1024*1024 byte limit for the boot-over usb
#
@@ -139,15 +102,3 @@ do_compile_append() {
fi
}
-###############################################################
-# put into deploy directory
-#
-do_deploy() {
- install -d ${DEPLOY_DIR_IMAGE}
- install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
- tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${PV}-${PR}-${MACHINE}-${DATETIME}.tgz -C ${D} lib
-}
-
-do_deploy[dirs] = "${S}"
-
-addtask deploy before do_package after do_install
diff --git a/packages/linux/linux.inc b/packages/linux/linux.inc
index 4a09c92975..05bfc2f472 100644
--- a/packages/linux/linux.inc
+++ b/packages/linux/linux.inc
@@ -7,6 +7,8 @@ DEPENDS_kb9202 = "u-boot-mkimage-openmoko-native"
DEPENDS_at32stk1000 = "u-boot-mkimage-openmoko-native"
DEPENDS_atngw100 = "u-boot-mkimage-openmoko-native"
DEPENDS_at91sam9263ek = "u-boot-mkimage-openmoko-native"
+DEPENDS_at91sam9261ek = "u-boot-mkimage-openmoko-native"
+DEPENDS_at91sam9260ek = "u-boot-mkimage-openmoko-native"
DEPENDS_sarge-at91 = "u-boot-mkimage-openmoko-native"
DEPENDS_gumstix-connex = "u-boot-mkimage-openmoko-native"
DEPENDS_gumstix-verdex = "u-boot-mkimage-openmoko-native"
@@ -23,6 +25,12 @@ CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p1 rootfs
do_configure_prepend() {
echo "" > ${S}/.config
+ if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then
+ install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm
+ echo "CONFIG_LOGO=y" >> ${S}/.config
+ echo "CONFIG_LOGO_LINUX_CLUT224=y" >> ${S}/.config
+ fi
+
if [ "${TARGET_OS}" == "linux-gnueabi" -o "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
echo "CONFIG_AEABI=y" >> ${S}/.config
echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config
@@ -36,6 +44,8 @@ do_configure_prepend() {
sed -e '/CONFIG_AEABI/d' \
-e '/CONFIG_OABI_COMPAT=/d' \
-e '/CONFIG_CMDLINE=/d' \
+ -e '/CONFIG_LOGO=/d' \
+ -e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
< '${WORKDIR}/defconfig' >>'${S}/.config'
yes '' | oe_runmake oldconfig
@@ -61,16 +71,21 @@ do_deploy() {
tar -cvzf ${DEPLOY_DIR_IMAGE}/modules-${KERNEL_RELEASE}-${PR}-${MACHINE}.tgz -C ${D} lib
if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then
- ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
- rm -f linux.bin.gz
- gzip -9 linux.bin
- uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
- rm -f linux.bin.gz
- fi
+ if test -e arch/${ARCH}/boot/compressed/vmlinux ; then
+ ${OBJCOPY} -O binary -R .note -R .comment -S arch/${ARCH}/boot/compressed/vmlinux linux.bin
+ uboot-mkimage -A ${ARCH} -O linux -T kernel -C none -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
+ rm -f linux.bin
+ else
+ ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
+ rm -f linux.bin.gz
+ gzip -9 linux.bin
+ uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz ${DEPLOY_DIR_IMAGE}/uImage-${PV}-${PR}-${MACHINE}-${DATETIME}.bin
+ rm -f linux.bin.gz
+ fi
+ fi
}
do_deploy[dirs] = "${S}"
-addtask prepatch before do_patch after do_unpack
addtask deploy before do_package after do_install
diff --git a/packages/linux/linux_2.6.20.bb b/packages/linux/linux_2.6.20.bb
index 13b83925b5..50defd306b 100644
--- a/packages/linux/linux_2.6.20.bb
+++ b/packages/linux/linux_2.6.20.bb
@@ -1,6 +1,8 @@
require linux.inc
DEFAULT_PREFERENCE_at91sam9263ek = "20"
+DEFAULT_PREFERENCE_at91sam9261ek = "20"
+DEFAULT_PREFERENCE_at91sam9260ek = "20"
PR = "r7"
@@ -16,5 +18,13 @@ SRC_URI_append_at91sam9263ek = " \
http://maxim.org.za/AT91RM9200/2.6/${PV}-at91.patch.gz;patch=1 \
http://www.at91.com/repFichier/Project-217/linux-${PV}-at91-exp.diff.bz2;patch=1 \
"
+SRC_URI_append_at91sam9261ek = " \
+ http://maxim.org.za/AT91RM9200/2.6/${PV}-at91.patch.gz;patch=1 \
+ http://www.at91.com/repFichier/Project-217/linux-${PV}-at91-exp.diff.bz2;patch=1 \
+ "
+SRC_URI_append_at91sam9260ek = " \
+ http://maxim.org.za/AT91RM9200/2.6/${PV}-at91.patch.gz;patch=1 \
+ http://www.at91.com/repFichier/Project-217/linux-${PV}-at91-exp.diff.bz2;patch=1 \
+ "
diff --git a/packages/tasks/task-boot.bb b/packages/tasks/task-boot.bb
index fe4d43b767..40c5bd530b 100644
--- a/packages/tasks/task-boot.bb
+++ b/packages/tasks/task-boot.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Basic task to get a device booting"
-PR = "r39"
+PR = "r40"
inherit task
diff --git a/packages/tasks/task-openmoko-debug.bb b/packages/tasks/task-openmoko-debug.bb
index 6ea7ca236b..8486aa01cf 100644
--- a/packages/tasks/task-openmoko-debug.bb
+++ b/packages/tasks/task-openmoko-debug.bb
@@ -1,7 +1,7 @@
-DESCRIPTION = "OpenMoko: Debugging Tools"
+DESCRIPTION = "OpenMoko: Debugging and Benchmarking Tools"
SECTION = "openmoko/base"
LICENSE = "MIT"
-PR = "r57"
+PR = "r58"
inherit task
@@ -11,26 +11,27 @@ RDEPENDS_task-openmoko-debug = "\
alsa-utils-aconnect \
alsa-utils-alsamixer \
alsa-utils-speakertest \
- madplay \
- vorbis-tools \
- strace \
- ltrace \
+ bonnie++ \
+ cu \
+ dbench \
+ fbgrab \
+ fstests \
gdb \
gdbserver \
+ madplay \
+ lrzsz \
+ lsof \
+ ltrace \
+ memtester \
+# sensors-i2cdetect sensors-i2cdump sensors-i2cset \
+ strace \
tcpdump \
tslib-calibrate \
tslib-tests \
- fbgrab \
- fstests \
- lsof \
- lrzsz \
udev-utils \
usbutils \
uucp \
- cu \
-# sensors-i2cdetect sensors-i2cdump sensors-i2cset \
+ vorbis-tools \
+ x11perf \
xev \
- bonnie++ \
- memtester \
- dbench \
"
diff --git a/packages/tasks/task-openmoko-feed.bb b/packages/tasks/task-openmoko-feed.bb
index f3e3ee8456..a8b022d816 100644
--- a/packages/tasks/task-openmoko-feed.bb
+++ b/packages/tasks/task-openmoko-feed.bb
@@ -1,13 +1,15 @@
DESCRIPTION = "OpenMoko: Misc. Feed Items"
SECTION = "openmoko/base"
LICENSE = "MIT"
-PR = "r8"
+PR = "r9"
inherit task
RDEPENDS_task-openmoko-feed = "\
aspell enchant \
bluez-hcidump \
+ eet evas ecore embryo epsilon edje efreet emotion epdf \
+ exhibit edje-viewer \
gpe-filemanager gpe-gallery gpe-timesheet gpe-todo \
ipkg-link \
kbdd \
@@ -17,11 +19,10 @@ RDEPENDS_task-openmoko-feed = "\
nano \
ntpclient ntp \
openssh openssh-scp openssh-ssh openssh-sshd openssh-sftp openssh-misc \
- python \
- python-pygtk \
- python-pyserial \
+ python python-pygtk python-pyserial \
ruby \
timezones \
tor \
vnc \
"
+
diff --git a/packages/webkit/webkit-gtk_svn.bb b/packages/webkit/webkit-gtk_svn.bb
index 7ec07c3816..077baec95e 100644
--- a/packages/webkit/webkit-gtk_svn.bb
+++ b/packages/webkit/webkit-gtk_svn.bb
@@ -10,8 +10,8 @@ inherit qmake2 pkgconfig
SRC_URI = "\
svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptCore;proto=http \
svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptGlue;proto=http \
- svn://svn.webkit.org/repository/webkit/trunk/;module=WebCore;proto=http \
- svn://svn.webkit.org/repository/webkit/trunk/;module=WebKit;proto=http \
+ svn://svn.webkit.org/repository/webkit/trunk/;module=WebCore;proto=http;name=webcore \
+ svn://svn.webkit.org/repository/webkit/trunk/;module=WebKit;proto=http;name=webkit \
svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitLibraries;proto=http \
# svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitQt;proto=http \
svn://svn.webkit.org/repository/webkit/trunk/;module=WebKitTools;proto=http \
diff --git a/packages/xorg-app/bdftopcf_1.0.1.bb b/packages/xorg-app/bdftopcf_1.0.1.bb
new file mode 100644
index 0000000000..6af52c9783
--- /dev/null
+++ b/packages/xorg-app/bdftopcf_1.0.1.bb
@@ -0,0 +1,7 @@
+require xorg-app-common.inc
+PE = "1"
+
+DESCRIPTION = "converts BDF fonts to PCF fonts"
+
+DEPENDS += " libxfont"
+
diff --git a/packages/xorg-app/iceauth_1.0.2.bb b/packages/xorg-app/iceauth_1.0.2.bb
new file mode 100644
index 0000000000..9b5ea948b2
--- /dev/null
+++ b/packages/xorg-app/iceauth_1.0.2.bb
@@ -0,0 +1,7 @@
+require xorg-app-common.inc
+PE = "1"
+
+DESCRIPTION = "a tool for manipulating ICE protocol authorization records"
+
+DEPENDS += " libice"
+
diff --git a/packages/xorg-app/ico_1.0.2.bb b/packages/xorg-app/ico_1.0.2.bb
new file mode 100644
index 0000000000..532dbef6d8
--- /dev/null
+++ b/packages/xorg-app/ico_1.0.2.bb
@@ -0,0 +1,6 @@
+require xorg-app-common.inc
+PE = "1"
+
+DESCRIPTION = "an X graphics demo using an animated polyhedron"
+
+DEPENDS += " virtual/libx11 libxau libxdmcp"
diff --git a/packages/xorg-app/xbacklight_1.1.bb b/packages/xorg-app/xbacklight_1.1.bb
new file mode 100644
index 0000000000..ab911de04a
--- /dev/null
+++ b/packages/xorg-app/xbacklight_1.1.bb
@@ -0,0 +1,6 @@
+require xorg-app-common.inc
+PE = "1"
+
+DESCRIPTION = "adjust backlight brightness using RandR extension"
+
+DEPENDS += " virtual/libx11 libxrender libxrandr"
diff --git a/packages/xorg-app/xdm_1.1.6.bb b/packages/xorg-app/xdm_1.1.6.bb
index 7b4195e3d8..1520a903ad 100644
--- a/packages/xorg-app/xdm_1.1.6.bb
+++ b/packages/xorg-app/xdm_1.1.6.bb
@@ -6,3 +6,5 @@ DESCRIPTION = "X display manager"
DEPENDS += " libxmu libxinerama libxpm libxdmcp libxau virtual/libx11 libxext libxdmcp libxt"
EXTRA_OECONF += " --with-random-device=/dev/urandom"
+
+FILES_${PN}-dbg += "${libdir}/X11/xdm/.debug/*"
diff --git a/packages/xorg-app/xinit_1.0.5.bb b/packages/xorg-app/xinit_1.0.5.bb
new file mode 100644
index 0000000000..ce82fb05d4
--- /dev/null
+++ b/packages/xorg-app/xinit_1.0.5.bb
@@ -0,0 +1,6 @@
+require xorg-app-common.inc
+
+DESCRIPTION = "X Window System initializer"
+PE = "1"
+
+FILES_${PN} += "${libdir}X11/xinit"
diff --git a/packages/xorg-app/xprop_1.0.3.bb b/packages/xorg-app/xprop_1.0.3.bb
deleted file mode 100644
index 8623021717..0000000000
--- a/packages/xorg-app/xprop_1.0.3.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-require xorg-app-common.inc
-PE = "1"
-
-#DESCRIPTION = ""
-
-DEPENDS += " libxmu virtual/libx11"
-
diff --git a/packages/xorg-app/xset_1.0.3.bb b/packages/xorg-app/xset_1.0.3.bb
new file mode 100644
index 0000000000..fa2e4c25a2
--- /dev/null
+++ b/packages/xorg-app/xset_1.0.3.bb
@@ -0,0 +1,11 @@
+require xorg-app-common.inc
+
+DESCRIPTION = "user preference utility for X"
+LICENSE = "MIT"
+DEPENDS += "libxext libxxf86misc libxfontcache libxmu libxp libxau"
+PE = "1"
+
+SRC_URI += "file://disable-xkb.patch;patch=1"
+
+CFLAGS += "-D_GNU_SOURCE"
+EXTRA_OECONF = "--disable-xkb"
diff --git a/packages/xorg-driver/xf86-input-keyboard_1.2.2.bb b/packages/xorg-driver/xf86-input-keyboard_1.2.2.bb
new file mode 100644
index 0000000000..b4ef6c683e
--- /dev/null
+++ b/packages/xorg-driver/xf86-input-keyboard_1.2.2.bb
@@ -0,0 +1,7 @@
+require xorg-driver-input.inc
+PE = "1"
+
+#DESCRIPTION = ""
+
+DEPENDS += " kbproto"
+
diff --git a/packages/xorg-lib/libxcursor_1.1.9.bb b/packages/xorg-lib/libxcursor_1.1.9.bb
new file mode 100644
index 0000000000..620ab4a39b
--- /dev/null
+++ b/packages/xorg-lib/libxcursor_1.1.9.bb
@@ -0,0 +1,8 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "X cursor management library"
+LICENSE= "BSD-X"
+DEPENDS += "libxrender libxfixes"
+PE = "1"
+
+XORG_PN = "libXcursor"
diff --git a/packages/xorg-lib/libxfont_1.3.1.bb b/packages/xorg-lib/libxfont_1.3.1.bb
new file mode 100644
index 0000000000..b65c84f586
--- /dev/null
+++ b/packages/xorg-lib/libxfont_1.3.1.bb
@@ -0,0 +1,11 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "X11 font rasterisation library"
+LICENSE= "BSD-X"
+DEPENDS += "freetype fontcacheproto xtrans fontsproto libfontenc"
+PROVIDES = "xfont"
+PE = "1"
+
+SRC_URI += "file://no-scalable-crash.patch;patch=1"
+
+XORG_PN = "libXfont"
diff --git a/packages/xorg-lib/libxi_1.1.3.bb b/packages/xorg-lib/libxi_1.1.3.bb
new file mode 100644
index 0000000000..492d62af89
--- /dev/null
+++ b/packages/xorg-lib/libxi_1.1.3.bb
@@ -0,0 +1,7 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "X11 Input extension library"
+DEPENDS += "libxext inputproto"
+PE = "1"
+
+XORG_PN = "libXi"
diff --git a/packages/xorg-lib/libxrandr_1.2.2.bb b/packages/xorg-lib/libxrandr_1.2.2.bb
new file mode 100644
index 0000000000..5a8ffb2b51
--- /dev/null
+++ b/packages/xorg-lib/libxrandr_1.2.2.bb
@@ -0,0 +1,8 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "X11 Resize and Rotate extension library"
+LICENSE = "BSD-X"
+DEPENDS += "randrproto libxrender libxext"
+PE = "1"
+
+XORG_PN = "libXrandr"
diff --git a/packages/xorg-lib/libxrender_0.9.4.bb b/packages/xorg-lib/libxrender_0.9.4.bb
new file mode 100644
index 0000000000..ccf7b667f6
--- /dev/null
+++ b/packages/xorg-lib/libxrender_0.9.4.bb
@@ -0,0 +1,8 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "X11 Rendering Extension client library"
+LICENSE = "BSD-X"
+DEPENDS += "virtual/libx11 renderproto xproto"
+PE = "1"
+
+XORG_PN = "libXrender"
diff --git a/packages/xorg-lib/libxxf86dga_1.0.2.bb b/packages/xorg-lib/libxxf86dga_1.0.2.bb
new file mode 100644
index 0000000000..931f0d9d13
--- /dev/null
+++ b/packages/xorg-lib/libxxf86dga_1.0.2.bb
@@ -0,0 +1,7 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "X11 Direct Graphics Access extension library"
+DEPENDS += "libxext xf86dgaproto"
+PE = "1"
+
+XORG_PN = "libXxf86dga"
diff --git a/packages/xorg-lib/pixman-0.9.5/.mtn2git_empty b/packages/xorg-lib/pixman-0.9.5/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/xorg-lib/pixman-0.9.5/.mtn2git_empty
diff --git a/packages/xorg-lib/pixman-0.9.5/dont-copy-unused-bits-to-alpha-channel.patch b/packages/xorg-lib/pixman-0.9.5/dont-copy-unused-bits-to-alpha-channel.patch
new file mode 100644
index 0000000000..05fe829a82
--- /dev/null
+++ b/packages/xorg-lib/pixman-0.9.5/dont-copy-unused-bits-to-alpha-channel.patch
@@ -0,0 +1,29 @@
+From: Carl Worth <cworth@cworth.org>
+
+Don't copy unused bits to an alpha channel
+
+This bug was identified by cairo's rgb24-ignore-alpha test which
+blends RGB24 over ARGB32 and notices that "alpha" values are
+making it from the source to the destination.
+
+Index: a/pixman/pixman-pict.c
+===================================================================
+--- a/pixman/pixman-pict.c b8b7b767b3ed1fc57ba177c38187e1eb3daf4de8
++++ b/pixman/pixman-pict.c c7d73fc532c2da313041906ac0f48dba1b10d3bc
+@@ -1778,7 +1778,6 @@ pixman_image_composite (pixman_op_t
+ break;
+ case PIXMAN_x8r8g8b8:
+ switch (pDst->bits.format) {
+- case PIXMAN_a8r8g8b8:
+ case PIXMAN_x8r8g8b8:
+ #ifdef USE_MMX
+ if (pixman_have_mmx())
+@@ -1790,7 +1789,6 @@ pixman_image_composite (pixman_op_t
+ }
+ case PIXMAN_x8b8g8r8:
+ switch (pDst->bits.format) {
+- case PIXMAN_a8b8g8r8:
+ case PIXMAN_x8b8g8r8:
+ #ifdef USE_MMX
+ if (pixman_have_mmx())
+
diff --git a/packages/xorg-lib/pixman_0.9.5.bb b/packages/xorg-lib/pixman_0.9.5.bb
new file mode 100644
index 0000000000..5183084167
--- /dev/null
+++ b/packages/xorg-lib/pixman_0.9.5.bb
@@ -0,0 +1,6 @@
+require xorg-lib-common.inc
+
+DESCRIPTION = "Library for lowlevel pixel operations"
+DEPENDS = "virtual/libx11"
+
+SRC_URI += "file://dont-copy-unused-bits-to-alpha-channel.patch;patch=1"
diff --git a/packages/xorg-proto/inputproto_1.4.2.1.bb b/packages/xorg-proto/inputproto_1.4.2.1.bb
new file mode 100644
index 0000000000..3637929316
--- /dev/null
+++ b/packages/xorg-proto/inputproto_1.4.2.1.bb
@@ -0,0 +1,3 @@
+require xorg-proto-common.inc
+
+PE = "1"
diff --git a/packages/xorg-proto/renderproto_0.9.3.bb b/packages/xorg-proto/renderproto_0.9.3.bb
new file mode 100644
index 0000000000..3d20b24afd
--- /dev/null
+++ b/packages/xorg-proto/renderproto_0.9.3.bb
@@ -0,0 +1,4 @@
+require xorg-proto-common.inc
+
+CONFLICTS = "renderext"
+PE = "1"
diff --git a/packages/xorg-proto/xf86dgaproto_2.0.3.bb b/packages/xorg-proto/xf86dgaproto_2.0.3.bb
new file mode 100644
index 0000000000..2e0e734858
--- /dev/null
+++ b/packages/xorg-proto/xf86dgaproto_2.0.3.bb
@@ -0,0 +1,5 @@
+require xorg-proto-common.inc
+
+CONFLICTS = "xxf86dgaext"
+PR = "r1"
+PE = "1"
diff --git a/packages/xorg-xserver/xserver-kdrive-common.inc b/packages/xorg-xserver/xserver-kdrive-common.inc
index e46abe3fe8..f294a9c3e5 100644
--- a/packages/xorg-xserver/xserver-kdrive-common.inc
+++ b/packages/xorg-xserver/xserver-kdrive-common.inc
@@ -92,11 +92,8 @@ KDRIVE_COMMON_PATCHES = " \
file://kmode.patch;patch=1 \
file://disable-apm.patch;patch=1 \
file://no-serial-probing.patch;patch=1 \
- file://kdrive-evdev.patch;patch=1 \
- file://kdrive-use-evdev.patch;patch=1 \
file://fbdev-not-fix.patch;patch=1 \
file://enable-builtin-fonts.patch;patch=1 \
- file://disable-xf86-dga-xorgcfg.patch;patch=1 \
file://optional-xkb.patch;patch=1 \
file://enable-epson.patch;patch=1 \
file://enable-tslib.patch;patch=1 \
diff --git a/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb b/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb
index beb7b0f561..8ed650266b 100644
--- a/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb
+++ b/packages/xorg-xserver/xserver-kdrive-imageon_1.2.0.bb
@@ -12,6 +12,9 @@ PR = "r2"
FILESPATH = "${FILE_DIRNAME}/xserver-kdrive-1.2.0:${FILE_DIRNAME}/xserver-kdrive"
SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
${KDRIVE_COMMON_PATCHES} \
+ file://kdrive-evdev.patch;patch=1 \
+ file://kdrive-use-evdev.patch;patch=1 \
+ file://disable-xf86-dga-xorgcfg.patch;patch=1 \
file://enable-xcalibrate.patch;patch=1 \
file://fbcompositesrc8888revnpx0565.patch;patch=1 \
file://kdrive-vidmemarea.patch;patch=1 \
diff --git a/packages/xorg-xserver/xserver-kdrive_1.2.0.bb b/packages/xorg-xserver/xserver-kdrive_1.2.0.bb
index 5af854c3f0..052e9e445e 100644
--- a/packages/xorg-xserver/xserver-kdrive_1.2.0.bb
+++ b/packages/xorg-xserver/xserver-kdrive_1.2.0.bb
@@ -7,6 +7,9 @@ PR = "r9"
SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
${KDRIVE_COMMON_PATCHES} \
+ file://kdrive-evdev.patch;patch=1 \
+ file://kdrive-use-evdev.patch;patch=1 \
+ file://disable-xf86-dga-xorgcfg.patch;patch=1 \
file://enable-xcalibrate.patch;patch=1 \
file://w100.patch;patch=1 \
file://w100-fix-offscreen-bmp.patch;patch=1 \
diff --git a/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb b/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
index 9adc638c17..44c9f00de8 100644
--- a/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
+++ b/packages/xorg-xserver/xserver-kdrive_1.3.0.0.bb
@@ -7,6 +7,9 @@ PR = "r16"
SRC_URI = "${XORG_MIRROR}/individual/xserver/xorg-server-${PV}.tar.bz2 \
${KDRIVE_COMMON_PATCHES} \
+ file://kdrive-evdev.patch;patch=1 \
+ file://kdrive-use-evdev.patch;patch=1 \
+ file://disable-xf86-dga-xorgcfg.patch;patch=1 \
file://fix_default_mode.patch;patch=1 \
file://enable-xcalibrate.patch;patch=1 \
file://hide-cursor-and-ppm-root.patch;patch=1 \
diff --git a/packages/xournal/xournal_0.4.0.1.bb b/packages/xournal/xournal_0.4.0.1.bb
new file mode 100644
index 0000000000..5a8a1b74b7
--- /dev/null
+++ b/packages/xournal/xournal_0.4.0.1.bb
@@ -0,0 +1,17 @@
+HOMEPAGE = "http://xournal.sf.net/"
+DESCRIPTION = "Xournal is an application for notetaking, sketching, keeping a journal using a stylus."
+DEPENDS = "gtk+ libgnomecanvas libgnomeprintui"
+SECTION = "x11"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "http://xournal.sourceforge.net/xournal-${PV}.tar.gz \
+ file://xournal.desktop"
+
+inherit autotools pkgconfig
+
+do_install_append () {
+ install -d ${D}${datadir}/applications/
+ install -m 0644 ${WORKDIR}/xournal.desktop ${D}${datadir}/applications/
+}
+
diff --git a/site/mips-linux b/site/mips-linux
new file mode 100644
index 0000000000..bab92eff63
--- /dev/null
+++ b/site/mips-linux
@@ -0,0 +1,122 @@
+
+ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void=yes}
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+ac_cv_func_posix_getpwuid_r=${ac_cv_func_posix_getpwuid_r=yes}
+
+# tslib, others
+ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=no}
+bash_cv_have_mbstate_t=${bash_cv_have_mbstate_t=yes}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}
+bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers=no}
+bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken=no}
+bash_cv_dup2_broken=${bash_cv_dup2_broken=no}
+bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust=no}
+bash_cv_type_rlimit=${bash_cv_type_rlimit=rlim_t}
+bash_cv_getenv_redef=${bash_cv_getenv_redef=yes}
+bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds=yes}
+bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen=no}
+bash_cv_printf_a_format=${bash_cv_printf_a_format=yes}
+bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe=no}
+bash_cv_job_control_missing=${bash_cv_job_control_missing=present}
+bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes=present}
+bash_cv_unusable_rtsigs=${bash_cv_unusable_rtsigs=no}
+
+# openssh
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no}
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+
+# glib
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+glib_cv_va_copy=${glib_cv_va_copy=yes}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+ac_cv_func_getaddrinfo=${ac_cv_func_getaddrinfo=yes}
+
+# slrn
+slrn_cv___va_copy=${slrn_cv___va_copy=yes}
+slrn_cv_va_copy=${slrn_cv_va_copy=yes}
+slrn_cv_va_val_copy=${slrn_cv_va_val_copy=yes}
+
+# startup-notification
+lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ncftp
+ac_cv_func_setpgrp_void=${ac_cv_func_setpgrp_void=yes}
+wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
+wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
+wi_cv_unix_domain_sockets=${wi_cv_unix_domain_sockets=yes}
+
+# rp-pppoe
+rpppoe_cv_pack_bitfields=${rpppoe_cv_pack_bitfields=rev}
+
+# db3
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_mutex=${db_cv_mutex=no}
+db_cv_posixmutexes=${db_cv_posixmutexes=no}
+db_cv_uimutexes=${db_cv_uimutexes=no}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+db_cv_path_ar=${db_cv_path_ar=/usr/bin/ar}
+db_cv_path_chmod=${db_cv_path_chmod=/bin/chmod}
+db_cv_path_cp=${db_cv_path_cp=/bin/cp}
+db_cv_path_ln=${db_cv_path_ln=/bin/ln}
+db_cv_path_mkdir=${db_cv_path_mkdir=/bin/mkdir}
+db_cv_path_ranlib=${db_cv_path_ranlib=/usr/bin/ranlib}
+db_cv_path_rm=${db_cv_path_rm=/bin/rm}
+db_cv_path_sh=${db_cv_path_sh=/bin/sh}
+db_cv_path_strip=${db_cv_path_strip=/usr/bin/strip}
+
+# rrdtool
+rd_cv_ieee_works=${rd_cv_ieee_works=yes}
+# ac_cv_path_PERL=${ac_cv_path_PERL=no}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# vim
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+
+# sudo
+sudo_cv_uid_t_len=${sudo_cv_uid_t_len=10}
+
+#intercom
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+#lmbench
+ac_cv_uint=${ac_cv_unit=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+#mono
+cv_mono_sizeof_sunpath=108
+mono_cv_uscore=${mono_cv_uscore=no}
+