Merge branch 'master' of github.com:archlinuxarm/PKGBUILDs

This commit is contained in:
Mike Brown 2013-07-20 13:14:19 -04:00
commit 98d774bf8a
37 changed files with 4746 additions and 4086 deletions

36
alarm/elftosb/PKGBUILD Normal file
View file

@ -0,0 +1,36 @@
# Contributor: Kiril Zyapkov <kiril.zyapkov@gmail.com>
buildarch=2
pkgname=elftosb
pkgver=10.12.01
pkgrel=1
pkgdesc="Helper utility for freescale imx platforms"
arch=(arm)
url="http://freescale.com"
license=('MIT')
makedepends=()
source=(
"http://repository.timesys.com/buildsources/e/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz"
"http://repository.timesys.com/buildsources/e/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver-libm.patch")
md5sums=(
'e8005d606c1e0bb3507c82f6eceb3056'
'b4b758eb116914e284d6d12872948131')
build() {
cd "$srcdir/$pkgname-$pkgver"
patch -p1 < ../$pkgname-$pkgver-libm.patch
make all
}
package() {
mkdir -p $pkgdir/usr/local/bin
install -D -m 755 $srcdir/$pkgname-$pkgver/bld/linux/elftosb $pkgdir/usr/local/bin/ || return 1
install -D -m 755 $srcdir/$pkgname-$pkgver/bld/linux/keygen $pkgdir/usr/local/bin/ || return 1
install -D -m 755 $srcdir/$pkgname-$pkgver/bld/linux/sbtool $pkgdir/usr/local/bin/ || return 1
cd $pkgdir/usr/local/bin
ln -sf elftosb elftosb2
}
# vim:set ts=2 sw=2 et:

View file

