[oe-commits] org.oe.dev merge of '95cefda8965d9f34e429a5b0e01d5c392825e133'

jeremy_laine commit oe at amethyst.openembedded.net
Wed Apr 30 12:34:20 UTC 2008


merge of '95cefda8965d9f34e429a5b0e01d5c392825e133'
     and 'c8c6f8c33c61af0056076c21f8e84da83a85d8d8'

Author: jeremy_laine at openembedded.org
Branch: org.openembedded.dev
Revision: ff99add05b70c6e96f011a1a27dd980a5380a7bf
ViewMTN: http://monotone.openembedded.org/revision/info/ff99add05b70c6e96f011a1a27dd980a5380a7bf
Files:
1
packages/binutils/binutils-avr32.inc
packages/gdb/gdb-avr32.inc
packages/madwifi/madwifi-ng_r1844-20061208.bb
packages/madwifi/madwifi-ng_r2100-20070210.bb
packages/madwifi/madwifi-ng_r2156-20070225.bb
packages/madwifi/madwifi-ng_r2182-20070308.bb
packages/madwifi/madwifi-ng_r2187-20070309.bb
packages/madwifi/madwifi-ng_r2518-20070626.bb
packages/madwifi/madwifi-ng_r2702-20070903.bb
packages/busybox/busybox-1.9.1
packages/busybox/busybox-1.9.2
packages/busybox/busybox_1.9.1.bb
packages/busybox/busybox_1.9.2.bb
packages/multitap-pad
packages/multitap-pad/files
packages/netbase/netbase/mpc8313e-rdb
packages/u-boot/u-boot-1.3.2
conf/distro/include/preferred-om-2008-versions.inc
packages/linux/linux-omap2-git/beagleboard/usb-timout.patch
packages/multitap-pad/files/80multitappad
packages/multitap-pad/multitap-pad_svn.bb
packages/netbase/netbase/mpc8313e-rdb/interfaces
packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-autoboot.patch
packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-mtdparts.patch
packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-nand.patch
MAINTAINERS
classes/kernel.bbclass
conf/distro/include/sane-srcrevs.inc
conf/machine/mpc8313e-rdb.conf
packages/busybox/busybox-1.9.2/defconfig
packages/freesmartphone/gsm0710muxd_svn.bb
packages/freesmartphone/py-odeviced_svn.bb
packages/linux/linux-omap2-git/beagleboard/defconfig
packages/linux/linux-omap2_git.bb
packages/madwifi/madwifi-ng_r3314-20080131.bb
packages/meta/slugos-packages.bb
packages/opkg/opkg_svn.bb
packages/u-boot/u-boot_1.3.2.bb
Diffs:

