summaryrefslogtreecommitdiffstats
path: root/recipes-ti/dmai
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-ti/dmai')
-rw-r--r--recipes-ti/dmai/ti-dmai.inc158
-rw-r--r--recipes-ti/dmai/ti-dmai/0001-Correct-DMAI-s-Resize-module-for-DM365.patch34
-rw-r--r--recipes-ti/dmai/ti-dmai/arago-tdox210
-rw-r--r--recipes-ti/dmai/ti-dmai/dmai-built-with-angstrom.patch48
-rw-r--r--recipes-ti/dmai/ti-dmai/dmai-do-not-panic-on-mixer-failure.patch31
-rw-r--r--recipes-ti/dmai/ti-dmai/dmai-r423-add-omapl137-support.patch12
-rw-r--r--recipes-ti/dmai/ti-dmai/dmai-support-32bit-align.patch17
-rw-r--r--recipes-ti/dmai/ti-dmai/dmai-update-cpu-name.patch16
-rw-r--r--recipes-ti/dmai/ti-dmai/dmai-update-fb-display.patch77
-rw-r--r--recipes-ti/dmai/ti-dmai/dmai-update-v4l2-display.patch127
-rw-r--r--recipes-ti/dmai/ti-dmai/doxygen_templates.tar.gzbin0 -> 8012 bytes
-rwxr-xr-xrecipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-apps.sh37
-rwxr-xr-xrecipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm355_al.sh23
-rw-r--r--recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm365_al.sh25
-rwxr-xr-xrecipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh19
-rwxr-xr-xrecipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh19
-rwxr-xr-xrecipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-o3530_al.sh42
-rwxr-xr-xrecipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol137_al.sh19
-rwxr-xr-xrecipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol138_al.sh19
-rw-r--r--recipes-ti/dmai/ti-dmai/unloadmodules-ti-dmai-apps.sh12
-rw-r--r--recipes-ti/dmai/ti-dmai_svn.bb31
21 files changed, 976 insertions, 0 deletions
diff --git a/recipes-ti/dmai/ti-dmai.inc b/recipes-ti/dmai/ti-dmai.inc
new file mode 100644
index 00000000..d072ecd1
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai.inc
@@ -0,0 +1,158 @@
1DESCRIPTION = "Davinci Multimedia Application Interface (DMAI) for TI ARM/DSP processors"
2HOMEPAGE = "https://gforge.ti.com/gf/project/dmai/"
3SECTION = "multimedia"
4LICENSE = "BSD"
5
6# TODO ::
7
8require recipes-ti/includes/ti-paths.inc
9require recipes-ti/includes/ti-staging.inc
10
11PROVIDES += "ti-dmai-apps"
12
13PE = "1"
14
15SRCREV ?= "<UNDEFINED_SRCREV>"
16DMAIBRANCH ?= "<UNDEFINED_DMAIBRANCH>"
17
18S = "${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/dmai_${PV}"
19
20SRC_URI = "svn://gforge.ti.com/svn/dmai/;module=${DMAIBRANCH};proto=https;user=anonymous;pswd='' \
21 file://loadmodules-ti-dmai-dm6446_al.sh \
22 file://loadmodules-ti-dmai-dm6467_al.sh \
23 file://loadmodules-ti-dmai-o3530_al.sh \
24 file://loadmodules-ti-dmai-dm355_al.sh \
25 file://loadmodules-ti-dmai-dm365_al.sh \
26 file://loadmodules-ti-dmai-ol137_al.sh \
27 file://loadmodules-ti-dmai-ol138_al.sh \
28 file://doxygen_templates.tar.gz \
29 file://arago-tdox \
30 "
31
32DEPENDS = "virtual/kernel alsa-lib ti-framework-components ti-codec-engine ti-xdctools"
33
34DEPENDS_append_dm6446 = " ti-codecs-dm6446 ti-dspbios ti-cgt6x ti-linuxutils"
35DEPENDS_append_dm6467 = " ti-codecs-dm6467 ti-dspbios ti-cgt6x ti-linuxutils"
36DEPENDS_append_omap3 = " ti-codecs-omap3530 ti-dspbios ti-cgt6x ti-linuxutils"
37DEPENDS_append_dm355 = " ti-codecs-dm355"
38DEPENDS_append_dm365 = " ti-codecs-dm365"
39DEPENDS_append_omapl137 = " ti-codecs-omapl137 ti-dspbios ti-cgt6x ti-linuxutils"
40DEPENDS_append_omapl138 = " ti-codecs-omapl138 ti-dspbios ti-cgt6x ti-linuxutils"
41
42# Define DMAI build time variables
43DMAIPLATFORM_dm6446 = "dm6446_al"
44DMAIPLATFORM_dm6467 = "dm6467_al"
45DMAIPLATFORM_omap3 = "o3530_al"
46DMAIPLATFORM_dm355 = "dm355_al"
47DMAIPLATFORM_dm365 = "dm365_al"
48DMAIPLATFORM_omapl137 = "ol137_al"
49DMAIPLATFORM_omapl138 = "ol138_al"
50DMAIPLATFORM ?= "<UNDEFINED_DMAIPLATFORM>"
51
52# Need to set this for other platforms as well
53#GPPOS_dm355 = "LINUX_GCC"
54#GPPOS_dm365 = "LINUX_GCC"
55#GPPOS ?= "<UNDEFINEDGPPOS>"
56
57# Need to re-define this for OMAP-L137/L138
58DSPSUFFIX_omapl137 = "x64P"
59DSPSUFFIX_omapl138 = "x64P"
60DSPSUFFIX ?= "x64p"
61
62# This is needed for dm355/dm365 targets in order to find ti.sdo.codecs.g711
63# TODO :: review - should we just pass this in do_compile?
64USER_XDC_PATH = "${CE_INSTALL_DIR}/examples"
65
66PARALLEL_MAKE = ""
67
68do_prepsources() {
69 # run the release steps - this will delete .svn file and run doxygen to
70 # generate proper documentation of the source etc.
71 find ${WORKDIR}/${DMAIBRANCH} -name .svn -type d | xargs rm -rf
72 cp -pPrf ${WORKDIR}/doxygen_templates ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface
73 cp -pPrf ${WORKDIR}/arago-tdox ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/tdox
74 chmod a+x ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/release.sh
75 chmod a+x ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/tdox
76 sed -i 's|tdox|./tdox|g' ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface/release.sh
77 (cd ${WORKDIR}/${DMAIBRANCH}/davinci_multimedia_application_interface; ./release.sh ${PV})
78}
79
80# run prepare sources before do_patch to ensure that sourceipk picks the right sources.
81addtask prepsources after do_unpack before do_patch
82
83do_compile () {
84 # Recent kernel headers warn against inclusion from userspace
85 for makefile in $(find ${S} -name "Makefile") ; do
86 sed -i -e s:-Werror::g $makefile
87 done
88
89 # Angstrom 2008 breaks with -Wl,-T, while angstrom 2010 needs it
90 if [ $(${TARGET_PREFIX}gcc -dumpversion | awk -F. '{print $2}') -gt 3 ] ; then
91 # Fix up linkerscripts, recent toolchains need -T to prepend the default script to the custom one
92 for appmakefile in $(find ${S} -name "Makefile.app") ; do
93 sed -i -e 's: $(XDC_CFG)/linker.cmd: -Wl,-T,$(XDC_CFG)/linker.cmd:g' $appmakefile
94 done
95 fi
96
97 # TODO :: Why do we do this?
98 unset DMAI_INSTALL_DIR
99 cd ${S}
100
101 make XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" PLATFORM="${DMAIPLATFORM}" clean
102
103 for dir in ${S}; do
104 cd $dir
105 # TODO: Figure out how to pass the alsa require location, currently
106 # LINUXLIBS_INSTALL_DIR is hard-coded for armv5te
107 make \
108 CE_INSTALL_DIR="${CE_INSTALL_DIR}" \
109 CODEC_INSTALL_DIR="${CODEC_INSTALL_DIR}" \
110 FC_INSTALL_DIR="${FC_INSTALL_DIR}" \
111 LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \
112 XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
113 CODEGEN_INSTALL_DIR="${CODEGEN_INSTALL_DIR}" \
114 BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}"\
115 LINUXLIBS_INSTALL_DIR="${STAGING_DIR_TARGET}/usr" \
116 USER_XDC_PATH="${USER_XDC_PATH}" \
117 CROSS_COMPILE="${TOOLCHAIN_PATH}/bin/${TARGET_PREFIX}" \
118 VERBOSE="true" \
119 XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \
120 LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \
121 CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \
122 LPM_INSTALL_DIR="${LPM_INSTALL_DIR}" \
123 C6ACCEL_INSTALL_DIR=${C6ACCEL_INSTALL_DIR} \
124 MVTOOL_PREFIX="${TARGET_PREFIX}" \
125 PLATFORM="${DMAIPLATFORM}"
126 done
127}
128
129do_install () {
130
131 # TODO :: Why do we do this?
132 unset DMAI_INSTALL_DIR
133
134 install -d ${D}/${installdir}/ti-dmai-apps
135 cd ${S}
136 make PLATFORM="${DMAIPLATFORM}" EXEC_DIR=${D}/${installdir}/ti-dmai-apps install
137 install -m 0755 ${WORKDIR}/loadmodules-ti-dmai-${DMAIPLATFORM}.sh ${D}/${installdir}/ti-dmai-apps/loadmodules.sh
138
139 install -d ${D}${DMAI_INSTALL_DIR_RECIPE}
140 cp -pPrf ${S}/* ${D}${DMAI_INSTALL_DIR_RECIPE}
141}
142
143PACKAGES += "ti-dmai-apps"
144FILES_ti-dmai-apps = "${installdir}/ti-dmai-apps/*"
145INSANE_SKIP_ti-dmai-apps = True
146
147RDEPENDS_ti-dmai-apps_dm6446 += "ti-codecs-dm6446-server ti-cmem-module ti-dsplink-module"
148RDEPENDS_ti-dmai-apps_dm6467 += "ti-codecs-dm6467 ti-cmem-module ti-dsplink-module"
149RDEPENDS_ti-dmai-apps_omap3 += "ti-codecs-omap3530-server ti-cmem-module ti-dsplink-module ti-lpm-module ti-sdma-module"
150RDEPENDS_ti-dmai-apps_dm355 += "ti-codecs-dm355 ti-cmem-module ti-dm355mm-module"
151RDEPENDS_ti-dmai-apps_dm365 += "ti-codecs-dm365 ti-cmem-module ti-dm365mm-module ti-edma-module ti-irq-module"
152RDEPENDS_ti-dmai-apps_omapl137 += "ti-codecs-omapl137-server ti-cmem-module ti-dsplink-module"
153RDEPENDS_ti-dmai-apps_omapl138 += "ti-codecs-omapl138-server ti-cmem-module ti-dsplink-module"
154
155pkg_postinst_ti-dmai-apps () {
156 ln -sf ${installdir}/ti-codecs-server/*.${DSPSUFFIX} ${installdir}/ti-dmai-apps/
157}
158
diff --git a/recipes-ti/dmai/ti-dmai/0001-Correct-DMAI-s-Resize-module-for-DM365.patch b/recipes-ti/dmai/ti-dmai/0001-Correct-DMAI-s-Resize-module-for-DM365.patch
new file mode 100644
index 00000000..21e71dec
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/0001-Correct-DMAI-s-Resize-module-for-DM365.patch
@@ -0,0 +1,34 @@
1From 9d9326c26ea990fa49842e0c57d520a5acb4d887 Mon Sep 17 00:00:00 2001
2From: Don Darling <ddarling@ti.com>
3Date: Fri, 16 Apr 2010 17:40:40 -0500
4Subject: [PATCH] Correct DMAI's Resize module for DM365.
5
6The PSP requires virtual addresses to be given for the resize buffers. This
7differs from previous releases, which required physical addresses. This
8change updates the Resize module to use virtual addresses.
9---
10 .../packages/ti/sdo/dmai/linux/dm365/Resize.c | 4 ++--
11 1 files changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c b/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c
14index c1716c4..3e71e46 100644
15--- a/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c
16+++ b/dmai/packages/ti/sdo/dmai/linux/dm365/Resize.c
17@@ -313,12 +313,12 @@ Int Resize_execute(Resize_Handle hResize,
18
19 rsz.in_buff.index = -1;
20 rsz.in_buff.buf_type = IMP_BUF_IN;
21- rsz.in_buff.offset = Buffer_getPhysicalPtr(hSrcBuf) + srcOffset;
22+ rsz.in_buff.offset = ((Int32)Buffer_getUserPtr(hSrcBuf)) + srcOffset;
23 rsz.in_buff.size = Buffer_getSize(hSrcBuf);
24
25 rsz.out_buff1.index = -1;
26 rsz.out_buff1.buf_type = IMP_BUF_OUT1;
27- rsz.out_buff1.offset = Buffer_getPhysicalPtr(hDstBuf) + dstOffset;
28+ rsz.out_buff1.offset = ((Int32)Buffer_getUserPtr(hDstBuf)) + dstOffset;
29 rsz.out_buff1.size = Buffer_getSize(hDstBuf);
30
31 /*
32--
331.6.3.3
34
diff --git a/recipes-ti/dmai/ti-dmai/arago-tdox b/recipes-ti/dmai/ti-dmai/arago-tdox
new file mode 100644
index 00000000..81538cf3
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/arago-tdox
@@ -0,0 +1,210 @@
1#!/bin/bash
2#
3#
4# This script sets a series of environment variable that are referenced
5# in a doxygen configuration file. The values passed in here are simply
6# plugged into the file locations and doxygen proceeds normaly.
7#
8# template location is ${VENDORS}/opensource/doxygen/templates/<version>
9#
10#
11
12# Revision history
13#! 02 Jul 2009 cring: Added cmd line args for doxygendir (-x) and template (-t)
14#! 13 Jul 2006 ada: New template smaller pdf generation
15#! 16 May 2006 ada: Added -p file to pdf for space in project names
16#! 08 May 2006 ada: Added pdf generation to tdox (Solaris/Linux only).
17#! 23 Jan 2006 ada: Overide file to change default doxyfile behaivior
18#! 19 Jan 2006 ada: 1093, ENUM_VALUES_PER_LINE set to 1, ref doxyfile via vers
19#! 05 Oct 2005 ada: 933, doxyfile in tools, removed win and unix vendors path
20#! 24 Aug 2005 ada: Added 897 changes, optional css c or jave optimization
21#! 18 Aug 2005 ada: inital version from AR 887
22
23# Set these defaults here as the usage statement uses them
24TDOX_TEMPLATEDIR=${TOOLS}/default/doxygen_templates
25DOXYGEN_EXECUTABLE=doxygen
26
27function usage
28{
29 OPTIONS="`basename $0` code_location out_doc_location [-x doxygen_exe ] [-t tdox_templatedir] [-n project_name] [-v version] [-f FILE_PATTERNS ] [-s strip_dir] [-c css location] [-e exclude dirs] [-b enabled sections] [-m generate chm] [-p pdf_file] [-o override doxyfile] [-j]"
30 echo "`basename $1` $OPTIONS"
31 echo "Where: "
32 echo "\tcode_location: Top of tree(s) to search for code (required as 1st param)"
33 echo "\tout_doc_location: Output location for generated files (required as 2nd param)"
34 echo "\t[-n project_name]: title of generated documentation (defaults to Project)"
35 echo "\t[-x doxygen_exe]: location of doxygen executable (defaults to $DOXYGEN_EXECUTABLE)"
36 echo "\t[-t tdox_templatedir]: location of tdox templates (defaults to $TDOX_TEMPLATEDIR)"
37 echo "\t[-v version]: version number or string (defaults to 1.0)"
38 echo "\t[-f FILE_PATTERNS]: Optional list of files to document (defaults to all)"
39 echo "\t[-s strip_dirs]: Remove directory prefix from generated files (defaults to not remove)"
40 echo "\t[-c path_to_css]: Path to a user suplied CSS style sheet"
41 echo "\t[-e exclude dirs]: List of directories to exclude"
42 echo "\t[-b enabled sections]: List of sections to enable"
43 echo "\t[-m generate chm]: chm file name (required)"
44 echo "\t[-p generate pdf <file>]: create <file>.pdf in html/pdf (Linux only)"
45 echo "\t[-o override doxyfile]: file (advanced) Overide any doxyfile default"
46 echo "\t[-j]: Optimize for Java (Generate class files) defaults to C"
47 echo "\t[-r]: Call rshd to windows for chm generation (defaults to wine)"
48 echo
49 exit
50}
51
52function optimizeForJava
53{
54 DOX_OPTIMIZE_OUTPUT_JAVA="YES"
55 DOX_OPTIMIZE_OUTPUT_FOR_C="NO"
56}
57
58if [ "$#" -lt 2 ]; then
59 echo "Invalid number of parameters"
60 usage $0
61fi
62
63# get the required parameters then shift for the getopts parameters
64export DOX_INPUT="$1"
65shift
66export DOX_OUTPUT_DIRECTORY="$1"
67shift
68
69#set the global defaults
70DOX_QUIET="YES"
71DOX_OPTIMIZE_OUTPUT_JAVA="NO"
72DOX_OPTIMIZE_OUTPUT_FOR_C="YES"
73DOX_CHM_FILE=
74DOX_GENERATE_HTMLHELP="NO"
75OVERRIDE_FILE=""
76PDF=""
77
78# Process the rest of the arguments as getopts
79# parameters
80while getopts b:c:e:f:m:n:o:p:s:t:v:x:dhjr arg
81do
82 case $arg in
83 b) DOX_ENABLED_SECTIONS=${OPTARG};;
84 c) DOX_HTML_STYLESHEET=${OPTARG};;
85 d) DEBUG=1;;
86 e) DOX_EXCLUDE=${OPTARG};;
87 f) DOX_FILE_PATTERNS=${OPTARG};;
88 h) usage;exit 0;;
89 j) optimizeForJava;;
90 r) USERSHD=1;;
91 m) DOX_CHM_FILE=${OPTARG};DOX_GENERATE_HTMLHELP="YES";;
92 n) DOX_PROJECT_NAME=${OPTARG};;
93 s) DOX_STRIP_FROM_PATH=${OPTARG};;
94 t) TDOX_TEMPLATEDIR=${OPTARG};;
95 v) DOX_PROJECT_NUMBER=${OPTARG};;
96 x) DOXYGEN_EXECUTABLE=${OPTARG};;
97 o) OVERRIDE_FILE=${OPTARG};;
98 p) PDF=${OPTARG};;
99 \?) usage
100 exit 2;;
101 esac
102done
103
104if [ "$DEBUG" = "1" ]; then
105 DOX_QUIET="NO"
106 set -x
107fi
108
109if [ "$DOX_PROJECT_NAME" = "" ]; then
110 DOX_PROJECT_NAME="Project"
111fi
112
113if [ "$DOX_PROJECT_NUMBER" = "" ]; then
114 DOX_PROJECT_NUMBER="1.0"
115fi
116
117if [ "$DOX_FILE_PATTERNS" = "" ]; then
118 DOX_FILE_PATTERNS="*.c \
119 *.cc \
120 *.cxx \
121 *.cpp \
122 *.c++ \
123 *.d \
124 *.java \
125 *.ii \
126 *.ixx \
127 *.ipp \
128 *.i++ \
129 *.inl \
130 *.h \
131 *.hh \
132 *.hxx \
133 *.hpp \
134 *.h++ \
135 *.idl \
136 *.odl \
137 *.cs \
138 *.php \
139 *.php3 \
140 *.inc \
141 *.m \
142 *.mm \
143 *.dox"
144fi
145
146export DOX_INPUT
147export DOX_OUTPUT_DIRECTORY
148export DOX_PROJECT_NAME
149export DOX_PROJECT_NUMBER
150export DOX_FILE_PATTERNS
151export DOX_STRIP_FROM_PATH
152export DOX_QUIET
153export DOX_HTML_STYLESHEET
154export DOX_OPTIMIZE_OUTPUT_FOR_C
155export DOX_OPTIMIZE_OUTPUT_JAVA
156export DOX_EXCLUDE
157export DOX_ENABLED_SECTIONS
158export DOX_CHM_FILE
159export DOX_GENERATE_HTMLHELP
160export TDOX_TEMPLATEDIR
161
162
163# Make sure the dir exists
164mkdir -p $DOX_OUTPUT_DIRECTORY
165
166# Create temp file copy of doxyfile and append overrides to the end of the file
167cp ${TDOX_TEMPLATEDIR}/doxyfile /tmp/doxyfile$$
168
169chmod +w /tmp/doxyfile$$
170if [ "$OVERRIDE_FILE" != "" ]; then
171 cat $OVERRIDE_FILE >> /tmp/doxyfile$$
172fi
173
174# Run doxygen and clean up temp file
175${DOXYGEN_EXECUTABLE} /tmp/doxyfile$$
176rm -f /tmp/doxyfile$$
177
178# Copy the TI banner gifs to the html directory.
179cp -p ${TDOX_TEMPLATEDIR}/*gif $DOX_OUTPUT_DIRECTORY/html
180
181# Generate PDF files
182if [ "$PDF" != "" ]; then
183 if [ "$BUILD_HOST_OS" = "Linux" ]; then
184 rm -rf $DOX_OUTPUT_DIRECTORY/html/pdf
185 mkdir -p $DOX_OUTPUT_DIRECTORY/html/pdf
186 cwd=`pwd`
187 cd $DOX_OUTPUT_DIRECTORY/latex
188 latex refman.tex
189 makeindex refman.idx
190 latex refman.tex
191 latex_count=5
192 while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ]
193 do
194 latex refman.tex
195 latex_count=`expr $$latex_count - 1`
196 done
197 dvips -o refman.ps refman.dvi
198 ps2pdf refman.ps refman.pdf
199 cd $cwd
200 mv $DOX_OUTPUT_DIRECTORY/latex/refman.pdf $DOX_OUTPUT_DIRECTORY/html/pdf/${PDF}.pdf
201 else
202 echo "Sorry... pdf generation supported under Linux only"
203 fi
204fi
205
206# Generate Windows compressed help
207if [ "$DOX_GENERATE_HTMLHELP" = "YES" ]; then
208
209 echo "chm generation is not supported"
210fi
diff --git a/recipes-ti/dmai/ti-dmai/dmai-built-with-angstrom.patch b/recipes-ti/dmai/ti-dmai/dmai-built-with-angstrom.patch
new file mode 100644
index 00000000..fc497897
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/dmai-built-with-angstrom.patch
@@ -0,0 +1,48 @@
1Index: dmai_1_20_00_06/packages/config.bld
2===================================================================
3--- dmai_1_20_00_06.orig/packages/config.bld 2009-02-11 19:38:51.000000000 -0600
4+++ dmai_1_20_00_06/packages/config.bld 2009-02-11 19:39:23.000000000 -0600
5@@ -42,7 +42,7 @@
6
7 /* location of the Codec Sourcery Arm9 tools */
8 var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T');
9-GCArmv5T.LONGNAME = 'bin/arm-none-linux-gnueabi-gcc';
10+GCArmv5T.LONGNAME = 'bin/arm-angstrom-linux-gnueabi-gcc';
11 GCArmv5T.platform = "ti.platforms.evm3530";
12 GCArmv5T.rootDir = java.lang.System.getenv("CSTOOL_DIR");
13
14Index: dmai_1_20_00_06/packages/ti/sdo/dmai/Makefile
15===================================================================
16--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/Makefile 2009-02-11 19:39:57.000000000 -0600
17+++ dmai_1_20_00_06/packages/ti/sdo/dmai/Makefile 2009-02-11 19:58:05.000000000 -0600
18@@ -33,7 +33,7 @@
19 DMAI_INSTALL_DIR = ../../../..
20 TARGET = dmai
21
22-include $(DMAI_INSTALL_DIR)/Rules.make
23+#include $(DMAI_INSTALL_DIR)/Rules.make
24
25 # Should the full command be echoed to the console during build?
26 VERBOSE=false
27@@ -64,7 +64,7 @@
28 MVL_CPP_FLAGS = $(GNU_CPP_FLAGS) -Dxdc_target_name__=MVArm9
29 CS_CPP_FLAGS = $(GNU_CPP_FLAGS) -Dxdc_target_name__=codesourcery/GCArmv5T
30
31-GNU_C_FLAGS = $(C_FLAGS) -Wall -Werror
32+GNU_C_FLAGS = $(C_FLAGS) -Wall
33 C64P_C_FLAGS = $(C_FLAGS)
34
35 GNU_AR_FLAGS = $(AR_FLAGS)
36Index: dmai_1_20_00_06/packages/ti/sdo/dmai/apps/Makefile.app
37===================================================================
38--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/apps/Makefile.app 2009-02-11 19:58:44.000000000 -0600
39+++ dmai_1_20_00_06/packages/ti/sdo/dmai/apps/Makefile.app 2009-02-11 19:59:01.000000000 -0600
40@@ -34,7 +34,7 @@
41 ifndef DMAI_INSTALL_DIR
42 DMAI_INSTALL_DIR = ../../../../../..
43 endif
44-include $(DMAI_INSTALL_DIR)/Rules.make
45+#include $(DMAI_INSTALL_DIR)/Rules.make
46
47 # Should the full command be echoed to the console during build?
48 VERBOSE=false
diff --git a/recipes-ti/dmai/ti-dmai/dmai-do-not-panic-on-mixer-failure.patch b/recipes-ti/dmai/ti-dmai/dmai-do-not-panic-on-mixer-failure.patch
new file mode 100644
index 00000000..20e1aece
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/dmai-do-not-panic-on-mixer-failure.patch
@@ -0,0 +1,31 @@
1Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Sound_alsa.c
2===================================================================
3--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Sound_alsa.c 2009-02-11 19:19:23.000000000 -0600
4+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Sound_alsa.c 2009-02-11 19:19:25.000000000 -0600
5@@ -139,7 +139,7 @@
6
7 snd_mixer_selem_id_free (sid);
8 snd_mixer_close (rcMixer);
9-
10+
11 return Dmai_EOK;
12 }
13
14@@ -431,14 +431,13 @@
15 Sound_alsa_delete(hSound);
16 return NULL;
17 }
18-
19+
20 if (setMixerVolume (attrs) <0) {
21- Sound_alsa_delete (hSound);
22- return NULL;
23+ Dmai_dbg2("Failed to set the mixer volume on %s (%s)\n",
24+ AUDIO_DEVICE, snd_strerror(status));
25 }
26 }
27
28-
29 return hSound;
30 }
31
diff --git a/recipes-ti/dmai/ti-dmai/dmai-r423-add-omapl137-support.patch b/recipes-ti/dmai/ti-dmai/dmai-r423-add-omapl137-support.patch
new file mode 100644
index 00000000..8f9e8b9f
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/dmai-r423-add-omapl137-support.patch
@@ -0,0 +1,12 @@
1diff -uNr davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c davinci_multimedia_application_interfaceb/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c
2--- davinci_multimedia_application_interface/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c 2010-03-14 22:43:20.000000000 +0000
3+++ davinci_multimedia_application_interfaceb/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c 2010-03-14 23:19:41.000000000 +0000
4@@ -43,7 +43,7 @@
5
6 #ifdef Dmai_Device_omap3530
7 #include <linux/omapfb.h>
8-#elif defined Dmai_Device_omapl138
9+#elif defined (Dmai_Device_omapl137) || defined (Dmai_Device_omapl138)
10 #include <video/davincifb.h>
11 #else
12 #include <video/davincifb_ioctl.h>
diff --git a/recipes-ti/dmai/ti-dmai/dmai-support-32bit-align.patch b/recipes-ti/dmai/ti-dmai/dmai-support-32bit-align.patch
new file mode 100644
index 00000000..0ee817d9
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/dmai-support-32bit-align.patch
@@ -0,0 +1,17 @@
1Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/omap3530/Resize.c
2===================================================================
3--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/omap3530/Resize.c 2009-02-11 19:20:45.000000000 -0600
4+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/omap3530/Resize.c 2009-02-11 19:21:09.000000000 -0600
5@@ -557,9 +557,9 @@
6 srcOffset = srcDim.y * srcDim.lineLength + srcDim.x * 2;
7 dstOffset = dstDim.y * dstDim.lineLength + dstDim.x * 2;
8
9- /* Input and output buffers must be 4096 bytes aligned */
10- assert(((Buffer_getPhysicalPtr(hDstBuf) + srcOffset) & 0xFFF) == 0);
11- assert(((Buffer_getPhysicalPtr(hSrcBuf) + dstOffset) & 0xFFF) == 0);
12+ /* Pointers must be a multiple of 32 bytes */
13+ assert((Buffer_getPhysicalPtr(hDstBuf) & 0x1F) == 0);
14+ assert((Buffer_getPhysicalPtr(hSrcBuf) & 0x1F) == 0);
15
16 /* Queue the resizer buffers */
17 for (i=0; i < 2; i++) {
diff --git a/recipes-ti/dmai/ti-dmai/dmai-update-cpu-name.patch b/recipes-ti/dmai/ti-dmai/dmai-update-cpu-name.patch
new file mode 100644
index 00000000..052a8e32
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/dmai-update-cpu-name.patch
@@ -0,0 +1,16 @@
1Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Cpu.c
2===================================================================
3--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Cpu.c 2009-02-12 09:34:22.000000000 -0600
4+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Cpu.c 2009-02-12 09:34:51.000000000 -0600
5@@ -103,7 +103,10 @@
6 else if (strcmp(valBuf, "DM357 EVM") == 0) {
7 *device = Cpu_Device_DM6446;
8 }
9- else if (strcmp(valBuf, "OMAP3EVM Board") == 0) {
10+ else if ((strcmp(valBuf, "OMAP3EVM Board") == 0) ||
11+ (strcmp(valBuf, "OMAP3 EVM") == 0) ||
12+ (strcmp(valBuf, "OMAP3 Beagle Board") == 0)
13+ ){
14 *device = Cpu_Device_OMAP3530;
15 }
16 else {
diff --git a/recipes-ti/dmai/ti-dmai/dmai-update-fb-display.patch b/recipes-ti/dmai/ti-dmai/dmai-update-fb-display.patch
new file mode 100644
index 00000000..91c1dd15
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/dmai-update-fb-display.patch
@@ -0,0 +1,77 @@
1Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_fbdev.c
2===================================================================
3--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Display_fbdev.c 2009-02-11 19:59:57.000000000 -0600
4+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_fbdev.c 2009-02-11 20:02:46.000000000 -0600
5@@ -41,10 +41,7 @@
6 #include <sys/ioctl.h>
7 #include <linux/fb.h>
8
9-#ifdef Dmai_Device_omap3530
10-/* OMAP specific kernel headers */
11-#include <video/omapfbdev.h>
12-#else
13+#ifndef Dmai_Device_omap3530
14 /* Davinci specific kernel headers */
15 #include <video/davincifb_ioctl.h>
16 #endif
17@@ -184,11 +181,13 @@
18 }
19 #endif
20
21+#if 0
22 /* Set up the sysfs variables before opening the display device */
23 if (_Display_sysfsSetup(attrs, channel) < 0) {
24 cleanup(hDisplay);
25 return NULL;
26 }
27+#endif
28
29 /* Open video display device */
30 hDisplay->fd = open(attrs->displayDevice, O_RDWR);
31@@ -423,6 +422,7 @@
32 ******************************************************************************/
33 Int Display_fbdev_get(Display_Handle hDisplay, Buffer_Handle *hBufPtr)
34 {
35+#if defined (FBIO_WAITFORVSYNC)
36 BufTab_Handle hBufTab = hDisplay->hBufTab;
37 int dummy;
38
39@@ -436,7 +436,8 @@
40 }
41
42 *hBufPtr = BufTab_getBuf(hBufTab, hDisplay->workingIdx);
43-
44+
45+#endif
46 return Dmai_EOK;
47 }
48
49Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display.c
50===================================================================
51--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Display.c 2009-02-11 20:00:10.000000000 -0600
52+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display.c 2009-02-11 20:02:07.000000000 -0600
53@@ -80,18 +80,18 @@
54
55 const Display_Attrs Display_Attrs_O3530_VID_DEFAULT = {
56 3,
57- Display_Std_V4L2,
58- VideoStd_VGA,
59- Display_Output_LCD,
60- "/dev/video1",
61+ Display_Std_FBDEV,
62+ VideoStd_D1_NTSC,
63+ Display_Output_DVI,
64+ "/dev/fb2",
65 0
66 };
67
68 const Display_Attrs Display_Attrs_O3530_OSD_DEFAULT = {
69 1,
70 Display_Std_FBDEV,
71- VideoStd_VGA,
72- Display_Output_LCD,
73+ VideoStd_D1_NTSC,
74+ Display_Output_DVI,
75 "/dev/fb0",
76 0
77 };
diff --git a/recipes-ti/dmai/ti-dmai/dmai-update-v4l2-display.patch b/recipes-ti/dmai/ti-dmai/dmai-update-v4l2-display.patch
new file mode 100644
index 00000000..8bb77d84
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/dmai-update-v4l2-display.patch
@@ -0,0 +1,127 @@
1Index: dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_v4l2.c
2===================================================================
3--- dmai_1_20_00_06.orig/packages/ti/sdo/dmai/linux/Display_v4l2.c 2009-02-11 19:22:51.000000000 -0600
4+++ dmai_1_20_00_06/packages/ti/sdo/dmai/linux/Display_v4l2.c 2009-02-11 19:27:02.000000000 -0600
5@@ -120,7 +120,9 @@
6 struct v4l2_format fmt;
7 enum v4l2_buf_type type;
8 Display_Handle hDisplay;
9- Int channel;
10+#if defined(Dmai_Device_omap3530) && defined(V4L2_CID_ROTATION)
11+ struct v4l2_control control;
12+#endif
13
14 assert(attrs);
15
16@@ -134,44 +136,6 @@
17
18 hDisplay->userAlloc = TRUE;
19
20-#ifdef Dmai_Device_omap3530
21- /* channel = 0 - digital video path
22- * channel = 1 - analog video path
23- */
24- switch (attrs->videoOutput) {
25- case Display_Output_SVIDEO:
26- case Display_Output_COMPOSITE:
27- channel = 1;
28- break;
29- case Display_Output_DVI:
30- case Display_Output_LCD:
31- case Display_Output_SYSTEM:
32- channel = 0;
33- break;
34- default:
35- /* do nothing */
36- break;
37- }
38-#else
39- if (strcmp(attrs->displayDevice, "/dev/video2") == 0) {
40- channel = 0;
41- }
42- else if (strcmp(attrs->displayDevice, "/dev/video3") == 0) {
43- channel = 1;
44- }
45- else {
46- Dmai_err1("%s not a display device\n", attrs->displayDevice);
47- cleanup(hDisplay);
48- return NULL;
49- }
50-#endif
51-
52- /* Set up the sysfs variables before opening the display device */
53- if (_Display_sysfsSetup(attrs, channel) < 0) {
54- cleanup(hDisplay);
55- return NULL;
56- }
57-
58 /* Open video capture device */
59 hDisplay->fd = open(attrs->displayDevice, O_RDWR, 0);
60
61@@ -182,9 +146,8 @@
62 return NULL;
63 }
64
65-#ifdef Dmai_Device_omap3530
66-#define VIDIOC_S_OMAP2_ROTATION _IOW ('V', 3, int)
67-
68+
69+#if defined(Dmai_Device_omap3530) && defined(V4L2_CID_ROTATION)
70 if (attrs->rotation != 0 && attrs->rotation != 90 &&
71 attrs->rotation != 180 && attrs->rotation != 270) {
72
73@@ -193,49 +156,16 @@
74 return NULL;
75 }
76
77- if (ioctl(hDisplay->fd, VIDIOC_S_OMAP2_ROTATION, &attrs->rotation) < 0) {
78- Dmai_err2("Failed VIDIOC_S_OMAP2_ROTATION on %s (%s)\n",
79+ control.id = V4L2_CID_ROTATION;
80+ control.value = attrs->rotation;
81+
82+ if (ioctl(hDisplay->fd, VIDIOC_S_CTRL, &control) < 0) {
83+ Dmai_err2("Failed VIDIOC_S_CTRL on %s (%s)\n",
84 attrs->displayDevice, strerror(errno));
85 cleanup(hDisplay);
86 return NULL;
87 }
88
89- switch (attrs->videoStd) {
90- case VideoStd_D1_NTSC:
91- fmt.fmt.pix.width = VideoStd_D1_WIDTH;
92- fmt.fmt.pix.height = VideoStd_D1_NTSC_HEIGHT;
93- break;
94- case VideoStd_D1_PAL:
95- fmt.fmt.pix.width = VideoStd_D1_WIDTH;
96- fmt.fmt.pix.height = VideoStd_D1_PAL_HEIGHT;
97- break;
98- case VideoStd_VGA:
99- fmt.fmt.pix.width = VideoStd_VGA_WIDTH;
100- fmt.fmt.pix.height = VideoStd_VGA_HEIGHT;
101- break;
102- case VideoStd_480P:
103- fmt.fmt.pix.width = VideoStd_480P_WIDTH;
104- fmt.fmt.pix.height = VideoStd_480P_HEIGHT;
105- break;
106- case VideoStd_720P_60:
107- fmt.fmt.pix.width = VideoStd_480P_WIDTH;
108- fmt.fmt.pix.height = VideoStd_480P_HEIGHT;
109- break;
110- default:
111- Dmai_err1("Unknown video standard %d\n", attrs->videoStd);
112- cleanup(hDisplay);
113- return NULL;
114- }
115-
116- fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_UYVY;
117- fmt.type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
118-
119- if (ioctl(hDisplay->fd, VIDIOC_S_FMT, &fmt) == -1) {
120- Dmai_err2("Failed VIDIOC_S_FMT on %s (%s)\n", attrs->displayDevice,
121- strerror(errno));
122- cleanup(hDisplay);
123- return NULL;
124- }
125 #endif /* Dmai_Device_omap3530 */
126
127 /* Determine the video image dimensions */
diff --git a/recipes-ti/dmai/ti-dmai/doxygen_templates.tar.gz b/recipes-ti/dmai/ti-dmai/doxygen_templates.tar.gz
new file mode 100644
index 00000000..6d613bf5
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/doxygen_templates.tar.gz
Binary files differ
diff --git a/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-apps.sh b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-apps.sh
new file mode 100755
index 00000000..7120b744
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-apps.sh
@@ -0,0 +1,37 @@
1#
2# Default Memory Map - for OMAP3530 dvsdk examples from 3.00.00.29 - this memory map is used for DMAI apps
3#
4# Start Addr Size Description
5# -------------------------------------------
6# 0x80000000 88 MB Linux
7# 0x85800000 08 MB CMEM
8# 0x86800000 16 MB DDRALGHEAP
9# 0x87800000 6 MB DDR2 (BIOS, Codecs, Applications)
10# 0x87E00000 1 MB DSPLINK (MEM)
11# 0x87F00000 4 KB DSPLINK (RESET)
12# 0x87F01000 1020 KB unused
13
14# sanity check to verify that we're using the right mem=xxM (88M in this case)
15awk '/MemTotal:/ {
16 mem=$2
17
18 if (mem > 88 * 1024)
19 print "Warning! You need to use mem=88M or less on the kernel cmdline"
20
21 printf "You have %dkB total memory for Linux\n", mem
22}' /proc/meminfo
23
24# Select cmemk parameters for best fit, i.e. starting at 0x85000000
25modprobe cmemk phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,5x1048576,1x1429440,1x256000,1x3600000,5x829440
26
27# insert DSP/BIOS Link driver
28#
29modprobe dsplinkk
30
31# make /dev/dsplink
32#rm -f /dev/dsplink
33#mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
34
35# insert Local Power Manager driver
36#
37modprobe lpm_omap3530
diff --git a/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm355_al.sh b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm355_al.sh
new file mode 100755
index 00000000..ca357e20
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm355_al.sh
@@ -0,0 +1,23 @@
1#!/bin/sh
2#
3# loadmodules.sh
4#
5# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU Lesser General Public License as
9# published by the Free Software Foundation version 2.1 of the License.
10#
11# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
12# whether express or implied; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14# Lesser General Public License for more details.
15
16# 12MB
17modprobe cmemk phys_start=0x87400000 phys_end=0x88000000 pools=1x2903040,1x1529856,7x829440,1x524288,1x108680,1x81920,2x8192,6x4096
18
19./mapdmaq
20
21modprobe dm350mmap
22rm -f /dev/dm350mmap
23mknod /dev/dm350mmap c `awk "\\$2==\"dm350mmap\" {print \\$1}" /proc/devices` 0
diff --git a/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm365_al.sh b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm365_al.sh
new file mode 100644
index 00000000..36dc78ec
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm365_al.sh
@@ -0,0 +1,25 @@
1#!/bin/sh
2
3# This loadmodules script is provided to support 1920x1080 resolution file based encode/decode DMAI unit test applications
4
5# Sample bootargs is given below
6# mem=60M console=ttyS0,115200n8 root=/dev/nfs rw nfsroot=<nfsroot> ip=dhcp video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,2025K dm365_imp.oper_mode=0
7
8depmod -a
9rmmod cmemk 2>/dev/null
10rmmod irqk 2>/dev/null
11rmmod edmak 2>/dev/null
12rmmod dm365mmap 2>/dev/null
13
14# Pools configuration
15modprobe cmemk phys_start=0x83C00000 phys_end=0x88000000 pools=1x384,2x5984,2x3133440,1x16384,1x48952,1x20480,1x60288,1x74,1x28,1x2048,1x6785280,1x146,1x896,1x65536,1x98,1x296,29x56,2x24,1x624,4x62,1x1456,1x18321120,1x65792,5x3523584,1x4194304,1x8355840
16
17#VC1 decode pool configuration
18# insmod cmemk.ko phys_start=0x83C00000 phys_end=0x88000000 pools=1x384,1x112665,3x7680,1x319264,2x1024,5x7208960,1x80,1x116,1x29184,1x2688,1x30720,1x551680,2x128,1x74,1x28,1x10240,1x47232,1x448,2x1152,1x8192,2x272896,18x56,2x24,1x86,4x62,2x7808,1x2097152
19
20modprobe irqk
21modprobe edmak
22modprobe dm365mmap
23
24rm -f /dev/dm365mmap
25mknod /dev/dm365mmap c `awk "\\$2==\"dm365mmap\" {print \\$1}" /proc/devices` 0
diff --git a/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh
new file mode 100755
index 00000000..b4a230d5
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6446_al.sh
@@ -0,0 +1,19 @@
1#
2# loadmodules.sh
3#
4# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU Lesser General Public License as
8# published by the Free Software Foundation version 2.1 of the License.
9#
10# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
11# whether express or implied; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# Lesser General Public License for more details.
14
15modprobe cmemk phys_start=0x87800000 phys_end=0x88E00000 pools=20x4096,8x202752,10x131072,2x1048576,1x2097152,10x829440,1x6750000
16modprobe dsplinkk ddr_start=0x8F800000 ddr_size=0x600000
17
18rm -rf /dev/dsplink
19mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
diff --git a/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh
new file mode 100755
index 00000000..b4a230d5
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-dm6467_al.sh
@@ -0,0 +1,19 @@
1#
2# loadmodules.sh
3#
4# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU Lesser General Public License as
8# published by the Free Software Foundation version 2.1 of the License.
9#
10# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
11# whether express or implied; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# Lesser General Public License for more details.
14
15modprobe cmemk phys_start=0x87800000 phys_end=0x88E00000 pools=20x4096,8x202752,10x131072,2x1048576,1x2097152,10x829440,1x6750000
16modprobe dsplinkk ddr_start=0x8F800000 ddr_size=0x600000
17
18rm -rf /dev/dsplink
19mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
diff --git a/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-o3530_al.sh b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-o3530_al.sh
new file mode 100755
index 00000000..076af072
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-o3530_al.sh
@@ -0,0 +1,42 @@
1# loadmodules.sh
2#
3# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
4#
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU Lesser General Public License as
7# published by the Free Software Foundation version 2.1 of the License.
8#
9# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
10# whether express or implied; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12# Lesser General Public License for more details.
13
14#
15# Default Memory Map
16#
17# Start Addr Size Description
18# -------------------------------------------
19# 0x80000000 88 MB Linux
20# 0x85800000 08 MB CMEM
21# 0x86800000 24 MB DDRALGHEAP
22# 0x87800000 6 MB DDR2 (BIOS, Codecs, Applications)
23# 0x87E00000 1 MB DSPLINK (MEM)
24# 0x87F00000 4 KB DSPLINK (RESET)
25# 0x87F01000 1020 KB unused
26
27modprobe cmemk phys_start=0x85800000 phys_end=0x86800000 pools=20x4096,8x131072,4x829440,1x5250000,1x1429440,1x256000
28
29
30# insert DSP/BIOS Link driver
31#
32modprobe dsplinkk
33
34# make /dev/dsplink
35rm -f /dev/dsplink
36mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
37
38
39# insert Local Power Manager driver
40#
41modprobe lpm_omap3530
42
diff --git a/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol137_al.sh b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol137_al.sh
new file mode 100755
index 00000000..2c98c787
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol137_al.sh
@@ -0,0 +1,19 @@
1#
2# loadmodules.sh
3#
4# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU Lesser General Public License as
8# published by the Free Software Foundation version 2.1 of the License.
9#
10# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
11# whether express or implied; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# Lesser General Public License for more details.
14
15modprobe cmemk phys_start=0xC2200000 phys_end=0xC3200000 pools=1x5250000,3x1048576,3x829440,1x256000,4x131072
16modprobe dsplinkk
17
18rm -rf /dev/dsplink
19mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
diff --git a/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol138_al.sh b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol138_al.sh
new file mode 100755
index 00000000..2c98c787
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/loadmodules-ti-dmai-ol138_al.sh
@@ -0,0 +1,19 @@
1#
2# loadmodules.sh
3#
4# Copyright (C) $year Texas Instruments Incorporated - http://www.ti.com/
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU Lesser General Public License as
8# published by the Free Software Foundation version 2.1 of the License.
9#
10# This program is distributed #as is# WITHOUT ANY WARRANTY of any kind,
11# whether express or implied; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# Lesser General Public License for more details.
14
15modprobe cmemk phys_start=0xC2200000 phys_end=0xC3200000 pools=1x5250000,3x1048576,3x829440,1x256000,4x131072
16modprobe dsplinkk
17
18rm -rf /dev/dsplink
19mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0
diff --git a/recipes-ti/dmai/ti-dmai/unloadmodules-ti-dmai-apps.sh b/recipes-ti/dmai/ti-dmai/unloadmodules-ti-dmai-apps.sh
new file mode 100644
index 00000000..793d727f
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai/unloadmodules-ti-dmai-apps.sh
@@ -0,0 +1,12 @@
1# Unload modules - DMAI - OMAP3530
2
3# remove lpm module
4rmmod lpm_omap3530
5
6# remove DSP/BIOS Link driver
7rmmod dsplinkk
8#rm -f /dev/dsplink
9
10# remove cmem module
11rmmod cmemk
12
diff --git a/recipes-ti/dmai/ti-dmai_svn.bb b/recipes-ti/dmai/ti-dmai_svn.bb
new file mode 100644
index 00000000..374acce7
--- /dev/null
+++ b/recipes-ti/dmai/ti-dmai_svn.bb
@@ -0,0 +1,31 @@
1require ti-dmai.inc
2
3# Hack to be able to use recent kernel headers from userspace
4TARGET_CC_ARCH += " -D__EXPORTED_HEADERS__"
5
6DEFAULT_PREFERENCE = "-1"
7
8PV = "2_10_00_01+svnr${SRCPV}"
9
10# This package has high dependence on kernel, use kernel PR as base and append a local version
11PR = "${MACHINE_KERNEL_PR}"
12PR_append = "n"
13
14DMAIBRANCH_dm6446 = "trunk"
15DMAIBRANCH_dm6467 = "branches/GITPSP_INT_101009"
16DMAIBRANCH_omap3 = "trunk"
17DMAIBRANCH_dm355 = "branches/GITPSP_INT_101009"
18DMAIBRANCH_dm365 = "trunk"
19DMAIBRANCH_omapl137 = "trunk"
20DMAIBRANCH_omapl138 = "trunk"
21DMAIBRANCH ?= "<UNDEFINED_DMAIBRANCH>"
22
23SRCREV_dm6446 = "482"
24SRCREV_dm6467 = "441"
25SRCREV_omap3 = "570"
26SRCREV_dm355 = "424"
27SRCREV_dm365 = "570"
28SRCREV_omapl137 = "482"
29SRCREV_omapl138 = "570"
30SRCREV ?= "<UNDEFINED_SRCREV>"
31