@ -0,0 +1,11 @@
diff -urN a/include/configs/mx23_olinuxino.h b/include/configs/mx23_olinuxino.h
--- a/include/configs/mx23_olinuxino.h 2013-07-19 13:28:55.017258253 -0600
+++ b/include/configs/mx23_olinuxino.h 2013-07-19 13:32:35.191233599 -0600
@@ -65,6 +65,7 @@
#define CONFIG_CMD_MMC
#define CONFIG_CMD_NET
#define CONFIG_CMD_USB
+#define CONFIG_CMD_BOOTZ
/*
* Memory configurations

View file

@ -1,3 +1,4 @@
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
# Contributor: Kiril Zyapkov <kiril.zyapkov@gmail.com>
# U-Boot for i.MX233-OLinuXino
@ -7,7 +8,7 @@ buildarch=2
pkgname=uboot-olinuxino
pkgdesc="U-Boot for i.MX233-OLinuXino"
pkgver=2013.04
pkgrel=1
pkgrel=2
arch=('arm')
license=('GPL')
depends=('coreutils')
@ -15,22 +16,22 @@ makedepends=('git' 'elftosb')
install=$pkgname.install
options=('!strip')
source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2"
0001-imx-Move-some-header-files-from-arch-mxs-to-imx-comm.patch
0002-mxs-mxsboot-Move-sdcard-BCB-header-to-4-sectors-offs.patch
0003-mx23-Put-back-RAM-voltage-level-to-its-original-valu.patch
0004-mx23-Fix-pad-voltage-selection-bit.patch
0005-mx23_olinuxino-Fix-DDR-pin-iomux-settings.patch
0006-mxs-spl_mem_init-Fix-comment-about-start-bit.patch
0007-mxs-spl_mem_init-Remove-erroneous-DDR-setting.patch
0008-mxs-spl_mem_init-Skip-the-initialization-of-some-DRA.patch
0009-mxs-spl_mem_init-Change-EMI-port-priority.patch
0010-mx23-Operate-DDR-voltage-supply-at-2.5V.patch
0011-mx23_olinuxino-Do-not-set-voltage-selection-bit-for-.patch
0012-mxs-Explain-why-some-mx23-DDR-registers-are-not-conf.patch
0013-arm-mx23-Fix-VDDMEM-misconfiguration.patch
0014-arm-mxs-Preprocess-u-boot.bd-so-they-contain-full-pa.patch
0015-Add-generic-and-ext4-commands-adjust-boot-environmen.patch
)
'0001-imx-Move-some-header-files-from-arch-mxs-to-imx-comm.patch'
'0002-mxs-mxsboot-Move-sdcard-BCB-header-to-4-sectors-offs.patch'
'0003-mx23-Put-back-RAM-voltage-level-to-its-original-valu.patch'
'0004-mx23-Fix-pad-voltage-selection-bit.patch'
'0005-mx23_olinuxino-Fix-DDR-pin-iomux-settings.patch'
'0006-mxs-spl_mem_init-Fix-comment-about-start-bit.patch'
'0007-mxs-spl_mem_init-Remove-erroneous-DDR-setting.patch'
'0008-mxs-spl_mem_init-Skip-the-initialization-of-some-DRA.patch'
'0009-mxs-spl_mem_init-Change-EMI-port-priority.patch'
'0010-mx23-Operate-DDR-voltage-supply-at-2.5V.patch'
'0011-mx23_olinuxino-Do-not-set-voltage-selection-bit-for-.patch'
'0012-mxs-Explain-why-some-mx23-DDR-registers-are-not-conf.patch'
'0013-arm-mx23-Fix-VDDMEM-misconfiguration.patch'
'0014-arm-mxs-Preprocess-u-boot.bd-so-they-contain-full-pa.patch'
'0015-Add-generic-and-ext4-commands-adjust-boot-environmen.patch'
'0016-mx23_olinuxino-Add-bootz-command.patch')
md5sums=('21bf962d69938ed4ed783b792b2b074e'
'93746f9682fb56a3cbbbcc9e6389bc8a'
'29412096225ca8eed21f205d0a9dfe14'
@ -46,9 +47,10 @@ md5sums=('21bf962d69938ed4ed783b792b2b074e'
'38df690f2b10dda11b771a4753434fe5'
'5df3f02303f158bd0bf449c2e2ae86fc'
'a5995f5be9ca0f5956ebc4d95559da21'
'cb1d955bb42c58d0ef683f7e74178095')
'cb1d955bb42c58d0ef683f7e74178095'
'ae8def5b8d1916f71ba632934cf83c26')
build() {
prepare() {
cd "$srcdir/u-boot-${pkgver}"
patch -Np1 -i $srcdir/0001-imx-Move-some-header-files-from-arch-mxs-to-imx-comm.patch
@ -66,6 +68,11 @@ build() {
patch -Np1 -i $srcdir/0013-arm-mx23-Fix-VDDMEM-misconfiguration.patch
patch -Np1 -i $srcdir/0014-arm-mxs-Preprocess-u-boot.bd-so-they-contain-full-pa.patch
patch -Np1 -i $srcdir/0015-Add-generic-and-ext4-commands-adjust-boot-environmen.patch
patch -Np1 -i $srcdir/0016-mx23_olinuxino-Add-bootz-command.patch
}
build() {
cd "$srcdir/u-boot-${pkgver}"
make mx23_olinuxino_config
make u-boot.sb

View file

@ -0,0 +1,40 @@
# U-Boot: Pandaboard and Pandaboard ES
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
buildarch=4
pkgname=uboot-pandaboard
pkgver=2013.04
pkgrel=1
pkgdesc="U-Boot for Pandaboard and Pandaboard ES"
arch=('armv7h')
url="http://git.denx.de/u-boot.git/"
license=('GPL')
makedepends=('git')
source=("uboot::git://git.denx.de/u-boot.git#tag=v${pkgver}"
'http://raw.github.com/eewiki/u-boot-patches/master/v${pkgver}/0001-omap4_common-uEnv.txt-bootz-n-fixes.patch'
'alarm.patch'
'uEnv.txt')
md5sums=('SKIP'
'7472e6e0c10c59ca53442bb85a33278e'
'2a411ced08f8c536b76b47df64a36d17'
'9d4d647761d7e5dac7b6368970c74eb5')
prepare() {
cd uboot
patch -p1 -i "${srcdir}"/0001-omap4_common-uEnv.txt-bootz-n-fixes.patch
patch -p1 -i "${srcdir}"/alarm.patch
}
build() {
cd uboot
make distclean
make omap4_panda_config
make
}
package() {
cd uboot
mkdir -p "${pkgdir}"/boot
cp MLO u-boot.img "${srcdir}"/uEnv.txt "${pkgdir}"/boot
}

View file

@ -0,0 +1,29 @@
diff -urN a/include/configs/omap4_common.h b/include/configs/omap4_common.h
--- a/include/configs/omap4_common.h 2013-05-29 14:33:35.068105081 -0600
+++ b/include/configs/omap4_common.h 2013-05-29 14:41:54.424745536 -0600
@@ -158,6 +158,7 @@
"fdtaddr=0x80f80000\0" \
"bootpart=0:2\0" \
"bootdir=/boot\0" \
+ "fdtdir=/boot/dtbs\0" \
"bootfile=zImage\0" \
"usbtty=cdc_acm\0" \
"vram=16M\0" \
@@ -166,7 +167,7 @@
"buddy=none\0" \
"mmcdev=0\0" \
"mmcpart=1\0" \
- "mmcroot=/dev/mmcblk0p2 ro\0" \
+ "mmcroot=/dev/mmcblk0p2 rw\0" \
"mmcrootfstype=ext4 rootwait fixrtc\0" \
"mmcargs=setenv bootargs console=${console} " \
"buddy=${buddy} "\
@@ -193,7 +194,7 @@
"setenv fdtfile omap4-sdp.dtb; fi; " \
"if test $board_name = panda; then " \
"setenv fdtfile omap4-panda-es.dtb; fi\0" \
- "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \
+ "loadfdt=load mmc ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \
#define CONFIG_BOOTCOMMAND \
"run findfdt; " \

View file

@ -0,0 +1,9 @@
#SPI: enable for userspace spi access on expansion header
#buddy=spidev
#Video Resolution:
#dvimode=1280x720MR-16@60
#Partitions: default settings:
#mmcroot=/dev/mmcblk0p2 rw
#mmcrootfstype=ext4 rootwait fixrtc

View file

@ -4,19 +4,19 @@
# ALARM Maintainer: Tommaso Sardelli <lacapannadelloziotom [at] gmail [dot] com>
pkgname=owncloud
pkgver=5.0.8
pkgver=5.0.9
pkgrel=1
pkgdesc="A cloud server to store your files centrally on a hardware controlled by you"
arch=('any')
url="http://owncloud.org/"
license=('GPL')
depends=('php-gd' 'php-intl')
optdepends=("php-apache: to use the Apache web server" "php-sqlite: to use the SQLite database backend" "mariadb: to use the MySQL database backend" "smbclient: to mount SAMBA shares")
optdepends=("php-apache: to use the Apache web server" "php-sqlite: to use the SQLite database backend" "php-pgsql: to use the PostgreSQL database backend" "mariadb: to use the MySQL database backend" "smbclient: to mount SAMBA shares")
makedepends=()
source=("http://download.owncloud.org/community/$pkgname-$pkgver.tar.bz2" 'owncloud.conf')
backup=('etc/httpd/conf/extra/owncloud.conf')
install=owncloud.install
md5sums=('4a881f50201dc03304c52d0e189da289'
md5sums=('1ad9d51e2b355bc5243c84db97786b01'
'12c893e4a6a2af4b085c592ded741eaf')
package() {

View file

@ -7,6 +7,6 @@ post_install() {
echo "Include conf/extra/php5_module.conf"
echo
echo "Uncomment extensions gd.so intl.so iconv.so openssl.so xmlrpc.so zip.so"
echo "and either pdo_sqlite.so sqlite3.so (for the SQLite backend) or mysqli.so pdo_mysql.so (for the MySQL backend)"
echo "and either pdo_sqlite.so sqlite3.so (for the SQLite backend), pdo_pgsql.so pgsql.so (for the PostgreSQL backend) or mysqli.so pdo_mysql.so (for the MySQL backend)"
echo "in /etc/php/php.ini"
}

View file

@ -10,12 +10,12 @@
pkgname=distcc
pkgver=3.1
pkgrel=12
pkgrel=12.1
pkgdesc="A distributed C, C++, Obj C compiler"
arch=('i686' 'x86_64')
url="http://code.google.com/p/distcc/"
license=('GPL')
depends=('gcc' 'popt' 'avahi' 'dbus')
depends=('gcc' 'popt')
makedepends=('gtk2' 'pkgconfig' 'python2')
optdepends=('python2')
backup=('etc/conf.d/distccd'
@ -36,7 +36,7 @@ build() {
[ -f Makefile ] || PYTHON=/usr/bin/python2 ./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--without-avahi \
--without-avahi
make WERROR_CFLAGS= INCLUDESERVER_PYTHON=/usr/bin/python2
}

View file

@ -7,8 +7,8 @@
# - remove --enable-runtime-cpudetection from configure
pkgname=mplayer-vaapi
pkgver=35107
pkgrel=8
pkgver=36265
pkgrel=1
pkgdesc="A movie player, compiled with vaapi support"
arch=('i686' 'x86_64')
url="http://gitorious.org/vaapi/mplayer"
@ -23,28 +23,35 @@ makedepends=('unzip' 'live-media' 'yasm' 'ladspa' 'git' 'mesa')
provides=("mplayer=$pkgver")
conflicts=('mplayer')
backup=('etc/mplayer/codecs.conf' 'etc/mplayer/input.conf')
source=(http://pkgbuild.com/~foutrelis/mplayer-vaapi-$pkgver.tar.xz
source=(http://pkgbuild.com/~foutrelis/sources/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}
cdio-includes.patch
tweak-desktop-file.patch
demux-gif.patch
subreader-fix-srt-parsing.patch)
options=('!buildflags' '!emptydirs')
install=mplayer-vaapi.install
sha256sums=('a6c645625cc2cd6ca48764db302c926049f831e757857ece351b37b674e05e56'
sha256sums=('5747c28c30c15d1000fb655a8abaa4b22483746d0e82775b27466948ae0c549a'
'SKIP'
'72e6c654f9733953ad2466d0ea1a52f23e753791d8232d90f13293eb1b358720'
'5a09fb462729a4e573568f9e8c1f57dbe7f69c0b68cfa4f6d70b3e52c450d93b'
'6774f57c027474388497606edfccbb33509cc78b573cdc322dd0955764c6f9c2'
'8b6cd325d89ff8bce3662c6aaa9b61b8e6163c6574e09b575426a1eed02b8ad3')
prepare() {
cd "$srcdir/mplayer-vaapi-$pkgver"
cd "$srcdir/$pkgname-$pkgver"
patch -Np0 -i "$srcdir/cdio-includes.patch"
patch -d etc -Np0 -i "$srcdir/tweak-desktop-file.patch"
# https://bugs.archlinux.org/task/36039
patch -Np0 -i "$srcdir/demux-gif.patch"
# http://bugzilla.mplayerhq.hu/show_bug.cgi?id=2139
patch -Np0 -i "$srcdir/subreader-fix-srt-parsing.patch"
}
build() {
cd "$srcdir/mplayer-vaapi-$pkgver"
cd "$srcdir/$pkgname-$pkgver"
./configure \
--prefix=/usr \
@ -73,7 +80,7 @@ build() {
}
package() {
cd "$srcdir/mplayer-vaapi-$pkgver"
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir" install-mplayer install-mplayer-man
install -Dm644 etc/{codecs.conf,input.conf,example.conf} "$pkgdir/etc/mplayer/"

View file

@ -0,0 +1,19 @@
--- libmpdemux/demux_gif.c-old 2012-08-20 08:47:01.000000000 -0600
+++ libmpdemux/demux_gif.c 2013-07-05 11:27:55.488387360 -0600
@@ -45,6 +45,16 @@
#define GIF_SIGNATURE (('G' << 16) | ('I' << 8) | 'F')
+static void PrintGifError(void)
+{
+ char *Err = GifErrorString();
+
+ if (Err != NULL)
+ fprintf(stderr, "\nGIF-LIB error: %s.\n", Err);
+ else
+ fprintf(stderr, "\nGIF-LIB undefined error %d.\n", GifError());
+}
+
#ifndef CONFIG_GIF_TVT_HACK
// not supported by certain versions of the library
static int my_read_gif(GifFileType *gif, uint8_t *buf, int len)

View file

@ -1,10 +1,10 @@
# $Id: PKGBUILD 62986 2012-01-30 06:42:07Z tdziedzic $
# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: Kaiting Chen <kaitocracy@gmail.com>
# Contributor: tocer <tocer.deng@gmail.com>
# Contributor: WarheadsSE <max@warheads.net>
pkgname=v8
pkgver=3.19.0
pkgver=3.19.18.4
pkgrel=1
pkgdesc='Fast and modern javascript engine'
arch=('i686' 'x86_64')
@ -13,7 +13,7 @@ license=('BSD')
depends=('gcc-libs')
makedepends=('subversion' 'python2')
source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.bz2)
sha256sums=('35af5629792e958968eacc94daef3ad358b6ed7126875db6138664f51c061368')
sha256sums=('10d7a51ed2769b1c2a6311a30ed1967d0a1da3f522c90b9c00f25fbe0b1aba02')
prepare() {
cd $pkgname-$pkgver

42
community/weston/PKGBUILD Normal file
View file

@ -0,0 +1,42 @@
# $Id$
# Maintainer: Sébastien Luttringer
# Contributor: Joel Teichroeb <joel@teichroeb.net>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - export flags for rpi
pkgname=weston
pkgver=1.2.0
pkgrel=2.1
pkgdesc='Reference implementation of a Wayland compositor'
arch=('i686' 'x86_64')
url='http://wayland.freedesktop.org'
license=('MIT')
options=(!libtool)
depends=('libxkbcommon' 'libunwind' 'poppler-glib' 'mtdev' 'libxcursor' 'glu' 'pango' 'colord')
source=("http://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz")
sha1sums=('23201d31e71768e5ec3de0d10fa6de988dd273c8')
build() {
cd $pkgname-$pkgver
if [ "$CARCH" == 'armv6h' ]; then
export RPI_BCM_HOST_LIBS="-L/opt/vc/lib"
export RPI_BCM_HOST_CFLAGS="-I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux"
fi
./configure \
--prefix=/usr \
--libexecdir=/usr/lib/weston
make
}
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
# license
install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
# embed more clients
for _c in calibrator clickdot cliptest dnd editor eventdemo flower fullscreen gears \
image resizor simple-egl simple-shm simple-touch smoke transformed view; do
install -Dm755 "clients/$_c" "$pkgdir/usr/bin/weston-$_c"
done
}

View file

@ -1,31 +0,0 @@
From 4a6353dad68074bb7ae08817cd7beb5cd13f2359 Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Mon, 18 Jun 2012 12:02:56 -0300
Subject: [PATCH] NFS: Fix nfsroot support
The NFS support to use alternative ports breaks building of regular
NFS root support as the API has been change in an incompatible way.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
fs/nfs/nfsroot.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c
index df101d9..e1578e1 100644
--- a/fs/nfs/nfsroot.c
+++ b/fs/nfs/nfsroot.c
@@ -506,7 +506,7 @@ static int __init root_nfs_get_handle(void)
if (!request.fh)
goto out;
set_sockaddr(&sin, servaddr, htons(mount_port));
- status = nfs_mount(&request);
+ status = nfs_mount(&request, NFS_MNT_PROGRAM);
if (status < 0)
printk(KERN_ERR "Root-NFS: Server returned error %d "
"while mounting %s\n", status, nfs_export_path);
--
1.7.10

View file

@ -1,241 +0,0 @@
From e85103e27b7591337d3240cf0ab2670d0ab73d52 Mon Sep 17 00:00:00 2001
From: Jason Wessel <jason.wessel@windriver.com>
Date: Wed, 7 Jan 2009 00:59:33 -0500
Subject: [PATCH] NFS: allow nfs root mount to use alternate rpc ports
Allow an nfs root mount to use alternate RPC ports for mountd and nfsd.
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
[forward port to 2.6.33+]
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
---
fs/nfs/client.c | 10 ++++++++++
fs/nfs/internal.h | 4 +++-
fs/nfs/mount_clnt.c | 3 ++-
fs/nfs/super.c | 33 ++++++++++++++++++++++++++++++++-
include/linux/nfs_fs_sb.h | 1 +
include/linux/nfs_mount.h | 4 +++-
6 files changed, 51 insertions(+), 4 deletions(-)
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index d25b525..b706c02 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -105,6 +105,7 @@ struct nfs_client_initdata {
const struct nfs_rpc_ops *rpc_ops;
int proto;
u32 minorversion;
+ int nfs_prog;
};
/*
@@ -123,6 +124,7 @@ static struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *cl_
goto error_0;
clp->rpc_ops = cl_init->rpc_ops;
+ clp->nfs_prog = cl_init->nfs_prog;
atomic_set(&clp->cl_count, 1);
clp->cl_cons_state = NFS_CS_INITING;
@@ -448,6 +450,9 @@ static struct nfs_client *nfs_match_client(const struct nfs_client_initdata *dat
/* Match nfsv4 minorversion */
if (clp->cl_minorversion != data->minorversion)
continue;
+ if (clp->nfs_prog != data->nfs_prog)
+ continue;
+
/* Match the full socket address */
if (!nfs_sockaddr_cmp(sap, clap))
continue;
@@ -618,6 +623,10 @@ static int nfs_create_rpc_client(struct nfs_client *clp,
if (!IS_ERR(clp->cl_rpcclient))
return 0;
+ if (clp->nfs_prog)
+ nfs_program.number = clp->nfs_prog;
+ else
+ nfs_program.number = NFS_PROGRAM;
clnt = rpc_create(&args);
if (IS_ERR(clnt)) {
dprintk("%s: cannot create RPC client. Error = %ld\n",
@@ -786,6 +795,7 @@ static int nfs_init_server(struct nfs_server *server,
.addrlen = data->nfs_server.addrlen,
.rpc_ops = &nfs_v2_clientops,
.proto = data->nfs_server.protocol,
+ .nfs_prog = data->nfs_prog,
};
struct rpc_timeout timeparms;
struct nfs_client *clp;
diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
index e70f44b..3e2649f 100644
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@ -71,6 +71,8 @@ struct nfs_parsed_mount_data {
int timeo, retrans;
int acregmin, acregmax,
acdirmin, acdirmax;
+ int nfs_prog;
+ int mount_prog;
int namlen;
unsigned int options;
unsigned int bsize;
@@ -116,7 +118,7 @@ struct nfs_mount_request {
rpc_authflavor_t *auth_flavs;
};
-extern int nfs_mount(struct nfs_mount_request *info);
+extern int nfs_mount(struct nfs_mount_request *info, int prog);
extern void nfs_umount(const struct nfs_mount_request *info);
/* client.c */
diff --git a/fs/nfs/mount_clnt.c b/fs/nfs/mount_clnt.c
index 59047f8..0a2bd63 100644
--- a/fs/nfs/mount_clnt.c
+++ b/fs/nfs/mount_clnt.c
@@ -141,7 +141,7 @@ struct mnt_fhstatus {
*
* Uses default timeout parameters specified by underlying transport.
*/
-int nfs_mount(struct nfs_mount_request *info)
+int nfs_mount(struct nfs_mount_request *info, int m_prog)
{
struct mountres result = {
.fh = info->fh,
@@ -171,6 +171,7 @@ int nfs_mount(struct nfs_mount_request *info)
if (info->noresvport)
args.flags |= RPC_CLNT_CREATE_NONPRIVPORT;
+ mnt_program.number = m_prog;
mnt_clnt = rpc_create(&args);
if (IS_ERR(mnt_clnt))
goto out_clnt_err;
diff --git a/fs/nfs/super.c b/fs/nfs/super.c
index f9df16d..0b3bbf8 100644
--- a/fs/nfs/super.c
+++ b/fs/nfs/super.c
@@ -94,6 +94,8 @@ enum {
Opt_mountvers,
Opt_nfsvers,
Opt_minorversion,
+ Opt_mountprog,
+ Opt_nfsprog,
/* Mount options that take string arguments */
Opt_sec, Opt_proto, Opt_mountproto, Opt_mounthost,
@@ -160,6 +162,8 @@ static const match_table_t nfs_mount_option_tokens = {
{ Opt_nfsvers, "nfsvers=%s" },
{ Opt_nfsvers, "vers=%s" },
{ Opt_minorversion, "minorversion=%s" },
+ { Opt_mountprog, "mountprog=%s" },
+ { Opt_nfsprog, "nfsprog=%s" },
{ Opt_sec, "sec=%s" },
{ Opt_proto, "proto=%s" },
@@ -787,6 +791,8 @@ static struct nfs_parsed_mount_data *nfs_alloc_parsed_mount_data(unsigned int ve
data->acregmax = NFS_DEF_ACREGMAX;
data->acdirmin = NFS_DEF_ACDIRMIN;
data->acdirmax = NFS_DEF_ACDIRMAX;
+ data->nfs_prog = NFS_PROGRAM;
+ data->mount_prog = NFS_MNT_PROGRAM;
data->mount_server.port = NFS_UNSPEC_PORT;
data->nfs_server.port = NFS_UNSPEC_PORT;
data->nfs_server.protocol = XPRT_TRANSPORT_TCP;
@@ -1168,6 +1174,26 @@ static int nfs_parse_mount_options(char *raw,
goto out_invalid_value;
mnt->acdirmax = option;
break;
+ case Opt_mountprog:
+ string = match_strdup(args);
+ if (string == NULL)
+ goto out_nomem;
+ rc = strict_strtoul(string, 10, &option);
+ kfree(string);
+ if (rc != 0)
+ goto out_invalid_value;
+ mnt->mount_prog = option;
+ break;
+ case Opt_nfsprog:
+ string = match_strdup(args);
+ if (string == NULL)
+ goto out_nomem;
+ rc = strict_strtoul(string, 10, &option);
+ kfree(string);
+ if (rc != 0)
+ goto out_invalid_value;
+ mnt->nfs_prog = option;
+ break;
case Opt_actimeo:
string = match_strdup(args);
if (string == NULL)
@@ -1566,7 +1592,7 @@ static int nfs_try_mount(struct nfs_parsed_mount_data *args,
* Now ask the mount server to map our export path
* to a file handle.
*/
- status = nfs_mount(&request);
+ status = nfs_mount(&request,args->mount_prog);
if (status != 0) {
dfprintk(MOUNT, "NFS: unable to mount server %s, error %d\n",
request.hostname, status);
@@ -1739,6 +1765,7 @@ static int nfs_validate_mount_data(void *options,
{
struct nfs_mount_data *data = (struct nfs_mount_data *)options;
struct sockaddr *sap = (struct sockaddr *)&args->nfs_server.address;
+ args->nfs_prog = NFS_PROGRAM;
if (data == NULL)
goto out_no_data;
@@ -1758,6 +1785,8 @@ static int nfs_validate_mount_data(void *options,
goto out_no_sec;
case 5:
memset(data->context, 0, sizeof(data->context));
+ case 7:
+ args->nfs_prog = (data->version >= 7) ? data->nfs_prog : NFS_PROGRAM;
case 6:
if (data->flags & NFS_MOUNT_VER3) {
if (data->root.size > NFS3_FHSIZE || data->root.size == 0)
@@ -2476,6 +2505,8 @@ static int nfs4_validate_mount_data(void *options,
if (data == NULL)
goto out_no_data;
+ args->nfs_prog = NFS_PROGRAM;
+
switch (data->version) {
case 1:
if (data->host_addrlen > sizeof(args->nfs_server.address))
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
index d6e10a4..585cba4 100644
--- a/include/linux/nfs_fs_sb.h
+++ b/include/linux/nfs_fs_sb.h
@@ -41,6 +41,7 @@ struct nfs_client {
u32 cl_minorversion;/* NFSv4 minorversion */
struct rpc_cred *cl_machine_cred;
+ int nfs_prog;
#ifdef CONFIG_NFS_V4
u64 cl_clientid; /* constant */
diff --git a/include/linux/nfs_mount.h b/include/linux/nfs_mount.h
index 4499016..86beb0c 100644
--- a/include/linux/nfs_mount.h
+++ b/include/linux/nfs_mount.h
@@ -20,7 +20,7 @@
* mount-to-kernel version compatibility. Some of these aren't used yet
* but here they are anyway.
*/
-#define NFS_MOUNT_VERSION 6
+#define NFS_MOUNT_VERSION 7
#define NFS_MAX_CONTEXT_LEN 256
struct nfs_mount_data {
@@ -43,6 +43,8 @@ struct nfs_mount_data {
struct nfs3_fh root; /* 4 */
int pseudoflavor; /* 5 */
char context[NFS_MAX_CONTEXT_LEN + 1]; /* 6 */
+ int nfs_prog; /* 7 */
+ int mount_prog; /* 7 */
};
/* bits in the flags field visible to user space */
--
1.7.9.1

View file

@ -1,266 +0,0 @@
# Contributor: Kiril Zyapkov <kiril.zyapkov@gmail.com>
# iMX233-OLinuXino-Maxi kernel for archlinuxarm
# basically replicates the oe-recipe
# see https://github.com/OSSystems/meta-fsl-arm-extra.git
# vim:set ts=2 sw=2 et:
buildarch=2
pkgbase="kernel26-olinuxino"
pkgname=('kernel26-olinuxino' 'kernel26-headers-olinuxino')
_kernelname=${pkgname#kernel26}
_basekernel=2.6
pkgver=${_basekernel}.35.3
pkgrel=8
makedepends=('xmlto' 'docbook-xsl' 'make' 'git' 'elftosb' 'imx-bootlets-olinuxino' 'imx-bootlets-olinuxino-ntsc')
optdepends=()
options=('!strip' '!buildflags' '!makeflags')
arch=('arm')
CARCH=arm
KARCH=arm
LDFLAGS=""
license=('GPL2')
url="https://github.com/Freescale/meta-fsl-arm/"
source=(config
NFS-Fix-nfsroot-support.patch
NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch
mx28-removecpufreq.patch
mxs-duart-use-ttyAMA-for-device-name.patch
imx233-olinuxino.patch)
md5sums=('953ddea92634bb713853f2c1b14ed130'
'e086ab0b162d292549f9bf453e07ad2e'
'ff1281a87da6f8093992ad70d23e71d2'
'c2d9dba73587fd00d990a2521428d67b'
'302ad0fe4e990c789793e25ced58f712'
'ba72c5e3ea407e6214e237323d6b467b')
__gitname="linux-2.6-imx"
__gitroot="git://git.freescale.com/imx/${__gitname}.git"
__gitbranch="imx_2.6.35_10.12.01"
__gitcommit="38bf41cc376e24c384934fbeb10770d6712e9143"
build() {
cd "$srcdir"
if [ -d $__gitname ] ; then
msg "Using existing GIT repo clone."
cd ${__gitname} && git checkout ${__gitcommit} -- .
msg "The local files are updated."
else
msg "GIT Checkout of ${__gitroot}"
git clone --depth=1 --branch=${__gitbranch} ${__gitroot} ${__gitname}
cd ${__gitname}
git checkout ${__gitcommit} -- .
fi
msg "Cleaning up the working copy..."
git clean -df
make mrproper
msg "Patching ..."
patch -Np1 -i ../NFS-Fix-nfsroot-support.patch
patch -Np1 -i ../NFS-allow-nfs-root-mount-to-use-alternate-rpc-ports.patch
patch -Np1 -i ../mx28-removecpufreq.patch
patch -Np1 -i ../mxs-duart-use-ttyAMA-for-device-name.patch
patch -Np1 -i ../imx233-olinuxino.patch
sed -i 's|/sbin/depmod|/bin/true|' Makefile
msg "Patching done, building the kernel."
cp ${srcdir}/config .config
make prepare
# set extraversion to pkgrel
sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
# Configure the kernel. Replace the line below with one of your choice.
#make menuconfig # CLI menu for configuration
#make nconfig # new CLI menu for configuration
#make oldconfig # using old config from previous kernel version
# Build!
make ${MAKEFLAGS} zImage modules
}
package_kernel26-olinuxino() {
pkgdesc="The Linux Kernel and modules for iMX233-OLinuXino-Maxi with PAL video output"
groups=('base')
depends=('coreutils' 'module-init-tools')
replaces=('kernel24' 'kernel24-scsi' 'kernel26-scsi'
'alsa-driver' 'ieee80211' 'hostap-driver26'
'pwc' 'nforce' 'squashfs' 'unionfs' 'ivtv'
'zd1211' 'kvm-modules' 'iwlwifi' 'rt2x00-cvs'
'gspcav1' 'atl2' 'wlan-ng26' 'rt2500' 'nouveau-drm')
provides=("kernel26=${pkgver}" "linux=${pkgver}")
install=kernel26.install
KARCH=arm
cd ${srcdir}/${__gitname}
# get kernel version
_kernver="$(make kernelrelease)"
# Install zImage, System.map and the config for reference
mkdir -p ${pkgdir}/{lib/modules,lib/firmware,boot}
make INSTALL_MOD_PATH="${pkgdir}" modules_install
#cp arch/$KARCH/boot/uImage ${pkgdir}/boot/uImage
cp arch/$KARCH/boot/zImage ${pkgdir}/boot/zImage
ln -sf "${pkgdir}/boot/zImage" .
cp .config ${pkgdir}/boot/config-${_kernver}
cp System.map System.map-${_kernver}
# set correct depmod command for install
sed \
-e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
-e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
-i $startdir/kernel26.install
# Generate an imx233 boot image
msg "Generating PAL sdcard image ..."
ln -sf /opt/imx-bootlets-olinuxino
elftosb -z -c ./imx-bootlets-olinuxino/linux.bd -o ${pkgdir}/boot/oli-${_kernver}-pal.sb
msg "Generating NTSC sdcard image ..."
ln -sf /opt/imx-bootlets-olinuxino-ntsc
elftosb -z -c ./imx-bootlets-olinuxino-ntsc/linux.bd -o ${pkgdir}/boot/oli-${_kernver}-ntsc.sb
# remove build and source links
rm -f ${pkgdir}/lib/modules/${_kernver}/{source,build}
# Now we call depmod...
depmod -b "$pkgdir" -F System.map "$_kernver"
# move module tree /lib -> /usr/lib
mkdir -p "${pkgdir}/usr"
mv "$pkgdir/lib" "$pkgdir/usr"
}
package_kernel26-headers-olinuxino() {
pkgdesc="Header files and scripts for building modules for kernel26 for iMX233-OLinuXino-Maxi"
provides=("kernel26-headers=${pkgver}" "linux-headers=${pkgver}")
KARCH=arm
cd ${srcdir}/${__gitname}
# get kernel version
_kernver="$(make kernelrelease)"
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
cd "${pkgdir}/usr/lib/modules/${_kernver}"
ln -sf ../../../src/linux-${_kernver} build
cd ${srcdir}/${__gitname}
install -D -m644 Makefile \
${pkgdir}/usr/src/linux-${_kernver}/Makefile
install -D -m644 kernel/Makefile \
${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile
install -D -m644 .config \
${pkgdir}/usr/src/linux-${_kernver}/.config
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include
for i in acpi asm-generic config generated linux math-emu media net pcmcia scsi sound trace video; do
cp -a include/$i ${pkgdir}/usr/src/linux-${_kernver}/include/
done
# copy arch includes for external modules
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH
cp -a arch/$KARCH/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
# install platform- and machine-specific headers
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-mx23
cp -a arch/$KARCH/mach-mx23/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-mx23/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-mxs
cp -a arch/$KARCH/plat-mxs/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-mxs/
# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers ${pkgdir}/usr/src/linux-${_kernver}
cp -a scripts ${pkgdir}/usr/src/linux-${_kernver}
# fix permissions on scripts dir
chmod og-w -R ${pkgdir}/usr/src/linux-${_kernver}/scripts
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel
cp arch/$KARCH/Makefile ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
cp arch/$KARCH/kernel/asm-offsets.s ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/kernel/
# add headers for lirc package
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video
cp drivers/media/video/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/
for i in bt8xx cpia2 cx25840 cx88 em28xx et61x251 pwc saa7134 sn9c102 usbvideo; do
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
cp -a drivers/media/video/$i/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/video/$i
done
# add docbook makefile
install -D -m644 Documentation/DocBook/Makefile \
${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile
# add dm headers
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
cp drivers/md/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/md
# add inotify.h
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/linux
cp include/linux/inotify.h ${pkgdir}/usr/src/linux-${_kernver}/include/linux/
# add wireless headers
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
cp net/mac80211/*.h ${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/
# add dvb headers for external modules
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core
cp drivers/media/dvb/dvb-core/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-core/
# add dvb headers for external modules
#mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
#cp include/config/dvb/*.h ${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
cp drivers/media/dvb/frontends/lgdt330x.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
cp drivers/media/video/msp3400-driver.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
# add dvb headers
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb
cp drivers/media/dvb/dvb-usb/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/dvb-usb/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends
cp drivers/media/dvb/frontends/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb/frontends/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners
cp drivers/media/common/tuners/*.h ${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/
# add xfs and shmem for aufs building
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/mm
cp fs/xfs/xfs_sb.h ${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h
# add headers vor virtualbox
cp -a include/drm $pkgdir/usr/src/linux-${_kernver}/include/
# add headers for broadcom wl
cp -a include/trace $pkgdir/usr/src/linux-${_kernver}/include/
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/`echo $i | sed 's|/Kconfig.*||'`
cp $i ${pkgdir}/usr/src/linux-${_kernver}/$i
done
chown -R root.root ${pkgdir}/usr/src/linux-${_kernver}
find ${pkgdir}/usr/src/linux-${_kernver} -type d -exec chmod 755 {} \;
# remove unneeded architectures
rm -rf ${pkgdir}/usr/src/linux-${_kernver}/arch/{alpha,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,xtensa,x86}
}
md5sums=('477fe18ac96828b5b7238cc1ee1547e8'
'e086ab0b162d292549f9bf453e07ad2e'
'ff1281a87da6f8093992ad70d23e71d2'
'c2d9dba73587fd00d990a2521428d67b'
'302ad0fe4e990c789793e25ced58f712'
'ba72c5e3ea407e6214e237323d6b467b')

File diff suppressed because it is too large Load diff

View file

@ -1,899 +0,0 @@
From: Otavio Salvador <otavio@ossystems.com.br>
Subject: [PATCH] Include iMX233-OlinuXino support
This patch is based on imx_2.6.35_10.12.01 branch of Freescale GIT
repository and based on Raivis' original patch.
Upstream-Status: Applied
Signed-off-by: Raivis Rengelis <raivis@rrkb.lv>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
arch/arm/mach-mx23/Kconfig | 7 +
arch/arm/mach-mx23/Makefile | 1 +
arch/arm/mach-mx23/device.c | 1 +
arch/arm/mach-mx23/imx233_olinuxino.c | 96 +++++
arch/arm/mach-mx23/imx233_olinuxino.h | 29 ++
arch/arm/mach-mx23/imx233_olinuxino_pins.c | 638 ++++++++++++++++++++++++++++
arch/arm/tools/mach-types | 1 +
drivers/mmc/host/Kconfig | 8 +
drivers/mmc/host/mxs-mmc.c | 4 +
9 files changed, 785 insertions(+)
create mode 100644 arch/arm/mach-mx23/imx233_olinuxino.c
create mode 100644 arch/arm/mach-mx23/imx233_olinuxino.h
create mode 100644 arch/arm/mach-mx23/imx233_olinuxino_pins.c
diff --git a/arch/arm/mach-mx23/Kconfig b/arch/arm/mach-mx23/Kconfig
index 28009b0..0ebaf29 100644
--- a/arch/arm/mach-mx23/Kconfig
+++ b/arch/arm/mach-mx23/Kconfig
@@ -6,6 +6,13 @@ config MACH_MX23EVK
depends on ARCH_MX23
select USB_ARCH_HAS_EHCI
+config MACH_IMX233_OLINUXINO
+ bool "iMX233-OLinuXino low cost board"
+ depends on ARCH_MX23
+ select USB_ARCH_HAS_EHCI
+ select MMC_MXS
+ select MMC_MXS_NODETECT
+
endchoice
diff --git a/arch/arm/mach-mx23/Makefile b/arch/arm/mach-mx23/Makefile
index a5e2781..2a39dac 100644
--- a/arch/arm/mach-mx23/Makefile
+++ b/arch/arm/mach-mx23/Makefile
@@ -5,6 +5,7 @@ obj-y += pinctrl.o clock.o device.o serial.o power.o pm.o sleep.o bus_freq.o
# Board select
obj-$(CONFIG_MACH_MX23EVK) += mx23evk.o mx23evk_pins.o
+obj-$(CONFIG_MACH_IMX233_OLINUXINO) += imx233_olinuxino.o imx233_olinuxino_pins.o
obj-$(CONFIG_GENERIC_GPIO) += gpio.o
obj-$(CONFIG_MXS_RAM_FREQ_SCALING) +=emi.o
obj-$(CONFIG_MXS_UNIQUE_ID_OTP) += otp.o
diff --git a/arch/arm/mach-mx23/device.c b/arch/arm/mach-mx23/device.c
index 8352540..0f5f659 100644
--- a/arch/arm/mach-mx23/device.c
+++ b/arch/arm/mach-mx23/device.c
@@ -45,6 +45,7 @@
#include "device.h"
#include "mx23_pins.h"
#include "mx23evk.h"
+#include "imx233_olinuxino.h"
#include "mach/mx23.h"
#if defined(CONFIG_SERIAL_MXS_DUART) || \
diff --git a/arch/arm/mach-mx23/imx233_olinuxino.c b/arch/arm/mach-mx23/imx233_olinuxino.c
new file mode 100644
index 0000000..e08ccdc
--- /dev/null
+++ b/arch/arm/mach-mx23/imx233_olinuxino.c
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2012 RRKB IK, Raivis Rengelis, raivis@rrkb.lv
+ * Copyright (C) 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * 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.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/io.h>
+#include <linux/clk.h>
+#include <linux/platform_device.h>
+#include <linux/i2c.h>
+#include <linux/spi/spi.h>
+
+#include <asm/setup.h>
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+
+#include <mach/hardware.h>
+#include <mach/device.h>
+#include <mach/pinctrl.h>
+#include <mach/regs-ocotp.h>
+
+#include "device.h"
+#include "imx233_olinuxino.h"
+#include "mx23_pins.h"
+
+static void __init fixup_board(struct machine_desc *desc, struct tag *tags,
+ char **cmdline, struct meminfo *mi)
+{
+ mx23_set_input_clk(24000000, 24000000, 32000, 50000000);
+}
+
+#if defined(CONFIG_SND_MXS_SOC_ADC) || defined(CONFIG_SND_MXS_SOC_ADC_MODULE)
+static void __init imx233_olinuxino_init_adc(void)
+{
+ struct platform_device *pdev;
+ pdev = mxs_get_device("mxs-adc", 0);
+ if (pdev == NULL)
+ return;
+ mxs_add_device(pdev, 3);
+}
+#else
+static void __init imx233_olinuxino_init_adc(void)
+{
+
+}
+#endif
+
+static void __init imx233_olinuxino_device_init(void)
+{
+ imx233_olinuxino_init_adc();
+}
+
+
+static void __init imx233_olinuxino_init_machine(void)
+{
+ mx23_pinctrl_init();
+
+ /* Init iram allocate */
+#ifdef CONFIG_VECTORS_PHY_ADDR
+ /* reserve the first page for irq vectors table*/
+ iram_init(MX23_OCRAM_PHBASE + PAGE_SIZE, MX23_OCRAM_SIZE - PAGE_SIZE);
+#else
+ iram_init(MX23_OCRAM_PHBASE, MX23_OCRAM_SIZE);
+#endif
+
+ mx23_gpio_init();
+ imx233_olinuxino_pins_init();
+ mx23_device_init();
+ imx233_olinuxino_device_init();
+}
+
+MACHINE_START(IMX233_OLINUXINO, "iMX233-OLinuXino low cost board")
+ .phys_io = 0x80000000,
+ .io_pg_offst = ((0xf0000000) >> 18) & 0xfffc,
+ .boot_params = 0x40000100,
+ .fixup = fixup_board,
+ .map_io = mx23_map_io,
+ .init_irq = mx23_irq_init,
+ .init_machine = imx233_olinuxino_init_machine,
+ .timer = &mx23_timer.timer,
+MACHINE_END
diff --git a/arch/arm/mach-mx23/imx233_olinuxino.h b/arch/arm/mach-mx23/imx233_olinuxino.h
new file mode 100644
index 0000000..e16f28e
--- /dev/null
+++ b/arch/arm/mach-mx23/imx233_olinuxino.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2012 RRKB IK, Raivis Rengelis, raivis@rrkb.lv
+ * Copyright (C) 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * 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.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef __ASM_ARM_MACH_IMX233_OLINUXINO_H
+#define __ASM_ARM_MACH_IMX233_OLINUXINO_H
+
+extern void __init imx233_olinuxino_pins_init(void);
+extern int mxs_mmc_hw_init_mmc0(void);
+extern int mxs_mmc_get_wp_mmc0(void);
+extern void mxs_mmc_hw_release_mmc0(void);
+extern void mxs_mmc_cmd_pullup_mmc0(int enable);
+
+#endif /* __ASM_ARM_MACH_IMX233_OLINUXINO_H */
diff --git a/arch/arm/mach-mx23/imx233_olinuxino_pins.c b/arch/arm/mach-mx23/imx233_olinuxino_pins.c
new file mode 100644
index 0000000..fe4d372
--- /dev/null
+++ b/arch/arm/mach-mx23/imx233_olinuxino_pins.c
@@ -0,0 +1,638 @@
+/*
+ * Copyright (C) 2012 RRKB IK, Raivis Rengelis, raivis@rrkb.lv
+ * Copyright (C) 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * 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.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/irq.h>
+#include <linux/gpio.h>
+#include <linux/delay.h>
+
+#include <mach/pinctrl.h>
+
+#include "mx23_pins.h"
+
+static struct pin_desc imx233_olinuxino_fixed_pins[] = {
+ {
+ .name = "DUART.RX",
+ .id = PINID_PWM0,
+ .fun = PIN_FUN3,
+ },
+ {
+ .name = "DUART.TX",
+ .id = PINID_PWM1,
+ .fun = PIN_FUN3,
+ },
+#ifdef CONFIG_MXS_AUART1_DEVICE_ENABLE
+ {
+ .name = "AUART1.RX",
+ .id = PINID_I2C_SDA,
+ .fun = PIN_FUN3,
+ },
+ {
+ .name = "AUART1.TX",
+ .id = PINID_I2C_SCL,
+ .fun = PIN_FUN3,
+ },
+#else
+ {
+ .name = "UEXT.4",
+ .id = PINID_I2C_SDA,
+ .fun = PIN_GPIO,
+ .voltage = PAD_3_3V,
+ .strength = PAD_8MA,
+ .drive = 1,
+ },
+ {
+ .name = "UEXT.3",
+ .id = PINID_I2C_SCL,
+ .fun = PIN_GPIO,
+ .voltage = PAD_3_3V,
+ .strength = PAD_8MA,
+ .drive = 1,
+ },
+#endif
+
+#if defined(CONFIG_I2C_MXS) || \
+ defined(CONFIG_I2C_MXS_MODULE)
+ {
+ .name = "I2C_SCL",
+ .id = PINID_LCD_ENABLE,
+ .fun = PIN_FUN2,
+ .strength = PAD_4MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "I2C_SDA",
+ .id = PINID_LCD_HSYNC,
+ .fun = PIN_FUN2,
+ .strength = PAD_4MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+#else
+ {
+ .name = "UEXT.5",
+ .id = PINID_LCD_ENABLE,
+ .fun = PIN_GPIO,
+ .voltage = PAD_3_3V,
+ .strength = PAD_12MA,
+ .drive = 1,
+ },
+ {
+ .name = "UEXT.6",
+ .id = PINID_LCD_HSYNC,
+ .fun = PIN_GPIO,
+ .voltage = PAD_3_3V,
+ .strength = PAD_12MA,
+ .drive = 1,
+ },
+#endif
+#if defined(CONFIG_FB_MXS) || defined(CONFIG_FB_MXS_MODULE)
+ {
+ .name = "LCD_D00",
+ .id = PINID_LCD_D00,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_D01",
+ .id = PINID_LCD_D01,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_D02",
+ .id = PINID_LCD_D02,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_D03",
+ .id = PINID_LCD_D03,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_D04",
+ .id = PINID_LCD_D04,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_D05",
+ .id = PINID_LCD_D05,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_D06",
+ .id = PINID_LCD_D06,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_D07",
+ .id = PINID_LCD_D07,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_RESET",
+ .id = PINID_LCD_RESET,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_VSYNC",
+ .id = PINID_LCD_VSYNC,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_HSYNC",
+ .id = PINID_LCD_HSYNC,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_ENABLE",
+ .id = PINID_LCD_ENABLE,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "LCD_DOTCLK",
+ .id = PINID_LCD_DOTCK,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+#else
+ {
+ .name = "GPIO.35",
+ .id = PINID_LCD_D00,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.33",
+ .id = PINID_LCD_D01,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.31",
+ .id = PINID_LCD_D02,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.29",
+ .id = PINID_LCD_D03,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.27",
+ .id = PINID_LCD_D04,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.25",
+ .id = PINID_LCD_D05,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.23",
+ .id = PINID_LCD_D06,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.21",
+ .id = PINID_LCD_D07,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.14",
+ .id = PINID_LCD_RESET,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.08",
+ .id = PINID_LCD_VSYNC,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.06",
+ .id = PINID_LCD_DOTCK,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+#endif
+ {
+ .name = "GPIO.30",
+ .id = PINID_GPMI_CE0N,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.28",
+ .id = PINID_GPMI_CE1N,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.26",
+ .id = PINID_GPMI_WPN,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.24",
+ .id = PINID_GPMI_RDN,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "UEXT.9",
+ .id = PINID_GPMI_WRN,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "UEXT.10",
+ .id = PINID_GPMI_RDY0,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "UEXT.8",
+ .id = PINID_GPMI_RDY1,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.04",
+ .id = PINID_GPMI_ALE,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ .output = 1,
+ .data = 1,
+ },
+ {
+ .name = "GPIO.03",
+ .id = PINID_GPMI_CLE,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.05",
+ .id = PINID_GPMI_D07,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.07",
+ .id = PINID_GPMI_D06,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.09",
+ .id = PINID_GPMI_D05,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.11",
+ .id = PINID_GPMI_D04,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.13",
+ .id = PINID_GPMI_D03,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.15",
+ .id = PINID_GPMI_D02,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.17",
+ .id = PINID_GPMI_D01,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.19",
+ .id = PINID_GPMI_D00,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.16",
+ .id = PINID_LCD_WR,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.18",
+ .id = PINID_LCD_RS,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+ {
+ .name = "GPIO.20",
+ .id = PINID_LCD_CS,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ },
+#if defined(CONFIG_MMC_MXS_NODETECT)
+ {
+ .name = "LED1",
+ .id = PINID_SSP1_DETECT,
+ .fun = PIN_GPIO,
+ .strength = PAD_12MA,
+ .voltage = PAD_3_3V,
+ .drive = 1,
+ .output = 1,
+ .data = 1,
+ },
+#endif
+};
+
+#if defined(CONFIG_MMC_MXS) || defined(CONFIG_MMC_MXS_MODULE)
+static struct pin_desc imx233_olinuxino_mmc_pins[] = {
+ /* Configurations of SSP0 SD/MMC port pins */
+ {
+ .name = "SSP1_DATA0",
+ .id = PINID_SSP1_DATA0,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .pullup = 1,
+ .drive = 1,
+ .pull = 1,
+ },
+ {
+ .name = "SSP1_DATA1",
+ .id = PINID_SSP1_DATA1,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .pullup = 1,
+ .drive = 1,
+ .pull = 1,
+ },
+ {
+ .name = "SSP1_DATA2",
+ .id = PINID_SSP1_DATA2,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .pullup = 1,
+ .drive = 1,
+ .pull = 1,
+ },
+ {
+ .name = "SSP1_DATA3",
+ .id = PINID_SSP1_DATA3,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .pullup = 1,
+ .drive = 1,
+ .pull = 1,
+ },
+ {
+ .name = "SSP1_CMD",
+ .id = PINID_SSP1_CMD,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .pullup = 1,
+ .drive = 1,
+ .pull = 1,
+ },
+ {
+ .name = "SSP1_SCK",
+ .id = PINID_SSP1_SCK,
+ .fun = PIN_FUN1,
+ .strength = PAD_8MA,
+ .voltage = PAD_3_3V,
+ .pullup = 0,
+ .drive = 1,
+ .pull = 0,
+ },
+};
+#endif
+
+static void mxs_request_pins(struct pin_desc *pins, int nr)
+{
+ int i;
+ struct pin_desc *pin;
+
+ /* configure the pins */
+ for (i = 0; i < nr; i++) {
+ pin = &pins[i];
+ if (pin->fun == PIN_GPIO)
+ {
+ gpio_request(MXS_PIN_TO_GPIO(pin->id), pin->name);
+ gpio_export(MXS_PIN_TO_GPIO(pin->id), true);
+ }
+ else
+ mxs_request_pin(pin->id, pin->fun, pin->name);
+ if (pin->drive) {
+ mxs_set_strength(pin->id, pin->strength, pin->name);
+ mxs_set_voltage(pin->id, pin->voltage, pin->name);
+ }
+ if (pin->pull)
+ mxs_set_pullup(pin->id, pin->pullup, pin->name);
+ if (pin->fun == PIN_GPIO) {
+ if (pin->output)
+ gpio_direction_output(MXS_PIN_TO_GPIO(pin->id),
+ pin->data);
+ else
+ gpio_direction_input(MXS_PIN_TO_GPIO(pin->id));
+ }
+ }
+}
+
+static void mxs_release_pins(struct pin_desc *pins, int nr)
+{
+ int i;
+ struct pin_desc *pin;
+
+ /* release the pins */
+ for (i = 0; i < nr; i++) {
+ pin = &pins[i];
+ if (pin->fun == PIN_GPIO)
+ gpio_free(MXS_PIN_TO_GPIO(pin->id));
+ else
+ mxs_release_pin(pin->id, pin->name);
+ }
+}
+
+#if defined(CONFIG_MMC_MXS) || defined(CONFIG_MMC_MXS_MODULE)
+int mxs_mmc_hw_init_mmc0(void)
+{
+ int ret = 0;
+
+ mxs_request_pins(imx233_olinuxino_mmc_pins, ARRAY_SIZE(imx233_olinuxino_mmc_pins));
+ mdelay(100);
+
+ return 0;
+}
+
+int mxs_mmc_get_wp_mmc0(void)
+{
+ return 0;
+}
+
+void mxs_mmc_hw_release_mmc0(void)
+{
+ mxs_release_pins(imx233_olinuxino_mmc_pins, ARRAY_SIZE(imx233_olinuxino_mmc_pins));
+}
+
+void mxs_mmc_cmd_pullup_mmc0(int enable)
+{
+ mxs_set_pullup(PINID_SSP1_CMD, enable, "mmc0_cmd");
+}
+#else
+int mxs_mmc_hw_init_mmc0(void)
+{
+ return 0;
+}
+
+int mxs_mmc_get_wp_mmc0(void)
+{
+}
+
+void mxs_mmc_hw_release_mmc0(void)
+{
+}
+
+void mxs_mmc_cmd_pullup_mmc0(int enable)
+{
+}
+#endif
+
+void __init imx233_olinuxino_pins_init(void)
+{
+ mxs_request_pins(imx233_olinuxino_fixed_pins, ARRAY_SIZE(imx233_olinuxino_fixed_pins));
+}
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
index b969419..59367c2 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -2614,6 +2614,7 @@ qsd8x50a_st1_1 MACH_QSD8X50A_ST1_1 QSD8X50A_ST1_1 2626
qsd8x50a_st1_5 MACH_QSD8X50A_ST1_5 QSD8X50A_ST1_5 2627
bee MACH_BEE BEE 2628
mx23evk MACH_MX23EVK MX23EVK 2629
+imx233_olinuxino MACH_IMX233_OLINUXINO IMX233_OLINUXINO 4105
ap4evb MACH_AP4EVB AP4EVB 2630
stockholm MACH_STOCKHOLM STOCKHOLM 2631
lpc_h3131 MACH_LPC_H3131 LPC_H3131 2632
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index 951f1fd..4d7846f 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -366,6 +366,14 @@ config MMC_MXS
If unsure, say N.
+config MMC_MXS_NODETECT
+ bool "Ignore card detection status on MXS MMC interface"
+ depends on MMC_MXS
+ help
+ This disables card presence detection in MXS MMC slot.
+ If only boot device is MMC card and/or you want to use
+ SSP_DETECT pin as GPIO, say Y here.
+
config MMC_S3C
tristate "Samsung S3C SD/MMC Card Interface support"
depends on ARCH_S3C2410
diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c
index c8945ee..65e7fe0 100644
--- a/drivers/mmc/host/mxs-mmc.c
+++ b/drivers/mmc/host/mxs-mmc.c
@@ -160,8 +160,12 @@ static int mxs_mmc_get_ro(struct mmc_host *mmc)
/* Detect if card is plugged */
static inline int mxs_mmc_is_plugged(struct mxs_mmc_host *host)
{
+#if defined(CONFIG_MMC_MXS_NODETECT)
+ return 1;
+#else
u32 status = __raw_readl(host->ssp_base + HW_SSP_STATUS);
return !(status & BM_SSP_STATUS_CARD_DETECT);
+#endif
}
static void mxs_mmc_reset(struct mxs_mmc_host *host);
--
1.7.10.4

View file

@ -1,49 +0,0 @@
KERNEL_NAME=-olinuxino
KERNEL_VERSION=2.6.35-7-ARCH+
flush_kernel() {
echo "Do you want the new kernel flashed onto mmcblk0p1? [y|N] "
# something traps the last line of output, so users can't see the
# question ...
read -r shouldwe
if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then
echo ""
echo "Specify NTSC or PAL display output [N|P]: "
read -r disp
if [[ $disp =~ ^([nN][tT][sS][cC]|[nN])$ ]]; then
echo "Writing the NTSC kernel image on /dev/mmcblk0p1 ..."
dd if=/boot/oli-${KERNEL_VERSION}-ntsc.sb of=/dev/mmcblk0p1 ibs=512 seek=4 conv=sync,notrunc
fi
if [[ $disp =~ ^([pP][aA][lL]|[pP])$ ]]; then
echo "Writing the PAL kernel image on /dev/mmcblk0p1 ..."
dd if=/boot/oli-${KERNEL_VERSION}-pal.sb of=/dev/mmcblk0p1 ibs=512 seek=4 conv=sync,notrunc
fi
fi
}
## arg 1: the new package version
post_install() {
flush_kernel
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
}
## arg 1: the new package version
## arg 2: the old package version
post_upgrade() {
flush_kernel
if grep "^[^#]*[[:space:]]/boot" etc/fstab 2>&1 >/dev/null; then
if ! grep "[[:space:]]/boot" etc/mtab 2>&1 >/dev/null; then
echo "WARNING: /boot appears to be a seperate partition but is not mounted."
echo " You probably just broke your system. Congratulations."
fi
fi
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
}
# vim:set ts=2 sw=2 et:

View file

@ -1,79 +0,0 @@
From 7b781d1a67486a2ae50c174731ca1daebf381ab4 Mon Sep 17 00:00:00 2001
From: Fabio Estevam <festevam@gmail.com>
Date: Fri, 23 Mar 2012 13:13:49 -0300
Subject: [PATCH] ARM: mx28: Remove CPUFREQ support
When using CPUFREQ driver with the mainline U-boot, the kernel hangs.
Remove CPUFREQ support for now.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
arch/arm/configs/imx28evk_defconfig | 1 -
arch/arm/plat-mxs/Kconfig | 2 --
arch/arm/plat-mxs/clock.c | 10 ----------
3 files changed, 0 insertions(+), 13 deletions(-)
diff --git a/arch/arm/configs/imx28evk_defconfig b/arch/arm/configs/imx28evk_defconfig
index 08f6a18..0c8bc66 100644
--- a/arch/arm/configs/imx28evk_defconfig
+++ b/arch/arm/configs/imx28evk_defconfig
@@ -18,7 +18,6 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_ARCH_HAS_CPUFREQ=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ZONE_DMA=y
diff --git a/arch/arm/plat-mxs/Kconfig b/arch/arm/plat-mxs/Kconfig
index 831a24b..63768f8 100644
--- a/arch/arm/plat-mxs/Kconfig
+++ b/arch/arm/plat-mxs/Kconfig
@@ -13,7 +13,6 @@ config ARCH_MX28
select MXS_ICOLL
select MXS_DMA_ENGINE
select MXS_AUART_DMA_SUPPORT
- select ARCH_HAS_CPUFREQ
---help---
Support Freescale MX28 chips
@@ -25,7 +24,6 @@ config ARCH_MX23
select MXS_ICOLL
select MXS_DMA_ENGINE
select MXS_AUART_DMA_SUPPORT
- select ARCH_HAS_CPUFREQ
---help---
Support Freescale MX23 chips
diff --git a/arch/arm/plat-mxs/clock.c b/arch/arm/plat-mxs/clock.c
index 1b98b1e..3ce7953 100644
--- a/arch/arm/plat-mxs/clock.c
+++ b/arch/arm/plat-mxs/clock.c
@@ -119,11 +119,6 @@ int clk_enable(struct clk *clk)
ret = __clk_enable(clk);
spin_unlock_irqrestore(&clockfw_lock, flags);
- if ((clk->flags & CPU_FREQ_TRIG_UPDATE)
- && (pre_usage == 0)) {
- cpufreq_trig_needed = 1;
- cpufreq_update_policy(0);
- }
return ret;
}
EXPORT_SYMBOL(clk_enable);
@@ -139,11 +134,6 @@ void clk_disable(struct clk *clk)
spin_lock_irqsave(&clockfw_lock, flags);
__clk_disable(clk);
spin_unlock_irqrestore(&clockfw_lock, flags);
- if ((clk->flags & CPU_FREQ_TRIG_UPDATE)
- && ((clk->ref & CLK_EN_MASK) == 0)) {
- cpufreq_trig_needed = 1;
- cpufreq_update_policy(0);
- }
}
EXPORT_SYMBOL(clk_disable);
--
1.7.1

View file

@ -1,42 +0,0 @@
From e0b2222000d04b43e7892148dc9892c9375de939 Mon Sep 17 00:00:00 2001
From: Otavio Salvador <otavio@ossystems.com.br>
Date: Sat, 5 May 2012 15:04:24 -0300
Subject: [PATCH] mxs-duart: use ttyAMA for device name
This allow to easy configuration of u-boot avoiding divergences
between Freescale's and mainline kernels.
Upstream-Status: Inapropriate [configuration]
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
drivers/serial/mxs-duart.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/serial/mxs-duart.c b/drivers/serial/mxs-duart.c
index 64e5057..2ba0c33 100644
--- a/drivers/serial/mxs-duart.c
+++ b/drivers/serial/mxs-duart.c
@@ -665,7 +665,7 @@ static int __init duart_console_setup(struct console *co, char *options)
}
static struct console duart_console = {
- .name = "ttyAM",
+ .name = "ttyAMA",
.write = duart_console_write,
.device = uart_console_device,
.setup = duart_console_setup,
@@ -688,8 +688,8 @@ console_initcall(duart_console_init);
static struct uart_driver duart_drv = {
.owner = THIS_MODULE,
- .driver_name = "ttyAM",
- .dev_name = "ttyAM",
+ .driver_name = "ttyAMA",
+ .dev_name = "ttyAMA",
.major = SERIAL_DUART_MAJOR,
.minor = SERIAL_DUART_MINOR,
.nr = 1,
--
1.7.10

View file

@ -8,8 +8,8 @@ pkgname=('linux-armv7' 'linux-headers-armv7')
_kernelname=${pkgname#linux}
_basekernel=3.10
pkgver=${_basekernel}.999
pkgrel=1
rcnrel=armv7-d1
pkgrel=2
rcnrel=armv7-x2
rcver=3.11
rcrel=rc1
arch=('armv7h')
@ -25,8 +25,8 @@ source=("http://www.kernel.org/pub/linux/kernel/v3.0/linux-${_basekernel}.tar.xz
'config')
md5sums=('4f25cd5bec5f8d5a7d935b3f2ccb8481'
'd790b034867145dd9c5828ed58eaac45'
'bb59d902754fd8d6b3e7770b585f5d5c'
'59b6f7d4485d0f5a653f0e796dacb996')
'038ec8914be0a54163fad43e34ccc7d0'
'ff2b78fdf66fc75d1ed82e49f760e6b2')
build() {
cd "${srcdir}/linux-${_basekernel}"

View file

@ -473,6 +473,7 @@ CONFIG_SWP_EMULATE=y
# CONFIG_CPU_BPREDICT_DISABLE is not set
CONFIG_OUTER_CACHE=y
CONFIG_OUTER_CACHE_SYNC=y
CONFIG_MIGHT_HAVE_CACHE_L2X0=y
CONFIG_CACHE_L2X0=y
CONFIG_CACHE_PL310=y
CONFIG_ARM_L1_CACHE_SHIFT_6=y
@ -1417,8 +1418,90 @@ CONFIG_IMX_WEIM=y
CONFIG_OMAP_OCP2SCP=y
CONFIG_OMAP_INTERCONNECT=y
# CONFIG_ARM_CCI is not set
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y
CONFIG_MTD=y
# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set
# CONFIG_MTD_CMDLINE_PARTS is not set
# CONFIG_MTD_AFS_PARTS is not set
CONFIG_MTD_OF_PARTS=y
# CONFIG_MTD_AR7_PARTS is not set
#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
# CONFIG_SM_FTL is not set
# CONFIG_MTD_OOPS is not set
# CONFIG_MTD_SWAP is not set
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
# CONFIG_MTD_ABSENT is not set
#
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_IMPA7 is not set
# CONFIG_MTD_PLATRAM is not set
#
# Self-contained MTD device drivers
#
CONFIG_MTD_DATAFLASH=y
# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
# CONFIG_MTD_DATAFLASH_OTP is not set
CONFIG_MTD_M25P80=y
CONFIG_M25PXX_USE_FAST_READ=y
CONFIG_MTD_SST25L=y
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
# CONFIG_MTD_BLOCK2MTD is not set
#
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
# CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set
#
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
# CONFIG_MTD_UBI is not set
CONFIG_DTC=y
CONFIG_OF=y
@ -1434,6 +1517,7 @@ CONFIG_OF_IRQ=y
CONFIG_OF_I2C=y
CONFIG_OF_NET=y
CONFIG_OF_MDIO=y
CONFIG_OF_MTD=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_COW_COMMON is not set
@ -2337,6 +2421,7 @@ CONFIG_GPIO_TPS65910=y
# USB GPIO expanders:
#
CONFIG_W1=y
CONFIG_W1_CON=y
#
# 1-wire Bus Masters
@ -2529,6 +2614,7 @@ CONFIG_THERMAL_GOV_STEP_WISE=y
# CONFIG_THERMAL_GOV_USER_SPACE is not set
CONFIG_CPU_THERMAL=y
# CONFIG_THERMAL_EMULATION is not set
CONFIG_IMX_THERMAL=y
#
# Texas Instruments thermal drivers
@ -2690,7 +2776,7 @@ CONFIG_REGULATOR_TPS65217=y
CONFIG_REGULATOR_TPS65910=y
CONFIG_REGULATOR_TWL4030=y
CONFIG_REGULATOR_TI_ABB=y
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_SUPPORT=y
#
# Multimedia core support
@ -2701,23 +2787,23 @@ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_RC_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_DEV=m
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_VIDEO_V4L2=m
CONFIG_VIDEO_V4L2=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_TUNER=m
CONFIG_V4L2_MEM2MEM_DEV=m
CONFIG_V4L2_MEM2MEM_DEV=y
CONFIG_VIDEOBUF_GEN=m
CONFIG_VIDEOBUF_VMALLOC=m
CONFIG_VIDEOBUF_DMA_CONTIG=m
CONFIG_VIDEOBUF_DVB=m
CONFIG_VIDEOBUF2_CORE=m
CONFIG_VIDEOBUF2_MEMOPS=m
CONFIG_VIDEOBUF2_DMA_CONTIG=m
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=m
# CONFIG_VIDEO_V4L2_INT_DEVICE is not set
CONFIG_DVB_CORE=m
CONFIG_DVB_CORE=y
CONFIG_DVB_NET=y
CONFIG_TTPCI_EEPROM=m
CONFIG_DVB_MAX_ADAPTERS=8
@ -2726,7 +2812,7 @@ CONFIG_DVB_DYNAMIC_MINORS=y
#
# Media drivers
#
CONFIG_RC_CORE=m
CONFIG_RC_CORE=y
CONFIG_RC_MAP=m
CONFIG_RC_DECODERS=y
CONFIG_LIRC=m
@ -2905,7 +2991,7 @@ CONFIG_SOC_CAMERA_PLATFORM=m
# CONFIG_VIDEO_SH_MOBILE_CSI2 is not set
# CONFIG_VIDEO_SH_MOBILE_CEU is not set
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_CODA=m
CONFIG_VIDEO_CODA=y
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
CONFIG_VIDEO_SH_VEU=m
CONFIG_V4L_TEST_DRIVERS=y
@ -2955,7 +3041,7 @@ CONFIG_SMS_SIANO_RC=y
#
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
CONFIG_MEDIA_ATTACH=y
CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_IR_I2C=y
#
# Audio decoders, processors and mixers
@ -3021,25 +3107,25 @@ CONFIG_SOC_CAMERA_OV9640=m
CONFIG_SOC_CAMERA_OV9740=m
CONFIG_SOC_CAMERA_RJ54N1=m
CONFIG_SOC_CAMERA_TW9910=m
CONFIG_MEDIA_TUNER=m
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA18271=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER=y
CONFIG_MEDIA_TUNER_SIMPLE=y
CONFIG_MEDIA_TUNER_TDA8290=y
CONFIG_MEDIA_TUNER_TDA827X=y
CONFIG_MEDIA_TUNER_TDA18271=y
CONFIG_MEDIA_TUNER_TDA9887=y
CONFIG_MEDIA_TUNER_TEA5761=y
CONFIG_MEDIA_TUNER_TEA5767=y
CONFIG_MEDIA_TUNER_MT20XX=y
CONFIG_MEDIA_TUNER_MT2060=m
CONFIG_MEDIA_TUNER_MT2063=m
CONFIG_MEDIA_TUNER_MT2266=m
CONFIG_MEDIA_TUNER_QT1010=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC5000=m
CONFIG_MEDIA_TUNER_XC4000=m
CONFIG_MEDIA_TUNER_XC2028=y
CONFIG_MEDIA_TUNER_XC5000=y
CONFIG_MEDIA_TUNER_XC4000=y
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_MEDIA_TUNER_MC44S803=y
CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_MEDIA_TUNER_TDA18218=m
CONFIG_MEDIA_TUNER_FC0011=m
@ -3213,6 +3299,7 @@ CONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
# CONFIG_FB_UVESA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_TMIO is not set
# CONFIG_FB_SMSCUFX is not set
@ -3358,15 +3445,15 @@ CONFIG_SND_SOC_DMAENGINE_PCM=y
CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
# CONFIG_SND_ATMEL_SOC is not set
# CONFIG_SND_DESIGNWARE_I2S is not set
CONFIG_SND_SOC_FSL_SSI=m
CONFIG_SND_SOC_FSL_UTILS=m
CONFIG_SND_SOC_FSL_SSI=y
CONFIG_SND_SOC_FSL_UTILS=y
CONFIG_SND_IMX_SOC=y
CONFIG_SND_SOC_IMX_SSI=m
CONFIG_SND_SOC_IMX_SSI=y
CONFIG_SND_SOC_IMX_PCM_DMA=y
CONFIG_SND_SOC_IMX_AUDMUX=m
CONFIG_SND_SOC_IMX_WM8962=m
CONFIG_SND_SOC_IMX_SGTL5000=m
CONFIG_SND_SOC_IMX_MC13783=m
CONFIG_SND_SOC_IMX_AUDMUX=y
CONFIG_SND_SOC_IMX_WM8962=y
CONFIG_SND_SOC_IMX_SGTL5000=y
CONFIG_SND_SOC_IMX_MC13783=y
CONFIG_SND_OMAP_SOC=m
CONFIG_SND_OMAP_SOC_DMIC=m
CONFIG_SND_OMAP_SOC_MCBSP=m
@ -3379,11 +3466,11 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
# CONFIG_SND_SOC_ALL_CODECS is not set
CONFIG_SND_SOC_DMIC=m
CONFIG_SND_SOC_HDMI_CODEC=m
CONFIG_SND_SOC_SGTL5000=m
CONFIG_SND_SOC_SGTL5000=y
CONFIG_SND_SOC_TWL4030=m
CONFIG_SND_SOC_TWL6040=m
CONFIG_SND_SOC_WM8962=m
CONFIG_SND_SOC_MC13783=m
CONFIG_SND_SOC_WM8962=y
CONFIG_SND_SOC_MC13783=y
# CONFIG_SND_SIMPLE_CARD is not set
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
@ -3700,7 +3787,7 @@ CONFIG_TWL4030_USB=y
CONFIG_TWL6030_USB=y
CONFIG_USB_GPIO_VBUS=y
# CONFIG_USB_ISP1301 is not set
# CONFIG_USB_MXS_PHY is not set
CONFIG_USB_MXS_PHY=y
# CONFIG_USB_RCAR_PHY is not set
# CONFIG_USB_ULPI is not set
CONFIG_USB_GADGET=y
@ -3916,9 +4003,9 @@ CONFIG_RTC_DRV_DS2404=m
#
CONFIG_RTC_DRV_IMXDI=m
CONFIG_RTC_DRV_OMAP=m
CONFIG_RTC_DRV_MC13XXX=m
CONFIG_RTC_DRV_MXC=m
CONFIG_RTC_DRV_SNVS=m
CONFIG_RTC_DRV_MC13XXX=y
CONFIG_RTC_DRV_MXC=y
CONFIG_RTC_DRV_SNVS=y
#
# HID Sensor RTC drivers
@ -4448,6 +4535,7 @@ CONFIG_MISC_FILESYSTEMS=y
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_JFFS2_FS is not set
CONFIG_LOGFS=m
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
@ -4466,6 +4554,8 @@ CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_QNX6FS_FS is not set
CONFIG_ROMFS_FS=m
CONFIG_ROMFS_BACKED_BY_BLOCK=y
# CONFIG_ROMFS_BACKED_BY_MTD is not set
# CONFIG_ROMFS_BACKED_BY_BOTH is not set
CONFIG_ROMFS_ON_BLOCK=y
# CONFIG_PSTORE is not set
# CONFIG_SYSV_FS is not set
@ -4897,6 +4987,7 @@ CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IO=y
CONFIG_STMP_DEVICE=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y

270
core/linux-mvebu/PKGBUILD Normal file
View file

@ -0,0 +1,270 @@
# Marvell SOCs with Device Tree support
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
buildarch=4
pkgbase=linux-mvebu
_srcname=linux-3.11-rc1
_kernelname=${pkgbase#linux}
_desc="Marvell SOCs with Device Tree support"
pkgver=3.11.0
pkgrel=1
arch=('armv7h')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'uboot-mkimage')
options=('!strip')
source=("http://www.kernel.org/pub/linux/kernel/v3.x/testing/${_srcname}.tar.xz"
'config'
'smile.patch')
md5sums=('bf7c2b855be58793812d8ac72962c851'
'2fda82a5e1c0272f5dece4626233669b'
'92add62390a56f662359280c3f88c786')
prepare() {
cd "${srcdir}/${_srcname}"
# add upstream patch
# patch -p1 -i "${srcdir}/patch-${pkgver}"
patch -p1 -i "${srcdir}/smile.patch"
cat "${srcdir}/config" > ./.config
# add pkgrel to extraversion
sed -ri "s|^(EXTRAVERSION =)(.*)|\1 \2-${pkgrel}|" Makefile
# don't run depmod on 'make install'. We'll do this ourselves in packaging
sed -i '2iexit 0' scripts/depmod.sh
}
build() {
cd "${srcdir}/${_srcname}"
# get kernel version
make prepare
# load configuration
# Configure the kernel. Replace the line below with one of your choice.
#make menuconfig # CLI menu for configuration
#make nconfig # new CLI menu for configuration
#make xconfig # X-based configuration
#make oldconfig # using old config from previous kernel version
# ... or manually edit .config
# Copy back our configuration (use with new kernel version)
#cp ./.config ../${pkgbase}.config
####################
# stop here
# this is useful to configure the kernel
#msg "Stopping build"
#return 1
####################
#yes "" | make config
# build!
make ${MAKEFLAGS} zImage modules dtbs
}
_package() {
pkgdesc="The Linux Kernel and modules - ${_desc}"
depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country')
provides=('kernel26' 'linux=${pkgver}' 'aufs_friendly')
conflicts=('linux-omap' 'linux-imx6' 'linux-armada370')
install=${pkgname}.install
cd "${srcdir}/${_srcname}"
KARCH=arm
# get kernel version
_kernver="$(make kernelrelease)"
_basekernel=${_kernver%%-*}
_basekernel=${_basekernel%.*}
mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot/dtbs}
make INSTALL_MOD_PATH="${pkgdir}" modules_install
cp arch/$KARCH/boot/zImage "${pkgdir}/boot/zImage"
cp arch/$KARCH/boot/dts/*.dtb "${pkgdir}/boot/dtbs"
cat arch/$KARCH/boot/zImage arch/$KARCH/boot/dts/armada-370-mirabox.dtb > myimage
mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n 'Linux-marvell' -d myimage "${pkgdir}/boot/uImage"
# set correct depmod command for install
sed \
-e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
-e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
-i "${startdir}/${pkgname}.install"
# remove build and source links
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
# remove the firmware
rm -rf "${pkgdir}/lib/firmware"
# gzip -9 all modules to save 100MB of space
find "${pkgdir}" -name '*.ko' |xargs -P 2 -n 1 gzip -9
# make room for external modules
ln -s "../extramodules-${_basekernel}-${_kernelname:-ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
# add real version for building modules and running depmod from post_install/upgrade
mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}-${_kernelname:-ARCH}"
echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}-${_kernelname:-ARCH}/version"
# Now we call depmod...
depmod -b "$pkgdir" -F System.map "$_kernver"
# move module tree /lib -> /usr/lib
mkdir -p "${pkgdir}/usr"
mv "$pkgdir/lib" "$pkgdir/usr"
}
_package-headers() {
pkgdesc="Header files and scripts for building modules for linux kernel - ${_desc}"
provides=('linux-headers=${pkgver}')
conflicts=('linux-headers-omap' 'linux-headers-imx6')
install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}"
cd "${pkgdir}/usr/lib/modules/${_kernver}"
ln -sf ../../../src/linux-${_kernver} build
cd "${srcdir}/${_srcname}"
install -D -m644 Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/Makefile"
install -D -m644 kernel/Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/kernel/Makefile"
install -D -m644 .config \
"${pkgdir}/usr/src/linux-${_kernver}/.config"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include"
for i in acpi asm-generic config crypto drm generated linux math-emu \
media net pcmcia scsi sound trace uapi video xen; do
cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/"
done
# copy arch includes for external modules
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH
cp -a arch/$KARCH/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-mvebu
cp -a arch/$KARCH/mach-mvebu/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/mach-mvebu/
mkdir -p ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-orion
cp -a arch/$KARCH/plat-orion/include ${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/plat-orion/
# copy files necessary for later builds, like nvidia and vmware
cp Module.symvers "${pkgdir}/usr/src/linux-${_kernver}"
cp -a scripts "${pkgdir}/usr/src/linux-${_kernver}"
# fix permissions on scripts dir
chmod og-w -R "${pkgdir}/usr/src/linux-${_kernver}/scripts"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/.tmp_versions"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel"
cp arch/${KARCH}/Makefile "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
if [ "${CARCH}" = "i686" ]; then
cp arch/${KARCH}/Makefile_32.cpu "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
fi
cp arch/${KARCH}/kernel/asm-offsets.s "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/kernel/"
# add headers for lirc package
# pci
for i in bt8xx cx88 saa7134; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}"
cp -a drivers/media/pci/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/pci/${i}"
done
# usb
for i in cpia2 em28xx pwc sn9c102; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}"
cp -a drivers/media/usb/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/${i}"
done
# i2c
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c"
cp drivers/media/i2c/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/"
for i in cx25840; do
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}"
cp -a drivers/media/i2c/${i}/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/${i}"
done
# add docbook makefile
install -D -m644 Documentation/DocBook/Makefile \
"${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
# add dm headers
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
cp drivers/md/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/md"
# add inotify.h
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/linux"
cp include/linux/inotify.h "${pkgdir}/usr/src/linux-${_kernver}/include/linux/"
# add wireless headers
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
cp net/mac80211/*.h "${pkgdir}/usr/src/linux-${_kernver}/net/mac80211/"
# add dvb headers for external modules
# in reference to:
# http://bugs.archlinux.org/task/9912
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-core"
cp drivers/media/dvb-core/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-core/"
# and...
# http://bugs.archlinux.org/task/11194
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
cp include/config/dvb/*.h "${pkgdir}/usr/src/linux-${_kernver}/include/config/dvb/"
# add dvb headers for http://mcentral.de/hg/~mrec/em28xx-new
# in reference to:
# http://bugs.archlinux.org/task/13146
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/"
cp drivers/media/dvb-frontends/lgdt330x.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/"
cp drivers/media/i2c/msp3400-driver.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/i2c/"
# add dvb headers
# in reference to:
# http://bugs.archlinux.org/task/20402
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb"
cp drivers/media/usb/dvb-usb/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/usb/dvb-usb/"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends"
cp drivers/media/dvb-frontends/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/dvb-frontends/"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners"
cp drivers/media/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/tuners/"
# add xfs and shmem for aufs building
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/mm"
cp fs/xfs/xfs_sb.h "${pkgdir}/usr/src/linux-${_kernver}/fs/xfs/xfs_sb.h"
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p "${pkgdir}"/usr/src/linux-${_kernver}/`echo ${i} | sed 's|/Kconfig.*||'`
cp ${i} "${pkgdir}/usr/src/linux-${_kernver}/${i}"
done
chown -R root.root "${pkgdir}/usr/src/linux-${_kernver}"
find "${pkgdir}/usr/src/linux-${_kernver}" -type d -exec chmod 755 {} \;
# strip scripts directory
find "${pkgdir}/usr/src/linux-${_kernver}/scripts" -type f -perm -u+w 2>/dev/null | while read binary ; do
case "$(file -bi "${binary}")" in
*application/x-sharedlib*) # Libraries (.so)
/usr/bin/strip ${STRIP_SHARED} "${binary}";;
*application/x-archive*) # Libraries (.a)
/usr/bin/strip ${STRIP_STATIC} "${binary}";;
*application/x-executable*) # Binaries
/usr/bin/strip ${STRIP_BINARIES} "${binary}";;
esac
done
# remove unneeded architectures
rm -rf "${pkgdir}"/usr/src/linux-${_kernver}/arch/{alpha,arm26,avr32,blackfin,cris,frv,h8300,ia64,m32r,m68k,m68knommu,mips,microblaze,mn10300,parisc,powerpc,ppc,s390,sh,sh64,sparc,sparc64,um,v850,x86,xtensa}
}
pkgname=("${pkgbase}" "${pkgbase}-headers")
for _p in ${pkgname[@]}; do
eval "package_${_p}() {
_package${_p#${pkgbase}}
}"
done

3946
core/linux-mvebu/config Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,14 @@
KERNEL_NAME=-mvebu
KERNEL_VERSION=3.11.0-rc1-1-ARCH
post_install () {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
}
post_upgrade() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
}

View file

@ -0,0 +1,72 @@
diff -urN a/arch/arm/boot/dts/armada-370-mirabox.dts b/arch/arm/boot/dts/armada-370-mirabox.dts
--- a/arch/arm/boot/dts/armada-370-mirabox.dts 2013-07-12 23:18:35.979098009 -0600
+++ b/arch/arm/boot/dts/armada-370-mirabox.dts 2013-07-13 00:33:39.920059395 -0600
@@ -12,7 +12,7 @@
/include/ "armada-370.dtsi"
/ {
- model = "Globalscale Mirabox";
+ model = "Marvell SMILE Plug";
compatible = "globalscale,mirabox", "marvell,armada370", "marvell,armada-370-xp";
chosen {
@@ -36,13 +36,8 @@
};
pinctrl {
- pwr_led_pin: pwr-led-pin {
- marvell,pins = "mpp63";
- marvell,function = "gpo";
- };
-
- stat_led_pins: stat-led-pins {
- marvell,pins = "mpp64", "mpp65";
+ smile_led_pins: smile-led-pins {
+ marvell,pins = "mpp63", "mpp64", "mpp47", "mpp59";
marvell,function = "gpio";
};
};
@@ -50,25 +45,31 @@
gpio_leds {
compatible = "gpio-leds";
pinctrl-names = "default";
- pinctrl-0 = <&pwr_led_pin &stat_led_pins>;
+ pinctrl-0 = <&smile_led_pins>;
- green_pwr_led {
- label = "mirabox:green:pwr";
- gpios = <&gpio1 31 1>;
- linux,default-trigger = "heartbeat";
+ red_eyes_led {
+ label = "smileplug:red:eyes";
+ gpios = <&gpio1 31 0>;
+ default-state = "off";
};
- blue_stat_led {
- label = "mirabox:blue:stat";
- gpios = <&gpio2 0 1>;
- linux,default-trigger = "cpu0";
+ green_eyes_led {
+ label = "smileplug:green:eyes";
+ gpios = <&gpio2 0 0>;
+ linux,default-trigger = "default-on";
};
- green_stat_led {
- label = "mirabox:green:stat";
- gpios = <&gpio2 1 1>;
+ red_smile_led {
+ label = "smileplug:red:smile";
+ gpios = <&gpio1 15 0>;
default-state = "off";
};
+
+ green_smile_led {
+ label = "smileplug:green:smile";
+ gpios = <&gpio1 27 0>;
+ linux,default-trigger = "default-on";
+ };
};
mdio {

View file

@ -8,7 +8,7 @@ pkgname=('linux-raspberrypi-latest' 'linux-headers-raspberrypi-latest')
# pkgname=linux-custom # Build kernel with a different name
_kernelname=${pkgname#linux}
_basekernel=3.10
pkgver=${_basekernel}.0
pkgver=${_basekernel}.1
pkgrel=1
bfqver=v6r2
arch=('arm armv6h')

View file

@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-raspberrypi-latest
KERNEL_VERSION=3.9.3-1-ARCH+
KERNEL_VERSION=3.10.1-1-ARCH+
post_install () {
# updating module dependencies

View file

@ -6,12 +6,12 @@
buildarch=4
pkgbase=linux-udoo-quad
pkgname=('linux-udoo-quad' 'linux-headers-udoo-quad')
pkgbase=linux-udoo
pkgname=('linux-udoo' 'linux-headers-udoo')
_kernelname=${pkgname#linux}
_basekernel=3.0
pkgver=${_basekernel}.35
pkgrel=1
pkgrel=2
arch=('arm')
url="http://www.kernel.org/"
license=('GPL2')
@ -84,7 +84,7 @@ build() {
make ${MAKEFLAGS} uImage modules
}
package_linux-udoo-quad() {
package_linux-udoo() {
pkgdesc="The Linux Kernel and modules - i.MX6 processors"
depends=('coreutils' 'linux-firmware' 'module-init-tools>=3.16' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country')
@ -130,7 +130,7 @@ package_linux-udoo-quad() {
mv "$pkgdir/lib" "$pkgdir/usr"
}
package_linux-headers-udoo-quad() {
package_linux-headers-udoo() {
pkgdesc="Header files and scripts for building modules for linux kernel - i.MX6 processors"
provides=("linux-headers=${pkgver}")
conflicts=('linux-headers-omap' 'linux-headers-trimslice')

View file

@ -1,4 +1,3 @@
# $Id: PKGBUILD 136836 2011-09-02 07:59:01Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
@ -7,14 +6,16 @@
pkgbase=icedtea-web-java7
pkgname=('icedtea-web-java7' 'icedtea-web-java7-doc')
pkgver=1.4
pkgrel=1
pkgrel=2
arch=('i686' 'x86_64')
url="http://icedtea.classpath.org/wiki/IcedTea-Web"
license=('GPL2')
makedepends=('jdk7-openjdk' 'zip' 'libxtst' 'npapi-sdk' 'rhino' 'junit' 'chromium' 'epiphany')
noextract=${pkgbase/-java7/}-$pkgver.tar.gz # due to broken path names in the tarball that fails with LANG=C in our chroot
source=(http://icedtea.classpath.org/download/source/${pkgbase/-java7/}-$pkgver.tar.gz)
sha256sums=('e53a41fa132e086fa8d17cadf1e7e38cb3ab99577277949fbcae4ab8705245fb')
source=(http://icedtea.classpath.org/download/source/${pkgbase/-java7/}-$pkgver.tar.gz
openjdk-hotfix.patch)
sha256sums=('e53a41fa132e086fa8d17cadf1e7e38cb3ab99577277949fbcae4ab8705245fb'
'1bf96e430d0694c53539e4e7a8c979c65a2ab5274d8ae38067b0fd7dd5bfba03')
_javaver=7
_jvmdir=/usr/lib/jvm/java-${_javaver}-openjdk
@ -25,6 +26,7 @@ build() {
LANG=en_US.UTF-8 bsdtar -x -f ${srcdir}/${pkgbase/-java7/}-$pkgver.tar.gz
cd "${srcdir}"/icedtea-web*
patch -Np1 < $srcdir/openjdk-hotfix.patch
./configure --prefix=${_jvmdir} \
--datarootdir=/usr/share \
--with-jdk-home=${_jvmdir} \

View file

@ -0,0 +1,56 @@
diff -r 1a327a09262e netx/net/sourceforge/jnlp/runtime/Boot.java
--- a/netx/net/sourceforge/jnlp/runtime/Boot.java Mon Jun 10 13:22:53 2013 +0200
+++ b/netx/net/sourceforge/jnlp/runtime/Boot.java Wed Jun 19 10:32:32 2013 +0200
@@ -35,6 +35,8 @@
import net.sourceforge.jnlp.cache.UpdatePolicy;
import net.sourceforge.jnlp.security.viewer.CertificateViewer;
import net.sourceforge.jnlp.services.ServiceUtil;
+import sun.awt.AppContext;
+import sun.awt.SunToolkit;
/**
* This is the main entry point for the JNLP client. The main
@@ -113,6 +115,9 @@
* Launch the JNLP file specified by the command-line arguments.
*/
public static void main(String[] argsIn) {
+ if (AppContext.getAppContext() == null) {
+ SunToolkit.createNewAppContext();
+ }
args = argsIn;
if (null != getOption("-viewer")) {
diff -r 1a327a09262e netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
--- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Mon Jun 10 13:22:53 2013 +0200
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Wed Jun 19 10:32:32 2013 +0200
@@ -234,7 +234,7 @@
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
- // ignore it
+ e.printStackTrace();
}
doMainAppContextHacks();
diff -r 1a327a09262e plugin/icedteanp/java/sun/applet/PluginMain.java
--- a/plugin/icedteanp/java/sun/applet/PluginMain.java Mon Jun 10 13:22:53 2013 +0200
+++ b/plugin/icedteanp/java/sun/applet/PluginMain.java Wed Jun 19 10:32:32 2013 +0200
@@ -72,6 +72,8 @@
import java.net.ProxySelector;
import java.util.Enumeration;
import java.util.Properties;
+import sun.awt.AppContext;
+import sun.awt.SunToolkit;
import net.sourceforge.jnlp.config.DeploymentConfiguration;
import net.sourceforge.jnlp.runtime.JNLPRuntime;
@@ -94,6 +96,9 @@
*/
public static void main(String args[])
throws IOException {
+ if (AppContext.getAppContext() == null) {
+ SunToolkit.createNewAppContext();
+ }
if (args.length != 2 || !(new File(args[0]).exists()) || !(new File(args[1]).exists())) {
System.err.println("Invalid pipe names provided. Refusing to proceed.");
System.exit(1);

View file

@ -9,8 +9,8 @@
pkgbase=mesa
pkgname=('mesa' 'mesa-libgl')
pkgver=9.1.4
pkgrel=5
pkgver=9.1.5
pkgrel=1
arch=('i686' 'x86_64')
makedepends=('python2' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'libxxf86vm' 'libxdamage'
'libvdpau' 'wayland' 'systemd')
@ -18,17 +18,10 @@ url="http://mesa3d.sourceforge.net"
license=('custom')
options=('!libtool')
source=(ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2
git_fixes.patch
LICENSE)
md5sums=('a2c4e25d0e27918bc67f61bae04d0cb8'
'8ec30e1bd7abe5e8e540df4fa618540f'
md5sums=('4ed2af5943141a85a21869053a2fc2eb'
'5c65a0fe315dd347e09b1f2826a1df5a')
prepare() {
cd ?esa-*
patch -Np1 -i ../git_fixes.patch
}
build() {
cd ${srcdir}/?esa-*

View file

@ -1,476 +0,0 @@
From 6194644a49f841488e23ce021e7817ec02927eef Mon Sep 17 00:00:00 2001
From: Ian Romanick <ian.d.romanick@intel.com>
Date: Mon, 01 Jul 2013 21:31:03 +0000
Subject: docs: Add 9.1.4 release md5sums
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
---
diff --git a/docs/relnotes-9.1.4.html b/docs/relnotes-9.1.4.html
index 48e421b..fa6fe67 100644
--- a/docs/relnotes-9.1.4.html
+++ b/docs/relnotes-9.1.4.html
@@ -30,7 +30,9 @@ because GL_ARB_compatibility is not supported.
<h2>MD5 checksums</h2>
<pre>
-TBD
+a2c4e25d0e27918bc67f61bae04d0cb8 MesaLib-9.1.4.tar.bz2
+8c7e9ce5b05cb2223f0587396dd9dc08 MesaLib-9.1.4.tar.gz
+020459c5793d4279bdcb2daa1f7dd9f6 MesaLib-9.1.4.zip
</pre>
<h2>New features</h2>
--
cgit v0.9.0.2-2-gbebe
From e94a89de4deeabd0f8347795385b2f098aa35365 Mon Sep 17 00:00:00 2001
From: Vinson Lee <vlee@freedesktop.org>
Date: Fri, 01 Feb 2013 07:28:41 +0000
Subject: swrast: Fix memory leak.
Fixes resource leak defect reported by Coverity.
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 985e710c0d1f4f3bbd18448f04e611bd57ae9100)
---
diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c
index 9638271..b380de3 100644
--- a/src/mesa/drivers/dri/swrast/swrast.c
+++ b/src/mesa/drivers/dri/swrast/swrast.c
@@ -363,6 +363,7 @@ swrast_new_renderbuffer(const struct gl_config *visual, __DRIdrawable *dPriv,
xrb->bpp = 8;
break;
default:
+ free(xrb);
return NULL;
}
--
cgit v0.9.0.2-2-gbebe
From ab159327a7dc2dd41f9887d053d4abb3de69d195 Mon Sep 17 00:00:00 2001
From: Ian Romanick <ian.d.romanick@intel.com>
Date: Mon, 10 Jun 2013 17:33:59 +0000
Subject: glsl: Add a gl_shader_program parameter to _mesa_uniform_{merge,split}_location_offset
This will be used in the next commit.
NOTE: This is a candidate for stable release branches.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-and-tested-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 5097f358419c067a71e96e39764b3bb0a716bdbb)
---
diff --git a/src/mesa/main/uniform_query.cpp b/src/mesa/main/uniform_query.cpp
index b8335fe..fbbe577 100644
--- a/src/mesa/main/uniform_query.cpp
+++ b/src/mesa/main/uniform_query.cpp
@@ -234,7 +234,7 @@ validate_uniform_parameters(struct gl_context *ctx,
return false;
}
- _mesa_uniform_split_location_offset(location, loc, array_index);
+ _mesa_uniform_split_location_offset(shProg, location, loc, array_index);
if (*loc >= shProg->NumUserUniformStorage) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s(location=%d)",
diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
index d902407..cee57a7 100644
--- a/src/mesa/main/uniforms.c
+++ b/src/mesa/main/uniforms.c
@@ -532,7 +532,7 @@ _mesa_GetUniformLocation(GLhandleARB programObj, const GLcharARB *name)
if (shProg->UniformStorage[index].block_index != -1)
return -1;
- return _mesa_uniform_merge_location_offset(index, offset);
+ return _mesa_uniform_merge_location_offset(shProg, index, offset);
}
GLuint GLAPIENTRY
diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h
index a12ad9b..853a27c 100644
--- a/src/mesa/main/uniforms.h
+++ b/src/mesa/main/uniforms.h
@@ -268,7 +268,8 @@ struct gl_builtin_uniform_desc {
* Combine the uniform's base location and the offset
*/
static inline GLint
-_mesa_uniform_merge_location_offset(unsigned base_location, unsigned offset)
+_mesa_uniform_merge_location_offset(const struct gl_shader_program *prog,
+ unsigned base_location, unsigned offset)
{
return (base_location << 16) | offset;
}
@@ -277,7 +278,8 @@ _mesa_uniform_merge_location_offset(unsigned base_location, unsigned offset)
* Separate the uniform base location and parameter offset
*/
static inline void
-_mesa_uniform_split_location_offset(GLint location, unsigned *base_location,
+_mesa_uniform_split_location_offset(const struct gl_shader_program *prog,
+ GLint location, unsigned *base_location,
unsigned *offset)
{
*offset = location & 0xffff;
diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 4286f0e..1e04f64 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -3052,7 +3052,7 @@ set_uniform_initializer(struct gl_context *ctx, void *mem_ctx,
"Couldn't find uniform for initializer %s\n", name);
return;
}
- int loc = _mesa_uniform_merge_location_offset(index, offset);
+ int loc = _mesa_uniform_merge_location_offset(shader_program, index, offset);
for (unsigned int i = 0; i < (type->is_array() ? type->length : 1); i++) {
ir_constant *element;
--
cgit v0.9.0.2-2-gbebe
From 4d12a9c67c850ff2c92f301317bc3fae0bcb448a Mon Sep 17 00:00:00 2001
From: Ian Romanick <ian.d.romanick@intel.com>
Date: Mon, 10 Jun 2013 17:35:05 +0000
Subject: glsl: Add gl_shader_program::UniformLocationBaseScale
This is used by _mesa_uniform_merge_location_offset and
_mesa_uniform_split_location_offset to determine how the base and offset
are packed. Previously, this value was hard coded as (1U<<16) in those
functions via the shift and mask contained therein. The value is still
(1U<<16), but it can be changed in the future.
The next patch dynamically generates this value.
NOTE: This is a candidate for stable release branches.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-and-tested-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit 26d86d26f9f972b19c7040bdb1b1daf48537ef3e)
---
diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
index d457e4d..ac726f4 100644
--- a/src/glsl/link_uniforms.cpp
+++ b/src/glsl/link_uniforms.cpp
@@ -730,6 +730,7 @@ link_assign_uniform_locations(struct gl_shader_program *prog)
assert(sizeof(prog->SamplerTargets) == sizeof(parcel.targets));
memcpy(prog->SamplerTargets, parcel.targets, sizeof(prog->SamplerTargets));
+ prog->UniformLocationBaseScale = (1U<<16);
#ifndef NDEBUG
for (unsigned i = 0; i < num_user_uniforms; i++) {
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 23c3a0d..3e440f5 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2419,6 +2419,21 @@ struct gl_shader_program
unsigned NumUniformBlocks;
/**
+ * Scale factor for the uniform base location
+ *
+ * This is used to generate locations (returned by \c glGetUniformLocation)
+ * of uniforms. The base location of the uniform is multiplied by this
+ * value, and the array index is added.
+ *
+ * \note
+ * Must be >= 1.
+ *
+ * \sa
+ * _mesa_uniform_merge_location_offset, _mesa_uniform_split_location_offset
+ */
+ unsigned UniformLocationBaseScale;
+
+ /**
* Indices into the _LinkedShaders's UniformBlocks[] array for each stage
* they're used in, or -1.
*
diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c
index 59daff5..0494320 100644
--- a/src/mesa/main/shaderobj.c
+++ b/src/mesa/main/shaderobj.c
@@ -283,6 +283,7 @@ _mesa_clear_shader_program_data(struct gl_context *ctx,
ralloc_free(shProg->UniformStorage);
shProg->NumUserUniformStorage = 0;
shProg->UniformStorage = NULL;
+ shProg->UniformLocationBaseScale = 0;
}
if (shProg->UniformHash) {
diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h
index 853a27c..421232d 100644
--- a/src/mesa/main/uniforms.h
+++ b/src/mesa/main/uniforms.h
@@ -271,7 +271,9 @@ static inline GLint
_mesa_uniform_merge_location_offset(const struct gl_shader_program *prog,
unsigned base_location, unsigned offset)
{
- return (base_location << 16) | offset;
+ assert(prog->UniformLocationBaseScale >= 0);
+ assert(offset < prog->UniformLocationBaseScale);
+ return (base_location * prog->UniformLocationBaseScale) + offset;
}
/**
@@ -282,8 +284,8 @@ _mesa_uniform_split_location_offset(const struct gl_shader_program *prog,
GLint location, unsigned *base_location,
unsigned *offset)
{
- *offset = location & 0xffff;
- *base_location = location >> 16;
+ *offset = location % prog->UniformLocationBaseScale;
+ *base_location = location / prog->UniformLocationBaseScale;
}
/*@}*/
--
cgit v0.9.0.2-2-gbebe
From 307a703c759263bb37285b0919721ff2c413fc56 Mon Sep 17 00:00:00 2001
From: Ian Romanick <ian.d.romanick@intel.com>
Date: Mon, 10 Jun 2013 17:39:28 +0000
Subject: glsl: Generate smaller values for uniform locations
Previously we would generate uniform locations as (slot << 16) +
array_index. We do this to handle applications that assume the location
of a[2] will be +1 from the location of a[1]. This resulted in every
uniform location being at least 0x10000. The OpenGL 4.3 spec was
amended to require this behavior, but previous versions did not require
locations of array (or structure) members be sequential.
We've now encountered two applications that assume uniform values will
be "small." As far as we can tell, these applications store the GLint
returned by glGetUniformLocation in a int16_t or possibly an int8_t.
THIS BEHAVIOR IS NOT GUARANTEED OR IMPLIED BY ANY VERSION OF OpenGL.
Other implementations happen to have both these behaviors (sequential
array elements and small values) since OpenGL 2.0, so let's just match
their behavior.
Fixes "3D Bowling" on Android.
NOTE: This is a candidate for stable release branches.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-and-tested-by: Chad Versace <chad.versace@linux.intel.com>
(cherry picked from commit cfa3c5ad828f56559a6cc2de299f993b8e748ea4)
---
diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
index ac726f4..8e01d2e 100644
--- a/src/glsl/link_uniforms.cpp
+++ b/src/glsl/link_uniforms.cpp
@@ -730,7 +730,20 @@ link_assign_uniform_locations(struct gl_shader_program *prog)
assert(sizeof(prog->SamplerTargets) == sizeof(parcel.targets));
memcpy(prog->SamplerTargets, parcel.targets, sizeof(prog->SamplerTargets));
- prog->UniformLocationBaseScale = (1U<<16);
+
+ /* Determine the size of the largest uniform array queryable via
+ * glGetUniformLocation. Using this as the location scale guarantees that
+ * there is enough "room" for the array index to be stored in the low order
+ * part of the uniform location. It also makes the locations be more
+ * tightly packed.
+ */
+ unsigned max_array_size = 1;
+ for (unsigned i = 0; i < num_user_uniforms; i++) {
+ if (uniforms[i].array_elements > max_array_size)
+ max_array_size = uniforms[i].array_elements;
+ }
+
+ prog->UniformLocationBaseScale = max_array_size;
#ifndef NDEBUG
for (unsigned i = 0; i < num_user_uniforms; i++) {
--
cgit v0.9.0.2-2-gbebe
From 2cfc0072a80cfd9503be7e57a1d8375d64d7eb98 Mon Sep 17 00:00:00 2001
From: Richard Sandiford <r.sandiford@uk.ibm.com>
Date: Mon, 17 Jun 2013 16:10:49 +0000
Subject: st/xlib Fix XIMage bytes-per-pixel calculation
Fixes a crash seen while running gnome on a 16-bit screen over vnc.
NOTE: This is a candidate for stable release branches.
Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Richard Sandiford <rsandifo@linux.vnet.ibm.com>
(cherry picked from commit 876fefe2ff8901ae4b908cff89ac5dd4324f4fe5)
---
diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c
index 5c6d6a7..4f99e23 100644
--- a/src/gallium/state_trackers/glx/xlib/xm_api.c
+++ b/src/gallium/state_trackers/glx/xlib/xm_api.c
@@ -1392,9 +1392,8 @@ XMesaBindTexImage(Display *dpy, XMesaBuffer drawable, int buffer,
return;
}
- /* The pipe transfer has a pitch rounded up to the nearest 64 pixels.
- We assume 32 bit pixels. */
- ximage_stride = w * 4;
+ /* The pipe transfer has a pitch rounded up to the nearest 64 pixels. */
+ ximage_stride = w * ((img->bits_per_pixel + 7) / 8);
for (line = 0; line < h; line++)
memcpy(&map[line * tex_xfer->stride],
--
cgit v0.9.0.2-2-gbebe
From 8ed60f7f7fb060ccf939328bb03c9714b207236f Mon Sep 17 00:00:00 2001
From: Richard Sandiford <r.sandiford@uk.ibm.com>
Date: Mon, 17 Jun 2013 16:13:25 +0000
Subject: st/xlib: Fix XImage stride calculation
Fixes window skew seen while running gnome on a 16-bit screen over vnc.
NOTE: This is a candidate for stable release branches.
Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Richard Sandiford <rsandifo@linux.vnet.ibm.com>
(cherry picked from commit c132c2978b02da7140462a633605a0127dfcceb4)
---
diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c
index 4f99e23..9bfd372 100644
--- a/src/gallium/state_trackers/glx/xlib/xm_api.c
+++ b/src/gallium/state_trackers/glx/xlib/xm_api.c
@@ -1366,7 +1366,7 @@ XMesaBindTexImage(Display *dpy, XMesaBuffer drawable, int buffer,
enum pipe_format internal_format = res->format;
struct pipe_transfer *tex_xfer;
char *map;
- int line, ximage_stride;
+ int line, byte_width;
XImage *img;
internal_format = choose_pixel_format(drawable->xm_visual);
@@ -1393,12 +1393,12 @@ XMesaBindTexImage(Display *dpy, XMesaBuffer drawable, int buffer,
}
/* The pipe transfer has a pitch rounded up to the nearest 64 pixels. */
- ximage_stride = w * ((img->bits_per_pixel + 7) / 8);
+ byte_width = w * ((img->bits_per_pixel + 7) / 8);
for (line = 0; line < h; line++)
memcpy(&map[line * tex_xfer->stride],
- &img->data[line * ximage_stride],
- ximage_stride);
+ &img->data[line * img->bytes_per_line],
+ byte_width);
pipe_transfer_unmap(pipe, tex_xfer);
--
cgit v0.9.0.2-2-gbebe
From 5412ae63dca1b1a6c43fccb5bafe56a0cd9c9a88 Mon Sep 17 00:00:00 2001
From: Kristian Høgsberg <krh@bitplanet.net>
Date: Tue, 18 Jun 2013 20:53:46 +0000
Subject: wayland: Handle global_remove event as well
We need to set up a handler for the global_remove event that gets sent
out when a global gets removed. Without the handler we end up calling
a NULL pointer.
https://bugs.freedesktop.org/show_bug.cgi?id=65910
NOTE: This is a candidate for the stable branches.
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
(cherry picked from commit 712269d6744a8849d1d0cf01fa0132d969b79ed4)
---
diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
index 99d8729..e106dc2 100644
--- a/src/egl/drivers/dri2/platform_wayland.c
+++ b/src/egl/drivers/dri2/platform_wayland.c
@@ -643,8 +643,15 @@ registry_handle_global(void *data, struct wl_registry *registry, uint32_t name,
}
}
+static void
+registry_handle_global_remove(void *data, struct wl_registry *registry,
+ uint32_t name)
+{
+}
+
static const struct wl_registry_listener registry_listener = {
- registry_handle_global
+ registry_handle_global,
+ registry_handle_global_remove
};
EGLBoolean
--
cgit v0.9.0.2-2-gbebe
From cda92f5191cd2ed4782dbdd41143d520857861c9 Mon Sep 17 00:00:00 2001
From: Richard Sandiford <rsandifo@linux.vnet.ibm.com>
Date: Tue, 18 Jun 2013 15:41:43 +0000
Subject: st/dri/sw: Fix pitch calculation in drisw_update_tex_buffer
swrastGetImage rounds the pitch up to 4 bytes for compatibility reasons
that are explained in drisw_glx.c:bytes_per_line, so drisw_update_tex_buffer
must do the same.
Fixes window skew seen while running firefox over vnc on a 16-bit screen.
NOTE: This is a candidate for the stable branches.
[ajax: fixed typo in comment]
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Signed-off-by: Richard Sandiford <rsandifo@linux.vnet.ibm.com>
(cherry picked from commit 5a0556f061d9db00dd7637433d393beead3b3d85)
---
diff --git a/src/gallium/state_trackers/dri/sw/drisw.c b/src/gallium/state_trackers/dri/sw/drisw.c
index 7a5f797..41f66d5 100644
--- a/src/gallium/state_trackers/dri/sw/drisw.c
+++ b/src/gallium/state_trackers/dri/sw/drisw.c
@@ -265,8 +265,9 @@ drisw_update_tex_buffer(struct dri_drawable *drawable,
/* Copy the Drawable content to the mapped texture buffer */
get_image(dPriv, x, y, w, h, map);
- /* The pipe transfer has a pitch rounded up to the nearest 64 pixels. */
- ximage_stride = w * cpp;
+ /* The pipe transfer has a pitch rounded up to the nearest 64 pixels.
+ get_image() has a pitch rounded up to 4 bytes. */
+ ximage_stride = ((w * cpp) + 3) & -4;
for (line = h-1; line; --line) {
memmove(&map[line * transfer->stride],
&map[line * ximage_stride],
--
cgit v0.9.0.2-2-gbebe
From 26f802d0635fc247bbc3ebf6f7e9bf126b6b5e69 Mon Sep 17 00:00:00 2001
From: Brian Paul <brianp@vmware.com>
Date: Thu, 31 Jan 2013 00:44:25 +0000
Subject: svga: check for NaN shader immediates
The svga device doesn't handle them. Replace with zeros.
Fixes several piglit tests, such as "glsl-const-builtin-inversesqrt".
Reviewed-by: Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit 3cb491534493a52e9a88cb88d31727569afb8167)
---
diff --git a/src/gallium/drivers/svga/svga_tgsi_insn.c b/src/gallium/drivers/svga/svga_tgsi_insn.c
index 36ed008..d439e5b 100644
--- a/src/gallium/drivers/svga/svga_tgsi_insn.c
+++ b/src/gallium/drivers/svga/svga_tgsi_insn.c
@@ -2716,8 +2716,10 @@ static boolean svga_emit_immediate( struct svga_shader_emitter *emit,
unsigned i;
assert(1 <= imm->Immediate.NrTokens && imm->Immediate.NrTokens <= 5);
- for (i = 0; i < imm->Immediate.NrTokens - 1; i++)
- value[i] = imm->u[i].Float;
+ for (i = 0; i < imm->Immediate.NrTokens - 1; i++) {
+ float f = imm->u[i].Float;
+ value[i] = util_is_inf_or_nan(f) ? 0.0f : f;
+ }
for ( ; i < 4; i++ )
value[i] = id[i];
--
cgit v0.9.0.2-2-gbebe