#
# mt diff -r95cefda8965d9f34e429a5b0e01d5c392825e133 -rff99add05b70c6e96f011a1a27dd980a5380a7bf
#
#
#
# add_file "packages/binutils/binutils-avr32.inc"
#  content [5bd29b107e09714fb7b1d4bf3f8e6d5196a9ca37]
# 
# add_file "packages/gdb/gdb-avr32.inc"
#  content [7494151dbc5adbc235fbc5181d3392875c7f4e35]
#
============================================================
--- packages/binutils/binutils-avr32.inc	5bd29b107e09714fb7b1d4bf3f8e6d5196a9ca37
+++ packages/binutils/binutils-avr32.inc	5bd29b107e09714fb7b1d4bf3f8e6d5196a9ca37
@@ -0,0 +1,31 @@
+# Extra tasks required when using Atmel's patches to binutils
+# See http://avr32linux.org/twiki/bin/view/Main/BinutilsPatches for
+# more information
+
+
+do_avr32_reconf () {
+        if test ${TARGET_ARCH} == avr32; then
+            (cd ${S} && autoconf-2.13) || die "Error running autoconf"
+            for dir in bfd opcodes binutils ld; do
+                (cd "${S}/$dir" &&
+                 aclocal-1.9 &&
+                 autoconf &&
+                 automake-1.9 &&
+                 autoheader) || die "Error reconfiguring $dir"
+            done
+        fi
+}
+
+
+do_avr32_configure_bfd () {
+        if test ${TARGET_ARCH} == avr32; then
+            (cd ${B} && make configure-bfd) || die "Error running 'make configure-bfd'"
+            (cd ${B}/bfd && make headers) || die "Error running 'make headers'"
+        fi
+}
+
+
+
+addtask avr32_reconf after do_patch before do_configure
+addtask avr32_configure_bfd after do_configure before do_compile
+          
============================================================
--- packages/gdb/gdb-avr32.inc	7494151dbc5adbc235fbc5181d3392875c7f4e35
+++ packages/gdb/gdb-avr32.inc	7494151dbc5adbc235fbc5181d3392875c7f4e35
@@ -0,0 +1,32 @@
+# Perform tasks required to use Atmel's AVR32 patches
+# See http://avr32linux.org/twiki/bin/view/Main/GDBPatches for more info
+
+
+do_avr32_reconf () {
+    if test ${TARGET_ARCH} == "avr32"; then
+        (cd ${S} && autoconf) || \
+            die "failure running autoconf in top-level gdb"
+
+        (cd ${S}/bfd && autoreconf) || \
+            die "failure running autoreconf in bfd/"
+
+        (cd ${S}/opcodes && autoreconf) || \
+            die "failure running autoreconf in opcodes/"
+    fi
+
+}
+
+
+
+do_avr32_configure_bfd () {
+    if test ${TARGET_ARCH} == "avr32"; then
+        (cd ${B} && make configure-bfd) || die "Error running configure-bfd"
+        (cd ${B}/bfd && make headers) || \
+                die "error running 'make headers' in bfd"
+    fi
+}
+
+
+addtask avr32_reconf after do_patch before do_configure
+addtask avr32_configure_bfd after do_configure before do_compile
+


