diff options
author | Stefan Schmidt <stefan@datenfreihafen.org> | 2009-12-01 11:50:56 +0530 |
---|---|---|
committer | Stefan Schmidt <stefan@datenfreihafen.org> | 2009-12-01 11:50:56 +0530 |
commit | 00ea05d9622d5ae732e53e4772e598137d8c309c (patch) | |
tree | a3309149e035c991e80bc03cf1ca123dc83f3625 /recipes | |
parent | 7b52c2df97ca766b03d0e0ecb346007d9d335105 (diff) | |
parent | 0c84ce234bb065fe646b79f26a8f789fd7d14d16 (diff) |
Merge branch 'org.openembedded.dev' of git.openembedded.org:openembedded into org.openembedded.dev
Diffstat (limited to 'recipes')
100 files changed, 5827 insertions, 1073 deletions
diff --git a/recipes/apache2/apache2-2.2.14/apr-sockets-patch b/recipes/apache2/apache2-2.2.14/apr-sockets-patch new file mode 100644 index 0000000000..5e974820b3 --- /dev/null +++ b/recipes/apache2/apache2-2.2.14/apr-sockets-patch @@ -0,0 +1,10 @@ +--- httpd-2.2.3/srclib/apr/network_io/unix/sockets.c.orig ++++ httpd-2.2.3/srclib/apr/network_io/unix/sockets.c +@@ -231,6 +231,7 @@ + #if APR_O_NONBLOCK_INHERITED + if (apr_is_option_set(sock, APR_SO_NONBLOCK) == 1) { + apr_set_option(*new, APR_SO_NONBLOCK, 1); ++ apr_socket_opt_set(*new, APR_SO_NONBLOCK, 0); + } + #endif /* APR_O_NONBLOCK_INHERITED */ + diff --git a/recipes/apache2/apache2-2.2.14/apr.h.in.patch b/recipes/apache2/apache2-2.2.14/apr.h.in.patch new file mode 100644 index 0000000000..97554c9f74 --- /dev/null +++ b/recipes/apache2/apache2-2.2.14/apr.h.in.patch @@ -0,0 +1,13 @@ +Index: httpd-2.2.14/srclib/apr/include/apr.h.in +=================================================================== +--- httpd-2.2.14.orig/srclib/apr/include/apr.h.in ++++ httpd-2.2.14/srclib/apr/include/apr.h.in +@@ -224,7 +224,7 @@ extern "C" { + #define APR_HAVE_STRUCT_RLIMIT @struct_rlimit@ + #define APR_HAVE_UNION_SEMUN @have_union_semun@ + #define APR_HAVE_SCTP @have_sctp@ +-#define APR_HAVE_IOVEC @have_iovec@ ++#define APR_HAVE_IOVEC 1 + + /* APR Feature Macros */ + #define APR_HAS_SHARED_MEMORY @sharedmem@ diff --git a/recipes/apache2/apache2-2.2.14/configure-patch b/recipes/apache2/apache2-2.2.14/configure-patch new file mode 100644 index 0000000000..50f7420a8d --- /dev/null +++ b/recipes/apache2/apache2-2.2.14/configure-patch @@ -0,0 +1,71 @@ +Index: httpd-2.2.14/configure +=================================================================== +--- httpd-2.2.14.orig/configure ++++ httpd-2.2.14/configure +@@ -3795,26 +3795,6 @@ if test "${with_apr+set}" = set; then : + + else + +- if test -n "1" && test "1" = "1"; then +- for apr_temp_apr_config_file in $apr_temp_acceptable_apr_config +- do +- if $apr_temp_apr_config_file --help > /dev/null 2>&1 ; then +- apr_config="$apr_temp_apr_config_file" +- +- apr_found="yes" +- break +- else +- for lookdir in /usr /usr/local /usr/local/apr /opt/apr; do +- if $TEST_X "$lookdir/bin/$apr_temp_apr_config_file"; then +- apr_config="$lookdir/bin/$apr_temp_apr_config_file" +- +- apr_found="yes" +- break 2 +- fi +- done +- fi +- done +- fi + if test "$apr_found" = "no" && test -d ""$srcdir/srclib/apr""; then + apr_temp_abs_srcdir="`cd "$srcdir/srclib/apr" && pwd`" + apr_found="reconfig" +@@ -4147,26 +4127,6 @@ if test "${with_apr_util+set}" = set; th + + else + +- if test -n "1" && test "1" = "1"; then +- for apu_temp_apu_config_file in $apu_temp_acceptable_apu_config +- do +- if $apu_temp_apu_config_file --help > /dev/null 2>&1 ; then +- apu_config="$apu_temp_apu_config_file" +- +- apu_found="yes" +- break +- else +- for lookdir in /usr /usr/local /usr/local/apr /opt/apr; do +- if $TEST_X "$lookdir/bin/$apu_temp_apu_config_file"; then +- apu_config="$lookdir/bin/$apu_temp_apu_config_file" +- +- apu_found="yes" +- break 2 +- fi +- done +- fi +- done +- fi + if test "$apu_found" = "no" && test -d ""$srcdir/srclib/apr-util""; then + apu_temp_abs_srcdir="`cd "$srcdir/srclib/apr-util" && pwd`" + apu_found="reconfig" +@@ -7045,7 +7005,11 @@ if test "${ap_cv_void_ptr_lt_long+set}" + $as_echo_n "(cached) " >&6 + else + if test "$cross_compiling" = yes; then : +- ap_cv_void_ptr_lt_long=yes ++ if test "$ac_cv_sizeof_long_p" = "$ac_cv_sizeof_void_p"; then ++ ap_void_ptr_lt_long=no ++ else ++ ap_void_ptr_lt_long=yes ++ fi + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ diff --git a/recipes/apache2/apache2-2.2.14/configure.in.patch b/recipes/apache2/apache2-2.2.14/configure.in.patch new file mode 100644 index 0000000000..2ca098dc86 --- /dev/null +++ b/recipes/apache2/apache2-2.2.14/configure.in.patch @@ -0,0 +1,27 @@ +Index: httpd-2.2.14/srclib/apr/configure.in +=================================================================== +--- httpd-2.2.14.orig/srclib/apr/configure.in ++++ httpd-2.2.14/srclib/apr/configure.in +@@ -923,7 +923,7 @@ AC_CHECK_FUNCS([mmap munmap shm_open shm + create_area]) + + APR_CHECK_DEFINE(MAP_ANON, sys/mman.h) +-AC_CHECK_FILE(/dev/zero) ++APR_CHECK_FILE(/dev/zero) + + # Not all systems can mmap /dev/zero (such as HP-UX). Check for that. + if test "$ac_cv_func_mmap" = "yes" && +Index: httpd-2.2.14/configure.in +=================================================================== +--- httpd-2.2.14.orig/configure.in ++++ httpd-2.2.14/configure.in +@@ -61,6 +61,9 @@ APR_MKDIR_P_CHECK($top_srcdir/build/mkdi + + dnl ## Run configure for packages Apache uses + ++dnl first configure subdirs ++AC_CONFIG_SUBDIRS(srclib/apr srclib/apr-util srclib/prce) ++ + dnl shared library support for these packages doesn't currently + dnl work on some platforms + diff --git a/recipes/apache2/apache2-2.2.14/dftables-makefile-patch b/recipes/apache2/apache2-2.2.14/dftables-makefile-patch new file mode 100644 index 0000000000..ac966db282 --- /dev/null +++ b/recipes/apache2/apache2-2.2.14/dftables-makefile-patch @@ -0,0 +1,10 @@ +--- http-2.2.3/srclib/pcre/Makefile.in-orig ++++ http-2.2.3/srclib/pcre/Makefile.in 2005-12-20 13:12:03.000000000 -0500 +@@ -15,6 +15,6 @@ + $(LINK) $(EXTRA_LDFLAGS) dftables.lo $(EXTRA_LIBS) + + $(srcdir)/chartables.c: dftables +- ./dftables $@ ++ dftables $@ + + pcre.lo: $(srcdir)/chartables.c diff --git a/recipes/apache2/apache2-2.2.14/server-makefile-patch b/recipes/apache2/apache2-2.2.14/server-makefile-patch new file mode 100644 index 0000000000..f1349cb6a4 --- /dev/null +++ b/recipes/apache2/apache2-2.2.14/server-makefile-patch @@ -0,0 +1,11 @@ +--- http-2.0.54/server/Makefile.in-old 2005-12-20 13:26:56.000000000 -0500 ++++ http-2.0.54/server/Makefile.in 2005-12-20 13:27:22.000000000 -0500 +@@ -27,7 +27,7 @@ + $(LINK) $(EXTRA_LDFLAGS) $(gen_test_char_OBJECTS) $(EXTRA_LIBS) + + test_char.h: gen_test_char +- ./gen_test_char > test_char.h ++ gen_test_char > test_char.h + + util.lo: test_char.h + diff --git a/recipes/apache2/apache2-native_2.2.14.bb b/recipes/apache2/apache2-native_2.2.14.bb new file mode 100644 index 0000000000..460c3fdf9d --- /dev/null +++ b/recipes/apache2/apache2-native_2.2.14.bb @@ -0,0 +1,40 @@ +SECTION = "net" +DEPENDS = "expat pcre" + +inherit native + +PR ="r0" +SRC_URI = "http://www.apache.org/dist/httpd/httpd-${PV}.tar.bz2" + +S = "${WORKDIR}/httpd-${PV}" + +do_configure () { + ./configure --with-included-apr --prefix=${prefix} +} + +do_stage () { + install -d ${STAGING_BINDIR_NATIVE} + cp srclib/pcre/dftables ${STAGING_BINDIR_NATIVE} + cp server/gen_test_char ${STAGING_BINDIR_NATIVE} + cp srclib/apr/apr-1-config ${STAGING_BINDIR_NATIVE} + cp srclib/apr-util/apu-1-config ${STAGING_BINDIR_NATIVE} + cp support/apxs ${STAGING_BINDIR_NATIVE} + chmod 755 ${STAGING_BINDIR_NATIVE}/apxs + mkdir -p ${STAGING_DIR_NATIVE}//usr/build + cp build/*.mk ${STAGING_DIR_NATIVE}/usr/build + cp build/instdso.sh ${STAGING_DIR_NATIVE}/usr/build + cp .libs/httpd ${STAGING_BINDIR_NATIVE} + + (cd srclib/apr/.libs; tar -cf - libapr-*.so* ) | + (cd ${STAGING_LIBDIR_NATIVE}; tar -xf - ) + (cd srclib/apr-util/.libs; tar -cf - libaprutil-*.so* ) | + (cd ${STAGING_LIBDIR_NATIVE}; tar -xf - ) + + mkdir -p ${STAGING_INCDIR_NATIVE}/apache2 + cp include/* ${STAGING_INCDIR_NATIVE}/apache2 + cp os/unix/os.h ${STAGING_INCDIR_NATIVE}/apache2 + cp os/unix/unixd.h ${STAGING_INCDIR_NATIVE}/apache2 + + cp support/envvars-std ${STAGING_BINDIR_NATIVE}/envvars + chmod 755 ${STAGING_BINDIR_NATIVE}/envvars +} diff --git a/recipes/apache2/apache2_2.2.14.bb b/recipes/apache2/apache2_2.2.14.bb new file mode 100644 index 0000000000..8990d53050 --- /dev/null +++ b/recipes/apache2/apache2_2.2.14.bb @@ -0,0 +1,114 @@ +SECTION = "net" +DESCRIPTION = "The apache v2 web server" +DEPENDS = "apache2-native openssl expat pcre" +RDEPENDS += "openssl" + +PR = "r0" + +SRC_URI = "http://apache.mirrors.tds.net/httpd/httpd-${PV}.tar.bz2 \ + file://dftables-makefile-patch;patch=1 \ + file://apr-sockets-patch;patch=1 \ + file://configure-patch;patch=1 \ + file://server-makefile-patch;patch=1 \ + file://configure.in.patch;patch=1 \ + file://apr.h.in.patch;patch=1 \ + file://init" + +# +# over-ride needed since apache unpacks into httpd +# +S = "${WORKDIR}/httpd-${PV}" + +# +# implications - autotools defines suitable do_configure, do_install, etc. +# update-rc.d adds hooks for rc-update. +# +# +inherit autotools update-rc.d + +# +# implications - used by update-rc.d scripts +# +INITSCRIPT_NAME = "apache2" +INITSCRIPT_PARAMS = "defaults 91 20" +LEAD_SONAME = "libapr-1.so.0" + +CONFFILES_${PN} = "${sysconfdir}/${PN}/httpd.conf \ + ${sysconfdir}/${PN}/magic \ + ${sysconfdir}/${PN}/mime.types \ + ${sysconfdir}/init.d/${PN} " + +# +PACKAGES = "${PN}-doc ${PN}-dev ${PN}-dbg ${PN}" + +# we override here rather than append so that .so links are +# included in the runtime package rather than here (-dev) +# and to get build, icons, error into the -dev package +FILES_${PN}-dev = "${datadir}/${PN}/build \ + ${datadir}/${PN}/icons \ + ${datadir}/${PN}/error \ + ${bindir}/apr-config ${bindir}/apu-config \ + ${libdir}/apr*.exp \ + ${includedir}/${PN} \ + ${libdir}/*.la \ + ${libdir}/*.a" + +# manual to manual +FILES_${PN}-doc += " ${datadir}/${PN}/manual" + +# +# override this too - here is the default, less datadir +# +FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* ${sysconfdir} \ + ${sharedstatedir} ${localstatedir} /bin /sbin /lib/*.so* \ + ${libdir}/${PN}" + +# we want htdocs and cgi-bin to go with the binary +FILES_${PN} += "${datadir}/${PN}/htdocs ${datadir}/${PN}/cgi-bin" + +#make sure the lone .so links also get wrapped in the base package +FILES_${PN} += " ${libdir}/lib*.so ${libdir}/pkgconfig/*" + +CFLAGS_append = " -DPATH_MAX=4096" +CFLAGS_prepend = "-I${STAGING_INCDIR}/openssl " +EXTRA_OECONF = "--enable-ssl \ + --with-ssl=${STAGING_LIBDIR}/.. \ + --with-expat=${STAGING_LIBDIR}/.. \ + --enable-info \ + --enable-rewrite \ + --with-dbm=sdbm \ + --with-berkeley-db=no \ + --localstatedir=/var/${PN} \ + --with-gdbm=no \ + --with-ndbm=no \ + --includedir=${includedir}/${PN} \ + --datadir=${datadir}/${PN} \ + --sysconfdir=${sysconfdir}/${PN} \ + " + +# +# here we over-ride the autotools provided do_configure. +# +do_configure() { + ( cd srclib/apr; ./buildconf ) + oe_runconf +} + +do_compile_prepend() { + ln -sf ${S}/srclib/apr/${TARGET_PREFIX}libtool ${S}/srclib/apr/libtool +} + +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + cat ${WORKDIR}/init | \ + sed -e 's,/usr/sbin/,${sbindir}/,g' \ + -e 's,/usr/bin/,${bindir}/,g' \ + -e 's,/usr/lib,${libdir}/,g' \ + -e 's,/etc/,${sysconfdir}/,g' \ + -e 's,/usr/,${prefix}/,g' > ${D}/${sysconfdir}/init.d/${PN} + chmod 755 ${D}/${sysconfdir}/init.d/${PN} +# remove the goofy original files... + rm -rf ${D}/${sysconfdir}/${PN}/original +# Expat should be found in the staging area via DEPENDS... + rm -f ${D}/${libdir}/libexpat.* +} diff --git a/recipes/chicken/chicken-4.2.0/translator-cross.patch b/recipes/chicken/chicken-4.2.0/translator-cross.patch new file mode 100644 index 0000000000..ac0dde9aec --- /dev/null +++ b/recipes/chicken/chicken-4.2.0/translator-cross.patch @@ -0,0 +1,11 @@ +--- a/csc.scm.orig 2009-11-26 17:16:57.000000000 -0200 ++++ b/csc.scm 2009-11-26 17:17:09.000000000 -0200 +@@ -89,7 +89,7 @@ + (quotewrap + (prefix "chicken" "bin" + (make-pathname +- (if host-mode INSTALL_BIN_HOME TARGET_BIN_HOME) ++ INSTALL_BIN_HOME + CHICKEN_PROGRAM)))) + + (define compiler (quotewrap (if host-mode INSTALL_CC TARGET_CC))) diff --git a/recipes/chicken/chicken-cross_4.2.0.bb b/recipes/chicken/chicken-cross_4.2.0.bb index 14b929bac9..387247b58a 100644 --- a/recipes/chicken/chicken-cross_4.2.0.bb +++ b/recipes/chicken/chicken-cross_4.2.0.bb @@ -1,21 +1,19 @@ require chicken.inc -DEPENDS = "gcc-cross-sdk chicken" -RDEPENDS = "gcc-cross-sdk chicken" PR = "${INC_PR}.1" inherit cross do_compile() { - make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR}/${TARGET_SYS}/usr" TARGET_RUN_PREFIX="${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" C_COMPILER=gcc LIBRARIAN=ar + make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR_TARGET}${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" LIBRARIAN=ar } do_install() { - make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR}/${TARGET_SYS}/usr" TARGET_RUN_PREFIX="${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" C_COMPILER=gcc LIBRARIAN=ar install + make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR_TARGET}${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" LIBRARIAN=ar install } do_stage() { - make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR}/${TARGET_SYS}/usr" TARGET_RUN_PREFIX="${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" C_COMPILER=gcc LIBRARIAN=ar install + make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR_TARGET}${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" LIBRARIAN=ar install } PACKAGES += "chicken-bin libchicken libuchicken" diff --git a/recipes/chicken/chicken-cross_4.2.10.bb b/recipes/chicken/chicken-cross_4.2.10.bb new file mode 100644 index 0000000000..f884b1096d --- /dev/null +++ b/recipes/chicken/chicken-cross_4.2.10.bb @@ -0,0 +1,27 @@ +require chicken-snapshot.inc + +DEPENDS = "chicken" +PR = "${INC_PR}.1" + +inherit cross + +do_compile() { + make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR_TARGET}${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" LIBRARIAN=ar +} + +do_install() { + make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR_TARGET}${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" LIBRARIAN=ar install +} + +do_stage() { + make PLATFORM="linux" PREFIX="${prefix}" TARGET_PREFIX="${STAGING_DIR_TARGET}${layout_prefix}" TARGETSYSTEM="${TARGET_SYS}" LIBRARIAN=ar install +} + +PACKAGES += "chicken-bin libchicken libuchicken" + +FILES_${PN} = "" +FILES_libchicken = "${libdir}/libchicken.so.*" +FILES_libuchicken = "${libdir}/libuchicken.so.*" +FILES_${PN}-bin = "${bindir}/* ${datadir}/chicken/*.* ${libdir}/chicken/*/*.so" +FILES_${PN}-doc += "${datadir}/chicken/doc" +FILES_${PN}-dbg += "${libdir}/chicken/*/.debug" diff --git a/recipes/chicken/chicken-snapshot.inc b/recipes/chicken/chicken-snapshot.inc new file mode 100644 index 0000000000..5fddee279a --- /dev/null +++ b/recipes/chicken/chicken-snapshot.inc @@ -0,0 +1,13 @@ +ESCRIPTION = "A compiler that translates Scheme source files to C, and an interpreter" +HOMEPAGE = "http://www.call-with-current-continuation.org/" +SECTION = "interpreters" +PRIORITY = "optional" +LICENSE = "BSD" +INC_PR = "r3" + +SRC_URI = "http://chicken.wiki.br/dev-snapshots/2009/11/24/chicken-${PV}.tar.gz" + +# Parallel building is not supported +PARALLEL_MAKE = "" + +inherit chicken diff --git a/recipes/chicken/chicken.inc b/recipes/chicken/chicken.inc index 477a8a8c05..229de94cba 100644 --- a/recipes/chicken/chicken.inc +++ b/recipes/chicken/chicken.inc @@ -3,10 +3,11 @@ HOMEPAGE = "http://www.call-with-current-continuation.org/" SECTION = "interpreters" PRIORITY = "optional" LICENSE = "BSD" -INC_PR = "r2" +INC_PR = "r3" SRC_URI = "http://chicken.wiki.br/releases/${PV}/chicken-${PV}.tar.gz \ - file://soname.patch;patch=1" + file://soname.patch;patch=1 \ + file://translator-cross.patch;patch=1" # Parallel building is not supported PARALLEL_MAKE = "" diff --git a/recipes/chicken/chicken_4.2.0.bb b/recipes/chicken/chicken_4.2.0.bb index eda4d7a3f9..601462a3fc 100644 --- a/recipes/chicken/chicken_4.2.0.bb +++ b/recipes/chicken/chicken_4.2.0.bb @@ -5,7 +5,7 @@ RDEPENDS = "gcc-cross-sdk" PR = "${INC_PR}.1" do_compile() { - make PLATFORM="linux" PREFIX="${prefix}" HOSTSYSTEM="${TARGET_SYS}" ARCH=${CHICKEN_ARCH} + make PLATFORM="linux" DESTDIR="${D}" PREFIX="${prefix}" HOSTSYSTEM="${TARGET_SYS}" ARCH=${CHICKEN_ARCH} } do_install() { @@ -13,7 +13,7 @@ do_install() { } do_stage() { - make PLATFORM="linux" PREFIX="${STAGING_DIR}/${TARGET_SYS}${layout_prefix}" HOSTSYSTEM="${TARGET_SYS}" ARCH=${CHICKEN_ARCH} install + make PLATFORM="linux" DESTDIR="${STAGING_DIR_TARGET}" PREFIX="${prefix}" HOSTSYSTEM="${TARGET_SYS}" ARCH=${CHICKEN_ARCH} install } PACKAGES += "chicken-bin libchicken libuchicken" diff --git a/recipes/chicken/chicken_4.2.10.bb b/recipes/chicken/chicken_4.2.10.bb new file mode 100644 index 0000000000..de002dd92a --- /dev/null +++ b/recipes/chicken/chicken_4.2.10.bb @@ -0,0 +1,24 @@ +require chicken-snapshot.inc + +PR = "${INC_PR}.1" + +do_compile() { + make PLATFORM="linux" DESTDIR="${D}" PREFIX="${prefix}" HOSTSYSTEM="${TARGET_SYS}" ARCH=${CHICKEN_ARCH} +} + +do_install() { + make PLATFORM="linux" DESTDIR="${D}" PREFIX="${prefix}" HOSTSYSTEM="${TARGET_SYS}" ARCH=${CHICKEN_ARCH} install +} + +do_stage() { + make PLATFORM="linux" DESTDIR="${STAGING_DIR_TARGET}" PREFIX="${prefix}" HOSTSYSTEM="${TARGET_SYS}" ARCH=${CHICKEN_ARCH} install +} + +PACKAGES += "chicken-bin libchicken libuchicken" + +FILES_${PN} = "" +FILES_libchicken = "${libdir}/libchicken.so.*" +FILES_libuchicken = "${libdir}/libuchicken.so.*" +FILES_${PN}-bin = "${bindir}/* ${datadir}/chicken/*.* ${libdir}/chicken/*/*.so" +FILES_${PN}-doc += "${datadir}/chicken/doc" +FILES_${PN}-dbg += "${libdir}/chicken/*/.debug" diff --git a/recipes/di/di_4.17.bb b/recipes/di/di_4.17.bb new file mode 100644 index 0000000000..9b04df8c24 --- /dev/null +++ b/recipes/di/di_4.17.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "di is a disk information utility, displaying everything (and more) that your df(1) command does. It features the ability to display your disk usage in whatever format you desire/prefer/are used to. It is designed to be portable across many platforms. " +HOMEPAGE = "http://www.gentoo.com/di/" +LICENSE = "MIT-style" +SECTION = "base" +DEPENDS = "perl-native" + +SRC_URI = "http://www.gentoo.com/di/di-${PV}.tar.gz" + +do_install() { + # install binary + install -d ${D}${bindir} + install -m 0755 ${S}/di ${D}${bindir} + + # install manpage + install -d ${D}${mandir}/man1 + install -m 0644 ${S}/di.1 ${D}${mandir}/man1 +} diff --git a/recipes/e17/exhibit_svn.bb b/recipes/e17/exhibit_svn.bb index ac2b67de35..16bd1fbee9 100644 --- a/recipes/e17/exhibit_svn.bb +++ b/recipes/e17/exhibit_svn.bb @@ -2,6 +2,8 @@ DESCRIPTION = "Exhibit is the ETK picture viewer" LICENSE = "MIT BSD" DEPENDS = "evas ecore epsilon edje eet etk efreet" PV = "0.1.1+svnr${SRCPV}" -PR = "r1" +PR = "r2" inherit e + +SRC_URI = "svn://svn.enlightenment.org/svn/e/trunk/OLD;module=${SRCNAME};proto=http" diff --git a/recipes/e2fsprogs-libs/e2fsprogs-libs.inc b/recipes/e2fsprogs-libs/e2fsprogs-libs.inc index 45618b008c..f5e974b8aa 100644 --- a/recipes/e2fsprogs-libs/e2fsprogs-libs.inc +++ b/recipes/e2fsprogs-libs/e2fsprogs-libs.inc @@ -35,3 +35,12 @@ do_stage () { install -m 0644 lib/ss/ss.h ${STAGING_INCDIR}/ss/ install -m 0644 lib/ss/ss_err.h ${STAGING_INCDIR}/ss/ } + +# avoid requiring unsupported util-linux-ng for nylon, provide uuid for others... +DEPENDS_nylon = "" +EXTRA_OECONF_nylon = "" +do_stage_append_nylon() { + install -d ${STAGING_INCDIR}/uuid + install -m 0644 lib/uuid/uuid.h ${STAGING_INCDIR}/uuid/ + install -m 0644 lib/uuid/libuuid.a ${STAGING_LIBDIR}/ +} diff --git a/recipes/efl1/eina/gnu_source.patch b/recipes/efl1/eina/gnu_source.patch new file mode 100644 index 0000000000..8af08ebb82 --- /dev/null +++ b/recipes/efl1/eina/gnu_source.patch @@ -0,0 +1,12 @@ +Index: eina/configure.ac +=================================================================== +--- eina.orig/configure.ac 2009-11-26 15:58:28.784112802 +0100 ++++ eina/configure.ac 2009-11-26 15:59:34.524939842 +0100 +@@ -273,6 +273,7 @@ + AC_C_INLINE + AC_C___ATTRIBUTE__ + AC_PROG_CC_STDC ++AC_GNU_SOURCE + + EINA_CPPFLAGS="" + case "$host_os" in diff --git a/recipes/efl1/eina_svn.bb b/recipes/efl1/eina_svn.bb index 4871cd3ce9..a871721e7c 100644 --- a/recipes/efl1/eina_svn.bb +++ b/recipes/efl1/eina_svn.bb @@ -1,10 +1,12 @@ DESCRIPTION = "Eina is the Enlightenment data library" LICENSE = "LGPL" PV = "0.0.2.060+svnr${SRCPV}" -PR = "r0" +PR = "r1" inherit efl +SRC_URI += "file://gnu_source.patch;patch=1" + # Some upgrade path tweaking AUTO_LIBNAME_PKGS = "" diff --git a/recipes/freesmartphone/fsodatad_git.bb b/recipes/freesmartphone/fsodatad_git.bb new file mode 100644 index 0000000000..de13bedc0a --- /dev/null +++ b/recipes/freesmartphone/fsodatad_git.bb @@ -0,0 +1,6 @@ +require cornucopia.inc +inherit fso-plugin +PR = "${INC_PR}.0" +PV = "0.0.0+gitr${SRCREV}" + +DEPENDS += "libxml2 mobile-broadband-provider-info" diff --git a/recipes/freesmartphone/fsodeviced_git.bb b/recipes/freesmartphone/fsodeviced_git.bb index d1aedc16b9..3406806a6c 100644 --- a/recipes/freesmartphone/fsodeviced_git.bb +++ b/recipes/freesmartphone/fsodeviced_git.bb @@ -6,7 +6,12 @@ RDEPENDS += "libcanberra-alsa" RRECOMMENDS += "fso-alsa-data" PV = "0.9.0+gitr${SRCREV}" PE = "1" -PR = "${INC_PR}.4" +PR = "${INC_PR}.5" + +EXTRA_OECONF = "\ + --enable-kernel26-rfkill \ + --enable-player-canberra \ +" inherit update-rc.d diff --git a/recipes/freesmartphone/fsogpsd_git.bb b/recipes/freesmartphone/fsolocationd_git.bb index 1e3f5718ed..a70bf596f5 100644 --- a/recipes/freesmartphone/fsogpsd_git.bb +++ b/recipes/freesmartphone/fsolocationd_git.bb @@ -3,4 +3,4 @@ inherit fso-plugin PR = "${INC_PR}.0" PV = "0.0.0+gitr${SRCREV}" -DEPENDS += "libfsoresource" +DEPENDS += "libfsotransport libfsoresource" diff --git a/recipes/freesmartphone/fsomusicd_git.bb b/recipes/freesmartphone/fsomusicd_git.bb new file mode 100644 index 0000000000..0081298909 --- /dev/null +++ b/recipes/freesmartphone/fsomusicd_git.bb @@ -0,0 +1,20 @@ +require cornucopia.inc +DEPENDS += "gstreamer" +PV = "0.0.1+gitr${SRCREV}" +PR = "${INC_PR}.0" + +RDEPENDS += "\ + gst-plugin-volume \ + gst-plugin-mad \ + gst-plugin-oggdemux \ + gst-plugin-ivorbisdec \ + gst-plugin-audioconvert \ + gst-plugin-flacdec \ + gst-plugin-waveparse \ + gst-plugin-siddec \ + gst-plugin-modplug \ + gst-plugin-filesrc \ + gst-plugin-souphttpsrc \ + gst-plugin-mmssrc \ + gst-plugin-alsasink \ +" diff --git a/recipes/gcc/gcc-configure-common.inc b/recipes/gcc/gcc-configure-common.inc index efe8ee8787..8a96326b7d 100644 --- a/recipes/gcc/gcc-configure-common.inc +++ b/recipes/gcc/gcc-configure-common.inc @@ -12,6 +12,7 @@ JAVA_sh3 ?= "" OBJC_linux-uclibceabi ?= "" OBJC_linux-uclibc ?= "" OBJC_avr ?= "" +OBJC_nylon ?= "" OBJC ?= ",objc" # gcc 3.x expects 'f77', 4.0 expects 'f95', 4.1 and 4.2 expect 'fortran' diff --git a/recipes/gnome/gconfmm_2.28.0.bb b/recipes/gnome/gconfmm_2.28.0.bb new file mode 100644 index 0000000000..b7e57d2e59 --- /dev/null +++ b/recipes/gnome/gconfmm_2.28.0.bb @@ -0,0 +1,5 @@ +DESCRIPTION = "C++ bindings for GConf" +LICENSE = "LGPLv2" +DEPENDS = "glibmm gconf gtkmm" + +inherit gnome diff --git a/recipes/gnome/gnome-games_2.24.0.bb b/recipes/gnome/gnome-games_2.24.0.bb index b4e7cf43c9..20221bd410 100644 --- a/recipes/gnome/gnome-games_2.24.0.bb +++ b/recipes/gnome/gnome-games_2.24.0.bb @@ -16,21 +16,14 @@ EXTRA_OECONF = "--with-libggz-includes=${STAGING_INCDIR} \ INTLTOOL_PERL=${STAGING_BINDIR_NATIVE}/perl \ " +# disable help dir and crappy old sdl-macro do_configure_prepend() { + rm m4/sdl.m4 for i in $(find ${S} -name "Makefile.am") ; do sed -i -e s:help::g $i done } -do_configure_append() { - for i in $(find ${S} -name "Makefile") ; do - sed -i \ - -e s:'-I/usr/include/SDL':'-I${STAGING_INCDIR}/SDL':g \ - -e s:'-I/usr/local/include/SDL':'-I${STAGING_INCDIR}/SDL':g \ - $i - done -} - # copy matchbox icons do_install_append() { install -m 0644 ${D}/${datadir}/icons/hicolor/48x48/apps/* ${D}/${datadir}/pixmaps diff --git a/recipes/gphoto2/gphoto2_2.4.7.bb b/recipes/gphoto2/gphoto2_2.4.7.bb new file mode 100644 index 0000000000..8af31d15dc --- /dev/null +++ b/recipes/gphoto2/gphoto2_2.4.7.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "gphoto2 is a command-line utility to fetch pictures from digital cameras" +SECTION = "console/utils" +LICENSE = "GPL" +DEPENDS = "libtool libgphoto2 popt" +PR = "r0" + +SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/gphoto2-${PV}.tar.bz2\ + file://gphoto-popt-fixup.patch;patch=1" + +inherit autotools + +do_configure_append() { + find ${S} -name Makefile | xargs sed -i 's:/usr/include:${STAGING_INCDIR}:' +} + diff --git a/recipes/gphoto2/libgphoto2_2.4.7.bb b/recipes/gphoto2/libgphoto2_2.4.7.bb new file mode 100644 index 0000000000..45d42c398c --- /dev/null +++ b/recipes/gphoto2/libgphoto2_2.4.7.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "libgphoto2 allows you to access digital cameras" +SECTION = "libs" +LICENSE = "GPL" +DEPENDS = "libtool jpeg virtual/libusb0 libexif" + +SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/libgphoto2-${PV}.tar.bz2" + +inherit autotools pkgconfig lib_package + +OE_LT_RPATH_ALLOW=":${libdir}:" +OE_LT_RPATH_ALLOW[export]="1" + +EXTRA_OECONF = " --with-drivers=all ac_cv_lib_ltdl_lt_dlcaller_register=yes" + +PACKAGES =+ "libgphotoport libgphoto2-camlibs" +FILES_libgphoto2-camlibs = "${libdir}/libgphoto2*/*/*.so*" +RDEPENDS_${PN} = "libgphoto2-camlibs" + +FILES_libgphotoport = "${libdir}/libgphoto2_port.so.*" + +FILES_${PN} += "${libdir}/udev/*" +FILES_${PN}-dbg += "${libdir}/*/*/.debug" + + + diff --git a/recipes/guile/guile-native.inc b/recipes/guile/guile-native.inc index 28cb2e0f15..831e088134 100644 --- a/recipes/guile/guile-native.inc +++ b/recipes/guile/guile-native.inc @@ -6,126 +6,6 @@ inherit autotools native S="${WORKDIR}/guile-${PV}" -OE_LT_RPATH_ALLOW = "any" -LDFLAGS += " -L${STAGING_LIBDIR} " - -LIBGUILE_HEADERS = "\ -__scm.h \ -alist.h \ -arbiters.h \ -async.h \ -backtrace.h \ -boolean.h \ -chars.h \ -continuations.h \ -debug-malloc.h \ -debug.h \ -deprecation.h \ -dynl.h \ -dynwind.h \ -environments.h \ -eq.h \ -error.h \ -eval.h \ -evalext.h \ -extensions.h \ -feature.h \ -filesys.h \ -fluids.h \ -fports.h \ -gc.h \ -gdb_interface.h \ -gdbint.h \ -goops.h \ -gsubr.h \ -guardians.h \ -hash.h \ -hashtab.h \ -hooks.h \ -init.h \ -ioext.h \ -iselect.h \ -keywords.h \ -lang.h \ -list.h \ -load.h \ -macros.h \ -mallocs.h \ -modules.h \ -net_db.h \ -numbers.h \ -objects.h \ -objprop.h \ -options.h \ -pairs.h \ -ports.h \ -posix.h \ -print.h \ -procprop.h \ -procs.h \ -properties.h \ -ramap.h \ -random.h \ -rdelim.h \ -read.h \ -regex-posix.h \ -root.h \ -rw.h \ -scmconfig.h \ -scmsigs.h \ -script.h \ -simpos.h \ -smob.h \ -snarf.h \ -socket.h \ -sort.h \ -srcprop.h \ -stackchk.h \ -stacks.h \ -stime.h \ -strings.h \ -strorder.h \ -strports.h \ -struct.h \ -symbols.h \ -tags.h \ -threads.h \ -throw.h \ -unif.h \ -validate.h \ -values.h \ -variable.h \ -vectors.h \ -version.h \ -vports.h \ -weaks.h \ -" - -do_stage() { - install -d ${STAGING_INCDIR}/libguile - for i in ${LIBGUILE_HEADERS}; do - install -m 0644 libguile/$i ${STAGING_INCDIR}/libguile/$i - done - - install -d ${STAGING_BINDIR_NATIVE} - install -m 0755 ${S}/libguile/.libs/guile ${STAGING_BINDIR_NATIVE}/ - - install -m 0644 libguile.h ${STAGING_INCDIR}/libguile.h - install -d ${STAGING_INCDIR}/guile - install -m 0644 libguile/gh.h ${STAGING_INCDIR}/guile/ - install -d ${STAGING_INCDIR}/guile/srfi - install -d ${STAGING_INCDIR}/guile-readline - install -m 0644 guile-readline/readline.h ${STAGING_INCDIR}/guile-readline/ - install -d ${STAGING_DATADIR}/aclocal - install -m 0644 guile-config/guile.m4 ${STAGING_DATADIR}/aclocal - - install -d ${STAGING_DATADIR}/guile/1.8 - cp -pPr ${S}/ice-9 ${STAGING_DATADIR}/guile/1.8/ - - oe_libinstall -C guile-readline -so -a libguilereadline-v-17 ${STAGING_LIBDIR} - oe_libinstall -C libguile -so -a libguile ${STAGING_LIBDIR} -} - do_configure_append() { find ${S} -name Makefile | xargs sed -i s:'-Werror':'':g } diff --git a/recipes/images/shr-image.inc b/recipes/images/shr-image.inc index 0498d3bac8..7234020601 100644 --- a/recipes/images/shr-image.inc +++ b/recipes/images/shr-image.inc @@ -3,7 +3,7 @@ #------------------------------------------------------ PV = "2.0" -PR = "r8" +PR = "r9" DEPENDS += "task-shr-minimal" diff --git a/recipes/libdvb/files/gcc4.patch b/recipes/libdvb/files/gcc4.patch new file mode 100644 index 0000000000..280c2eaafa --- /dev/null +++ b/recipes/libdvb/files/gcc4.patch @@ -0,0 +1,11 @@ +diff -urN libdvb-0.5.5.1/sample_progs/cam_menu.hh libdvb-0.5.5.1-superterrific/sample_progs/cam_menu.hh +--- libdvb-0.5.5.1/sample_progs/cam_menu.hh 2005-03-22 08:23:25.000000000 -0500 ++++ libdvb-0.5.5.1-superterrific/sample_progs/cam_menu.hh 2009-11-29 19:34:44.000000000 -0500 +@@ -4,6 +4,7 @@ + */ + #include <sys/types.h> + #include <sys/socket.h> ++#include <cstring> + + #ifndef __CAM_MENU_HH + #define __CAM_MENU_HH diff --git a/recipes/libdvb/files/ldflags.patch b/recipes/libdvb/files/ldflags.patch new file mode 100644 index 0000000000..70a7ea6acb --- /dev/null +++ b/recipes/libdvb/files/ldflags.patch @@ -0,0 +1,27 @@ +diff -urN libdvb-0.5.5.1/dvb-mpegtools/Makefile libdvb-0.5.5.1-superterrific/dvb-mpegtools/Makefile +--- libdvb-0.5.5.1/dvb-mpegtools/Makefile 2009-11-29 19:40:06.000000000 -0500 ++++ libdvb-0.5.5.1-superterrific/dvb-mpegtools/Makefile 2009-11-29 19:40:21.000000000 -0500 +@@ -33,19 +33,19 @@ + dvbaudio + + dvb-mpegtools_main: main.o +- $(CXX) main.o $(LIBS) -o $@ ++ $(CXX) main.o $(LDFLAGS) $(LIBS) -o $@ + + ctest: mainc.o + $(CC) $(COBJ) -o $@ + + dvb-mplex: $(MPLEXOBS) +- $(CXX) $(MPLEXOBS) $(LIBS) -o $@ ++ $(CXX) $(MPLEXOBS) $(LDFLAGS) $(LIBS) -o $@ + + dvbaudio: dvbaudio.o +- $(CXX) dvbaudio.o $(LIBS) -ldvb -o $@ ++ $(CXX) dvbaudio.o $(LDFLAGS) $(LIBS) -ldvb -o $@ + + audiofilter: audiofilter.o +- $(CXX) audiofilter.o -o $@ ++ $(CXX) audiofilter.o $(LDFLAGS) -o $@ + + %.o: %.cc + $(CXX) -c $(DCFLAGS) $(INCLUDES) $(DEFINES) $< diff --git a/recipes/libdvb/libdvb_0.5.5.1.bb b/recipes/libdvb/libdvb_0.5.5.1.bb index d2db2ce0d6..e982c1f58e 100644 --- a/recipes/libdvb/libdvb_0.5.5.1.bb +++ b/recipes/libdvb/libdvb_0.5.5.1.bb @@ -7,7 +7,9 @@ LICENSE = "GPL" PR = "r3" SRC_URI = "http://www.metzlerbros.org/dvb/${P}.tar.gz \ - file://topf2ps.patch;patch=1" + file://topf2ps.patch;patch=1 \ + file://gcc4.patch;patch=1 \ + file://ldflags.patch;patch=1" S = "${WORKDIR}/${PN}-${PV}" @@ -16,7 +18,7 @@ PARALLEL_MAKE = "" inherit autotools pkgconfig do_configure() { - grep -v ^PREFIX ${S}/config.mk > ${S}/config.mk.new + grep -v ^PREFIX ${S}/config.mk | grep -v ^CFLAGS > ${S}/config.mk.new echo "PREFIX=${prefix}" >> ${S}/config.mk.new mv ${S}/config.mk.new ${S}/config.mk } diff --git a/recipes/libogg/libogg.inc b/recipes/libogg/libogg.inc new file mode 100644 index 0000000000..f8eed60fef --- /dev/null +++ b/recipes/libogg/libogg.inc @@ -0,0 +1,11 @@ +SECTION = "libs" +DESCRIPTION = "libogg is the bitstream and framing library \ +for the Ogg project. It provides functions which are \ +necessary to codec libraries like libvorbis." +LICENSE = "BSD" + +INC_PR = "r4" + +inherit autotools + +SRC_URI = "http://downloads.xiph.org/releases/ogg/libogg-${PV}.tar.gz" diff --git a/recipes/libogg/libogg_1.0.bb b/recipes/libogg/libogg_1.0.bb index 7af1468004..d5bad18a0a 100644 --- a/recipes/libogg/libogg_1.0.bb +++ b/recipes/libogg/libogg_1.0.bb @@ -1,18 +1,4 @@ -SECTION = "libs" -DESCRIPTION = "libogg is the bitstream and framing library \ -for the Ogg project. It provides functions which are \ -necessary to codec libraries like libvorbis." -LICENSE = "BSD" -PR = "r1" +require libogg.inc -SRC_URI = "http://www.vorbis.com/files/${PV}/unix/libogg-${PV}.tar.gz" +PR = "${INC_PR}.0" -inherit autotools pkgconfig - -do_stage () { - oe_libinstall -a -so -C src libogg ${STAGING_LIBDIR} - - install -d ${STAGING_INCDIR}/ogg - (cd ${S}/include/ogg; cp config_types.h ogg.h os_types.h ${STAGING_INCDIR}/ogg/) - install -m 0644 ${S}/ogg.m4 ${STAGING_DATADIR}/aclocal/ -} diff --git a/recipes/libogg/libogg_1.1.3.bb b/recipes/libogg/libogg_1.1.3.bb index 0a6e827ff1..d5bad18a0a 100644 --- a/recipes/libogg/libogg_1.1.3.bb +++ b/recipes/libogg/libogg_1.1.3.bb @@ -1,17 +1,4 @@ -SECTION = "libs" -DESCRIPTION = "libogg is the bitstream and framing library \ -for the Ogg project. It provides functions which are \ -necessary to codec libraries like libvorbis." -LICENSE = "BSD" +require libogg.inc -SRC_URI = "http://downloads.xiph.org/releases/ogg/libogg-${PV}.tar.gz" +PR = "${INC_PR}.0" -inherit autotools pkgconfig - -do_stage () { - oe_libinstall -a -so -C src libogg ${STAGING_LIBDIR} - - install -d ${STAGING_INCDIR}/ogg - (cd ${S}/include/ogg; cp config_types.h ogg.h os_types.h ${STAGING_INCDIR}/ogg/) - install -m 0644 ${S}/ogg.m4 ${STAGING_DATADIR}/aclocal/ -} diff --git a/recipes/libogg/libogg_1.1.4.bb b/recipes/libogg/libogg_1.1.4.bb new file mode 100644 index 0000000000..d5bad18a0a --- /dev/null +++ b/recipes/libogg/libogg_1.1.4.bb @@ -0,0 +1,4 @@ +require libogg.inc + +PR = "${INC_PR}.0" + diff --git a/recipes/libogg/libogg_1.1.bb b/recipes/libogg/libogg_1.1.bb index 687b4decec..0baec126e3 100644 --- a/recipes/libogg/libogg_1.1.bb +++ b/recipes/libogg/libogg_1.1.bb @@ -1,19 +1,6 @@ -SECTION = "libs" -DESCRIPTION = "libogg is the bitstream and framing library \ -for the Ogg project. It provides functions which are \ -necessary to codec libraries like libvorbis." -LICENSE = "BSD" -PR = "r3" +require libogg.inc -SRC_URI = "http://www.vorbis.com/files/1.0.1/unix/libogg-${PV}.tar.gz \ -file://m4.patch;patch=1" +PR = "${INC_PR}.0" -inherit autotools pkgconfig +SRC_URI += "file://m4.patch;patch=1" -do_stage () { - oe_libinstall -a -so -C src libogg ${STAGING_LIBDIR} - - install -d ${STAGING_INCDIR}/ogg - (cd ${S}/include/ogg; cp config_types.h ogg.h os_types.h ${STAGING_INCDIR}/ogg/) - install -m 0644 ${S}/ogg.m4 ${STAGING_DATADIR}/aclocal/ -} diff --git a/recipes/libogg/libtheora_1.0.bb b/recipes/libogg/libtheora_1.0.bb deleted file mode 100644 index 431ed39525..0000000000 --- a/recipes/libogg/libtheora_1.0.bb +++ /dev/null @@ -1,23 +0,0 @@ - -DEPENDS = "libogg libvorbis" - -PR = "r3" - -SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.bz2 \ - file://libtheora-1.0-no-docs.patch;patch=1" - -inherit autotools lib_package - -EXTRA_OECONF = "--disable-examples" - -LEAD_SONAME = "libtheora.so.0" - -do_configure_append() { - find ${S} -name Makefile | xargs sed -i -e s:'-I/usr/include':-I${STAGING_INCDIR}:g -} - -AUTOTOOLS_STAGE_PKGCONFIG = "1" - -do_stage() { - autotools_stage_all -} diff --git a/recipes/libsdl/libsdl-mixer_1.2.10.bb b/recipes/libsdl/libsdl-mixer_1.2.10.bb index 1a9e808c52..5ecd2944a2 100644 --- a/recipes/libsdl/libsdl-mixer_1.2.10.bb +++ b/recipes/libsdl/libsdl-mixer_1.2.10.bb @@ -4,8 +4,6 @@ PRIORITY = "optional" DEPENDS = "virtual/libsdl libmikmod libvorbis" LICENSE = "LGPL" -DEFAULT_PREFERENCE = "-1" - SRC_URI = "http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-${PV}.tar.gz" S = "${WORKDIR}/SDL_mixer-${PV}" diff --git a/recipes/libogg/libtheora-1.0/libtheora-1.0-no-docs.patch b/recipes/libtheora/libtheora-1.0/libtheora-1.0-no-docs.patch index ce1fa70940..ce1fa70940 100644 --- a/recipes/libogg/libtheora-1.0/libtheora-1.0-no-docs.patch +++ b/recipes/libtheora/libtheora-1.0/libtheora-1.0-no-docs.patch diff --git a/recipes/libtheora/libtheora-1.1.1/no-docs.patch b/recipes/libtheora/libtheora-1.1.1/no-docs.patch new file mode 100644 index 0000000000..5734bce465 --- /dev/null +++ b/recipes/libtheora/libtheora-1.1.1/no-docs.patch @@ -0,0 +1,13 @@ +Index: libtheora-1.1.1/Makefile.am +=================================================================== +--- libtheora-1.1.1.orig/Makefile.am 2009-11-25 22:01:53.593775926 +0100 ++++ libtheora-1.1.1/Makefile.am 2009-11-25 22:02:00.777524017 +0100 +@@ -8,7 +8,7 @@ + EXAMPLES_DIR = + endif + +-SUBDIRS = lib include doc tests m4 $(EXAMPLES_DIR) ++SUBDIRS = lib include tests m4 $(EXAMPLES_DIR) + + + # we include the whole debian/ dir in EXTRA_DIST because there's a problem diff --git a/recipes/libtheora/libtheora.inc b/recipes/libtheora/libtheora.inc new file mode 100644 index 0000000000..d288e7af06 --- /dev/null +++ b/recipes/libtheora/libtheora.inc @@ -0,0 +1,17 @@ +SECTION = "libs" +DESCRIPTION = "theora is a high-quality video codec \ +that is free of intellectual property restrictions" +LICENSE = "BSD" + +DEPENDS = "pkgconfig libogg" + +INC_PR = "r3" + +SRC_URI = "http://downloads.xiph.org/releases/theora/libtheora-${PV}.tar.bz2" + +inherit autotools + +EXTRA_OECONF = "--disable-examples" + +LEAD_SONAME = "libtheora.so.0" + diff --git a/recipes/libogg/libtheora_0.9+1.0alpha7.bb b/recipes/libtheora/libtheora_0.9+1.0alpha7.bb index 5a372b65a1..5a372b65a1 100644 --- a/recipes/libogg/libtheora_0.9+1.0alpha7.bb +++ b/recipes/libtheora/libtheora_0.9+1.0alpha7.bb diff --git a/recipes/libtheora/libtheora_1.0.bb b/recipes/libtheora/libtheora_1.0.bb new file mode 100644 index 0000000000..01de01d138 --- /dev/null +++ b/recipes/libtheora/libtheora_1.0.bb @@ -0,0 +1,6 @@ +require libtheora.inc + +PR = "${INC_PR}.0" + +SRC_URI += "file://libtheora-1.0-no-docs.patch;patch=1" + diff --git a/recipes/libtheora/libtheora_1.1.1.bb b/recipes/libtheora/libtheora_1.1.1.bb new file mode 100644 index 0000000000..34bbb0bcbf --- /dev/null +++ b/recipes/libtheora/libtheora_1.1.1.bb @@ -0,0 +1,6 @@ +require libtheora.inc + +PR = "${INC_PR}.0" + +SRC_URI += "file://no-docs.patch;patch=1" + diff --git a/recipes/libvorbis/libvorbis-1.2.3/configure_powerpc-no-fixed-cpu.patch b/recipes/libvorbis/libvorbis-1.2.3/configure_powerpc-no-fixed-cpu.patch new file mode 100644 index 0000000000..06ec874eb1 --- /dev/null +++ b/recipes/libvorbis/libvorbis-1.2.3/configure_powerpc-no-fixed-cpu.patch @@ -0,0 +1,15 @@ +Index: libvorbis-1.2.3/configure.ac +=================================================================== +--- libvorbis-1.2.3.orig/configure.ac 2009-11-25 13:20:46.274395527 +0100 ++++ libvorbis-1.2.3/configure.ac 2009-11-25 13:21:05.136894132 +0100 +@@ -157,8 +157,8 @@ + fi;; + powerpc-*-linux*) + DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES" +- CFLAGS="-O3 -Wall -Wextra -ffast-math -mfused-madd -mcpu=750 -D_REENTRANT" +- PROFILE="-pg -g -O3 -ffast-math -mfused-madd -mcpu=750 -D_REENTRANT";; ++ CFLAGS="-O3 -Wall -Wextra -ffast-math -mfused-madd -D_REENTRANT" ++ PROFILE="-pg -g -O3 -ffast-math -mfused-madd -D_REENTRANT";; + *-*-linux*) + DEBUG="-g -Wall -Wextra -D_REENTRANT -D__NO_MATH_INLINES -fsigned-char" + CFLAGS="-O20 -Wall -Wextra -ffast-math -D_REENTRANT -fsigned-char" diff --git a/recipes/libvorbis/libvorbis.inc b/recipes/libvorbis/libvorbis.inc new file mode 100644 index 0000000000..b3a154a346 --- /dev/null +++ b/recipes/libvorbis/libvorbis.inc @@ -0,0 +1,19 @@ +SECTION = "libs" +DEPENDS = "libogg" +DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \ +that is free of intellectual property restrictions. libvorbis \ +is the main vorbis codec library." +LICENSE = "BSD" +INC_PR = "r2" + +inherit autotools + +# vorbisfile.c reveals a problem in the gcc register spilling for the +# thumb instruction set... +FULL_OPTIMIZATION_thumb = "-O0" + +EXTRA_OECONF = "--with-ogg-libraries=${STAGING_LIBDIR} \ + --with-ogg-includes=${STAGING_INCDIR}" + + +LEAD_SONAME = "libvorbis.so.0" diff --git a/recipes/libvorbis/libvorbis_1.0.1.bb b/recipes/libvorbis/libvorbis_1.0.1.bb index 8a2d17a0ad..8b95421218 100644 --- a/recipes/libvorbis/libvorbis_1.0.1.bb +++ b/recipes/libvorbis/libvorbis_1.0.1.bb @@ -1,32 +1,8 @@ -SECTION = "libs" -DEPENDS = "libogg" -DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \ -that is free of intellectual property restrictions. libvorbis \ -is the main vorbis codec library." -LICENSE = "BSD" -PR = "r2" -SRC_URI = "http://www.vorbis.com/files/${PV}/unix/libvorbis-${PV}.tar.gz \ -file://m4.patch;patch=1" - -inherit autotools pkgconfig +require libvorbis.inc -# vorbisfile.c reveals a problem in the gcc register spilling for the -# thumb instruction set... -FULL_OPTIMIZATION_thumb = "-O0" +PR = ""${INC_PR}.1" -EXTRA_OECONF = "--with-ogg-libraries=${STAGING_LIBDIR} \ - --with-ogg-includes=${STAGING_INCDIR}" - -do_stage () { - oe_libinstall -a -so -C lib libvorbis ${STAGING_LIBDIR} - oe_libinstall -a -so -C lib libvorbisfile ${STAGING_LIBDIR} - oe_libinstall -a -so -C lib libvorbisenc ${STAGING_LIBDIR} +SRC_URI = "http://www.vorbis.com/files/${PV}/unix/libvorbis-${PV}.tar.gz \ +file://m4.patch;patch=1" - install -d ${STAGING_INCDIR}/vorbis - install -m 0644 include/vorbis/vorbisenc.h \ - include/vorbis/vorbisfile.h \ - include/vorbis/codec.h ${STAGING_INCDIR}/vorbis/ - install -d ${STAGING_DATADIR}/aclocal - install -m 0644 vorbis.m4 ${STAGING_DATADIR}/aclocal/ -} diff --git a/recipes/libvorbis/libvorbis_1.2.0.bb b/recipes/libvorbis/libvorbis_1.2.0.bb index cc7f00cceb..767a38a4de 100644 --- a/recipes/libvorbis/libvorbis_1.2.0.bb +++ b/recipes/libvorbis/libvorbis_1.2.0.bb @@ -1,10 +1,7 @@ -SECTION = "libs" -DEPENDS = "libogg" -DESCRIPTION = "Ogg Vorbis is a high-quality lossy audio codec \ -that is free of intellectual property restrictions. libvorbis \ -is the main vorbis codec library." -LICENSE = "BSD" -PR = "2" + +require libvorbis.inc + +PR = "${INC_PR}.1" SRC_URI = "http://downloads.xiph.org/releases/vorbis/libvorbis-${PV}.tar.gz \ file://configure_powerpc-no-fixed-cpu.patch;patch=1 \ @@ -13,24 +10,3 @@ SRC_URI = "http://downloads.xiph.org/releases/vorbis/libvorbis-${PV}.tar.gz \ file://r14602-CVE-2008-1423.patch;patch=1 \ " -inherit autotools pkgconfig - -# vorbisfile.c reveals a problem in the gcc register spilling for the -# thumb instruction set... -FULL_OPTIMIZATION_thumb = "-O0" - -EXTRA_OECONF = "--with-ogg-libraries=${STAGING_LIBDIR} \ - --with-ogg-includes=${STAGING_INCDIR}" - -do_stage () { - oe_libinstall -a -so -C lib libvorbis ${STAGING_LIBDIR} - oe_libinstall -a -so -C lib libvorbisfile ${STAGING_LIBDIR} - oe_libinstall -a -so -C lib libvorbisenc ${STAGING_LIBDIR} - - install -d ${STAGING_INCDIR}/vorbis - install -m 0644 include/vorbis/vorbisenc.h \ - include/vorbis/vorbisfile.h \ - include/vorbis/codec.h ${STAGING_INCDIR}/vorbis/ - install -d ${STAGING_DATADIR}/aclocal - install -m 0644 vorbis.m4 ${STAGING_DATADIR}/aclocal/ -} diff --git a/recipes/libvorbis/libvorbis_1.2.3.bb b/recipes/libvorbis/libvorbis_1.2.3.bb new file mode 100644 index 0000000000..1173809d48 --- /dev/null +++ b/recipes/libvorbis/libvorbis_1.2.3.bb @@ -0,0 +1,11 @@ + +require libvorbis.inc + +PR = "${INC_PR}.0" + +SRC_URI = "http://downloads.xiph.org/releases/vorbis/libvorbis-${PV}.tar.gz \ + file://configure_powerpc-no-fixed-cpu.patch;patch=1 \ + " + +# override should be handeld by pkgconfig now +EXTRA_OECONF = "" diff --git a/recipes/linux/linux-davinci/dm355-evm/defconfig b/recipes/linux/linux-davinci/dm355-evm/defconfig index 48fce30ff1..9908e95c63 100644 --- a/recipes/linux/linux-davinci/dm355-evm/defconfig +++ b/recipes/linux/linux-davinci/dm355-evm/defconfig @@ -1,14 +1,13 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.31-rc7-davinci1 -# Fri Sep 4 15:07:05 2009 +# Linux kernel version: 2.6.32-rc2-davinci1 +# Fri Oct 30 16:52:22 2009 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_GENERIC_GPIO=y CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_MMU=y CONFIG_GENERIC_HARDIRQS=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y @@ -46,11 +45,12 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y # # RCU Subsystem # -CONFIG_CLASSIC_RCU=y -# CONFIG_TREE_RCU is not set -# CONFIG_PREEMPT_RCU is not set +CONFIG_TREE_RCU=y +# CONFIG_TREE_PREEMPT_RCU is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_TREE_RCU_TRACE is not set -# CONFIG_PREEMPT_RCU_TRACE is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 @@ -91,17 +91,15 @@ CONFIG_SHMEM=y CONFIG_AIO=y # -# Performance Counters +# Kernel Performance Events And Counters # CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y -# CONFIG_STRIP_ASM_SYMS is not set CONFIG_COMPAT_BRK=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set # CONFIG_PROFILING is not set -# CONFIG_MARKERS is not set CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set CONFIG_HAVE_KPROBES=y @@ -145,6 +143,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # # System Type # +CONFIG_MMU=y # CONFIG_ARCH_AAEC2000 is not set # CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_REALVIEW is not set @@ -159,6 +158,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # CONFIG_ARCH_STMP3XXX is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_NOMADIK is not set # CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set @@ -181,11 +181,13 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # CONFIG_ARCH_SA1100 is not set # CONFIG_ARCH_S3C2410 is not set # CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5PC1XX is not set # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set # CONFIG_ARCH_U300 is not set CONFIG_ARCH_DAVINCI=y # CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_BCMRING is not set CONFIG_AINTC=y CONFIG_ARCH_DAVINCI_DMx=y @@ -236,7 +238,9 @@ CONFIG_ARM_THUMB=y # CONFIG_CPU_DCACHE_DISABLE is not set # CONFIG_CPU_DCACHE_WRITETHROUGH is not set # CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 CONFIG_COMMON_CLKDEV=y +CONFIG_FORCE_MAX_ZONEORDER=13 # # Bus support @@ -256,6 +260,8 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_2G is not set # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_HZ=100 CONFIG_AEABI=y @@ -277,6 +283,7 @@ CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_HAVE_MLOCK=y CONFIG_HAVE_MLOCKED_PAGE_BIT=y +# CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_LEDS=y # CONFIG_LEDS_CPU is not set @@ -318,10 +325,7 @@ CONFIG_HAVE_AOUT=y # # Power management options # -CONFIG_PM=y -# CONFIG_PM_DEBUG is not set -# CONFIG_SUSPEND is not set -# CONFIG_APM_EMULATION is not set +# CONFIG_PM is not set CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_NET=y @@ -412,6 +416,7 @@ CONFIG_NETFILTER_ADVANCED=y # CONFIG_IP6_NF_IPTABLES is not set # CONFIG_IP_DCCP is not set # CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set @@ -441,7 +446,11 @@ CONFIG_NETFILTER_ADVANCED=y # CONFIG_AF_RXRPC is not set CONFIG_WIRELESS=y CONFIG_CFG80211=y +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set # CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +CONFIG_CFG80211_DEFAULT_PS_VALUE=1 # CONFIG_CFG80211_DEBUGFS is not set CONFIG_WIRELESS_OLD_REGULATORY=y CONFIG_WIRELESS_EXT=y @@ -449,7 +458,6 @@ CONFIG_WIRELESS_EXT_SYSFS=y CONFIG_LIB80211=y # CONFIG_LIB80211_DEBUG is not set # CONFIG_MAC80211 is not set -CONFIG_MAC80211_DEFAULT_PS_VALUE=0 # CONFIG_WIMAX is not set # CONFIG_RFKILL is not set # CONFIG_NET_9P is not set @@ -462,6 +470,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0 # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y @@ -473,9 +482,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_CONNECTOR is not set CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set +CONFIG_MTD_TESTS=m # CONFIG_MTD_CONCAT is not set CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_TESTS=m # CONFIG_MTD_REDBOOT_PARTS is not set CONFIG_MTD_CMDLINE_PARTS=y # CONFIG_MTD_AFS_PARTS is not set @@ -524,6 +533,7 @@ CONFIG_MTD_CFI_I2=y # # CONFIG_MTD_DATAFLASH is not set # CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_MTDRAM is not set @@ -545,7 +555,7 @@ CONFIG_MTD_NAND_IDS=y # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_PLATFORM is not set # CONFIG_MTD_ALAUDA is not set -CONFIG_MTD_NAND_DAVINCI=m +CONFIG_MTD_NAND_DAVINCI=y # CONFIG_MTD_ONENAND is not set # @@ -682,10 +692,7 @@ CONFIG_DM9000_DEBUGLEVEL=4 # CONFIG_KS8851 is not set # CONFIG_NETDEV_1000 is not set # CONFIG_NETDEV_10000 is not set - -# -# Wireless LAN -# +CONFIG_WLAN=y # CONFIG_WLAN_PRE80211 is not set CONFIG_WLAN_80211=y CONFIG_LIBERTAS=m @@ -695,6 +702,7 @@ CONFIG_LIBERTAS_SDIO=m CONFIG_LIBERTAS_DEBUG=y # CONFIG_USB_ZD1201 is not set # CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ATH_COMMON is not set # CONFIG_HOSTAP is not set # CONFIG_IWM is not set @@ -729,6 +737,7 @@ CONFIG_NETPOLL=y CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y # CONFIG_ISDN is not set +# CONFIG_PHONE is not set # # Input device support @@ -742,8 +751,8 @@ CONFIG_INPUT=y # # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set -CONFIG_INPUT_EVDEV=m -CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=y # # Input Device Drivers @@ -799,8 +808,13 @@ CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_R3964 is not set # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set +CONFIG_DM355_IPIPE=y +CONFIG_IMP_PREVIEWER=y +CONFIG_IMP_RESIZER=y +# CONFIG_IMP_DEBUG is not set CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_HELPER_AUTO=y @@ -834,7 +848,6 @@ CONFIG_I2C_DAVINCI=y # Miscellaneous I2C Chip support # # CONFIG_DS1682 is not set -# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set @@ -847,7 +860,7 @@ CONFIG_SPI_MASTER=y # # SPI Master Controller Drivers # -CONFIG_SPI_DAVINCI=m +CONFIG_SPI_DAVINCI=y CONFIG_SPI_BITBANG=y # CONFIG_SPI_GPIO is not set @@ -856,6 +869,11 @@ CONFIG_SPI_BITBANG=y # # CONFIG_SPI_SPIDEV is not set # CONFIG_SPI_TLE62X0 is not set + +# +# PPS support +# +# CONFIG_PPS is not set CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set @@ -881,10 +899,20 @@ CONFIG_GPIO_PCF857X=y # # CONFIG_GPIO_MAX7301 is not set # CONFIG_GPIO_MCP23S08 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# AC97 GPIO expanders: +# # CONFIG_W1 is not set # CONFIG_POWER_SUPPLY is not set CONFIG_HWMON=y # CONFIG_HWMON_VID is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# # CONFIG_SENSORS_AD7414 is not set # CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADCXX is not set @@ -936,6 +964,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_THMC50 is not set # CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set # CONFIG_SENSORS_VT1211 is not set # CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83791D is not set @@ -946,9 +975,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set # CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_THERMAL is not set -# CONFIG_THERMAL_HWMON is not set CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set @@ -956,7 +983,7 @@ CONFIG_WATCHDOG=y # Watchdog Device Drivers # # CONFIG_SOFT_WATCHDOG is not set -CONFIG_DAVINCI_WATCHDOG=m +CONFIG_DAVINCI_WATCHDOG=y # # USB-based Watchdog Cards @@ -986,10 +1013,13 @@ CONFIG_MFD_DM355EVM_MSP=y # CONFIG_MFD_TC6393XB is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_MC13783 is not set # CONFIG_AB3100_CORE is not set # CONFIG_EZX_PCAP is not set +# CONFIG_REGULATOR is not set CONFIG_MEDIA_SUPPORT=y # @@ -1018,8 +1048,9 @@ CONFIG_MEDIA_TUNER_XC2028=y CONFIG_MEDIA_TUNER_XC5000=y CONFIG_MEDIA_TUNER_MC44S803=y CONFIG_VIDEO_V4L2=y -CONFIG_VIDEOBUF_GEN=m -CONFIG_VIDEOBUF_DMA_CONTIG=m +CONFIG_VIDEOBUF_GEN=y +CONFIG_VIDEOBUF_VMALLOC=y +CONFIG_VIDEOBUF_DMA_CONTIG=y CONFIG_VIDEO_CAPTURE_DRIVERS=y # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set @@ -1055,6 +1086,7 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y # # Video decoders # +# CONFIG_VIDEO_ADV7180 is not set # CONFIG_VIDEO_BT819 is not set # CONFIG_VIDEO_BT856 is not set # CONFIG_VIDEO_BT866 is not set @@ -1065,8 +1097,9 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y # CONFIG_VIDEO_SAA7110 is not set # CONFIG_VIDEO_SAA711X is not set # CONFIG_VIDEO_SAA717X is not set -CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP514X=y # CONFIG_VIDEO_TVP5150 is not set +# CONFIG_VIDEO_TVP7002 is not set # CONFIG_VIDEO_VPX3220 is not set # @@ -1096,7 +1129,7 @@ CONFIG_VIDEO_TVP514X=m # # CONFIG_VIDEO_UPD64031A is not set # CONFIG_VIDEO_UPD64083 is not set -# CONFIG_VIDEO_DAVINCI_DISPLAY is not set +CONFIG_VIDEO_DAVINCI_DISPLAY=y CONFIG_DAVINCI_ENC_MNGR=y CONFIG_ENC_MNGR_MAX_CHANNELS=1 CONFIG_DAVINCI_OSD=y @@ -1105,15 +1138,14 @@ CONFIG_DAVINCI_LOGICPD_ENCODER=y # CONFIG_DAVINCI_AVNET_ENCODER is not set # CONFIG_VIDEO_VIVI is not set CONFIG_VIDEO_VPSS_SYSTEM=y -CONFIG_VIDEO_VPFE_CAPTURE=m -CONFIG_VIDEO_DM355_CCDC=m -CONFIG_VIDEO_DM355_AF=m -CONFIG_VIDEO_DM355_AEW=m -CONFIG_VIDEO_DM355_IPIPE=m +CONFIG_VIDEO_VPFE_CAPTURE=y +CONFIG_VIDEO_DM355_CCDC=y +CONFIG_VIDEO_DM355_AF=y +CONFIG_VIDEO_DM355_AEW=y # CONFIG_VIDEO_SAA5246A is not set # CONFIG_VIDEO_SAA5249 is not set # CONFIG_SOC_CAMERA is not set -CONFIG_SOC_CAMERA_MT9T031=m +CONFIG_SOC_CAMERA_MT9T031=y # CONFIG_V4L_USB_DRIVERS is not set # CONFIG_RADIO_ADAPTERS is not set # CONFIG_DAB is not set @@ -1122,9 +1154,9 @@ CONFIG_SOC_CAMERA_MT9T031=m # Graphics support # # CONFIG_VGASTATE is not set -CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_VIDEO_OUTPUT_CONTROL=y CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y +# CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set # CONFIG_FB_BOOT_VESA_SUPPORT is not set CONFIG_FB_CFB_FILLRECT=y @@ -1163,12 +1195,7 @@ CONFIG_FB_DAVINCI=y # # CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set CONFIG_LOGO=y CONFIG_LOGO_LINUX_MONO=y CONFIG_LOGO_LINUX_VGA16=y @@ -1202,32 +1229,25 @@ CONFIG_SND_ARM=y CONFIG_SND_SPI=y # CONFIG_SND_USB is not set CONFIG_SND_SOC=y -CONFIG_SND_DAVINCI_SOC=m -CONFIG_SND_DAVINCI_SOC_I2S=m -CONFIG_SND_DAVINCI_SOC_EVM=m +CONFIG_SND_DAVINCI_SOC=y +CONFIG_SND_DAVINCI_SOC_I2S=y +CONFIG_SND_DAVINCI_SOC_EVM=y CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_ALL_CODECS is not set -CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320AIC3X=y # CONFIG_SOUND_PRIME is not set CONFIG_HID_SUPPORT=y -CONFIG_HID=m -# CONFIG_HID_DEBUG is not set +CONFIG_HID=y # CONFIG_HIDRAW is not set # # USB Input Devices # -CONFIG_USB_HID=m +CONFIG_USB_HID=y # CONFIG_HID_PID is not set # CONFIG_USB_HIDDEV is not set # -# USB HID Boot Protocol drivers -# -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set - -# # Special HID drivers # CONFIG_HID_A4TECH=m @@ -1240,11 +1260,12 @@ CONFIG_HID_CYPRESS=m CONFIG_HID_EZKEY=m # CONFIG_HID_KYE is not set CONFIG_HID_GYRATION=m +# CONFIG_HID_TWINHAN is not set # CONFIG_HID_KENSINGTON is not set -CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH=y # CONFIG_LOGITECH_FF is not set # CONFIG_LOGIRUMBLEPAD2_FF is not set -CONFIG_HID_MICROSOFT=m +CONFIG_HID_MICROSOFT=y CONFIG_HID_MONTEREY=m # CONFIG_HID_NTRIG is not set CONFIG_HID_PANTHERLORD=m @@ -1262,7 +1283,7 @@ CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y # CONFIG_USB_ARCH_HAS_OHCI is not set # CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=m +CONFIG_USB=y # CONFIG_USB_DEBUG is not set # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set @@ -1272,7 +1293,6 @@ CONFIG_USB=m CONFIG_USB_DEVICEFS=y CONFIG_USB_DEVICE_CLASS=y # CONFIG_USB_DYNAMIC_MINORS is not set -CONFIG_USB_SUSPEND=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set @@ -1287,22 +1307,20 @@ CONFIG_USB_SUSPEND=y # CONFIG_USB_OXU210HP_HCD is not set # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1760_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set # CONFIG_USB_SL811_HCD is not set # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_HWA_HCD is not set - -# -# Enable Host or Gadget support to see Inventra options -# -CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_HDRC=y CONFIG_USB_MUSB_SOC=y # -# DaVinci 35x and 644x USB support +# DaVinci 35x, 36x, 644x USB support # CONFIG_USB_MUSB_HOST=y # CONFIG_USB_MUSB_PERIPHERAL is not set # CONFIG_USB_MUSB_OTG is not set +# CONFIG_MUSB_SCHEDULE_INTR_EP is not set CONFIG_USB_MUSB_HDRC_HCD=y # CONFIG_MUSB_PIO_ONLY is not set # CONFIG_USB_INVENTRA_DMA is not set @@ -1324,7 +1342,7 @@ CONFIG_USB_TI_CPPI_DMA=y # # also be needed; see USB_STORAGE Help for more info # -CONFIG_USB_STORAGE=m +CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set @@ -1371,7 +1389,7 @@ CONFIG_USB_STORAGE=m # CONFIG_USB_LD is not set # CONFIG_USB_TRANCEVIBRATOR is not set # CONFIG_USB_IOWARRIOR is not set -CONFIG_USB_TEST=m +CONFIG_USB_TEST=y # CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_VST is not set # CONFIG_USB_GADGET is not set @@ -1381,7 +1399,7 @@ CONFIG_USB_TEST=m # CONFIG_USB_OTG_UTILS=y # CONFIG_USB_GPIO_VBUS is not set -CONFIG_NOP_USB_XCEIV=m +CONFIG_NOP_USB_XCEIV=y CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_UNSAFE_RESUME is not set @@ -1398,10 +1416,11 @@ CONFIG_SDIO_UART=y # MMC/SD/SDIO Host Controller Drivers # # CONFIG_MMC_SDHCI is not set -CONFIG_MMC_DAVINCI=m +# CONFIG_MMC_AT91 is not set +# CONFIG_MMC_ATMELMCI is not set +CONFIG_MMC_DAVINCI=y # CONFIG_MMC_SPI is not set # CONFIG_MEMSTICK is not set -# CONFIG_ACCESSIBILITY is not set CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=m @@ -1429,12 +1448,16 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=m # # iptables trigger is under Netfilter config (LED target) # +# CONFIG_ACCESSIBILITY is not set CONFIG_RTC_LIB=y # CONFIG_RTC_CLASS is not set # CONFIG_DMADEVICES is not set # CONFIG_AUXDISPLAY is not set -# CONFIG_REGULATOR is not set # CONFIG_UIO is not set + +# +# TI VLYNQ +# # CONFIG_STAGING is not set # @@ -1463,6 +1486,7 @@ CONFIG_XFS_FS=m # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y @@ -1534,7 +1558,6 @@ CONFIG_MINIX_FS=m # CONFIG_ROMFS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set -# CONFIG_NILFS2_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y @@ -1630,6 +1653,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=1024 # CONFIG_MAGIC_SYSRQ is not set +# CONFIG_STRIP_ASM_SYMS is not set # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set @@ -1668,12 +1692,14 @@ CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set CONFIG_FRAME_POINTER=y # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_LATENCYTOP is not set # CONFIG_SYSCTL_SYSCALL_CHECK is not set @@ -1716,7 +1742,6 @@ CONFIG_CRYPTO=y # # Crypto core or helper # -# CONFIG_CRYPTO_FIPS is not set CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD2=y @@ -1757,11 +1782,13 @@ CONFIG_CRYPTO_ECB=y # # CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set # # Digest # # CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_GHASH is not set # CONFIG_CRYPTO_MD4 is not set # CONFIG_CRYPTO_MD5 is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set diff --git a/recipes/linux/linux-davinci/dm365-evm/defconfig b/recipes/linux/linux-davinci/dm365-evm/defconfig index a26e63c2f1..3a294fd7bc 100644 --- a/recipes/linux/linux-davinci/dm365-evm/defconfig +++ b/recipes/linux/linux-davinci/dm365-evm/defconfig @@ -1,14 +1,13 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.31-rc7-davinci1 -# Tue Sep 8 16:36:50 2009 +# Linux kernel version: 2.6.32-rc2-davinci1 +# Mon Nov 2 10:40:20 2009 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_GENERIC_GPIO=y CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_MMU=y CONFIG_GENERIC_HARDIRQS=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y @@ -46,11 +45,12 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y # # RCU Subsystem # -CONFIG_CLASSIC_RCU=y -# CONFIG_TREE_RCU is not set -# CONFIG_PREEMPT_RCU is not set +CONFIG_TREE_RCU=y +# CONFIG_TREE_PREEMPT_RCU is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_TREE_RCU_TRACE is not set -# CONFIG_PREEMPT_RCU_TRACE is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 @@ -91,17 +91,15 @@ CONFIG_SHMEM=y CONFIG_AIO=y # -# Performance Counters +# Kernel Performance Events And Counters # CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y -# CONFIG_STRIP_ASM_SYMS is not set CONFIG_COMPAT_BRK=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set # CONFIG_PROFILING is not set -# CONFIG_MARKERS is not set CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set CONFIG_HAVE_KPROBES=y @@ -145,6 +143,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # # System Type # +CONFIG_MMU=y # CONFIG_ARCH_AAEC2000 is not set # CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_REALVIEW is not set @@ -159,6 +158,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # CONFIG_ARCH_STMP3XXX is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_NOMADIK is not set # CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set @@ -181,11 +181,13 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # CONFIG_ARCH_SA1100 is not set # CONFIG_ARCH_S3C2410 is not set # CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5PC1XX is not set # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set # CONFIG_ARCH_U300 is not set CONFIG_ARCH_DAVINCI=y # CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_BCMRING is not set CONFIG_AINTC=y CONFIG_ARCH_DAVINCI_DMx=y @@ -235,7 +237,9 @@ CONFIG_ARM_THUMB=y # CONFIG_CPU_DCACHE_DISABLE is not set # CONFIG_CPU_DCACHE_WRITETHROUGH is not set # CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 CONFIG_COMMON_CLKDEV=y +CONFIG_FORCE_MAX_ZONEORDER=13 # # Bus support @@ -255,6 +259,8 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_2G is not set # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_HZ=100 CONFIG_AEABI=y @@ -276,6 +282,7 @@ CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_HAVE_MLOCK=y CONFIG_HAVE_MLOCKED_PAGE_BIT=y +# CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_LEDS=y # CONFIG_LEDS_CPU is not set @@ -408,6 +415,7 @@ CONFIG_NETFILTER_ADVANCED=y # CONFIG_IP6_NF_IPTABLES is not set # CONFIG_IP_DCCP is not set # CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set @@ -437,7 +445,11 @@ CONFIG_NETFILTER_ADVANCED=y # CONFIG_AF_RXRPC is not set CONFIG_WIRELESS=y CONFIG_CFG80211=y +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set # CONFIG_CFG80211_REG_DEBUG is not set +CONFIG_CFG80211_DEFAULT_PS=y +CONFIG_CFG80211_DEFAULT_PS_VALUE=1 # CONFIG_CFG80211_DEBUGFS is not set CONFIG_WIRELESS_OLD_REGULATORY=y CONFIG_WIRELESS_EXT=y @@ -445,7 +457,6 @@ CONFIG_WIRELESS_EXT_SYSFS=y CONFIG_LIB80211=y # CONFIG_LIB80211_DEBUG is not set # CONFIG_MAC80211 is not set -CONFIG_MAC80211_DEFAULT_PS_VALUE=0 # CONFIG_WIMAX is not set # CONFIG_RFKILL is not set # CONFIG_NET_9P is not set @@ -458,6 +469,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0 # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y @@ -469,9 +481,9 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_CONNECTOR is not set CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set +CONFIG_MTD_TESTS=m # CONFIG_MTD_CONCAT is not set CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_TESTS=m # CONFIG_MTD_REDBOOT_PARTS is not set CONFIG_MTD_CMDLINE_PARTS=y # CONFIG_MTD_AFS_PARTS is not set @@ -520,6 +532,7 @@ CONFIG_MTD_CFI_I2=y # # CONFIG_MTD_DATAFLASH is not set # CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_MTDRAM is not set @@ -541,7 +554,7 @@ CONFIG_MTD_NAND_IDS=y # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_PLATFORM is not set # CONFIG_MTD_ALAUDA is not set -CONFIG_MTD_NAND_DAVINCI=m +CONFIG_MTD_NAND_DAVINCI=y # CONFIG_MTD_ONENAND is not set # @@ -576,7 +589,7 @@ CONFIG_MISC_DEVICES=y # # EEPROM support # -# CONFIG_EEPROM_AT24 is not set +CONFIG_EEPROM_AT24=y CONFIG_EEPROM_AT25=y # CONFIG_EEPROM_LEGACY is not set # CONFIG_EEPROM_MAX6875 is not set @@ -676,10 +689,7 @@ CONFIG_TI_DAVINCI_EMAC=y # CONFIG_KS8851 is not set # CONFIG_NETDEV_1000 is not set # CONFIG_NETDEV_10000 is not set - -# -# Wireless LAN -# +CONFIG_WLAN=y # CONFIG_WLAN_PRE80211 is not set CONFIG_WLAN_80211=y CONFIG_LIBERTAS=m @@ -689,6 +699,7 @@ CONFIG_LIBERTAS_SDIO=m CONFIG_LIBERTAS_DEBUG=y # CONFIG_USB_ZD1201 is not set # CONFIG_USB_NET_RNDIS_WLAN is not set +# CONFIG_ATH_COMMON is not set # CONFIG_HOSTAP is not set # CONFIG_IWM is not set @@ -723,6 +734,7 @@ CONFIG_NETPOLL=y CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y # CONFIG_ISDN is not set +# CONFIG_PHONE is not set # # Input device support @@ -736,8 +748,8 @@ CONFIG_INPUT_FF_MEMLESS=y # # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set -CONFIG_INPUT_EVDEV=m -CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=y # # Input Device Drivers @@ -756,7 +768,7 @@ CONFIG_INPUT_MISC=y # CONFIG_INPUT_CM109 is not set # CONFIG_INPUT_UINPUT is not set # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set -CONFIG_INPUT_DM365EVM=m +CONFIG_INPUT_DM365EVM=y # # Hardware I/O ports @@ -802,8 +814,13 @@ CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_R3964 is not set # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set +CONFIG_DM365_IPIPE=y +CONFIG_IMP_PREVIEWER=y +CONFIG_IMP_RESIZER=y +# CONFIG_IMP_DEBUG is not set CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_HELPER_AUTO=y @@ -837,7 +854,6 @@ CONFIG_I2C_DAVINCI=y # Miscellaneous I2C Chip support # # CONFIG_DS1682 is not set -# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set @@ -850,7 +866,7 @@ CONFIG_SPI_MASTER=y # # SPI Master Controller Drivers # -CONFIG_SPI_DAVINCI=m +CONFIG_SPI_DAVINCI=y CONFIG_SPI_BITBANG=y # CONFIG_SPI_GPIO is not set @@ -859,6 +875,11 @@ CONFIG_SPI_BITBANG=y # # CONFIG_SPI_SPIDEV is not set # CONFIG_SPI_TLE62X0 is not set + +# +# PPS support +# +# CONFIG_PPS is not set CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set @@ -884,10 +905,20 @@ CONFIG_GPIO_PCF857X=y # # CONFIG_GPIO_MAX7301 is not set # CONFIG_GPIO_MCP23S08 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# AC97 GPIO expanders: +# # CONFIG_W1 is not set # CONFIG_POWER_SUPPLY is not set CONFIG_HWMON=y # CONFIG_HWMON_VID is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# # CONFIG_SENSORS_AD7414 is not set # CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADCXX is not set @@ -939,6 +970,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_THMC50 is not set # CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set # CONFIG_SENSORS_VT1211 is not set # CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83791D is not set @@ -949,9 +981,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set # CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_THERMAL is not set -# CONFIG_THERMAL_HWMON is not set CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set @@ -959,7 +989,7 @@ CONFIG_WATCHDOG=y # Watchdog Device Drivers # # CONFIG_SOFT_WATCHDOG is not set -CONFIG_DAVINCI_WATCHDOG=m +CONFIG_DAVINCI_WATCHDOG=y # # USB-based Watchdog Cards @@ -988,10 +1018,13 @@ CONFIG_SSB_POSSIBLE=y # CONFIG_MFD_TC6393XB is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_MC13783 is not set # CONFIG_AB3100_CORE is not set # CONFIG_EZX_PCAP is not set +# CONFIG_REGULATOR is not set CONFIG_MEDIA_SUPPORT=y # @@ -1020,8 +1053,9 @@ CONFIG_MEDIA_TUNER_XC2028=y CONFIG_MEDIA_TUNER_XC5000=y CONFIG_MEDIA_TUNER_MC44S803=y CONFIG_VIDEO_V4L2=y -CONFIG_VIDEOBUF_GEN=m -CONFIG_VIDEOBUF_DMA_CONTIG=m +CONFIG_VIDEOBUF_GEN=y +CONFIG_VIDEOBUF_VMALLOC=y +CONFIG_VIDEOBUF_DMA_CONTIG=y CONFIG_VIDEO_CAPTURE_DRIVERS=y # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set @@ -1057,6 +1091,7 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y # # Video decoders # +# CONFIG_VIDEO_ADV7180 is not set # CONFIG_VIDEO_BT819 is not set # CONFIG_VIDEO_BT856 is not set # CONFIG_VIDEO_BT866 is not set @@ -1067,8 +1102,9 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y # CONFIG_VIDEO_SAA7110 is not set # CONFIG_VIDEO_SAA711X is not set # CONFIG_VIDEO_SAA717X is not set -CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP514X=y # CONFIG_VIDEO_TVP5150 is not set +CONFIG_VIDEO_TVP7002=y # CONFIG_VIDEO_VPX3220 is not set # @@ -1088,8 +1124,9 @@ CONFIG_VIDEO_TVP514X=m # CONFIG_VIDEO_SAA7185 is not set # CONFIG_VIDEO_ADV7170 is not set # CONFIG_VIDEO_ADV7175 is not set -# CONFIG_VIDEO_THS7303 is not set -# CONFIG_VIDEO_THS7353 is not set +CONFIG_VIDEO_THS7303=y +CONFIG_VIDEO_THS7353=y +CONFIG_VIDEO_THS7353_LUMA_CHANNEL=2 # CONFIG_VIDEO_ADV7343 is not set # CONFIG_VIDEO_THS8200 is not set @@ -1098,7 +1135,7 @@ CONFIG_VIDEO_TVP514X=m # # CONFIG_VIDEO_UPD64031A is not set # CONFIG_VIDEO_UPD64083 is not set -# CONFIG_VIDEO_DAVINCI_DISPLAY is not set +CONFIG_VIDEO_DAVINCI_DISPLAY=y CONFIG_DAVINCI_ENC_MNGR=y CONFIG_ENC_MNGR_MAX_CHANNELS=1 CONFIG_DAVINCI_OSD=y @@ -1107,12 +1144,15 @@ CONFIG_DAVINCI_LOGICPD_ENCODER=y # CONFIG_DAVINCI_AVNET_ENCODER is not set # CONFIG_VIDEO_VIVI is not set CONFIG_VIDEO_VPSS_SYSTEM=y -CONFIG_VIDEO_VPFE_CAPTURE=m -CONFIG_VIDEO_DM365_ISIF=m +CONFIG_VIDEO_VPFE_CAPTURE=y +CONFIG_VIDEO_DM365_ISIF=y +CONFIG_VIDEO_DM365_3A_HW=y +CONFIG_VIDEO_DM365_AF=y +CONFIG_VIDEO_DM365_AEW=y # CONFIG_VIDEO_SAA5246A is not set # CONFIG_VIDEO_SAA5249 is not set # CONFIG_SOC_CAMERA is not set -# CONFIG_SOC_CAMERA_MT9T031 is not set +CONFIG_SOC_CAMERA_MT9T031=y # CONFIG_V4L_USB_DRIVERS is not set # CONFIG_RADIO_ADAPTERS is not set # CONFIG_DAB is not set @@ -1121,9 +1161,9 @@ CONFIG_VIDEO_DM365_ISIF=m # Graphics support # # CONFIG_VGASTATE is not set -CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_VIDEO_OUTPUT_CONTROL=y CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y +# CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set # CONFIG_FB_BOOT_VESA_SUPPORT is not set CONFIG_FB_CFB_FILLRECT=y @@ -1162,12 +1202,7 @@ CONFIG_FB_DAVINCI=y # # CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set CONFIG_LOGO=y CONFIG_LOGO_LINUX_MONO=y CONFIG_LOGO_LINUX_VGA16=y @@ -1201,32 +1236,25 @@ CONFIG_SND_ARM=y CONFIG_SND_SPI=y # CONFIG_SND_USB is not set CONFIG_SND_SOC=y -CONFIG_SND_DAVINCI_SOC=m -CONFIG_SND_DAVINCI_SOC_I2S=m -CONFIG_SND_DAVINCI_SOC_EVM=m +CONFIG_SND_DAVINCI_SOC=y +CONFIG_SND_DAVINCI_SOC_I2S=y +CONFIG_SND_DAVINCI_SOC_EVM=y CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_ALL_CODECS is not set -CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320AIC3X=y # CONFIG_SOUND_PRIME is not set CONFIG_HID_SUPPORT=y CONFIG_HID=y -# CONFIG_HID_DEBUG is not set # CONFIG_HIDRAW is not set # # USB Input Devices # -CONFIG_USB_HID=m +CONFIG_USB_HID=y # CONFIG_HID_PID is not set # CONFIG_USB_HIDDEV is not set # -# USB HID Boot Protocol drivers -# -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set - -# # Special HID drivers # CONFIG_HID_A4TECH=m @@ -1239,11 +1267,12 @@ CONFIG_HID_CYPRESS=m CONFIG_HID_EZKEY=m # CONFIG_HID_KYE is not set CONFIG_HID_GYRATION=m +# CONFIG_HID_TWINHAN is not set # CONFIG_HID_KENSINGTON is not set -CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH=y # CONFIG_LOGITECH_FF is not set # CONFIG_LOGIRUMBLEPAD2_FF is not set -CONFIG_HID_MICROSOFT=m +CONFIG_HID_MICROSOFT=y CONFIG_HID_MONTEREY=m # CONFIG_HID_NTRIG is not set CONFIG_HID_PANTHERLORD=m @@ -1261,7 +1290,7 @@ CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y # CONFIG_USB_ARCH_HAS_OHCI is not set # CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=m +CONFIG_USB=y # CONFIG_USB_DEBUG is not set # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set @@ -1285,14 +1314,11 @@ CONFIG_USB_DEVICE_CLASS=y # CONFIG_USB_OXU210HP_HCD is not set # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1760_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set # CONFIG_USB_SL811_HCD is not set # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_HWA_HCD is not set - -# -# Enable Host or Gadget support to see Inventra options -# -CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_HDRC=y CONFIG_USB_MUSB_SOC=y # @@ -1301,6 +1327,7 @@ CONFIG_USB_MUSB_SOC=y CONFIG_USB_MUSB_HOST=y # CONFIG_USB_MUSB_PERIPHERAL is not set # CONFIG_USB_MUSB_OTG is not set +# CONFIG_MUSB_SCHEDULE_INTR_EP is not set CONFIG_USB_MUSB_HDRC_HCD=y # CONFIG_MUSB_PIO_ONLY is not set # CONFIG_USB_INVENTRA_DMA is not set @@ -1322,7 +1349,7 @@ CONFIG_USB_TI_CPPI_DMA=y # # also be needed; see USB_STORAGE Help for more info # -CONFIG_USB_STORAGE=m +CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set @@ -1369,7 +1396,7 @@ CONFIG_USB_STORAGE=m # CONFIG_USB_LD is not set # CONFIG_USB_TRANCEVIBRATOR is not set # CONFIG_USB_IOWARRIOR is not set -CONFIG_USB_TEST=m +CONFIG_USB_TEST=y # CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_VST is not set # CONFIG_USB_GADGET is not set @@ -1379,7 +1406,7 @@ CONFIG_USB_TEST=m # CONFIG_USB_OTG_UTILS=y # CONFIG_USB_GPIO_VBUS is not set -CONFIG_NOP_USB_XCEIV=m +CONFIG_NOP_USB_XCEIV=y CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_UNSAFE_RESUME is not set @@ -1396,10 +1423,11 @@ CONFIG_SDIO_UART=y # MMC/SD/SDIO Host Controller Drivers # # CONFIG_MMC_SDHCI is not set -CONFIG_MMC_DAVINCI=m +# CONFIG_MMC_AT91 is not set +# CONFIG_MMC_ATMELMCI is not set +CONFIG_MMC_DAVINCI=y # CONFIG_MMC_SPI is not set # CONFIG_MEMSTICK is not set -# CONFIG_ACCESSIBILITY is not set CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=m @@ -1427,12 +1455,16 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=m # # iptables trigger is under Netfilter config (LED target) # +# CONFIG_ACCESSIBILITY is not set CONFIG_RTC_LIB=y # CONFIG_RTC_CLASS is not set # CONFIG_DMADEVICES is not set # CONFIG_AUXDISPLAY is not set -# CONFIG_REGULATOR is not set # CONFIG_UIO is not set + +# +# TI VLYNQ +# # CONFIG_STAGING is not set # @@ -1461,6 +1493,7 @@ CONFIG_XFS_FS=m # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y @@ -1532,7 +1565,6 @@ CONFIG_MINIX_FS=m # CONFIG_ROMFS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set -# CONFIG_NILFS2_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y @@ -1628,6 +1660,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=1024 # CONFIG_MAGIC_SYSRQ is not set +# CONFIG_STRIP_ASM_SYMS is not set # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set @@ -1666,12 +1699,14 @@ CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set CONFIG_FRAME_POINTER=y # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_LATENCYTOP is not set # CONFIG_SYSCTL_SYSCALL_CHECK is not set @@ -1714,7 +1749,6 @@ CONFIG_CRYPTO=y # # Crypto core or helper # -# CONFIG_CRYPTO_FIPS is not set CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD2=y @@ -1755,11 +1789,13 @@ CONFIG_CRYPTO_ECB=y # # CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set # # Digest # # CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_GHASH is not set # CONFIG_CRYPTO_MD4 is not set # CONFIG_CRYPTO_MD5 is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set diff --git a/recipes/linux/linux-davinci/dm6446-evm/defconfig b/recipes/linux/linux-davinci/dm6446-evm/defconfig index 199f1f82d7..a514beff88 100644 --- a/recipes/linux/linux-davinci/dm6446-evm/defconfig +++ b/recipes/linux/linux-davinci/dm6446-evm/defconfig @@ -1,14 +1,13 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.31-rc7-davinci1 -# Thu Sep 17 19:02:02 2009 +# Linux kernel version: 2.6.32-rc2-davinci1 +# Wed Oct 7 16:24:45 2009 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_GENERIC_GPIO=y CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_MMU=y CONFIG_GENERIC_HARDIRQS=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y @@ -46,11 +45,12 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y # # RCU Subsystem # -CONFIG_CLASSIC_RCU=y -# CONFIG_TREE_RCU is not set -# CONFIG_PREEMPT_RCU is not set +CONFIG_TREE_RCU=y +# CONFIG_TREE_PREEMPT_RCU is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_TREE_RCU_TRACE is not set -# CONFIG_PREEMPT_RCU_TRACE is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 @@ -91,17 +91,15 @@ CONFIG_SHMEM=y CONFIG_AIO=y # -# Performance Counters +# Kernel Performance Events And Counters # CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y -# CONFIG_STRIP_ASM_SYMS is not set CONFIG_COMPAT_BRK=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set # CONFIG_PROFILING is not set -# CONFIG_MARKERS is not set CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set CONFIG_HAVE_KPROBES=y @@ -140,11 +138,12 @@ CONFIG_DEFAULT_AS=y # CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="anticipatory" -CONFIG_FREEZER=y +# CONFIG_FREEZER is not set # # System Type # +CONFIG_MMU=y # CONFIG_ARCH_AAEC2000 is not set # CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_REALVIEW is not set @@ -159,6 +158,7 @@ CONFIG_FREEZER=y # CONFIG_ARCH_STMP3XXX is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_NOMADIK is not set # CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set @@ -181,11 +181,13 @@ CONFIG_FREEZER=y # CONFIG_ARCH_SA1100 is not set # CONFIG_ARCH_S3C2410 is not set # CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5PC1XX is not set # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set # CONFIG_ARCH_U300 is not set CONFIG_ARCH_DAVINCI=y # CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_BCMRING is not set CONFIG_AINTC=y CONFIG_ARCH_DAVINCI_DMx=y @@ -209,8 +211,8 @@ CONFIG_ARCH_DAVINCI_DM644x=y CONFIG_MACH_DAVINCI_EVM=y # CONFIG_MACH_SFFSDR is not set CONFIG_DAVINCI_MUX=y -CONFIG_DAVINCI_MUX_DEBUG=y -CONFIG_DAVINCI_MUX_WARNINGS=y +# CONFIG_DAVINCI_MUX_DEBUG is not set +# CONFIG_DAVINCI_MUX_WARNINGS is not set CONFIG_DAVINCI_RESET_CLOCKS=y CONFIG_OSC_CLK_FREQ=27000000 @@ -236,7 +238,9 @@ CONFIG_ARM_THUMB=y # CONFIG_CPU_DCACHE_DISABLE is not set # CONFIG_CPU_DCACHE_WRITETHROUGH is not set # CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 CONFIG_COMMON_CLKDEV=y +CONFIG_FORCE_MAX_ZONEORDER=13 # # Bus support @@ -256,6 +260,8 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_2G is not set # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_HZ=100 CONFIG_AEABI=y @@ -277,6 +283,7 @@ CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_HAVE_MLOCK=y CONFIG_HAVE_MLOCKED_PAGE_BIT=y +# CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_LEDS=y # CONFIG_LEDS_CPU is not set @@ -318,12 +325,7 @@ CONFIG_HAVE_AOUT=y # # Power management options # -CONFIG_PM=y -# CONFIG_PM_DEBUG is not set -CONFIG_PM_SLEEP=y -CONFIG_SUSPEND=y -CONFIG_SUSPEND_FREEZER=y -# CONFIG_APM_EMULATION is not set +# CONFIG_PM is not set CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_NET=y @@ -414,6 +416,7 @@ CONFIG_NETFILTER_ADVANCED=y # CONFIG_IP6_NF_IPTABLES is not set # CONFIG_IP_DCCP is not set # CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set @@ -454,6 +457,7 @@ CONFIG_NETFILTER_ADVANCED=y # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set @@ -461,99 +465,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set # CONFIG_CONNECTOR is not set -CONFIG_MTD=m -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_CONCAT is not set -CONFIG_MTD_PARTITIONS=y -CONFIG_MTD_TESTS=m -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set -# CONFIG_MTD_AR7_PARTS is not set - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=m -CONFIG_MTD_BLOCK=m -# CONFIG_MTD_BLOCK_RO is not set -# 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_MTD_OOPS is not set - -# -# RAM/ROM/Flash chip drivers -# -CONFIG_MTD_CFI=m -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=m -# 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=m -CONFIG_MTD_CFI_AMDSTD=m -# CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=m -# 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=m -# CONFIG_MTD_PHYSMAP_COMPAT is not set -# CONFIG_MTD_ARM_INTEGRATOR is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_BLOCK2MTD is not set - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set -CONFIG_MTD_NAND=m -# CONFIG_MTD_NAND_VERIFY_WRITE is not set -# CONFIG_MTD_NAND_ECC_SMC is not set -# CONFIG_MTD_NAND_MUSEUM_IDS is not set -# CONFIG_MTD_NAND_GPIO is not set -CONFIG_MTD_NAND_IDS=m -# CONFIG_MTD_NAND_DISKONCHIP is not set -# CONFIG_MTD_NAND_NANDSIM is not set -# CONFIG_MTD_NAND_PLATFORM is not set -# CONFIG_MTD_ALAUDA is not set -CONFIG_MTD_NAND_DAVINCI=m -# CONFIG_MTD_ONENAND is not set - -# -# LPDDR flash memory drivers -# -# CONFIG_MTD_LPDDR is not set - -# -# UBI - Unsorted block images -# -# CONFIG_MTD_UBI is not set +# CONFIG_MTD is not set # CONFIG_PARPORT is not set CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_COW_COMMON is not set @@ -696,10 +608,7 @@ CONFIG_TI_DAVINCI_EMAC=y # CONFIG_KS8842 is not set # CONFIG_NETDEV_1000 is not set # CONFIG_NETDEV_10000 is not set - -# -# Wireless LAN -# +CONFIG_WLAN=y # CONFIG_WLAN_PRE80211 is not set # CONFIG_WLAN_80211 is not set @@ -734,6 +643,7 @@ CONFIG_NETPOLL=y CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y # CONFIG_ISDN is not set +# CONFIG_PHONE is not set # # Input device support @@ -805,6 +715,7 @@ CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_TCG_TPM is not set CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_HELPER_AUTO=y @@ -838,13 +749,17 @@ CONFIG_I2C_DAVINCI=y # Miscellaneous I2C Chip support # # CONFIG_DS1682 is not set -# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CHIP is not set # CONFIG_SPI is not set + +# +# PPS support +# +# CONFIG_PPS is not set CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set @@ -868,10 +783,19 @@ CONFIG_GPIO_PCF857X=y # # SPI GPIO expanders: # + +# +# AC97 GPIO expanders: +# # CONFIG_W1 is not set # CONFIG_POWER_SUPPLY is not set CONFIG_HWMON=y # CONFIG_HWMON_VID is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# # CONFIG_SENSORS_AD7414 is not set # CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADM1021 is not set @@ -920,6 +844,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_THMC50 is not set # CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set # CONFIG_SENSORS_VT1211 is not set # CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83791D is not set @@ -929,9 +854,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83L786NG is not set # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set -# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_THERMAL is not set -# CONFIG_THERMAL_HWMON is not set CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set @@ -968,9 +891,11 @@ CONFIG_SSB_POSSIBLE=y # CONFIG_MFD_TC6393XB is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_PCF50633 is not set # CONFIG_AB3100_CORE is not set +# CONFIG_REGULATOR is not set CONFIG_MEDIA_SUPPORT=y # @@ -1000,6 +925,7 @@ CONFIG_MEDIA_TUNER_XC5000=y CONFIG_MEDIA_TUNER_MC44S803=y CONFIG_VIDEO_V4L2=y CONFIG_VIDEOBUF_GEN=y +CONFIG_VIDEOBUF_VMALLOC=y CONFIG_VIDEOBUF_DMA_CONTIG=y CONFIG_VIDEO_CAPTURE_DRIVERS=y # CONFIG_VIDEO_ADV_DEBUG is not set @@ -1036,6 +962,7 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y # # Video decoders # +# CONFIG_VIDEO_ADV7180 is not set # CONFIG_VIDEO_BT819 is not set # CONFIG_VIDEO_BT856 is not set # CONFIG_VIDEO_BT866 is not set @@ -1078,7 +1005,7 @@ CONFIG_VIDEO_TVP514X=y # # CONFIG_VIDEO_UPD64031A is not set # CONFIG_VIDEO_UPD64083 is not set -# CONFIG_VIDEO_DAVINCI_DISPLAY is not set +CONFIG_VIDEO_DAVINCI_DISPLAY=y CONFIG_DAVINCI_ENC_MNGR=y CONFIG_ENC_MNGR_MAX_CHANNELS=1 CONFIG_DAVINCI_OSD=y @@ -1101,9 +1028,9 @@ CONFIG_VIDEO_DM6446_CCDC=y # Graphics support # # CONFIG_VGASTATE is not set -CONFIG_VIDEO_OUTPUT_CONTROL=m +CONFIG_VIDEO_OUTPUT_CONTROL=y CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y +# CONFIG_FIRMWARE_EDID is not set # CONFIG_FB_DDC is not set # CONFIG_FB_BOOT_VESA_SUPPORT is not set CONFIG_FB_CFB_FILLRECT=y @@ -1142,12 +1069,7 @@ CONFIG_FB_DAVINCI=y # # CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE=y -# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set -# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set -# CONFIG_FONTS is not set -CONFIG_FONT_8x8=y -CONFIG_FONT_8x16=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set CONFIG_LOGO=y CONFIG_LOGO_LINUX_MONO=y CONFIG_LOGO_LINUX_VGA16=y @@ -1191,7 +1113,6 @@ CONFIG_SND_SOC_TLV320AIC3X=y # CONFIG_SOUND_PRIME is not set CONFIG_HID_SUPPORT=y CONFIG_HID=y -# CONFIG_HID_DEBUG is not set # CONFIG_HIDRAW is not set # @@ -1214,6 +1135,7 @@ CONFIG_HID_CYPRESS=m CONFIG_HID_EZKEY=m # CONFIG_HID_KYE is not set CONFIG_HID_GYRATION=m +# CONFIG_HID_TWINHAN is not set # CONFIG_HID_KENSINGTON is not set CONFIG_HID_LOGITECH=y # CONFIG_LOGITECH_FF is not set @@ -1246,7 +1168,6 @@ CONFIG_USB=y CONFIG_USB_DEVICEFS=y CONFIG_USB_DEVICE_CLASS=y # CONFIG_USB_DYNAMIC_MINORS is not set -CONFIG_USB_SUSPEND=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set @@ -1261,6 +1182,7 @@ CONFIG_USB_SUSPEND=y # CONFIG_USB_OXU210HP_HCD is not set # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1760_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set # CONFIG_USB_SL811_HCD is not set # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_HWA_HCD is not set @@ -1273,6 +1195,7 @@ CONFIG_USB_MUSB_SOC=y CONFIG_USB_MUSB_HOST=y # CONFIG_USB_MUSB_PERIPHERAL is not set # CONFIG_USB_MUSB_OTG is not set +# CONFIG_MUSB_SCHEDULE_INTR_EP is not set CONFIG_USB_MUSB_HDRC_HCD=y # CONFIG_MUSB_PIO_ONLY is not set # CONFIG_USB_INVENTRA_DMA is not set @@ -1368,9 +1291,10 @@ CONFIG_MMC_BLOCK=y # MMC/SD/SDIO Host Controller Drivers # # CONFIG_MMC_SDHCI is not set +# CONFIG_MMC_AT91 is not set +# CONFIG_MMC_ATMELMCI is not set CONFIG_MMC_DAVINCI=y # CONFIG_MEMSTICK is not set -# CONFIG_ACCESSIBILITY is not set CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=m @@ -1398,63 +1322,16 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=m # # iptables trigger is under Netfilter config (LED target) # +# CONFIG_ACCESSIBILITY is not set CONFIG_RTC_LIB=y -CONFIG_RTC_CLASS=m - -# -# RTC interfaces -# -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set - -# -# I2C RTC drivers -# -# CONFIG_RTC_DRV_DAVINCI_EVM is not set -# CONFIG_RTC_DRV_DS1307 is not set -# CONFIG_RTC_DRV_DS1374 is not set -# CONFIG_RTC_DRV_DS1672 is not set -# CONFIG_RTC_DRV_MAX6900 is not set -# CONFIG_RTC_DRV_RS5C372 is not set -# CONFIG_RTC_DRV_ISL1208 is not set -# CONFIG_RTC_DRV_X1205 is not set -# CONFIG_RTC_DRV_PCF8563 is not set -# CONFIG_RTC_DRV_PCF8583 is not set -# CONFIG_RTC_DRV_M41T80 is not set -# CONFIG_RTC_DRV_S35390A is not set -# CONFIG_RTC_DRV_FM3130 is not set -# CONFIG_RTC_DRV_RX8581 is not set -# CONFIG_RTC_DRV_RX8025 is not set - -# -# SPI RTC drivers -# - -# -# Platform RTC drivers -# -# CONFIG_RTC_DRV_CMOS is not set -# CONFIG_RTC_DRV_DS1286 is not set -# CONFIG_RTC_DRV_DS1511 is not set -# CONFIG_RTC_DRV_DS1553 is not set -# CONFIG_RTC_DRV_DS1742 is not set -# CONFIG_RTC_DRV_STK17TA8 is not set -# CONFIG_RTC_DRV_M48T86 is not set -# CONFIG_RTC_DRV_M48T35 is not set -# CONFIG_RTC_DRV_M48T59 is not set -# CONFIG_RTC_DRV_BQ4802 is not set -# CONFIG_RTC_DRV_V3020 is not set - -# -# on-CPU RTC drivers -# +# CONFIG_RTC_CLASS is not set # CONFIG_DMADEVICES is not set # CONFIG_AUXDISPLAY is not set -# CONFIG_REGULATOR is not set # CONFIG_UIO is not set + +# +# TI VLYNQ +# # CONFIG_STAGING is not set # @@ -1483,6 +1360,7 @@ CONFIG_XFS_FS=m # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y @@ -1533,17 +1411,6 @@ 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=m -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_FS_WBUF_VERIFY is not set -# CONFIG_JFFS2_SUMMARY is not set -# CONFIG_JFFS2_FS_XATTR is not set -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set -CONFIG_JFFS2_ZLIB=y -# CONFIG_JFFS2_LZO is not set -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set CONFIG_CRAMFS=y # CONFIG_SQUASHFS is not set # CONFIG_VXFS_FS is not set @@ -1554,7 +1421,6 @@ CONFIG_MINIX_FS=m # CONFIG_ROMFS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set -# CONFIG_NILFS2_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y @@ -1650,6 +1516,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=1024 # CONFIG_MAGIC_SYSRQ is not set +# CONFIG_STRIP_ASM_SYMS is not set # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set @@ -1688,12 +1555,14 @@ CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set CONFIG_FRAME_POINTER=y # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_LATENCYTOP is not set # CONFIG_SYSCTL_SYSCALL_CHECK is not set @@ -1736,7 +1605,6 @@ CONFIG_CRYPTO=y # # Crypto core or helper # -# CONFIG_CRYPTO_FIPS is not set # CONFIG_CRYPTO_MANAGER is not set # CONFIG_CRYPTO_MANAGER2 is not set # CONFIG_CRYPTO_GF128MUL is not set @@ -1768,11 +1636,13 @@ CONFIG_CRYPTO=y # # CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set # # Digest # # CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_GHASH is not set # CONFIG_CRYPTO_MD4 is not set # CONFIG_CRYPTO_MD5 is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set diff --git a/recipes/linux/linux-davinci/dm6467-evm/defconfig b/recipes/linux/linux-davinci/dm6467-evm/defconfig index 5b2d5aefeb..bc80405bd3 100644 --- a/recipes/linux/linux-davinci/dm6467-evm/defconfig +++ b/recipes/linux/linux-davinci/dm6467-evm/defconfig @@ -1,14 +1,13 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.31-rc7-davinci1 -# Fri Sep 4 16:40:27 2009 +# Linux kernel version: 2.6.32-rc2-davinci1 +# Wed Oct 14 16:30:05 2009 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_GENERIC_GPIO=y CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_MMU=y CONFIG_GENERIC_HARDIRQS=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y @@ -46,11 +45,12 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y # # RCU Subsystem # -CONFIG_CLASSIC_RCU=y -# CONFIG_TREE_RCU is not set -# CONFIG_PREEMPT_RCU is not set +CONFIG_TREE_RCU=y +# CONFIG_TREE_PREEMPT_RCU is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_TREE_RCU_TRACE is not set -# CONFIG_PREEMPT_RCU_TRACE is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 @@ -91,17 +91,15 @@ CONFIG_SHMEM=y CONFIG_AIO=y # -# Performance Counters +# Kernel Performance Events And Counters # CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y -# CONFIG_STRIP_ASM_SYMS is not set CONFIG_COMPAT_BRK=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set # CONFIG_PROFILING is not set -# CONFIG_MARKERS is not set CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set CONFIG_HAVE_KPROBES=y @@ -145,6 +143,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # # System Type # +CONFIG_MMU=y # CONFIG_ARCH_AAEC2000 is not set # CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_REALVIEW is not set @@ -159,6 +158,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # CONFIG_ARCH_STMP3XXX is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_NOMADIK is not set # CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set @@ -181,11 +181,13 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # CONFIG_ARCH_SA1100 is not set # CONFIG_ARCH_S3C2410 is not set # CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5PC1XX is not set # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set # CONFIG_ARCH_U300 is not set CONFIG_ARCH_DAVINCI=y # CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_BCMRING is not set CONFIG_AINTC=y CONFIG_ARCH_DAVINCI_DMx=y @@ -235,11 +237,14 @@ CONFIG_ARM_THUMB=y # CONFIG_CPU_DCACHE_DISABLE is not set # CONFIG_CPU_DCACHE_WRITETHROUGH is not set # CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 CONFIG_COMMON_CLKDEV=y +CONFIG_FORCE_MAX_ZONEORDER=13 # # Bus support # +# CONFIG_PCI is not set # CONFIG_PCI_SYSCALL is not set # CONFIG_ARCH_SUPPORTS_MSI is not set # CONFIG_PCCARD is not set @@ -255,6 +260,8 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_2G is not set # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_HZ=100 CONFIG_AEABI=y @@ -276,6 +283,7 @@ CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_HAVE_MLOCK=y CONFIG_HAVE_MLOCKED_PAGE_BIT=y +# CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_LEDS=y # CONFIG_LEDS_CPU is not set @@ -408,6 +416,7 @@ CONFIG_NETFILTER_ADVANCED=y # CONFIG_IP6_NF_IPTABLES is not set # CONFIG_IP_DCCP is not set # CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set @@ -448,6 +457,7 @@ CONFIG_NETFILTER_ADVANCED=y # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set @@ -455,22 +465,22 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set # CONFIG_CONNECTOR is not set -CONFIG_MTD=m +CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_TESTS is not set # CONFIG_MTD_CONCAT is not set CONFIG_MTD_PARTITIONS=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_AR7_PARTS is not set # # User Modules And Translation Layers # -CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=m -CONFIG_MTD_BLOCK=m -# CONFIG_MTD_BLOCK_RO is not set +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -481,9 +491,9 @@ CONFIG_MTD_BLOCK=m # # RAM/ROM/Flash chip drivers # -CONFIG_MTD_CFI=m +CONFIG_MTD_CFI=y # CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=m +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 @@ -495,10 +505,10 @@ 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=m -CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_CFI_AMDSTD=y # CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_CFI_UTIL=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set @@ -507,7 +517,7 @@ CONFIG_MTD_CFI_UTIL=m # Mapping drivers for chip access # # CONFIG_MTD_COMPLEX_MAPPINGS is not set -CONFIG_MTD_PHYSMAP=m +CONFIG_MTD_PHYSMAP=y # CONFIG_MTD_PHYSMAP_COMPAT is not set # CONFIG_MTD_ARM_INTEGRATOR is not set # CONFIG_MTD_PLATRAM is not set @@ -517,6 +527,7 @@ CONFIG_MTD_PHYSMAP=m # # CONFIG_MTD_DATAFLASH is not set # CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_MTDRAM is not set @@ -528,17 +539,17 @@ CONFIG_MTD_PHYSMAP=m # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set -CONFIG_MTD_NAND=m +CONFIG_MTD_NAND=y # CONFIG_MTD_NAND_VERIFY_WRITE is not set # CONFIG_MTD_NAND_ECC_SMC is not set # CONFIG_MTD_NAND_MUSEUM_IDS is not set # CONFIG_MTD_NAND_GPIO is not set -CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_NAND_IDS=y # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_PLATFORM is not set # CONFIG_MTD_ALAUDA is not set -CONFIG_MTD_NAND_DAVINCI=m +CONFIG_MTD_NAND_DAVINCI=y # CONFIG_MTD_ONENAND is not set # @@ -553,7 +564,7 @@ CONFIG_MTD_NAND_DAVINCI=m # CONFIG_PARPORT is not set CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_LOOP=y # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_UB is not set @@ -579,7 +590,7 @@ CONFIG_EEPROM_AT25=y # CONFIG_EEPROM_MAX6875 is not set # CONFIG_EEPROM_93CX6 is not set CONFIG_HAVE_IDE=y -CONFIG_IDE=m +CONFIG_IDE=y # # Please see Documentation/ide/ide.txt for help/info on IDE drives @@ -587,7 +598,7 @@ CONFIG_IDE=m CONFIG_IDE_XFER_MODE=y CONFIG_IDE_TIMINGS=y # CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=m +CONFIG_IDE_GD=y CONFIG_IDE_GD_ATA=y # CONFIG_IDE_GD_ATAPI is not set # CONFIG_BLK_DEV_IDECD is not set @@ -600,14 +611,14 @@ CONFIG_IDE_PROC_FS=y # # CONFIG_BLK_DEV_PLATFORM is not set CONFIG_BLK_DEV_IDEDMA_SFF=y -CONFIG_BLK_DEV_PALMCHIP_BK3710=m +CONFIG_BLK_DEV_PALMCHIP_BK3710=y CONFIG_BLK_DEV_IDEDMA=y # # SCSI device support # # CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=m +CONFIG_SCSI=y CONFIG_SCSI_DMA=y # CONFIG_SCSI_TGT is not set # CONFIG_SCSI_NETLINK is not set @@ -616,7 +627,7 @@ CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # -CONFIG_BLK_DEV_SD=m +CONFIG_BLK_DEV_SD=y # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set # CONFIG_BLK_DEV_SR is not set @@ -643,8 +654,9 @@ CONFIG_SCSI_LOWLEVEL=y # CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DH is not set # CONFIG_SCSI_OSD_INITIATOR is not set -CONFIG_ATA=m +CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y CONFIG_SATA_PMP=y CONFIG_ATA_SFF=y # CONFIG_SATA_MV is not set @@ -655,7 +667,7 @@ CONFIG_NETDEVICES=y # CONFIG_BONDING is not set # CONFIG_MACVLAN is not set # CONFIG_EQUALIZER is not set -CONFIG_TUN=m +CONFIG_TUN=y # CONFIG_VETH is not set CONFIG_PHYLIB=y @@ -702,10 +714,7 @@ CONFIG_DM9000_DEBUGLEVEL=4 # CONFIG_KS8851 is not set # CONFIG_NETDEV_1000 is not set # CONFIG_NETDEV_10000 is not set - -# -# Wireless LAN -# +CONFIG_WLAN=y # CONFIG_WLAN_PRE80211 is not set # CONFIG_WLAN_80211 is not set @@ -722,24 +731,25 @@ CONFIG_DM9000_DEBUGLEVEL=4 # CONFIG_USB_RTL8150 is not set # CONFIG_USB_USBNET is not set # CONFIG_WAN is not set -CONFIG_PPP=m +CONFIG_PPP=y # CONFIG_PPP_MULTILINK is not set # CONFIG_PPP_FILTER is not set -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_PPP_DEFLATE=m +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +CONFIG_PPP_DEFLATE=y # CONFIG_PPP_BSDCOMP is not set # CONFIG_PPP_MPPE is not set # CONFIG_PPPOE is not set # CONFIG_PPPOL2TP is not set # CONFIG_SLIP is not set -CONFIG_SLHC=m +CONFIG_SLHC=y CONFIG_NETCONSOLE=y # CONFIG_NETCONSOLE_DYNAMIC is not set CONFIG_NETPOLL=y CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y # CONFIG_ISDN is not set +# CONFIG_PHONE is not set # # Input device support @@ -753,19 +763,23 @@ CONFIG_INPUT=y # # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set -CONFIG_INPUT_EVDEV=m -CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=y # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set CONFIG_KEYBOARD_ATKBD=m +# CONFIG_QT2160 is not set # CONFIG_KEYBOARD_LKKBD is not set CONFIG_KEYBOARD_GPIO=y # CONFIG_KEYBOARD_MATRIX is not set # CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_MAX7359 is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set CONFIG_KEYBOARD_XTKBD=m @@ -783,6 +797,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_GUNZE is not set # CONFIG_TOUCHSCREEN_ELO is not set # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set # CONFIG_TOUCHSCREEN_MTOUCH is not set # CONFIG_TOUCHSCREEN_INEXIO is not set # CONFIG_TOUCHSCREEN_MK712 is not set @@ -839,9 +854,11 @@ CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_R3964 is not set # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set -# CONFIG_VDCE is not set +CONFIG_VDCE=y +CONFIG_CIR=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_HELPER_AUTO=y @@ -875,7 +892,6 @@ CONFIG_I2C_DAVINCI=y # Miscellaneous I2C Chip support # # CONFIG_DS1682 is not set -# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set @@ -897,6 +913,11 @@ CONFIG_SPI_GPIO=y # # CONFIG_SPI_SPIDEV is not set # CONFIG_SPI_TLE62X0 is not set + +# +# PPS support +# +# CONFIG_PPS is not set CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set @@ -922,10 +943,20 @@ CONFIG_GPIO_PCF857X=y # # CONFIG_GPIO_MAX7301 is not set # CONFIG_GPIO_MCP23S08 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# AC97 GPIO expanders: +# # CONFIG_W1 is not set # CONFIG_POWER_SUPPLY is not set CONFIG_HWMON=y # CONFIG_HWMON_VID is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# # CONFIG_SENSORS_AD7414 is not set # CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADCXX is not set @@ -977,6 +1008,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_THMC50 is not set # CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set # CONFIG_SENSORS_VT1211 is not set # CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83791D is not set @@ -987,9 +1019,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set # CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_THERMAL is not set -# CONFIG_THERMAL_HWMON is not set CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set @@ -997,7 +1027,7 @@ CONFIG_WATCHDOG=y # Watchdog Device Drivers # # CONFIG_SOFT_WATCHDOG is not set -CONFIG_DAVINCI_WATCHDOG=m +CONFIG_DAVINCI_WATCHDOG=y # # USB-based Watchdog Cards @@ -1026,11 +1056,138 @@ CONFIG_SSB_POSSIBLE=y # CONFIG_MFD_TC6393XB is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_MC13783 is not set # CONFIG_AB3100_CORE is not set # CONFIG_EZX_PCAP is not set -# CONFIG_MEDIA_SUPPORT is not set +# CONFIG_REGULATOR is not set +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_COMMON=y +# CONFIG_VIDEO_ALLOW_V4L1 is not set +# CONFIG_VIDEO_V4L1_COMPAT is not set +# CONFIG_DVB_CORE is not set +CONFIG_VIDEO_MEDIA=y + +# +# Multimedia drivers +# +# CONFIG_MEDIA_ATTACH is not set +CONFIG_MEDIA_TUNER=y +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_SIMPLE=y +CONFIG_MEDIA_TUNER_TDA8290=y +CONFIG_MEDIA_TUNER_TDA9887=y +CONFIG_MEDIA_TUNER_TEA5761=y +CONFIG_MEDIA_TUNER_TEA5767=y +CONFIG_MEDIA_TUNER_MT20XX=y +CONFIG_MEDIA_TUNER_XC2028=y +CONFIG_MEDIA_TUNER_XC5000=y +CONFIG_MEDIA_TUNER_MC44S803=y +CONFIG_VIDEO_V4L2=y +CONFIG_VIDEOBUF_GEN=y +CONFIG_VIDEOBUF_DMA_CONTIG=y +CONFIG_VIDEO_CAPTURE_DRIVERS=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set + +# +# Encoders/decoders and other helper chips +# + +# +# Audio decoders +# +# CONFIG_VIDEO_TVAUDIO is not set +# CONFIG_VIDEO_TDA7432 is not set +# CONFIG_VIDEO_TDA9840 is not set +# CONFIG_VIDEO_TDA9875 is not set +# CONFIG_VIDEO_TEA6415C is not set +# CONFIG_VIDEO_TEA6420 is not set +# CONFIG_VIDEO_MSP3400 is not set +# CONFIG_VIDEO_CS5345 is not set +# CONFIG_VIDEO_CS53L32A is not set +# CONFIG_VIDEO_M52790 is not set +# CONFIG_VIDEO_TLV320AIC23B is not set +# CONFIG_VIDEO_WM8775 is not set +# CONFIG_VIDEO_WM8739 is not set +# CONFIG_VIDEO_VP27SMPX is not set + +# +# RDS decoders +# +# CONFIG_VIDEO_SAA6588 is not set + +# +# Video decoders +# +# CONFIG_VIDEO_ADV7180 is not set +# CONFIG_VIDEO_BT819 is not set +# CONFIG_VIDEO_BT856 is not set +# CONFIG_VIDEO_BT866 is not set +# CONFIG_VIDEO_KS0127 is not set +# CONFIG_VIDEO_OV7670 is not set +# CONFIG_VIDEO_MT9V011 is not set +# CONFIG_VIDEO_TCM825X is not set +# CONFIG_VIDEO_SAA7110 is not set +# CONFIG_VIDEO_SAA711X is not set +# CONFIG_VIDEO_SAA717X is not set +# CONFIG_VIDEO_TVP514X is not set +# CONFIG_VIDEO_TVP5150 is not set +CONFIG_VIDEO_TVP7002=y +# CONFIG_VIDEO_VPX3220 is not set + +# +# Video and audio decoders +# +# CONFIG_VIDEO_CX25840 is not set + +# +# MPEG video encoders +# +# CONFIG_VIDEO_CX2341X is not set + +# +# Video encoders +# +# CONFIG_VIDEO_SAA7127 is not set +# CONFIG_VIDEO_SAA7185 is not set +# CONFIG_VIDEO_ADV7170 is not set +# CONFIG_VIDEO_ADV7175 is not set +CONFIG_VIDEO_THS7303=y +CONFIG_VIDEO_THS7353=y +CONFIG_VIDEO_THS7353_LUMA_CHANNEL=2 +CONFIG_VIDEO_ADV7343=y +# CONFIG_VIDEO_THS8200 is not set + +# +# Video improvement chips +# +# CONFIG_VIDEO_UPD64031A is not set +# CONFIG_VIDEO_UPD64083 is not set +CONFIG_DISPLAY_DAVINCI_DM646X_EVM=y +CONFIG_CAPTURE_DAVINCI_DM646X_EVM=y +CONFIG_VIDEO_DAVINCI_VPIF=y +# CONFIG_VIDEO_DAVINCI_DISPLAY is not set +# CONFIG_DAVINCI_ENC_MNGR is not set +# CONFIG_DAVINCI_OSD is not set +# CONFIG_VIDEO_VIVI is not set +# CONFIG_VIDEO_VPSS_SYSTEM is not set +# CONFIG_VIDEO_VPFE_CAPTURE is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_SOC_CAMERA is not set +# CONFIG_SOC_CAMERA_MT9T031 is not set +# CONFIG_V4L_USB_DRIVERS is not set +# CONFIG_RADIO_ADAPTERS is not set +# CONFIG_DAB is not set # # Graphics support @@ -1050,11 +1207,11 @@ CONFIG_SSB_POSSIBLE=y # # CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y -CONFIG_SOUND=m +CONFIG_SOUND=y # CONFIG_SOUND_OSS_CORE is not set -CONFIG_SND=m -CONFIG_SND_TIMER=m -CONFIG_SND_PCM=m +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y CONFIG_SND_JACK=y # CONFIG_SND_SEQUENCER is not set # CONFIG_SND_MIXER_OSS is not set @@ -1080,34 +1237,27 @@ CONFIG_SND_SPI=y CONFIG_SND_USB=y # CONFIG_SND_USB_AUDIO is not set # CONFIG_SND_USB_CAIAQ is not set -CONFIG_SND_SOC=m -CONFIG_SND_DAVINCI_SOC=m -CONFIG_SND_DAVINCI_SOC_MCASP=m -CONFIG_SND_DM6467_SOC_EVM=m -CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC=y +CONFIG_SND_DAVINCI_SOC=y +CONFIG_SND_DAVINCI_SOC_MCASP=y +CONFIG_SND_DM6467_SOC_EVM=y +CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_ALL_CODECS is not set -CONFIG_SND_SOC_SPDIF=m -CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_SPDIF=y +CONFIG_SND_SOC_TLV320AIC3X=y # CONFIG_SOUND_PRIME is not set CONFIG_HID_SUPPORT=y -CONFIG_HID=m -# CONFIG_HID_DEBUG is not set +CONFIG_HID=y # CONFIG_HIDRAW is not set # # USB Input Devices # -CONFIG_USB_HID=m +CONFIG_USB_HID=y # CONFIG_HID_PID is not set # CONFIG_USB_HIDDEV is not set # -# USB HID Boot Protocol drivers -# -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set - -# # Special HID drivers # CONFIG_HID_A4TECH=m @@ -1120,6 +1270,7 @@ CONFIG_HID_CYPRESS=m CONFIG_HID_EZKEY=m # CONFIG_HID_KYE is not set CONFIG_HID_GYRATION=m +# CONFIG_HID_TWINHAN is not set # CONFIG_HID_KENSINGTON is not set CONFIG_HID_LOGITECH=m # CONFIG_LOGITECH_FF is not set @@ -1142,7 +1293,7 @@ CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y # CONFIG_USB_ARCH_HAS_OHCI is not set # CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=m +CONFIG_USB=y # CONFIG_USB_DEBUG is not set # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set @@ -1155,7 +1306,7 @@ CONFIG_USB_DEVICE_CLASS=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set -CONFIG_USB_MON=m +CONFIG_USB_MON=y # CONFIG_USB_WUSB is not set # CONFIG_USB_WUSB_CBAF is not set @@ -1166,19 +1317,22 @@ CONFIG_USB_MON=m # CONFIG_USB_OXU210HP_HCD is not set # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1760_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set # CONFIG_USB_SL811_HCD is not set # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_HWA_HCD is not set -CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_HDRC=y CONFIG_USB_MUSB_SOC=y # -# DaVinci 35x and 644x USB support +# DaVinci 35x, 36x, 644x USB support # -# CONFIG_USB_MUSB_HOST is not set -CONFIG_USB_MUSB_PERIPHERAL=y +CONFIG_USB_MUSB_HOST=y +# CONFIG_USB_MUSB_PERIPHERAL is not set # CONFIG_USB_MUSB_OTG is not set -CONFIG_USB_GADGET_MUSB_HDRC=y +# CONFIG_MUSB_SCHEDULE_INTR_EP is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set +CONFIG_USB_MUSB_HDRC_HCD=y CONFIG_MUSB_PIO_ONLY=y # CONFIG_USB_MUSB_DEBUG is not set @@ -1197,8 +1351,8 @@ CONFIG_MUSB_PIO_ONLY=y # # also be needed; see USB_STORAGE Help for more info # -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE=y +CONFIG_USB_STORAGE_DEBUG=y # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set @@ -1244,10 +1398,10 @@ CONFIG_USB_STORAGE=m # CONFIG_USB_LD is not set # CONFIG_USB_TRANCEVIBRATOR is not set # CONFIG_USB_IOWARRIOR is not set -CONFIG_USB_TEST=m +CONFIG_USB_TEST=y # CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_VST is not set -CONFIG_USB_GADGET=m +CONFIG_USB_GADGET=y # CONFIG_USB_GADGET_DEBUG is not set CONFIG_USB_GADGET_DEBUG_FILES=y CONFIG_USB_GADGET_DEBUG_FS=y @@ -1259,11 +1413,13 @@ CONFIG_USB_GADGET_SELECTED=y # CONFIG_USB_GADGET_LH7A40X is not set # CONFIG_USB_GADGET_OMAP is not set # CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_R8A66597 is not set # CONFIG_USB_GADGET_PXA27X is not set # CONFIG_USB_GADGET_S3C_HSOTG is not set # CONFIG_USB_GADGET_IMX is not set # CONFIG_USB_GADGET_S3C2410 is not set -# CONFIG_USB_GADGET_M66592 is not set +CONFIG_USB_GADGET_M66592=y +CONFIG_USB_M66592=y # CONFIG_USB_GADGET_AMD5536UDC is not set # CONFIG_USB_GADGET_FSL_QE is not set # CONFIG_USB_GADGET_CI13XXX is not set @@ -1274,11 +1430,11 @@ CONFIG_USB_GADGET_SELECTED=y CONFIG_USB_GADGET_DUALSPEED=y # CONFIG_USB_ZERO is not set # CONFIG_USB_AUDIO is not set -CONFIG_USB_ETH=m +CONFIG_USB_ETH=y CONFIG_USB_ETH_RNDIS=y -CONFIG_USB_GADGETFS=m -CONFIG_USB_FILE_STORAGE=m -# CONFIG_USB_FILE_STORAGE_TEST is not set +# CONFIG_USB_ETH_EEM is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set # CONFIG_USB_G_SERIAL is not set # CONFIG_USB_MIDI_GADGET is not set # CONFIG_USB_G_PRINTER is not set @@ -1289,15 +1445,15 @@ CONFIG_USB_FILE_STORAGE=m # CONFIG_USB_OTG_UTILS=y # CONFIG_USB_GPIO_VBUS is not set -CONFIG_NOP_USB_XCEIV=m -CONFIG_MMC=m +CONFIG_NOP_USB_XCEIV=y +CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_UNSAFE_RESUME is not set # # MMC/SD/SDIO Card Drivers # -CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK=y # CONFIG_MMC_BLOCK_BOUNCE is not set # CONFIG_SDIO_UART is not set # CONFIG_MMC_TEST is not set @@ -1306,18 +1462,19 @@ CONFIG_MMC_BLOCK=m # MMC/SD/SDIO Host Controller Drivers # # CONFIG_MMC_SDHCI is not set -CONFIG_MMC_DAVINCI=m +# CONFIG_MMC_AT91 is not set +# CONFIG_MMC_ATMELMCI is not set +CONFIG_MMC_DAVINCI=y # CONFIG_MMC_SPI is not set # CONFIG_MEMSTICK is not set -# CONFIG_ACCESSIBILITY is not set CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=m +CONFIG_LEDS_CLASS=y # # LED drivers # # CONFIG_LEDS_PCA9532 is not set -CONFIG_LEDS_GPIO=m +CONFIG_LEDS_GPIO=y CONFIG_LEDS_GPIO_PLATFORM=y # CONFIG_LEDS_LP3944 is not set # CONFIG_LEDS_PCA955X is not set @@ -1328,9 +1485,9 @@ CONFIG_LEDS_GPIO_PLATFORM=y # LED Triggers # CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_IDE_DISK is not set -CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=y # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_GPIO is not set # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set @@ -1338,8 +1495,12 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=m # # iptables trigger is under Netfilter config (LED target) # +# CONFIG_ACCESSIBILITY is not set CONFIG_RTC_LIB=y -CONFIG_RTC_CLASS=m +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set # # RTC interfaces @@ -1378,6 +1539,7 @@ CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_DRV_R9701 is not set # CONFIG_RTC_DRV_RS5C348 is not set # CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set # # Platform RTC drivers @@ -1399,8 +1561,11 @@ CONFIG_RTC_INTF_DEV=y # # CONFIG_DMADEVICES is not set # CONFIG_AUXDISPLAY is not set -# CONFIG_REGULATOR is not set # CONFIG_UIO is not set + +# +# TI VLYNQ +# # CONFIG_STAGING is not set # @@ -1429,6 +1594,7 @@ CONFIG_XFS_FS=m # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y @@ -1500,7 +1666,6 @@ CONFIG_MINIX_FS=m # CONFIG_ROMFS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set -# CONFIG_NILFS2_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y @@ -1596,6 +1761,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=1024 # CONFIG_MAGIC_SYSRQ is not set +# CONFIG_STRIP_ASM_SYMS is not set # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set @@ -1634,12 +1800,14 @@ CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set CONFIG_FRAME_POINTER=y # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_LATENCYTOP is not set # CONFIG_SYSCTL_SYSCALL_CHECK is not set @@ -1682,7 +1850,6 @@ CONFIG_CRYPTO=y # # Crypto core or helper # -# CONFIG_CRYPTO_FIPS is not set # CONFIG_CRYPTO_MANAGER is not set # CONFIG_CRYPTO_MANAGER2 is not set # CONFIG_CRYPTO_GF128MUL is not set @@ -1714,11 +1881,13 @@ CONFIG_CRYPTO=y # # CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set # # Digest # # CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_GHASH is not set # CONFIG_CRYPTO_MD4 is not set # CONFIG_CRYPTO_MD5 is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set @@ -1770,7 +1939,7 @@ CONFIG_CRYPTO=y # CONFIG_BITREVERSE=y CONFIG_GENERIC_FIND_LAST_BIT=y -CONFIG_CRC_CCITT=m +CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC_T10DIF=m # CONFIG_CRC_ITU_T is not set @@ -1778,7 +1947,7 @@ CONFIG_CRC32=y # CONFIG_CRC7 is not set # CONFIG_LIBCRC32C is not set CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=m +CONFIG_ZLIB_DEFLATE=y CONFIG_DECOMPRESS_GZIP=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_HAS_IOMEM=y diff --git a/recipes/linux/linux-davinci/dm6467t-evm/defconfig b/recipes/linux/linux-davinci/dm6467t-evm/defconfig index a4f136c245..b33b6f626f 100644 --- a/recipes/linux/linux-davinci/dm6467t-evm/defconfig +++ b/recipes/linux/linux-davinci/dm6467t-evm/defconfig @@ -1,14 +1,13 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.31-rc7-davinci1 -# Fri Sep 4 16:43:12 2009 +# Linux kernel version: 2.6.32-rc2-davinci1 +# Wed Oct 14 16:24:38 2009 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y CONFIG_GENERIC_GPIO=y CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_MMU=y CONFIG_GENERIC_HARDIRQS=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y @@ -46,11 +45,12 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y # # RCU Subsystem # -CONFIG_CLASSIC_RCU=y -# CONFIG_TREE_RCU is not set -# CONFIG_PREEMPT_RCU is not set +CONFIG_TREE_RCU=y +# CONFIG_TREE_PREEMPT_RCU is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RCU_FANOUT=32 +# CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_TREE_RCU_TRACE is not set -# CONFIG_PREEMPT_RCU_TRACE is not set CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 @@ -91,17 +91,15 @@ CONFIG_SHMEM=y CONFIG_AIO=y # -# Performance Counters +# Kernel Performance Events And Counters # CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y -# CONFIG_STRIP_ASM_SYMS is not set CONFIG_COMPAT_BRK=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set # CONFIG_PROFILING is not set -# CONFIG_MARKERS is not set CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set CONFIG_HAVE_KPROBES=y @@ -145,6 +143,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # # System Type # +CONFIG_MMU=y # CONFIG_ARCH_AAEC2000 is not set # CONFIG_ARCH_INTEGRATOR is not set # CONFIG_ARCH_REALVIEW is not set @@ -159,6 +158,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # CONFIG_ARCH_STMP3XXX is not set # CONFIG_ARCH_NETX is not set # CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_NOMADIK is not set # CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set # CONFIG_ARCH_IOP33X is not set @@ -181,11 +181,13 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # CONFIG_ARCH_SA1100 is not set # CONFIG_ARCH_S3C2410 is not set # CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_S5PC1XX is not set # CONFIG_ARCH_SHARK is not set # CONFIG_ARCH_LH7A40X is not set # CONFIG_ARCH_U300 is not set CONFIG_ARCH_DAVINCI=y # CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_BCMRING is not set CONFIG_AINTC=y CONFIG_ARCH_DAVINCI_DMx=y @@ -235,11 +237,14 @@ CONFIG_ARM_THUMB=y # CONFIG_CPU_DCACHE_DISABLE is not set # CONFIG_CPU_DCACHE_WRITETHROUGH is not set # CONFIG_CPU_CACHE_ROUND_ROBIN is not set +CONFIG_ARM_L1_CACHE_SHIFT=5 CONFIG_COMMON_CLKDEV=y +CONFIG_FORCE_MAX_ZONEORDER=13 # # Bus support # +# CONFIG_PCI is not set # CONFIG_PCI_SYSCALL is not set # CONFIG_ARCH_SUPPORTS_MSI is not set # CONFIG_PCCARD is not set @@ -255,6 +260,8 @@ CONFIG_VMSPLIT_3G=y # CONFIG_VMSPLIT_2G is not set # CONFIG_VMSPLIT_1G is not set CONFIG_PAGE_OFFSET=0xC0000000 +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_HZ=100 CONFIG_AEABI=y @@ -276,6 +283,7 @@ CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_HAVE_MLOCK=y CONFIG_HAVE_MLOCKED_PAGE_BIT=y +# CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_LEDS=y # CONFIG_LEDS_CPU is not set @@ -408,6 +416,7 @@ CONFIG_NETFILTER_ADVANCED=y # CONFIG_IP6_NF_IPTABLES is not set # CONFIG_IP_DCCP is not set # CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set @@ -448,6 +457,7 @@ CONFIG_NETFILTER_ADVANCED=y # Generic Driver Options # CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_DEVTMPFS is not set CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER is not set @@ -455,22 +465,22 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set # CONFIG_CONNECTOR is not set -CONFIG_MTD=m +CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_TESTS is not set # CONFIG_MTD_CONCAT is not set CONFIG_MTD_PARTITIONS=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_AR7_PARTS is not set # # User Modules And Translation Layers # -CONFIG_MTD_CHAR=m -CONFIG_MTD_BLKDEVS=m -CONFIG_MTD_BLOCK=m -# CONFIG_MTD_BLOCK_RO is not set +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y # CONFIG_FTL is not set # CONFIG_NFTL is not set # CONFIG_INFTL is not set @@ -481,9 +491,9 @@ CONFIG_MTD_BLOCK=m # # RAM/ROM/Flash chip drivers # -CONFIG_MTD_CFI=m +CONFIG_MTD_CFI=y # CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_GEN_PROBE=m +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 @@ -495,10 +505,10 @@ 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=m -CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_CFI_AMDSTD=y # CONFIG_MTD_CFI_STAA is not set -CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_CFI_UTIL=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set @@ -507,7 +517,7 @@ CONFIG_MTD_CFI_UTIL=m # Mapping drivers for chip access # # CONFIG_MTD_COMPLEX_MAPPINGS is not set -CONFIG_MTD_PHYSMAP=m +CONFIG_MTD_PHYSMAP=y # CONFIG_MTD_PHYSMAP_COMPAT is not set # CONFIG_MTD_ARM_INTEGRATOR is not set # CONFIG_MTD_PLATRAM is not set @@ -517,6 +527,7 @@ CONFIG_MTD_PHYSMAP=m # # CONFIG_MTD_DATAFLASH is not set # CONFIG_MTD_M25P80 is not set +# CONFIG_MTD_SST25L is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_MTDRAM is not set @@ -528,17 +539,17 @@ CONFIG_MTD_PHYSMAP=m # CONFIG_MTD_DOC2000 is not set # CONFIG_MTD_DOC2001 is not set # CONFIG_MTD_DOC2001PLUS is not set -CONFIG_MTD_NAND=m +CONFIG_MTD_NAND=y # CONFIG_MTD_NAND_VERIFY_WRITE is not set # CONFIG_MTD_NAND_ECC_SMC is not set # CONFIG_MTD_NAND_MUSEUM_IDS is not set # CONFIG_MTD_NAND_GPIO is not set -CONFIG_MTD_NAND_IDS=m +CONFIG_MTD_NAND_IDS=y # CONFIG_MTD_NAND_DISKONCHIP is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_PLATFORM is not set # CONFIG_MTD_ALAUDA is not set -CONFIG_MTD_NAND_DAVINCI=m +CONFIG_MTD_NAND_DAVINCI=y # CONFIG_MTD_ONENAND is not set # @@ -553,7 +564,7 @@ CONFIG_MTD_NAND_DAVINCI=m # CONFIG_PARPORT is not set CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=m +CONFIG_BLK_DEV_LOOP=y # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_UB is not set @@ -579,7 +590,7 @@ CONFIG_EEPROM_AT25=y # CONFIG_EEPROM_MAX6875 is not set # CONFIG_EEPROM_93CX6 is not set CONFIG_HAVE_IDE=y -CONFIG_IDE=m +CONFIG_IDE=y # # Please see Documentation/ide/ide.txt for help/info on IDE drives @@ -587,7 +598,7 @@ CONFIG_IDE=m CONFIG_IDE_XFER_MODE=y CONFIG_IDE_TIMINGS=y # CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=m +CONFIG_IDE_GD=y CONFIG_IDE_GD_ATA=y # CONFIG_IDE_GD_ATAPI is not set # CONFIG_BLK_DEV_IDECD is not set @@ -600,14 +611,14 @@ CONFIG_IDE_PROC_FS=y # # CONFIG_BLK_DEV_PLATFORM is not set CONFIG_BLK_DEV_IDEDMA_SFF=y -CONFIG_BLK_DEV_PALMCHIP_BK3710=m +CONFIG_BLK_DEV_PALMCHIP_BK3710=y CONFIG_BLK_DEV_IDEDMA=y # # SCSI device support # # CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=m +CONFIG_SCSI=y CONFIG_SCSI_DMA=y # CONFIG_SCSI_TGT is not set # CONFIG_SCSI_NETLINK is not set @@ -616,7 +627,7 @@ CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # -CONFIG_BLK_DEV_SD=m +CONFIG_BLK_DEV_SD=y # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set # CONFIG_BLK_DEV_SR is not set @@ -643,8 +654,9 @@ CONFIG_SCSI_LOWLEVEL=y # CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DH is not set # CONFIG_SCSI_OSD_INITIATOR is not set -CONFIG_ATA=m +CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATA_VERBOSE_ERROR=y CONFIG_SATA_PMP=y CONFIG_ATA_SFF=y # CONFIG_SATA_MV is not set @@ -655,7 +667,7 @@ CONFIG_NETDEVICES=y # CONFIG_BONDING is not set # CONFIG_MACVLAN is not set # CONFIG_EQUALIZER is not set -CONFIG_TUN=m +CONFIG_TUN=y # CONFIG_VETH is not set CONFIG_PHYLIB=y @@ -702,10 +714,7 @@ CONFIG_DM9000_DEBUGLEVEL=4 # CONFIG_KS8851 is not set # CONFIG_NETDEV_1000 is not set # CONFIG_NETDEV_10000 is not set - -# -# Wireless LAN -# +CONFIG_WLAN=y # CONFIG_WLAN_PRE80211 is not set # CONFIG_WLAN_80211 is not set @@ -722,24 +731,25 @@ CONFIG_DM9000_DEBUGLEVEL=4 # CONFIG_USB_RTL8150 is not set # CONFIG_USB_USBNET is not set # CONFIG_WAN is not set -CONFIG_PPP=m +CONFIG_PPP=y # CONFIG_PPP_MULTILINK is not set # CONFIG_PPP_FILTER is not set -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_PPP_DEFLATE=m +CONFIG_PPP_ASYNC=y +CONFIG_PPP_SYNC_TTY=y +CONFIG_PPP_DEFLATE=y # CONFIG_PPP_BSDCOMP is not set # CONFIG_PPP_MPPE is not set # CONFIG_PPPOE is not set # CONFIG_PPPOL2TP is not set # CONFIG_SLIP is not set -CONFIG_SLHC=m +CONFIG_SLHC=y CONFIG_NETCONSOLE=y # CONFIG_NETCONSOLE_DYNAMIC is not set CONFIG_NETPOLL=y CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y # CONFIG_ISDN is not set +# CONFIG_PHONE is not set # # Input device support @@ -753,19 +763,23 @@ CONFIG_INPUT=y # # CONFIG_INPUT_MOUSEDEV is not set # CONFIG_INPUT_JOYDEV is not set -CONFIG_INPUT_EVDEV=m -CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=y # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set CONFIG_KEYBOARD_ATKBD=m +# CONFIG_QT2160 is not set # CONFIG_KEYBOARD_LKKBD is not set CONFIG_KEYBOARD_GPIO=y # CONFIG_KEYBOARD_MATRIX is not set # CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_MAX7359 is not set # CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set CONFIG_KEYBOARD_XTKBD=m @@ -783,6 +797,7 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_GUNZE is not set # CONFIG_TOUCHSCREEN_ELO is not set # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set # CONFIG_TOUCHSCREEN_MTOUCH is not set # CONFIG_TOUCHSCREEN_INEXIO is not set # CONFIG_TOUCHSCREEN_MK712 is not set @@ -839,9 +854,11 @@ CONFIG_LEGACY_PTY_COUNT=256 # CONFIG_R3964 is not set # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set -# CONFIG_VDCE is not set +CONFIG_VDCE=y +CONFIG_CIR=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_HELPER_AUTO=y @@ -875,7 +892,6 @@ CONFIG_I2C_DAVINCI=y # Miscellaneous I2C Chip support # # CONFIG_DS1682 is not set -# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set @@ -888,15 +904,20 @@ CONFIG_SPI_MASTER=y # # SPI Master Controller Drivers # -CONFIG_SPI_DAVINCI=m -CONFIG_SPI_BITBANG=m -CONFIG_SPI_GPIO=m +CONFIG_SPI_DAVINCI=y +CONFIG_SPI_BITBANG=y +CONFIG_SPI_GPIO=y # # SPI Protocol Masters # # CONFIG_SPI_SPIDEV is not set # CONFIG_SPI_TLE62X0 is not set + +# +# PPS support +# +# CONFIG_PPS is not set CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_GPIOLIB=y # CONFIG_DEBUG_GPIO is not set @@ -922,10 +943,20 @@ CONFIG_GPIO_PCF857X=y # # CONFIG_GPIO_MAX7301 is not set # CONFIG_GPIO_MCP23S08 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# AC97 GPIO expanders: +# # CONFIG_W1 is not set # CONFIG_POWER_SUPPLY is not set CONFIG_HWMON=y # CONFIG_HWMON_VID is not set +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# # CONFIG_SENSORS_AD7414 is not set # CONFIG_SENSORS_AD7418 is not set # CONFIG_SENSORS_ADCXX is not set @@ -977,6 +1008,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_ADS7828 is not set # CONFIG_SENSORS_THMC50 is not set # CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set # CONFIG_SENSORS_VT1211 is not set # CONFIG_SENSORS_W83781D is not set # CONFIG_SENSORS_W83791D is not set @@ -987,9 +1019,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_W83627HF is not set # CONFIG_SENSORS_W83627EHF is not set # CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_HWMON_DEBUG_CHIP is not set # CONFIG_THERMAL is not set -# CONFIG_THERMAL_HWMON is not set CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set @@ -997,7 +1027,7 @@ CONFIG_WATCHDOG=y # Watchdog Device Drivers # # CONFIG_SOFT_WATCHDOG is not set -CONFIG_DAVINCI_WATCHDOG=m +CONFIG_DAVINCI_WATCHDOG=y # # USB-based Watchdog Cards @@ -1026,11 +1056,138 @@ CONFIG_SSB_POSSIBLE=y # CONFIG_MFD_TC6393XB is not set # CONFIG_PMIC_DA903X is not set # CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_MC13783 is not set # CONFIG_AB3100_CORE is not set # CONFIG_EZX_PCAP is not set -# CONFIG_MEDIA_SUPPORT is not set +# CONFIG_REGULATOR is not set +CONFIG_MEDIA_SUPPORT=y + +# +# Multimedia core support +# +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_COMMON=y +# CONFIG_VIDEO_ALLOW_V4L1 is not set +# CONFIG_VIDEO_V4L1_COMPAT is not set +# CONFIG_DVB_CORE is not set +CONFIG_VIDEO_MEDIA=y + +# +# Multimedia drivers +# +# CONFIG_MEDIA_ATTACH is not set +CONFIG_MEDIA_TUNER=y +# CONFIG_MEDIA_TUNER_CUSTOMISE is not set +CONFIG_MEDIA_TUNER_SIMPLE=y +CONFIG_MEDIA_TUNER_TDA8290=y +CONFIG_MEDIA_TUNER_TDA9887=y +CONFIG_MEDIA_TUNER_TEA5761=y +CONFIG_MEDIA_TUNER_TEA5767=y +CONFIG_MEDIA_TUNER_MT20XX=y +CONFIG_MEDIA_TUNER_XC2028=y +CONFIG_MEDIA_TUNER_XC5000=y +CONFIG_MEDIA_TUNER_MC44S803=y +CONFIG_VIDEO_V4L2=y +CONFIG_VIDEOBUF_GEN=y +CONFIG_VIDEOBUF_DMA_CONTIG=y +CONFIG_VIDEO_CAPTURE_DRIVERS=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set + +# +# Encoders/decoders and other helper chips +# + +# +# Audio decoders +# +# CONFIG_VIDEO_TVAUDIO is not set +# CONFIG_VIDEO_TDA7432 is not set +# CONFIG_VIDEO_TDA9840 is not set +# CONFIG_VIDEO_TDA9875 is not set +# CONFIG_VIDEO_TEA6415C is not set +# CONFIG_VIDEO_TEA6420 is not set +# CONFIG_VIDEO_MSP3400 is not set +# CONFIG_VIDEO_CS5345 is not set +# CONFIG_VIDEO_CS53L32A is not set +# CONFIG_VIDEO_M52790 is not set +# CONFIG_VIDEO_TLV320AIC23B is not set +# CONFIG_VIDEO_WM8775 is not set +# CONFIG_VIDEO_WM8739 is not set +# CONFIG_VIDEO_VP27SMPX is not set + +# +# RDS decoders +# +# CONFIG_VIDEO_SAA6588 is not set + +# +# Video decoders +# +# CONFIG_VIDEO_ADV7180 is not set +# CONFIG_VIDEO_BT819 is not set +# CONFIG_VIDEO_BT856 is not set +# CONFIG_VIDEO_BT866 is not set +# CONFIG_VIDEO_KS0127 is not set +# CONFIG_VIDEO_OV7670 is not set +# CONFIG_VIDEO_MT9V011 is not set +# CONFIG_VIDEO_TCM825X is not set +# CONFIG_VIDEO_SAA7110 is not set +# CONFIG_VIDEO_SAA711X is not set +# CONFIG_VIDEO_SAA717X is not set +# CONFIG_VIDEO_TVP514X is not set +# CONFIG_VIDEO_TVP5150 is not set +CONFIG_VIDEO_TVP7002=y +# CONFIG_VIDEO_VPX3220 is not set + +# +# Video and audio decoders +# +# CONFIG_VIDEO_CX25840 is not set + +# +# MPEG video encoders +# +# CONFIG_VIDEO_CX2341X is not set + +# +# Video encoders +# +# CONFIG_VIDEO_SAA7127 is not set +# CONFIG_VIDEO_SAA7185 is not set +# CONFIG_VIDEO_ADV7170 is not set +# CONFIG_VIDEO_ADV7175 is not set +CONFIG_VIDEO_THS7303=y +CONFIG_VIDEO_THS7353=y +CONFIG_VIDEO_THS7353_LUMA_CHANNEL=3 +# CONFIG_VIDEO_ADV7343 is not set +CONFIG_VIDEO_THS8200=y + +# +# Video improvement chips +# +# CONFIG_VIDEO_UPD64031A is not set +# CONFIG_VIDEO_UPD64083 is not set +CONFIG_DISPLAY_DAVINCI_DM646X_EVM=y +CONFIG_CAPTURE_DAVINCI_DM646X_EVM=y +CONFIG_VIDEO_DAVINCI_VPIF=y +# CONFIG_VIDEO_DAVINCI_DISPLAY is not set +# CONFIG_DAVINCI_ENC_MNGR is not set +# CONFIG_DAVINCI_OSD is not set +# CONFIG_VIDEO_VIVI is not set +# CONFIG_VIDEO_VPSS_SYSTEM is not set +# CONFIG_VIDEO_VPFE_CAPTURE is not set +# CONFIG_VIDEO_SAA5246A is not set +# CONFIG_VIDEO_SAA5249 is not set +# CONFIG_SOC_CAMERA is not set +# CONFIG_SOC_CAMERA_MT9T031 is not set +# CONFIG_V4L_USB_DRIVERS is not set +# CONFIG_RADIO_ADAPTERS is not set +# CONFIG_DAB is not set # # Graphics support @@ -1050,11 +1207,11 @@ CONFIG_SSB_POSSIBLE=y # # CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y -CONFIG_SOUND=m +CONFIG_SOUND=y # CONFIG_SOUND_OSS_CORE is not set -CONFIG_SND=m -CONFIG_SND_TIMER=m -CONFIG_SND_PCM=m +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y CONFIG_SND_JACK=y # CONFIG_SND_SEQUENCER is not set # CONFIG_SND_MIXER_OSS is not set @@ -1080,34 +1237,27 @@ CONFIG_SND_SPI=y CONFIG_SND_USB=y # CONFIG_SND_USB_AUDIO is not set # CONFIG_SND_USB_CAIAQ is not set -CONFIG_SND_SOC=m -CONFIG_SND_DAVINCI_SOC=m -CONFIG_SND_DAVINCI_SOC_MCASP=m -CONFIG_SND_DM6467_SOC_EVM=m -CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC=y +CONFIG_SND_DAVINCI_SOC=y +CONFIG_SND_DAVINCI_SOC_MCASP=y +CONFIG_SND_DM6467_SOC_EVM=y +CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_ALL_CODECS is not set -CONFIG_SND_SOC_SPDIF=m -CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_SPDIF=y +CONFIG_SND_SOC_TLV320AIC3X=y # CONFIG_SOUND_PRIME is not set CONFIG_HID_SUPPORT=y -CONFIG_HID=m -# CONFIG_HID_DEBUG is not set +CONFIG_HID=y # CONFIG_HIDRAW is not set # # USB Input Devices # -CONFIG_USB_HID=m +CONFIG_USB_HID=y # CONFIG_HID_PID is not set # CONFIG_USB_HIDDEV is not set # -# USB HID Boot Protocol drivers -# -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set - -# # Special HID drivers # CONFIG_HID_A4TECH=m @@ -1120,6 +1270,7 @@ CONFIG_HID_CYPRESS=m CONFIG_HID_EZKEY=m # CONFIG_HID_KYE is not set CONFIG_HID_GYRATION=m +# CONFIG_HID_TWINHAN is not set # CONFIG_HID_KENSINGTON is not set CONFIG_HID_LOGITECH=m # CONFIG_LOGITECH_FF is not set @@ -1142,7 +1293,7 @@ CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y # CONFIG_USB_ARCH_HAS_OHCI is not set # CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=m +CONFIG_USB=y # CONFIG_USB_DEBUG is not set # CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set @@ -1155,7 +1306,7 @@ CONFIG_USB_DEVICE_CLASS=y # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_WHITELIST is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set -CONFIG_USB_MON=m +CONFIG_USB_MON=y # CONFIG_USB_WUSB is not set # CONFIG_USB_WUSB_CBAF is not set @@ -1166,14 +1317,15 @@ CONFIG_USB_MON=m # CONFIG_USB_OXU210HP_HCD is not set # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1760_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set # CONFIG_USB_SL811_HCD is not set # CONFIG_USB_R8A66597_HCD is not set # CONFIG_USB_HWA_HCD is not set -CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_HDRC=y CONFIG_USB_MUSB_SOC=y # -# DaVinci 35x and 644x USB support +# DaVinci 35x, 36x, 644x USB support # # CONFIG_USB_MUSB_HOST is not set CONFIG_USB_MUSB_PERIPHERAL=y @@ -1197,7 +1349,7 @@ CONFIG_MUSB_PIO_ONLY=y # # also be needed; see USB_STORAGE Help for more info # -CONFIG_USB_STORAGE=m +CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set @@ -1244,10 +1396,10 @@ CONFIG_USB_STORAGE=m # CONFIG_USB_LD is not set # CONFIG_USB_TRANCEVIBRATOR is not set # CONFIG_USB_IOWARRIOR is not set -CONFIG_USB_TEST=m +CONFIG_USB_TEST=y # CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_VST is not set -CONFIG_USB_GADGET=m +CONFIG_USB_GADGET=y # CONFIG_USB_GADGET_DEBUG is not set CONFIG_USB_GADGET_DEBUG_FILES=y CONFIG_USB_GADGET_DEBUG_FS=y @@ -1259,6 +1411,7 @@ CONFIG_USB_GADGET_SELECTED=y # CONFIG_USB_GADGET_LH7A40X is not set # CONFIG_USB_GADGET_OMAP is not set # CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_R8A66597 is not set # CONFIG_USB_GADGET_PXA27X is not set # CONFIG_USB_GADGET_S3C_HSOTG is not set # CONFIG_USB_GADGET_IMX is not set @@ -1274,11 +1427,11 @@ CONFIG_USB_GADGET_SELECTED=y CONFIG_USB_GADGET_DUALSPEED=y # CONFIG_USB_ZERO is not set # CONFIG_USB_AUDIO is not set -CONFIG_USB_ETH=m +CONFIG_USB_ETH=y CONFIG_USB_ETH_RNDIS=y -CONFIG_USB_GADGETFS=m -CONFIG_USB_FILE_STORAGE=m -# CONFIG_USB_FILE_STORAGE_TEST is not set +# CONFIG_USB_ETH_EEM is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FILE_STORAGE is not set # CONFIG_USB_G_SERIAL is not set # CONFIG_USB_MIDI_GADGET is not set # CONFIG_USB_G_PRINTER is not set @@ -1289,15 +1442,15 @@ CONFIG_USB_FILE_STORAGE=m # CONFIG_USB_OTG_UTILS=y # CONFIG_USB_GPIO_VBUS is not set -CONFIG_NOP_USB_XCEIV=m -CONFIG_MMC=m +CONFIG_NOP_USB_XCEIV=y +CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_UNSAFE_RESUME is not set # # MMC/SD/SDIO Card Drivers # -CONFIG_MMC_BLOCK=m +CONFIG_MMC_BLOCK=y # CONFIG_MMC_BLOCK_BOUNCE is not set # CONFIG_SDIO_UART is not set # CONFIG_MMC_TEST is not set @@ -1306,18 +1459,19 @@ CONFIG_MMC_BLOCK=m # MMC/SD/SDIO Host Controller Drivers # # CONFIG_MMC_SDHCI is not set -CONFIG_MMC_DAVINCI=m +# CONFIG_MMC_AT91 is not set +# CONFIG_MMC_ATMELMCI is not set +CONFIG_MMC_DAVINCI=y # CONFIG_MMC_SPI is not set # CONFIG_MEMSTICK is not set -# CONFIG_ACCESSIBILITY is not set CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=m +CONFIG_LEDS_CLASS=y # # LED drivers # # CONFIG_LEDS_PCA9532 is not set -CONFIG_LEDS_GPIO=m +CONFIG_LEDS_GPIO=y CONFIG_LEDS_GPIO_PLATFORM=y # CONFIG_LEDS_LP3944 is not set # CONFIG_LEDS_PCA955X is not set @@ -1328,9 +1482,9 @@ CONFIG_LEDS_GPIO_PLATFORM=y # LED Triggers # CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_TIMER=y # CONFIG_LEDS_TRIGGER_IDE_DISK is not set -CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=y # CONFIG_LEDS_TRIGGER_BACKLIGHT is not set # CONFIG_LEDS_TRIGGER_GPIO is not set # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set @@ -1338,8 +1492,12 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=m # # iptables trigger is under Netfilter config (LED target) # +# CONFIG_ACCESSIBILITY is not set CONFIG_RTC_LIB=y -CONFIG_RTC_CLASS=m +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set # # RTC interfaces @@ -1378,6 +1536,7 @@ CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_DRV_R9701 is not set # CONFIG_RTC_DRV_RS5C348 is not set # CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set # # Platform RTC drivers @@ -1399,8 +1558,11 @@ CONFIG_RTC_INTF_DEV=y # # CONFIG_DMADEVICES is not set # CONFIG_AUXDISPLAY is not set -# CONFIG_REGULATOR is not set # CONFIG_UIO is not set + +# +# TI VLYNQ +# # CONFIG_STAGING is not set # @@ -1429,6 +1591,7 @@ CONFIG_XFS_FS=m # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set CONFIG_FILE_LOCKING=y CONFIG_FSNOTIFY=y CONFIG_DNOTIFY=y @@ -1479,7 +1642,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=m +CONFIG_JFFS2_FS=y CONFIG_JFFS2_FS_DEBUG=0 CONFIG_JFFS2_FS_WRITEBUFFER=y # CONFIG_JFFS2_FS_WBUF_VERIFY is not set @@ -1500,7 +1663,6 @@ CONFIG_MINIX_FS=m # CONFIG_ROMFS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set -# CONFIG_NILFS2_FS is not set CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y @@ -1596,6 +1758,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y CONFIG_FRAME_WARN=1024 # CONFIG_MAGIC_SYSRQ is not set +# CONFIG_STRIP_ASM_SYMS is not set # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set @@ -1634,12 +1797,14 @@ CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set CONFIG_FRAME_POINTER=y # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # CONFIG_FAULT_INJECTION is not set # CONFIG_LATENCYTOP is not set # CONFIG_SYSCTL_SYSCALL_CHECK is not set @@ -1682,7 +1847,6 @@ CONFIG_CRYPTO=y # # Crypto core or helper # -# CONFIG_CRYPTO_FIPS is not set # CONFIG_CRYPTO_MANAGER is not set # CONFIG_CRYPTO_MANAGER2 is not set # CONFIG_CRYPTO_GF128MUL is not set @@ -1714,11 +1878,13 @@ CONFIG_CRYPTO=y # # CONFIG_CRYPTO_HMAC is not set # CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set # # Digest # # CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_GHASH is not set # CONFIG_CRYPTO_MD4 is not set # CONFIG_CRYPTO_MD5 is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set @@ -1770,7 +1936,7 @@ CONFIG_CRYPTO=y # CONFIG_BITREVERSE=y CONFIG_GENERIC_FIND_LAST_BIT=y -CONFIG_CRC_CCITT=m +CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set CONFIG_CRC_T10DIF=m # CONFIG_CRC_ITU_T is not set @@ -1778,7 +1944,7 @@ CONFIG_CRC32=y # CONFIG_CRC7 is not set # CONFIG_LIBCRC32C is not set CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=m +CONFIG_ZLIB_DEFLATE=y CONFIG_DECOMPRESS_GZIP=y CONFIG_GENERIC_ALLOCATOR=y CONFIG_HAS_IOMEM=y diff --git a/recipes/linux/linux-davinci_git.bb b/recipes/linux/linux-davinci_git.bb index ffa1a35950..f99f8ae937 100644 --- a/recipes/linux/linux-davinci_git.bb +++ b/recipes/linux/linux-davinci_git.bb @@ -3,24 +3,51 @@ require linux.inc DESCRIPTION = "Linux kernel for Davinci processors" KERNEL_IMAGETYPE = "uImage" -COMPATIBLE_MACHINE = "(dm6446-evm|dm6467-evm|dm6467t-evm|dm355-evm|dm365-evm|da830-omapl137-evm|da850-omapl138-evm|davinci-sffsdr|dm355-leopard|hawkboard)" +COMPATIBLE_MACHINE = "(dm355-evm|dm365-evm|dm6446-evm|dm6467-evm|dm6467t-evm|da830-omapl137-evm|da850-omapl138-evm|dm355-leopard|davinci-sffsdr|hawkboard)" DEFAULT_PREFERENCE = "1" -SRCREV = "835d1ac43b1c0428cb0f7f91fbaf708ba8e7e504" +BRANCH = "master" -# OMAPL commits for PSP 3.20.00.07 Release Tag -SRCREV_da830-omapl137-evm = "b60234a5b0ee985912ecb59d3e689c1ed4baa46c" -SRCREV_da850-omapl138-evm = "b60234a5b0ee985912ecb59d3e689c1ed4baa46c" -SRCREV_hawkboard = "b60234a5b0ee985912ecb59d3e689c1ed4baa46c" +# DAVINCI -BRANCH = "master" +# dm355-evm/dm365-evm/dm6446-evm/dm6467-evm/dm6467t-evm Davinci PSP.03.01.00.28 (Phase 3 Build r28) +SRCREV_dm355-evm = "7b2683fd0168df1576fcea947ef9f63e905de807" +SRCREV_dm365-evm = "7b2683fd0168df1576fcea947ef9f63e905de807" +SRCREV_dm6446-evm = "7b2683fd0168df1576fcea947ef9f63e905de807" +SRCREV_dm6467-evm = "7b2683fd0168df1576fcea947ef9f63e905de807" +SRCREV_dm6467t-evm = "7b2683fd0168df1576fcea947ef9f63e905de807" # The main PR is now using MACHINE_KERNEL_PR, for davinci see conf/machine/include/davinci.inc -PV = "2.6.31+2.6.32-rc6-${PR}+gitr${SRCREV}" +PV_dm355-evm = "2.6.31+2.6.32-rc2-${PR}+gitr${SRCREV}" +PV_dm365-evm = "2.6.31+2.6.32-rc2-${PR}+gitr${SRCREV}" +PV_dm6446-evm = "2.6.31+2.6.32-rc2-${PR}+gitr${SRCREV}" +PV_dm6467-evm = "2.6.31+2.6.32-rc2-${PR}+gitr${SRCREV}" +PV_dm6467t-evm = "2.6.31+2.6.32-rc2-${PR}+gitr${SRCREV}" + +SRC_URI_dm355-evm = "git://arago-project.org/git/projects/linux-davinci.git;protocol=git \ + file://defconfig" +SRC_URI_dm365-evm = "git://arago-project.org/git/projects/linux-davinci.git;protocol=git \ + file://defconfig" +SRC_URI_dm6446-evm = "git://arago-project.org/git/projects/linux-davinci.git;protocol=git \ + file://defconfig" +SRC_URI_dm6467-evm = "git://arago-project.org/git/projects/linux-davinci.git;protocol=git \ + file://defconfig" +SRC_URI_dm6467t-evm = "git://arago-project.org/git/projects/linux-davinci.git;protocol=git \ + file://defconfig" + + +# OMAPL + +# da830-omapl137-evm/da850-omapl138-evm/hawkboard OMAPL PSP.3.20.00.07 (Beta) +SRCREV_da830-omapl137-evm = "b60234a5b0ee985912ecb59d3e689c1ed4baa46c" +SRCREV_da850-omapl138-evm = "b60234a5b0ee985912ecb59d3e689c1ed4baa46c" +SRCREV_hawkboard = "b60234a5b0ee985912ecb59d3e689c1ed4baa46c" -SRC_URI = "git://arago-project.org/git/projects/linux-davinci.git;protocol=git \ - file://defconfig" +# The main PR is now using MACHINE_KERNEL_PR, for davinci see conf/machine/include/davinci.inc +PV_da830-omapl137-evm = "2.6.31+2.6.32-rc6-${PR}+gitr${SRCREV}" +PV_da850-omapl138-evm = "2.6.31+2.6.32-rc6-${PR}+gitr${SRCREV}" +PV_hawkboard = "2.6.31+2.6.32-rc6-${PR}+gitr${SRCREV}" SRC_URI_da830-omapl137-evm = "git://arago-project.org/git/people/sekhar/linux-omapl1.git;protocol=git;branch=${BRANCH} \ file://defconfig" @@ -28,8 +55,8 @@ SRC_URI_da830-omapl137-evm = "git://arago-project.org/git/people/sekhar/linux-om SRC_URI_da850-omapl138-evm = "git://arago-project.org/git/people/sekhar/linux-omapl1.git;protocol=git;branch=${BRANCH} \ file://defconfig" -SRC_URI_hawkboard = "git://arago-project.org/git/people/sekhar/linux-omapl1.git;protocol=git;branch=${BRANCH} \ - file://patch_hawk.diff;patch=1 \ - file://defconfig" +SRC_URI_hawkboard = "git://arago-project.org/git/people/sekhar/linux-omapl1.git;protocol=git;branch=${BRANCH} \ + file://patch_hawk.diff;patch=1 \ + file://defconfig" S = "${WORKDIR}/git" diff --git a/recipes/linux/linux-kirkwood/0003-ARM-Kirkwood-Sound-Sound-driver-added.patch b/recipes/linux/linux-kirkwood/0003-ARM-Kirkwood-Sound-Sound-driver-added.patch new file mode 100644 index 0000000000..fc17a089c5 --- /dev/null +++ b/recipes/linux/linux-kirkwood/0003-ARM-Kirkwood-Sound-Sound-driver-added.patch @@ -0,0 +1,3514 @@ +From 89aa6dd15306a1ce11da0f2cb67bda74999e178e Mon Sep 17 00:00:00 2001 +From: Tanmay Upadhyay <tanmay.upadhyay@einfochips.com> +Date: Tue, 24 Nov 2009 21:49:24 +0530 +Subject: [PATCH] ARM: Kirkwood: Sound: Sound driver added + +The driver is based on the Marvell kirkwood sound driver available in +2.6.22.18 kernel. + +Signed-off-by: Tanmay Upadhyay <tanmay.upadhyay@einfochips.com> +--- + arch/arm/mach-kirkwood/common.c | 39 + + arch/arm/mach-kirkwood/common.h | 2 + + arch/arm/mach-kirkwood/include/mach/kirkwood.h | 3 + + arch/arm/mach-kirkwood/openrd_client-setup.c | 27 + + include/linux/mv88fx_audio.h | 111 ++ + sound/soc/Kconfig | 1 + + sound/soc/Makefile | 1 + + sound/soc/kirkwood/Kconfig | 29 + + sound/soc/kirkwood/Makefile | 7 + + sound/soc/kirkwood/cs42l51.c | 304 +++++ + sound/soc/kirkwood/cs42l51.h | 59 + + sound/soc/kirkwood/kirkwood_audio_hal.c | 821 +++++++++++++ + sound/soc/kirkwood/kirkwood_audio_hal.h | 109 ++ + sound/soc/kirkwood/kirkwood_audio_regs.h | 310 +++++ + sound/soc/kirkwood/kirkwood_pcm.c | 1505 ++++++++++++++++++++++++ + 15 files changed, 3328 insertions(+), 0 deletions(-) + create mode 100644 include/linux/mv88fx_audio.h + create mode 100644 sound/soc/kirkwood/Kconfig + create mode 100644 sound/soc/kirkwood/Makefile + create mode 100644 sound/soc/kirkwood/cs42l51.c + create mode 100644 sound/soc/kirkwood/cs42l51.h + create mode 100644 sound/soc/kirkwood/kirkwood_audio_hal.c + create mode 100644 sound/soc/kirkwood/kirkwood_audio_hal.h + create mode 100644 sound/soc/kirkwood/kirkwood_audio_regs.h + create mode 100644 sound/soc/kirkwood/kirkwood_pcm.c + +diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c +index 0acb61f..4d66c06 100644 +--- a/arch/arm/mach-kirkwood/common.c ++++ b/arch/arm/mach-kirkwood/common.c +@@ -15,6 +15,7 @@ + #include <linux/mbus.h> + #include <linux/mv643xx_eth.h> + #include <linux/mv643xx_i2c.h> ++#include <linux/mv88fx_audio.h> + #include <linux/ata_platform.h> + #include <linux/mtd/nand.h> + #include <linux/spi/orion_spi.h> +@@ -969,3 +970,41 @@ static int __init kirkwood_clock_gate(void) + return 0; + } + late_initcall(kirkwood_clock_gate); ++ ++/***************************************************************************** ++ * Audio ++ ****************************************************************************/ ++ ++static struct resource kirkwood_audio_resources[] = { ++ [0] = { ++ .start = AUDIO_PHYS_BASE, ++ .end = AUDIO_PHYS_BASE + SZ_16K - 1, ++ .flags = IORESOURCE_MEM, ++ }, ++ [1] = { ++ .start = IRQ_KIRKWOOD_I2S, ++ .end = IRQ_KIRKWOOD_I2S, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++static u64 kirkwood_audio_dmamask = 0xFFFFFFFFUL; ++ ++static struct platform_device kirkwood_audio = { ++ .name = MV88FX_AUDIO_NAME, ++ .id = -1, ++ .num_resources = ARRAY_SIZE(kirkwood_audio_resources), ++ .resource = kirkwood_audio_resources, ++ .dev = { ++ .dma_mask = &kirkwood_audio_dmamask, ++ .coherent_dma_mask = 0xffffffff, ++ }, ++}; ++ ++void __init kirkwood_audio_init(struct mv88fx_snd_platform_data *audio_data) ++{ ++ kirkwood_clk_ctrl |= CGC_AUDIO; ++ kirkwood_audio.dev.platform_data = audio_data; ++ ++ platform_device_register(&kirkwood_audio); ++} +diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h +index d7de434..b79a25c 100644 +--- a/arch/arm/mach-kirkwood/common.h ++++ b/arch/arm/mach-kirkwood/common.h +@@ -16,6 +16,7 @@ struct mv643xx_eth_platform_data; + struct mv_sata_platform_data; + struct mvsdio_platform_data; + struct mtd_partition; ++struct mv88fx_snd_platform_data; + + /* + * Basic Kirkwood init functions used early by machine-setup. +@@ -41,6 +42,7 @@ void kirkwood_i2c_init(void); + void kirkwood_uart0_init(void); + void kirkwood_uart1_init(void); + void kirkwood_nand_init(struct mtd_partition *parts, int nr_parts, int delay); ++void kirkwood_audio_init(struct mv88fx_snd_platform_data *audio_data); + + extern int kirkwood_tclk; + extern struct sys_timer kirkwood_timer; +diff --git a/arch/arm/mach-kirkwood/include/mach/kirkwood.h b/arch/arm/mach-kirkwood/include/mach/kirkwood.h +index 54c1327..90ced65 100644 +--- a/arch/arm/mach-kirkwood/include/mach/kirkwood.h ++++ b/arch/arm/mach-kirkwood/include/mach/kirkwood.h +@@ -95,6 +95,9 @@ + + #define SDIO_PHYS_BASE (KIRKWOOD_REGS_PHYS_BASE | 0x90000) + ++#define AUDIO_PHYS_BASE (KIRKWOOD_REGS_PHYS_BASE | 0xA0000) ++#define AUDIO_VIRT_BASE (KIRKWOOD_REGS_VIRT_BASE | 0xA0000) ++ + /* + * Supported devices and revisions. + */ +diff --git a/arch/arm/mach-kirkwood/openrd_client-setup.c b/arch/arm/mach-kirkwood/openrd_client-setup.c +index a55a1bc..72acc22 100644 +--- a/arch/arm/mach-kirkwood/openrd_client-setup.c ++++ b/arch/arm/mach-kirkwood/openrd_client-setup.c +@@ -14,11 +14,13 @@ + #include <linux/mtd/partitions.h> + #include <linux/ata_platform.h> + #include <linux/mv643xx_eth.h> ++#include <linux/mv88fx_audio.h> + #include <linux/gpio.h> + #include <asm/mach-types.h> + #include <asm/mach/arch.h> + #include <mach/kirkwood.h> + #include <plat/mvsdio.h> ++#include <linux/autoconf.h> + #include "common.h" + #include "mpp.h" + +@@ -59,6 +61,21 @@ static unsigned int openrd_client_mpp_config[] __initdata = { + 0 + }; + ++static struct mv88fx_snd_platform_data openrd_client_audio_data = { ++ .i2c_bus_no = 0, ++ .i2c_address = 0x4A, ++/* 0 - NA, 1 - mono, 2 - stereo */ ++#ifdef CONFIG_SND_MV88FX_SOC_I2S ++ .i2s_rec = 1, ++ .i2s_play = 2, ++#else ++ .spdif_rec = 1, ++ .spdif_play = 2, ++#endif ++ .dram = &kirkwood_mbus_dram_info, ++ .base_offset = AUDIO_PHYS_BASE - KIRKWOOD_REGS_PHYS_BASE, ++}; ++ + static void __init openrd_client_init(void) + { + /* +@@ -78,6 +95,16 @@ static void __init openrd_client_init(void) + + kirkwood_sata_init(&openrd_client_sata_data); + kirkwood_sdio_init(&openrd_client_mvsdio_data); ++ ++ /* initialize i2c */ ++ kirkwood_i2c_init(); ++ ++#if defined(CONFIG_SND_MV88FX_SOC) || defined(CONFIG_SND_MV88FX_SOC_MODULE) ++ /* If built as a part of kernel or as a module ++ * initialize audio */ ++ openrd_client_audio_data.tclk = kirkwood_tclk, ++ kirkwood_audio_init(&openrd_client_audio_data); ++#endif + } + + MACHINE_START(OPENRD_CLIENT, "Marvell OpenRD Client Board") +diff --git a/include/linux/mv88fx_audio.h b/include/linux/mv88fx_audio.h +new file mode 100644 +index 0000000..6d36a3f +--- /dev/null ++++ b/include/linux/mv88fx_audio.h +@@ -0,0 +1,111 @@ ++/* ++ * ++ * Marvell Orion Alsa Sound driver ++ * ++ * Author: Maen Suleiman ++ * Copyright (C) 2008 Marvell Ltd. ++ * ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ */ ++ ++#ifndef __LINUX_MV88FX_SND_H ++#define __LINUX_MV88FX_SND_H ++ ++#include <linux/mbus.h> ++ ++#define MV88FX_AUDIO_NAME "mv88fx_snd" ++ ++#undef MV88FX_SND_DEBUG ++#ifdef MV88FX_SND_DEBUG ++#define mv88fx_snd_debug(fmt, arg...) printk(KERN_DEBUG fmt, ##arg) ++#else ++ #define mv88fx_snd_debug(a...) ++#endif ++ ++#define MV_AUDIO_MAX_ADDR_DECODE_WIN 2 ++#define MV_AUDIO_RECORD_WIN_NUM 0 ++#define MV_AUDIO_PLAYBACK_WIN_NUM 1 ++ ++#define MV_AUDIO_WIN_CTRL_REG(win) (0xA04 + ((win)<<3)) ++#define MV_AUDIO_WIN_BASE_REG(win) (0xA00 + ((win)<<3)) ++ ++struct mv88fx_snd_platform_data { ++ u8 i2c_bus_no; ++ u16 i2c_address; ++ u32 spdif_rec; ++ u32 spdif_play; ++ u32 i2s_rec; ++ u32 i2s_play; ++ u32 tclk; ++ u32 base_offset; ++ struct mbus_dram_target_info *dram; ++}; ++ ++struct mv88fx_snd_stream { ++ struct snd_pcm_substream *substream; ++ struct device *dev; ++ int direction; /* playback or capture */ ++ #define PLAYBACK 0 ++ #define CAPTURE 1 ++ unsigned int dig_mode; /* i2s,spdif,both */ ++ #define I2S 1 ++ #define SPDIF 2 ++ int stereo; /* mono, stereo */ ++ int mono_mode; /* both mono, left mono, right mono */ ++ #define MONO_BOTH 0 ++ #define MONO_LEFT 1 ++ #define MONO_RIGHT 2 ++ int clock_src; ++ #define DCO_CLOCK 0 ++ #define SPCR_CLOCK 1 ++ #define EXTERN_CLOCK 2 ++ int rate; ++ int stat_mem; /* Channel status source*/ ++ int format; ++ #define SAMPLE_32IN32 0 ++ #define SAMPLE_24IN32 1 ++ #define SAMPLE_20IN32 2 ++ #define SAMPLE_16IN32 3 ++ #define SAMPLE_16IN16 4 ++ unsigned int dma_addr; ++ unsigned int dma_size; ++ unsigned int period_size; ++ unsigned int spdif_status[4]; /* SPDIF status */ ++ unsigned char *area; /* virtual pointer */ ++ dma_addr_t addr; /* physical address */ ++}; ++ ++struct mv88fx_snd_chip { ++ struct mv88fx_snd_stream *stream[2]; /* run time values*/ ++ struct mv88fx_snd_stream *stream_defaults[2]; /* default values*/ ++ spinlock_t reg_lock; /* Register access spinlock */ ++ struct resource *res; /* resource for IRQ and base*/ ++ void __iomem *base; /* Audio base address of the host */ ++ unsigned int audio_offset; /* Offset to audio base register ++ * from internal base register */ ++ int irq; ++ int loopback; /* When Loopback is enabled, playback ++ * data is looped back to be recorded */ ++ int ch_stat_valid; /* Playback SPDIF channel validity bit ++ * value when REG selected */ ++ int burst; /* DMA Burst Size */ ++ ++ #define SPDIF_MEM_STAT 0 ++ #define SPDIF_REG_STAT 1 ++ unsigned int dco_ctrl_offst; ++ int pcm_mode; /* pcm, nonpcm*/ ++ #define PCM 0 ++ #define NON_PCM 1 ++ int stereo; ++}; ++ ++#define MV88FX_SND_MIN_PERIODS 8 ++#define MV88FX_SND_MAX_PERIODS 16 ++#define MV88FX_SND_MIN_PERIOD_BYTES 0x4000 ++#define MV88FX_SND_MAX_PERIOD_BYTES 0x4000 ++ ++#endif /* __LINUX_MV88FX_SND_H */ +diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig +index b1749bc..9fc88d8 100644 +--- a/sound/soc/Kconfig ++++ b/sound/soc/Kconfig +@@ -36,6 +36,7 @@ source "sound/soc/s3c24xx/Kconfig" + source "sound/soc/s6000/Kconfig" + source "sound/soc/sh/Kconfig" + source "sound/soc/txx9/Kconfig" ++source "sound/soc/kirkwood/Kconfig" + + # Supported codecs + source "sound/soc/codecs/Kconfig" +diff --git a/sound/soc/Makefile b/sound/soc/Makefile +index 0c5eac0..664850d 100644 +--- a/sound/soc/Makefile ++++ b/sound/soc/Makefile +@@ -14,3 +14,4 @@ obj-$(CONFIG_SND_SOC) += s3c24xx/ + obj-$(CONFIG_SND_SOC) += s6000/ + obj-$(CONFIG_SND_SOC) += sh/ + obj-$(CONFIG_SND_SOC) += txx9/ ++obj-$(CONFIG_SND_SOC) += kirkwood/ +diff --git a/sound/soc/kirkwood/Kconfig b/sound/soc/kirkwood/Kconfig +new file mode 100644 +index 0000000..d6a7e2f +--- /dev/null ++++ b/sound/soc/kirkwood/Kconfig +@@ -0,0 +1,29 @@ ++config SND_MV88FX_SOC ++ tristate "SoC Audio for the Marvell 88FX chip" ++ depends on ARCH_KIRKWOOD ++ help ++ Say Y or M if you want to add support for codecs attached to ++ the MV88FX I2S or SPD interface. You will also need ++ to select the audio interfaces to support below. ++ ++choice ++ prompt "Audio Interface" ++ default SND_MV88FX_SOC_I2S ++ depends on SND_MV88FX_SOC ++ ++config SND_MV88FX_SOC_I2S ++ bool "I2S" ++ ++config SND_MV88FX_SOC_SPDIF ++ bool "SPDIF" ++ ++endchoice ++ ++choice ++ prompt "Codec IC" ++ default SND_SOC_CS42L51 ++ depends on SND_MV88FX_SOC ++ ++config SND_SOC_CS42L51 ++ bool "CS42L51" ++endchoice +diff --git a/sound/soc/kirkwood/Makefile b/sound/soc/kirkwood/Makefile +new file mode 100644 +index 0000000..57674ad +--- /dev/null ++++ b/sound/soc/kirkwood/Makefile +@@ -0,0 +1,7 @@ ++ ++snd-soc-kirkwood-objs := kirkwood_pcm.o kirkwood_audio_hal.o ++ifdef CONFIG_SND_SOC_CS42L51 ++snd-soc-kirkwood-objs += cs42l51.o ++endif ++ ++obj-$(CONFIG_SND_MV88FX_SOC) += snd-soc-kirkwood.o +diff --git a/sound/soc/kirkwood/cs42l51.c b/sound/soc/kirkwood/cs42l51.c +new file mode 100644 +index 0000000..f5a22f9 +--- /dev/null ++++ b/sound/soc/kirkwood/cs42l51.c +@@ -0,0 +1,304 @@ ++/* ++ * ++ * Marvell Orion Alsa Sound driver ++ * ++ * Author: Maen Suleiman ++ * Copyright (C) 2008 Marvell Ltd. ++ * ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ */ ++#include <linux/ioport.h> ++#include <linux/platform_device.h> ++#include <linux/init.h> ++#include <linux/slab.h> ++#include <linux/version.h> ++#include <linux/i2c.h> ++#include <sound/core.h> ++#include <sound/initval.h> ++#include <sound/control.h> ++#include <sound/pcm.h> ++#include <sound/asoundef.h> ++#include <sound/asound.h> ++ ++#include "cs42l51.h" ++ ++/* FIXME: This code is not written in driver module style. This is written as ++ * helper for SOC driver */ ++ ++struct i2c_client *client; ++ ++static int cs42l51_add_i2c_device(unsigned char i2c_bus_no, ++ unsigned short i2c_add) ++{ ++ struct i2c_board_info info; ++ struct i2c_adapter *adapter; ++ ++ memset(&info, 0, sizeof(struct i2c_board_info)); ++ info.addr = i2c_add; ++ strlcpy(info.type, "cs42l51", I2C_NAME_SIZE); ++ ++ adapter = i2c_get_adapter(i2c_bus_no); ++ if (!adapter) { ++ snd_printk("can't get i2c adapter\n"); ++ return -ENODEV; ++ } ++ ++ client = i2c_new_device(adapter, &info); ++ i2c_put_adapter(adapter); ++ if (!client) { ++ snd_printk("can't add i2c device\n"); ++ return -ENODEV; ++ } ++ ++ return 0; ++} ++ ++void cs42l51_del_i2c_device(void) ++{ ++ if (client) ++ i2c_unregister_device(client); ++ client = NULL; ++} ++ ++/* ++ * offset: Register offset to start reading with ++ * buf : Pointer to the buffer to store the read data ++ * num : Number of registers to read ++ * ++ * Returns -ve errorno else number of registers read ++ */ ++ ++int cs42l51_reg_read(unsigned char offset, unsigned char *buf, int num) ++{ ++ int ret = 0; ++ ++ /* Set autoincrement bit */ ++ offset |= CODEC_INCR_ADDR; ++ ++ /* Send register offset */ ++ ret = i2c_master_send(client, &offset, 1); ++ if (ret != 1) { ++ snd_printd("Could not write register offset\n"); ++ return 0; ++ } ++ ++ return i2c_master_recv(client, buf, num); ++} ++ ++/* ++ * offset: Register offset to write ++ * data : Data to be written ++ * ++ * Returns -ve errorno else number of registers written (=1) ++ */ ++ ++int cs42l51_reg_write(unsigned char offset, unsigned char data) ++{ ++ int ret = 0; ++ unsigned char buf[2]; ++ ++ buf[0] = offset; ++ buf[1] = data; ++ ++ /* Send register offset & data */ ++ ret = i2c_master_send(client, &buf[0], 2); ++ ++ return (ret == 2) ? 1 : ret; ++} ++ ++int codec_init(int adc_mode, int digital_if_format, ++ unsigned char i2c_bus_no, unsigned short i2c_add) ++{ ++ unsigned char reg_data; ++ ++ if (cs42l51_add_i2c_device(i2c_bus_no, i2c_add)) ++ return 1; ++ ++ if (cs42l51_reg_read(CODEC_ID_REG, ®_data, 1) < 0) ++ goto codec_init_error; ++ ++ if (CODEC_CHIP_ID != (reg_data >> 3) || ++ CODEC_REV_ID != (reg_data & 0x7)) { ++ snd_printd("Error: Invalid Cirrus Logic chip/rev ID!\n"); ++ return 1; ++ } ++ ++ if (cs42l51_reg_read(CODEC_IF_CTRL_REG, ®_data, 1) < 0) ++ goto codec_init_error; ++ ++ reg_data = (reg_data & ~(0x7<<3)) | (digital_if_format << 3); ++ ++ if (LEFT_JUSTIFIED_MODE == adc_mode) ++ reg_data &= (~0x4); ++ else ++ reg_data |= 0x4; ++ ++ if (cs42l51_reg_write(CODEC_IF_CTRL_REG, reg_data) < 0) ++ goto codec_init_error; ++ ++ return 0; ++ ++codec_init_error: ++ snd_printd("I2C error\n"); ++ return 1; ++} ++ ++/* ++ * Initialize the audio decoder. ++ */ ++ ++int cs42l51_init(int adc_mode, int digital_if_format, int rec, ++ unsigned char i2c_bus_no, unsigned short i2c_add) ++{ ++ if (codec_init(adc_mode, digital_if_format, i2c_bus_no, i2c_add)) { ++ snd_printk("Error: Audio Codec init failed\n"); ++ return 1; ++ } ++ ++ /* Use the signal processor */ ++ if (cs42l51_reg_write(0x9, 0x40) < 0) ++ goto error; ++ ++ /* Unmute PCM-A & PCM-B and set default */ ++ if (cs42l51_reg_write(0x10, 0x60) < 0) ++ goto error; ++ if (cs42l51_reg_write(0x11, 0x60) < 0) ++ goto error; ++ ++ /* default for AOUTx */ ++ if (cs42l51_reg_write(0x16, 0x05) < 0) ++ goto error; ++ if (cs42l51_reg_write(0x17, 0x05) < 0) ++ goto error; ++ ++ /* swap channels */ ++ if (cs42l51_reg_write(0x18, 0xff) < 0) ++ goto error; ++ ++ /* MIC Power Control: power down mIC in channel B, power on channel A ++ * Recommended seq. in datasheet: ++ * 1. Enable the PDN bit ++ * 2. Enable power-down for the selected channels ++ * 3. Disable the PDN bit */ ++ ++ /* Note: Tested for mono recording only */ ++ if (!rec) { ++ /* Enable power down */ ++ if (cs42l51_reg_write(0x2, 0x11) < 0) ++ goto error; ++ ++ /* No record - Power down both channels */ ++ if (cs42l51_reg_write(0x2, 0x17) < 0) ++ goto error; ++ ++ /* Disable power down */ ++ if (cs42l51_reg_write(0x2, 0x16) < 0) ++ goto error; ++ } else { ++ if (rec == 2) { ++ /* Setreo recording - by default both channels are up */ ++ ++ /* MIC In channel selection - Select channel 3 ++ * unmute both channels */ ++ if (cs42l51_reg_write(0x7, 0xF0) < 0) ++ goto error; ++ ++ /* Power up mic pre-amplifier for both channels */ ++ if (cs42l51_reg_write(0x3, 0xA0) < 0) ++ goto error; ++ } else { ++ /* Enable power down */ ++ if (cs42l51_reg_write(0x2, 0x11) < 0) ++ goto error; ++ ++ /* Mono recording - Power down Channel B */ ++ if (cs42l51_reg_write(0x2, 0x15) < 0) ++ goto error; ++ ++ /* Disable power down */ ++ if (cs42l51_reg_write(0x2, 0x14) < 0) ++ goto error; ++ ++ /* MIC In channel selection - Select channel 3 ++ * Mute Channel B */ ++ if (cs42l51_reg_write(0x7, 0xF2) < 0) ++ goto error; ++ ++ /* Power down mic pre-amplifier for Channel B*/ ++ if (cs42l51_reg_write(0x3, 0xA8) < 0) ++ goto error; ++ } ++ } ++ ++ return 0; ++error: ++ snd_printk("I2C error\n"); ++ return 1; ++} ++ ++#define AUD_NUM_VOLUME_STEPS (40) ++static unsigned char auddec_volume_mapping[AUD_NUM_VOLUME_STEPS] = ++{ ++ 0x19, 0xB2, 0xB7, 0xBD, 0xC3, 0xC9, 0xCF, 0xD5, ++ 0xD8, 0xE1, 0xE7, 0xED, 0xF3, 0xF9, 0xFF, 0x00, ++ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, ++ 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, ++ 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18 ++}; ++ ++ ++/* ++ * Get the audio decoder volume for both channels. ++ * 0 is lowest volume, AUD_NUM_VOLUME_STEPS-1 is the highest volume. ++ */ ++ ++void cs42l51_vol_get(unsigned char *vol_list) ++{ ++ unsigned char reg_data[2]; ++ unsigned char i, vol_idx = 0; ++ ++ if (cs42l51_reg_read(0x16 + vol_idx, reg_data, 2) < 0) { ++ snd_printd("I2C error\n"); ++ snd_printk("Couldn't get volume\n"); ++ return; ++ } ++ ++ for (; vol_idx < 2; vol_idx++) { ++ /* Look for the index that mapps to this dB value. */ ++ for (i = 0; i < AUD_NUM_VOLUME_STEPS; i++) { ++ if (reg_data[vol_idx] == auddec_volume_mapping[i]) ++ break; ++ if ((auddec_volume_mapping[i] > ++ auddec_volume_mapping[AUD_NUM_VOLUME_STEPS-1]) ++ && (reg_data[vol_idx] > auddec_volume_mapping[i]) ++ && (reg_data[vol_idx] < auddec_volume_mapping[i+1])) ++ break; ++ } ++ vol_list[vol_idx] = i; ++ } ++} ++ ++/* ++ * Set the audio decoder volume for both channels. ++ * 0 is lowest volume, AUD_NUM_VOLUME_STEPS-1 is the highest volume. ++ */ ++void cs42l51_vol_set(unsigned char *vol_list) ++{ ++ unsigned int vol_idx; ++ ++ for (vol_idx = 0; vol_idx < 2; vol_idx++) { ++ if (vol_list[vol_idx] >= AUD_NUM_VOLUME_STEPS) ++ vol_list[vol_idx] = AUD_NUM_VOLUME_STEPS - 1; ++ ++ if (cs42l51_reg_write(0x16 + vol_idx, ++ auddec_volume_mapping[vol_list[vol_idx]]) < 0) { ++ snd_printd("I2C error\n"); ++ snd_printk("Couldn't set volume\n"); ++ return; ++ } ++ } ++} +diff --git a/sound/soc/kirkwood/cs42l51.h b/sound/soc/kirkwood/cs42l51.h +new file mode 100644 +index 0000000..f4e7951 +--- /dev/null ++++ b/sound/soc/kirkwood/cs42l51.h +@@ -0,0 +1,59 @@ ++/* ++ * Audio codec CS42L51 data definition file ++ */ ++ ++#ifndef _CS42L51_H_ ++#define _CS42L51_H_ ++ ++#define CODEC_CHIP_ID 0x1B ++#define CODEC_REV_ID 0x1 ++ ++#define CODEC_ID_REG 0x1 ++#define CODEC_IF_CTRL_REG 0x4 ++#define CODEC_ADC_INPUT_INV_MUTE_REG 0x7 ++#define CODEC_DAC_OUTPUT_CTRL_REG 0x8 ++#define CODEC_DAC_CTRL_REG 0x9 ++#define CODEC_PGAA_VOL_CTRL_REG 0xa ++#define CODEC_TONE_CTRL_REG 0x15 ++#define CODEC_VOL_OUTA_CTRL_REG 0x16 ++ ++/* Set bit # 7 to 1 to get into auto incremental addressing mode */ ++#define CODEC_INCR_ADDR 0x80 ++ ++#define FALSE 0 ++#define TRUE 1 ++ ++/* Selects the digital interface format used for the data in on SDIN. */ ++enum dac_digital_if_format { ++ L_JUSTIFIED_UP_TO_24_BIT, ++ I2S_UP_TO_24_BIT, ++ R_JUSTIFIED_UP_TO_24_BIT, ++ R_JUSTIFIED_20_BIT, ++ R_JUSTIFIED_18_BIT, ++ R_JUSTIFIED_16_BIT ++ ++}; ++ ++/* Selects either the I2S or Left-Justified digital interface format for the ++ data on SDOUT. */ ++enum adc_mode { ++ LEFT_JUSTIFIED_MODE, ++ I2S_MODE ++}; ++ ++/* Initialize the Cirrus Logic device */ ++int cs42l51_init(int adc_mode, int digital_if_format, int rec, ++ unsigned char i2c_bus_no, unsigned short i2c_add); ++ ++/* Function to control output volume (playback) */ ++void cs42l51_vol_get(unsigned char *vol_list); ++void cs42l51_vol_set(unsigned char *vol_list); ++ ++/* Function to access the Cirrus Logic CODEC registers */ ++int cs42l51_reg_read(unsigned char offset, unsigned char *buf, int num); ++int cs42l51_reg_write(unsigned char offset, unsigned char data); ++ ++ ++void cs42l51_del_i2c_device(void); ++#endif /* _CS42L51_H_ */ ++ +diff --git a/sound/soc/kirkwood/kirkwood_audio_hal.c b/sound/soc/kirkwood/kirkwood_audio_hal.c +new file mode 100644 +index 0000000..28305e3 +--- /dev/null ++++ b/sound/soc/kirkwood/kirkwood_audio_hal.c +@@ -0,0 +1,821 @@ ++/* ++ * Sound driver for Marvell Kirkwood family SOCs ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ */ ++ ++#include <linux/io.h> ++#include <sound/core.h> ++#include <sound/pcm.h> ++#include <linux/spinlock.h> ++#include <linux/mv88fx_audio.h> ++#include "kirkwood_audio_hal.h" ++ ++static void mv_audio_init(void __iomem *base); ++static void audio_setup_wins(void __iomem *base, ++ struct mbus_dram_target_info *dram); ++static int set_window_as_per_baseadd(void __iomem *base, unsigned int baseadd, ++ unsigned int audio_offset, int win_num); ++ ++/* Clocks Control and Status related*/ ++static int mv_audio_dco_ctrl_set(struct mv_audio_freq_data *dcoCtrl, ++ void __iomem *base); ++ ++/* Audio PlayBack related*/ ++static int mv_audio_playback_control_set(void __iomem *base, unsigned int ++ audio_offset, struct mv_audio_playback_ctrl *ctrl); ++ ++/* Audio SPDIF PlayBack related*/ ++static void mv_spdif_playback_ctrl_set(void __iomem *base, ++ struct mv_spdif_playback_ctrl *ctrl); ++ ++/* Audio I2S PlayBack related*/ ++static int mv_i2s_playback_ctrl_set(void __iomem *base, ++ struct mv_i2s_playback_ctrl *ctrl); ++ ++/* Audio Recording*/ ++static int mv_audio_record_control_set(struct mv_audio_record_ctrl *ctrl, ++ unsigned int audio_offset, void __iomem *base); ++ ++/* SPDIF Recording Related*/ ++static int spdif_record_tclock_set(void __iomem *base, unsigned int tclk); ++ ++/* I2S Recording Related*/ ++static int mv_i2s_record_cntrl_set(struct mv_i2s_record_ctrl *ctrl, ++ void __iomem *base); ++ ++static inline int audio_burst_bytes_num_get(int burst) ++{ ++ switch (burst) { ++ case AUDIO_32BYTE_BURST: ++ return 32; ++ case AUDIO_128BYTE_BURST: ++ return 128; ++ default: ++ return 0xffffffff; ++ } ++} ++ ++int mv88fx_snd_hw_init(struct snd_card *card) ++{ ++ void __iomem *base = chip->base; ++ struct mv88fx_snd_platform_data *platform_data = ++ card->dev->platform_data; ++ ++ if (platform_data->i2s_rec || platform_data->i2s_play) ++ if (codec_init(I2S_MODE, I2S_UP_TO_24_BIT, ++ platform_data->i2s_rec, platform_data->i2c_bus_no, ++ platform_data->i2c_address)) { ++ snd_printk("Initializing CS42L51 failed\n"); ++ return 1; ++ } ++ ++ writel(0xffffffff, (base + MV_AUDIO_INT_CAUSE_REG)); ++ writel(0, (base + MV_AUDIO_INT_MASK_REG)); ++ writel(0, (base + MV_AUDIO_SPDIF_REC_INT_CAUSE_MASK_REG)); ++ ++ mv_audio_init(base); ++ ++ audio_setup_wins(base, platform_data->dram); ++ ++ /* Disable all playback/recording */ ++ writel(readl(base + MV_AUDIO_PLAYBACK_CTRL_REG) & ++ (~(APCR_PLAY_I2S_ENABLE_MASK | APCR_PLAY_SPDIF_ENABLE_MASK)), ++ (base + MV_AUDIO_PLAYBACK_CTRL_REG)); ++ ++ writel(readl(base + MV_AUDIO_RECORD_CTRL_REG) & ++ (~(ARCR_RECORD_SPDIF_EN_MASK | ARCR_RECORD_I2S_EN_MASK)), ++ (base + MV_AUDIO_RECORD_CTRL_REG)); ++ ++ if (spdif_record_tclock_set(base, platform_data->tclk)) { ++ snd_printk("Marvell ALSA driver ERR. SPDIF clock set failed\n"); ++ return 1; ++ } ++ ++ return 0; ++} ++ ++int mv88fx_snd_hw_playback_set(struct mv88fx_snd_chip *chip) ++{ ++ struct mv88fx_snd_stream *audio_stream = chip->stream[PLAYBACK]; ++ struct snd_pcm_substream *substream = audio_stream->substream; ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ ++ struct mv_audio_playback_ctrl pcm_play_ctrl; ++ struct mv_i2s_playback_ctrl i2s_play_ctrl; ++ struct mv_spdif_playback_ctrl spdif_play_ctrl; ++ struct mv_audio_freq_data dco_ctrl; ++ ++ dco_ctrl.offset = chip->dco_ctrl_offst; ++ ++ switch (audio_stream->rate) { ++ case 44100: ++ dco_ctrl.baseFreq = AUDIO_FREQ_44_1KH; ++ break; ++ case 48000: ++ dco_ctrl.baseFreq = AUDIO_FREQ_48KH; ++ break; ++ case 96000: ++ dco_ctrl.baseFreq = AUDIO_FREQ_96KH; ++ break; ++ default: ++ snd_printk("Requested rate %d is not supported\n", ++ runtime->rate); return -1; ++ } ++ ++ pcm_play_ctrl.burst = (chip->burst == 128) ? AUDIO_128BYTE_BURST : ++ AUDIO_32BYTE_BURST; ++ ++ pcm_play_ctrl.loopBack = chip->loopback; ++ ++ if (audio_stream->stereo) { ++ pcm_play_ctrl.monoMode = AUDIO_PLAY_MONO_OFF; ++ } else { ++ switch (audio_stream->mono_mode) { ++ case MONO_LEFT: ++ pcm_play_ctrl.monoMode = AUDIO_PLAY_LEFT_MONO; ++ break; ++ case MONO_RIGHT: ++ pcm_play_ctrl.monoMode = AUDIO_PLAY_RIGHT_MONO; ++ break; ++ case MONO_BOTH: ++ default: ++ pcm_play_ctrl.monoMode = AUDIO_PLAY_BOTH_MONO; ++ break; ++ } ++ } ++ ++ if (audio_stream->format == SAMPLE_16IN16) { ++ pcm_play_ctrl.sampleSize = SAMPLE_16BIT; ++ i2s_play_ctrl.sampleSize = SAMPLE_16BIT; ++ } else if (audio_stream->format == SAMPLE_24IN32) { ++ pcm_play_ctrl.sampleSize = SAMPLE_24BIT; ++ i2s_play_ctrl.sampleSize = SAMPLE_24BIT; ++ } else if (audio_stream->format == SAMPLE_32IN32) { ++ pcm_play_ctrl.sampleSize = SAMPLE_32BIT; ++ i2s_play_ctrl.sampleSize = SAMPLE_32BIT; ++ } else { ++ snd_printk("Requested format %d is not supported\n", ++ runtime->format); ++ return -1; ++ } ++ ++ /* buffer and period sizes in frame */ ++ pcm_play_ctrl.bufferPhyBase = audio_stream->dma_addr; ++ pcm_play_ctrl.bufferSize = audio_stream->dma_size; ++ pcm_play_ctrl.intByteCount = audio_stream->period_size; ++ ++ /* I2S playback streem stuff */ ++ /*i2s_play_ctrl.sampleSize = pcm_play_ctrl.sampleSize;*/ ++ i2s_play_ctrl.justification = I2S_JUSTIFIED; ++ i2s_play_ctrl.sendLastFrame = 0; ++ ++ spdif_play_ctrl.nonPcm = FALSE; ++ ++ spdif_play_ctrl.validity = chip->ch_stat_valid; ++ ++ if (audio_stream->stat_mem) { ++ spdif_play_ctrl.userBitsFromMemory = TRUE; ++ spdif_play_ctrl.validityFromMemory = TRUE; ++ spdif_play_ctrl.blockStartInternally = FALSE; ++ } else { ++ spdif_play_ctrl.userBitsFromMemory = FALSE; ++ spdif_play_ctrl.validityFromMemory = FALSE; ++ spdif_play_ctrl.blockStartInternally = TRUE; ++ } ++ ++ /* If this is non-PCM sound, mute I2S channel */ ++ spin_lock_irq(&chip->reg_lock); ++ ++ if (!(readl(chip->base + MV_AUDIO_PLAYBACK_CTRL_REG) & ++ (APCR_PLAY_I2S_ENABLE_MASK | APCR_PLAY_SPDIF_ENABLE_MASK))) { ++ ++ if (mv_audio_dco_ctrl_set(&dco_ctrl, chip->base)) { ++ snd_printk("Failed to initialize DCO clock control.\n"); ++ goto error; ++ } ++ } ++ ++ if (audio_stream->clock_src == DCO_CLOCK) ++ while ((readl(chip->base + MV_AUDIO_SPCR_DCO_STATUS_REG) & ++ ASDSR_DCO_LOCK_MASK) == 0) ++ cpu_relax(); ++ else if (audio_stream->clock_src == SPCR_CLOCK) ++ while ((readl(chip->base + MV_AUDIO_SPCR_DCO_STATUS_REG) & ++ ASDSR_SPCR_LOCK_MASK) == 0) ++ cpu_relax(); ++ ++ if (mv_audio_playback_control_set(chip->base, chip->audio_offset, ++ &pcm_play_ctrl)) { ++ snd_printk("Failed to initialize PCM playback control.\n"); ++ goto error; ++ } ++ ++ if (mv_i2s_playback_ctrl_set(chip->base, &i2s_play_ctrl)) { ++ snd_printk("Failed to initialize I2S playback control.\n"); ++ goto error; ++ } ++ ++ mv_spdif_playback_ctrl_set(chip->base, &spdif_play_ctrl); ++ ++ spin_unlock_irq(&chip->reg_lock); ++ ++ return 0; ++error: ++ spin_unlock_irq(&chip->reg_lock); ++ return -1; ++} ++ ++int mv88fx_snd_hw_capture_set(struct mv88fx_snd_chip *chip) ++{ ++ struct mv88fx_snd_stream *audio_stream = chip->stream[CAPTURE]; ++ struct snd_pcm_substream *substream = audio_stream->substream; ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ ++ struct mv_audio_record_ctrl pcm_rec_ctrl; ++ struct mv_i2s_record_ctrl i2s_rec_ctrl; ++ struct mv_audio_freq_data dco_ctrl; ++ ++ dco_ctrl.offset = chip->dco_ctrl_offst; ++ ++ switch (audio_stream->rate) { ++ case 44100: ++ dco_ctrl.baseFreq = AUDIO_FREQ_44_1KH; ++ break; ++ case 48000: ++ dco_ctrl.baseFreq = AUDIO_FREQ_48KH; ++ break; ++ case 96000: ++ dco_ctrl.baseFreq = AUDIO_FREQ_96KH; ++ break; ++ default: ++ snd_printk("Requested rate %d is not supported\n", ++ runtime->rate); return -1; ++ } ++ ++ pcm_rec_ctrl.burst = (chip->burst == 128) ? AUDIO_128BYTE_BURST : ++ AUDIO_32BYTE_BURST; ++ ++ if (audio_stream->format == SAMPLE_16IN16) { ++ pcm_rec_ctrl.sampleSize = SAMPLE_16BIT; ++ } else if (audio_stream->format == SAMPLE_24IN32) { ++ pcm_rec_ctrl.sampleSize = SAMPLE_24BIT; ++ } else if (audio_stream->format == SAMPLE_32IN32) { ++ pcm_rec_ctrl.sampleSize = SAMPLE_32BIT; ++ } else { ++ snd_printk("Requested format %d is not supported\n", ++ runtime->format); ++ return -1; ++ } ++ ++ /* If request for tereo record comes on the boards that doesn't ++ * support stereo recording */ ++ if ((!chip->stereo) && audio_stream->stereo) { ++ snd_printk("Stereo recording is not supported\n"); ++ return -1; ++ } ++ ++ pcm_rec_ctrl.mono = (audio_stream->stereo) ? FALSE : TRUE; ++ ++ if (pcm_rec_ctrl.mono) { ++ switch (audio_stream->mono_mode) { ++ case MONO_LEFT: ++ pcm_rec_ctrl.monoChannel = AUDIO_REC_LEFT_MONO; ++ break; ++ default: ++ case MONO_RIGHT: ++ pcm_rec_ctrl.monoChannel = AUDIO_REC_RIGHT_MONO; ++ break; ++ } ++ ++ } else { ++ pcm_rec_ctrl.monoChannel = AUDIO_REC_LEFT_MONO; ++ } ++ ++ ++ pcm_rec_ctrl.bufferPhyBase = audio_stream->dma_addr; ++ pcm_rec_ctrl.bufferSize = audio_stream->dma_size; ++ ++ pcm_rec_ctrl.intByteCount = audio_stream->period_size; ++ ++ /* I2S record streem stuff */ ++ i2s_rec_ctrl.sample = pcm_rec_ctrl.sampleSize; ++ i2s_rec_ctrl.justf = I2S_JUSTIFIED; ++ ++ spin_lock_irq(&chip->reg_lock); ++ ++ /* set clock only if record is not enabled*/ ++ if (!(readl(chip->base + MV_AUDIO_RECORD_CTRL_REG) & ++ (ARCR_RECORD_SPDIF_EN_MASK | ARCR_RECORD_I2S_EN_MASK))) { ++ ++ if (mv_audio_dco_ctrl_set(&dco_ctrl, chip->base)) { ++ snd_printk("Failed to initialize DCO clock control.\n"); ++ return -1; ++ } ++ } ++ ++ if (mv_audio_record_control_set(&pcm_rec_ctrl, chip->audio_offset, ++ chip->base)) { ++ snd_printk("Failed to initialize PCM record control.\n"); ++ return -1; ++ } ++ ++ if (mv_i2s_record_cntrl_set(&i2s_rec_ctrl, chip->base)) { ++ snd_printk("Failed to initialize I2S record control.\n"); ++ return -1; ++ } ++ spin_unlock_irq(&chip->reg_lock); ++ ++ return 0; ++} ++ ++static void mv_audio_init(void __iomem *base) ++{ ++ int timeout = 10000000; ++ unsigned int reg_data; ++ ++ reg_data = readl(base + 0x1200); ++ reg_data &= (~(0x333FF8)); ++ reg_data |= 0x111D18; ++ ++ writel(reg_data, base + 0x1200); ++ ++ do { ++ timeout--; ++ } while (timeout); ++ ++ reg_data = readl(base + 0x1200); ++ reg_data &= (~(0x333FF8)); ++ reg_data |= 0x111D18; ++ ++ writel(reg_data, base + 0x1200); ++} ++ ++static void audio_setup_wins(void __iomem *base, ++ struct mbus_dram_target_info *dram) ++{ ++ int win_num; ++ ++ /* First disable and clear windows */ ++ for (win_num = 0; win_num < MV_AUDIO_MAX_ADDR_DECODE_WIN; win_num++) { ++ writel(0, base + MV_AUDIO_WIN_CTRL_REG(win_num)); ++ writel(0, base + MV_AUDIO_WIN_BASE_REG(win_num)); ++ } ++ ++ /* Setup windows for DDR */ ++ for (win_num = 0; win_num < MV_AUDIO_MAX_ADDR_DECODE_WIN; win_num++) { ++ /* We will set the Window to DRAM_CS1 in default */ ++ struct mbus_dram_window *cs = &dram->cs[1]; ++ ++ writel(cs->base & 0xffff0000, ++ base + MV_AUDIO_WIN_BASE_REG(win_num)); ++ writel(((cs->size - 1) & 0xffff0000) | ++ (cs->mbus_attr << 8) | ++ (dram->mbus_dram_target_id << 4) | 1, ++ base + MV_AUDIO_WIN_CTRL_REG(win_num)); ++ } ++} ++ ++#define MV_BOARD_TCLK_133MHZ 133333333 ++#define MV_BOARD_TCLK_150MHZ 150000000 ++#define MV_BOARD_TCLK_166MHZ 166666667 ++#define MV_BOARD_TCLK_200MHZ 200000000 ++ ++static int spdif_record_tclock_set(void __iomem *base, unsigned int tclk) ++{ ++ unsigned int reg_data; ++ ++ reg_data = readl(base + MV_AUDIO_SPDIF_REC_GEN_REG); ++ ++ switch (tclk) { ++ case MV_BOARD_TCLK_133MHZ: ++ reg_data |= ASRGR_CORE_CLK_FREQ_133MHZ; ++ break; ++ case MV_BOARD_TCLK_150MHZ: ++ reg_data |= ASRGR_CORE_CLK_FREQ_150MHZ; ++ break; ++ case MV_BOARD_TCLK_166MHZ: ++ reg_data |= ASRGR_CORE_CLK_FREQ_166MHZ; ++ break; ++ case MV_BOARD_TCLK_200MHZ: ++ reg_data |= ASRGR_CORE_CLK_FREQ_200MHZ; ++ break; ++ default: ++ snd_printk("Not supported core clock %d\n", tclk); ++ return 1; ++ } ++ ++ writel(reg_data, base + MV_AUDIO_SPDIF_REC_GEN_REG); ++ ++ return 0; ++} ++ ++static int mv_audio_record_control_set(struct mv_audio_record_ctrl *ctrl, ++ unsigned int audio_offset, void __iomem *base) ++{ ++ unsigned int reg, buff_start, buff_end; ++ unsigned int win_base, win_size; ++ ++ if (ctrl->monoChannel > AUDIO_REC_RIGHT_MONO) { ++ snd_printk("Error: Illegal monoChannel %x\n", ++ ctrl->monoChannel); ++ ++ return 1; ++ } ++ ++ if ((ctrl->burst != AUDIO_32BYTE_BURST) && ++ (ctrl->burst != AUDIO_128BYTE_BURST)) { ++ snd_printk("Error: Illegal burst %x\n", ++ ctrl->burst); ++ ++ return 1; ++ } ++ ++ if (ctrl->bufferPhyBase & (MV_AUDIO_BUFFER_MIN_ALIGN - 1)) { ++ snd_printk("Error bufferPhyBase is not aligned to 0x%x"\ ++ " bytes\n", MV_AUDIO_BUFFER_MIN_ALIGN); ++ ++ return 1; ++ } ++ ++ if ((ctrl->bufferSize <= audio_burst_bytes_num_get(ctrl->burst)) | ++ (ctrl->bufferSize & (audio_burst_bytes_num_get(ctrl->burst) - 1)) || ++ (ctrl->bufferSize > AUDIO_REG_TO_SIZE(APBBCR_SIZE_MAX))) { ++ snd_printk("Error bufferSize smaller than or not multiple "\ ++ "of 0x%x bytes or larger than 0x%x\n", ++ audio_burst_bytes_num_get(ctrl->burst), ++ AUDIO_REG_TO_SIZE(APBBCR_SIZE_MAX)); ++ ++ return 1; ++ } ++ ++ reg = readl(base + MV_AUDIO_RECORD_CTRL_REG); ++ reg &= ~(ARCR_RECORD_BURST_SIZE_MASK | ARCR_RECORDED_MONO_CHNL_MASK | ++ ARCR_RECORD_SAMPLE_SIZE_MASK); ++ ++ switch (ctrl->sampleSize) { ++ case SAMPLE_16BIT: ++ case SAMPLE_16BIT_NON_COMPACT: ++ case SAMPLE_20BIT: ++ case SAMPLE_24BIT: ++ case SAMPLE_32BIT: ++ reg |= ctrl->sampleSize << ARCR_RECORD_SAMPLE_SIZE_OFFS; ++ break; ++ default: ++ snd_printk("Error: Illegal sampleSize %x\n", ++ ctrl->sampleSize); ++ ++ return 1; ++ } ++ ++ reg |= ctrl->burst << ARCR_RECORD_BURST_SIZE_OFFS; ++ reg |= ctrl->monoChannel << ARCR_RECORDED_MONO_CHNL_OFFS; ++ ++ if (ctrl->mono) ++ reg |= ARCR_RECORD_MONO_MASK; ++ else ++ reg &= (~ARCR_RECORD_MONO_MASK); ++ ++ writel(reg, base + MV_AUDIO_RECORD_CTRL_REG); ++ ++ /* Get the details of the Record address window*/ ++ win_base = readl(base + MV_AUDIO_WIN_BASE_REG(MV_AUDIO_RECORD_WIN_NUM)); ++ win_size = readl(base + MV_AUDIO_WIN_CTRL_REG(MV_AUDIO_RECORD_WIN_NUM)); ++ ++ /* Window size bits are 31:16. Where size = ++ * (2 ^ no of ones) * 64 KB. e.g. 0x0FF says 16MB */ ++ win_size = ((win_size >> 16) + 1) << 16; ++ ++ buff_start = ctrl->bufferPhyBase; ++ buff_end = buff_start + ctrl->bufferSize - 1; ++ ++ /* If buffer address is not within window boundries then try to set a ++ * new value to the Record window by geting the target of where the ++ * buffer exist, if the buffer is within the window of the new target ++ * then set the Record window to that target else return Fail ++ */ ++ ++ if (!(((buff_start >= win_base) && ++ (buff_start <= (win_base + win_size - 1))) || ++ ((buff_end >= win_base) && ++ (buff_end <= (win_base + win_size - 1))))) { ++ snd_printd("Audio record buffer is not within window"); ++ ++ /* Set the window for the buffer that user require ++ for the palyback\recording window to the target window */ ++ if (set_window_as_per_baseadd(base, ctrl->bufferPhyBase, ++ audio_offset, MV_AUDIO_RECORD_WIN_NUM)) { ++ snd_printk("Playback buffer (%#x) is not " ++ "within a valid target\n", ++ ctrl->bufferPhyBase); ++ return 1; ++ } ++ } ++ ++ /* Set the interrupt byte count */ ++ reg = ctrl->intByteCount & ARBCI_BYTE_COUNT_MASK; ++ writel(reg, base + MV_AUDIO_RECORD_BYTE_CNTR_INT_REG); ++ ++ writel(ctrl->bufferPhyBase, base + MV_AUDIO_RECORD_START_ADDR_REG); ++ writel(AUDIO_SIZE_TO_REG(ctrl->bufferSize), ++ base + MV_AUDIO_RECORD_BUFF_SIZE_REG); ++ ++ ++ return 0; ++} ++ ++static int mv_i2s_record_cntrl_set(struct mv_i2s_record_ctrl *ctrl, ++ void __iomem *base) ++{ ++ unsigned int reg; ++ ++ reg = readl(base + MV_AUDIO_I2S_REC_CTRL_REG); ++ reg &= ~(AIRCR_I2S_RECORD_JUSTF_MASK|AIRCR_I2S_SAMPLE_SIZE_MASK); ++ ++ switch (ctrl->justf) { ++ case I2S_JUSTIFIED: ++ case LEFT_JUSTIFIED: ++ case RIGHT_JUSTIFIED: ++ case RISE_BIT_CLCK_JUSTIFIED: ++ reg |= ctrl->justf << AIRCR_I2S_RECORD_JUSTF_OFFS; ++ break; ++ default: ++ return 1; ++ } ++ ++ reg |= ctrl->sample << AIRCR_I2S_SAMPLE_SIZE_OFFS; ++ ++ writel(reg, base + MV_AUDIO_I2S_REC_CTRL_REG); ++ return 0; ++} ++ ++/* We trust the value set in the window registers and don't check them. ++ * As there is some value already present in the register, we assume ++ * base and size are aligned */ ++ ++static int set_window_as_per_baseadd(void __iomem *base, unsigned int baseadd, ++ unsigned int audio_offset, int win_num) ++{ ++ int dram_cs, win; ++ unsigned int win_base, win_size, size; ++ unsigned char dram_attr[4] = {0x0E, 0x0D, 0x0B, 0x07}; ++ ++ /* Base passed is Audio base address. Audio base address is ++ * Internal register base address + audio_offset */ ++ void __iomem *internal_reg_base = base - audio_offset; ++ ++ for (dram_cs = 0; dram_cs < 4; dram_cs++) { ++ win_base = readl(internal_reg_base + 0x1500 + (8 * dram_cs)); ++ win_size = readl(internal_reg_base + 0x1504 + (8 * dram_cs)); ++ ++ /* skip if window is disabled */ ++ if (!(win_size & 1)) ++ continue; ++ ++ /* Window size bits are 31:24. Where size = ++ * (2 ^ no of ones) * 16 MB. e.g. 0x0F says 256MB */ ++ size = ((win_size >> 24) + 1) << 24; ++ ++ if ((baseadd >= win_base) && (baseadd < (win_base + size))) { ++ snd_printd("DRAM window %d set for %s window", ++ dram_cs, win_num ? "plaback" : "record"); ++ writel(win_base, ++ base + MV_AUDIO_WIN_BASE_REG(win_num)); ++ ++ /* DRAM window ctrl regs are bit different than Audio ++ * Set size, attribute and target ID */ ++ win_size = ((size - 1) & 0xffff0000) | 1; ++ win_size |= (dram_attr[dram_cs] << 8); /* Atribute */ ++ win_size &= (~(0xF << 4)); /* Target ID */ ++ ++ writel(win_size, ++ base + MV_AUDIO_WIN_CTRL_REG(win_num)); ++ snd_printd("win_base 0x%08x\twin_size 0x%08x", ++ win_base, win_size); ++ return 0; ++ } ++ } ++ ++ for (win = 0; win < 8; win++) { ++ win_base = readl(internal_reg_base + 0x2004 + (0x10 * win)); ++ win_size = readl(internal_reg_base + 0x2008 + (0x10 * win)); ++ ++ /* skip if window is disabled */ ++ if (!(win_size & 1)) ++ continue; ++ ++ /* Window size bits are 31:16. Where size = ++ * (2 ^ no of ones) * 64 KB. e.g. 0x0FF says 16MB */ ++ size = ((win_size >> 16) + 1) << 16; ++ if ((baseadd >= win_base) && (baseadd < (win_base + size))) { ++ snd_printd("CPU window %d set for %s window", ++ win_base, win_num ? "plaback" : "record"); ++ writel(win_base, ++ base + MV_AUDIO_WIN_BASE_REG(win_num)); ++ writel(win_size, ++ base + MV_AUDIO_WIN_CTRL_REG(win_num)); ++ return 0; ++ } ++ } ++ ++ return 1; ++} ++ ++static int mv_audio_playback_control_set(void __iomem *base, unsigned int ++ audio_offset, struct mv_audio_playback_ctrl *ctrl) ++{ ++ unsigned int reg, buff_start, buff_end; ++ unsigned int win_base, win_size; ++ ++ if (ctrl->monoMode >= AUDIO_PLAY_OTHER_MONO) { ++ snd_printk("Error: Illegal monoMode %x\n", ctrl->monoMode); ++ return 1; ++ } ++ ++ if ((ctrl->burst != AUDIO_32BYTE_BURST) && ++ (ctrl->burst != AUDIO_128BYTE_BURST)) { ++ snd_printk("Error: Illegal burst %x\n", ctrl->burst); ++ return 1; ++ } ++ ++ if (ctrl->bufferPhyBase & (MV_AUDIO_BUFFER_MIN_ALIGN - 1)) { ++ snd_printk("Error, bufferPhyBase is not aligned to 0x%x "\ ++ "bytes\n", MV_AUDIO_BUFFER_MIN_ALIGN); ++ return 1; ++ } ++ ++ if ((ctrl->bufferSize <= audio_burst_bytes_num_get(ctrl->burst)) || ++ (ctrl->bufferSize & (audio_burst_bytes_num_get(ctrl->burst) - 1)) || ++ (ctrl->bufferSize > AUDIO_REG_TO_SIZE(APBBCR_SIZE_MAX))) { ++ snd_printk("Error, bufferSize smaller than or not multiple "\ ++ "of 0x%x bytes or larger than 0x%x", ++ audio_burst_bytes_num_get(ctrl->burst), ++ AUDIO_REG_TO_SIZE(APBBCR_SIZE_MAX)); ++ return 1; ++ } ++ ++ reg = readl(base + MV_AUDIO_PLAYBACK_CTRL_REG); ++ reg &= ~(APCR_PLAY_BURST_SIZE_MASK | APCR_LOOPBACK_MASK | ++ APCR_PLAY_MONO_MASK | APCR_PLAY_SAMPLE_SIZE_MASK); ++ reg |= ctrl->burst << APCR_PLAY_BURST_SIZE_OFFS; ++ reg |= ctrl->loopBack << APCR_LOOPBACK_OFFS; ++ reg |= ctrl->monoMode << APCR_PLAY_MONO_OFFS; ++ reg |= ctrl->sampleSize << APCR_PLAY_SAMPLE_SIZE_OFFS; ++ writel(reg, base + MV_AUDIO_PLAYBACK_CTRL_REG); ++ ++ /* Get the details of the Playback address window*/ ++ win_base = readl(base + ++ MV_AUDIO_WIN_BASE_REG(MV_AUDIO_PLAYBACK_WIN_NUM)); ++ win_size = readl(base + ++ MV_AUDIO_WIN_CTRL_REG(MV_AUDIO_PLAYBACK_WIN_NUM)); ++ ++ /* Window size bits are 31:16. Where size = ++ * (2 ^ no of ones) * 64 KB. e.g. 0x0FF says 16MB */ ++ win_size = ((win_size >> 16) + 1) << 16; ++ ++ buff_start = ctrl->bufferPhyBase; ++ buff_end = buff_start + ctrl->bufferSize - 1; ++ ++ /* If Playback window is not enabled or buffer address is not within ++ * window boundries then try to set a new value to the Playback window*/ ++ ++ if (!(((buff_start >= win_base) && ++ (buff_start <= (win_base + win_size - 1))) || ++ ((buff_end >= win_base) && ++ (buff_end <= (win_base + win_size - 1))))) { ++ snd_printd("Audio playback buffer is not within window\n"); ++ ++ /* Set the window for the buffer that user require ++ for the palyback\recording window to the target window */ ++ if (set_window_as_per_baseadd(base, ctrl->bufferPhyBase, ++ audio_offset, MV_AUDIO_PLAYBACK_WIN_NUM)) { ++ snd_printk("Record buffer (%#x) is not " ++ "within a valid target\n", ++ ctrl->bufferPhyBase); ++ return 1; ++ } ++ } ++ ++ /* Set the interrupt byte count */ ++ reg = ctrl->intByteCount & APBCI_BYTE_COUNT_MASK; ++ writel(reg, base + MV_AUDIO_PLAYBACK_BYTE_CNTR_INT_REG); ++ ++ writel(ctrl->bufferPhyBase, ++ base + MV_AUDIO_PLAYBACK_BUFF_START_REG); ++ writel(AUDIO_SIZE_TO_REG(ctrl->bufferSize), ++ base + MV_AUDIO_PLAYBACK_BUFF_SIZE_REG); ++ ++ return 0; ++} ++ ++static int mv_i2s_playback_ctrl_set(void __iomem *base, ++ struct mv_i2s_playback_ctrl *ctrl) ++{ ++ unsigned int reg_data; ++ ++ reg_data = readl(base + MV_AUDIO_I2S_PLAY_CTRL_REG); ++ reg_data &= ~(AIPCR_I2S_PB_JUSTF_MASK | AIPCR_I2S_PB_SAMPLE_SIZE_MASK); ++ ++ if (ctrl->sampleSize > SAMPLE_16BIT) { ++ snd_printk("Illigal sample size\n"); ++ return 1; ++ } ++ ++ reg_data |= ctrl->sampleSize << AIPCR_I2S_PB_SAMPLE_SIZE_OFFS; ++ ++ if (ctrl->sendLastFrame) ++ reg_data |= AIPCR_I2S_SEND_LAST_FRM_MASK; ++ else ++ reg_data &= ~AIPCR_I2S_SEND_LAST_FRM_MASK; ++ ++ switch (ctrl->justification) { ++ case I2S_JUSTIFIED: ++ case LEFT_JUSTIFIED: ++ case RIGHT_JUSTIFIED: ++ reg_data |= ctrl->justification << AIPCR_I2S_PB_JUSTF_OFFS; ++ break; ++ default: ++ snd_printk("Illigal justification value\n"); ++ return 1; ++ } ++ ++ writel(reg_data, base + MV_AUDIO_I2S_PLAY_CTRL_REG); ++ ++ return 0; ++} ++ ++static void mv_spdif_playback_ctrl_set(void __iomem *base, ++ struct mv_spdif_playback_ctrl *ctrl) ++{ ++ unsigned int reg_data; ++ ++ reg_data = readl(base + MV_AUDIO_SPDIF_PLAY_CTRL_REG); ++ ++ if (ctrl->blockStartInternally) ++ reg_data |= ASPCR_SPDIF_BLOCK_START_MASK; ++ else ++ reg_data &= ~ASPCR_SPDIF_BLOCK_START_MASK; ++ ++ if (ctrl->validityFromMemory) ++ reg_data |= ASPCR_SPDIF_PB_EN_MEM_VALIDITY_MASK; ++ else ++ reg_data &= ~ASPCR_SPDIF_PB_EN_MEM_VALIDITY_MASK; ++ ++ if (ctrl->userBitsFromMemory) ++ reg_data |= ASPCR_SPDIF_PB_MEM_USR_EN_MASK; ++ else ++ reg_data &= ~ASPCR_SPDIF_PB_MEM_USR_EN_MASK; ++ ++ if (ctrl->validity) ++ reg_data |= ASPCR_SPDIF_PB_REG_VALIDITY_MASK; ++ else ++ reg_data &= ~ASPCR_SPDIF_PB_REG_VALIDITY_MASK; ++ ++ if (ctrl->nonPcm) ++ reg_data |= ASPCR_SPDIF_PB_NONPCM_MASK; ++ else ++ reg_data &= ~ASPCR_SPDIF_PB_NONPCM_MASK; ++ ++ writel(reg_data, base + MV_AUDIO_SPDIF_PLAY_CTRL_REG); ++} ++ ++static int mv_audio_dco_ctrl_set(struct mv_audio_freq_data *dcoCtrl, ++ void __iomem *base) ++{ ++ unsigned int reg; ++ ++ /* Check parameters*/ ++ if (dcoCtrl->baseFreq > AUDIO_FREQ_96KH) { ++ snd_printk("dcoCtrl->baseFreq value (0x%x) invalid\n", ++ dcoCtrl->baseFreq); ++ return 1; ++ } ++ ++ if ((dcoCtrl->offset > 0xFD0) || (dcoCtrl->offset < 0x20)) { ++ snd_printk("dcoCtrl->offset value (0x%x) invalid\n", ++ dcoCtrl->baseFreq); ++ return 1; ++ } ++ ++ reg = readl(base + MV_AUDIO_DCO_CTRL_REG); ++ ++ reg &= ~(ADCR_DCO_CTRL_FS_MASK | ADCR_DCO_CTRL_OFFSET_MASK); ++ reg |= ((dcoCtrl->baseFreq << ADCR_DCO_CTRL_FS_OFFS) | ++ (dcoCtrl->offset << ADCR_DCO_CTRL_OFFSET_OFFS)); ++ ++ writel(reg, base + MV_AUDIO_DCO_CTRL_REG); ++ ++ return 0; ++} +diff --git a/sound/soc/kirkwood/kirkwood_audio_hal.h b/sound/soc/kirkwood/kirkwood_audio_hal.h +new file mode 100644 +index 0000000..ce08102 +--- /dev/null ++++ b/sound/soc/kirkwood/kirkwood_audio_hal.h +@@ -0,0 +1,109 @@ ++/* ++ * Sound driver data definition file for Marvell Kirkwood family SOCs ++ */ ++ ++#ifndef __AUDIO_HAL_H ++#define __AUDIO_HAL_H ++ ++#include "kirkwood_audio_regs.h" ++ ++#ifdef CONFIG_SND_SOC_CS42L51 ++#include "cs42l51.h" ++ ++#define codec_init cs42l51_init ++#define codec_vol_get cs42l51_vol_get ++#define codec_vol_set cs42l51_vol_set ++#define codec_del_i2c_device cs42l51_del_i2c_device ++#endif ++ ++#define CODEC_I2C_BUS_NO 0 ++#define CODEC_I2C_ADD 0x4A ++ ++/*********************************/ ++/* General enums and structures */ ++/*******************************/ ++/* Type of Audio operations*/ ++enum mv_audio_operation { ++ AUDIO_PLAYBACK = 0, ++ AUDIO_RECORD = 1 ++}; ++ ++struct mv_audio_freq_data{ ++ int baseFreq; /* Control FS, selects the base frequency ++ * of the DCO */ ++ u32 offset; /* Offset control in which each step equals to ++ * 0.9536 ppm */ ++}; ++ ++ ++/***********************************/ ++/* Play Back related structures */ ++/*********************************/ ++ ++struct mv_audio_playback_ctrl { ++ int burst; /* Specifies the Burst Size of the DMA */ ++ bool loopBack; /* When Loopback is enabled, playback data ++ * is looped back to be recorded */ ++ int monoMode; /* Mono Mode is used */ ++ unsigned int bufferPhyBase; /* Physical Address of DMA buffer */ ++ unsigned int bufferSize; /* Size of DMA buffer */ ++ unsigned int intByteCount; /* Number of bytes after which an ++ * interrupt will be issued.*/ ++ int sampleSize; /* Playback Sample Size*/ ++}; ++ ++struct mv_spdif_playback_ctrl { ++ bool nonPcm; /* PCM or non-PCM mode*/ ++ bool validity; /* Validity bit value when using ++ * registers (userBitsFromMemory=0) */ ++ bool underrunData; /* If true send last frame on mute/pause/ ++ * underrun otherwise send 24 binary */ ++ bool userBitsFromMemory; /* otherwise from intenal registers */ ++ bool validityFromMemory; /* otherwise from internal registers */ ++ bool blockStartInternally; /* When user and valid bits are form ++ * registers then this bit should be zero */ ++}; ++ ++struct mv_i2s_playback_ctrl { ++ int sampleSize; ++ int justification; ++ bool sendLastFrame; /* If true send last frame on ++ * mute/pause/underrun ++ * otherwise send 64 binary*/ ++}; ++ ++ ++/*********************************/ ++/* Recording related structures */ ++/*********************************/ ++ ++struct mv_audio_record_ctrl { ++ int burst; /* Recording DMA Burst Size */ ++ int sampleSize; /*Recording Sample Size */ ++ bool mono; /* If true then recording mono else ++ * recording stereo */ ++ int monoChannel; /* Left or right moono */ ++ u32 bufferPhyBase; /* Physical Address of DMA buffer */ ++ u32 bufferSize; /* Size of DMA buffer */ ++ ++ u32 intByteCount; /* Number of bytes after which an ++ * interrupt will be issued.*/ ++ ++}; ++ ++struct mv_i2s_record_ctrl { ++ int sample; /* I2S Recording Sample Size*/ ++ int justf; ++}; ++ ++/******************/ ++/* Functions API */ ++/****************/ ++ ++extern struct mv88fx_snd_chip *chip; ++ ++int mv88fx_snd_hw_init(struct snd_card *card); ++int mv88fx_snd_hw_capture_set(struct mv88fx_snd_chip *chip); ++int mv88fx_snd_hw_playback_set(struct mv88fx_snd_chip *chip); ++ ++#endif +diff --git a/sound/soc/kirkwood/kirkwood_audio_regs.h b/sound/soc/kirkwood/kirkwood_audio_regs.h +new file mode 100644 +index 0000000..1d3df15 +--- /dev/null ++++ b/sound/soc/kirkwood/kirkwood_audio_regs.h +@@ -0,0 +1,310 @@ ++/* ++ * Audio registers for Marvell Kirkwood family SOCs ++ */ ++ ++#ifndef __KW_AUDIO_REGS_H ++#define __KW_AUDIO_REGS_H ++ ++enum mv_audio_freq { ++ AUDIO_FREQ_44_1KH = 0, /* 11.2896Mhz */ ++ AUDIO_FREQ_48KH = 1, /* 12.288Mhz */ ++ AUDIO_FREQ_96KH = 2, /* 24.576Mhz */ ++ AUDIO_FREQ_LOWER_44_1KH = 3 , /* Lower than 11.2896MHz */ ++ AUDIO_FREQ_HIGHER_96KH = 4, /* Higher than 24.576MHz */ ++ AUDIO_FREQ_OTHER = 7, /* Other frequency */ ++}; ++ ++enum mv_audio_burst_size { ++ AUDIO_32BYTE_BURST = 1, ++ AUDIO_128BYTE_BURST = 2, ++}; ++ ++enum mv_audio_playback_mono { ++ AUDIO_PLAY_MONO_OFF = 0, ++ AUDIO_PLAY_LEFT_MONO = 1, ++ AUDIO_PLAY_RIGHT_MONO = 2, ++ AUDIO_PLAY_BOTH_MONO = 3, ++ AUDIO_PLAY_OTHER_MONO = 4 ++}; ++ ++enum mv_audio_record_mono { ++ AUDIO_REC_LEFT_MONO = 0, ++ AUDIO_REC_RIGHT_MONO = 1, ++}; ++ ++enum mv_audio_sample_size { ++ SAMPLE_32BIT = 0, ++ SAMPLE_24BIT = 1, ++ SAMPLE_20BIT = 2, ++ SAMPLE_16BIT = 3, ++ SAMPLE_16BIT_NON_COMPACT = 7 ++}; ++ ++enum mv_audio_i2s_justification { ++ LEFT_JUSTIFIED = 0, ++ I2S_JUSTIFIED = 5, ++ RISE_BIT_CLCK_JUSTIFIED = 7, ++ RIGHT_JUSTIFIED = 8, ++}; ++ ++#define APBBCR_SIZE_MAX 0x3FFFFF ++#define APBBCR_SIZE_SHIFT 0x2 ++ ++#define AUDIO_REG_TO_SIZE(reg) (((reg) + 1) << APBBCR_SIZE_SHIFT) ++#define AUDIO_SIZE_TO_REG(size) (((size) >> APBBCR_SIZE_SHIFT) - 1) ++ ++#define MV_AUDIO_BUFFER_MIN_ALIGN 0x8 ++ ++/********************/ ++/* Clocking Control*/ ++/*******************/ ++ ++#define MV_AUDIO_DCO_CTRL_REG 0x1204 ++#define MV_AUDIO_SPCR_DCO_STATUS_REG 0x120c ++#define MV_AUDIO_SAMPLE_CNTR_CTRL_REG 0x1220 ++#define MV_AUDIO_PLAYBACK_SAMPLE_CNTR_REG 0x1224 ++#define MV_AUDIO_RECORD_SAMPLE_CNTR_REG 0x1228 ++#define MV_AUDIO_CLOCK_CTRL_REG 0x1230 ++ ++/* MV_AUDIO_DCO_CTRL_REG */ ++#define ADCR_DCO_CTRL_FS_OFFS 0 ++#define ADCR_DCO_CTRL_FS_MASK (0x3 << ADCR_DCO_CTRL_FS_OFFS) ++#define ADCR_DCO_CTRL_FS_44_1KHZ (0x0 << ADCR_DCO_CTRL_FS_OFFS) ++#define ADCR_DCO_CTRL_FS_48KHZ (0x1 << ADCR_DCO_CTRL_FS_OFFS) ++#define ADCR_DCO_CTRL_FS_96KHZ (0x2 << ADCR_DCO_CTRL_FS_OFFS) ++ ++ ++#define ADCR_DCO_CTRL_OFFSET_OFFS 2 ++#define ADCR_DCO_CTRL_OFFSET_MASK (0xfff << ADCR_DCO_CTRL_OFFSET_OFFS) ++ ++/* MV_AUDIO_SPCR_DCO_STATUS_REG */ ++#define ASDSR_SPCR_CTRLFS_OFFS 0 ++#define ASDSR_SPCR_CTRLFS_MASK (0x7 << ASDSR_SPCR_CTRLFS_OFFS) ++#define ASDSR_SPCR_CTRLFS_44_1KHZ (0x0 << ASDSR_SPCR_CTRLFS_OFFS) ++#define ASDSR_SPCR_CTRLFS_48KHZ (0x1 << ASDSR_SPCR_CTRLFS_OFFS) ++#define ASDSR_SPCR_CTRLFS_96KHZ (0x2 << ASDSR_SPCR_CTRLFS_OFFS) ++#define ASDSR_SPCR_CTRLFS_44_1KHZ_LESS (0x3 << ASDSR_SPCR_CTRLFS_OFFS) ++#define ASDSR_SPCR_CTRLFS_96KHZ_MORE (0x4 << ASDSR_SPCR_CTRLFS_OFFS) ++#define ASDSR_SPCR_CTRLFS_OTHER (0x7 << ASDSR_SPCR_CTRLFS_OFFS) ++ ++ ++#define ASDSR_SPCR_CTRLOFFSET_OFFS 3 ++#define ASDSR_SPCR_CTRLOFFSET_MASK (0xfff << ASDSR_SPCR_CTRLOFFSET_OFFS) ++ ++#define ASDSR_SPCR_LOCK_OFFS 15 ++#define ASDSR_SPCR_LOCK_MASK (0x1 << ASDSR_SPCR_LOCK_OFFS) ++ ++#define ASDSR_DCO_LOCK_OFFS 16 ++#define ASDSR_DCO_LOCK_MASK (0x1 << ASDSR_DCO_LOCK_OFFS) ++ ++#define ASDSR_PLL_LOCK_OFFS 17 ++#define ASDSR_PLL_LOCK_MASK (0x1 << ASDSR_PLL_LOCK_OFFS) ++ ++/*MV_AUDIO_SAMPLE_CNTR_CTRL_REG */ ++ ++#define ASCCR_CLR_PLAY_CNTR_OFFS 9 ++#define ASCCR_CLR_PLAY_CNTR_MASK (0x1 << ASCCR_CLR_PLAY_CNTR_OFFS) ++ ++#define ASCCR_CLR_REC_CNTR_OFFS 8 ++#define ASCCR_CLR_REC_CNTR_MASK (0x1 << ASCCR_CLR_REC_CNTR_OFFS) ++ ++#define ASCCR_ACTIVE_PLAY_CNTR_OFFS 1 ++#define ASCCR_ACTIVE_PLAY_CNTR_MASK (0x1 << ASCCR_ACTIVE_PLAY_CNTR_OFFS) ++ ++#define ASCCR_ACTIVE_REC_CNTR_OFFS 0 ++#define ASCCR_ACTIVE_REC_CNTR_MASK (0x1 << ASCCR_ACTIVE_REC_CNTR_OFFS) ++ ++/* MV_AUDIO_CLOCK_CTRL_REG */ ++#define ACCR_MCLK_SOURCE_OFFS 0 ++#define ACCR_MCLK_SOURCE_MASK (0x3 << ACCR_MCLK_SOURCE_OFFS) ++#define ACCR_MCLK_SOURCE_DCO (0x0 << ACCR_MCLK_SOURCE_OFFS) ++#define ACCR_MCLK_SOURCE_SPCR (0x2 << ACCR_MCLK_SOURCE_OFFS) ++#define ACCR_MCLK_SOURCE_EXT (0x3 << ACCR_MCLK_SOURCE_OFFS) ++ ++ ++/*********************/ ++/* Interrupts */ ++/*******************/ ++#define MV_AUDIO_ERROR_CAUSE_REG 0x1300 ++#define MV_AUDIO_ERROR_MASK_REG 0x1304 ++#define MV_AUDIO_INT_CAUSE_REG 0x1308 ++#define MV_AUDIO_INT_MASK_REG 0x130C ++#define MV_AUDIO_RECORD_BYTE_CNTR_INT_REG 0x1310 ++#define MV_AUDIO_PLAYBACK_BYTE_CNTR_INT_REG 0x1314 ++ ++/* MV_AUDIO_INT_CAUSE_REG*/ ++#define AICR_RECORD_BYTES_INT (0x1 << 13) ++#define AICR_PLAY_BYTES_INT (0x1 << 14) ++ ++#define ARBCI_BYTE_COUNT_MASK 0xFFFFFF ++#define APBCI_BYTE_COUNT_MASK 0xFFFFFF ++ ++/*********************/ ++/* Audio Playback */ ++/*******************/ ++/* General */ ++#define MV_AUDIO_PLAYBACK_CTRL_REG 0x1100 ++#define MV_AUDIO_PLAYBACK_BUFF_START_REG 0x1104 ++#define MV_AUDIO_PLAYBACK_BUFF_SIZE_REG 0x1108 ++#define MV_AUDIO_PLAYBACK_BUFF_BYTE_CNTR_REG 0x110c ++ ++/* SPDIF */ ++#define MV_AUDIO_SPDIF_PLAY_CTRL_REG 0x2204 ++#define MV_AUDIO_SPDIF_PLAY_CH_STATUS_LEFT_REG(ind) \ ++ (0x2280 + (ind << 2)) ++#define MV_AUDIO_SPDIF_PLAY_CH_STATUS_RIGHT_REG(ind) \ ++ (0x22a0 + (ind << 2)) ++#define MV_AUDIO_SPDIF_PLAY_USR_BITS_LEFT_REG(ind) \ ++ (0x22c0 + (ind << 2)) ++#define MV_AUDIO_SPDIF_PLAY_USR_BITS_RIGHT_REG(ind) \ ++ (0x22e0 + (ind << 2)) ++ ++/* I2S */ ++#define MV_AUDIO_I2S_PLAY_CTRL_REG 0x2508 ++ ++ ++/* MV_AUDIO_PLAYBACK_CTRL_REG */ ++#define APCR_PLAY_SAMPLE_SIZE_OFFS 0 ++#define APCR_PLAY_SAMPLE_SIZE_MASK (0x7 << APCR_PLAY_SAMPLE_SIZE_OFFS) ++ ++#define APCR_PLAY_I2S_ENABLE_OFFS 3 ++#define APCR_PLAY_I2S_ENABLE_MASK (0x1 << APCR_PLAY_I2S_ENABLE_OFFS) ++ ++#define APCR_PLAY_SPDIF_ENABLE_OFFS 4 ++#define APCR_PLAY_SPDIF_ENABLE_MASK (0x1 << APCR_PLAY_SPDIF_ENABLE_OFFS) ++ ++#define APCR_PLAY_MONO_OFFS 5 ++#define APCR_PLAY_MONO_MASK (0x3 << APCR_PLAY_MONO_OFFS) ++ ++#define APCR_PLAY_I2S_MUTE_OFFS 7 ++#define APCR_PLAY_I2S_MUTE_MASK (0x1 << APCR_PLAY_I2S_MUTE_OFFS) ++ ++#define APCR_PLAY_SPDIF_MUTE_OFFS 8 ++#define APCR_PLAY_SPDIF_MUTE_MASK (0x1 << APCR_PLAY_SPDIF_MUTE_OFFS) ++ ++#define APCR_PLAY_PAUSE_OFFS 9 ++#define APCR_PLAY_PAUSE_MASK (0x1 << APCR_PLAY_PAUSE_OFFS) ++ ++#define APCR_LOOPBACK_OFFS 10 ++#define APCR_LOOPBACK_MASK (0x1 << APCR_LOOPBACK_OFFS) ++ ++#define APCR_PLAY_BURST_SIZE_OFFS 11 ++#define APCR_PLAY_BURST_SIZE_MASK (0x3 << APCR_PLAY_BURST_SIZE_OFFS) ++ ++#define APCR_PLAY_BUSY_OFFS 16 ++#define APCR_PLAY_BUSY_MASK (0x1 << APCR_PLAY_BUSY_OFFS) ++ ++/* MV_AUDIO_PLAYBACK_BUFF_BYTE_CNTR_REG */ ++#define APBBCR_SIZE_MAX 0x3FFFFF ++#define APBBCR_SIZE_SHIFT 0x2 ++ ++ ++/* MV_AUDIO_SPDIF_PLAY_CTRL_REG */ ++#define ASPCR_SPDIF_BLOCK_START_OFFS 0x0 ++#define ASPCR_SPDIF_BLOCK_START_MASK (0x1 << ASPCR_SPDIF_BLOCK_START_OFFS) ++ ++#define ASPCR_SPDIF_PB_EN_MEM_VALIDITY_OFFS 0x1 ++#define ASPCR_SPDIF_PB_EN_MEM_VALIDITY_MASK (0x1 << \ ++ ASPCR_SPDIF_PB_EN_MEM_VALIDITY_OFFS) ++ ++#define ASPCR_SPDIF_PB_MEM_USR_EN_OFFS 0x2 ++#define ASPCR_SPDIF_PB_MEM_USR_EN_MASK (0x1 << ASPCR_SPDIF_PB_MEM_USR_EN_OFFS) ++ ++#define ASPCR_SPDIF_UNDERRUN_DATA_OFFS 0x5 ++#define ASPCR_SPDIF_UNDERRUN_DATA_MASK (0x1 << ASPCR_SPDIF_UNDERRUN_DATA_OFFS) ++ ++#define ASPCR_SPDIF_PB_REG_VALIDITY_OFFS 16 ++#define ASPCR_SPDIF_PB_REG_VALIDITY_MASK (0x1 << \ ++ ASPCR_SPDIF_PB_REG_VALIDITY_OFFS) ++ ++#define ASPCR_SPDIF_PB_NONPCM_OFFS 17 ++#define ASPCR_SPDIF_PB_NONPCM_MASK (0x1 << ASPCR_SPDIF_PB_NONPCM_OFFS) ++ ++ ++/* MV_AUDIO_I2S_PLAY_CTRL_REG */ ++#define AIPCR_I2S_SEND_LAST_FRM_OFFS 23 ++#define AIPCR_I2S_SEND_LAST_FRM_MASK (1 << AIPCR_I2S_SEND_LAST_FRM_OFFS) ++ ++#define AIPCR_I2S_PB_JUSTF_OFFS 26 ++#define AIPCR_I2S_PB_JUSTF_MASK (0xf << AIPCR_I2S_PB_JUSTF_OFFS) ++ ++#define AIPCR_I2S_PB_SAMPLE_SIZE_OFFS 30 ++#define AIPCR_I2S_PB_SAMPLE_SIZE_MASK (0x3 << AIPCR_I2S_PB_SAMPLE_SIZE_OFFS) ++ ++/*********************/ ++/* Audio Recordnig */ ++/*******************/ ++/* General */ ++#define MV_AUDIO_RECORD_CTRL_REG 0x1000 ++#define MV_AUDIO_RECORD_START_ADDR_REG 0x1004 ++#define MV_AUDIO_RECORD_BUFF_SIZE_REG 0x1008 ++#define MV_AUDIO_RECORD_BUF_BYTE_CNTR_REG 0x100C ++ ++/* SPDIF */ ++#define MV_AUDIO_SPDIF_REC_GEN_REG 0x2004 ++#define MV_AUDIO_SPDIF_REC_INT_CAUSE_MASK_REG 0x2008 ++#define MV_AUDIO_SPDIF_REC_CH_STATUS_LEFT_REG(ind) \ ++ (0x2180 + ((ind) << 2)) ++#define MV_AUDIO_SPDIF_REC_CH_STATUS_RIGHT_REG(ind) \ ++ (0x21a0 + ((ind) << 2)) ++#define MV_AUDIO_SPDIF_REC_USR_BITS_LEFT_REG(ind) \ ++ (0x21c0 + ((ind) << 2)) ++#define MV_AUDIO_SPDIF_REC_USR_BITS_RIGHT_REG(ind) \ ++ (0x21e0 + ((ind) << 2)) ++ ++/* I2S */ ++#define MV_AUDIO_I2S_REC_CTRL_REG 0x2408 ++ ++ ++/* MV_AUDIO_RECORD_CTRL_REG*/ ++#define ARCR_RECORD_SAMPLE_SIZE_OFFS 0 ++#define ARCR_RECORD_SAMPLE_SIZE_MASK (0x7 << ARCR_RECORD_SAMPLE_SIZE_OFFS) ++ ++#define ARCR_RECORDED_MONO_CHNL_OFFS 3 ++#define ARCR_RECORDED_MONO_CHNL_MASK (0x1 << ARCR_RECORDED_MONO_CHNL_OFFS) ++ ++#define ARCR_RECORD_MONO_OFFS 4 ++#define ARCR_RECORD_MONO_MASK (0x1 << ARCR_RECORD_MONO_OFFS) ++ ++#define ARCR_RECORD_BURST_SIZE_OFFS 5 ++#define ARCR_RECORD_BURST_SIZE_MASK (0x3 << ARCR_RECORD_BURST_SIZE_OFFS) ++ ++#define ARCR_RECORD_MUTE_OFFS 8 ++#define ARCR_RECORD_MUTE_MASK (0x1 << ARCR_RECORD_MUTE_OFFS) ++ ++#define ARCR_RECORD_PAUSE_OFFS 9 ++#define ARCR_RECORD_PAUSE_MASK (0x1 << ARCR_RECORD_PAUSE_OFFS) ++ ++#define ARCR_RECORD_I2S_EN_OFFS 10 ++#define ARCR_RECORD_I2S_EN_MASK (0x1 << ARCR_RECORD_I2S_EN_OFFS) ++ ++#define ARCR_RECORD_SPDIF_EN_OFFS 11 ++#define ARCR_RECORD_SPDIF_EN_MASK (0x1 << ARCR_RECORD_SPDIF_EN_OFFS) ++ ++ ++/* MV_AUDIO_SPDIF_REC_GEN_REG*/ ++#define ASRGR_CORE_CLK_FREQ_OFFS 1 ++#define ASRGR_CORE_CLK_FREQ_MASK (0x3 << ASRGR_CORE_CLK_FREQ_OFFS) ++#define ASRGR_CORE_CLK_FREQ_133MHZ (0x0 << ASRGR_CORE_CLK_FREQ_OFFS) ++#define ASRGR_CORE_CLK_FREQ_150MHZ (0x1 << ASRGR_CORE_CLK_FREQ_OFFS) ++#define ASRGR_CORE_CLK_FREQ_166MHZ (0x2 << ASRGR_CORE_CLK_FREQ_OFFS) ++#define ASRGR_CORE_CLK_FREQ_200MHZ (0x3 << ASRGR_CORE_CLK_FREQ_OFFS) ++ ++#define ASRGR_VALID_PCM_INFO_OFFS 7 ++#define ASRGR_VALID_PCM_INFO_MASK (0x1 << ASRGR_VALID_PCM_INFO_OFFS) ++ ++#define ASRGR_SAMPLE_FREQ_OFFS 8 ++#define ASRGR_SAMPLE_FREQ_MASK (0xf << ASRGR_SAMPLE_FREQ_OFFS) ++ ++#define ASRGR_NON_PCM_OFFS 14 ++#define ASRGR_NON_PCM_MASK (1 << ASRGR_NON_PCM_OFFS) ++ ++/* MV_AUDIO_I2S_REC_CTRL_REG*/ ++#define AIRCR_I2S_RECORD_JUSTF_OFFS 26 ++#define AIRCR_I2S_RECORD_JUSTF_MASK (0xf << AIRCR_I2S_RECORD_JUSTF_OFFS) ++ ++#define AIRCR_I2S_SAMPLE_SIZE_OFFS 30 ++#define AIRCR_I2S_SAMPLE_SIZE_MASK (0x3 << AIRCR_I2S_SAMPLE_SIZE_OFFS) ++ ++#endif /* __KW_AUDIO_REGS_H */ ++ +diff --git a/sound/soc/kirkwood/kirkwood_pcm.c b/sound/soc/kirkwood/kirkwood_pcm.c +new file mode 100644 +index 0000000..ed35851 +--- /dev/null ++++ b/sound/soc/kirkwood/kirkwood_pcm.c +@@ -0,0 +1,1505 @@ ++/* ++ * ++ * Marvell Orion Alsa Sound driver ++ * ++ * Author: Maen Suleiman ++ * Copyright (C) 2008 Marvell Ltd. ++ * ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ */ ++ ++#include <linux/interrupt.h> ++#include <linux/dma-mapping.h> ++#include <linux/platform_device.h> ++#include <linux/mv88fx_audio.h> ++ ++#include <sound/core.h> ++#include <sound/control.h> ++#include <sound/pcm.h> ++#include <sound/asoundef.h> ++ ++#include "kirkwood_audio_hal.h" ++ ++struct mv88fx_snd_chip *chip; ++ ++static int test_memory(struct mbus_dram_target_info *dram_info, ++ unsigned int base, unsigned int size) ++{ ++ unsigned int i; ++ ++ for (i = 0; i <= dram_info->num_cs; i++) { ++ ++ /* check if we get to end */ ++ if ((dram_info->cs[i].base == 0) && ++ (dram_info->cs[i].size == 0)) ++ break; ++ ++ /* check if we fit into one memory window only */ ++ if ((base >= dram_info->cs[i].base) && ++ ((base + size) <= dram_info->cs[i].base + ++ dram_info->cs[i].size)) ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static void devdma_hw_free(struct device *dev, struct snd_pcm_substream ++ *substream) ++{ ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ struct snd_dma_buffer *buf = runtime->dma_buffer_p; ++ ++ if (runtime->dma_area == NULL) ++ return; ++ ++ if (buf != &substream->dma_buffer) ++ kfree(runtime->dma_buffer_p); ++ ++ snd_pcm_set_runtime_buffer(substream, NULL); ++} ++ ++static int devdma_hw_alloc(struct device *dev, struct snd_pcm_substream ++ *substream, size_t size) ++{ ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ struct snd_dma_buffer *buf = runtime->dma_buffer_p; ++ struct mv88fx_snd_stream *audio_stream = ++ snd_pcm_substream_chip(substream); ++ ++ int ret = 0; ++ ++ if (buf) { ++ if (buf->bytes >= size) { ++ snd_printd("buf->bytes >= size\n"); ++ goto out; ++ } ++ devdma_hw_free(dev, substream); ++ } ++ ++ if (substream->dma_buffer.area != NULL && ++ substream->dma_buffer.bytes >= size) { ++ buf = &substream->dma_buffer; ++ } else { ++ buf = kmalloc(sizeof(struct snd_dma_buffer), GFP_KERNEL); ++ if (!buf) { ++ snd_printk("buf == NULL\n"); ++ goto nomem; ++ } ++ ++ buf->dev.type = SNDRV_DMA_TYPE_DEV; ++ buf->dev.dev = dev; ++ buf->area = audio_stream->area; ++ buf->addr = audio_stream->addr; ++ buf->bytes = size; ++ buf->private_data = NULL; ++ ++ if (!buf->area) { ++ snd_printk("buf->area == NULL\n"); ++ goto free; ++ } ++ } ++ ++ snd_pcm_set_runtime_buffer(substream, buf); ++ ret = 1; ++out: ++ runtime->dma_bytes = size; ++ return ret; ++ ++free: ++ kfree(buf); ++nomem: ++ return -ENOMEM; ++} ++ ++static int devdma_mmap(struct device *dev, struct snd_pcm_substream *substream, ++ struct vm_area_struct *vma) ++{ ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ return dma_mmap_coherent(dev, vma, runtime->dma_area, ++ runtime->dma_addr, runtime->dma_bytes); ++} ++ ++/* ++ * hw preparation for spdif ++ */ ++ ++static int mv88fx_snd_spdif_mask_info(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_info *uinfo) ++{ ++ uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958; ++ uinfo->count = 1; ++ return 0; ++} ++ ++static int mv88fx_snd_spdif_mask_get(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ ucontrol->value.iec958.status[0] = 0xff; ++ ucontrol->value.iec958.status[1] = 0xff; ++ ucontrol->value.iec958.status[2] = 0xff; ++ ucontrol->value.iec958.status[3] = 0xff; ++ return 0; ++} ++ ++static struct snd_kcontrol_new mv88fx_snd_spdif_mask = { ++ .access = SNDRV_CTL_ELEM_ACCESS_READ, ++ .iface = SNDRV_CTL_ELEM_IFACE_PCM, ++ .name = SNDRV_CTL_NAME_IEC958("", PLAYBACK, CON_MASK), ++ .info = mv88fx_snd_spdif_mask_info, ++ .get = mv88fx_snd_spdif_mask_get, ++}; ++ ++static int mv88fx_snd_spdif_stream_info(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_info *uinfo) ++{ ++ uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958; ++ uinfo->count = 1; ++ return 0; ++} ++ ++static int mv88fx_snd_spdif_stream_get(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct mv88fx_snd_chip *chip = snd_kcontrol_chip(kcontrol); ++ int i, word; ++ ++ spin_lock_irq(&chip->reg_lock); ++ ++ for (word = 0; word < 4; word++) { ++ chip->stream[PLAYBACK]->spdif_status[word] = ++ readl(chip->base + ++ MV_AUDIO_SPDIF_PLAY_CH_STATUS_LEFT_REG(word)); ++ ++ for (i = 0; i < 4; i++) ++ ucontrol->value.iec958.status[word + i] = ++ (chip->stream[PLAYBACK]->spdif_status[word] >> ++ (i * 8)) & 0xff; ++ } ++ ++ spin_unlock_irq(&chip->reg_lock); ++ return 0; ++} ++ ++static int mv88fx_snd_spdif_stream_put(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct mv88fx_snd_chip *chip = snd_kcontrol_chip(kcontrol); ++ int i, change = 0, word; ++ ++ spin_lock_irq(&chip->reg_lock); ++ ++ for (word = 0; word < 4; word++) { ++ for (i = 0; i < 4; i++) { ++ chip->stream[PLAYBACK]->spdif_status[word] |= ++ ucontrol->value.iec958.status[word + i] << (i * 8); ++ } ++ ++ writel(chip->stream[PLAYBACK]->spdif_status[word], ++ chip->base + MV_AUDIO_SPDIF_PLAY_CH_STATUS_LEFT_REG(word)); ++ ++ writel(chip->stream[PLAYBACK]->spdif_status[word], ++ chip->base + MV_AUDIO_SPDIF_PLAY_CH_STATUS_RIGHT_REG(word)); ++ } ++ ++ if (chip->stream[PLAYBACK]->spdif_status[0] & IEC958_AES0_NONAUDIO) ++ chip->pcm_mode = NON_PCM; ++ ++ spin_unlock_irq(&chip->reg_lock); ++ ++ return change; ++} ++ ++static struct snd_kcontrol_new mv88fx_snd_spdif_stream = { ++ .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | ++ SNDRV_CTL_ELEM_ACCESS_INACTIVE, ++ .iface = SNDRV_CTL_ELEM_IFACE_PCM, ++ .name = SNDRV_CTL_NAME_IEC958("", PLAYBACK, PCM_STREAM), ++ .info = mv88fx_snd_spdif_stream_info, ++ .get = mv88fx_snd_spdif_stream_get, ++ .put = mv88fx_snd_spdif_stream_put ++}; ++ ++ ++static int mv88fx_snd_spdif_default_info(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_info *uinfo) ++{ ++ uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958; ++ uinfo->count = 1; ++ return 0; ++} ++ ++static int mv88fx_snd_spdif_default_get(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct mv88fx_snd_chip *chip = snd_kcontrol_chip(kcontrol); ++ int i, word; ++ ++ spin_lock_irq(&chip->reg_lock); ++ ++ for (word = 0; word < 4; word++) { ++ chip->stream_defaults[PLAYBACK]->spdif_status[word] = ++ readl(chip->base + ++ MV_AUDIO_SPDIF_PLAY_CH_STATUS_LEFT_REG(word)); ++ ++ for (i = 0; i < 4; i++) ++ ucontrol->value.iec958.status[word + i] = ++ (chip->stream_defaults[PLAYBACK]->spdif_status[word] >> ++ (i * 8)) & 0xff; ++ } ++ ++ spin_unlock_irq(&chip->reg_lock); ++ ++ return 0; ++} ++ ++static int mv88fx_snd_spdif_default_put(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct mv88fx_snd_chip *chip = snd_kcontrol_chip(kcontrol); ++ int i, change = 0, word; ++ ++ spin_lock_irq(&chip->reg_lock); ++ ++ for (word = 0; word < 4; word++) { ++ for (i = 0; i < 4; i++) { ++ chip->stream_defaults[PLAYBACK]->spdif_status[word] |= ++ ucontrol->value.iec958.status[word + i] << (i * 8); ++ } ++ ++ writel(chip->stream_defaults[PLAYBACK]->spdif_status[word], ++ chip->base + MV_AUDIO_SPDIF_PLAY_CH_STATUS_LEFT_REG(word)); ++ ++ writel(chip->stream_defaults[PLAYBACK]->spdif_status[word], ++ chip->base + MV_AUDIO_SPDIF_PLAY_CH_STATUS_RIGHT_REG(word)); ++ } ++ ++ if (chip->stream_defaults[PLAYBACK]->spdif_status[0] & ++ IEC958_AES0_NONAUDIO) ++ chip->pcm_mode = NON_PCM; ++ ++ spin_unlock_irq(&chip->reg_lock); ++ ++ return change; ++} ++ ++/* static struct snd_kcontrol_new mv88fx_snd_spdif_default __devinitdata = */ ++static struct snd_kcontrol_new mv88fx_snd_spdif_default = { ++ .iface = SNDRV_CTL_ELEM_IFACE_PCM, ++ .name = SNDRV_CTL_NAME_IEC958("", PLAYBACK, DEFAULT), ++ .info = mv88fx_snd_spdif_default_info, ++ .get = mv88fx_snd_spdif_default_get, ++ .put = mv88fx_snd_spdif_default_put ++}; ++ ++unsigned char mv88fx_snd_vol[2]; ++ ++static int mv88fx_snd_mixer_vol_info(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_info *uinfo) ++{ ++ uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; ++ uinfo->count = 2; ++ uinfo->value.integer.min = 0; ++ uinfo->value.integer.max = 39; ++ return 0; ++} ++ ++static int mv88fx_snd_mixer_vol_get(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ codec_vol_get(mv88fx_snd_vol); ++ ++ ucontrol->value.integer.value[0] = (long)mv88fx_snd_vol[0]; ++ ucontrol->value.integer.value[1] = (long)mv88fx_snd_vol[1]; ++ ++ return 0; ++} ++ ++static int mv88fx_snd_mixer_vol_put(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ mv88fx_snd_vol[0] = (unsigned char)ucontrol->value.integer.value[0]; ++ mv88fx_snd_vol[1] = (unsigned char)ucontrol->value.integer.value[1]; ++ ++ codec_vol_set(mv88fx_snd_vol); ++ ++ return 0; ++} ++ ++static struct snd_kcontrol_new mv88fx_snd_dac_vol = { ++ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, ++ .name = "Playback DAC Volume", ++ .info = mv88fx_snd_mixer_vol_info, ++ .get = mv88fx_snd_mixer_vol_get, ++ .put = mv88fx_snd_mixer_vol_put ++}; ++ ++struct mv88fx_snd_mixer_enum { ++ char **names; /* enum names*/ ++ int *values; /* values to be updated*/ ++ int count; /* number of elements */ ++ void *rec; /* field to be updated*/ ++}; ++ ++int mv88fx_snd_mixer_enum_info(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_info *uinfo) ++{ ++ struct mv88fx_snd_mixer_enum *mixer_enum = ++ (struct mv88fx_snd_mixer_enum *)kcontrol->private_value; ++ ++ uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; ++ uinfo->count = 1; ++ uinfo->value.enumerated.items = mixer_enum->count; ++ ++ if (uinfo->value.enumerated.item >= uinfo->value.enumerated.items) ++ uinfo->value.enumerated.item--; ++ ++ strcpy(uinfo->value.enumerated.name, ++ mixer_enum->names[uinfo->value.enumerated.item]); ++ ++ return 0; ++} ++ ++int mv88fx_snd_mixer_enum_get(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ struct mv88fx_snd_mixer_enum *mixer_enum = ++ (struct mv88fx_snd_mixer_enum *)kcontrol->private_value; ++ int i; ++ unsigned int val; ++ ++ val = *(unsigned int *)mixer_enum->rec; ++ ++ for (i = 0; i < mixer_enum->count; i++) { ++ ++ if (val == (unsigned int)mixer_enum->values[i]) { ++ ucontrol->value.enumerated.item[0] = i; ++ break; ++ } ++ } ++ ++ return 0; ++} ++ ++int mv88fx_snd_mixer_enum_put(struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ unsigned int val, *rec; ++ struct mv88fx_snd_mixer_enum *mixer_enum = ++ (struct mv88fx_snd_mixer_enum *)kcontrol->private_value; ++ int i; ++ ++ rec = (unsigned int *)mixer_enum->rec; ++ val = ucontrol->value.enumerated.item[0]; ++ ++ if (val < 0) ++ val = 0; ++ if (val > mixer_enum->count) ++ val = mixer_enum->count; ++ ++ for (i = 0; i < mixer_enum->count; i++) { ++ ++ if (val == i) { ++ *rec = (unsigned int)mixer_enum->values[i]; ++ break; ++ } ++ } ++ ++ return 0; ++} ++ ++#define MV88FX_PCM_MIXER_ENUM(xname, xindex, value) \ ++{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \ ++ .name = xname, \ ++ .index = xindex, \ ++ .info = mv88fx_snd_mixer_enum_info, \ ++ .get = mv88fx_snd_mixer_enum_get, \ ++ .put = mv88fx_snd_mixer_enum_put, \ ++ .private_value = (unsigned long)value, \ ++} ++ ++char *playback_src_mixer_names[] = {"SPDIF", "I2S", "SPDIF And I2S"}; ++int playback_src_mixer_values[] = { SPDIF, I2S, (SPDIF | I2S)}; ++ ++struct mv88fx_snd_mixer_enum playback_src_mixer = { ++ .names = playback_src_mixer_names, ++ .values = playback_src_mixer_values, ++ .count = 3, ++}; ++ ++char *playback_mono_mixer_names[] = {"Mono Both", "Mono Left", "Mono Right"}; ++int playback_mono_mixer_values[] = { MONO_BOTH, MONO_LEFT, MONO_RIGHT}; ++ ++struct mv88fx_snd_mixer_enum playback_mono_mixer = { ++ .names = playback_mono_mixer_names, ++ .values = playback_mono_mixer_values, ++ .count = 3, ++}; ++ ++char *capture_src_mixer_names[] = {"SPDIF", "I2S"}; ++int capture_src_mixer_values[] = { SPDIF, I2S}; ++ ++struct mv88fx_snd_mixer_enum capture_src_mixer = { ++ .names = capture_src_mixer_names, ++ .values = capture_src_mixer_values, ++ .count = 2, ++}; ++ ++char *capture_mono_mixer_names[] = {"Mono Left", "Mono Right"}; ++int capture_mono_mixer_values[] = { MONO_LEFT, MONO_RIGHT}; ++ ++struct mv88fx_snd_mixer_enum capture_mono_mixer = { ++ .names = capture_mono_mixer_names, ++ .values = capture_mono_mixer_values, ++ .count = 2, ++}; ++ ++static struct snd_kcontrol_new mv88fx_snd_mixers[] = { ++ MV88FX_PCM_MIXER_ENUM("Playback output type", 0, &playback_src_mixer), ++ ++ MV88FX_PCM_MIXER_ENUM("Playback mono type", 0, &playback_mono_mixer), ++ ++ MV88FX_PCM_MIXER_ENUM("Capture input Type", 0, &capture_src_mixer), ++ ++ MV88FX_PCM_MIXER_ENUM("Capture mono type", 0, &capture_mono_mixer), ++}; ++ ++#define PLAYBACK_MIX_INDX 0 ++#define PLAYBACK_MONO_MIX_INDX 1 ++#define CAPTURE_MIX_INDX 2 ++#define CAPTURE_MONO_MIX_INDX 3 ++ ++static int mv88fx_snd_ctrl_new(struct snd_card *card) ++{ ++ struct mv88fx_snd_platform_data *pdata = card->dev->platform_data; ++ int err = 0; ++ ++ playback_src_mixer.rec = &chip->stream_defaults[PLAYBACK]->dig_mode; ++ playback_mono_mixer.rec = &chip->stream_defaults[PLAYBACK]->mono_mode; ++ ++ capture_src_mixer.rec = &chip->stream_defaults[CAPTURE]->dig_mode; ++ capture_mono_mixer.rec = &chip->stream_defaults[CAPTURE]->mono_mode; ++ ++ if ((pdata->i2s_play) && (pdata->spdif_play)) { ++ err = snd_ctl_add(card, ++ snd_ctl_new1(&mv88fx_snd_mixers[PLAYBACK_MIX_INDX], ++ chip)); ++ if (err < 0) ++ return err; ++ } ++ ++ err = snd_ctl_add(card, ++ snd_ctl_new1(&mv88fx_snd_mixers[PLAYBACK_MONO_MIX_INDX], chip)); ++ if (err < 0) ++ return err; ++ ++ if ((pdata->i2s_rec) && (pdata->spdif_rec)) { ++ err = snd_ctl_add(card, ++ snd_ctl_new1(&mv88fx_snd_mixers[CAPTURE_MIX_INDX], chip)); ++ if (err < 0) ++ return err; ++ } ++ ++ err = snd_ctl_add(card, snd_ctl_new1( ++ &mv88fx_snd_mixers[CAPTURE_MONO_MIX_INDX], chip)); ++ if (err < 0) ++ return err; ++ ++ if (pdata->i2s_play) { ++ err = snd_ctl_add(card, snd_ctl_new1(&mv88fx_snd_dac_vol, ++ chip)); ++ if (err < 0) ++ return err; ++ } ++ ++ err = snd_ctl_add(card, snd_ctl_new1(&mv88fx_snd_spdif_mask, ++ chip)); ++ if (err < 0) ++ return err; ++ ++ err = snd_ctl_add(card, snd_ctl_new1(&mv88fx_snd_spdif_default, ++ chip)); ++ if (err < 0) ++ return err; ++ ++ err = snd_ctl_add(card, snd_ctl_new1(&mv88fx_snd_spdif_stream, ++ chip)); ++ return err; ++} ++ ++static struct snd_pcm_hardware mv88fx_snd_capture_hw = { ++ .info = (SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_BLOCK_TRANSFER | ++ SNDRV_PCM_INFO_PAUSE), ++ ++ .formats = (SNDRV_PCM_FMTBIT_S16_LE | ++ SNDRV_PCM_FMTBIT_S24_LE | ++ SNDRV_PCM_FMTBIT_S32_LE), ++ ++ .rates = (SNDRV_PCM_RATE_44100 | ++ SNDRV_PCM_RATE_48000 | ++ SNDRV_PCM_RATE_96000), ++ ++ .rate_min = 44100, ++ .rate_max = 96000, ++ .channels_min = 1, ++ .channels_max = 2, ++ .buffer_bytes_max = (16*1024*1024), ++ .period_bytes_min = MV88FX_SND_MIN_PERIOD_BYTES, ++ .period_bytes_max = MV88FX_SND_MAX_PERIOD_BYTES, ++ .periods_min = MV88FX_SND_MIN_PERIODS, ++ .periods_max = MV88FX_SND_MAX_PERIODS, ++ .fifo_size = 0, ++}; ++ ++static int mv88fx_snd_capture_open(struct snd_pcm_substream *substream) ++{ ++ int err; ++ ++ chip->stream_defaults[CAPTURE]->substream = substream; ++ chip->stream_defaults[CAPTURE]->direction = CAPTURE; ++ substream->private_data = chip->stream_defaults[CAPTURE]; ++ substream->runtime->hw = mv88fx_snd_capture_hw; ++ ++ if (chip->stream_defaults[CAPTURE]->dig_mode & SPDIF) ++ substream->runtime->hw.formats &= ~SNDRV_PCM_FMTBIT_S32_LE; ++ ++ /* check if playback is already running with specific rate */ ++ if (chip->stream[PLAYBACK]->rate) { ++ switch (chip->stream[PLAYBACK]->rate) { ++ case 44100: ++ substream->runtime->hw.rates = SNDRV_PCM_RATE_44100; ++ break; ++ case 48000: ++ substream->runtime->hw.rates = SNDRV_PCM_RATE_48000; ++ break; ++ case 96000: ++ substream->runtime->hw.rates = SNDRV_PCM_RATE_96000; ++ break; ++ } ++ } ++ ++ err = snd_pcm_hw_constraint_minmax(substream->runtime, ++ SNDRV_PCM_HW_PARAM_BUFFER_BYTES, ++ chip->burst * 2, ++ AUDIO_REG_TO_SIZE(APBBCR_SIZE_MAX)); ++ if (err < 0) ++ return err; ++ ++ err = snd_pcm_hw_constraint_step(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_BUFFER_BYTES, ++ chip->burst); ++ if (err < 0) ++ return err; ++ ++ err = snd_pcm_hw_constraint_step(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_PERIOD_BYTES, ++ chip->burst); ++ if (err < 0) ++ return err; ++ ++ err = snd_pcm_hw_constraint_minmax(substream->runtime, ++ SNDRV_PCM_HW_PARAM_PERIODS, ++ MV88FX_SND_MIN_PERIODS, ++ MV88FX_SND_MAX_PERIODS); ++ if (err < 0) ++ return err; ++ ++ err = snd_pcm_hw_constraint_integer(substream->runtime, ++ SNDRV_PCM_HW_PARAM_PERIODS); ++ if (err < 0) ++ return err; ++ ++ return 0; ++} ++ ++static int mv88fx_snd_capture_close(struct snd_pcm_substream *substream) ++{ ++ chip->stream_defaults[CAPTURE]->substream = NULL; ++ memset(chip->stream[CAPTURE], 0, sizeof(struct mv88fx_snd_stream)); ++ ++ return 0; ++} ++ ++static int mv88fx_snd_capture_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct mv88fx_snd_stream *audio_stream = ++ snd_pcm_substream_chip(substream); ++ ++ return devdma_hw_alloc(audio_stream->dev, substream, ++ params_buffer_bytes(params)); ++} ++ ++static int mv88fx_snd_capture_hw_free(struct snd_pcm_substream *substream) ++{ ++ struct mv88fx_snd_stream *audio_stream = ++ snd_pcm_substream_chip(substream); ++ ++ /* ++ * Clear out the DMA and any allocated buffers. ++ */ ++ devdma_hw_free(audio_stream->dev, substream); ++ return 0; ++} ++ ++static int mv88fx_snd_capture_prepare(struct snd_pcm_substream *substream) ++{ ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ ++ struct mv88fx_snd_stream *audio_stream = ++ snd_pcm_substream_chip(substream); ++ ++ audio_stream->rate = runtime->rate; ++ audio_stream->stereo = (runtime->channels == 1) ? 0 : 1; ++ ++ if (runtime->format == SNDRV_PCM_FORMAT_S16_LE) { ++ audio_stream->format = SAMPLE_16IN16; ++ } else if (runtime->format == SNDRV_PCM_FORMAT_S24_LE) { ++ audio_stream->format = SAMPLE_24IN32; ++ } else if (runtime->format == SNDRV_PCM_FORMAT_S32_LE) { ++ audio_stream->format = SAMPLE_32IN32; ++ } else { ++ snd_printk("Requested format %d is not supported\n", ++ runtime->format); ++ return -1; ++ } ++ ++ /* buffer and period sizes in frame */ ++ audio_stream->dma_addr = runtime->dma_addr; ++ audio_stream->dma_size = frames_to_bytes(runtime, runtime->buffer_size); ++ audio_stream->period_size = ++ frames_to_bytes(runtime, runtime->period_size); ++ ++ memcpy(chip->stream[CAPTURE], chip->stream_defaults[CAPTURE], ++ sizeof(struct mv88fx_snd_stream)); ++ ++ return mv88fx_snd_hw_capture_set(chip); ++} ++ ++static int mv88fx_snd_capture_trigger(struct snd_pcm_substream *substream, ++ int cmd) ++{ ++ struct mv88fx_snd_stream *audio_stream = ++ snd_pcm_substream_chip(substream); ++ int result = 0; ++ unsigned int reg_data; ++ ++ spin_lock(chip->reg_lock); ++ switch (cmd) { ++ case SNDRV_PCM_TRIGGER_START: ++ /* FIXME: should check if busy before */ ++ ++ /* make sure the dma in pause state*/ ++ reg_data = readl(chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ reg_data |= ARCR_RECORD_PAUSE_MASK; ++ writel(reg_data, chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ ++ /* enable interrupt */ ++ reg_data = readl(chip->base + MV_AUDIO_INT_MASK_REG); ++ reg_data |= AICR_RECORD_BYTES_INT; ++ writel(reg_data, chip->base + MV_AUDIO_INT_MASK_REG); ++ ++ reg_data = readl(chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ ++ /* enable dma */ ++ if (audio_stream->dig_mode & I2S) ++ reg_data |= ARCR_RECORD_I2S_EN_MASK; ++ ++ if (audio_stream->dig_mode & SPDIF) ++ reg_data |= ARCR_RECORD_SPDIF_EN_MASK; ++ ++ /* start dma */ ++ reg_data &= (~ARCR_RECORD_PAUSE_MASK); ++ writel(reg_data, chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ break; ++ ++ case SNDRV_PCM_TRIGGER_STOP: ++ ++ /* make sure the dma in pause state */ ++ reg_data = readl(chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ reg_data |= ARCR_RECORD_PAUSE_MASK; ++ writel(reg_data, chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ ++ /* disable interrupt */ ++ reg_data = readl(chip->base + MV_AUDIO_INT_MASK_REG); ++ reg_data &= (~AICR_RECORD_BYTES_INT); ++ writel(reg_data, chip->base + MV_AUDIO_INT_MASK_REG); ++ ++ /* always stop both I2S and SPDIF */ ++ reg_data = readl(chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ reg_data &= (~(ARCR_RECORD_I2S_EN_MASK | ++ ARCR_RECORD_SPDIF_EN_MASK)); ++ writel(reg_data, chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ ++ /* FIXME: should check if busy after */ ++ ++ break; ++ ++ case SNDRV_PCM_TRIGGER_PAUSE_PUSH: ++ case SNDRV_PCM_TRIGGER_SUSPEND: ++ reg_data = readl(chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ reg_data |= ARCR_RECORD_PAUSE_MASK; ++ writel(reg_data, chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ break; ++ ++ case SNDRV_PCM_TRIGGER_RESUME: ++ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: ++ reg_data = readl(chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ reg_data &= (~ARCR_RECORD_PAUSE_MASK); ++ writel(reg_data, chip->base + MV_AUDIO_RECORD_CTRL_REG); ++ break; ++ ++ default: ++ result = -EINVAL; ++ break; ++ } ++ ++ spin_unlock(&chip->reg_lock); ++ return result; ++} ++ ++static snd_pcm_uframes_t mv88fx_snd_capture_pointer(struct snd_pcm_substream ++ *substream) ++{ ++ return bytes_to_frames(substream->runtime, ++ (ssize_t)readl(chip->base + MV_AUDIO_RECORD_BUF_BYTE_CNTR_REG)); ++} ++ ++int mv88fx_snd_capture_mmap(struct snd_pcm_substream *substream, ++ struct vm_area_struct *vma) ++{ ++ return devdma_mmap(NULL, substream, vma); ++} ++ ++static struct snd_pcm_ops mv88fx_snd_capture_ops = { ++ .open = mv88fx_snd_capture_open, ++ .close = mv88fx_snd_capture_close, ++ .ioctl = snd_pcm_lib_ioctl, ++ .hw_params = mv88fx_snd_capture_hw_params, ++ .hw_free = mv88fx_snd_capture_hw_free, ++ .prepare = mv88fx_snd_capture_prepare, ++ .trigger = mv88fx_snd_capture_trigger, ++ .pointer = mv88fx_snd_capture_pointer, ++ .mmap = mv88fx_snd_capture_mmap, ++}; ++ ++struct snd_pcm_hardware mv88fx_snd_playback_hw = { ++ .info = (SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_BLOCK_TRANSFER | ++ SNDRV_PCM_INFO_PAUSE), ++ .formats = (SNDRV_PCM_FMTBIT_S16_LE | ++ SNDRV_PCM_FMTBIT_S24_LE | ++ SNDRV_PCM_FMTBIT_S32_LE), ++ .rates = (SNDRV_PCM_RATE_44100 | ++ SNDRV_PCM_RATE_48000 | ++ SNDRV_PCM_RATE_96000), ++ ++ .rate_min = 44100, ++ .rate_max = 96000, ++ .channels_min = 1, ++ .channels_max = 2, ++ .buffer_bytes_max = (16*1024*1024), ++ .period_bytes_min = MV88FX_SND_MIN_PERIOD_BYTES, ++ .period_bytes_max = MV88FX_SND_MAX_PERIOD_BYTES, ++ .periods_min = MV88FX_SND_MIN_PERIODS, ++ .periods_max = MV88FX_SND_MAX_PERIODS, ++ .fifo_size = 0, ++}; ++ ++int mv88fx_snd_playback_open(struct snd_pcm_substream *substream) ++{ ++ int err = 0; ++ ++ chip->stream_defaults[PLAYBACK]->substream = substream; ++ chip->stream_defaults[PLAYBACK]->direction = PLAYBACK; ++ substream->private_data = chip->stream_defaults[PLAYBACK]; ++ substream->runtime->hw = mv88fx_snd_playback_hw; ++ ++ if (chip->stream_defaults[PLAYBACK]->dig_mode & SPDIF) ++ substream->runtime->hw.formats &= ~SNDRV_PCM_FMTBIT_S32_LE; ++ ++ /* check if capture is already running with specific rate */ ++ if (chip->stream[CAPTURE]->rate) { ++ switch (chip->stream[CAPTURE]->rate) { ++ case 44100: ++ substream->runtime->hw.rates = SNDRV_PCM_RATE_44100; ++ break; ++ case 48000: ++ substream->runtime->hw.rates = SNDRV_PCM_RATE_48000; ++ break; ++ case 96000: ++ substream->runtime->hw.rates = SNDRV_PCM_RATE_96000; ++ break; ++ ++ } ++ } ++ ++ err = snd_pcm_hw_constraint_minmax(substream->runtime, ++ SNDRV_PCM_HW_PARAM_BUFFER_BYTES, ++ chip->burst * 2, ++ AUDIO_REG_TO_SIZE(APBBCR_SIZE_MAX)); ++ if (err < 0) ++ return err; ++ ++ err = snd_pcm_hw_constraint_step(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_BUFFER_BYTES, ++ chip->burst); ++ if (err < 0) ++ return err; ++ ++ err = snd_pcm_hw_constraint_step(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_PERIOD_BYTES, ++ chip->burst); ++ if (err < 0) ++ return err; ++ ++ err = snd_pcm_hw_constraint_minmax(substream->runtime, ++ SNDRV_PCM_HW_PARAM_PERIODS, ++ MV88FX_SND_MIN_PERIODS, ++ MV88FX_SND_MAX_PERIODS); ++ if (err < 0) ++ return err; ++ ++ err = snd_pcm_hw_constraint_integer(substream->runtime, ++ SNDRV_PCM_HW_PARAM_PERIODS); ++ ++ if (err < 0) ++ return err; ++ ++ return 0; ++} ++ ++int mv88fx_snd_playback_close(struct snd_pcm_substream *substream) ++{ ++ int i; ++ ++ chip->stream_defaults[PLAYBACK]->substream = NULL; ++ chip->pcm_mode = PCM; ++ ++ for (i = 0; i < 4; i++) { ++ chip->stream_defaults[PLAYBACK]->spdif_status[i] = 0; ++ chip->stream[PLAYBACK]->spdif_status[i] = 0; ++ ++ writel(chip->stream_defaults[PLAYBACK]->spdif_status[i], ++ chip->base + MV_AUDIO_SPDIF_PLAY_CH_STATUS_LEFT_REG(i)); ++ writel(chip->stream_defaults[PLAYBACK]->spdif_status[i], ++ chip->base + MV_AUDIO_SPDIF_PLAY_CH_STATUS_RIGHT_REG(i)); ++ } ++ ++ memset(chip->stream[PLAYBACK], 0, sizeof(struct mv88fx_snd_stream)); ++ ++ return 0; ++} ++ ++int mv88fx_snd_playback_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct mv88fx_snd_stream *audio_stream = ++ snd_pcm_substream_chip(substream); ++ ++ return devdma_hw_alloc(audio_stream->dev, substream, ++ params_buffer_bytes(params)); ++} ++ ++int mv88fx_snd_playback_hw_free(struct snd_pcm_substream *substream) ++{ ++ struct mv88fx_snd_stream *audio_stream = ++ snd_pcm_substream_chip(substream); ++ ++ /* ++ * Clear out the DMA and any allocated buffers. ++ */ ++ devdma_hw_free(audio_stream->dev, substream); ++ return 0; ++} ++ ++int mv88fx_snd_playback_prepare(struct snd_pcm_substream *substream) ++{ ++ struct snd_pcm_runtime *runtime = substream->runtime; ++ ++ struct mv88fx_snd_stream *audio_stream = ++ snd_pcm_substream_chip(substream); ++ ++ if ((audio_stream->dig_mode == I2S) && ++ (chip->pcm_mode == NON_PCM)) ++ return -1; ++ ++ audio_stream->rate = runtime->rate; ++ audio_stream->stereo = (runtime->channels == 1) ? 0 : 1; ++ ++ if (runtime->format == SNDRV_PCM_FORMAT_S16_LE) { ++ audio_stream->format = SAMPLE_16IN16; ++ } else if (runtime->format == SNDRV_PCM_FORMAT_S24_LE) { ++ audio_stream->format = SAMPLE_24IN32; ++ } else if (runtime->format == SNDRV_PCM_FORMAT_S32_LE) { ++ audio_stream->format = SAMPLE_32IN32; ++ } else { ++ snd_printk("Requested format %d is not supported\n", ++ runtime->format); ++ return -1; ++ } ++ ++ /* buffer and period sizes in frame */ ++ audio_stream->dma_addr = runtime->dma_addr; ++ audio_stream->dma_size = frames_to_bytes(runtime, runtime->buffer_size); ++ audio_stream->period_size = ++ frames_to_bytes(runtime, runtime->period_size); ++ ++ memcpy(chip->stream[PLAYBACK], chip->stream_defaults[PLAYBACK], ++ sizeof(struct mv88fx_snd_stream)); ++ ++ return mv88fx_snd_hw_playback_set(chip); ++} ++ ++int mv88fx_snd_playback_trigger(struct snd_pcm_substream *substream, ++ int cmd) ++{ ++ struct mv88fx_snd_stream *audio_stream = ++ snd_pcm_substream_chip(substream); ++ int result = 0; ++ unsigned int reg_data; ++ ++ spin_lock(chip->reg_lock); ++ switch (cmd) { ++ case SNDRV_PCM_TRIGGER_START: ++ /* enable interrupt */ ++ reg_data = readl(chip->base + MV_AUDIO_INT_MASK_REG); ++ reg_data |= AICR_PLAY_BYTES_INT; ++ writel(reg_data, chip->base + MV_AUDIO_INT_MASK_REG); ++ ++ /* make sure the dma in pause state*/ ++ reg_data = readl(chip->base + ++ MV_AUDIO_PLAYBACK_CTRL_REG); ++ reg_data |= APCR_PLAY_PAUSE_MASK; ++ writel(reg_data, chip->base + ++ MV_AUDIO_PLAYBACK_CTRL_REG); ++ ++ /* enable dma */ ++ if ((audio_stream->dig_mode & I2S) && ++ (chip->pcm_mode == PCM)) ++ reg_data |= APCR_PLAY_I2S_ENABLE_MASK; ++ ++ if (audio_stream->dig_mode & SPDIF) ++ reg_data |= APCR_PLAY_SPDIF_ENABLE_MASK; ++ ++ /* start dma */ ++ reg_data &= (~APCR_PLAY_PAUSE_MASK); ++ writel(reg_data, chip->base + MV_AUDIO_PLAYBACK_CTRL_REG); ++ ++ break; ++ ++ case SNDRV_PCM_TRIGGER_STOP: ++ ++ /* disable interrupt */ ++ reg_data = readl(chip->base + MV_AUDIO_INT_MASK_REG); ++ reg_data &= (~AICR_PLAY_BYTES_INT); ++ writel(reg_data, chip->base + MV_AUDIO_INT_MASK_REG); ++ ++ /* make sure the dma in pause state*/ ++ reg_data = readl(chip->base + ++ MV_AUDIO_PLAYBACK_CTRL_REG); ++ reg_data |= APCR_PLAY_PAUSE_MASK; ++ ++ /* always stop both I2S and SPDIF*/ ++ reg_data &= (~(APCR_PLAY_I2S_ENABLE_MASK | ++ APCR_PLAY_SPDIF_ENABLE_MASK)); ++ writel(reg_data, chip->base + ++ MV_AUDIO_PLAYBACK_CTRL_REG); ++ ++ /* check if busy twice*/ ++ while (readl(chip->base + MV_AUDIO_PLAYBACK_CTRL_REG) & ++ APCR_PLAY_BUSY_MASK) ++ cpu_relax(); ++ while (readl(chip->base + MV_AUDIO_PLAYBACK_CTRL_REG) & ++ APCR_PLAY_BUSY_MASK) ++ cpu_relax(); ++ break; ++ ++ case SNDRV_PCM_TRIGGER_PAUSE_PUSH: ++ case SNDRV_PCM_TRIGGER_SUSPEND: ++ reg_data = readl(chip->base + ++ MV_AUDIO_PLAYBACK_CTRL_REG); ++ reg_data |= APCR_PLAY_PAUSE_MASK; ++ writel(reg_data, chip->base + ++ MV_AUDIO_PLAYBACK_CTRL_REG); ++ break; ++ ++ case SNDRV_PCM_TRIGGER_RESUME: ++ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: ++ reg_data = readl(chip->base + ++ MV_AUDIO_PLAYBACK_CTRL_REG); ++ reg_data &= (~APCR_PLAY_PAUSE_MASK); ++ writel(reg_data, chip->base + ++ MV_AUDIO_PLAYBACK_CTRL_REG); ++ ++ break; ++ ++ default: ++ result = -EINVAL; ++ } ++ ++ spin_unlock(&chip->reg_lock); ++ return result; ++} ++ ++ ++snd_pcm_uframes_t mv88fx_snd_playback_pointer(struct snd_pcm_substream ++ *substream) ++{ ++ return bytes_to_frames(substream->runtime, ++ (ssize_t)readl(chip->base + MV_AUDIO_PLAYBACK_BUFF_BYTE_CNTR_REG)); ++} ++ ++int mv88fx_snd_playback_mmap(struct snd_pcm_substream *substream, ++ struct vm_area_struct *vma) ++{ ++ return devdma_mmap(NULL, substream, vma); ++} ++ ++ ++struct snd_pcm_ops mv88fx_snd_playback_ops = { ++ .open = mv88fx_snd_playback_open, ++ .close = mv88fx_snd_playback_close, ++ .ioctl = snd_pcm_lib_ioctl, ++ .hw_params = mv88fx_snd_playback_hw_params, ++ .hw_free = mv88fx_snd_playback_hw_free, ++ .prepare = mv88fx_snd_playback_prepare, ++ .trigger = mv88fx_snd_playback_trigger, ++ .pointer = mv88fx_snd_playback_pointer, ++ .mmap = mv88fx_snd_playback_mmap, ++}; ++ ++int __init mv88fx_snd_pcm_new(struct snd_card *card) ++{ ++ struct snd_pcm *pcm; ++ struct mv88fx_snd_platform_data *pdata = card->dev->platform_data; ++ int err, i; ++ ++ snd_printd("card->dev=0x%x\n", (unsigned int)card->dev); ++ ++ err = snd_pcm_new(card, "Marvell mv88fx_snd IEC958 and I2S", 0, 1, 1, ++ &pcm); ++ if (err < 0) ++ return err; ++ ++ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, ++ &mv88fx_snd_playback_ops); ++ ++ snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, ++ &mv88fx_snd_capture_ops); ++ ++ if ((pdata->i2s_play) && (pdata->spdif_play)) ++ chip->stream_defaults[PLAYBACK]->dig_mode = (SPDIF | I2S); ++ else if (pdata->i2s_play) ++ chip->stream_defaults[PLAYBACK]->dig_mode = I2S; ++ else if (pdata->spdif_play) ++ chip->stream_defaults[PLAYBACK]->dig_mode = SPDIF; ++ else ++ chip->stream_defaults[PLAYBACK]->dig_mode = 0; ++ ++ chip->stream_defaults[PLAYBACK]->mono_mode = MONO_BOTH; ++ chip->pcm_mode = PCM; ++ chip->stream_defaults[PLAYBACK]->stat_mem = 0; ++ chip->stream_defaults[PLAYBACK]->clock_src = DCO_CLOCK; ++ ++ if (pdata->i2s_rec) ++ chip->stream_defaults[CAPTURE]->dig_mode = I2S; ++ else if (pdata->spdif_rec) ++ chip->stream_defaults[CAPTURE]->dig_mode = SPDIF; ++ else ++ chip->stream_defaults[CAPTURE]->dig_mode = 0; ++ ++ chip->stream_defaults[CAPTURE]->mono_mode = MONO_LEFT; ++ chip->pcm_mode = PCM; ++ chip->stream_defaults[CAPTURE]->stat_mem = 0; ++ chip->stream_defaults[CAPTURE]->clock_src = DCO_CLOCK; ++ ++ for (i = 0; i < 4; i++) { ++ chip->stream_defaults[PLAYBACK]->spdif_status[i] = 0; ++ chip->stream[PLAYBACK]->spdif_status[i] = 0; ++ ++ writel(chip->stream_defaults[PLAYBACK]->spdif_status[i], ++ chip->base + MV_AUDIO_SPDIF_PLAY_CH_STATUS_LEFT_REG(i)); ++ ++ writel(chip->stream_defaults[PLAYBACK]->spdif_status[i], ++ chip->base + MV_AUDIO_SPDIF_PLAY_CH_STATUS_RIGHT_REG(i)); ++ ++ writel(0, chip->base + ++ MV_AUDIO_SPDIF_PLAY_USR_BITS_LEFT_REG(i)); ++ ++ writel(0, chip->base + ++ MV_AUDIO_SPDIF_PLAY_USR_BITS_RIGHT_REG(i)); ++ } ++ ++ pcm->private_data = chip; ++ pcm->info_flags = 0; ++ strcpy(pcm->name, "Marvell mv88fx_snd IEC958 and I2S"); ++ ++ return 0; ++} ++ ++irqreturn_t mv88fx_snd_interrupt(int irq, void *dev_id) ++{ ++ struct mv88fx_snd_chip *chip = dev_id; ++ struct mv88fx_snd_stream *play_stream = chip->stream_defaults[PLAYBACK]; ++ struct mv88fx_snd_stream *capture_stream = ++ chip->stream_defaults[CAPTURE]; ++ ++ unsigned int status, mask; ++ ++ spin_lock(&chip->reg_lock); ++ ++ /* read the active interrupt */ ++ mask = readl(chip->base + MV_AUDIO_INT_MASK_REG); ++ status = readl(chip->base + MV_AUDIO_INT_CAUSE_REG) & mask; ++ ++ do { ++ if (status & ~(AICR_RECORD_BYTES_INT|AICR_PLAY_BYTES_INT)) { ++ spin_unlock(&chip->reg_lock); ++ snd_BUG(); /* FIXME: should enable error interrupts*/ ++ return IRQ_NONE; ++ } ++ ++ /* acknowledge interrupt */ ++ writel(status, chip->base + MV_AUDIO_INT_CAUSE_REG); ++ ++ /* This is record event */ ++ if (status & AICR_RECORD_BYTES_INT) ++ snd_pcm_period_elapsed(capture_stream->substream); ++ ++ /* This is play event */ ++ if (status & AICR_PLAY_BYTES_INT) ++ snd_pcm_period_elapsed(play_stream->substream); ++ ++ /* read the active interrupt */ ++ mask = readl(chip->base + MV_AUDIO_INT_MASK_REG); ++ status = readl(chip->base + MV_AUDIO_INT_CAUSE_REG) & mask; ++ } while (status); ++ ++ spin_unlock(&chip->reg_lock); ++ ++ return IRQ_HANDLED; ++} ++ ++void mv88fx_snd_free(struct snd_card *card) ++{ ++ struct mv88fx_snd_chip *chip = card->private_data; ++ ++ /* free irq */ ++ free_irq(chip->irq, (void *)chip); ++ ++ snd_printd("chip->res =0x%x\n", (unsigned int)chip->res); ++ ++ if (chip->base) ++ iounmap(chip->base); ++ ++ if (chip->res) ++ release_resource(chip->res); ++ ++ chip->res = NULL; ++ ++ /* Free memory allocated for streems */ ++ if (chip->stream_defaults[PLAYBACK]->area) ++ dma_free_coherent(card->dev, ++ MV88FX_SND_MAX_PERIODS * MV88FX_SND_MAX_PERIOD_BYTES, ++ chip->stream_defaults[PLAYBACK]->area, ++ chip->stream_defaults[PLAYBACK]->addr); ++ ++ if (chip->stream_defaults[CAPTURE]->area) ++ dma_free_coherent(card->dev, ++ MV88FX_SND_MAX_PERIODS * MV88FX_SND_MAX_PERIOD_BYTES, ++ chip->stream_defaults[CAPTURE]->area, ++ chip->stream_defaults[CAPTURE]->addr); ++ ++ kfree(chip->stream_defaults[PLAYBACK]); ++ chip->stream_defaults[PLAYBACK] = NULL; ++ ++ kfree(chip->stream[PLAYBACK]); ++ chip->stream[PLAYBACK] = NULL; ++ ++ kfree(chip->stream_defaults[CAPTURE]); ++ chip->stream_defaults[CAPTURE] = NULL; ++ ++ kfree(chip->stream[CAPTURE]); ++ chip->stream[CAPTURE] = NULL; ++ ++ chip = NULL; ++} ++ ++int mv88fx_snd_probe(struct platform_device *dev) ++{ ++ int err = 0, irq = NO_IRQ; ++ struct snd_card *card = NULL; ++ struct resource *r = NULL; ++ static struct snd_device_ops ops = { ++ .dev_free = NULL, ++ }; ++ struct mv88fx_snd_platform_data *pdata = NULL; ++ ++ err = snd_card_create(-1, "mv88fx_snd", THIS_MODULE, ++ sizeof(struct mv88fx_snd_chip), &card); ++ ++ if (err) { ++ snd_printk("snd_card_create failed\n"); ++ return err; ++ } ++ ++ card->dev = &dev->dev; ++ chip = card->private_data; ++ card->private_free = mv88fx_snd_free; ++ ++ pdata = (struct mv88fx_snd_platform_data *)dev->dev.platform_data; ++ ++ if (pdata->i2s_rec == 2 || pdata->spdif_rec == 2) ++ chip->stereo = 1; ++ else ++ chip->stereo = 0; ++ ++ chip->audio_offset = pdata->base_offset; ++ ++ r = platform_get_resource(dev, IORESOURCE_MEM, 0); ++ if (!r) { ++ snd_printk("platform_get_resource failed\n"); ++ err = -ENXIO; ++ goto error; ++ } ++ ++ snd_printd("chip->res =0x%x\n", (unsigned int)chip->res); ++ ++ r = request_mem_region(r->start, SZ_16K, MV88FX_AUDIO_NAME); ++ if (!r) { ++ snd_printk("request_mem_region failed\n"); ++ err = -EBUSY; ++ goto error; ++ } ++ chip->res = r; ++ ++ chip->base = ioremap(r->start, SZ_16K); ++ ++ if (!chip->base) { ++ snd_printk("ioremap failed\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ snd_printd("chip->base=0x%x r->start0x%x\n", ++ (unsigned int)chip->base, r->start); ++ ++ irq = platform_get_irq(dev, 0); ++ if (irq == NO_IRQ) { ++ snd_printk("platform_get_irq failed\n"); ++ err = -ENXIO; ++ goto error; ++ } ++ ++ snd_printd("card = 0x%x dev 0x%x\n", ++ (unsigned int)card, (unsigned int)dev); ++ strncpy(card->driver, dev->dev.driver->name, sizeof(card->driver)); ++ ++ /* Allocate memory for our device */ ++ chip->stream_defaults[PLAYBACK] = ++ kzalloc(sizeof(struct mv88fx_snd_stream), GFP_KERNEL); ++ ++ if (chip->stream_defaults[PLAYBACK] == NULL) { ++ snd_printk("kzalloc failed for default playback\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ chip->stream_defaults[PLAYBACK]->direction = PLAYBACK; ++ chip->stream_defaults[PLAYBACK]->dev = card->dev; ++ ++ chip->stream[PLAYBACK] = kzalloc(sizeof(struct mv88fx_snd_stream), ++ GFP_KERNEL); ++ ++ if (chip->stream[PLAYBACK] == NULL) { ++ snd_printk("kzalloc failed for runtime playback\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ chip->stream_defaults[CAPTURE] = ++ kzalloc(sizeof(struct mv88fx_snd_stream), GFP_KERNEL); ++ ++ if (chip->stream_defaults[CAPTURE] == NULL) { ++ snd_printk("kzalloc failed for capture\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ chip->stream_defaults[CAPTURE]->direction = CAPTURE; ++ chip->stream_defaults[CAPTURE]->dev = card->dev; ++ ++ chip->stream[CAPTURE] = kzalloc(sizeof(struct mv88fx_snd_stream), ++ GFP_KERNEL); ++ ++ if (chip->stream[CAPTURE] == NULL) { ++ snd_printk("kzalloc failed for runtime capture\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ chip->irq = irq; ++ chip->stream_defaults[PLAYBACK]->area = ++ dma_alloc_coherent(&dev->dev, ++ MV88FX_SND_MAX_PERIODS * MV88FX_SND_MAX_PERIOD_BYTES, ++ &chip->stream_defaults[PLAYBACK]->addr, ++ GFP_KERNEL); ++ ++ if (!chip->stream_defaults[PLAYBACK]->area) { ++ snd_printk("dma_alloc_coherent failed for playback buffer\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ if (0 == test_memory(pdata->dram, ++ (unsigned int)chip->stream_defaults[PLAYBACK]->addr, ++ (unsigned int)MV88FX_SND_MAX_PERIODS * MV88FX_SND_MAX_PERIOD_BYTES)) { ++ ++ snd_printk("error: playback buffer not in one memory window\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ chip->stream_defaults[CAPTURE]->area = ++ dma_alloc_coherent(&dev->dev, ++ MV88FX_SND_MAX_PERIODS * MV88FX_SND_MAX_PERIOD_BYTES, ++ &chip->stream_defaults[CAPTURE]->addr, ++ GFP_KERNEL); ++ ++ if (!chip->stream_defaults[CAPTURE]->area) { ++ snd_printk("dma_alloc_coherent failed for capture buffer\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ if (0 == test_memory(pdata->dram, ++ (unsigned int)chip->stream_defaults[CAPTURE]->addr, ++ (unsigned int)MV88FX_SND_MAX_PERIODS * MV88FX_SND_MAX_PERIOD_BYTES)) { ++ ++ snd_printk("error: playback buffer not in one memory window\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ if (request_irq(chip->irq, mv88fx_snd_interrupt, 0, MV88FX_AUDIO_NAME, ++ (void *)chip)) { ++ ++ snd_printk("Unable to grab IRQ %d\n", chip->irq); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ chip->ch_stat_valid = 1; ++ chip->burst = 128; ++ chip->loopback = 0; ++ chip->dco_ctrl_offst = 0x800; ++ ++ err = mv88fx_snd_hw_init(card); ++ if (err) { ++ snd_printk("mv88fx_snd_hw_init failed\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ /* Set default values */ ++ err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops); ++ if (err < 0) { ++ snd_printk("Creating chip device failed.\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ /* create pcm devices */ ++ err = mv88fx_snd_pcm_new(card); ++ if (err < 0) { ++ snd_printk("Creating PCM device failed.\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ /* create controll interfaces & switches */ ++ err = mv88fx_snd_ctrl_new(card); ++ if (err < 0) { ++ snd_printk("Creating non-PCM device failed.\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ strcpy(card->driver, "mv88fx_snd"); ++ strcpy(card->shortname, "Marvell mv88fx_snd"); ++ sprintf(card->longname, "Marvell mv88fx_snd ALSA driver"); ++ ++ err = snd_card_register(card); ++ if (err < 0) { ++ snd_printk("Card registeration failed.\n"); ++ err = -ENOMEM; ++ goto error; ++ } ++ ++ /* if (dma_set_mask(&dev->dev, 0xFFFFFFUL) < 0) { */ ++ if (dma_set_mask(&dev->dev, 0xFFFFFFFFUL) < 0) { ++ snd_printk("Could not set DMA mask\n"); ++ goto error; ++ } ++ ++ platform_set_drvdata(dev, card); ++ return 0; ++error: ++ if (card) ++ snd_card_free(card); ++ platform_set_drvdata(dev, NULL); ++ return err; ++} ++ ++int mv88fx_snd_remove(struct platform_device *dev) ++{ ++ struct snd_card *card = platform_get_drvdata(dev); ++ ++ if (card) ++ snd_card_free(card); ++ ++ /* FIXME: Once "../codecs/cs42l51.c" is fixed to behave as a module ++ * this should be removed */ ++ codec_del_i2c_device(); ++ ++ platform_set_drvdata(dev, NULL); ++ return 0; ++} ++ ++#define mv88fx_snd_resume NULL ++#define mv88fx_snd_suspend NULL ++ ++struct platform_driver mv88fx_snd_driver = { ++ .probe = mv88fx_snd_probe, ++ .remove = mv88fx_snd_remove, ++ .suspend = mv88fx_snd_suspend, ++ .resume = mv88fx_snd_resume, ++ .driver = { .name = MV88FX_AUDIO_NAME,}, ++}; ++ ++int __init mv88fx_snd_init(void) ++{ ++ return platform_driver_register(&mv88fx_snd_driver); ++} ++ ++void __exit mv88fx_snd_exit(void) ++{ ++ platform_driver_unregister(&mv88fx_snd_driver); ++} ++ ++MODULE_AUTHOR("Maen Suleiman <maen@marvell.com>"); ++MODULE_DESCRIPTION("Marvell MV88Fx Alsa Sound driver"); ++MODULE_LICENSE("GPL"); ++ ++module_init(mv88fx_snd_init); ++module_exit(mv88fx_snd_exit); ++ +-- +1.6.5.2 + diff --git a/recipes/linux/linux-kirkwood_2.6.32-rc4.bb b/recipes/linux/linux-kirkwood_2.6.32-rc4.bb index bf33146fb4..7791dc87d1 100644 --- a/recipes/linux/linux-kirkwood_2.6.32-rc4.bb +++ b/recipes/linux/linux-kirkwood_2.6.32-rc4.bb @@ -14,6 +14,8 @@ SRCREV = "1f76e2412659d2619ccd933d0ffd15e6253b1c4e" SRC_URI = "git://repo.or.cz/linux-2.6/linux-2.6-openrd.git;protocol=git \ file://defconfig" +SRC_URI_append_openrd-client += "file://0003-ARM-Kirkwood-Sound-Sound-driver-added.patch;patch=1" + # update machine types list for ARM architecture, only for machines that need it do_arm_mach_types() { # if test ${MACHINE} == openrd-base || test ${MACHINE} == openrd-client; then diff --git a/recipes/linux/linux-mtx-1-2.4.27/49-bash4-configure.patch b/recipes/linux/linux-mtx-1-2.4.27/49-bash4-configure.patch new file mode 100644 index 0000000000..222567d12e --- /dev/null +++ b/recipes/linux/linux-mtx-1-2.4.27/49-bash4-configure.patch @@ -0,0 +1,11 @@ +--- linux/scripts/Configure-orig 2009-11-29 19:12:02.000000000 +0100 ++++ linux/scripts/Configure 2009-11-29 19:12:27.000000000 +0100 +@@ -543,7 +543,7 @@ + echo "#" + echo "# Using defaults found in" $DEFAULTS + echo "#" +- . $DEFAULTS ++ . ./$DEFAULTS + sed -e 's/# \(CONFIG_[^ ]*\) is not.*/\1=n/' <$DEFAULTS >.config-is-not.$$ + . .config-is-not.$$ + rm .config-is-not.$$ diff --git a/recipes/linux/linux-mtx-1_2.4.27.bb b/recipes/linux/linux-mtx-1_2.4.27.bb index 6dd7121bae..952edb0140 100644 --- a/recipes/linux/linux-mtx-1_2.4.27.bb +++ b/recipes/linux/linux-mtx-1_2.4.27.bb @@ -41,6 +41,7 @@ SRC_URI = "cvs://cvs:cvs@ftp.linux-mips.org/home/cvs;module=linux;tag=linux_2_4_ file://43-usbserial-27-32-backport.diff;patch=1 \ file://45-acm-tty-and-sb2.patch;patch=1 \ file://48-pptp.patch;patch=1 \ + file://49-bash4-configure.patch;patch=1 \ file://defconfig-mtx-1" S = "${WORKDIR}/linux" diff --git a/recipes/linux/linux-mtx-2-2.4.27/49-bash4-configure.patch b/recipes/linux/linux-mtx-2-2.4.27/49-bash4-configure.patch new file mode 100644 index 0000000000..222567d12e --- /dev/null +++ b/recipes/linux/linux-mtx-2-2.4.27/49-bash4-configure.patch @@ -0,0 +1,11 @@ +--- linux/scripts/Configure-orig 2009-11-29 19:12:02.000000000 +0100 ++++ linux/scripts/Configure 2009-11-29 19:12:27.000000000 +0100 +@@ -543,7 +543,7 @@ + echo "#" + echo "# Using defaults found in" $DEFAULTS + echo "#" +- . $DEFAULTS ++ . ./$DEFAULTS + sed -e 's/# \(CONFIG_[^ ]*\) is not.*/\1=n/' <$DEFAULTS >.config-is-not.$$ + . .config-is-not.$$ + rm .config-is-not.$$ diff --git a/recipes/linux/linux-mtx-2_2.4.27.bb b/recipes/linux/linux-mtx-2_2.4.27.bb index 5b26903ec0..3379d548a1 100644 --- a/recipes/linux/linux-mtx-2_2.4.27.bb +++ b/recipes/linux/linux-mtx-2_2.4.27.bb @@ -43,6 +43,7 @@ SRC_URI += "cvs://cvs:cvs@ftp.linux-mips.org/home/cvs;module=linux;tag=linux_2_4 file://46-otg.patch;patch=1 \ file://47-au1000_eth.patch;patch=1 \ file://48-pptp.patch;patch=1 \ + file://49-bash4-configure.patch;patch=1 \ file://defconfig-mtx-2" FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-mtx-2-${PV}" diff --git a/recipes/linux/linux-openmoko-2.6.31/0006-gta02-defconfig-enable-NFS-and-INOTIFY_USER.patch b/recipes/linux/linux-openmoko-2.6.31/0006-gta02-defconfig-enable-NFS-and-INOTIFY_USER.patch new file mode 100644 index 0000000000..31d2b6569b --- /dev/null +++ b/recipes/linux/linux-openmoko-2.6.31/0006-gta02-defconfig-enable-NFS-and-INOTIFY_USER.patch @@ -0,0 +1,124 @@ +From 20aa0022f765e702f76fe1cae429b1d58faa9ec4 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Sat, 28 Nov 2009 19:24:49 +0100 +Subject: [PATCH] gta02-defconfig: enable NFS and INOTIFY_USER + +--- + arch/arm/configs/gta02_defconfig | 48 ++++++++++++++++++++++++++++++------- + 1 files changed, 39 insertions(+), 9 deletions(-) + +diff --git a/arch/arm/configs/gta02_defconfig b/arch/arm/configs/gta02_defconfig +index 1cce709..acf225e 100644 +--- a/arch/arm/configs/gta02_defconfig ++++ b/arch/arm/configs/gta02_defconfig +@@ -860,7 +860,7 @@ CONFIG_I2C_CHARDEV=y + # + # I2C Algorithms + # +-# CONFIG_I2C_ALGOBIT is not set ++CONFIG_I2C_ALGOBIT=y + # CONFIG_I2C_ALGOPCF is not set + # CONFIG_I2C_ALGOPCA is not set + +@@ -953,6 +953,7 @@ CONFIG_POWER_SUPPLY=y + CONFIG_CHARGER_PCF50633=y + CONFIG_BATTERY_BQ27000_HDQ=y + CONFIG_HDQ_GPIO_BITBANG=y ++# CONFIG_BATTERY_PLATFORM is not set + # CONFIG_HWMON is not set + # CONFIG_THERMAL is not set + # CONFIG_THERMAL_HWMON is not set +@@ -1444,15 +1445,15 @@ CONFIG_JBD=y + # CONFIG_JBD_DEBUG is not set + # CONFIG_REISERFS_FS is not set + # CONFIG_JFS_FS is not set +-# CONFIG_FS_POSIX_ACL is not set ++CONFIG_FS_POSIX_ACL=y + # CONFIG_XFS_FS is not set + # CONFIG_OCFS2_FS is not set + # CONFIG_BTRFS_FS is not set + CONFIG_FILE_LOCKING=y +-# CONFIG_FSNOTIFY is not set ++CONFIG_FSNOTIFY=y + # CONFIG_DNOTIFY is not set + CONFIG_INOTIFY=y +-# CONFIG_INOTIFY_USER is not set ++CONFIG_INOTIFY_USER=y + # CONFIG_QUOTA is not set + # CONFIG_AUTOFS_FS is not set + # CONFIG_AUTOFS4_FS is not set +@@ -1526,7 +1527,31 @@ CONFIG_UBIFS_FS_ZLIB=y + # CONFIG_SYSV_FS is not set + # CONFIG_UFS_FS is not set + # CONFIG_NILFS2_FS is not set +-# CONFIG_NETWORK_FILESYSTEMS is not set ++CONFIG_NETWORK_FILESYSTEMS=y ++CONFIG_NFS_FS=m ++CONFIG_NFS_V3=y ++CONFIG_NFS_V3_ACL=y ++CONFIG_NFS_V4=y ++# CONFIG_NFS_V4_1 is not set ++CONFIG_NFSD=m ++CONFIG_NFSD_V2_ACL=y ++CONFIG_NFSD_V3=y ++CONFIG_NFSD_V3_ACL=y ++CONFIG_NFSD_V4=y ++CONFIG_LOCKD=m ++CONFIG_LOCKD_V4=y ++CONFIG_EXPORTFS=m ++CONFIG_NFS_ACL_SUPPORT=m ++CONFIG_NFS_COMMON=y ++CONFIG_SUNRPC=m ++CONFIG_SUNRPC_GSS=m ++CONFIG_RPCSEC_GSS_KRB5=m ++# CONFIG_RPCSEC_GSS_SPKM3 is not set ++# CONFIG_SMB_FS is not set ++# CONFIG_CIFS is not set ++# CONFIG_NCP_FS is not set ++# CONFIG_CODA_FS is not set ++# CONFIG_AFS_FS is not set + + # + # Partition Types +@@ -1634,13 +1659,18 @@ CONFIG_CRYPTO=y + # CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y + CONFIG_CRYPTO_ALGAPI2=y ++CONFIG_CRYPTO_AEAD2=y ++CONFIG_CRYPTO_BLKCIPHER=m ++CONFIG_CRYPTO_BLKCIPHER2=y + CONFIG_CRYPTO_HASH=y + CONFIG_CRYPTO_HASH2=y ++CONFIG_CRYPTO_RNG2=y + CONFIG_CRYPTO_PCOMP=y +-# CONFIG_CRYPTO_MANAGER is not set +-# CONFIG_CRYPTO_MANAGER2 is not set ++CONFIG_CRYPTO_MANAGER=m ++CONFIG_CRYPTO_MANAGER2=y + # CONFIG_CRYPTO_GF128MUL is not set + # CONFIG_CRYPTO_NULL is not set ++CONFIG_CRYPTO_WORKQUEUE=y + # CONFIG_CRYPTO_CRYPTD is not set + # CONFIG_CRYPTO_AUTHENC is not set + # CONFIG_CRYPTO_TEST is not set +@@ -1655,7 +1685,7 @@ CONFIG_CRYPTO_PCOMP=y + # + # Block modes + # +-# CONFIG_CRYPTO_CBC is not set ++CONFIG_CRYPTO_CBC=m + # CONFIG_CRYPTO_CTR is not set + # CONFIG_CRYPTO_CTS is not set + # CONFIG_CRYPTO_ECB is not set +@@ -1696,7 +1726,7 @@ CONFIG_CRYPTO_MD5=y + # CONFIG_CRYPTO_CAMELLIA is not set + # CONFIG_CRYPTO_CAST5 is not set + # CONFIG_CRYPTO_CAST6 is not set +-# CONFIG_CRYPTO_DES is not set ++CONFIG_CRYPTO_DES=m + # CONFIG_CRYPTO_FCRYPT is not set + # CONFIG_CRYPTO_KHAZAD is not set + # CONFIG_CRYPTO_SALSA20 is not set +-- +1.6.5.3 + diff --git a/recipes/linux/linux-openmoko-2.6.31_git.bb b/recipes/linux/linux-openmoko-2.6.31_git.bb index 346cdece1e..301ac6b863 100644 --- a/recipes/linux/linux-openmoko-2.6.31_git.bb +++ b/recipes/linux/linux-openmoko-2.6.31_git.bb @@ -8,7 +8,7 @@ KERNEL_VERSION = "${KERNEL_RELEASE}" OEV = "oe1" PV = "${KERNEL_RELEASE}-${OEV}+gitr${SRCREV}" -PR = "r4" +PR = "r5" SRC_URI = "\ git://git.openmoko.org/git/kernel.git;protocol=git;branch=om-2.6.31 \ @@ -19,10 +19,11 @@ SRC_URI = "\ file://0002-Glamo-DRM-and-KMS-driver.patch;patch=1 \ file://0003-Work-on-Glamo-core-for-DRM.patch;patch=1 \ file://0004-Add-JBT6k74-hook-for-use-by-KMS.patch;patch=1 \ -# enable UBI+DRM +# enable UBI+DRM+NFS+INOTIFY_USER file://0004-gta02_defconfig-Enable-UBI-support.patch;patch=1 \ file://0005-gta02_defconfig-Enable-UBI-debug.patch;patch=1 \ file://0001-gta02_defconfig-Enable-GLAMO_DRM.patch;patch=1 \ + file://0006-gta02-defconfig-enable-NFS-and-INOTIFY_USER.patch \ " S = "${WORKDIR}/git" diff --git a/recipes/mplayer/mplayer-common.bb b/recipes/mplayer/mplayer-common.bb index 3f3d5d2430..18da2ad342 100644 --- a/recipes/mplayer/mplayer-common.bb +++ b/recipes/mplayer/mplayer-common.bb @@ -11,7 +11,9 @@ HOMEPAGE = "http://www.hentges.net/misc/openzaurus/index.shtml" ###################################################################################### PV = "0.0.1" -PR = "r1" +PR = "r2" + +PACKAGE_ARCH = "all" ###################################################################################### @@ -19,12 +21,12 @@ SRC_URI = "file://mplayer.conf" ###################################################################################### -FILES_${PN} = "/usr/etc/mplayer" +FILES_${PN} = "${sysconfdir}/mplayer" ###################################################################################### do_install() { - install -d "${D}/usr/etc/mplayer" + install -d "${D}${sysconfdir}/mplayer" - install -m 0644 ${WORKDIR}/mplayer.conf "${D}/usr/etc/mplayer" + install -m 0644 ${WORKDIR}/mplayer.conf "${D}${sysconfdir}/mplayer" } diff --git a/recipes/mplayer/mplayer_0.0+1.0rc2.bb b/recipes/mplayer/mplayer_0.0+1.0rc2.bb index 9a16dada8c..5b1d558836 100644 --- a/recipes/mplayer/mplayer_0.0+1.0rc2.bb +++ b/recipes/mplayer/mplayer_0.0+1.0rc2.bb @@ -46,7 +46,7 @@ ARM_INSTRUCTION_SET = "ARM" RCONFLICTS_${PN} = "mplayer-atty" RREPLACES_${PN} = "mplayer-atty" -PR = "r13" +PR = "r14" PARALLEL_MAKE = "" @@ -60,8 +60,7 @@ FILES_mencoder = "${bindir}/mencoder" inherit autotools pkgconfig EXTRA_OECONF = " \ - --prefix=/usr \ - --mandir=${mandir} \ + --prefix=${prefix} \ --target=${TARGET_SYS} \ \ --enable-mencoder \ diff --git a/recipes/mtd/mtd-utils.inc b/recipes/mtd/mtd-utils.inc index dcf0e7c832..813a09fb13 100644 --- a/recipes/mtd/mtd-utils.inc +++ b/recipes/mtd/mtd-utils.inc @@ -17,7 +17,9 @@ do_stage () { install -m 0644 $f ${STAGING_INCDIR}/mtd/ done for binary in ${mtd_utils}; do - install -m 0755 $binary ${STAGING_BINDIR} + if [ -f $binary ]; then + install -m 0755 $binary ${STAGING_BINDIR} + fi done } @@ -25,7 +27,9 @@ do_install () { install -d ${D}${bindir} install -d ${D}${includedir}/mtd for binary in ${mtd_utils}; do - install -m 0755 $binary ${D}${bindir} + if [ -f $binary ]; then + install -m 0755 $binary ${D}${bindir} + fi done for f in ${S}/include/mtd/*.h; do install -m 0644 $f ${D}${includedir}/mtd diff --git a/recipes/openmoko-3rdparty/babiloo-efl_bzr.bb b/recipes/openmoko-3rdparty/babiloo-efl_bzr.bb index 5c9c22503f..614c095b8b 100644 --- a/recipes/openmoko-3rdparty/babiloo-efl_bzr.bb +++ b/recipes/openmoko-3rdparty/babiloo-efl_bzr.bb @@ -9,7 +9,7 @@ RDEPENDS = "python-elementary python-compression python-misc python-netclient" PACKAGE_ARCH = "all" DEFAULT_PREFERENCE = "-1" -PV = "2.0.9-bzrr${SRCREV}" +PV = "2.0.9-bzrr${SRCPV}" SRC_URI = "bzr://bazaar.launchpad.net/~vaudano/babiloo/efl" diff --git a/recipes/openmoko-3rdparty/neomis_svn.bb b/recipes/openmoko-3rdparty/neomis_svn.bb new file mode 100644 index 0000000000..2b6075b787 --- /dev/null +++ b/recipes/openmoko-3rdparty/neomis_svn.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "A computer version of the well-known electronic game named Simon" +HOMEPAGE = "http://code.google.com/p/neomis/" +LICENSE = "GPLv3" +AUTHOR = "Valéry Febvre <vfebvre@easter-eggs.com>" +SECTION = "x11/applications" +PRIORITY = "optional" +DEPENDS = "python-native" + +PV = "1.1.0+svnr${SRCPV}" + +S = "${WORKDIR}/trunk" + +PACKAGE_ARCH = "all" + +SRC_URI = "svn://neomis.googlecode.com/svn;module=trunk;proto=http" + +inherit distutils + +FILES_${PN} += "${datadir}/neomis ${datadir}/applications/neomis.desktop ${datadir}/pixmaps" + +RDEPENDS += "python-audio python-pyalsaaudio python-elementary" diff --git a/recipes/openmoko-3rdparty/numberx_svn.bb b/recipes/openmoko-3rdparty/numberx_svn.bb new file mode 100644 index 0000000000..446ed37b52 --- /dev/null +++ b/recipes/openmoko-3rdparty/numberx_svn.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "NumberX is a mathematical puzzle game that will challenge your mental math abilities! " +HOMEPAGE = "http://code.google.com/p/numberx/" +LICENSE = "GPLv3" +AUTHOR = "Valéry Febvre <vfebvre@easter-eggs.com>" +SECTION = "x11/applications" +PRIORITY = "optional" +DEPENDS = "python-native" + +PV = "1.0.0+svnr${SRCPV}" + +S = "${WORKDIR}/trunk" + +PACKAGE_ARCH = "all" + +SRC_URI = "svn://numberx.googlecode.com/svn;module=trunk;proto=http" + +inherit distutils + +RDEPENDS += "python-math python-elementary" + +FILES_${PN} += "${datadir}" diff --git a/recipes/openttd/openttd_0.7.4-RC1.bb b/recipes/openttd/openttd_0.7.4-RC1.bb index bbb570352b..1887e06cbe 100644 --- a/recipes/openttd/openttd_0.7.4-RC1.bb +++ b/recipes/openttd/openttd_0.7.4-RC1.bb @@ -42,8 +42,8 @@ do_install() { } do_install_append_shr() { - install -d ${D}${datadir}/games/openttd/ - install -m 0644 ${WORKDIR}/openttd.cfg ${D}${datadir}/games/openttd/ + install -d ${D}${datadir}/games/openttd/data/ + install -m 0644 ${WORKDIR}/openttd.cfg ${D}${datadir}/games/openttd/data/ } FILES_${PN} += "${datadir}" diff --git a/recipes/opkg/opkg-native_svn.bb b/recipes/opkg/opkg-native_svn.bb index 60254eaa27..1de472e156 100644 --- a/recipes/opkg/opkg-native_svn.bb +++ b/recipes/opkg/opkg-native_svn.bb @@ -3,7 +3,7 @@ require opkg.inc DEPENDS = "curl-native" PR = "${INC_PR}" -SRC_URI += "file://opkg-libdir.patch;patch=1" +SRC_URI += "file://opkg-libdir.patch;patch=1;maxrev=342" target_libdir := "${libdir}" diff --git a/recipes/opkg/opkg-nogpg_svn.bb b/recipes/opkg/opkg-nogpg_svn.bb index 9ddc589b49..33d9987463 100644 --- a/recipes/opkg/opkg-nogpg_svn.bb +++ b/recipes/opkg/opkg-nogpg_svn.bb @@ -20,5 +20,8 @@ LDFLAGS_append = " -Wl,--as-needed" do_configure_prepend() { sed -i -e s:-Werror::g ${S}/libopkg/Makefile.am } +do_configure_prepend_nylon() { + LDFLAGS="`echo "$LDFLAGS" | sed "s/ -Wl,--as-needed//"`" +} DEFAULT_PREFERENCE = "-1" diff --git a/recipes/opkg/opkg.inc b/recipes/opkg/opkg.inc index 2e7baee496..c973174787 100644 --- a/recipes/opkg/opkg.inc +++ b/recipes/opkg/opkg.inc @@ -24,6 +24,3 @@ do_install_prepend() { install -m 0755 ${WORKDIR}/configure ${D}${sysconfdir}/rcS.d/S98configure } -do_stage() { - autotools_stage_all -} diff --git a/recipes/opkg/opkg_svn.bb b/recipes/opkg/opkg_svn.bb index 676a8cb499..57b2774b65 100644 --- a/recipes/opkg/opkg_svn.bb +++ b/recipes/opkg/opkg_svn.bb @@ -1,5 +1,7 @@ require opkg.inc +DEPENDS_append = " openssl" + PR = "${INC_PR}" PACKAGES =+ "libopkg-dev libopkg" diff --git a/recipes/php/php_5.2.6.bb b/recipes/php/php_5.2.6.bb index 38e86568d8..0d9e1f42a5 100644 --- a/recipes/php/php_5.2.6.bb +++ b/recipes/php/php_5.2.6.bb @@ -13,7 +13,8 @@ export LIBS=" -lpthread " EXTRA_OECONF = " --without-iconv \ --enable-discard-path \ --enable-sockets \ - --enable-pcntl \ + --enable-shared \ +# --enable-pcntl \ --enable-memory-limit \ --enable-wddx \ --enable-embedded-mysqli \ @@ -21,7 +22,7 @@ EXTRA_OECONF = " --without-iconv \ --enable-fastcgi \ --with-zlib --with-zlib-dir=${STAGING_LIBDIR}/.. \ --with-libxml-dir=${STAGING_BINDIR_CROSS} \ -# --with-mysql="${STAGING_DIR_TARGET}${layout_exec_prefix}" \ + --with-mysql="${STAGING_DIR_TARGET}${layout_exec_prefix}" \ # --with-mysqli = "${STAGING_BINDIR_NATIVE}/mysql_config" \ " diff --git a/recipes/proxy-libintl/proxy-libintl_20080418.bb b/recipes/proxy-libintl/proxy-libintl_20080418.bb index dccd3eabe2..c5336b222d 100644 --- a/recipes/proxy-libintl/proxy-libintl_20080418.bb +++ b/recipes/proxy-libintl/proxy-libintl_20080418.bb @@ -3,7 +3,7 @@ HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/" SECTION = "libs" LICENSE = "LGPL" -PR = "r3" +PR = "r4" PROVIDES = "virtual/libintl" SRC_URI = " \ @@ -26,16 +26,10 @@ do_compile() { } do_install() { - install -d ${D}/usr/include - install -d ${D}/usr/lib - + install -d ${D}/${includedir} install -m 0644 ${WORKDIR}/include/libintl.h ${D}/${includedir} - install -m 0644 ${WORKDIR}/lib/libintl.so ${D}/${libdir} - install -m 0644 ${WORKDIR}/lib/libintl.a ${D}/${libdir} -} -do_stage() { - install -m 0644 ${WORKDIR}/include/libintl.h ${STAGING_INCDIR} - oe_libinstall -a -so -C lib libintl ${STAGING_LIBDIR} + install -d ${D}/${libdir} + oe_libinstall -a -so -C lib libintl ${D}/${libdir} } diff --git a/recipes/pulseaudio/paprefs_0.9.9.bb b/recipes/pulseaudio/paprefs_0.9.9.bb new file mode 100644 index 0000000000..2b62bce013 --- /dev/null +++ b/recipes/pulseaudio/paprefs_0.9.9.bb @@ -0,0 +1,9 @@ +DESCRIPTION = "PulseAudio Preferences (paprefs) is a simple GTK based configuration dialog for the PulseAudio sound server" +LICENSE = "GPLv2" +DEPENDS = "gconfmm libglademm libcanberra gtk+ libnotify gconf pulseaudio" + +inherit gnome + +SRC_URI = "http://0pointer.de/lennart/projects/${PN}/${PN}-${PV}.tar.gz" + + diff --git a/recipes/pulseaudio/pulseaudio-0.9.19/fixbluezbuild.patch b/recipes/pulseaudio/pulseaudio-0.9.19/fixbluezbuild.patch new file mode 100644 index 0000000000..d817a62b4d --- /dev/null +++ b/recipes/pulseaudio/pulseaudio-0.9.19/fixbluezbuild.patch @@ -0,0 +1,13 @@ +Index: pulseaudio-0.9.15/src/Makefile.am +=================================================================== +--- pulseaudio-0.9.15.orig/src/Makefile.am 2009-07-07 22:04:21.313945421 +0200 ++++ pulseaudio-0.9.15/src/Makefile.am 2009-07-07 22:04:32.503184920 +0200 +@@ -1534,7 +1534,7 @@ + + libbluetooth_ipc_la_SOURCES = modules/bluetooth/ipc.c modules/bluetooth/ipc.h + libbluetooth_ipc_la_LDFLAGS = -avoid-version +-libbluetooth_ipc_la_LIBADD = $(AM_LIBADD)libpulsecore-@PA_MAJORMINORMICRO@.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la ++libbluetooth_ipc_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la + libbluetooth_ipc_la_CFLAGS = $(AM_CFLAGS) + BLUETOOTH_IPC_FILES = $(subst modules/bluetooth/,,$(libbluetooth_ipc_la_SOURCES)) rtp.h + diff --git a/recipes/pulseaudio/pulseaudio-0.9.19/gettext.patch b/recipes/pulseaudio/pulseaudio-0.9.19/gettext.patch new file mode 100644 index 0000000000..37e41b9ea6 --- /dev/null +++ b/recipes/pulseaudio/pulseaudio-0.9.19/gettext.patch @@ -0,0 +1,127 @@ +Index: pulseaudio-0.9.19/configure.ac +=================================================================== +--- pulseaudio-0.9.19.orig/configure.ac 2009-11-26 14:05:11.000000000 +0100 ++++ pulseaudio-0.9.19/configure.ac 2009-11-26 14:06:28.304369265 +0100 +@@ -483,15 +483,15 @@ + # Check for open64 to know if the current system does have open64() and similar functions + AC_CHECK_FUNCS_ONCE([open64]) + +-#### [lib]iconv #### ++#### localization support #### + + AM_ICONV +- +-IT_PROG_INTLTOOL([0.35.0]) +-GETTEXT_PACKAGE=pulseaudio ++IT_PROG_INTLTOOL([0.37.0]) ++GETTEXT_PACKAGE=$PACKAGE + AC_SUBST([GETTEXT_PACKAGE]) + AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package]) +-AM_GLIB_GNU_GETTEXT ++AM_GNU_GETTEXT([external]) ++AM_GNU_GETTEXT_VERSION([0.17]) + + pulselocaledir='${prefix}/${DATADIRNAME}/locale' + AC_SUBST(pulselocaledir) +Index: pulseaudio-0.9.19/src/pulse/i18n.h +=================================================================== +--- pulseaudio-0.9.19.orig/src/pulse/i18n.h 2009-01-28 04:25:54.000000000 +0100 ++++ pulseaudio-0.9.19/src/pulse/i18n.h 2009-11-26 14:06:28.304369265 +0100 +@@ -28,15 +28,13 @@ + + PA_C_DECL_BEGIN + +-#if !defined(GETTEXT_PACKAGE) +-#error "Something is very wrong here, config.h needs to be included first" +-#endif ++ + + #ifdef ENABLE_NLS + + #include <libintl.h> + +-#define _(String) dgettext(GETTEXT_PACKAGE, String) ++#define _(String) dgettext(PACKAGE, String) + #ifdef gettext_noop + #define N_(String) gettext_noop(String) + #else +Index: pulseaudio-0.9.19/src/pulse/i18n.c +=================================================================== +--- pulseaudio-0.9.19.orig/src/pulse/i18n.c 2008-10-19 22:25:20.000000000 +0200 ++++ pulseaudio-0.9.19/src/pulse/i18n.c 2009-11-26 14:06:28.304369265 +0100 +@@ -31,8 +31,8 @@ + + PA_ONCE_BEGIN { + +- bindtextdomain(GETTEXT_PACKAGE, PULSE_LOCALEDIR); +- bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); ++ bindtextdomain(PACKAGE, PULSE_LOCALEDIR); ++ bind_textdomain_codeset(PACKAGE, "UTF-8"); + + } PA_ONCE_END; + } +Index: pulseaudio-0.9.19/src/utils/pacat.c +=================================================================== +--- pulseaudio-0.9.19.orig/src/utils/pacat.c 2009-09-18 22:21:44.000000000 +0200 ++++ pulseaudio-0.9.19/src/utils/pacat.c 2009-11-26 14:06:28.304369265 +0100 +@@ -699,7 +699,7 @@ + }; + + setlocale(LC_ALL, ""); +- bindtextdomain(GETTEXT_PACKAGE, PULSE_LOCALEDIR); ++ bindtextdomain(PACKAGE, PULSE_LOCALEDIR); + + bn = pa_path_get_filename(argv[0]); + +Index: pulseaudio-0.9.19/src/utils/pacmd.c +=================================================================== +--- pulseaudio-0.9.19.orig/src/utils/pacmd.c 2009-08-19 04:17:06.000000000 +0200 ++++ pulseaudio-0.9.19/src/utils/pacmd.c 2009-11-26 14:06:28.307708271 +0100 +@@ -63,7 +63,7 @@ + struct pollfd pollfd[N_WATCH]; + + setlocale(LC_ALL, ""); +- bindtextdomain(GETTEXT_PACKAGE, PULSE_LOCALEDIR); ++ bindtextdomain(PACKAGE, PULSE_LOCALEDIR); + + if (pa_pid_file_check_running(&pid, "pulseaudio") < 0) { + pa_log(_("No PulseAudio daemon running, or not running as session daemon.")); +Index: pulseaudio-0.9.19/src/utils/pactl.c +=================================================================== +--- pulseaudio-0.9.19.orig/src/utils/pactl.c 2009-09-10 02:04:58.000000000 +0200 ++++ pulseaudio-0.9.19/src/utils/pactl.c 2009-11-26 14:06:28.307708271 +0100 +@@ -916,7 +916,7 @@ + }; + + setlocale(LC_ALL, ""); +- bindtextdomain(GETTEXT_PACKAGE, PULSE_LOCALEDIR); ++ bindtextdomain(PACKAGE, PULSE_LOCALEDIR); + + bn = pa_path_get_filename(argv[0]); + +Index: pulseaudio-0.9.19/src/utils/pasuspender.c +=================================================================== +--- pulseaudio-0.9.19.orig/src/utils/pasuspender.c 2009-06-08 00:35:57.000000000 +0200 ++++ pulseaudio-0.9.19/src/utils/pasuspender.c 2009-11-26 14:06:28.307708271 +0100 +@@ -233,7 +233,7 @@ + }; + + setlocale(LC_ALL, ""); +- bindtextdomain(GETTEXT_PACKAGE, PULSE_LOCALEDIR); ++ bindtextdomain(PACKAGE, PULSE_LOCALEDIR); + + bn = pa_path_get_filename(argv[0]); + +Index: pulseaudio-0.9.19/src/utils/pax11publish.c +=================================================================== +--- pulseaudio-0.9.19.orig/src/utils/pax11publish.c 2009-03-05 12:28:10.000000000 +0100 ++++ pulseaudio-0.9.19/src/utils/pax11publish.c 2009-11-26 14:06:28.307708271 +0100 +@@ -50,7 +50,7 @@ + enum { DUMP, EXPORT, IMPORT, REMOVE } mode = DUMP; + + setlocale(LC_ALL, ""); +- bindtextdomain(GETTEXT_PACKAGE, PULSE_LOCALEDIR); ++ bindtextdomain(PACKAGE, PULSE_LOCALEDIR); + + while ((c = getopt(argc, argv, "deiD:S:O:I:c:hr")) != -1) { + switch (c) { diff --git a/recipes/pulseaudio/pulseaudio_0.9.19.bb b/recipes/pulseaudio/pulseaudio_0.9.19.bb index cd9e46e4f2..272f16b6e3 100644 --- a/recipes/pulseaudio/pulseaudio_0.9.19.bb +++ b/recipes/pulseaudio/pulseaudio_0.9.19.bb @@ -2,6 +2,8 @@ require pulseaudio.inc DEPENDS += "gdbm speex" +PR = "${INC_PR}.0" + inherit gettext SRC_URI += "\ @@ -9,6 +11,8 @@ SRC_URI += "\ file://autoconf_version.patch;patch=1 \ file://tls_m4.patch;patch=1 \ file://configure_silent_rules.patch;patch=1 \ + file://gettext.patch;patch=1 \ + file://fixbluezbuild.patch;patch=1 \ " do_compile_prepend() { diff --git a/recipes/python/python-phoneutils_git.bb b/recipes/python/python-phoneutils_git.bb index c1e1dbe16e..c616a2beed 100644 --- a/recipes/python/python-phoneutils_git.bb +++ b/recipes/python/python-phoneutils_git.bb @@ -1,8 +1,10 @@ DESCRIPTION = "Python Bindings for libphone-utils" SECTION = "devel/python" -DEPENDS = "libphone-utils" +DEPENDS = "libphone-utils python-cython-native python-pyrex-native" +RDEPENDS = "libphone-utils" + PV = "0.0.2+gitr${SRCREV}" -PR = "r1" +PR = "r2" SRC_URI = "git://git.shr-project.org/repo/libphone-utils.git;protocol=http;branch=master" S = "${WORKDIR}/git/src/python" diff --git a/recipes/scummvm/files/shr/openmoko-scummvm b/recipes/scummvm/files/shr/openmoko-scummvm new file mode 100644 index 0000000000..58eb2bbded --- /dev/null +++ b/recipes/scummvm/files/shr/openmoko-scummvm @@ -0,0 +1,19 @@ +#!/bin/sh + +# Save current AUX Key mapping +SAVE_KEY="$(xmodmap -pke | grep 'keycode 177')" + +# Map AUX Key to F5 +xmodmap -e "keycode 177 = F5" + +# Turn LCD feft +xrandr -o left + +# Start the scummvm in fullscreen mode +scummvm --fullscreen --themepath=/usr/share/scummvm/ + +# Turn LCD normal +xrandr -o normal + +# Restore the AUX Key mapping +xmodmap -e "$SAVE_KEY" diff --git a/recipes/scummvm/files/shr/scummvm.desktop b/recipes/scummvm/files/shr/scummvm.desktop new file mode 100644 index 0000000000..96c025050e --- /dev/null +++ b/recipes/scummvm/files/shr/scummvm.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=ScummVM +Name[pl]=ScummVM +Comment=Interpreter for several adventure games +Comment[pl]=Interpreter graficznych gier przygodowych +Exec=openmoko-scummvm +Icon=scummvm.xpm +Terminal=false +Type=Application +Categories=Application;Game;AdventureGame; +StartupNotify=false diff --git a/recipes/scummvm/scummvm-1.0.0/no-strip.patch b/recipes/scummvm/scummvm-1.0.0/no-strip.patch new file mode 100644 index 0000000000..c69402e469 --- /dev/null +++ b/recipes/scummvm/scummvm-1.0.0/no-strip.patch @@ -0,0 +1,20 @@ +--- scummvm-1.0.0/ports.mk~ 2009-11-27 12:51:50.000000000 +0100 ++++ scummvm-1.0.0/ports.mk 2009-11-27 12:51:50.000000000 +0100 +@@ -10,7 +10,7 @@ + # + install: all + $(INSTALL) -d "$(DESTDIR)$(BINDIR)" +- $(INSTALL) -c -s -m 755 "./$(EXECUTABLE)" "$(DESTDIR)$(BINDIR)/$(EXECUTABLE)" ++ $(INSTALL) -c -m 755 "./$(EXECUTABLE)" "$(DESTDIR)$(BINDIR)/$(EXECUTABLE)" + $(INSTALL) -d "$(DESTDIR)$(MANDIR)/man6/" + $(INSTALL) -c -m 644 "$(srcdir)/dists/scummvm.6" "$(DESTDIR)$(MANDIR)/man6/scummvm.6" + $(INSTALL) -d "$(DESTDIR)$(PREFIX)/share/pixmaps/" +@@ -21,7 +21,7 @@ + $(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(DIST_FILES_ENGINEDATA) "$(DESTDIR)$(DATADIR)/scummvm/" + ifdef DYNAMIC_MODULES + $(INSTALL) -d "$(DESTDIR)$(LIBDIR)/scummvm/" +- $(INSTALL) -c -s -m 644 $(DIST_FILES_PLUGINS) "$(DESTDIR)$(LIBDIR)/scummvm/" ++ $(INSTALL) -c -m 644 $(DIST_FILES_PLUGINS) "$(DESTDIR)$(LIBDIR)/scummvm/" + endif + + uninstall: diff --git a/recipes/scummvm/scummvm_0.12.0.bb b/recipes/scummvm/scummvm_0.12.0.bb index 630db67f21..9d76426ab1 100644 --- a/recipes/scummvm/scummvm_0.12.0.bb +++ b/recipes/scummvm/scummvm_0.12.0.bb @@ -9,6 +9,7 @@ SRC_URI += " file://scummvm.desktop \ file://no-strip.patch;patch=1" SRC_URI_append_openmoko = " file://openmoko-scummvm " +SRC_URI_append_shr = " file://openmoko-scummvm " SRC_URI_OVERRIDES_PACKAGE_ARCH = "1" diff --git a/recipes/scummvm/scummvm_1.0.0.bb b/recipes/scummvm/scummvm_1.0.0.bb new file mode 100644 index 0000000000..28465f409e --- /dev/null +++ b/recipes/scummvm/scummvm_1.0.0.bb @@ -0,0 +1,39 @@ +require scummvm.inc + +CCACHE = "" + +DEPENDS = "virtual/libsdl libvorbis libogg zlib \ + ${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'libmad mpeg2dec', d)}" + +SRC_URI += " file://scummvm.desktop \ + file://no-strip.patch;patch=1 \ + " + +SRC_URI_append_openmoko = " file://openmoko-scummvm " +SRC_URI_append_shr = " file://openmoko-scummvm " + +SRC_URI_OVERRIDES_PACKAGE_ARCH = "1" + +EXTRA_OECONF += " \ + --disable-scumm-7-8 \ + --disable-he \ + " + +# Workaround, because some env variables aren't recognised correctly +do_configure_append() { + sed -i "s/AS := as/AS := ${AS}/" ${S}/config.mk + sed -i "s/AR := ar cru/AR := ${AR} cru/" ${S}/config.mk + sed -i "s/STRIP := strip/STRIP := ${STRIP}/" ${S}/config.mk + sed -i "s/RANLIB := ranlib/RANLIB := ${RANLIB}/" ${S}/config.mk +} + +do_install_append() { + if [ -f ${WORKDIR}/openmoko-scummvm ]; then + install -d ${D}${bindir} + install -m 0755 ${WORKDIR}/openmoko-scummvm ${D}${bindir}/openmoko-scummvm + fi + if [ -f ${WORKDIR}/scummvm.desktop ]; then + install -d ${D}${datadir}/applications + install -m 0644 ${WORKDIR}/scummvm.desktop ${D}${datadir}/applications + fi +} diff --git a/recipes/tasks/task-base.bb b/recipes/tasks/task-base.bb index 37b051a83f..ed561b802e 100644 --- a/recipes/tasks/task-base.bb +++ b/recipes/tasks/task-base.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Merge machine and distro options to create a basic machine task/package" -PR = "r85" +PR = "r86" inherit task diff --git a/recipes/tasks/task-shr-feed.bb b/recipes/tasks/task-shr-feed.bb index 14effe65d4..2ed5ac898e 100644 --- a/recipes/tasks/task-shr-feed.bb +++ b/recipes/tasks/task-shr-feed.bb @@ -7,6 +7,7 @@ inherit task RDEPENDS_${PN} += "\ babiloo-efl \ + di \ dictator \ dosbox \ enotes \ @@ -21,6 +22,7 @@ RDEPENDS_${PN} += "\ gpe-gallery \ gpe-timesheet \ gpe-contacts \ + gtkmm \ mc \ mplayer \ navit \ @@ -251,4 +253,5 @@ RDEPENDS_${PN} += "\ xf86-input-tslib \ fltkcocktailbar \ babiloo-efl \ + make \ " diff --git a/recipes/totem/totem_2.28.1.bb b/recipes/totem/totem_2.28.1.bb index a61f27ef76..98f47ca43e 100644 --- a/recipes/totem/totem_2.28.1.bb +++ b/recipes/totem/totem_2.28.1.bb @@ -8,7 +8,7 @@ LICENSE = "GPL" PR = "r1" -DEPENDS = " libgdata totem-pl-parser gtk+ dbus bluez-libs libglade gconf libxml2 gst-ffmpeg gst-plugins-bad gst-plugins-base" +DEPENDS = " libunique libgdata totem-pl-parser gtk+ dbus bluez-libs libglade gconf libxml2 gst-ffmpeg gst-plugins-bad gst-plugins-base" RDEPENDS_${PN} += "iso-codes" RRECOMMENDS_${PN} += "gst-plugin-playbin \ gst-plugin-gconfelements \ diff --git a/recipes/u-boot/u-boot_git.bb b/recipes/u-boot/u-boot_git.bb index ef36f42cf3..e914d78064 100644 --- a/recipes/u-boot/u-boot_git.bb +++ b/recipes/u-boot/u-boot_git.bb @@ -1,5 +1,5 @@ require u-boot.inc -PR ="r36" +PR ="r37" FILESPATHPKG =. "u-boot-git:" @@ -82,35 +82,43 @@ SRC_URI_overo = "git://gitorious.org/u-boot-omap3/mainline.git;branch=omap3-dev; SRCREV_overo = "2dea1db2a3b7c12ed70bbf8ee50755089c5e5170" PV_overo = "2009.03+${PR}+gitr${SRCREV}" -SRC_URI_dm6446-evm = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git" -SRCREV_dm6446-evm = "f8d047c84137ab331c0ee2c3e94c3f1ec4228298" -PV_dm6446-evm = "2009.05+2009.06-rc0+gitr${SRCREV}" +# Davinci dm355-evm/dm365-evm/dm6446-evm - PSP.03.01.00.28 (Phase 3 build 28) -SRC_URI_dm355-evm = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git" -SRCREV_dm355-evm = "5ae613482c9468386872cedd46f8fb389f19859d" -PV_dm355-evm = "2009.08+gitr${SRCREV}" +SRC_URI_dm355-evm = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git" +SRCREV_dm355-evm = "f8d047c84137ab331c0ee2c3e94c3f1ec4228298" +PV_dm355-evm = "2009.10+2009.11-rc1+${PR}+gitr${SRCREV}" -SRC_URI_dm365-evm = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git" -SRCREV_dm365-evm = "5ae613482c9468386872cedd46f8fb389f19859d" -PV_dm365-evm = "2009.08+gitr${SRCREV}" +SRC_URI_dm365-evm = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git" +SRCREV_dm365-evm = "f8d047c84137ab331c0ee2c3e94c3f1ec4228298" +PV_dm365-evm = "2009.10+2009.11-rc1+${PR}+gitr${SRCREV}" -SRC_URI_dm6467-evm = "git://arago-project.org/git/people/hemant/u-boot-dm646x.git;protocol=git" -SRCREV_dm6467-evm = "3da7475ae13445ba89c77ea563ccdfb9df540bb7" -PV_dm6467-evm = "2009.08+gitr${SRCREV}" +SRC_URI_dm6446-evm = "git://arago-project.org/git/projects/u-boot-davinci.git;protocol=git" +SRCREV_dm6446-evm = "f8d047c84137ab331c0ee2c3e94c3f1ec4228298" +PV_dm6446-evm = "2009.10+2009.11-rc1+${PR}+gitr${SRCREV}" -SRC_URI_dm6467t-evm = "git://arago-project.org/git/people/hemant/u-boot-dm646x.git;protocol=git" -SRCREV_dm6467t-evm = "3da7475ae13445ba89c77ea563ccdfb9df540bb7" -PV_dm6467t-evm = "2009.08+gitr${SRCREV}" +# Davinci dm6467-evm/dm6467-evm - PSP.03.02.00 (DM6467 Beta) + +SRC_URI_dm6467-evm = "git://arago-project.org/git/people/hemant/u-boot-dm646x.git;protocol=git" +SRCREV_dm6467-evm = "b037106746e5b942d7ef06bfcd776a7cdfe32f68" +PV_dm6467-evm = "1.3.4+${PR}+gitr${SRCREV}" + +SRC_URI_dm6467t-evm = "git://arago-project.org/git/people/hemant/u-boot-dm646x.git;protocol=git" +SRCREV_dm6467t-evm = "b037106746e5b942d7ef06bfcd776a7cdfe32f68" +PV_dm6467t-evm = "1.3.4+${PR}+gitr${SRCREV}" + +# OMAPL da380-omapl137/da850-omapl138-evm/hawkboard - PSP 3.20.00.07 (Beta) -# Corresponding to PSP 3.20.00.07 Release SRC_URI_da830-omapl137-evm = "git://arago-project.org/git/people/sekhar/u-boot-omapl1.git;protocol=git;branch=master" -SRCREV_da830-omapl137-evm = "0d291f2f255e6d66a78b3dc2445362a96ae39a57" -PV_da830-omapl137-evm = "2009.08+gitr${SRCREV}" +SRCREV_da830-omapl137-evm = "0d291f2f255e6d66a78b3dc2445362a96ae39a57" +PV_da830-omapl137-evm = "2009.08+gitr${SRCREV}" -# Corresponding to PSP 3.20.00.07 Release SRC_URI_da850-omapl138-evm = "git://arago-project.org/git/people/sekhar/u-boot-omapl1.git;protocol=git;branch=master" -SRCREV_da850-omapl138-evm = "0d291f2f255e6d66a78b3dc2445362a96ae39a57" -PV_da850-omapl138-evm = "2009.08+gitr${SRCREV}" +SRCREV_da850-omapl138-evm = "0d291f2f255e6d66a78b3dc2445362a96ae39a57" +PV_da850-omapl138-evm = "2009.08+gitr${SRCREV}" + +SRC_URI_hawkboard = "git://arago-project.org/git/people/sekhar/u-boot-omapl1.git;protocol=git;branch=master" +SRCREV_hawkboard = "0d291f2f255e6d66a78b3dc2445362a96ae39a57" +PV_hawkboard = "2009.08+gitr${SRCREV}" SRC_URI_dm355-leopard = "git://www.denx.de/git/u-boot-arm.git;protocol=git;branch=next \ file://leopardboard-support.patch;patch=1 \ diff --git a/recipes/uclibc/uclibc-0.9.30.1/o_cloexec.patch b/recipes/uclibc/uclibc-0.9.30.1/o_cloexec.patch new file mode 100644 index 0000000000..021ca95d83 --- /dev/null +++ b/recipes/uclibc/uclibc-0.9.30.1/o_cloexec.patch @@ -0,0 +1,272 @@ +From b8f1f91cc6d7b579fdb2370ab046565f9930aa09 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@gentoo.org> +Date: Thu, 08 Oct 2009 02:51:55 +0000 +Subject: clean up O_CLOEXEC handling + +Drop the "#ifndef O_CLOEXEC" cruft, enable O_CLOEXEC in most fcntl.h +headers, and import __ASSUME_O_CLOEXEC from glibc. + +Signed-off-by: Mike Frysinger <vapier@gentoo.org> +--- +Index: uClibc-0.9.30.1/libc/pwd_grp/lckpwdf.c +=================================================================== +--- uClibc-0.9.30.1.orig/libc/pwd_grp/lckpwdf.c 2008-05-20 00:57:34.000000000 +0200 ++++ uClibc-0.9.30.1/libc/pwd_grp/lckpwdf.c 2009-11-26 13:44:11.935757716 +0100 +@@ -75,7 +75,7 @@ + /* Prevent problems caused by multiple threads. */ + __UCLIBC_MUTEX_LOCK(mylock); + +- lock_fd = open (_PATH_PASSWD, O_WRONLY); ++ lock_fd = open (_PATH_PASSWD, O_WRONLY | O_CLOEXEC); + if (lock_fd == -1) { + /* Cannot create lock file. */ + goto DONE; +@@ -97,6 +97,12 @@ + goto DONE; + } + ++#ifndef __ASSUME_O_CLOEXEC ++ /* Make sure file gets correctly closed when process finished. */ ++ fcntl (lock_fd, F_SETFD, FD_CLOEXEC); ++#endif ++ ++ + /* Now we have to get exclusive write access. Since multiple + process could try this we won't stop when it first fails. + Instead we set a timeout for the system call. Once the timer +Index: uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/alpha/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/alpha/bits/fcntl.h 2009-11-26 13:35:06.744980002 +0100 +@@ -50,9 +50,7 @@ + # define O_NOFOLLOW 0200000 /* Do not follow links. */ + # define O_DIRECT 02000000 /* Direct disk access. */ + # define O_NOATIME 04000000 /* Do not set atime. */ +-# if 0 + # define O_CLOEXEC 010000000 /* Set close_on_exec. */ +-# endif + #endif + + #ifdef __USE_LARGEFILE64 +Index: uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/arm/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/arm/bits/fcntl.h 2009-11-26 13:35:06.744980002 +0100 +@@ -50,9 +50,7 @@ + # define O_NOFOLLOW 0100000 /* Do not follow links. */ + # define O_DIRECT 0200000 /* Direct disk access. */ + # define O_NOATIME 01000000 /* Do not set atime. */ +-# if 0 + # define O_CLOEXEC 02000000 /* Set close_on_exec. */ +-# endif + #endif + + /* For now Linux has synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/avr32/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/avr32/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/avr32/bits/fcntl.h 2009-11-26 13:35:06.748316654 +0100 +@@ -30,6 +30,7 @@ + # define O_DIRECTORY 00200000 /* direct disk access */ + # define O_NOFOLLOW 00400000 /* don't follow links */ + # define O_NOATIME 01000000 /* don't set atime */ ++# define O_CLOEXEC 02000000 /* set close_on_exec */ + #endif + + #ifdef __USE_LARGEFILE64 +Index: uClibc-0.9.30.1/libc/sysdeps/linux/bfin/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/bfin/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/bfin/bits/fcntl.h 2009-11-26 13:37:03.357878847 +0100 +@@ -49,6 +49,8 @@ + # define O_NOFOLLOW 0100000 /* Do not follow links. */ + # define O_DIRECT 0200000 /* Direct disk access. */ + # define O_STREAMING 04000000/* streaming access */ ++# define O_NOATIME 01000000/* don't set atime */ ++# define O_CLOEXEC 02000000/* set close_on_exec * + #endif + + /* For now Linux has synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/cris/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/cris/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/cris/bits/fcntl.h 2009-11-26 13:35:06.748316654 +0100 +@@ -50,6 +50,7 @@ + # define O_DIRECTORY 0200000 /* Must be a directory. */ + # define O_NOFOLLOW 0400000 /* Do not follow links. */ + # define O_NOATIME 01000000 /* Do not set atime. */ ++# define O_CLOEXEC 02000000 /* set close_on_exec */ + #endif + + /* For now Linux has synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/frv/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/frv/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/frv/bits/fcntl.h 2009-11-26 13:38:32.785785660 +0100 +@@ -46,6 +46,8 @@ + # define O_DIRECTORY 0200000 /* Must be a directory. */ + # define O_NOFOLLOW 0400000 /* Do not follow links. */ + # define O_STREAMING 04000000/* streaming access */ ++# define O_NOATIME 01000000/* don't set atime */ ++# define O_CLOEXEC 02000000/* set close_on_exec */ + #endif + + /* For now Linux has synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/hppa/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/hppa/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/hppa/bits/fcntl.h 2009-11-26 13:35:06.748316654 +0100 +@@ -50,6 +50,7 @@ + # define O_DIRECTORY 00010000 /* Must be a directory. */ + # define O_NOFOLLOW 00000200 /* Do not follow links. */ + # define O_NOATIME 04000000 /* Do not set atime. */ ++# define O_CLOEXEC 010000000 /* set close_on_exec */ + #endif + + #ifdef __USE_LARGEFILE64 +Index: uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/i386/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/i386/bits/fcntl.h 2009-11-26 13:35:06.748316654 +0100 +@@ -50,9 +50,7 @@ + # define O_DIRECTORY 0200000 /* Must be a directory. */ + # define O_NOFOLLOW 0400000 /* Do not follow links. */ + # define O_NOATIME 01000000 /* Do not set atime. */ +-# if 0 + # define O_CLOEXEC 02000000 /* Set close_on_exec. */ +-# endif + #endif + + /* For now Linux has synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/ia64/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/ia64/bits/fcntl.h 2009-11-26 13:35:06.748316654 +0100 +@@ -49,9 +49,7 @@ + # define O_DIRECTORY 0200000 /* must be a directory */ + # define O_NOFOLLOW 0400000 /* don't follow links */ + # define O_NOATIME 01000000 /* Do not set atime. */ +-# if 0 + # define O_CLOEXEC 02000000 /* Set close_on_exec. */ +-# endif + #endif + + #ifdef __USE_LARGEFILE64 +Index: uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/m68k/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/m68k/bits/fcntl.h 2009-11-26 13:35:06.748316654 +0100 +@@ -49,6 +49,7 @@ + # define O_NOFOLLOW 0100000 /* Do not follow links. */ + # define O_DIRECT 0200000 /* Direct disk access. */ + # define O_NOATIME 01000000 /* Do not set atime. */ ++# define O_CLOEXEC 02000000 /* set close_on_exec */ + #endif + + /* For now Linux has synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/microblaze/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/microblaze/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/microblaze/bits/fcntl.h 2009-11-26 13:39:20.148703335 +0100 +@@ -46,6 +46,8 @@ + # define O_NOFOLLOW 0100000 /* Do not follow links. */ + # define O_DIRECT 0200000 /* Direct disk access. */ + # define O_STREAMING 04000000/* streaming access */ ++# define O_NOATIME 01000000/* Do not set atime. */ ++# define O_CLOEXEC 02000000/* set close_on_exec */ + #endif + + /* For now Linux has synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/mips/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/fcntl.h 2009-11-26 13:35:06.748316654 +0100 +@@ -51,6 +51,7 @@ + # define O_DIRECT 0x8000 /* Direct disk access hint. */ + # define O_DIRECTORY 0x10000 /* Must be a directory. */ + # define O_NOATIME 0x40000 /* Do not set atime. */ ++# define O_CLOEXEC 02000000 /* set close_on_exec */ + #endif + + /* For now Linux has no synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/powerpc/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/powerpc/bits/fcntl.h 2009-11-26 13:35:06.748316654 +0100 +@@ -50,9 +50,7 @@ + # define O_DIRECTORY 040000 /* Must be a directory. */ + # define O_NOFOLLOW 0100000 /* Do not follow links. */ + # define O_NOATIME 01000000 /* Do not set atime. */ +-# if 0 + # define O_CLOEXEC 02000000 /* Set close_on_exec. */ +-# endif + #endif + + #ifdef __USE_LARGEFILE64 +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/sh/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sh/bits/fcntl.h 2009-11-26 13:35:06.748316654 +0100 +@@ -50,9 +50,7 @@ + # define O_DIRECTORY 0200000 /* Must be a directory. */ + # define O_NOFOLLOW 0400000 /* Do not follow links. */ + # define O_NOATIME 01000000 /* Do not set atime. */ +-# if 0 + # define O_CLOEXEC 02000000 /* Set close_on_exec. */ +-# endif + #endif + + /* For now Linux has synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sh64/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/sh64/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sh64/bits/fcntl.h 2009-11-26 13:37:47.554540700 +0100 +@@ -46,6 +46,8 @@ + # define O_DIRECTORY 0200000 /* Must be a directory. */ + # define O_NOFOLLOW 0400000 /* Do not follow links. */ + # define O_STREAMING 04000000/* streaming access */ ++# define O_NOATIME 01000000/* Do not set atime. */ ++# define O_CLOEXEC 02000000/* set close_on_exec */ + #endif + + /* For now Linux has synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/sparc/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/sparc/bits/fcntl.h 2009-11-26 13:35:06.751656343 +0100 +@@ -49,9 +49,7 @@ + # define O_NOFOLLOW 0x20000 /* don't follow links */ + # define O_DIRECT 0x100000 /* direct disk access hint */ + # define O_NOATIME 0x200000 /* Do not set atime. */ +-# if 0 + # define O_CLOEXEC 0x400000 /* Set close_on_exit. */ +-# endif + #endif + + #ifdef __USE_LARGEFILE64 +Index: uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/x86_64/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/x86_64/bits/fcntl.h 2009-11-26 13:35:06.751656343 +0100 +@@ -50,9 +50,7 @@ + # define O_DIRECTORY 0200000 /* Must be a directory. */ + # define O_NOFOLLOW 0400000 /* Do not follow links. */ + # define O_NOATIME 01000000 /* Do not set atime. */ +-# if 0 + # define O_CLOEXEC 02000000 /* Set close_on_exec. */ +-# endif + #endif + + /* For now Linux has synchronisity options for data and read operations. +Index: uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/fcntl.h +=================================================================== +--- uClibc-0.9.30.1.orig/libc/sysdeps/linux/xtensa/bits/fcntl.h 2008-11-15 16:55:31.000000000 +0100 ++++ uClibc-0.9.30.1/libc/sysdeps/linux/xtensa/bits/fcntl.h 2009-11-26 13:35:06.751656343 +0100 +@@ -50,6 +50,7 @@ + # define O_DIRECTORY 0200000 /* Must be a directory. */ + # define O_NOFOLLOW 0400000 /* Do not follow links. */ + # define O_NOATIME 01000000 /* Do not set atime. */ ++# define O_CLOEXEC 02000000 /* set close_on_exec */ + #endif + + /* For now Linux has synchronisity options for data and read operations. diff --git a/recipes/uclibc/uclibc_0.9.30.1.bb b/recipes/uclibc/uclibc_0.9.30.1.bb index c32b2f1d82..47b44cde31 100644 --- a/recipes/uclibc/uclibc_0.9.30.1.bb +++ b/recipes/uclibc/uclibc_0.9.30.1.bb @@ -9,7 +9,7 @@ UCLIBC_BASE ?= "0.9.30.1" require uclibc.inc -PR = "${INC_PR}.3" +PR = "${INC_PR}.4" PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc" @@ -23,6 +23,7 @@ SRC_URI += "file://uClibc.machine file://uClibc.distro \ file://uclibc-c99-ldbl-math.patch;patch=1 \ file://Use-__always_inline-instead-of-__inline__.patch;patch=1 \ file://installfix.patch;patch=1 \ + file://o_cloexec.patch;patch=1 \ " #recent versions uclibc require real kernel headers PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/recipes/xclip/xclip_0.12.bb b/recipes/xclip/xclip_0.12.bb new file mode 100644 index 0000000000..7f05511913 --- /dev/null +++ b/recipes/xclip/xclip_0.12.bb @@ -0,0 +1,10 @@ +DECSRIPTION = "xclip is a command line interface to the X11 clipboard. It can also be used for copying files, as an alternative to sftp/scp, thus avoiding password prompts when X11 forwarding has already been setup." +LICENSE = "GPLv2" + +DEPENDS = "libxmu virtual/libx11 " + +SRC_URI = "${SOURCEFORGE_MIRROR}/xclip/${P}.tar.gz" + +inherit autotools + + diff --git a/recipes/zaurus-utils/nandlogical-klibc-static_1.0.0.bb b/recipes/zaurus-utils/nandlogical-klibc-static_1.0.0.bb index 42d30c90f8..f9a6b0e55d 100644 --- a/recipes/zaurus-utils/nandlogical-klibc-static_1.0.0.bb +++ b/recipes/zaurus-utils/nandlogical-klibc-static_1.0.0.bb @@ -2,9 +2,6 @@ require nandlogical_${PV}.bb FILESPATHPKG =. "nandlogical:" -SRC_URI_append = " file://mtd-user.h \ - file://mtd-abi.h \ - " DEPENDS += "klibc" export CC = ${TARGET_PREFIX}klcc @@ -14,11 +11,6 @@ export CFLAGS = "" export CPPFLAGS = "" export LDFLAGS = "" -do_configure_prepend() { - sed -i 's:<mtd/mtd-user.h>:"mtd-user.h":g' '${S}/nandlogical.c' - sed -i 's:<mtd/mtd-abi.h>:"mtd-abi.h":g' '${S}/mtd-user.h' -} - do_compile() { - ${CC} nandlogical.c -o nandlogical ${CFLAGS} ${LDFLAGS} -static + ${CC} ${CFLAGS} ${LDFLAGS} -static -I${STAGING_INCDIR} nandlogical.c -o nandlogical } diff --git a/recipes/zaurus-utils/nandlogical/mtd-abi.h b/recipes/zaurus-utils/nandlogical/mtd-abi.h deleted file mode 100644 index 86defe175f..0000000000 --- a/recipes/zaurus-utils/nandlogical/mtd-abi.h +++ /dev/null @@ -1,152 +0,0 @@ -/* - * $Id: mtd-abi.h,v 1.13 2005/11/07 11:14:56 gleixner Exp $ - * - * Portions of MTD ABI definition which are shared by kernel and user space - */ - -#ifndef __MTD_ABI_H__ -#define __MTD_ABI_H__ - -struct erase_info_user { - uint32_t start; - uint32_t length; -}; - -struct mtd_oob_buf { - uint32_t start; - uint32_t length; - unsigned char *ptr; -}; - -#define MTD_ABSENT 0 -#define MTD_RAM 1 -#define MTD_ROM 2 -#define MTD_NORFLASH 3 -#define MTD_NANDFLASH 4 -#define MTD_DATAFLASH 6 -#define MTD_UBIVOLUME 7 - -#define MTD_WRITEABLE 0x400 /* Device is writeable */ -#define MTD_BIT_WRITEABLE 0x800 /* Single bits can be flipped */ -#define MTD_NO_ERASE 0x1000 /* No erase necessary */ -#define MTD_STUPID_LOCK 0x2000 /* Always locked after reset */ - -// Some common devices / combinations of capabilities -#define MTD_CAP_ROM 0 -#define MTD_CAP_RAM (MTD_WRITEABLE | MTD_BIT_WRITEABLE | MTD_NO_ERASE) -#define MTD_CAP_NORFLASH (MTD_WRITEABLE | MTD_BIT_WRITEABLE) -#define MTD_CAP_NANDFLASH (MTD_WRITEABLE) - -/* ECC byte placement */ -#define MTD_NANDECC_OFF 0 // Switch off ECC (Not recommended) -#define MTD_NANDECC_PLACE 1 // Use the given placement in the structure (YAFFS1 legacy mode) -#define MTD_NANDECC_AUTOPLACE 2 // Use the default placement scheme -#define MTD_NANDECC_PLACEONLY 3 // Use the given placement in the structure (Do not store ecc result on read) -#define MTD_NANDECC_AUTOPL_USR 4 // Use the given autoplacement scheme rather than using the default - -/* OTP mode selection */ -#define MTD_OTP_OFF 0 -#define MTD_OTP_FACTORY 1 -#define MTD_OTP_USER 2 - -struct mtd_info_user { - uint8_t type; - uint32_t flags; - uint32_t size; // Total size of the MTD - uint32_t erasesize; - uint32_t writesize; - uint32_t oobsize; // Amount of OOB data per block (e.g. 16) - /* The below two fields are obsolete and broken, do not use them - * (TODO: remove at some point) */ - uint32_t ecctype; - uint32_t eccsize; -}; - -struct region_info_user { - uint32_t offset; /* At which this region starts, - * from the beginning of the MTD */ - uint32_t erasesize; /* For this region */ - uint32_t numblocks; /* Number of blocks in this region */ - uint32_t regionindex; -}; - -struct otp_info { - uint32_t start; - uint32_t length; - uint32_t locked; -}; - -#define MEMGETINFO _IOR('M', 1, struct mtd_info_user) -#define MEMERASE _IOW('M', 2, struct erase_info_user) -#define MEMWRITEOOB _IOWR('M', 3, struct mtd_oob_buf) -#define MEMREADOOB _IOWR('M', 4, struct mtd_oob_buf) -#define MEMLOCK _IOW('M', 5, struct erase_info_user) -#define MEMUNLOCK _IOW('M', 6, struct erase_info_user) -#define MEMGETREGIONCOUNT _IOR('M', 7, int) -#define MEMGETREGIONINFO _IOWR('M', 8, struct region_info_user) -#define MEMSETOOBSEL _IOW('M', 9, struct nand_oobinfo) -#define MEMGETOOBSEL _IOR('M', 10, struct nand_oobinfo) -#define MEMGETBADBLOCK _IOW('M', 11, loff_t) -#define MEMSETBADBLOCK _IOW('M', 12, loff_t) -#define OTPSELECT _IOR('M', 13, int) -#define OTPGETREGIONCOUNT _IOW('M', 14, int) -#define OTPGETREGIONINFO _IOW('M', 15, struct otp_info) -#define OTPLOCK _IOR('M', 16, struct otp_info) -#define ECCGETLAYOUT _IOR('M', 17, struct nand_ecclayout) -#define ECCGETSTATS _IOR('M', 18, struct mtd_ecc_stats) -#define MTDFILEMODE _IO('M', 19) - -/* - * Obsolete legacy interface. Keep it in order not to break userspace - * interfaces - */ -struct nand_oobinfo { - uint32_t useecc; - uint32_t eccbytes; - uint32_t oobfree[8][2]; - uint32_t eccpos[32]; -}; - -struct nand_oobfree { - uint32_t offset; - uint32_t length; -}; - -#define MTD_MAX_OOBFREE_ENTRIES 8 -/* - * ECC layout control structure. Exported to userspace for - * diagnosis and to allow creation of raw images - */ -struct nand_ecclayout { - uint32_t eccbytes; - uint32_t eccpos[64]; - uint32_t oobavail; - struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES]; -}; - -/** - * struct mtd_ecc_stats - error correction stats - * - * @corrected: number of corrected bits - * @failed: number of uncorrectable errors - * @badblocks: number of bad blocks in this partition - * @bbtblocks: number of blocks reserved for bad block tables - */ -struct mtd_ecc_stats { - uint32_t corrected; - uint32_t failed; - uint32_t badblocks; - uint32_t bbtblocks; -}; - -/* - * Read/write file modes for access to MTD - */ -enum mtd_file_modes { - MTD_MODE_NORMAL = MTD_OTP_OFF, - MTD_MODE_OTP_FACTORY = MTD_OTP_FACTORY, - MTD_MODE_OTP_USER = MTD_OTP_USER, - MTD_MODE_RAW, -}; - -#endif /* __MTD_ABI_H__ */ diff --git a/recipes/zaurus-utils/nandlogical/mtd-user.h b/recipes/zaurus-utils/nandlogical/mtd-user.h deleted file mode 100644 index 713f34d3e6..0000000000 --- a/recipes/zaurus-utils/nandlogical/mtd-user.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * $Id: mtd-user.h,v 1.2 2004/05/05 14:44:57 dwmw2 Exp $ - * - * MTD ABI header for use by user space only. - */ - -#ifndef __MTD_USER_H__ -#define __MTD_USER_H__ - -#include <stdint.h> - -/* This file is blessed for inclusion by userspace */ -#include <mtd/mtd-abi.h> - -typedef struct mtd_info_user mtd_info_t; -typedef struct erase_info_user erase_info_t; -typedef struct region_info_user region_info_t; -typedef struct nand_oobinfo nand_oobinfo_t; -typedef struct nand_ecclayout nand_ecclayout_t; - -#endif /* __MTD_USER_H__ */ diff --git a/recipes/zaurus-utils/nandlogical_1.0.0.bb b/recipes/zaurus-utils/nandlogical_1.0.0.bb index d567b48a3c..df261540bd 100644 --- a/recipes/zaurus-utils/nandlogical_1.0.0.bb +++ b/recipes/zaurus-utils/nandlogical_1.0.0.bb @@ -2,14 +2,14 @@ DESCRIPTION = "Nandlogical for Sharp mtd1" LICENSE = "GPL" DEPENDS = "mtd-utils" COMPATIBLE_MACHINE = "(poodle|c7x0|akita|spitz|tosa)" -PR = "r2" +PR = "r3" SRC_URI = "file://nandlogical.c" S = "${WORKDIR}" do_compile () { - ${CC} nandlogical.c -o nandlogical ${CFLAGS} ${LDFLAGS} + ${CC} ${CFLAGS} ${LDFLAGS} nandlogical.c -o nandlogical } do_install () { |