From: Clint Adams Date: Fri, 1 Jun 2012 01:04:49 +0000 (+0000) Subject: Import u-boot_2012.04.01-2.debian.tar.gz X-Git-Tag: archive/raspbian/2016.11+dfsg1-3+rpi1~1^2^2^2~7^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=728670fa502600eb864e169d5be948b3921a9fdf;p=u-boot.git Import u-boot_2012.04.01-2.debian.tar.gz [dgit import tarball u-boot 2012.04.01-2 u-boot_2012.04.01-2.debian.tar.gz] --- 728670fa502600eb864e169d5be948b3921a9fdf diff --git a/README.Debian b/README.Debian new file mode 100644 index 000000000..93f81f799 --- /dev/null +++ b/README.Debian @@ -0,0 +1,24 @@ +== Installation == + +At this point, you must install U-Boot to flash yourself. + +Some examples using mtd-utils: + +SheevaPlug: + + sudo flash_eraseall /dev/mtd0 + sudo nandwrite -p /dev/mtd0 /usr/lib/u-boot/sheevaplug/u-boot.kwb + +GuruPlug: + + sudo flash_eraseall /dev/mtd0 + sudo nandwrite -p /dev/mtd0 /usr/lib/u-boot/guruplug/u-boot.kwb + +MX53LOCO: + + sudo dd bs=1024 if=u-boot.imx of=/dev/sdX seek=1 + +== U-Boot environment tools == + +fw_printenv / fw_setenv read /etc/fw_env.config for configuration. + diff --git a/changelog b/changelog new file mode 100644 index 000000000..7ccb575a8 --- /dev/null +++ b/changelog @@ -0,0 +1,411 @@ +u-boot (2012.04.01-2) unstable; urgency=low + + * Remove code duplication in kerma-sheevaplug-mvsdio.diff. + closes: #674230. + + -- Clint Adams Thu, 31 May 2012 21:04:49 -0400 + +u-boot (2012.04.01-1) unstable; urgency=low + + * New upstream version. + - Update mipsel-native-endianness.diff. + - Update no-error-on-set-but-unused-variables.diff (partially merged). + - Drop kirkwood_spi-irq_mask.diff (merged). + - Drop kirkwood-disable-l2c.diff (merged). + + -- Clint Adams Tue, 01 May 2012 18:07:19 -0400 + +u-boot (2011.12-3) unstable; urgency=low + + [ Jonathan Nieder ] + * kirkwood: disable L2 cache before Linux boot; thanks to Ian Campbell. + closes: #658904 + + [ Loïc Minier ] + * Add patch to strip env tools; sent to upstream mailing-list. + + -- Loïc Minier Sun, 11 Mar 2012 16:12:50 +0100 + +u-boot (2011.12-2) unstable; urgency=low + + [ Loïc Minier ] + * Build u-boot.imx for efikasb on armhf + + [ Clint Adams ] + * Patch from Ian Campbell to fix Dreamplug breakage. closes: #655102. + + -- Clint Adams Sun, 08 Jan 2012 15:11:03 -0500 + +u-boot (2011.12-1) unstable; urgency=low + + * New upstream version. + - Drop build-timestamp_autogenerated.h-without-config.patch (merged). + - Drop ublimage-NAND-block-size-isn-t-set-at-build-time.patch (merged). + - Update kerma-sheevaplug-mvsdio.diff + - Update mipsel-native-endianness.diff + - Drop dreamplug-v8.patch (merged). + + -- Clint Adams Mon, 02 Jan 2012 17:49:39 -0500 + +u-boot (2011.09-2) unstable; urgency=low + + * Patch from Pino Toscano to build on the Hurd. + closes: #648295. + * Drop gr_xc3s_1500 target. + * Add build-arch and build-indep targets to debian/rules. + + -- Clint Adams Tue, 15 Nov 2011 23:53:01 -0500 + +u-boot (2011.09-1) unstable; urgency=low + + [ Hector Oron ] + * Enable MX53LOCO platform. + * Update lintian overrides. + + [ Loïc Minier ] + * Fix FTBFS on amd64 and allow `make tools` to succeed without + config. + + [ Clint Adams ] + * New upstream version. + - Update kerma-sheevaplug-mvsdio.diff. + - Drop panda-default-console.diff (refactored). + - Replace dreamplug patches with Jason's v8. + * Add Buffalo Linkstation Mini env config from Benjamin Cama. + + -- Clint Adams Fri, 30 Sep 2011 21:22:23 -0400 + +u-boot (2011.06-4) unstable; urgency=low + + * Increase the USB non-bulk timeout by an order of magnitude. + May fix #635774. + + -- Clint Adams Sat, 06 Aug 2011 13:42:52 -0400 + +u-boot (2011.06-3) unstable; urgency=low + + * Add DreamPlug support. + + -- Clint Adams Sun, 24 Jul 2011 09:35:32 -0400 + +u-boot (2011.06-2) unstable; urgency=low + + * Use -Wno-error=unused-but-set-variable on i386. + + -- Clint Adams Sat, 02 Jul 2011 22:14:44 -0400 + +u-boot (2011.06-1) unstable; urgency=low + + * New upstream version. + * Fix i386 and mipsel builds. + + -- Clint Adams Sat, 02 Jul 2011 19:25:28 -0400 + +u-boot (2011.06~rc3-1) unstable; urgency=low + + * New upstream version. + + -- Clint Adams Sat, 02 Jul 2011 15:50:46 -0400 + +u-boot (2011.06~rc2-2) unstable; urgency=low + + * Fix mipsel endianness problem again. + * Try building gr_xc3s_1500 on sparc. + + -- Clint Adams Sat, 18 Jun 2011 10:13:53 -0400 + +u-boot (2011.06~rc2-1) unstable; urgency=low + + * New upstream version. + * Fix tools config selection. + + -- Clint Adams Tue, 14 Jun 2011 20:53:07 -0400 + +u-boot (2011.06~rc1-1) unstable; urgency=low + + * New upstream version. + - Update mipsel-native-endianness.diff + - Drop Drop-config.h-include-in-tools-imximage.h.diff (merged). + - Drop openrd-client-and-ultimate.diff (merged). + - Update openrd-mmc.diff (formerly openrd-mmc-mtd-fat.diff). + - Drop eNET-monitor_flash_len.diff (merged). + - Update snapshot.commit to 2011.06-rc1. + - Use the first target for each arch to build the tools, or + fake it on the other architectures. + * Only build efikamx image on armhf. + + -- Clint Adams Sat, 21 May 2011 11:04:30 -0400 + +u-boot (2011.03-6) unstable; urgency=low + + * Bump to Standards-Version 3.9.2. + * Tweak the u-boot-tools description. + * Drop igep0020, omap3_beagle, and omap4_panda targets from + armel; they are available on armhf. + + -- Clint Adams Tue, 26 Apr 2011 16:11:24 -0400 + +u-boot (2011.03-5) unstable; urgency=low + + [ Sebastian Reichel ] + * Add Pandaboard target. closes: #624123 + * New patch to change default console on Pandaboard. + + -- Clint Adams Mon, 25 Apr 2011 15:36:16 -0400 + +u-boot (2011.03-4) unstable; urgency=low + + * Enable FAT, SD/MMC, MTD, JFFS, UBIFS support on OpenRD boards. + + -- Clint Adams Wed, 13 Apr 2011 18:05:36 -0400 + +u-boot (2011.03-3) unstable; urgency=low + + * Actually pass the right arch_number for OpenRD-Ultimate. + + -- Clint Adams Tue, 12 Apr 2011 14:28:20 -0400 + +u-boot (2011.03-2) unstable; urgency=low + + * Fix i386 FTBFS with eNET-monitor_flash_len.diff + * Add patch for OpenRD-Client and OpenRD-Ultimate. + * Drop openrd_base target and add openrd_ultimate target. + + -- Clint Adams Tue, 05 Apr 2011 15:56:43 -0400 + +u-boot (2011.03-1) unstable; urgency=low + + [ Loïc Minier ] + * Only try to build env tools when Linux MTD headers are present. + closes: #619673. + + [ Clint Adams ] + * New upstream version. + - Drop fix-definition-of-global_data-struct.diff (now upstream). + - Drop EfikaMX-switch-to-MACH_TYPE_MX51_EFIKAMX.diff (upstream now). + - Drop sh-sh7785lcr-Fix-out-of-tree-building.diff (upstream now). + - Drop MIPS-dbau1x00-Remove-unused-flash-driver-stub.diff (upstream now). + - Drop x86-Align-config.mk-and-linker-scripts-with-other-ar.diff + (upstream now). + - Update snapshot.commit to 2011.03 + + -- Clint Adams Fri, 01 Apr 2011 10:30:46 -0400 + +u-boot (2011.03~rc1-4) experimental; urgency=low + + * Add patch x86-Align-config.mk-and-linker-scripts-with-other-ar. + From upstream mailing-list; fixes x86 build (eNET). + + -- Loïc Minier Wed, 09 Feb 2011 14:51:01 +0100 + +u-boot (2011.03~rc1-3) experimental; urgency=low + + * Add debian/source/local-options + - unapply-patches: avoids committing patched tree after a build + - abort-on-upstream-changes: avoids creating a debian-changes-* patch + when building from a dirty tree + * Add patch MIPS-dbau1x00-Remove-unused-flash-driver-stub, + from u-boot-mipsel.git 17a990b55008fd79636e4880d9d10b7172ca87ce and also + sent to the upstream mailing-list; fixes build of dbau1x00 board by + removing board/dbau1x00/flash.c entirely, and hence fixes the build of + u-boot on mipsel. + + -- Loïc Minier Tue, 08 Feb 2011 16:49:05 +0100 + +u-boot (2011.03~rc1-2) experimental; urgency=low + + * New patch sh-sh7785lcr-Fix-out-of-tree-building; from upstream + e72f46787f44c1104a8df18511ab230b6072a1f0; fixes Debian sh4 build; thanks + Nobuhiro Iwamatsu; closes: #611873. + + -- Loïc Minier Mon, 07 Feb 2011 17:20:16 +0100 + +u-boot (2011.03~rc1-1) experimental; urgency=low + + * dpkg-shlibdeps usr/bin/* rather than just mkimage. + * uboot-mkimage's Section is utils. + * Allow overriding CROSS_COMPILE. + * New upstream release candidate. + - Merge commit v2011.03-rc1 + - Update snapshot.commit to 2011.03-rc1 + * Add EfikaMX support. + - Add patch EfikaMX-switch-to-MACH_TYPE_MX51_EFIKAMX from the upstream + mailing-list; fixes build on EfikaMX (EfikaMX: switch to + MACH_TYPE_MX51_EFIKAMX) + - Add patch Drop-config.h-include-in-tools-imximage.h from the upstream + mailing-list; fixes tools-all build of imximage.c. + - Build u-boot.imx for efikamx on armel. + * Refresh patch kerma-sheevaplug-mvsdio to fix fuzz. + + -- Loïc Minier Thu, 03 Feb 2011 13:13:14 +0100 + +u-boot (2010.12-2) unstable; urgency=low + + * Avoid calling dpkg-architecture if DEB_HOST_ARCH is set. + * Misc refactoring of debian/rules. + - Split per architecture list of platform and targets into + debian/targets. + - Actually use INSTALL_FILE/INSTALL_DIR/INSTALL_PROGRAM. + - Add support for cross-builds; these will currently lack tools. + - Build board-specific u-boot files in a separate build dir from the + generic tools + * Fix handling of -Wl,foo LDFLAGS; the upstream build passes LDFLAGS + directly to ld instead of calling gcc for linking; so instead of passing + -Wl,foo in LDFLAGS as in automake builds, one should set LDFLAGS to foo + directly; add a snippet to strip -Wl, from LDFLAGS; alternatively, we + could do as in other special packages like the kernel and simply unset + LDFLAGS entirely; closes: #607613. + * Install and compress upstream mkimage manpage; based on a patch by + Marcin Juszkiewicz. + * Add a dummy uboot-mkimage package for upgrades from squeeze; based on a + patch by Marcin Juszkiewicz; closes: #607618. + * Add new patch, fix-definition-of-global_data-struct, from the upstream + x86 maintainer; fixes build of eNET board which breaks u-boot's build on + i386; closes: #608801. + * Workaround an upstream bug in distclean by removing include/asm/proc and + /arch explicitly for now; patch was sent upstream. + * Don't repeat Section: in binary package. + * Add myself to Uploaders. + * Split tools in u-boot-tools package. + * Drop board-specific tools; these are too dangerous; only ship mkimage for + now. + * Add igep0020 and omap3_beagle builds on armel + * Update snapshot.commit to the 2010.12 release contents; this avoids a + pointless diff with the tarball. + + -- Loïc Minier Mon, 17 Jan 2011 22:43:41 +0100 + +u-boot (2010.12-1) unstable; urgency=low + + * New upstream version. + * Install more tools in preparation for splitting off a + u-boot-tools binary package. + + -- Clint Adams Tue, 28 Dec 2010 17:03:44 -0500 + +u-boot (2010.12~rc3-1) unstable; urgency=low + + * New upstream release candidate. + * Add dockstar target. + + -- Clint Adams Sun, 19 Dec 2010 09:45:42 -0500 + +u-boot (2010.12~rc2-1) unstable; urgency=low + + * New upstream release candidate. + * Add openrd_base target. + + -- Clint Adams Sat, 04 Dec 2010 15:32:38 -0500 + +u-boot (2010.09-2) unstable; urgency=low + + * Enable ext2 commands on GuruPlug. + * Ship ELF files (for loading into RAM with OpenOCD). + + -- Clint Adams Sat, 20 Nov 2010 18:20:40 -0500 + +u-boot (2010.09-1) unstable; urgency=low + + * New upstream release. + + -- Clint Adams Wed, 29 Sep 2010 00:06:25 -0400 + +u-boot (2010.09~rc2-1) unstable; urgency=low + + * New upstrem release candidate. + + -- Clint Adams Sun, 19 Sep 2010 14:20:52 -0400 + +u-boot (2010.09~rc1-2) unstable; urgency=low + + * Add patch from Gérald Kerma to add Sheevaplug mvsata support. + * Add patch from Gérald Kerma to add Sheevaplug mvsdio support. + + -- Clint Adams Sun, 12 Sep 2010 11:48:22 -0400 + +u-boot (2010.09~rc1-1) unstable; urgency=low + + * New upstream release candidate. + - Drop guruplug-miiphy_reset.diff. + - Update mipsel-native-endianness.diff. + - Drop sh4-native-compile.diff. + * Bump to Standards-Version 3.9.1. + + -- Clint Adams Sat, 11 Sep 2010 00:43:04 -0400 + +u-boot (2010.06-1) unstable; urgency=low + + * New upstream version. + + -- Clint Adams Sat, 03 Jul 2010 13:49:46 -0400 + +u-boot (2010.06~rc3-1) unstable; urgency=low + + * New upstream version. + * Fix sh4-native-compile.diff to not break sh64, thanks to Paul + Mundt. + * Ship mkimage, conflict/replace uboot-mkimage, build on all + architectures. + + -- Clint Adams Fri, 25 Jun 2010 14:49:06 -0400 + +u-boot (2010.06~rc2-1) unstable; urgency=medium + + * Add sh4-native-compile.diff from Aurelien Jarno. closes: #586026. + * New upstream version. + - Drop marvell-machtypes.diff. + + -- Clint Adams Tue, 15 Jun 2010 21:37:26 -0400 + +u-boot (2010.06~rc1-6) unstable; urgency=medium + + * Add guruplug-miiphy_reset.diff. + * Clean between targets. closes: #585570. + + -- Clint Adams Fri, 11 Jun 2010 21:57:31 -0400 + +u-boot (2010.06~rc1-5) unstable; urgency=low + + * Replace mipsel-native-endianness.diff with patch adapted + from a 2008 mailing list posting by Shinya Kuribayashi. + + -- Clint Adams Fri, 04 Jun 2010 20:08:27 -0400 + +u-boot (2010.06~rc1-4) unstable; urgency=low + + * Add r2dplus target for sh4. + * mipsel-native-endianness.diff: don't force endianness on mips/mipsel + + -- Clint Adams Thu, 03 Jun 2010 19:32:50 -0400 + +u-boot (2010.06~rc1-3) unstable; urgency=low + + * Fix mipsel typo. + * Apply patch from Nobuhiro Iwamatsu to change sh4 target board + from espt to sh7785lcr_32bit. closes: #584192. + + -- Clint Adams Wed, 02 Jun 2010 08:25:04 -0400 + +u-boot (2010.06~rc1-2) unstable; urgency=low + + * Produce u-boot.bin on i386. + * Switch mipsel target to AMD DBAu1100. + * Add marvell-machtypes.diff. + + -- Clint Adams Mon, 31 May 2010 22:09:29 -0400 + +u-boot (2010.06~rc1-1) unstable; urgency=low + + * Add Vcs-Git and Vcs-Browser headers. + * Add GuruPlug target (armel). + * Switch mipsel target to TB0229. + * Add watch file. + * Update README.Debian for SheevaPlug and GuruPlug. + + -- Clint Adams Mon, 31 May 2010 19:29:40 -0400 + +u-boot (2010.03-1) unstable; urgency=low + + * Initial packaging. closes: #583605. + + -- Clint Adams Fri, 28 May 2010 16:20:39 -0400 diff --git a/control b/control new file mode 100644 index 000000000..30780bf51 --- /dev/null +++ b/control @@ -0,0 +1,50 @@ +Source: u-boot +Section: admin +Priority: optional +Maintainer: Clint Adams +Uploaders: Loïc Minier +Standards-Version: 3.9.2 +Homepage: http://www.denx.de/wiki/U-Boot/ +Vcs-Git: git://git.debian.org/collab-maint/u-boot.git +Vcs-Browser: http://git.debian.org/?p=collab-maint/u-boot.git;a=summary + +Package: u-boot +Architecture: any +Description: A boot loader for embedded systems + Das U-Boot is a cross-platform bootloader for embedded systems, + used as the default boot loader by several board vendors. It is + intended to be easy to port and to debug, and runs on many + supported architectures, including PPC, ARM, MIPS, x86, m68k, + NIOS, and Microblaze. + +Package: u-boot-tools +Architecture: any +Depends: ${shlibs:Depends} +Breaks: uboot-envtools (<< 20081215-3~), + uboot-mkimage (<= 0.4build1), + u-boot (<< 2010.12-2) +Replaces: uboot-envtools (<< 20081215-3~), + uboot-mkimage (<= 0.4build1), + u-boot (<< 2010.12-2) +Description: companion tools for Das U-Boot bootloader + This package includes the mkimage program, which allows generation of U-Boot + images in various formats, and the fw_printenv and fw_setenv programs to read + and modify U-Boot's environment. + +Package: uboot-envtools +Section: utils +Architecture: all +Depends: u-boot-tools +Description: read/modify the environment for the U-Boot boot loader (transitional package) + Package to ease upgrading from uboot-envtools to u-boot-tools. + . + This package may safely be removed. + +Package: uboot-mkimage +Section: utils +Architecture: all +Depends: u-boot-tools +Description: generate kernel image for U-Boot (transitional package) + Package to ease upgrading from uboot-mkimage to u-boot-tools. + . + This package may safely be removed. diff --git a/copyright b/copyright new file mode 100644 index 000000000..1195aeaee --- /dev/null +++ b/copyright @@ -0,0 +1,732 @@ +This is the Debian prepackaged version of Das U-Boot +with lots of features. + +This package was put together by Clint Adams +with sources obtained from: + ftp://ftp.denx.de/pub/u-boot/ + +u-boot took over some packaging bits from uboot-mkimage which was copyright +Joey Hess and Marc Singer and from +uboot-envtools which was copyright Per Andersson . + +The following copyright and license apply to this software: + +Copyright © 2000-2009 Wolfgang Denk, DENX Software Engineering, wd@denx.de. + +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. + +The full text of the GNU GPL may be found on your Debian system +in /usr/share/common-licenses. + + +Some of the files distributed in the source package are +(C) Copyright 2009 Industrie Dial Face S.p.A. +Copyright (C) Motorola, 2003. +Copyright (C) 1999 David A. Hinds. +Copyright (c) Marc A. Viredaz, 1998 +Copyright (c) 2003 Josef Baumgartner +Copyright (c) 2000 Broadcom +Copyright (c) 2001 Broadcom +Copyright (C) 1998,1999 Cygnus Solutions +Copyright 1996, 97, 99, 2002, 03 Ralf Baechle +(C)Copyright 1997-1998 DAVICOM Semiconductor,Inc. +Copyright 1997-2002 ELTEC Elektronik AG +(C) Copyright 1999, by Curt McDowell, 08-06-99, Broadcom Corp. +(C) Copyright 1999 Gregory P. Smith +(C) Copyright 1999, Greg Ungerer (gerg@snapgear.com) +(C) Copyright 1999 Johannes Erdfelt +(C) Copyright 1999 Linus Torvalds +(C) Copyright 1999 Randy Dunlap +(C) Copyright 1999 Roman Weissgaerber +(C) Copyright 1999 Silicon Graphics, Inc. +(C) Copyright 2000-2001 David Brownell +(C) Copyright 2000-2002 David Brownell +(C) Copyright 2000, Lineo Inc. (www.lineo.com) +(C) Copyright 2000 Sysgo Real-Time Solutions, GmbH +(C) Copyright 2001 Denis Peter, MPL AG Switzerland +(C) Copyright 2001 ELTEC Elektronik AG +(C) Copyright 2001, James Dougherty, 07/18/01, Broadcom Corp. +(C) Copyright 2001, Stuart Hughes, Lineo Inc, stuarth@lineo.com +(C) Copyright 2001 Sysgo Real-Time Solutions, GmbH +(C) Copyright 2002, 2003 Motorola Inc. +(c) Copyright 2002-2004 Xilinx Inc. +(C) Copyright 2002 Denis Peter, MPL AG Switzerland +(C) Copyright 2002 ELTEC Elektronik AG +(C) Copyright 2002 Gary Jennejohn, DENX Software Engineering, +(C) Copyright 2002 Jun Gu +(C) Copyright 2002,Motorola Inc. +(C) Copyright 2002 Scott McNutt +(C) Copyright 2002 SIXNET, dge@sixnetio.com. +(C) Copyright 2002 Wolfgang Grandegger +(c) Copyright 2002 Xilinx Inc. +(C) Copyright 2003-2004 Arabella Software Ltd. +(C) Copyright 2003-2005 Arabella Software Ltd. +(C) Copyright 2003, ARM Ltd. +(C) Copyright 2003, Dan Malek, Embedded Edge, LLC. +(C) Copyright 2003 Embedded Edge, LLC +(C) Copyright 2003 Intracom S.A. +(C) Copyright 2003 Intrinsyc Software +(C) Copyright 2003 Josef Baumgartner +(C) Copyright 2003, Li-Pro.Net +(C) Copyright 2003 Martin Winistoerfer, martinwinistoerfer@gmx.ch. +(C) Copyright 2003 Motorola Inc. +(C) Copyright 2003 Pengutronix e.K. +(C) Copyright 2003 Picture Elements, Inc. +(C) Copyright 2003, Psyent Corporation +(C) Copyright 2003 Sandburst Corporation +(C) Copyright 2003 Stefan Roese, stefan.roese@esd-electronics.com +(C) Copyright 2003 Sysgo Real-Time Solutions, AG +(C) Copyright 2003; Tundra Semiconductor Corp. +(C) Copyright 2003 Wolfgang Grandegger +(C) Copyright 2004-2005, Greg Ungerer +(C) Copyright 2004-2006 Atmel Corporation +(C) Copyright 2004-2008 Freescale Semiconductor, Inc. +(C) Copyright 2004-2008 Texas Instruments, +(C) Copyright 2004 Ales Jindra +(C) Copyright 2004, ARM Ltd. +(C) Copyright 2004 Atmark Techno, Inc. +(C) Copyright 2004 by FS Forth-Systeme GmbH. +(C) Copyright 2004 eslab.whut.edu.cn +(C) Copyright 2004, Freescale, Inc +(C) Copyright 2004 Freescale Semiconductor. +(C) Copyright 2004 Intracom S.A. +(C) Copyright 2004, Li-Pro.Net +(C) Copyright 2004 Paul Reynolds +(C) Copyright 2004, Psyent Corporation +(C) Copyright 2004 Sandburst Corporation +(C) Copyright 2004, Shlomo Kut +(C) Copyright 2004 Tundra Semiconductor Corp. +(C) Copyright 2004 Wind River Systems Inc . +(C) Copyright 2005-2007 Netstal Maschinen AG +(C) Copyright 2005-2008 Netstal Maschinen AG +(C) Copyright 2005-2008 Samsung Electronics +(C) Copyright 2005-2009 BuS Elektronik GmbH & Co.KG +(C) Copyright 2005-2009 Netstal Maschinen AG +(C) Copyright 2005-2009 Samsung Electronics +(C) Copyright 2005 2N TELEKOMUNIKACE, Ladislav Michl +(C) Copyright 2005 BuS Elektronik GmbH & Co.KG +(C) Copyright 2005 Embedded Alley Solutions, Inc. +(C) Copyright 2005 Freescale Semiconductor, Inc. +(C) Copyright 2005 Ladislav Michl +(C) Copyright 2005 Netstal Maschinen AG +(C) Copyright 2005, Psyent Corporation +(C) Copyright 2005 REA Elektronik GmbH +(C) Copyright 2005 Rowel Atienza +(C) Copyright 2006, 2007 Detlev Zundel, dzu@denx.de +(C) Copyright 2006-2007 Freescale Semiconductor, Inc. +(C) Copyright 2006 ATMEL Rousset, Lacressonniere Nicolas +(C) Copyright 2006 Detlev Zundel, dzu@denx.de +(C) Copyright 2006 Embedded Artists AB +(C) Copyright 2006 Eukrea Electromatique +(C) Copyright 2006; Freescale Semiconductor Corp. +(C) Copyright 2006, Imagos S.a.s +(C) Copyright 2006 Lab X Technologies +(C) Copyright 2006 OpenMoko, Inc. +(C) Copyright 2007-2008 Netstal Maschinen AG +(C) Copyright 2007,2008 Nobuhiro Iwamatsu +(C) Copyright 2007-2008 Semihalf +(C) Copyright 2007-2008 Semihalf, Rafal Jaworowski +(C) Copyright 2007-2009 Michal Simek +(C) Copyright 2007 by OpenMoko, Inc. +(C) Copyright 2007 Freescale Semiconductor, Inc. +(C) Copyright 2007 Gary Jennejohn +(C) Copyright 2007 Markus Kappeler +(C) Copyright 2007 Nobuhiro Iwamatsu +(C) Copyright 2007 OpenMoko, Inc. +(C) Copyright 2007 Pengutronix, Juergen Beisert +(C) Copyright 2007 Pengutronix, Sascha Hauer +(C) Copyright 2007 Schindler Lift Inc. +(C) Copyright 2007 STMicroelectronics, +(C) Copyright 2007 Wind River Systems Inc . +(C) Copyright 2007 Yoshihiro Shimoda +(C) Copyright 2008, 2009 Andreas Pfefferle, +(C) Copyright 2008,2009 Eric Jarrige +(C) Copyright 2008-2009 Freescale Semiconductor, Inc. +(C) Copyright 2008-2009 Stefan Roese , DENX Software Engineering +(C) Copyright 2008 Applied Micro Circuits Corporation +(C) Copyright 2008 Armadeus Systems nc +(C) Copyright 2008 Atmel Corporation +(C) Copyright 2008 by Harald Welte +(C) Copyright 2008, Daniel Hellström, daniel@gaisler.com +(C) Copyright 2008 Dmitry Rakhchev, EmCraft Systems, rda@emcraft.com +(C) Copyright 2008 Eric Jarrige +(C) Copyright 2008, Excito Elektronik i Skåne AB +(C) Copyright 2008 Freescale Semiconductor +(C) Copyright 2008 Ilya Yanok, EmCraft Systems, yanok@emcraft.com +(C) Copyright 2008 Magnus Lilja +(C) Copyright 2008, Michael Trimarchi +(C) Copyright 2008 Michal Simek +(c) Copyright 2008 Nobuhiro Iwamatsu +(c) Copyright 2008 Renesas Solutions Corp. +(C) Copyright 2008 Semihalf +(C) Copyright 2008 Sergey Lapin +(C) Copyright 2008 Stefan Roese , DENX Software Engineering +(C) Copyright 2008, Texas Instruments, Inc. http://www.ti.com/ +(C) Copyright 2008 Wolfgang Grandegger +(C) Copyright 2009 Alessandro Rubini +(C) Copyright 2009 Atin Malaviya (atin.malaviya@gmail.com) +(C) Copyright 2009 CJSC "NII STT", Russia, Smolensk +(C) Copyright 2009, DAVE Srl +(C) Copyright 2009 Detlev Zundel, +(C) Copyright 2009 Faraday Technology +(C) Copyright 2009 Freescale Semiconductor, Inc. +(C) Copyright 2009 Ilya Yanok, Emcraft Systems Ltd +(C) Copyright 2009 Industrie Dial Face S.p.A. +(C) Copyright 2009 Magnus Lilja +(C) Copyright 2009 Marco Stornelli +(C) Copyright 2009 mGine co. +(C) Copyright 2009 Reinhard Arlt, reinhard.arlt@esd-electronics.com +(C) Copyright 2009 Samsung Electronics +(C) Copyright 2009 Semihalf, Grzegorz Bernacki +(C) Copyright 2009 Stefan Roese +(C) Copyright 2010, Chris Zhang +(C) Copyright Andreas Gal 1999 +(C) Copyright David Brownell 2000 (kernel hotplug, usb_device_id) +(C) Copyright Deti Fliegl 1999 (new USB architecture) +(C) Copyright Gregory P. Smith 1999 +(C) Copyright Johannes Erdfelt 1999-2001 +(C) Copyright Linus Torvalds 1999 +(C) Copyright Motorola, Inc., 2000 +(C) Copyright Randy Dunlap 2000 +(C) Copyright Sheldon Instruments, Inc. 2008 +(C) Copyright Yggdrasil Computing, Inc. 2000 +Copyright 1992, Linus Torvalds. +Copyright 1994, 1995, 2000 Neil Russell. +Copyright 1994 - 2000 Neil Russell. +Copyright 1995, Russell King. +Copyright 1996 Roman Zippel +Copyright 1998-2001 by Donald Becker. +Copyright 1999-2000 D. Jeff Dionne, +Copyright 1999 Advanced Micro Devices, Inc. +Copyright 1999 D. Jeff Dionne +Copyright 2000-2001 Lineo, Inc. D. Jeff Dionne +Copyright 2000,2001 MontaVista Software Inc. +Copyright 2000-2002 by Hans Reiser, licensing governed by reiserfs/README +Copyright 2000 Paolo Scaffardi +Copyright 2000 Roland Borde +Copyright 2001-2005, Intel Corporation. +Copyright © 2001-2007 Red Hat, Inc. and others +Copyright 2001 Embedded Planet. All rights reserved. +Copyright 2001 MontaVista Software Inc. +Copyright 2002 Arcturus Networks Inc. MaTed +Copyright 2002 Etinsys Inc. +Copyright 2002, GALILEO TECHNOLOGY, LTD. * +Copyright 2002 Mind NV +Copyright 2002 MontaVista Software Inc. +Copyright 2002 SYSGO Real-Time Solutions GmbH +Copyright 2003-2004 Jeff Garzik +Copyright 2003-2004 Red Hat, Inc. All rights reserved. +Copyright 2003-2008 Analog Devices Inc. +Copyright 2003 AMIRIX Systems Inc. +Copyright 2003 Bas Vermeulen , +Copyright 2003 by FS Forth-Systeme GmbH. +Copyright 2003 Metrowerks - for Blackfin +Copyright 2003 Metrowerks/Motorola +Copyright 2003 Motorola,Inc. +Copyright 2004-2009 Analog Devices Inc. +Copyright 2004-2009 Freescale Semiconductor. +Copyright © 2004 Ferenc Havasi , +Copyright 2004 Karen Spearel +Copyright 2004 Picture Elements, Inc. +Copyright 2005 Alessandro Zummo +Copyright 2005 ETIN SYSTEMS Co.,Ltd. +Copyright 2005, Seagate Technology LLC +Copyright 2006,2009-2010 Freescale Semiconductor, Inc. +Copyright 2006 Applied Micro Circuits Corporation +Copyright 2006 IBM +Copyright 2007-2008 Freescale Semiconductor, Inc. +Copyright 2007,2008 Nobuhiro Iwamatsu +Copyright 2007,2009 Wind River Systems, Inc. +Copyright 2007, Embedded Specialties, Inc. +Copyright 2008-2009 Stefan Roese , DENX Software Engineering +Copyright 2008-2010 Freescale Semiconductor, Inc. +Copyright 2008 (C) Bryan O'Donoghue +Copyright 2008 Extreme Engineering Solutions, Inc. +Copyright 2008 Matrix Vision GmbH +Copyright 2008 Mentor Graphics Corporation +Copyright 2008, Network Appliance Inc. +Copyright 2008 Qstreams Networks, Inc. +Copyright 2008 Sascha Hauer, kernel@pengutronix.de +Copyright 2008 Silicon Turnkey Express, Inc. +Copyright 2009 Analog Devices Inc. +Copyright 2009 CJSC "NII STT", http://www.niistt.ru/ +Copyright 2009(C) Marvell International Ltd. and its affiliates +Copyright 2009 Dirk Behme, dirk.behme@googlemail.com +Copyright 2009 Extreme Engineering Solutions, Inc. +Copyright 2009 Freescale Semiconductor, Inc +Copyright 2009 Ilya Yanok, +Copyright 2009: Marvell Technology Group Ltd. +Copyright 2009, Matthias Fuchs +Copyright 2009, Robin Getz +Copyright 2009 Semihalf. +Copyright 2010, Renato Andreola +Copyright (C) 1985 MIPS Computer Systems, Inc. +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +Copyright (C) 1990 - 1992, 1999 Silicon Graphics, Inc. +Copyright (C) 1990, 1999 by Silicon Graphics, Inc. +Copyright (C) 1991, 1992 Linus Torvalds +Copyright (C) 1991,1996-1999,2001,2004,2007 Free Software Foundation, Inc. +Copyright (C) 1991-2004 SciTech Software, Inc. +Copyright (C) 1991-2004 SciTech Software, Inc. All rights reserved. +Copyright (C) 1992, 1997 Free Software Foundation, Inc. +Copyright (C) 1993, 1996, 2001, 2002 Free Software Foundation, Inc. +Copyright (C) 1993 Hamish Macdonald +Copyright (c) 1993 Herb Peyerl (hpeyerl@novatel.ca) +Copyright (C) 1994, 1995, 1996, 1997, 2000, 2001 by Ralf Baechle +Copyright (C) 1994, 1995, 1996, 1999 by Ralf Baechle +Copyright (C) 1994, 1995, 1996 by Ralf Baechle +Copyright (C) 1994, 1995 Waldorf GmbH +Copyright (C) 1994 - 2000 Ralf Baechle +Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu) +Copyright (C) 1994 Hamish Macdonald +Copyright (C) 1994 Waldorf GMBH +Copyright (C) 1995, 1996, 1997, 1998, 1999, 2001, 2002, 2003 Ralf Baechle +Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc. +Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) +Copyright (C) 1995-1998 Mark Adler +Copyright (C) 1995, 1999 Silicon Graphics +Copyright (C) 1995-2002 Russell King +Copyright (C) 1995-2005 Jean-loup Gailly. +Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler +Copyright (C) 1995-2005 Mark Adler +Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) +Copyright (C) 1995 Hamish Macdonald +Copyright (C) 1996,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz) +Copyright (C) 1996, 1999, 2001 David S. Miller (davem@redhat.com) +Copyright (C) 1996-1999 SciTech Software, Inc. +Copyright (C) 1996-2002 Julian R Seward. All rights reserved. +Copyright (C) 1996-2002 Markus Franz Xaver Johannes Oberhumer +Copyright (C) 1996-2005 Markus F.X.J. Oberhumer +Copyright (C) 1996 by Erik Stahlman (ES) +Copyright (C) 1996 by Paul M. Antoine +Copyright (C) 1996 Larry Ewing (lewing@isc.tamu.edu) +Copyright (C) 1996 Paul Mackerras. +Copyright (C) 1996 Paul M. Antoine +Copyright (C) 1997, 1999, 2001, 06 by Ralf Baechle +Copyright (C) 1997-1999 Russel King +Copyright (c) 1997 Dan Malek (dmalek@jlc.net) +Copyright (C) 1997 Sten Wang +Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. +Copyright (C) 1998, 1999 D. Jeff Dionne +Copyright (C) 1998,2001 M-Systems Flash Disk Pioneers Ltd. +Copyright (C) 1998 Dan Malek +Copyright (C) 1998 D. Jeff Dionne , +Copyright (C) 1998 Gabriel Paubert. +Copyright (c) 1998 Harald Koerfgen +Copyright (C) 1998 Kenneth Albanowski +Copyright (C) 1999 2000 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl) +Copyright (C) 1999 2000 2001 Jan-Derk bakker (J.D.Bakker@its.tudelft.nl) +Copyright (C) 1999, 2000 Niibe Yutaka +Copyright (C) 1999, 2000 Niibe Yutaka & Kaz Kojima +Copyright (C) 1999, 2000 Silicon Graphics, Inc. +Copyright(c) 1999 - 2002 Intel Corporation. All rights reserved. +Copyright (C) 1999-2003 David Woodhouse et al. +Copyright (C) 1999-2005 Igor Pavlov +Copyright (C) 1999 ARM Limited. +Copyright (C) 1999 Ben Williamson +Copyright (C) 1999 by Silicon Graphics, Inc. +Copyright (C) 1999 David Mosberger-Tang +Copyright (C) 1999 Egbert Eich +Copyright (C) 1999 Hewlett-Packard Co +Copyright (C) 1999 Linus Torvalds +Copyright (C) 1999 Machine Vision Holdings, Inc. +Copyright (C) 1999 Magnus Damm +Copyright (c) 1999 Nicolas Pitre +Copyright (C) 1999 Niibe Yutaka +Copyright (C) 1999 Russell King. +Copyright (C) 1999 Silicon Graphics, Inc. +Copyright (C) 1999 Vladimir Gurevich +Copyright (C) 2000, 07 MIPS Technologies, Inc. +Copyright (c) 2000, 2001, 2002 Lineo +Copyright(c) 2000-2001 Broadcom Corporation. +Copyright (c) 2000,2001 Epson Research and Development, Inc. +Copyright (C) 2000,2001 Larry Doolittle +Copyright (C) 2000, 2001 NETsilicon, Inc. +Copyright (C) 2000, 2001 Red Hat, Inc. +Copyright (C) 2000, 2001 WireSpeed Communications Corporation +Copyright (c) 2000-2002 Dave Ellis, SIXNET, dge@sixnetio.com +Copyright (C) 2000, 2002 Maciej W. Rozycki +Copyright (C) 2000-2002 Russell King +Copyright (C) 2000-2002 Transmeta Corporation +Copyright (C) 2000-2004 Steven J. Hill (sjhill@realitydiluted.com) +Copyright (C) 2000-2005 Corelatus AB +Copyright (c) 2000 by Silicon Graphics, Inc. +Copyright (c) 2000 David Woodhouse +Copyright (C) 2000 Deep Blue Solutions Ltd. +Copyright (C) 2000 FSMLabs, Inc. +Copyright (C) 2000 MIPS Technologies, Inc. +Copyright (c) 2000 MontaVista Software, Inc. Dan Malek (dmalek@jlc.net) +Copyright (c) 2000 MontaVista Software, Inc (source@mvista.com) +Copyright (C) 2000 Murray Jensen +Copyright (C) 2000 Netgem S.A. +Copyright (C) 2000 NETsilicon, Inc. +Copyright (c) 2000 Philip Edelbrock +Copyright (C) 2000 Red Hat, Inc. +Copyright (C) 2000 Silicon Graphics, Inc. +Copyright (C) 2000 Steven J. Hill (sjhill@realitydiluted.com) +Copyright (c) 2000 William L. Pitts and W. Gerald Hicks +Copyright (C) 2000 WireSpeed Communications Corporation +Copyright (C) 2001,02 Miles Bader +Copyright (C) 2001,02 NEC Corporation +Copyright(c) 2001-2002 Arcturus Networks Inc. +Copyright (C) 2001, 2002 ETC s.r.o. +Copyright (C) 2001,2002 Miles Bader +Copyright (C) 2001,2002 NEC Corporation +Copyright (C) 2001-2003 Christophe Devine +Copyright (C) 2001-2003 David Woodhouse +Copyright (C) 2001-2004 BUFFALO INC. +Copyright (c) 2001, Advent Networks, Inc. +Copyright (c) 2001 Alex Züpke +Copyright (C) 2001 ARM Limited +Copyright (C) 2001 Entity Cyber, Inc. +Copyright (C) 2001 Entity Cyber, Inc. +Copyright (C) 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl) +Copyright (C) 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl) +Copyright (c) 2001 Gerd Mennchen +Copyright (c) 2001 Hewlett Packard +Copyright (C) 2001, James Dougherty, jfd@cs.stanford.edu +Copyright (C) 2001 Josh Huber +Copyright (c) 2001 Marius Gröger +Copyright (C) 2001 Miles Bader +Copyright (C) 2001 MIPS Technologies, Inc. +Copyright (c) 2001 Navin Boppuri / Prashant Patel +Copyright (C) 2001 NEC Corporation +Copyright (C) 2001 Peter Bergner. +Copyright (C) 2001 Red Hat, Inc. +Copyright (C) 2001 RidgeRun, Inc. (http://www.ridgerun.com) +Copyright (C) 2001 Samsung Electronics by chc, 010406 +Copyright (C) 2001, Software Center, Motorola China. +Copyright (C) 2001 Standard Microsystems Corporation (SMSC) +Copyright (C) 2001 Sysgo Real-Time Solutions, GmbH +Copyright(c) 2001 Tony Z. Kou +Copyright (c) 2001 William L. Pitts +Copyright (C) 2002-2003 Greg Ungerer +Copyright(c) 2002,2003 Motorola Inc. +Copyright (c) 2002, 2003 Omicron Ceti AB, Daniel Engström +Copyright (C) 2002-2003 SnapGear Inc +Copyright (C) 2002-2007 Aleph One Ltd. +Copyright (c) 2002-2007 Analog Devices Inc. +Copyright (c) 2002 Alex Züpke +Copyright (C) 2002 Andrew Lunn +Copyright (C) 2002 Daniel Engström, Omicron Ceti AB, daniel@omicron.se. +Copyright (C) 2002 ETC s.r.o. +Copyright (c) 2002 Gary Jennejohn +Copyright (C) 2002 Gary Thomas +Copyright (c) 2002, Infineon Technologies. +Copyright (C) 2002 Intel Corporation. +Copyright (C) 2002 James F. Dougherty (jfd@broadcom.com) +Copyright (C) 2002 Kyle Harris +Copyright (C) 2002 Maciej W. Rozycki +Copyright (c) 2002 Omicron Ceti AB, Daniel Engström +Copyright (C) 2002 Paul Mundt +Copyright (C) 2002 rabeeh@galileo.co.il +Copyright (C) 2002 RidgeRun, Inc. +Copyright (C) 2002 Samsung Electronics SW.LEE +Copyright (C) 2002 Scott McNutt +Copyright (c) 2002 Stephan Linz , +Copyright (C) 2002 Thomas Gleixner (tglx@linutronix.de) +Copyright (c) 2003/06, Courage Co., Ltd. +Copyright (C) 2003-2004 Arabella Software Ltd. +Copyright (C) 2003, 2004 Free Software Foundation, Inc. +Copyright (C) 2003-2004, Greg Ungerer (gerg@snapgear.com) +Copyright (C) 2003, 2004 Maciej W. Rozycki +Copyright (C) 2003-2005 Arabella Software Ltd. +Copyright (C) 2003-2005 Nokia Corporation +Copyright (C) 2003-2006 Christophe Devine +Copyright (C) 2003 Aleph One Ltd. +Copyright (C) 2003 Arabella Software Ltd. +Copyright (C) 2003 ATMEL +Copyright (c) 2003 Bas Vermeulen , +Copyright (C) 2003 Bernardo Innocenti +Copyright (C) 2003 Cirrus Logic, Inc +Copyright (c) 2003 Denis Peter, MPL AG Switzerland, d.petr@mpl.ch. +Copyright (C) 2003 ETC s.r.o. +Copyright (C) 2003 IMMS gGmbH +Copyright (C) 2003 John Williams +Copyright (C) 2003 John Williams +Copyright (C) 2003 John Williams +Copyright (C) 2003 John Williams (jwilliams@itee.uq.edu.au) +Copyright (c) 2003 Josef Baumgartner +Copyright (C) 2003 Josef Baumgartner +Copyright (C) 2003 Kai-Uwe Bloem, +Copyright (C) 2003 Kai-Uwe Bloem +Copyright (C) 2003 Konrad Eisele +Copyright (c) 2003 Kshitij +Copyright (C) 2003 Kyle Harris +Copyright (C) 2003 Manuel Novoa III +Copyright (C) 2003 Martin Krause, TQ-Systems GmbH, martin.krause@tqs.de +Copyright (C) 2003 Martin Winistoerfer, martinwinistoerfer@gmx.ch. +Copyright (c) 2003 Masami Komiya +Copyright (c) 2003 Metrowerks/Motorola +Copyright(c) 2003 Metrowerks +Copyright (C) 2003 Montavista Software, Inc +Copyright (C) 2003 Motorola Inc. +Copyright (c) 2003 Richard Woodruff +Copyright (C) 2003 Robert Schwebel +Copyright (C) 2003 SAN People +Copyright (c) 2003 Texas Instruments +Copyright (c) 2003 Thomas.Lange@corelatus.se +Copyright (C) 2003 Travis B. Sawyer +Copyright (C) 2004-2005 Arabella Software Ltd. +Copyright (c) 2004-2005, Greg Ungerer +Copyright (c) 2004-2005 Sergey Lyubka +Copyright (C) 2004-2006 Atmel Corporation +Copyright (C) 2004-2007 ARM Limited. +Copyright (C) 2004-2008 Arthur Shipkowski (art@videon-central.com) +Copyright (c) 2004-2008 Texas Instruments +Copyright (C) 2004-2009 Analog Devices Inc. +Copyright (C) 2004-2009 Freescale Semiconductor, Inc. +Copyright (C) 2004 Arabella Software Ltd. +Copyright (C) 2004 by FS Forth-Systeme GmbH. +Copyright (c) 2004 Cucy Systems (http://www.cucy.com) +Copyright (C) 2004 David Brownell +Copyright (C) 2004 Gaisler Research AB +Copyright (C) 2004 Gary Jennejohn garyj@denx.de +Copyright (C) 2004 IMMS gGmbH +Copyright (C) 2004 Lothar Wassmann +Copyright (C) 2004 MPC-Data Limited. (http://www.mpc-data.co.uk) +Copyright (C) 2004 Nokia Corporation +Copyright (C) 2004 Patrik Kluba, +Copyright (C) 2004 PaulReynolds@lhsolutions.com +Copyright (c) 2004 Picture Elements, Inc. +Copyright (C) 2004 Psion Teklogix +Copyright (C) 2004 Ray Lehtiniemi +Copyright (C) 2004 Sascha Hauer, Synertronixx GmbH +Copyright (C) 2004 Stefan Holst +Copyright (C) 2004 Sylvain Munaut +Copyright (c) 2004 Texas Instruments +Copyright (C) 2004 Thomas Gleixner (tglx@linutronix.de) +Copyright (c) 2004 TsiChung Liew (Tsi-Chung.Liew@freescale.com) +Copyright (C) 2005-2006 Atmel Corporation +Copyright (c) 2005-2006 Gianluigi Tiesi +Copyright (c) 2005-2007 Samsung Electronics +Copyright (C) 2005-2008 Arthur Shipkowski (art@videon-central.com) +Copyright (C) 2005-2008 Atmel Corporation +Copyright(c) 2005-2008 Samsung Electronics +Copyright (c) 2005-2009 Analog Devices Inc. +Copyright (c) 2005, 2009 Freescale Semiconductor, Inc +Copyright (C) 2005-2009 Samsung Electronics +Copyright (C) 2005 Arabella Software Ltd. +Copyright (C) 2005 Bas Vermeulen, BuyWays BV +Copyright (c) 2005 Ben Gardner +Copyright (C) 2005 by Videon Central, Inc. +Copyright (c) 2005 Cisco Systems. All rights reserved. +Copyright (C) 2005 David Brownell +Copyright (c) 2005 Freescale Semiconductor, Inc. +Copyright (C) 2005 HP Labs +Copyright (C) 2005 Ivan Kokshaysky +Copyright (c) 2005 MontaVista Software, Inc. +Copyright (C) 2005 Olav Kongas +Copyright (C) 2005 Sandburst Corporation +Copyright (C) 2005 Texas Instruments. +Copyright (C) 2005 Videon Central, Inc. +Copyright (C) 2005 Wind River Systems +Copyright (C) 2006-2007 Eurotech S.p.A. +Copyright (C) 2006-2007 Rodolfo Giometti +Copyright (C) 2006, 2007 University of Szeged, Hungary +Copyright (c) 2006-2007 Wind River Systems, Inc. +Copyright (c) 2006-2008 Analog Devices Inc. +Copyright (C) 2006, 2008 Atmel Corporation +Copyright (c) 2006-2008 Freescale Semiconductor +opyright (c) 2006, 2008 Junio C Hamano +Copyright (C) 2006-2008 Nokia Corporation +Copyright (c) 2006-2008 Syed Mohammed Khasim +Copyright (c) 2006-2009 Analog Devices Inc. +Copyright (c) 2006-2009 Freescale Semiconductor, Inc. +Copyright (C) 2006 Aaron Gage, Ocean Optics Inc. +Copyright (c) 2006 Ben Warren, Qstreams Networks Inc. +Copyright (C) 2006 Bryan O'Donoghue, CodeHermit +Copyright (C) 2006 by Weiss-Electronic GmbH. +Copyright (C) 2006 CodeHermit. +Copyright (C) 2006 David Gibson, IBM Corporation. +Copyright (C) 2006 Dominic Rath +Copyright (C) 2006 Embedded Artists AB (www.embeddedartists.com) +Copyright (C) 2006 Embedded Planet, LLC. +Copyright (C) 2006 Freescale Semiconductor, Inc. +Copyright (C) 2006 Free Software Foundation, Inc. +Copyright (C) 2006 Micronas GmbH +Copyright (C) 2006 Mihai Georgian +Copyright (C) 2006 Pavel Pisa, PiKRON +Copyright (C) 2006 Texas Instruments +Copyright (c) 2006 Thomas Gleixner +Copyright (c) 2006 Wind River Systems, Inc. +Copyright (c) 2007-2008 Analog Devices Inc. +Copyright (C) 2007-2008 Freescale Semiconductor, Inc. +Copyright (C) 2007-2008 Industrie Dial Face S.p.A. +Copyright (c) 2007-2008, Juniper Networks, Inc. +Copyright (C) 2007, 2008 Nobobuhiro Iwamatsu +Copyright (c) 2007-2009 Analog Devices Inc. +Copyright (C) 2007-2009 Freescale Semiconductor, Inc. +Copyright (C) 2007-2009 Industrie Dial Face S.p.A. +Copyright (C) 2007-2009 Texas Instruments, Inc. +Copyright (C) 2007 Andrew Victor +Copyright (C) 2007 Atmel Corporation +Copyright (c) 2007 Carlos Munoz +Copyright (C) 2007 Daniel Hellstrom +Copyright (C) 2007 Eurotech S.p.A. +Copyright (C) 2007 Freescale Semiconductor, Inc. +Copyright (C) 2007 Gerald Van Baren, Custom IDEAS, vanbaren@cideas.com +Copyright (C) 2007, Guennadi Liakhovetski +Copyright (C) 2007 Kenati Technologies, Inc. +Copyright (C) 2007 Lead Tech Design +Copyright (C) 2007 Logic Product Development, Inc. +Copyright (C) 2007 MontaVista Software, Inc. +Copyright (C) 2007 Nobuhiro Iwamatsu +Copyright (C) 2007 Pengutronix, +Copyright (C) 2007 Ralf Baechle (ralf@linux-mips.org) +Copyright (C) 2007 Rodolfo Giometti +Copyright (c) 2007 Samsung Electronics +Copyright (C) 2007 Sascha Hauer, Pengutronix +Copyright (C) 2007 Semihalf +Copyright (C) 2007 Sergey Kubushyn +Copyright (C) 2007 Stelian Pop +Copyright (C) 2007 Yoshihiro Shimoda +Copyright (c) 2008-2009 Analog Devices Inc. +Copyright (C) 2008,2009 Eric Jarrige +Copyright (c) 2008, 2009 esd gmbh Hannover Germany +Copyright (c) 2008-2009 I-SYST. +Copyright (C) 2008-2009 MontaVista Software, Inc. +Copyright (C) 2008-2009 Samsung Electronics +Copyright (c) 2008 Analog Devices Inc. +Copyright (C) 2008 Arthur Shipkowski (art@videon-central.com) +Copyright (C) 2008 Atmel Corporation +Copyright (C) 2008 by Texas Instruments +Copyright (C) 2008 Daniel Hellstrom (daniel@gaisler.com) +Copyright (C) 2008 Dave S.r.l. +Copyright (c) 2008 Eric Jarrige +Copyright (c) 2008 Excito Elektronik i Skåne AB +Copyright (c) 2008 Freescale Semiconductor, Inc. +Copyright (C) 2008, Guennadi Liakhovetski +Copyright (C) 2008 Jean-Christophe PLAGNIOL-VILLARD +Copyright (C) 2008 Kim B. Heino +Copyright (C) 2008 Lyrtech +Copyright (c) 2008, Michael Trimarchi +Copyright (C) 2008 Miromico AG +Copyright (C) 2008 MontaVista Software, Inc. +Copyright (C) 2008 Nobuhiro Iwamatsu +Copyright (C) 2008 Nokia Corporation +Copyright (c) 2008 Nuovation System Designs, LLC +Copyright (C) 2008 Philip Balister, OpenSDR +Copyright (c) 2008 Pieter Voorthuijsen +Copyright (C) 2008 Renaud CERRATO r.cerrato@til-technologies.fr +Copyright (C) 2008 Renesas Solutions Corp. +Copyright (C) 2008 Ronetix Ilko Iliev (www.ronetix.at) +Copyright (C) 2008 RuggedCom, Inc. +Copyright (C) 2008 Samsung Electronics +Copyright (C) 2008 Sascha Hauer, Pengutronix +Copyright (C) 2008 Texas Instruments, Inc +Copyright (C) 2008 Vivek Kutal +Copyright (c) 2008 Yoshihiro Shimoda +Copyright (C) 2008 Yusuke Goda +Copyright (C) 2009, 2010 Matthias Kaehlcke +Copyright (C) 2009 Alessandro Rubini +Copyright (c) 2009 Analog Devices Inc. +Copyright (C) 2009 BuS Elektronik GmbH & Co. KG +Copyright (C) 2009 David Brownell +Copyright (C) 2009, Emcraft Systems, Ilya Yanok +Copyright (c) 2009 esd gmbh hannover germany. +Copyright (C) 2009 Freescale Semiconductor, Inc. +Copyright (C) 2009, Ilya Yanok, Emcraft Systems, +Copyright (C) 2009 Jean-Christophe PLAGNIOL-VILLARD +Copyright (C) 2009 Jens Scharsig (js_at_ng@scharsoft.de) +Copyright (C) 2009 Matthias Kaehlcke +Copyright (c) 2009 MontaVista Software, Inc. +Copyright (C) 2009 Nick Thompson, GE Fanuc Ltd, +Copyright (C) 2009 Nobuhiro Iwamatsu +Copyright (C) 2009 Renesas Solutions Corp. +Copyright (c) 2009 Robin Getz +Copyright (c) 2009 Samsung Electronics +Copyright (C) 2009 Texas Instruments Incorporated - http://www.ti.com/ +Copyright (c) 2009 Wind River Systems, Inc. +Copyright (C) 2010, 2009 Matthias Kaehlcke +Copyright (C) Archway Digital Solutions. +Copyright (C) ARM Limited 1998. +Copyright (C) Excito Elektronik i Skåne AB +Copyright (C) Freescale Semiconductor, Inc. 2006-2009. +Copyright (c) International Business Machines Corp., 2006 +Copyright (C) Linux Networx. 2002 +Copyright (C) Matrix Vision GmbH 2008 +Copyright (c) Nokia Corporation, 2006, 2007 +Copyright (C) 2001, Russ Dill +Copyright (c) Orbacom Systems, Inc +Copyright (C) Procsys. +Copyright (C) Samsung Electronics, 2009 +Copyright (C) SAN People +Copyright (C) Sheldon Instruments, Inc. 2008 +Copyright Freescale Semiconductor, Inc. 2004, 2006, 2008. +Copyright - Galileo technology. +Copyright MontaVista Software Incorporated, 2000 +Copyright Motorola, Inc. 1993, 1994 +Copyright Motrola 1999 +Copyright Rob Taylor, Flying Pig Systems Ltd. 2000. +Copyright Torsten Duwe 1993 +Copyright Wind River Systems, Inc., 1984-2003 +(C) Copyright 2006 Eric Benard +Copyright Motorola 1984 (!). +Copyright (C) Motorola, 2003. +Copyright (c) 1998 by Michael Barr +Josh Huber, (C) Copyright 2001 Mission Critical Linux, Inc. +(C) Copyright 2004 Gary Jennejohn +(C) Copyright 2005 Eric Benard +Copyright (c) 1999 Dan Malek (dmalek@jlc.net). +Copyright (C) Motorola, 2001, present. +Copyright (C) 2009 Red Hat +Roel Loeffen, (C) Copyright 2006 Prodrive B.V. +Copyright (C) Motorola, 2003. +Copyright (C) 2004-2005 Barco Control Rooms +Copyright (C) 2000 by Lineo, Inc., and +Copyright (C) Motorola, 2003. +Copyright (c) 1992, 1993 The Regents of the University of California. + +The aggregate work is under the terms of the GNU GPL though many +of these files are under a 3-clause BSD license: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +Some are under the zlib license: + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +Some files (mostly yaffs2) are distributed under the GNU LGPL v2 or later +or the GNU LGPL v2.1 or later, both of which can be found in +/usr/share/common-licenses on your Debian system. diff --git a/env-configs/efikamx.config b/env-configs/efikamx.config new file mode 100644 index 000000000..1aedc9615 --- /dev/null +++ b/env-configs/efikamx.config @@ -0,0 +1,9 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# +# XXX this configuration might miss a fifth parameter for the "Number of +# sectors" + +# MTD device name Device offset Env. size Flash sector size +/dev/mtd1 0x00000 0x10000 0x01000 diff --git a/env-configs/guruplug.config b/env-configs/guruplug.config new file mode 100644 index 000000000..8b30cbe33 --- /dev/null +++ b/env-configs/guruplug.config @@ -0,0 +1,10 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# +# Hardware : Marvell Plug2L Reference Board +# No redundant environment +# +# XXX this configuration might miss a fifth parameter for the "Number of +# sectors" + +# MTD device name Device offset Env. size Flash sector size +/dev/mtd0 0x40000 0x20000 0x20000 diff --git a/env-configs/kurobox_pro.config b/env-configs/kurobox_pro.config new file mode 100644 index 000000000..83b6c6ac5 --- /dev/null +++ b/env-configs/kurobox_pro.config @@ -0,0 +1,9 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# +# XXX this configuration might miss a fifth parameter for the "Number of +# sectors" + +# MTD device name Device offset Env. size Flash sector size +/dev/mtd0 0x3F000 0x1000 0x1000 diff --git a/env-configs/linkstation-mini.config b/env-configs/linkstation-mini.config new file mode 100644 index 000000000..92ce9de2d --- /dev/null +++ b/env-configs/linkstation-mini.config @@ -0,0 +1,7 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundand +# environment sector is assumed present. + +# for Buffalo Linkstation Mini +# MTD device name Device offset Env. size Flash sector size +/dev/mtd0 0x3f000 0x01000 0x01000 diff --git a/env-configs/linkstation_pro_live.config b/env-configs/linkstation_pro_live.config new file mode 100644 index 000000000..83b6c6ac5 --- /dev/null +++ b/env-configs/linkstation_pro_live.config @@ -0,0 +1,9 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# +# XXX this configuration might miss a fifth parameter for the "Number of +# sectors" + +# MTD device name Device offset Env. size Flash sector size +/dev/mtd0 0x3F000 0x1000 0x1000 diff --git a/env-configs/lsmipsel.config b/env-configs/lsmipsel.config new file mode 100644 index 000000000..abd8bcb50 --- /dev/null +++ b/env-configs/lsmipsel.config @@ -0,0 +1,9 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# +# XXX this configuration might miss a fifth parameter for the "Number of +# sectors" + +# MTD device name Device offset Env. size Flash sector size +/dev/mtd0 0x30000 0x10000 0x10000 diff --git a/env-configs/lsppchg.config b/env-configs/lsppchg.config new file mode 100644 index 000000000..4ccc5769c --- /dev/null +++ b/env-configs/lsppchg.config @@ -0,0 +1,9 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# +# XXX this configuration might miss a fifth parameter for the "Number of +# sectors" + +# MTD device name Device offset Env. size Flash sector size +/dev/mtd4 0x360000 0x10000 0x10000 diff --git a/env-configs/openmoko_gta01.config b/env-configs/openmoko_gta01.config new file mode 100644 index 000000000..7fd45e398 --- /dev/null +++ b/env-configs/openmoko_gta01.config @@ -0,0 +1,7 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# Notice, that the "Number of sectors" is ignored on NOR. + +# MTD device name Device offset Env. size Flash sector size Number of sectors +/dev/mtd1 0x0000 0x4000 0x4000 2 diff --git a/env-configs/openmoko_gta02.config b/env-configs/openmoko_gta02.config new file mode 100644 index 000000000..1faa2f1f8 --- /dev/null +++ b/env-configs/openmoko_gta02.config @@ -0,0 +1,7 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# Notice, that the "Number of sectors" is ignored on NOR. + +# MTD device name Device offset Env. size Flash sector size Number of sectors +/dev/mtd2 0x0000 0x40000 0x20000 2 diff --git a/env-configs/qnap_ts101.config b/env-configs/qnap_ts101.config new file mode 100644 index 000000000..181c54b8c --- /dev/null +++ b/env-configs/qnap_ts101.config @@ -0,0 +1,9 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# +# XXX this configuration might miss a fifth parameter for the "Number of +# sectors" + +# MTD device name Device offset Env. size Flash sector size +/dev/mtd5 0x00000 0x20000 0x20000 diff --git a/env-configs/qnap_ts109-209.config b/env-configs/qnap_ts109-209.config new file mode 100644 index 000000000..4024e080c --- /dev/null +++ b/env-configs/qnap_ts109-209.config @@ -0,0 +1,9 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# +# XXX this configuration might miss a fifth parameter for the "Number of +# sectors" + +# MTD device name Device offset Env. size Flash sector size +/dev/mtd4 0x0000 0x20000 0x20000 diff --git a/env-configs/qnap_ts119-219.config b/env-configs/qnap_ts119-219.config new file mode 100644 index 000000000..98505a933 --- /dev/null +++ b/env-configs/qnap_ts119-219.config @@ -0,0 +1,11 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# +# This config is for QNAP TS-119, TS-219 and TS-219P boards. +# +# XXX this configuration might miss a fifth parameter for the "Number of +# sectors" + +# MTD device name Device offset Env. size Flash sector size +/dev/mtd4 0x0000 0x1000 0x40000 diff --git a/env-configs/sheevaplug.config b/env-configs/sheevaplug.config new file mode 100644 index 000000000..5bbd38d7f --- /dev/null +++ b/env-configs/sheevaplug.config @@ -0,0 +1,9 @@ +# Configuration file for fw_(printenv/saveenv) utility. +# Up to two entries are valid, in this case the redundant +# environment sector is assumed present. +# +# XXX this configuration might miss a fifth parameter for the "Number of +# sectors" + +# MTD device name Device offset Env. size Flash sector size +/dev/mtd0 0x60000 0x20000 0x20000 diff --git a/lintian.overrides b/lintian.overrides new file mode 100644 index 000000000..b176df5ac --- /dev/null +++ b/lintian.overrides @@ -0,0 +1,16 @@ +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/guruplug/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/sheevaplug/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/dreamplug/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/ZUMA/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/eNET/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/qemu_mips/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/dbau1100/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/hammerhead/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/sh7785lcr_32bit/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/r2dplus/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/efikamx/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/igep0020/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/mx53loco/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/omap3_beagle/uboot.elf +u-boot: shared-lib-without-dependency-information ./usr/lib/u-boot/omap4_panda/uboot.elf +u-boot: description-synopsis-starts-with-article diff --git a/manpages/fw_printenv.8 b/manpages/fw_printenv.8 new file mode 100644 index 000000000..a288852bc --- /dev/null +++ b/manpages/fw_printenv.8 @@ -0,0 +1,31 @@ +.\" Copyright © 2008 Per Andersson +.\" This man page is covered by the GNU General Public License (GPLv2 or higher). +.TH fw_printenv 8 "August 2008" "Debian Project" "" + +.SH NAME +fw_printenv \- Tool for printing environment for the bootloader U-Boot + +.SH SYNOPSIS +fw_printenv [ \fB\-n\fP \fIname\fP ] [ \fIname\fP \fI...\fP ] + +.SH DESCRIPTION +\fIfw_printenv\fP is a simple tool for printing the environment for the +bootloader U-Boot. All environment variables matching the names given as +arguments are shown. If \fIfw_printenv\fP is called without any arguments the +entire environment is printed. + +.SH OPTIONS +.IP \fB\-n\fP +If the \fBn\fP flag is set \fIfw_printenv\fP only prints the value of the supplied variable \fIname\fP. + +.SH FILES +.IP \fB/etc/fw_env.config\fP +Configuration file for fw_printenv. + +.SH SEE ALSO +fw_setenv(8) + +.SH AUTHOR +Wolfgang Denk +.PP +This manual page was written by Per Andersson diff --git a/manpages/fw_setenv.8 b/manpages/fw_setenv.8 new file mode 100644 index 000000000..5a5114ab1 --- /dev/null +++ b/manpages/fw_setenv.8 @@ -0,0 +1,27 @@ +.\" Copyright © 2008 Per Andersson +.\" This man page is covered by the GNU General Public License (GPLv2 or higher). +.TH fw_setenv 8 "August 2008" "Debian Project" "" + +.SH NAME +fw_setenv \- Tool for modifying the environment for the bootloader U\-Boot + +.SH SYNOPSIS +fw_setenv \fIname\fP [ \fIvalue\fP ] + +.SH DESCRIPTION +\fIfw_setenv\fP is a simple tool for modifying either the environment for the +bootloader U-Boot. If the variable already is set in the environment it is +updated, otherwise it is created and set. If only one argument is given, +variable name, the corresponding variable is deleted. + +.SH FILES +.IP \fB/etc/fw_env.config\fP +Configuration file for fw_setenv. + +.SH SEE ALSO +fw_printenv(8) + +.SH AUTHOR +Wolfgang Denk +.PP +This manual page was written by Per Andersson diff --git a/patches/ARM-OMAP3-Revamp-IGEP-default-configuration.diff b/patches/ARM-OMAP3-Revamp-IGEP-default-configuration.diff new file mode 100644 index 000000000..6cd7624db --- /dev/null +++ b/patches/ARM-OMAP3-Revamp-IGEP-default-configuration.diff @@ -0,0 +1,89 @@ +From ebdb222b0d65bcc050e3f0fd6e97faf17fb3eae4 Mon Sep 17 00:00:00 2001 +Sender: Loïc Minier +From: Enric Balletbo i Serra +Date: Wed, 23 Feb 2011 14:35:41 +0100 +Subject: [PATCH] ARM: OMAP3: Revamp IGEP default configuration +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The default IGEP configuration doesn't do anything useful; using some +boot.scr search logic like BeagleBoard is much more useful. + +Signed-off-by: Loïc Minier +--- + include/configs/igep0020.h | 55 ++++++++++++++++++++++++++++++++++++++++--- + 1 files changed, 51 insertions(+), 4 deletions(-) + +diff --git a/include/configs/igep0020.h b/include/configs/igep0020.h +index c19ecc0..2466562 100644 +--- a/include/configs/igep0020.h ++++ b/include/configs/igep0020.h +@@ -130,13 +130,60 @@ + #define CONFIG_TWL4030_POWER 1 + + /* Environment information */ +-#define CONFIG_BOOTCOMMAND \ +- "mmc init 0 ; fatload mmc 0 0x80000000 setup.ini ; source \0" +- + #define CONFIG_BOOTDELAY 3 + + #define CONFIG_EXTRA_ENV_SETTINGS \ +- "usbtty=cdc_acm\0" ++ "loadaddr=0x82000000\0" \ ++ "usbtty=cdc_acm\0" \ ++ "console=ttyS2,115200n8\0" \ ++ "mpurate=500\0" \ ++ "vram=12M\0" \ ++ "dvimode=1024x768MR-16@60\0" \ ++ "defaultdisplay=dvi\0" \ ++ "mmcdev=0\0" \ ++ "mmcroot=/dev/mmcblk0p2 rw\0" \ ++ "mmcrootfstype=ext3 rootwait\0" \ ++ "nandroot=/dev/mtdblock4 rw\0" \ ++ "nandrootfstype=jffs2\0" \ ++ "mmcargs=setenv bootargs console=${console} " \ ++ "mpurate=${mpurate} " \ ++ "vram=${vram} " \ ++ "omapfb.mode=dvi:${dvimode} " \ ++ "omapfb.debug=y " \ ++ "omapdss.def_disp=${defaultdisplay} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype}\0" \ ++ "nandargs=setenv bootargs console=${console} " \ ++ "mpurate=${mpurate} " \ ++ "vram=${vram} " \ ++ "omapfb.mode=dvi:${dvimode} " \ ++ "omapfb.debug=y " \ ++ "omapdss.def_disp=${defaultdisplay} " \ ++ "root=${nandroot} " \ ++ "rootfstype=${nandrootfstype}\0" \ ++ "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ ++ "bootscript=echo Running bootscript from mmc ...; " \ ++ "source ${loadaddr}\0" \ ++ "loaduimage=fatload mmc ${mmcdev} ${loadaddr} uImage\0" \ ++ "mmcboot=echo Booting from mmc ...; " \ ++ "run mmcargs; " \ ++ "bootm ${loadaddr}\0" \ ++ "nandboot=echo Booting from nand ...; " \ ++ "run nandargs; " \ ++ "nand read ${loadaddr} 280000 400000; " \ ++ "bootm ${loadaddr}\0" \ ++ ++#define CONFIG_BOOTCOMMAND \ ++ "if mmc rescan ${mmcdev}; then " \ ++ "if run loadbootscript; then " \ ++ "run bootscript; " \ ++ "else " \ ++ "if run loaduimage; then " \ ++ "run mmcboot; " \ ++ "else run nandboot; " \ ++ "fi; " \ ++ "fi; " \ ++ "else run nandboot; fi" + + #define CONFIG_AUTO_COMPLETE 1 + +-- +1.7.2.3 + diff --git a/patches/hurd.diff b/patches/hurd.diff new file mode 100644 index 000000000..546e5fbb2 --- /dev/null +++ b/patches/hurd.diff @@ -0,0 +1,20 @@ +--- a/include/compiler.h ++++ b/include/compiler.h +@@ -15,7 +15,7 @@ + defined(__sun__) || \ + defined(__APPLE__) + # include +-#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__) ++#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__) || defined(__GLIBC__) + # include + #endif + +@@ -41,7 +41,7 @@ + #define O_BINARY 0 + #endif + +-#ifdef __linux__ ++#if defined(__linux__) || defined(__GLIBC__) + # include + # include + #elif defined(__MACH__) || defined(__FreeBSD__) diff --git a/patches/kerma-sheevaplug-mvsata.diff b/patches/kerma-sheevaplug-mvsata.diff new file mode 100644 index 000000000..34d9854cb --- /dev/null +++ b/patches/kerma-sheevaplug-mvsata.diff @@ -0,0 +1,56 @@ + Add mvsata support to SHEEVAPLUG + +Signed-off-by: Gérald Kerma +--- +Changes in v2: + * typo fixed + * list reordered + + include/configs/sheevaplug.h | 29 +++++++++++++++++++++++++++++ + 1 files changed, 29 insertions(+), 0 deletions(-) + +--- a/include/configs/sheevaplug.h ++++ b/include/configs/sheevaplug.h +@@ -46,6 +46,7 @@ + #include + #define CONFIG_CMD_DHCP + #define CONFIG_CMD_ENV ++#define CONFIG_CMD_IDE + #define CONFIG_CMD_MII + #define CONFIG_CMD_NAND + #define CONFIG_CMD_PING +@@ -98,6 +99,34 @@ + #endif /* CONFIG_CMD_NET */ + + /* ++ * IDE Support on SATA port0 ++ */ ++#ifdef CONFIG_CMD_IDE ++#define __io ++#define CONFIG_CMD_EXT2 ++#define CONFIG_MVSATA_IDE ++#define CONFIG_IDE_PREINIT ++#define CONFIG_MVSATA_IDE_USE_PORT0 ++/* Needs byte-swapping for ATA data register */ ++#define CONFIG_IDE_SWAP_IO ++/* Data, registers and alternate blocks are at the same offset */ ++#define CONFIG_SYS_ATA_DATA_OFFSET (0x0100) ++#define CONFIG_SYS_ATA_REG_OFFSET (0x0100) ++#define CONFIG_SYS_ATA_ALT_OFFSET (0x0100) ++/* Each 8-bit ATA register is aligned to a 4-bytes address */ ++#define CONFIG_SYS_ATA_STRIDE 4 ++/* Controller supports 48-bits LBA addressing */ ++#define CONFIG_LBA48 ++/* CONFIG_CMD_IDE requires some #defines for ATA registers */ ++#define CONFIG_SYS_IDE_MAXBUS 1 ++#define CONFIG_SYS_IDE_MAXDEVICE 1 ++/* ATA registers base is at SATA controller base */ ++#define CONFIG_SYS_ATA_BASE_ADDR KW_SATA_BASE ++/* ATA bus 0 is Kirkwood port 1 on sheevaplug */ ++#define CONFIG_SYS_ATA_IDE0_OFFSET KW_SATA_PORT1_OFFSET ++#endif /* CONFIG_CMD_IDE */ ++ ++/* + * File system + */ + #define CONFIG_CMD_EXT2 diff --git a/patches/kerma-sheevaplug-mvsdio.diff b/patches/kerma-sheevaplug-mvsdio.diff new file mode 100644 index 000000000..1c373a7c8 --- /dev/null +++ b/patches/kerma-sheevaplug-mvsdio.diff @@ -0,0 +1,1156 @@ +This patch has been tweaked a lot to apply +========================================== + + Add mvsdio driver to Kirkwood SoC + Add SDIO support to SHEEVAPLUG + Fix environments for SHEEVAPLUG + +Signed-off-by: Gérald Kerma +--- +Changes in v1: + * Fix errors from SD/SDHC detect + * Minor fixes in boot env + + arch/arm/cpu/arm926ejs/kirkwood/timer.c | 23 + + arch/arm/include/asm/arch-kirkwood/kirkwood.h | 1 + + drivers/mmc/Makefile | 1 + + drivers/mmc/mv_sdio.c | 747 +++++++++++++++++++++++++ + drivers/mmc/mv_sdio.h | 296 ++++++++++ + include/configs/sheevaplug.h | 65 ++- + 6 files changed, 1124 insertions(+), 9 deletions(-) + +--- a/arch/arm/include/asm/arch-kirkwood/kirkwood.h ++++ b/arch/arm/include/asm/arch-kirkwood/kirkwood.h +@@ -55,6 +55,7 @@ + #define KW_EGIGA0_BASE (KW_REGISTER(0x72000)) + #define KW_EGIGA1_BASE (KW_REGISTER(0x76000)) + #define KW_SATA_BASE (KW_REGISTER(0x80000)) ++#define KW_SDIO_BASE (KW_REGISTER(0x90000)) + + /* Kirkwood Sata controller has two ports */ + #define KW_SATA_PORT0_OFFSET 0x2000 +--- a/drivers/mmc/Makefile ++++ b/drivers/mmc/Makefile +@@ -34,6 +34,7 @@ + COBJS-$(CONFIG_MMC_SPI) += mmc_spi.o + COBJS-$(CONFIG_ARM_PL180_MMCI) += arm_pl180_mmci.o + COBJS-$(CONFIG_MV_SDHCI) += mv_sdhci.o ++COBJS-$(CONFIG_MV_SDIO) += mv_sdio.o + COBJS-$(CONFIG_MXC_MMC) += mxcmmc.o + COBJS-$(CONFIG_MXS_MMC) += mxsmmc.o + COBJS-$(CONFIG_OMAP_HSMMC) += omap_hsmmc.o +--- /dev/null ++++ b/drivers/mmc/mv_sdio.c +@@ -0,0 +1,747 @@ ++/* ++ * (C) Copyright 2003 ++ * Kyle Harris, Nexus Technologies, Inc. kharris at nexus-tech.net ++ * Copyright (C) 2010 G?rald Kerma ++ * ++ * 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 ++#include ++#include ++#include ++#include "mv_sdio.h" ++#include ++#include ++#include ++#include ++ ++#ifdef CONFIG_MMC ++ ++#define DRIVER_NAME "mv-sdio" ++ ++//#define DEBUG ++ ++//static int maxfreq = MVSD_CLOCKRATE_MAX; ++//static int nodma; ++ ++static int is_sdhc; ++ ++extern int fat_register_device(block_dev_desc_t *dev_desc, int part_no); ++ ++static block_dev_desc_t mmc_dev; ++ ++block_dev_desc_t * mmc_get_dev(int dev) ++{ ++ return ((block_dev_desc_t *)&mmc_dev); ++} ++ ++/* ++ * FIXME needs to read cid and csd info to determine block size ++ * and other parameters ++ */ ++static uchar mmc_buf[MMC_BLOCK_SIZE]; ++static mv_mmc_csd_t mv_mmc_csd; ++static int mmc_ready = 0; ++ ++/* MMC_DEFAULT_RCA should probably be just 1, but this may break other code ++ that expects it to be shifted. */ ++static u_int16_t rca = 0; ++ ++static u_int32_t mv_mmc_size(const struct mv_mmc_csd *csd) ++{ ++ u_int32_t block_len, mult, blocknr; ++ ++ block_len = csd->read_bl_len << 12; ++ mult = csd->c_size_mult1 << 8; ++ blocknr = (csd->c_size+1) * mult; ++ ++ return blocknr * block_len; ++} ++ ++static int isprint (unsigned char ch) ++{ ++ if (ch >= 32 && ch < 127) ++ return (1); ++ ++ return (0); ++} ++ ++static int toprint(char *dst, char c) ++{ ++ if (isprint(c)) { ++ *dst = c; ++ return 1; ++ } ++ ++ return sprintf(dst,"\\x%02x", c); ++ ++} ++ ++static void print_mmc_cid(mv_mmc_cid_t *cid) ++{ ++ printf("MMC found. Card desciption is:\n"); ++ printf("Manufacturer ID = %02x%02x%02x\n", ++ cid->id[0], cid->id[1], cid->id[2]); ++ printf("HW/FW Revision = %x %x\n",cid->hwrev, cid->fwrev); ++ cid->hwrev = cid->fwrev = 0; /* null terminate string */ ++ printf("Product Name = %s\n",cid->name); ++ printf("Serial Number = %02x%02x%02x\n", ++ cid->sn[0], cid->sn[1], cid->sn[2]); ++ printf("Month = %d\n",cid->month); ++ printf("Year = %d\n",1997 + cid->year); ++} ++ ++static void print_sd_cid(mv_sd_cid_t *cid) ++{ ++ int len; ++ char tbuf[64]; ++ ++ printf("SD%s found. Card desciption is:\n", is_sdhc?"HC":""); ++ ++ len = 0; ++ len += toprint(&tbuf[len], cid->oid_0); ++ len += toprint(&tbuf[len], cid->oid_1); ++ tbuf[len] = 0; ++ ++ printf("Manufacturer: 0x%02x, OEM \"%s\"\n", ++ cid->mid, tbuf); ++ ++ len = 0; ++ len += toprint(&tbuf[len], cid->pnm_0); ++ len += toprint(&tbuf[len], cid->pnm_1); ++ len += toprint(&tbuf[len], cid->pnm_2); ++ len += toprint(&tbuf[len], cid->pnm_3); ++ len += toprint(&tbuf[len], cid->pnm_4); ++ tbuf[len] = 0; ++ ++ printf("Product name: \"%s\", revision %d.%d\n", ++ tbuf, ++ cid->prv >> 4, cid->prv & 15); ++ ++ printf("Serial number: %u\n", ++ cid->psn_0 << 24 | cid->psn_1 << 16 | cid->psn_2 << 8 | ++ cid->psn_3); ++ printf("Manufacturing date: %d/%d\n", ++ cid->mdt_1 & 15, ++ 2000+((cid->mdt_0 & 15) << 4)+((cid->mdt_1 & 0xf0) >> 4)); ++ ++ printf("CRC: 0x%02x, b0 = %d\n", ++ cid->crc >> 1, cid->crc & 1); ++} ++ ++static void mvsdio_set_clock(unsigned int clock) ++{ ++ unsigned int m; ++ ++ m = MVSDMMC_BASE_FAST_CLOCK/(2*clock) - 1; ++ ++ debug("mvsdio_set_clock: dividor = 0x%x clock=%d\n", ++ m, clock); ++ ++ ++ SDIO_REG_WRITE32(SDIO_CLK_DIV, m & 0x7ff); ++ ++ if (isprint(1)) ++ udelay(10*1000); ++} ++ ++/****************************************************/ ++static ulong * mv_mmc_cmd(ulong cmd, ulong arg, ushort xfermode, ushort resptype, ushort waittype) ++/****************************************************/ ++{ ++ static ulong resp[4]; ++ ushort done ; ++ int err = 0 ; ++ ulong curr, start, diff, hz; ++ ushort response[8], resp_indx = 0; ++ ++ debug("mv_mmc_cmd %x, arg: %x,xfer: %x,resp: %x, wait : %x\n" ++ , (unsigned int)cmd, (unsigned int)arg, xfermode, resptype, waittype); ++ ++ ++ //clear status ++ SDIO_REG_WRITE16(SDIO_NOR_INTR_STATUS, 0xffff); ++ SDIO_REG_WRITE16(SDIO_ERR_INTR_STATUS, 0xffff); ++ ++ start = get_ticks(); ++ hz = get_tbclk(); ++ ++ while((SDIO_REG_READ16(SDIO_PRESENT_STATE0) & CARD_BUSY)) { ++ curr = get_ticks(); ++ diff = (long) curr - (long) start; ++ if (diff > (3*hz)) ++ { ++ // 3 seconds timeout, card busy, can't sent cmd ++ printf("card too busy \n"); ++ return 0; ++ } ++ } ++ ++ SDIO_REG_WRITE16(SDIO_ARG_LOW, (ushort)(arg&0xffff) ); ++ SDIO_REG_WRITE16(SDIO_ARG_HI, (ushort)(arg>>16) ); ++ SDIO_REG_WRITE16(SDIO_XFER_MODE, xfermode); ++ if( (cmd == MMC_CMD_READ_BLOCK) || (cmd == 25) ) ++ { ++ SDIO_REG_WRITE16(SDIO_CMD, ((cmd << 8) | resptype | 0x3c ) ); ++ debug("cmd reg : %x\n", SDIO_REG_READ16( SDIO_CMD )) ; ++ ++ } ++ else ++ { ++ SDIO_REG_WRITE16(SDIO_CMD, ((cmd << 8) | resptype ) ); ++ } ++ ++ done = SDIO_REG_READ16(SDIO_NOR_INTR_STATUS) & waittype; ++ start = get_ticks(); ++ ++ while( done!=waittype) ++ { ++ done = SDIO_REG_READ16(SDIO_NOR_INTR_STATUS) & waittype; ++ ++ if( SDIO_REG_READ16(SDIO_NOR_INTR_STATUS) & 0x8000 ) ++ { ++ debug("Error! cmd : %d, err : %04x\n", (unsigned int)cmd, SDIO_REG_READ16(SDIO_ERR_INTR_STATUS) ) ; ++ ++ return 0 ; // error happen ++ } ++ ++ curr = get_ticks(); ++ diff = (long) curr - (long) start; ++ if (diff > (3*hz)) ++ { ++ debug("cmd timeout, status : %04x\n", SDIO_REG_READ16(SDIO_NOR_INTR_STATUS)); ++ debug("xfer mode : %04x\n", SDIO_REG_READ16(SDIO_XFER_MODE)); ++ ++ err = 1 ; ++ break; ++ } ++ } ++ ++ for (resp_indx = 0 ; resp_indx < 8; resp_indx++) ++ response[resp_indx] = SDIO_REG_READ16(SDIO_RSP(resp_indx)); ++ ++ memset(resp, 0, sizeof(resp)); ++ ++ switch (resptype & 0x3) { ++ case SDIO_CMD_RSP_48: ++ case SDIO_CMD_RSP_48BUSY: ++ resp[0] = ((response[2] & 0x3f) << (8 - 8)) | ++ ((response[1] & 0xffff) << (14 - 8)) | ++ ((response[0] & 0x3ff) << (30 - 8)); ++ resp[1] = ((response[0] & 0xfc00) >> 10); ++ break; ++ ++ case SDIO_CMD_RSP_136: ++ resp[3] = ((response[7] & 0x3fff) << 8) | ++ ((response[6] & 0x3ff) << 22); ++ resp[2] = ((response[6] & 0xfc00) >> 10) | ++ ((response[5] & 0xffff) << 6) | ++ ((response[4] & 0x3ff) << 22); ++ resp[1] = ((response[4] & 0xfc00) >> 10) | ++ ((response[3] & 0xffff) << 6) | ++ ((response[2] & 0x3ff) << 22); ++ resp[0] = ((response[2] & 0xfc00) >> 10) | ++ ((response[1] & 0xffff) << 6) | ++ ((response[0] & 0x3ff) << 22); ++ break; ++ default: ++ return 0; ++ } ++ int i; ++ debug("MMC resp :"); ++ for (i=0; i<4; ++i ) { ++ debug(" %08x", (unsigned int)resp[i]); ++ } ++ debug("\n"); ++ if( err ) ++ return NULL ; ++ else ++ return resp; ++} ++ ++/****************************************************/ ++static int mv_mmc_block_read(uchar *dst, ulong src, ulong len) ++/****************************************************/ ++{ ++ ulong *resp; ++ //ushort argh, argl; ++ //ulong status; ++ ++ if (len == 0) { ++ return 0; ++ } ++ ++ if (is_sdhc) { ++ /* SDHC: use block address */ ++ src >>= 9; ++ } ++ ++ debug("mmc_block_rd dst %lx src %lx len %d\n", (ulong)dst, src, (int)len); ++ ++ // prepare for dma transfer ++ SDIO_REG_WRITE16(SDIO_SYS_ADDR_LOW,((ulong)(dst))&0xffff); ++ SDIO_REG_WRITE16(SDIO_SYS_ADDR_HI,(((ulong)dst)>>16)&0xffff); ++ SDIO_REG_WRITE16(SDIO_BLK_SIZE,len); ++ SDIO_REG_WRITE16(SDIO_BLK_COUNT,1); ++ ++ /* send read command */ ++ resp = mv_mmc_cmd(MMC_CMD_READ_BLOCK, src, 0x10 , // 0x12, ++ SDIO_CMD_RSP_48, SDIO_NOR_XFER_DONE); ++ if (!resp) { ++ debug("mv_mmc_block_read: mmc read block cmd fails\n"); ++ return -EIO; ++ } ++ ++ return 0; ++} ++ ++/****************************************************/ ++static int mv_mmc_block_write(ulong dst, uchar *src, int len) ++/****************************************************/ ++{ ++ return -1 ; ++} ++ ++/****************************************************/ ++int mv_mmc_read(ulong src, uchar *dst, int size) ++/****************************************************/ ++{ ++ ulong end, part_start, part_end, part_len, aligned_start, aligned_end; ++ ulong mmc_block_size, mmc_block_address; ++ ++ if (size == 0) { ++ return 0; ++ } ++ ++ if (!mmc_ready) { ++ printf("Please initial the MMC first\n"); ++ return -1; ++ } ++ ++ mmc_block_size = MMC_BLOCK_SIZE; ++ mmc_block_address = ~(mmc_block_size - 1); ++ ++ end = src + size; ++ part_start = ~mmc_block_address & src; ++ part_end = ~mmc_block_address & end; ++ aligned_start = mmc_block_address & src; ++ aligned_end = mmc_block_address & end; ++ ++ /* all block aligned accesses */ ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if (part_start) { ++ part_len = mmc_block_size - part_start; ++ debug("ps src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if ((mv_mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(dst, mmc_buf+part_start, part_len); ++ dst += part_len; ++ src += part_len; ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ for (; src < aligned_end; aligned_start +=mmc_block_size, src += mmc_block_size, dst += mmc_block_size) { ++ debug("al src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if ((mv_mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { ++ printf("mmc block read error\n"); ++ return -1; ++ } ++ //printf("mem copy from %x to %x, size %d\n", (ulong)mmc_buf, (ulong)dst, mmc_block_size ); ++ memcpy(dst, mmc_buf, mmc_block_size); ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if (part_end && src < end) { ++ debug("pe src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if ((mv_mmc_block_read(mmc_buf, aligned_end, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(dst, mmc_buf, part_end); ++ } ++ return 0; ++} ++ ++/****************************************************/ ++static int mv_mmc_write(uchar *src, ulong dst, int size) ++/****************************************************/ ++{ ++ ulong end, part_start, part_end, part_len, aligned_start, aligned_end; ++ ulong mmc_block_size, mmc_block_address; ++ ++ if (size == 0) { ++ return 0; ++ } ++ ++ if (!mmc_ready) { ++ printf("Please initial the MMC first\n"); ++ return -1; ++ } ++ ++ mmc_block_size = MMC_BLOCK_SIZE; ++ mmc_block_address = ~(mmc_block_size - 1); ++ ++ end = dst + size; ++ part_start = ~mmc_block_address & dst; ++ part_end = ~mmc_block_address & end; ++ aligned_start = mmc_block_address & dst; ++ aligned_end = mmc_block_address & end; ++ ++ /* all block aligned accesses */ ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if (part_start) { ++ part_len = mmc_block_size - part_start; ++ debug("ps src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (ulong)src, dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if ((mv_mmc_block_read(mmc_buf, aligned_start, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(mmc_buf+part_start, src, part_len); ++ if ((mv_mmc_block_write(aligned_start, mmc_buf, mmc_block_size)) < 0) { ++ return -1; ++ } ++ dst += part_len; ++ src += part_len; ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ for (; dst < aligned_end; src += mmc_block_size, dst += mmc_block_size) { ++ debug("al src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if ((mv_mmc_block_write(dst, (uchar *)src, mmc_block_size)) < 0) { ++ return -1; ++ } ++ } ++ debug("src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if (part_end && dst < end) { ++ debug("pe src %lx dst %lx end %lx pstart %lx pend %lx astart %lx aend %lx\n", ++ (long unsigned int)src,(ulong)dst, end, part_start, part_end, aligned_start, aligned_end); ++ ++ if ((mv_mmc_block_read(mmc_buf, aligned_end, mmc_block_size)) < 0) { ++ return -1; ++ } ++ memcpy(mmc_buf, src, part_end); ++ if ((mv_mmc_block_write(aligned_end, mmc_buf, mmc_block_size)) < 0) { ++ return -1; ++ } ++ } ++ return 0; ++} ++ ++/****************************************************/ ++static ulong mv_mmc_bread(int dev_num, ulong blknr, ulong blkcnt, ulong *dst) ++/****************************************************/ ++{ ++ int mmc_block_size = MMC_BLOCK_SIZE; ++ ulong src = blknr * mmc_block_size; ++ ++ mv_mmc_read(src, (uchar *)dst, blkcnt*mmc_block_size); ++ return blkcnt; ++} ++ ++/****************************************************/ ++int mmc_legacy_init(int verbose) ++/****************************************************/ ++{ ++ int retries, rc = -ENODEV; ++ ulong *resp; ++ int sd_ver20; ++ int is_sd; ++ ushort reg; ++ uchar cidbuf[64]; ++ ++ sd_ver20 = 0; ++ is_sdhc = 0; ++ is_sd = 0; ++ ++ // Initial Host Ctrl : Timeout : max , Normal Speed mode, 4-bit data mode ++ // Big Endian, SD memory Card, Push_pull CMD Line ++ SDIO_REG_WRITE16(SDIO_HOST_CTRL, ++ SDIO_HOST_CTRL_TMOUT(0xf) | ++ SDIO_HOST_CTRL_DATA_WIDTH_4_BITS | ++ SDIO_HOST_CTRL_BIG_ENDIAN | ++ SDIO_HOST_CTRL_PUSH_PULL_EN | ++ SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY ); ++ ++ SDIO_REG_WRITE16(SDIO_CLK_CTRL, 0); ++ ++ //enable status ++ SDIO_REG_WRITE16(SDIO_NOR_STATUS_EN, 0xffff); ++ SDIO_REG_WRITE16(SDIO_ERR_STATUS_EN, 0xffff); ++ ++ //disable interrupts ++ SDIO_REG_WRITE16(SDIO_NOR_INTR_EN, 0); ++ SDIO_REG_WRITE16(SDIO_ERR_INTR_EN, 0); ++ ++ SDIO_REG_WRITE16(SDIO_SW_RESET,0x100); ++ udelay(10000); ++ ++ mv_mmc_csd.c_size = 0; ++ ++ /* reset */ ++ retries = 10; ++ //mv_mmc_cmd(ulong cmd, ulong arg, ushort xfermode, ushort resptype, ushort waittype); ++ resp = mv_mmc_cmd(0, 0, 0, SDIO_CMD_RSP_NONE, SDIO_NOR_CMD_DONE ); ++ debug("cmd 0 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ debug ("trying to detect SD card version\n"); ++ ++ resp = mv_mmc_cmd(8, 0x000001aa, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ debug("cmd 8 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ if (resp && (resp[0] & 0x1ff)==0x1aa) { ++ debug ("SD version 2.0 card detected\n"); ++ ++ sd_ver20 = 1; ++ } ++ ++ if (sd_ver20) ++ retries = 50; ++ else ++ retries = 10; ++ ++ while (retries--) { ++ resp = mv_mmc_cmd(55, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ debug("cmd 55 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ if (sd_ver20) ++ resp = mv_mmc_cmd(41, 0x40300000, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ else ++ resp = mv_mmc_cmd(41, 0x00300000, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ ++ debug("cmd 41 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ if (resp && (resp[0] & 0x80000000)) { ++ debug ("detected SD card\n"); ++ ++ is_sd = 1; ++ break; ++ } ++ ++ udelay(100*1000); ++ } ++ ++ if (retries <= 0 && !is_sd) { ++ debug ("failed to detect SD card, trying MMC\n"); ++ ++ retries = 10; ++ while (retries--) { ++ resp = mv_mmc_cmd(1, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ debug("cmd 01 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ if (resp && (resp[0] & 0x80000000)) { ++ printf ("detected MMC card\n"); ++ reg = SDIO_REG_READ16(SDIO_HOST_CTRL); ++ reg &= ~(0x3<<1); ++ reg |= SDIO_HOST_CTRL_CARD_TYPE_IO_MMC; ++ SDIO_REG_WRITE16(SDIO_HOST_CTRL, reg); ++ break; ++ } ++ ++ udelay(100*1000); ++ } ++ } ++ ++ if (retries <= 0) { ++ debug ("detect fails\n"); ++ ++ return -ENODEV; ++ } ++ ++ /* try to get card id */ ++ resp = mv_mmc_cmd(2, 0, 0, SDIO_CMD_RSP_136, SDIO_NOR_CMD_DONE ); ++ debug("cmd 2 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ if (resp == NULL) { ++ debug ("read cid fails\n"); ++ ++ return -ENODEV; ++ } ++ ++ if (is_sd) { ++ mv_sd_cid_t *cid = (mv_sd_cid_t *) resp; ++ ++ memcpy(cidbuf, resp, sizeof(mv_sd_cid_t)); ++ ++ sprintf((char *) mmc_dev.vendor, ++ "Man %02x OEM %c%c \"%c%c%c%c%c\"", ++ cid->mid, cid->oid_0, cid->oid_1, ++ cid->pnm_0, cid->pnm_1, cid->pnm_2, cid->pnm_3, cid->pnm_4); ++ ++ sprintf((char *) mmc_dev.product, "%d", ++ (cid->psn_0 << 24) | (cid->psn_1 <<16) | (cid->psn_2 << 8) | (cid->psn_3 << 8)); ++ ++ sprintf((char *) mmc_dev.revision, "%d.%d", cid->prv>>4, cid->prv & 0xff); ++ ++ } else { ++ /* TODO configure mmc driver depending on card attributes */ ++ mv_mmc_cid_t *cid = (mv_mmc_cid_t *) resp; ++ ++ memcpy(cidbuf, resp, sizeof(mv_sd_cid_t)); ++ ++ ++ sprintf((char *) mmc_dev.vendor, ++ "Man %02x%02x%02x Snr %02x%02x%02x", ++ cid->id[0], cid->id[1], cid->id[2], ++ cid->sn[0], cid->sn[1], cid->sn[2]); ++ sprintf((char *) mmc_dev.product, "%s", cid->name); ++ sprintf((char *) mmc_dev.revision, "%x %x", cid->hwrev, cid->fwrev); ++ } ++ ++ /* fill in device description */ ++ mmc_dev.if_type = IF_TYPE_MMC; ++ mmc_dev.part_type = PART_TYPE_DOS; ++ mmc_dev.dev = 0; ++ mmc_dev.lun = 0; ++ mmc_dev.type = 0; ++ ++ /* FIXME fill in the correct size (is set to 128MByte) */ ++ mmc_dev.blksz = MMC_BLOCK_SIZE; ++ mmc_dev.lba = 0x10000; ++ ++ mmc_dev.removable = 0; ++ mmc_dev.block_read = mv_mmc_bread; ++ ++ /* MMC exists, get CSD too */ ++ resp = mv_mmc_cmd(MMC_CMD_SET_RCA, 0, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ if (resp == NULL) { ++ debug ("set rca fails\n"); ++ ++ return -ENODEV; ++ } ++ debug("cmd3 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); ++ ++ ++ if (is_sd) ++ rca = resp[0] >> 16; ++ else ++ rca = 0; ++ ++ resp = mv_mmc_cmd(MMC_CMD_SEND_CSD, rca<<16, 0, SDIO_CMD_RSP_136,SDIO_NOR_CMD_DONE ); ++ debug("cmd 9 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ if (resp == NULL) { ++ debug ("read csd fails\n"); ++ ++ return -ENODEV; ++ } ++ ++ memcpy(&mv_mmc_csd, (mv_mmc_csd_t *) resp, sizeof(mv_mmc_csd_t)); ++ rc = 0; ++ mmc_ready = 1; ++ ++ /* FIXME add verbose printout for csd */ ++ debug ("size = %u\n", mv_mmc_size(&mv_mmc_csd)); ++ ++ ++ resp = mv_mmc_cmd(7, rca<<16, 0, SDIO_CMD_RSP_48BUSY, SDIO_NOR_CMD_DONE); ++ if (resp == NULL) { ++ debug ("select card fails\n"); ++ ++ return -ENODEV; ++ } ++ debug("cmd 7 resp : %08x %08x %08x %08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3] ); ++ ++ ++ if (is_sd) { ++ resp = mv_mmc_cmd(55, rca<<16, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ if (resp == NULL) { ++ debug ("cmd55 fails\n"); ++ ++ return -ENODEV; ++ } ++ debug("cmd55 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); ++ ++ ++ resp = mv_mmc_cmd(6, (rca<<16) | 0x2 , 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ if (resp == NULL) { ++ debug ("cmd55 fails\n"); ++ ++ return -ENODEV; ++ } ++ debug("cmd6 resp : 0x%08x 0x%08x 0x%08x 0x%08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); ++ ++ } ++ ++ resp = (ulong *) &mv_mmc_csd; ++ debug("csd: 0x%08x 0x%08x 0x%08x 0x%08x\n", ++ (unsigned int)resp[0], (unsigned int)resp[1], (unsigned int)resp[2], (unsigned int)resp[3]); ++ ++ ++ /* check SDHC */ ++ if ((resp[0]&0xf0000000)==0x40000000) ++ is_sdhc = 1; ++ ++ /* set block len */ ++ resp = mv_mmc_cmd(MMC_CMD_SET_BLOCKLEN, MMC_BLOCK_SIZE, 0, SDIO_CMD_RSP_48, SDIO_NOR_CMD_DONE ); ++ if (!resp) { ++ debug("mv_mmc_block_read: set blk len fails\n"); ++ return -ENODEV; ++ } ++ ++ if (verbose) { ++ if (is_sd) ++ print_sd_cid((mv_sd_cid_t *) cidbuf); ++ else ++ print_mmc_cid((mv_mmc_cid_t *) cidbuf); ++ } ++ ++ mvsdio_set_clock(CONFIG_SYS_MMC_CLK_PP); ++ ++ fat_register_device(&mmc_dev,1); /* partitions start counting with 1 */ ++ ++ return 0; ++} ++ ++#endif /* CONFIG_MMC */ ++ +--- /dev/null ++++ b/drivers/mmc/mv_sdio.h +@@ -0,0 +1,296 @@ ++/* ++ * Copyright (C) 2008 Marvell Semiconductors, All Rights Reserved. ++ * Copyright (C) 2010 G?rald Kerma ++ * ++ * 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 _MVSDIO_INCLUDE ++#define _MVSDIO_INCLUDE ++ ++#define SDIO_REG(x) (KW_SDIO_BASE + (x)) ++ ++#define SDIO_REG_WRITE32(offset,value) writel(value,SDIO_REG(offset)) ++#define SDIO_REG_READ32(offset) readl(SDIO_REG(offset)) ++ ++#define SDIO_REG_WRITE16(offset,value) writew(value,SDIO_REG(offset)) ++#define SDIO_REG_READ16(offset) readw(SDIO_REG(offset)) ++ ++#define MVSDMMC_DMA_SIZE 65536 ++#define MVSDMMC_CMD_TIMEOUT 2 /* 100 usec*/ ++ ++/* ++ * Clock rates ++ */ ++ ++#define MVSD_CLOCKRATE_MAX 50000000 ++#define MVSD_BASE_DIV_MAX 0x7ff ++ ++#define CONFIG_SYS_MMC_CLK_PP 25000000 ++ ++/* ++ * The base MMC clock rate ++ */ ++ ++#define MVSDMMC_CLOCKRATE_MIN 100000 ++#define MVSDMMC_CLOCKRATE_MAX MVSD_CLOCKRATE_MAX ++#define MVSDMMC_BASE_FAST_CLOCK CONFIG_SYS_TCLK ++ ++ ++/* ++ * SDIO register ++ */ ++ ++#define SDIO_SYS_ADDR_LOW 0x000 ++#define SDIO_SYS_ADDR_HI 0x004 ++#define SDIO_BLK_SIZE 0x008 ++#define SDIO_BLK_COUNT 0x00c ++#define SDIO_ARG_LOW 0x010 ++#define SDIO_ARG_HI 0x014 ++#define SDIO_XFER_MODE 0x018 ++#define SDIO_CMD 0x01c ++#define SDIO_RSP(i) (0x020 + ((i)<<2)) ++#define SDIO_RSP0 0x020 ++#define SDIO_RSP1 0x024 ++#define SDIO_RSP2 0x028 ++#define SDIO_RSP3 0x02c ++#define SDIO_RSP4 0x030 ++#define SDIO_RSP5 0x034 ++#define SDIO_RSP6 0x038 ++#define SDIO_RSP7 0x03c ++#define SDIO_BUF_DATA_PORT 0x040 ++#define SDIO_RSVED 0x044 ++ ++#define SDIO_PRESENT_STATE0 0x048 ++#define SDIO_PRESENT_STATE1 0x04c ++#define SDIO_HOST_CTRL 0x050 ++#define SDIO_BLK_GAP_CTRL 0x054 ++#define SDIO_CLK_CTRL 0x058 ++#define SDIO_SW_RESET 0x05c ++#define SDIO_NOR_INTR_STATUS 0x060 ++#define SDIO_ERR_INTR_STATUS 0x064 ++#define SDIO_NOR_STATUS_EN 0x068 ++#define SDIO_ERR_STATUS_EN 0x06c ++#define SDIO_NOR_INTR_EN 0x070 ++#define SDIO_ERR_INTR_EN 0x074 ++#define SDIO_AUTOCMD12_ERR_STATUS 0x078 ++#define SDIO_CURR_BYTE_LEFT 0x07c ++#define SDIO_CURR_BLK_LEFT 0x080 ++#define SDIO_AUTOCMD12_ARG_LOW 0x084 ++#define SDIO_AUTOCMD12_ARG_HI 0x088 ++#define SDIO_AUTOCMD12_INDEX 0x08c ++#define SDIO_AUTO_RSP(i) (0x090 + ((i)<<2)) ++#define SDIO_AUTO_RSP0 0x090 ++#define SDIO_AUTO_RSP1 0x094 ++#define SDIO_AUTO_RSP2 0x098 ++#define SDIO_CLK_DIV 0x128 ++ ++#define WINDOW_CTRL(i) (0x108 + ((i) << 3)) ++#define WINDOW_BASE(i) (0x10c + ((i) << 3)) ++ ++ ++/* ++ * SDIO_PRESENT_STATE ++ */ ++ ++#define CARD_BUSY (1 << 1) ++#define CMD_INHIBIT (1 << 0) ++#define CMD_TXACTIVE (1 << 8) ++#define CMD_RXACTIVE (1 << 9) ++#define CMD_AUTOCMD12ACTIVE (1 << 14) ++ ++#define CMD_BUS_BUSY (CMD_AUTOCMD12ACTIVE| \ ++ CMD_RXACTIVE| \ ++ CMD_TXACTIVE| \ ++ CMD_INHIBIT| \ ++ CARD_BUSY) ++ ++/* ++ * SDIO_CMD ++ */ ++ ++#define SDIO_CMD_RSP_NONE (0 << 0) ++#define SDIO_CMD_RSP_136 (1 << 0) ++#define SDIO_CMD_RSP_48 (2 << 0) ++#define SDIO_CMD_RSP_48BUSY (3 << 0) ++ ++#define SDIO_CMD_CHECK_DATACRC16 (1 << 2) ++#define SDIO_CMD_CHECK_CMDCRC (1 << 3) ++#define SDIO_CMD_INDX_CHECK (1 << 4) ++#define SDIO_CMD_DATA_PRESENT (1 << 5) ++#define SDIO_UNEXPECTED_RESP (1 << 7) ++ ++ ++/* ++ * SDIO_XFER_MODE ++ */ ++ ++#define SDIO_XFER_MODE_STOP_CLK (1 << 5) ++#define SDIO_XFER_MODE_HW_WR_DATA_EN (1 << 1) ++#define SDIO_XFER_MODE_AUTO_CMD12 (1 << 2) ++#define SDIO_XFER_MODE_INT_CHK_EN (1 << 3) ++#define SDIO_XFER_MODE_TO_HOST (1 << 4) ++ ++ ++/* ++ * SDIO_HOST_CTRL ++ */ ++ ++#define SDIO_HOST_CTRL_PUSH_PULL_EN (1 << 0) ++ ++#define SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY (0 << 1) ++#define SDIO_HOST_CTRL_CARD_TYPE_IO_ONLY (1 << 1) ++#define SDIO_HOST_CTRL_CARD_TYPE_IO_MEM_COMBO (2 << 1) ++#define SDIO_HOST_CTRL_CARD_TYPE_IO_MMC (3 << 1) ++#define SDIO_HOST_CTRL_CARD_TYPE_MASK (3 << 1) ++ ++#define SDIO_HOST_CTRL_BIG_ENDIAN (1 << 3) ++#define SDIO_HOST_CTRL_LSB_FIRST (1 << 4) ++#define SDIO_HOST_CTRL_ID_MODE_LOW_FREQ (1 << 5) ++#define SDIO_HOST_CTRL_HALF_SPEED (1 << 6) ++#define SDIO_HOST_CTRL_DATA_WIDTH_4_BITS (1 << 9) ++#define SDIO_HOST_CTRL_HI_SPEED_EN (1 << 10) ++ ++ ++#define SDIO_HOST_CTRL_TMOUT_MASK (0xf << 11) ++#define SDIO_HOST_CTRL_TMOUT_MAX (0xf << 11) ++#define SDIO_HOST_CTRL_TMOUT(x) ((x) << 11) ++#define SDIO_HOST_CTRL_TMOUT_EN (1 << 15) ++ ++#define SDIO_HOST_CTRL_DFAULT_OPEN_DRAIN \ ++ (SDIO_HOST_CTRL_TMOUT(x)(0xf)) ++#define SDIO_HOST_CTRL_DFAULT_PUSH_PULL \ ++ (SDIO_HOST_CTRL_TMOUT(x)(0xf) | SDIO_HOST_CTRL_PUSH_PULL_EN) ++ ++ ++/* ++ * NOR status bits ++ */ ++ ++#define SDIO_NOR_ERROR (1 << 15) ++#define SDIO_NOR_UNEXP_RSP (1 << 14) ++#define SDIO_NOR_AUTOCMD12_DONE (1 << 13) ++#define SDIO_NOR_SUSPEND_ON (1 << 12) ++#define SDIO_NOR_LMB_FF_8W_AVAIL (1 << 11) ++#define SDIO_NOR_LMB_FF_8W_FILLED (1 << 10) ++#define SDIO_NOR_READ_WAIT_ON (1 << 9) ++#define SDIO_NOR_CARD_INT (1 << 8) ++#define SDIO_NOR_READ_READY (1 << 5) ++#define SDIO_NOR_WRITE_READY (1 << 4) ++#define SDIO_NOR_DMA_INI (1 << 3) ++#define SDIO_NOR_BLK_GAP_EVT (1 << 2) ++#define SDIO_NOR_XFER_DONE (1 << 1) ++#define SDIO_NOR_CMD_DONE (1 << 0) ++ ++ ++/* ++ * ERR status bits ++ */ ++ ++#define SDIO_ERR_CRC_STATUS (1 << 14) ++#define SDIO_ERR_CRC_STARTBIT (1 << 13) ++#define SDIO_ERR_CRC_ENDBIT (1 << 12) ++#define SDIO_ERR_RESP_TBIT (1 << 11) ++#define SDIO_ERR_SIZE (1 << 10) ++#define SDIO_ERR_CMD_STARTBIT (1 << 9) ++#define SDIO_ERR_AUTOCMD12 (1 << 8) ++#define SDIO_ERR_DATA_ENDBIT (1 << 6) ++#define SDIO_ERR_DATA_CRC (1 << 5) ++#define SDIO_ERR_DATA_TIMEOUT (1 << 4) ++#define SDIO_ERR_CMD_INDEX (1 << 3) ++#define SDIO_ERR_CMD_ENDBIT (1 << 2) ++#define SDIO_ERR_CMD_CRC (1 << 1) ++#define SDIO_ERR_CMD_TIMEOUT (1 << 0) ++ ++#define SDIO_ERR_INTR_MASK 0xFFFF ++ ++ ++#define MMC_BLOCK_SIZE 512 ++#define MMC_CMD_RESET 0 ++#define MMC_CMD_SEND_OP_COND 1 ++#define MMC_CMD_ALL_SEND_CID 2 ++#define MMC_CMD_SET_RCA 3 ++#define MMC_CMD_SELECT_CARD 7 ++#define MMC_CMD_SEND_CSD 9 ++#define MMC_CMD_SEND_CID 10 ++#define MMC_CMD_SEND_STATUS 13 ++#define MMC_CMD_SET_BLOCKLEN 16 ++#define MMC_CMD_READ_BLOCK 17 ++#define MMC_CMD_RD_BLK_MULTI 18 ++#define MMC_CMD_WRITE_BLOCK 24 ++#define MMC_MAX_BLOCK_SIZE 512 ++ ++typedef struct mv_mmc_cid ++{ ++ /* FIXME: BYTE_ORDER */ ++ uchar year:4, ++ month:4; ++ uchar sn[3]; ++ uchar fwrev:4, ++ hwrev:4; ++ uchar name[6]; ++ uchar id[3]; ++} mv_mmc_cid_t; ++ ++typedef struct mv_mmc_csd ++{ ++ uchar ecc:2, ++ file_format:2, ++ tmp_write_protect:1, ++ perm_write_protect:1, ++ copy:1, ++ file_format_grp:1; ++ uint64_t content_prot_app:1, ++ rsvd3:4, ++ write_bl_partial:1, ++ write_bl_len:4, ++ r2w_factor:3, ++ default_ecc:2, ++ wp_grp_enable:1, ++ wp_grp_size:5, ++ erase_grp_mult:5, ++ erase_grp_size:5, ++ c_size_mult1:3, ++ vdd_w_curr_max:3, ++ vdd_w_curr_min:3, ++ vdd_r_curr_max:3, ++ vdd_r_curr_min:3, ++ c_size:12, ++ rsvd2:2, ++ dsr_imp:1, ++ read_blk_misalign:1, ++ write_blk_misalign:1, ++ read_bl_partial:1; ++ ushort read_bl_len:4, ++ ccc:12; ++ uchar tran_speed; ++ uchar nsac; ++ uchar taac; ++ uchar rsvd1:2, ++ spec_vers:4, ++ csd_structure:2; ++} mv_mmc_csd_t; ++ ++typedef struct { ++ char pnm_0; /* product name */ ++ char oid_1; /* OEM/application ID */ ++ char oid_0; ++ uint8_t mid; /* manufacturer ID */ ++ char pnm_4; ++ char pnm_3; ++ char pnm_2; ++ char pnm_1; ++ uint8_t psn_2; /* product serial number */ ++ uint8_t psn_1; ++ uint8_t psn_0; /* MSB */ ++ uint8_t prv; /* product revision */ ++ uint8_t crc; /* CRC7 checksum, b0 is unused and set to 1 */ ++ uint8_t mdt_1; /* manufacturing date, LSB, RRRRyyyy yyyymmmm */ ++ uint8_t mdt_0; /* MSB */ ++ uint8_t psn_3; /* LSB */ ++} mv_sd_cid_t; ++ ++#endif /* _MVSDIO_INCLUDE */ +--- a/include/configs/sheevaplug.h ++++ b/include/configs/sheevaplug.h +@@ -25,10 +25,12 @@ + #ifndef _CONFIG_SHEEVAPLUG_H + #define _CONFIG_SHEEVAPLUG_H + ++//#define DEBUG 1 ++ + /* + * Version number information + */ +-#define CONFIG_IDENT_STRING "\nMarvell-Sheevaplug" ++#define CONFIG_IDENT_STRING "\nMarvell-Sheevaplug - eSATA - SD/MMC" + + /* + * High Level Configuration Options (easy to change) +@@ -48,6 +50,7 @@ + #define CONFIG_CMD_ENV + #define CONFIG_CMD_IDE + #define CONFIG_CMD_MII ++#define CONFIG_CMD_MMC + #define CONFIG_CMD_NAND + #define CONFIG_CMD_PING + #define CONFIG_CMD_USB +@@ -79,16 +82,18 @@ + */ + #define CONFIG_BOOTCOMMAND "${x_bootcmd_kernel}; " \ + "setenv bootargs ${x_bootargs} ${x_bootargs_root}; " \ +- "${x_bootcmd_usb}; bootm 0x6400000;" ++ "${x_bootcmd_usb}; ${x_bootcmd_sata}; bootm 0x6400000;" ++ ++#define CONFIG_MTDPARTS "orion_nand:" \ ++ "512k(uboot),4m@1m(kernel),507m@5m(rootfs) rw\0" + +-#define CONFIG_MTDPARTS "orion_nand:512k(uboot)," \ +- "3m@1m(kernel),1m@4m(psm),13m@5m(rootfs) rw\0" + +-#define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ +- "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \ +- "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x300000\0" \ +- "x_bootcmd_usb=usb start\0" \ +- "x_bootargs_root=root=/dev/mtdblock3 rw rootfstype=jffs2\0" ++#define CONFIG_EXTRA_ENV_SETTINGS "x_bootargs=console" \ ++ "=ttyS0,115200 mtdparts="CONFIG_MTDPARTS \ ++ "x_bootcmd_kernel=nand read 0x6400000 0x100000 0x400000\0" \ ++ "x_bootcmd_usb=usb start;\0" \ ++ "x_bootcmd_sata=ide reset;\0" \ ++ "x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs\0" + + /* + * Ethernet Driver configuration +@@ -99,6 +104,14 @@ + #endif /* CONFIG_CMD_NET */ + + /* ++ * SDIO/MMC Card Configuration ++ */ ++#ifdef CONFIG_CMD_MMC ++#define CONFIG_MMC ++#define CONFIG_MV_SDIO ++#endif /* CONFIG_CMD_MMC */ ++ ++/* + * IDE Support on SATA port0 + */ + #ifdef CONFIG_CMD_IDE diff --git a/patches/mipsel-native-endianness.diff b/patches/mipsel-native-endianness.diff new file mode 100644 index 000000000..c63f18c6d --- /dev/null +++ b/patches/mipsel-native-endianness.diff @@ -0,0 +1,137 @@ +[MIPS] Fix little-endian build with non-ELDK toolchains + +We've been in trouble for a long time when cross compiling with non-ELDK +toolchains. This is caused by -EB passed to CPPFLAGS incorrectly, by the +lack of an endian specifier to LDFLAGS, and by wrong OUTPUT_FORMATs. + +We're going to implement two workarounds. One is the endianness specifier +bugfix not to pass -EB / -EL to CPPFLAGS unless ELDK toolchain is used. +Note that ELDK and non-ELDK toolchains know their default endianness, so +the endianness specifier may not be necessary in principle. + +The other is removal of OUTPUT_FORMAT in *.lds files. If we have this, +it doesn't work unless an endianness specifier is added to LDFLAGS. As +we haven't added that to LDFLAGS so far, it must have not worked properly, +except ELDK; I don't know why and how ELDK works, though. + +With these two changes, all objects will be generated and linked in the +toolchain's default endianness. Then MAKEALL mips_el will work even with +non-ELDK toolchain. + +Note that Linux/MIPS kernel has CONFIG_CPU_BIG_ENDIAN and +CONFIG_CPU_LITTLE_ENDIAN alternatives to allow users to compile kernels +with a toolchain for the other endianness. But U-Boot does not have such +feature for now, and it's another story. + +Signed-off-by: Shinya Kuribayashi +--- + board/dbau1x00/u-boot.lds | 4 ---- + board/gth2/u-boot.lds | 4 ---- + board/incaip/u-boot.lds | 4 ---- + board/pb1x00/u-boot.lds | 4 ---- + board/purple/u-boot.lds | 4 ---- + board/qemu-mips/u-boot.lds | 4 ---- + board/tb0229/u-boot.lds | 2 -- + cpu/mips/config.mk | 8 -------- + examples/mips.lds | 4 ---- + mips_config.mk | 26 ++++++++++++++++++++++++++ + 10 files changed, 26 insertions(+), 38 deletions(-) + +--- a/board/dbau1x00/u-boot.lds ++++ b/board/dbau1x00/u-boot.lds +@@ -21,10 +21,6 @@ + * MA 02111-1307 USA + */ + +-/* +-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") +-*/ +-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") + OUTPUT_ARCH(mips) + ENTRY(_start) + SECTIONS +--- a/board/gth2/u-boot.lds ++++ b/board/gth2/u-boot.lds +@@ -21,10 +21,6 @@ + * MA 02111-1307 USA + */ + +-/* +-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") +-*/ +-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") + OUTPUT_ARCH(mips) + ENTRY(_start) + SECTIONS +--- a/board/incaip/u-boot.lds ++++ b/board/incaip/u-boot.lds +@@ -21,10 +21,6 @@ + * MA 02111-1307 USA + */ + +-/* +-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") +-*/ +-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") + OUTPUT_ARCH(mips) + ENTRY(_start) + SECTIONS +--- a/board/pb1x00/u-boot.lds ++++ b/board/pb1x00/u-boot.lds +@@ -21,10 +21,6 @@ + * MA 02111-1307 USA + */ + +-/* +-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") +-*/ +-OUTPUT_FORMAT("elf32-tradlittlemips", "elf32-tradbigmips", "elf32-tradlittlemips") + OUTPUT_ARCH(mips) + ENTRY(_start) + SECTIONS +--- a/board/qemu-mips/u-boot.lds ++++ b/board/qemu-mips/u-boot.lds +@@ -21,10 +21,6 @@ + * MA 02111-1307 USA + */ + +-/* +-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") +-*/ +-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") + OUTPUT_ARCH(mips) + ENTRY(_start) + SECTIONS +--- a/examples/standalone/mips.lds ++++ b/examples/standalone/mips.lds +@@ -21,10 +21,6 @@ + * MA 02111-1307 USA + */ + +-/* +-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") +-*/ +-OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") + OUTPUT_ARCH(mips) + SECTIONS + { +--- a/arch/mips/cpu/mips32/config.mk ++++ b/arch/mips/cpu/mips32/config.mk +@@ -45,5 +45,4 @@ + # Default to EB if no endianess is configured + ENDIANNESS ?= -EB + +-PLATFORM_CPPFLAGS += $(MIPSFLAGS) $(ENDIANNESS) +-PLATFORM_LDFLAGS += $(ENDIANNESS) ++PLATFORM_CPPFLAGS += $(MIPSFLAGS) +--- a/arch/mips/config.mk ++++ b/arch/mips/config.mk +@@ -21,7 +21,7 @@ + # MA 02111-1307 USA + # + +-CROSS_COMPILE ?= mips_4KC- ++#CROSS_COMPILE ?= mips_4KC- + + CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000 -T mips.lds + diff --git a/patches/no-error-on-set-but-unused-variables.diff b/patches/no-error-on-set-but-unused-variables.diff new file mode 100644 index 000000000..307fd89c3 --- /dev/null +++ b/patches/no-error-on-set-but-unused-variables.diff @@ -0,0 +1,11 @@ +--- a/arch/x86/cpu/config.mk ++++ b/arch/x86/cpu/config.mk +@@ -23,7 +23,7 @@ + + CROSS_COMPILE ?= i386-linux- + +-PLATFORM_CPPFLAGS += -DCONFIG_X86 -D__I386__ -march=i386 -Werror ++PLATFORM_CPPFLAGS += -DCONFIG_X86 -D__I386__ -march=i386 -Werror -Wno-error=unused-but-set-variable + + # DO NOT MODIFY THE FOLLOWING UNLESS YOU REALLY KNOW WHAT YOU ARE DOING! + LDPPFLAGS += -DRESET_SEG_START=0xffff0000 diff --git a/patches/openrd-mmc.diff b/patches/openrd-mmc.diff new file mode 100644 index 000000000..4457b6050 --- /dev/null +++ b/patches/openrd-mmc.diff @@ -0,0 +1,22 @@ +This partially depends on the kerma sheevaplug stuff. + +--- a/include/configs/openrd.h ++++ b/include/configs/openrd.h +@@ -65,6 +65,7 @@ + #define CONFIG_CMD_DHCP + #define CONFIG_CMD_ENV + #define CONFIG_CMD_MII ++#define CONFIG_CMD_MMC + #define CONFIG_CMD_NAND + #define CONFIG_CMD_PING + #define CONFIG_CMD_USB +@@ -139,4 +140,9 @@ + #define CONFIG_SYS_ATA_IDE1_OFFSET MV_SATA_PORT1_OFFSET + #endif /*CONFIG_MVSATA_IDE*/ + ++#ifdef CONFIG_CMD_MMC ++#define CONFIG_MMC ++#define CONFIG_MV_SDIO ++#endif /* CONFIG_CMD_MMC */ ++ + #endif /* _CONFIG_OPENRD_BASE_H */ diff --git a/patches/series b/patches/series new file mode 100644 index 000000000..f636816d7 --- /dev/null +++ b/patches/series @@ -0,0 +1,7 @@ +mipsel-native-endianness.diff +kerma-sheevaplug-mvsata.diff +kerma-sheevaplug-mvsdio.diff +openrd-mmc.diff +no-error-on-set-but-unused-variables.diff +hurd.diff +strip-env-tools.diff diff --git a/patches/strip-env-tools.diff b/patches/strip-env-tools.diff new file mode 100644 index 000000000..c0e165e45 --- /dev/null +++ b/patches/strip-env-tools.diff @@ -0,0 +1,28 @@ +From 17a2bf859d1dcd393db767a254442e35f01804f2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Lo=C3=AFc=20Minier?= +Date: Sun, 11 Mar 2012 16:40:59 +0100 +Subject: [PATCH] Strip fw_printenv like the other tools +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Loïc Minier +--- + tools/env/Makefile | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/tools/env/Makefile b/tools/env/Makefile +index 28b73da..07634bc 100644 +--- a/tools/env/Makefile ++++ b/tools/env/Makefile +@@ -41,6 +41,7 @@ all: $(obj)fw_printenv + # Some files complain if compiled with -pedantic, use HOSTCFLAGS_NOPED + $(obj)fw_printenv: $(HOSTSRCS) $(HEADERS) + $(HOSTCC) $(HOSTCFLAGS_NOPED) $(HOSTLDFLAGS) -o $@ $(HOSTSRCS) ++ $(HOSTSTRIP) $@ + + clean: + rm -f $(obj)fw_printenv +-- +1.7.9 + diff --git a/rules b/rules new file mode 100755 index 000000000..1c2e7063c --- /dev/null +++ b/rules @@ -0,0 +1,186 @@ +#!/usr/bin/make -f + +INSTALL_FILE := install -m 644 +INSTALL_PROGRAM := install -m 755 +INSTALL_DIR := install -m 755 -d + +version := $(shell dpkg-parsechangelog | sed -n 's/^Version: //p') +tools_version := 20081215-3+$(version) + +env_package := uboot-envtools +mkimage_package := uboot-mkimage +package := u-boot +tools_package := u-boot-tools + +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +export CROSS_COMPILE ?= $(DEB_HOST_GNU_TYPE)- +endif + +# the upstream build passes LDFLAGS directly to ld instead of calling gcc for +# linking; so instead of passing -Wl,foo in LDFLAGS as in automake builds, one +# should set LDFLAGS to foo directly +comma := , +LDFLAGS := $(patsubst -Wl$(comma)%,%,$(LDFLAGS)) + +# macro to test whether a host header is present +check_include = $(shell echo | $(CROSS_COMPILE)gcc -E -include $(1) -o /dev/null - 2>/dev/null && echo 1 || echo 0) + +# whether we have Linux MTD headers +has_mtd_user := $(call check_include, mtd/mtd-user.h) + +build-indep: + +build: build-arch build-indep +build-arch: + $(checkdir) + + set -e; sed -n 's/^$(DEB_HOST_ARCH)[[:space:]]\+//p' debian/targets \ + | while read platform target; do \ + builddir=`pwd`/debian/build/$$platform; \ + installdir=debian/$(package)/usr/lib/$(package)/$$platform; \ + mkdir -p $$builddir; \ + $(MAKE) O=$$builddir $${platform}_config; \ + $(MAKE) O=$$builddir $$builddir/$$target; \ + $(INSTALL_DIR) $$installdir; \ + $(INSTALL_FILE) $$builddir/$$target $$installdir; \ + $(INSTALL_FILE) $$builddir/u-boot $$installdir/uboot.elf; \ + $(CROSS_COMPILE)strip --remove-section=.comment \ + $$installdir/uboot.elf; \ + done + +ifeq ($(CROSS_COMPILE),) + # board-independent tools + $(INSTALL_DIR) debian/$(tools_package)/usr/bin/ + touch include/config.h + $(MAKE) HOSTCC=$(CROSS_COMPILE)gcc HOSTSTRIP=$(CROSS_COMPILE)strip \ + tools + $(INSTALL_PROGRAM) tools/mkimage debian/$(tools_package)/usr/bin/ + # only build env tools if we have Linux MTD headers +ifeq ($(has_mtd_user),1) + $(MAKE) HOSTCC=$(CROSS_COMPILE)gcc HOSTSTRIP=$(CROSS_COMPILE)strip env + $(INSTALL_PROGRAM) tools/env/fw_printenv debian/$(tools_package)/usr/bin/ + ln -sf fw_printenv debian/$(tools_package)/usr/bin/fw_setenv +endif + rm include/config.h +endif + + touch $@ + +clean: + $(checkdir) + rm -f debian/files debian/*.substvars + rm -rf debian/$(env_package) debian/$(mkimage_package) debian/$(package) debian/$(tools_package) + rm -f build-arch + $(MAKE) distclean + rm -rf arch/arm/include/asm/arch arch/arm/include/asm/proc + rm -rf debian/build + rm -f `find . -name "*~"` + +binary-indep: checkroot + $(checkdir) + + $(INSTALL_DIR) debian/$(mkimage_package)/DEBIAN + $(INSTALL_DIR) debian/$(mkimage_package)/usr/share/doc/$(mkimage_package)/ + + $(INSTALL_FILE) debian/copyright \ + debian/$(mkimage_package)/usr/share/doc/$(mkimage_package)/ + $(INSTALL_FILE) debian/changelog \ + debian/$(mkimage_package)/usr/share/doc/$(mkimage_package)/changelog.Debian + + gzip -9f `find debian/$(mkimage_package)/usr/share/doc -type f ! -name "copyright"` + dpkg-gencontrol -ldebian/changelog -isp -p$(mkimage_package) -Tdebian/$(mkimage_package).substvars -Pdebian/$(mkimage_package) + cd debian/$(mkimage_package) && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums + + chown -R root:root debian/$(mkimage_package) + chmod -R go=rX debian/$(mkimage_package) + + dpkg --build debian/$(mkimage_package) .. + + + $(INSTALL_DIR) debian/$(env_package)/DEBIAN + $(INSTALL_DIR) debian/$(env_package)/usr/share/doc/$(env_package)/ + + $(INSTALL_FILE) debian/copyright \ + debian/$(env_package)/usr/share/doc/$(env_package)/ + $(INSTALL_FILE) debian/changelog \ + debian/$(env_package)/usr/share/doc/$(env_package)/changelog.Debian + + gzip -9f `find debian/$(env_package)/usr/share/doc -type f ! -name "copyright"` + dpkg-gencontrol -v$(tools_version) -ldebian/changelog -isp -p$(env_package) -Tdebian/$(env_package).substvars -Pdebian/$(env_package) + cd debian/$(env_package) && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums + + chown -R root:root debian/$(env_package) + chmod -R go=rX debian/$(env_package) + + dpkg --build debian/$(env_package) .. + +binary-arch: checkroot build + $(checkdir) + + $(INSTALL_DIR) debian/$(package)/DEBIAN + + $(INSTALL_DIR) debian/$(package)/usr/share/doc/$(package)/ + $(INSTALL_FILE) debian/README.Debian \ + debian/$(package)/usr/share/doc/$(package)/ + $(INSTALL_FILE) debian/copyright \ + debian/$(package)/usr/share/doc/$(package)/ + $(INSTALL_FILE) debian/changelog \ + debian/$(package)/usr/share/doc/$(package)/changelog.Debian + + $(INSTALL_DIR) debian/$(package)/usr/share/lintian/overrides/ + $(INSTALL_FILE) debian/lintian.overrides \ + debian/$(package)/usr/share/lintian/overrides/$(package) + + gzip -9f `find debian/$(package)/usr/share/doc -type f ! -name "copyright"` + dpkg-gencontrol -ldebian/changelog -isp -p$(package) -Tdebian/$(package).substvars -Pdebian/$(package) + cd debian/$(package) && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums + + chown -R root:root debian/$(package) + chmod -R go=rX debian/$(package) + + dpkg --build debian/$(package) .. + + + $(INSTALL_DIR) debian/$(tools_package)/DEBIAN + + $(INSTALL_DIR) debian/$(tools_package)/usr/share/doc/$(tools_package)/ + $(INSTALL_FILE) debian/copyright debian/$(tools_package)/usr/share/doc/$(tools_package)/ + $(INSTALL_FILE) debian/changelog debian/$(tools_package)/usr/share/doc/$(tools_package)/changelog.Debian + + $(INSTALL_DIR) debian/$(tools_package)/usr/share/man/man1 + $(INSTALL_DIR) debian/$(tools_package)/usr/share/man/man8 + $(INSTALL_FILE) doc/mkimage.1 debian/$(tools_package)/usr/share/man/man1/ + $(INSTALL_FILE) debian/manpages/fw_printenv.8 debian/$(tools_package)/usr/share/man/man8/ + $(INSTALL_FILE) debian/manpages/fw_setenv.8 debian/$(tools_package)/usr/share/man/man8/ + + gzip -9f `find debian/$(tools_package)/usr/share/doc -type f ! -name "copyright"` + gzip -9f `find debian/$(tools_package)/usr/share/man -type f` + + dpkg-shlibdeps -Tdebian/$(tools_package).substvars \ + debian/$(tools_package)/usr/bin/* + dpkg-gencontrol -ldebian/changelog -isp -p$(tools_package) -Tdebian/$(tools_package).substvars -Pdebian/$(tools_package) + cd debian/$(tools_package) && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums + + chown -R root:root debian/$(tools_package) + chmod -R go=rX debian/$(tools_package) + + dpkg --build debian/$(tools_package) .. + +define checkdir + test -f debian/rules +endef + +binary: binary-arch binary-indep + +prebuild: + @true + +checkroot: + $(checkdir) + test root = "`whoami`" + +.PHONY: build build-indep binary binary-arch binary-indep clean checkroot prebuild diff --git a/source/format b/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/targets b/targets new file mode 100644 index 000000000..e18920192 --- /dev/null +++ b/targets @@ -0,0 +1,20 @@ +# DEB_HOST_ARCH platform target +# -------------------------------------------- +armel dockstar u-boot.kwb +armel dreamplug u-boot.kwb +armel guruplug u-boot.kwb +armel openrd_ultimate u-boot.kwb +armel sheevaplug u-boot.kwb +armhf efikamx u-boot.imx +armhf efikasb u-boot.imx +armhf igep0020 u-boot.bin +armhf omap3_beagle u-boot.bin +armhf omap4_panda u-boot.bin +armhf mx53loco u-boot.imx +avr32 hammerhead u-boot.img +i386 eNET u-boot.bin +mipsel dbau1100 u-boot.img +mips qemu_mips u-boot.img +powerpc ZUMA u-boot.img +sh4 r2dplus u-boot.img +sh4 sh7785lcr_32bit u-boot.img diff --git a/watch b/watch new file mode 100644 index 000000000..142fed4f7 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=3 + +ftp://ftp.denx.de/pub/u-boot/ u-boot-([\d\.]+)\.tar\.bz2