#
# mt diff -rc8c6f8c33c61af0056076c21f8e84da83a85d8d8 -rff99add05b70c6e96f011a1a27dd980a5380a7bf
#
#
#
# delete "packages/madwifi/madwifi-ng_r1844-20061208.bb"
# 
# delete "packages/madwifi/madwifi-ng_r2100-20070210.bb"
# 
# delete "packages/madwifi/madwifi-ng_r2156-20070225.bb"
# 
# delete "packages/madwifi/madwifi-ng_r2182-20070308.bb"
# 
# delete "packages/madwifi/madwifi-ng_r2187-20070309.bb"
# 
# delete "packages/madwifi/madwifi-ng_r2518-20070626.bb"
# 
# delete "packages/madwifi/madwifi-ng_r2702-20070903.bb"
# 
# rename "packages/busybox/busybox-1.9.1"
#     to "packages/busybox/busybox-1.9.2"
# 
# rename "packages/busybox/busybox_1.9.1.bb"
#     to "packages/busybox/busybox_1.9.2.bb"
# 
# add_dir "packages/multitap-pad"
# 
# add_dir "packages/multitap-pad/files"
# 
# add_dir "packages/netbase/netbase/mpc8313e-rdb"
# 
# add_dir "packages/u-boot/u-boot-1.3.2"
# 
# add_file "conf/distro/include/preferred-om-2008-versions.inc"
#  content [0741783d8c451adac5e47265611069ee7296c2d7]
# 
# add_file "packages/linux/linux-omap2-git/beagleboard/usb-timout.patch"
#  content [7acb9cec9859f0c448ef4b56bf2ebd12e8b84c2b]
# 
# add_file "packages/multitap-pad/files/80multitappad"
#  content [b613cc7c89d800c205b89dd7013c4b3ba309b319]
# 
# add_file "packages/multitap-pad/multitap-pad_svn.bb"
#  content [8f2b626f58690dd52e509cacab5977c5f52270e2]
# 
# add_file "packages/netbase/netbase/mpc8313e-rdb/interfaces"
#  content [2ece41786062e70093a58ef17e23d35ea084c316]
# 
# add_file "packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-autoboot.patch"
#  content [d10d1edb2510c27cbbfca47e962cfc8da45f0788]
# 
# add_file "packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-mtdparts.patch"
#  content [20746984bb1c6ef2789381da1283a8e06a74b0ac]
# 
# add_file "packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-nand.patch"
#  content [64eee6cc9ba75710f130f074b0632df44049ca14]
# 
# patch "MAINTAINERS"
#  from [5556c9277c3381070987310400058abdd5f4c820]
#    to [df1acfac3b7175de3f71ec85623148d285a64116]
# 
# patch "classes/kernel.bbclass"
#  from [8d92c5a7b6420490dd6b3115e8146b3fc0a0f854]
#    to [8ed575119a74e50c5bcb39266997cba3f60792c2]
# 
# patch "conf/distro/include/sane-srcrevs.inc"
#  from [af1d08078aa8f03db44e8b150bc4f043ad26b938]
#    to [3f68781354a48bcde95fae1b91ce841a0f88ae0f]
# 
# patch "conf/machine/mpc8313e-rdb.conf"
#  from [9521bcf148591a9c5c88e316475ce8493488eaf2]
#    to [ca05aff54fbbce7e6178f63cd81e0262c9607193]
# 
# patch "packages/busybox/busybox-1.9.2/defconfig"
#  from [f0e872e8e6f3bc9941075571caf38d1a62657458]
#    to [b98a8c0c48f931c7b67cd67b5498aac228e47b29]
# 
# patch "packages/busybox/busybox_1.9.2.bb"
#  from [4ce3286b8b9f17817880e467425ec28de58ea3f4]
#    to [a3a8f0f9c2f172464f5e3746ae507d0845fd473f]
# 
# patch "packages/freesmartphone/gsm0710muxd_svn.bb"
#  from [b214341ba255007649e5d97e71b3d22c2218c73e]
#    to [848b41b51ffadb51a05381fbc015bc38fa1fccb1]
# 
# patch "packages/freesmartphone/py-odeviced_svn.bb"
#  from [6ef92b7c28dc3f0730750da1b7cfeed1cd7da960]
#    to [30b9953c30c87828378bdcea8213290cc498ea8f]
# 
# patch "packages/linux/linux-omap2-git/beagleboard/defconfig"
#  from [ffa35a912f2d6c8016f6ea1d0f7ebb27987a9b28]
#    to [6defc6fa96f79492acbfbaed1cc6553abe5edc13]
# 
# patch "packages/linux/linux-omap2_git.bb"
#  from [e84865c7794f8227ce021537e22050f366fe51b3]
#    to [d2df9d873b73d322c1d6a7918ef9c8786b091e48]
# 
# patch "packages/madwifi/madwifi-ng_r3314-20080131.bb"
#  from [aa87cb14b8005f3b927e4701b1ae845bf2099ec2]
#    to [24403394f09cfebacade21edca4dbf1c9fe180ba]
# 
# patch "packages/meta/slugos-packages.bb"
#  from [46c8ac8a7503c5e222ee23a677a92db2e2ea9dcb]
#    to [f62c22f94a5ba8a475afc6d43721c4e29386ca2e]
# 
# patch "packages/opkg/opkg_svn.bb"
#  from [bc27245782ad8e3348db57c3d14c9e75b4f1b404]
#    to [e034851c3a5985b17cbde739bc5bb59a8c69d323]
# 
# patch "packages/u-boot/u-boot_1.3.2.bb"
#  from [8cfd5293c0214179a38b2304fbd10c77a3912aff]
#    to [33ac513192e4695c4ea43a787d866c98c2a011ef]
#
============================================================
--- conf/distro/include/preferred-om-2008-versions.inc	0741783d8c451adac5e47265611069ee7296c2d7
+++ conf/distro/include/preferred-om-2008-versions.inc	0741783d8c451adac5e47265611069ee7296c2d7
@@ -0,0 +1,15 @@
+PREFERRED_VERSION_asterisk = "1.4.17"
+PREFERRED_VERSION_busybox = "1.9.1"
+PREFERRED_VERSION_dbus = "1.2.1"
+PREFERRED_VERSION_dbus-glib = "0.74"
+PREFERRED_VERSION_glib-2.0 = "2.16.1"
+PREFERRED_VERSION_gnash = "0.8.2"
+PREFERRED_VERSION_gpsdrive = "2.10pre4"
+PREFERRED_VERSION_gst-pulse = "0.9.7"
+PREFERRED_VERSION_intltool = "0.35.5"
+PREFERRED_VERSION_intltool-native = "0.35.5"
+PREFERRED_VERSION_libtool = "1.5.24"
+PREFERRED_VERSION_midori = "0.0.17"
+PREFERRED_VERSION_pulseaudio = "0.9.9"
+PREFERRED_VERSION_udev = "118"
+PREFERRED_VERSION_vte = "0.16.9"
============================================================
--- packages/linux/linux-omap2-git/beagleboard/usb-timout.patch	7acb9cec9859f0c448ef4b56bf2ebd12e8b84c2b
+++ packages/linux/linux-omap2-git/beagleboard/usb-timout.patch	7acb9cec9859f0c448ef4b56bf2ebd12e8b84c2b
@@ -0,0 +1,11 @@
+--- /tmp/ehci-hub.c	2008-04-30 11:41:59.381876290 +0200
++++ git/drivers/usb/host/ehci-hub.c	2008-04-30 11:42:20.522875367 +0200
+@@ -734,7 +734,7 @@
+ 			 * this bit; seems too long to spin routinely...
+ 			 */
+ 			retval = handshake(ehci, status_reg,
+-					PORT_RESET, 0, 750);
++					PORT_RESET, 0, 1250);
+ 			if (retval != 0) {
+ 				ehci_err (ehci, "port %d reset error %d\n",
+ 					wIndex + 1, retval);
============================================================
--- packages/multitap-pad/files/80multitappad	b613cc7c89d800c205b89dd7013c4b3ba309b319
+++ packages/multitap-pad/files/80multitappad	b613cc7c89d800c205b89dd7013c4b3ba309b319
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+CMD=""
+
+if [ "$DISPLAY_CAN_ROTATE" = "1" ]; then
+    if [ "$HAVE_KEYBOARD_PORTRAIT" = "1" -a "$HAVE_KEYBOARD_LANDSCAPE" = "0" ]; then
+        CMD="multitap-pad -d -o landscape"
+    elif [ "$HAVE_KEYBOARD_LANDSCAPE" = "1" -a "$HAVE_KEYBOARD_PORTRAIT" = "0" ]; then
+        CMD="multitap-pad -d -o portrait"
+    fi
+else
+    CMD="multitap-pad -d"
+fi
+
+
+# Delay to make sure the window manager is active
+
+if [ "$CMD" ]; then
+    (sleep 2 && $CMD) &
+fi
============================================================
--- packages/multitap-pad/multitap-pad_svn.bb	8f2b626f58690dd52e509cacab5977c5f52270e2
+++ packages/multitap-pad/multitap-pad_svn.bb	8f2b626f58690dd52e509cacab5977c5f52270e2
@@ -0,0 +1,47 @@
+DESCRIPTION = "Multi-tap input method for GTK"
+LICENSE = "GPL"
+DEPENDS = "libfakekey gtk+ matchbox-panel-2"
+RCONFLICTS = matchbox-keyboard-inputmethod
+SECTION = "x11"
+PV = "0.0+svnr${SRCREV}"
+
+SRC_URI = "svn://svn.o-hand.com/repos/misc/trunk;module=${PN};proto=http \
+	file://80multitappad"
+
+inherit autotools pkgconfig
+
+S = "${WORKDIR}/${PN}"
+
+FILES_${PN} = "${bindir}/* \
+               ${libdir} \
+	       ${sysconfdir} \
+	       ${datadir}"
+
+FILES_${PN}-dbg += " ${libdir}/gtk-2.0/2.10.0/immodules/.debug \
+                     ${libdir}/matchbox-panel/.debug"
+
+FILES_${PN}-dev += " ${libdir}/gtk-2.0/2.10.0/immodules/*.a \
+                     ${libdir}/gtk-2.0/2.10.0/immodules/*.la \
+		     ${libdir}/matchbox-panel/*.a \
+		     ${libdir}/matchbox-panel/*.la"
+
+do_install_append () {
+	install -d ${D}/${sysconfdir}/X11/Xsession.d/
+	install -m 755 ${WORKDIR}/80multitappad ${D}/${sysconfdir}/X11/Xsession.d/
+}
+
+pkg_postinst_multitap-pad () {
+if [ "x$D" != "x" ]; then
+  exit 1
+fi
+
+gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
+}
+
+pkg_postrm_multitap-pad () {
+if [ "x$D" != "x" ]; then
+  exit 1
+fi
+
+gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
+}
============================================================
--- packages/netbase/netbase/mpc8313e-rdb/interfaces	2ece41786062e70093a58ef17e23d35ea084c316
+++ packages/netbase/netbase/mpc8313e-rdb/interfaces	2ece41786062e70093a58ef17e23d35ea084c316
@@ -0,0 +1,16 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+ 
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Wired interface
+auto eth1
+iface eth1 inet dhcp
+
+# Wireless interface
+auto ath0
+iface ath0 inet static
+	address 192.168.99.1
+	netmask 255.255.255.0
+
============================================================
--- packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-autoboot.patch	d10d1edb2510c27cbbfca47e962cfc8da45f0788
+++ packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-autoboot.patch	d10d1edb2510c27cbbfca47e962cfc8da45f0788
@@ -0,0 +1,12 @@
+diff -urN u-boot-1.3.1.orig/include/configs/MPC8313ERDB.h u-boot-1.3.1/include/configs/MPC8313ERDB.h
+--- u-boot-1.3.1.orig/include/configs/MPC8313ERDB.h	2007-12-06 10:21:19.000000000 +0100
++++ u-boot-1.3.1/include/configs/MPC8313ERDB.h	2008-01-31 17:38:10.000000000 +0100
+@@ -522,7 +522,7 @@
+ #define CONFIG_FDTFILE		mpc8313erdb.dtb
+ 
+ #define CONFIG_LOADADDR		200000	/* default location for tftp and bootm */
+-#define CONFIG_BOOTDELAY	-1	/* -1 disables auto-boot */
++#define CONFIG_BOOTDELAY	3	/* autoboot after 3 seconds     */
+ #define CONFIG_BAUDRATE		115200
+ 
+ #define XMK_STR(x)	#x
============================================================
--- packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-mtdparts.patch	20746984bb1c6ef2789381da1283a8e06a74b0ac
+++ packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-mtdparts.patch	20746984bb1c6ef2789381da1283a8e06a74b0ac
@@ -0,0 +1,35 @@
+diff -urN u-boot-1.3.2.orig/include/configs/MPC8313ERDB.h u-boot-1.3.2/include/configs/MPC8313ERDB.h
+--- u-boot-1.3.2.orig/include/configs/MPC8313ERDB.h	2008-03-09 16:20:02.000000000 +0100
++++ u-boot-1.3.2/include/configs/MPC8313ERDB.h	2008-04-21 19:20:51.000000000 +0200
+@@ -179,7 +179,7 @@
+ #define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET
+ 
+ /* CFG_MONITOR_LEN must be a multiple of CFG_ENV_SECT_SIZE */
+-#define CFG_MONITOR_LEN		(256 * 1024)	/* Reserve 256 kB for Mon */
++#define CFG_MONITOR_LEN		(384 * 1024)	/* Reserve 384 kB for Mon */
+ #define CFG_MALLOC_LEN		(512 * 1024)	/* Reserved for malloc */
+ 
+ /*
+@@ -354,6 +354,7 @@
+ #define CONFIG_CMD_PING
+ #define CONFIG_CMD_DHCP
+ #define CONFIG_CMD_I2C
++#define CONFIG_CMD_JFFS2
+ #define CONFIG_CMD_MII
+ #define CONFIG_CMD_DATE
+ #define CONFIG_CMD_PCI
+@@ -365,6 +366,14 @@
+ 
+ #define CONFIG_CMDLINE_EDITING 1
+ 
++/*
++ * JFFS2 partitions (mtdparts command line support)
++ */
++#define CONFIG_JFFS2_CMDLINE
++#define CONFIG_JFFS2_NAND
++#define MTDIDS_DEFAULT		"nor0=physmap-flash.0,nand0=nand0"
++#define MTDPARTS_DEFAULT	"mtdparts=physmap-flash.0:384k(uboot),64k(env)"
++
+ 
+ /*
+  * Miscellaneous configurable options
============================================================
--- packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-nand.patch	64eee6cc9ba75710f130f074b0632df44049ca14
+++ packages/u-boot/u-boot-1.3.2/mpc8313e-rdb-nand.patch	64eee6cc9ba75710f130f074b0632df44049ca14
@@ -0,0 +1,895 @@
+diff -urN u-boot-1.3.1.orig/board/freescale/mpc8313erdb/Makefile u-boot-1.3.1/board/freescale/mpc8313erdb/Makefile
+--- u-boot-1.3.1.orig/board/freescale/mpc8313erdb/Makefile	2007-12-06 10:21:19.000000000 +0100
++++ u-boot-1.3.1/board/freescale/mpc8313erdb/Makefile	2008-01-31 17:35:43.000000000 +0100
+@@ -25,7 +25,7 @@
+ 
+ LIB	= $(obj)lib$(BOARD).a
+ 
+-COBJS	:= $(BOARD).o sdram.o
++COBJS	:= $(BOARD).o sdram.o nand.o
+ 
+ SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c)
+ OBJS	:= $(addprefix $(obj),$(COBJS))
+diff -urN u-boot-1.3.1.orig/board/freescale/mpc8313erdb/nand.c u-boot-1.3.1/board/freescale/mpc8313erdb/nand.c
+--- u-boot-1.3.1.orig/board/freescale/mpc8313erdb/nand.c	1970-01-01 01:00:00.000000000 +0100
++++ u-boot-1.3.1/board/freescale/mpc8313erdb/nand.c	2008-01-31 17:35:26.000000000 +0100
+@@ -0,0 +1,868 @@
++/*
++ * Copyright (C) Freescale Semiconductor, Inc. 2006. 
++ * 
++ * Initialized by Nick.Spence at freescale.com
++ *                Wilson.Lo at freescale.com
++ *
++ * See file CREDITS for list of people who contributed to this
++ * project.
++ *
++ * 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.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
++ * MA 02111-1307 USA
++ */
++
++#include <common.h>
++
++#if defined(CONFIG_CMD_NAND)
++#if defined(CFG_NAND_LEGACY)
++ #error "U-Boot legacy NAND commands not supported."
++#else
++
++#include <malloc.h>
++#include <asm/errno.h>
++#include <nand.h>
++
++#undef CFG_FCM_DEBUG
++#define CFG_FCM_DEBUG_LVL 1
++#ifdef CFG_FCM_DEBUG
++#define FCM_DEBUG(n, args...)				\
++	do {						\
++		if (n <= (CFG_FCM_DEBUG_LVL + 0))	\
++			printf(args);			\
++	} while(0)
++#else /* CONFIG_FCM_DEBUG */
++#define FCM_DEBUG(n, args...) do { } while(0)
++#endif
++
++#define MIN(x, y)		((x < y) ? x : y)
++
++#define ERR_BYTE 0xFF	/* Value returned for read bytes when read failed */
++
++#define FCM_TIMEOUT_USECS 100000 /* Maximum number of uSecs to wait for FCM */
++
++/* Private structure holding NAND Flash device specific information */
++struct fcm_nand {
++	int		bank;       /* Chip select bank number             */
++	unsigned int	base;       /* Chip select base address            */
++	int		pgs;        /* NAND page size                      */
++	int		oobbuf;     /* Pointer to OOB block                */
++	unsigned int	page;       /* Last page written to / read from    */
++	unsigned int	fmr;        /* FCM Flash Mode Register value       */
++	unsigned int	mdr;        /* UPM/FCM Data Register value         */
++	unsigned int	use_mdr;    /* Non zero if the MDR is to be set    */
++	u_char	       *addr;       /* Address of assigned FCM buffer      */
++	unsigned int	read_bytes; /* Number of bytes read during command */
++	unsigned int	index;      /* Pointer to next byte to 'read'      */
++	unsigned int	req_bytes;  /* Number of bytes read if command ok  */
++	unsigned int	req_index;  /* New read index if command ok        */
++	unsigned int	status;     /* status read from LTESR after last op*/
++};
++
++
++/* These map to the positions used by the FCM hardware ECC generator */
++
++/* Small Page FLASH with FMR[ECCM] = 0 */
++static struct nand_oobinfo fcm_oob_sp_eccm0 = { /* TODO */
++	.useecc = MTD_NANDECC_AUTOPL_USR, /* MTD_NANDECC_PLACEONLY, */
++	.eccbytes = 3,
++	.eccpos = {6, 7, 8},
++	.oobfree = { {0, 5}, {9, 7} }
++};
++
++/* Small Page FLASH with FMR[ECCM] = 1 */
++static struct nand_oobinfo fcm_oob_sp_eccm1 = { /* TODO */
++	.useecc = MTD_NANDECC_AUTOPL_USR, /* MTD_NANDECC_PLACEONLY, */
++	.eccbytes = 3,
++	.eccpos = {8, 9, 10},
++	.oobfree = { {0, 5}, {6, 2}, {11, 5} }
++};
++
++/* Large Page FLASH with FMR[ECCM] = 0 */
++static struct nand_oobinfo fcm_oob_lp_eccm0 = {
++	.useecc = MTD_NANDECC_AUTOPL_USR, /* MTD_NANDECC_PLACEONLY, */
++	.eccbytes = 12,
++	.eccpos = {6, 7, 8, 22, 23, 24, 38, 39, 40, 54, 55, 56},
++	.oobfree = { {1, 5}, {9, 13}, {25, 13}, {41, 13}, {57, 7} }
++};
++
++/* Large Page FLASH with FMR[ECCM] = 1 */
++static struct nand_oobinfo fcm_oob_lp_eccm1 = {
++	.useecc = MTD_NANDECC_AUTOPL_USR, /* MTD_NANDECC_PLACEONLY, */
++	.eccbytes = 12,
++	.eccpos = {8, 9, 10, 24, 25, 26, 40, 41, 42, 56, 57, 58},
++	.oobfree = { {1, 7}, {11, 13}, {27, 13}, {43, 13}, {59, 5} }
++};
++
++/*
++ * execute FCM command and wait for it to complete
++ */
++static int fcm_run_command(struct mtd_info *mtd)
++{
++	volatile immap_t *im = (immap_t *) CFG_IMMR;
++	volatile lbus83xx_t *lbc= &im->lbus;
++	register struct nand_chip *this = mtd->priv;
++	struct fcm_nand *fcm = this->priv;
++	long long end_tick;
++
++	/* Setup the FMR[OP] to execute without write protection */
++	lbc->fmr = fcm->fmr | 3;
++	if (fcm->use_mdr)
++		lbc->mdr = fcm->mdr;
++
++	FCM_DEBUG(5,"fcm_run_command: fmr= %08X fir= %08X fcr= %08X\n",
++		lbc->fmr, lbc->fir, lbc->fcr);
++	FCM_DEBUG(5,"fcm_run_command: fbar=%08X fpar=%08X fbcr=%08X bank=%d\n",
++		lbc->fbar, lbc->fpar, lbc->fbcr, fcm->bank);
++
++	/* clear event registers */
++	lbc->lteatr = 0;
++	lbc->ltesr |= (LTESR_FCT | LTESR_PAR |%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list