diff options
Diffstat (limited to 'recipes/ti')
61 files changed, 1280 insertions, 1404 deletions
diff --git a/recipes/ti/bitblit_svn.bb b/recipes/ti/bitblit_svn.bb index f813b31f06..cc7dbf9a6b 100644 --- a/recipes/ti/bitblit_svn.bb +++ b/recipes/ti/bitblit_svn.bb @@ -18,18 +18,6 @@ PR = "r1" S = "${WORKDIR}/trunk/bitblit" -XDC_TARGET = gnu.targets.arm.GCArmv5T -XDC_PLATFORM_dm6446-evm = ti.platforms.evmDM6446 -XDC_PLATFORM_da830-omapl137-evm = ti.platforms.omapl137 -PLATFORM_XDC = ${XDC_PLATFORM} - -export XDC_TARGET -export XDC_PLATFORM -export PLATFORM_XDC - -PLATFORM_dm6446-evm = "dm6446" -PLATFORM_da830-omapl137-evm = "ol137" - export LINUXLIBS_INSTALL_DIR="${STAGING_DIR_HOST}/usr" export EXEC_DIR = "${D}${datadir}/ti/bitblit/" diff --git a/recipes/ti/files/Makefile-dsplink-dsp b/recipes/ti/files/Makefile-dsplink-dsp index 0861f1ee21..0861f1ee21 100755..100644 --- a/recipes/ti/files/Makefile-dsplink-dsp +++ b/recipes/ti/files/Makefile-dsplink-dsp diff --git a/recipes/ti/files/Makefile-dsplink-gpp b/recipes/ti/files/Makefile-dsplink-gpp index d9f2f6209a..d9f2f6209a 100755..100644 --- a/recipes/ti/files/Makefile-dsplink-gpp +++ b/recipes/ti/files/Makefile-dsplink-gpp diff --git a/recipes/ti/files/dm355mm.patch b/recipes/ti/files/dm355mm.patch new file mode 100644 index 0000000000..6ee6064f5a --- /dev/null +++ b/recipes/ti/files/dm355mm.patch @@ -0,0 +1,498 @@ +diff -uNr dm355_codecs_1_13_000/dm355mm/module/dm350mmap.c dm355_codecs_1_13_000.new/dm355mm/module/dm350mmap.c +--- dm355_codecs_1_13_000/dm355mm/module/dm350mmap.c 2009-05-20 11:22:57.000000000 -0500 ++++ dm355_codecs_1_13_000.new/dm355mm/module/dm350mmap.c 2009-06-09 10:43:25.000000000 -0500 +@@ -7,7 +7,7 @@ + * Use of this software is controlled by the terms and conditions found in the + * license agreement under which this software has been supplied or provided. + * ============================================================================ +- */ ++ */ + #include <linux/module.h> + #include <linux/init.h> + #include <linux/moduleparam.h> +@@ -20,274 +20,283 @@ + #include <linux/proc_fs.h> + #include <linux/kernel.h> + #include <linux/device.h> +- ++#include <linux/clk.h> ++ + #include <asm/page.h> + #include <asm/uaccess.h> + #include <asm/pgtable.h> + #include <asm/io.h> +-#include<asm/system.h> +-#include<asm-arm/memory.h> ++#include <asm/system.h> ++#include <asm/memory.h> ++ + #include <asm/irq.h> +- ++ ++#include <linux/version.h> + #include <linux/completion.h> +-#include <asm/arch/edma.h> +- ++#include <mach/edma.h> ++ + #define ASQINT_ENABLE +- typedef struct _edma_params +-{ +- unsigned long src; +- unsigned long dst; +- unsigned int srcmode; +- unsigned int srcfifowidth; +- int srcbidx; +- int srccidx; +- unsigned int dstmode; +- unsigned int dstfifowidth; +- int dstbidx; +- int dstcidx; +- int acnt; +- int bcnt; +- int ccnt; +- int bcntrld; +- int syncmode; +- } edma_params; ++typedef struct _edma_params { ++ unsigned long src; ++ unsigned long dst; ++ unsigned int srcmode; ++ unsigned int srcfifowidth; ++ int srcbidx; ++ int srccidx; ++ unsigned int dstmode; ++ unsigned int dstfifowidth; ++ int dstbidx; ++ int dstcidx; ++ int acnt; ++ int bcnt; ++ int ccnt; ++ int bcntrld; ++ int syncmode; ++} edma_params; + + #define DM350MMAP_IOCMEMCPY 0x7 + #define DM350MMAP_IOCWAIT 0x8 + #define DM350MMAP_IOCCLEAR_PENDING 0x9 +- ++ + #ifdef __DEBUG +-#define __D(fmt, args...) printk(KERN_DEBUG "DM350MMAP Debug: " fmt, ## args) ++# define __D(fmt, args...) printk(KERN_DEBUG "DM350MMAP Debug: " fmt, ## args) + #else /* */ +-#define __D(fmt, args...) ++# define __D(fmt, args...) + #endif /* */ +- ++ + #define __E(fmt, args...) printk(KERN_ERR "DM350MMAP Error: " fmt, ## args) +- ++ + #define MAXTYPE(T) ((T) (((T)1 << ((sizeof(T) * 8) - 1) ^ ((T) -1)))) +- ++ + static int major = 0; + + #if (USE_UDEV==1) + static struct class *dm350mmap_class; +- + #endif // USE_UDEV +-static DECLARE_MUTEX_LOCKED (dm350mmap_reply_mutex); +-int master_ch; +-struct completion edmacompletion; +- +-/* Forward declaration of system calls */ +-static int ioctl (struct inode *inode, struct file *filp, unsigned int cmd, +- unsigned long args); +-static int mmap (struct file *filp, struct vm_area_struct *vma); +-static int open (struct inode *inode, struct file *filp); +-static int release (struct inode *inode, struct file *filp); ++ ++static DECLARE_MUTEX(dm350mmap_reply_mutex); ++static struct completion edmacompletion; ++ ++/* Forward declaration of system calls */ ++static int ioctl(struct inode *inode, struct file *filp, unsigned int cmd, ++ unsigned long args); ++static int mmap(struct file *filp, struct vm_area_struct *vma); ++static int open(struct inode *inode, struct file *filp); ++static int release(struct inode *inode, struct file *filp); + static struct file_operations dm350mmap_fxns = { ioctl: ioctl, mmap: mmap, open: open, release:release +- + }; + +-static irqreturn_t irq_handler (int irq, void *dev_id, struct pt_regs *regs) ++/* Structure to hold mjcp clock info */ ++static struct clk *mjcp = NULL; ++ ++//static irqreturn_t irq_handler (int irq, void *dev_id, struct pt_regs *regs) ++static irqreturn_t irq_handler(int irq, void *dev_id) + { +- +- /* Release the mutex, suggesting sequencer processing complete */ +- up (&dm350mmap_reply_mutex); +- return IRQ_HANDLED; ++ /* Release the mutex, suggesting sequencer processing complete */ ++ up(&dm350mmap_reply_mutex); ++ return IRQ_HANDLED; + } + +-static void memcpy_dma_irq_handler (int lch, u16 ch_status, void *data) ++static void memcpy_dma_irq_handler(unsigned lch, u16 ch_status, void *data) + { +- complete_all (&edmacompletion); +-} ++ complete_all(&edmacompletion); ++} + +-static int mmap (struct file *filp, struct vm_area_struct *vma) ++static int mmap(struct file *filp, struct vm_area_struct *vma) + { +- __D ("mmap: vma->vm_start = %#lx\n", vma->vm_start); +- __D ("mmap: vma->vm_pgoff = %#lx\n", vma->vm_pgoff); +- __D ("mmap: vma->vm_end = %#lx\n", vma->vm_end); +- __D ("mmap: size = %#lx\n", vma->vm_end - vma->vm_start); +- vma->vm_page_prot = pgprot_noncached (vma->vm_page_prot); +- if (remap_pfn_range (vma, vma->vm_start, +- +-#ifdef LINUX_2_6_18 +- (vma->vm_pgoff >> PAGE_SHIFT), ++ __D("mmap: vma->vm_start = %#lx\n", vma->vm_start); ++ __D("mmap: vma->vm_pgoff = %#lx\n", vma->vm_pgoff); ++ __D("mmap: vma->vm_end = %#lx\n", vma->vm_end); ++ __D("mmap: size = %#lx\n", vma->vm_end - vma->vm_start); ++ vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); ++ if (remap_pfn_range(vma, vma->vm_start, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) ++ (vma->vm_pgoff >> PAGE_SHIFT), + #else /* */ +- vma->vm_pgoff, ++ vma->vm_pgoff, + #endif /* */ +- +- vma->vm_end - vma->vm_start, vma->vm_page_prot)) +- { +- __E ("mmap: failed remap_pfn_range\n"); +- return -EAGAIN; ++ vma->vm_end - vma->vm_start, vma->vm_page_prot)) { ++ __E("mmap: failed remap_pfn_range\n"); ++ return -EAGAIN; + } +- return 0; ++ return 0; + } + + +-static int ioctl (struct inode *inode, struct file *filp, unsigned int cmd, +- unsigned long args) ++static int ioctl(struct inode *inode, struct file *filp, unsigned int cmd, ++ unsigned long args) + { +- unsigned int __user *argp = (unsigned int __user *) args; +- edma_params edmaparams; +- int err = 0, tcc = EDMA_TCC_ANY; +- struct paramentry_descriptor paramentry; +- switch (cmd) +- { +- +- /* +- * Tries to clear any previously unaccounted interrupt. +- */ +- case DM350MMAP_IOCCLEAR_PENDING: +- +- { +- int retval; +- __D ("Clear Pending Call received.\n"); +- init_MUTEX_LOCKED(&dm350mmap_reply_mutex); +- return 0; +- } +- break; +- +- /* +- * Blocks till the sequencer completion interrupt arrives. +- */ +- case DM350MMAP_IOCWAIT: +- +- { +- int retval; +- __D ("WAIT Call received.\n"); +- retval = down_interruptible (&dm350mmap_reply_mutex); +- return retval; +- } +- break; +- case DM350MMAP_IOCMEMCPY: +- __D ("MEMCPY ioctl received.\n"); +- if (copy_from_user (&edmaparams, argp, sizeof (edmaparams))) +- { +- return -EFAULT; +- } +- err = +- davinci_request_dma (EDMA_DMA_CHANNEL_ANY, "EDMA memcpy", +- memcpy_dma_irq_handler, NULL, &master_ch, &tcc, +- EVENTQ_1); +- +- /* Handle Failure condition here */ +- if (err < 0) +- { +- __E ("Error in requesting Master channel %d = 0x%x\n", master_ch, +- err); +- return err; +- } +- davinci_stop_dma (master_ch); +- init_completion (&edmacompletion); +- davinci_set_dma_src_params (master_ch, +- (unsigned long) edmaparams.src, +- edmaparams.srcmode, +- edmaparams.srcfifowidth); +- davinci_set_dma_dest_params (master_ch, +- (unsigned long) edmaparams.dst, +- edmaparams.dstmode, +- edmaparams.dstfifowidth); +- davinci_set_dma_src_index (master_ch, edmaparams.srcbidx, +- edmaparams.srccidx); +- davinci_set_dma_dest_index (master_ch, edmaparams.dstbidx, +- edmaparams.dstcidx); +- davinci_set_dma_transfer_params (master_ch, edmaparams.acnt, +- edmaparams.bcnt, edmaparams.ccnt, +- edmaparams.bcntrld, +- edmaparams.syncmode); +- davinci_get_dma_params (master_ch, ¶mentry); +- +- /*printk("%x : %x : %x : %x : %x : %x : %x\n", paramentry.opt, +- paramentry.a_b_cnt, paramentry.src_dst_bidx, +- paramentry.src_dst_cidx, paramentry.ccnt, paramentry.src, +- paramentry.dst); */ +- davinci_set_dma_params (master_ch, ¶mentry); +- davinci_start_dma (master_ch); +- wait_for_completion (&edmacompletion); +- +- //printk("Dma completed... \n"); +- davinci_stop_dma (master_ch); +- davinci_free_dma (master_ch); +- break; +- default: +- __E ("Unknown ioctl received = %d.\n", cmd); +- return -EINVAL; ++ unsigned int __user *argp = (unsigned int __user *) args; ++ edma_params edmaparams; ++ int edma_channel; ++ int retval = 0; ++ struct edmacc_param p_ram; ++ ++ switch (cmd) { ++ ++ /* ++ * Tries to clear any previously unaccounted interrupt. ++ */ ++ case DM350MMAP_IOCCLEAR_PENDING: ++ __D("Clear Pending Call received.\n"); ++ init_MUTEX_LOCKED(&dm350mmap_reply_mutex); ++ break; ++ ++ /* ++ * Blocks till the sequencer completion interrupt arrives. ++ */ ++ case DM350MMAP_IOCWAIT: ++ __D("WAIT Call received.\n"); ++ retval = down_interruptible(&dm350mmap_reply_mutex); ++ break; ++ ++ case DM350MMAP_IOCMEMCPY: ++ __D("MEMCPY ioctl received.\n"); ++ if (copy_from_user(&edmaparams, argp, sizeof(edmaparams))) { ++ retval = -EFAULT; ++ break; ++ } ++ ++ edma_channel = ++ edma_alloc_channel(EDMA_CHANNEL_ANY, &memcpy_dma_irq_handler, ++ NULL, EVENTQ_1); ++ ++ /* Handle Failure condition here */ ++ if (edma_channel < 0) { ++ __E("Error in requesting Master channel = 0x%x\n", ++ edma_channel); ++ retval = edma_channel; ++ break; ++ } ++ ++ edma_stop(edma_channel); ++ ++ init_completion(&edmacompletion); ++ ++ edma_set_src(edma_channel, ++ (dma_addr_t) edmaparams.src, ++ edmaparams.srcmode, edmaparams.srcfifowidth); ++ ++ edma_set_dest(edma_channel, ++ (dma_addr_t) edmaparams.dst, ++ edmaparams.dstmode, edmaparams.dstfifowidth); ++ ++ edma_set_src_index(edma_channel, edmaparams.srcbidx, ++ edmaparams.srccidx); ++ edma_set_dest_index(edma_channel, edmaparams.dstbidx, ++ edmaparams.dstcidx); ++ ++ edma_set_transfer_params(edma_channel, ++ edmaparams.acnt, ++ edmaparams.bcnt, ++ edmaparams.ccnt, ++ edmaparams.bcntrld, edmaparams.syncmode); ++ ++ edma_read_slot(edma_channel, &p_ram); ++ p_ram.opt |= TCINTEN | EDMA_TCC(edma_channel); ++ edma_write_slot(edma_channel, &p_ram); ++ ++ edma_start(edma_channel); ++ wait_for_completion(&edmacompletion); ++ edma_stop(edma_channel); ++ edma_free_channel(edma_channel); ++ break; ++ ++ default: ++ __E("Unknown ioctl received = %d.\n", cmd); ++ retval = -EINVAL; ++ break; + } +- return 0; ++ ++ return retval; + } + + +-static int open (struct inode *inode, struct file *filp) ++static int open(struct inode *inode, struct file *filp) + { +- __D ("open: called.\n"); +- return 0; ++ __D("open: called.\n"); ++ return 0; + } + + +-static int release (struct inode *inode, struct file *filp) ++static int release(struct inode *inode, struct file *filp) + { +- __D ("close: called."); +- return 0; ++ __D("close: called."); ++ return 0; + } + + +-int __init dm350mmap_init (void) ++int __init dm350mmap_init(void) + { +- __D ("** DM350MMAP kernel module built: " __DATE__ " " __TIME__ "\n"); +- major = register_chrdev (0, "dm350mmap", &dm350mmap_fxns); +- if (major < 0) +- { +- __E ("Failed to allocate major number.\n"); +- return -ENODEV; ++ /* In the GIT kernel unused clocks are disabled. To run codec we need to ++ * enable mjcp clock. ++ */ ++ mjcp = clk_get(NULL, "mjcp"); ++ if (IS_ERR(mjcp)) ++ printk(KERN_WARNING "unable to get MJCP clock\n"); ++ else ++ clk_enable(mjcp); ++ ++ __D("** DM350MMAP kernel module built: " __DATE__ " " __TIME__ "\n"); ++ major = register_chrdev(0, "dm350mmap", &dm350mmap_fxns); ++ if (major < 0) { ++ __E("Failed to allocate major number.\n"); ++ return -ENODEV; + } +- __D ("Allocated major number: %d\n", major); +- ++ __D("Allocated major number: %d\n", major); ++ + #if (USE_UDEV==1) +- dm350mmap_class = class_create (THIS_MODULE, "dm350mmap"); +- if (IS_ERR (dm350mmap_class)) +- { +- __E ("Error creating dm350mmap device class.\n"); +- return -EIO; ++ dm350mmap_class = class_create(THIS_MODULE, "dm350mmap"); ++ if (IS_ERR(dm350mmap_class)) { ++ __E("Error creating dm350mmap device class.\n"); ++ return -EIO; + } +- class_device_create (dm350mmap_class, NULL, MKDEV (major, 0), NULL, +- "dm350mmap"); +- ++ class_device_create(dm350mmap_class, NULL, MKDEV(major, 0), NULL, ++ "dm350mmap"); ++ + #endif // USE_UDEV +- __D ("Successfully initialized module\n"); +- ++ __D("Successfully initialized module\n"); ++ + #ifdef ASQINT_ENABLE +- if (request_irq (IRQ_ASQINT, irq_handler, 0, "seq_arm_interrupt", NULL)) +- { +- __D ("Could not install ISR\n"); ++ if (request_irq(IRQ_ASQINT, irq_handler, 0, "seq_arm_interrupt", NULL)) { ++ __D("Could not install ISR\n"); + } +- ++ + #endif /* */ ++ init_MUTEX_LOCKED(&dm350mmap_reply_mutex); + return 0; + } + + +-void __exit dm350mmap_exit (void) ++void __exit dm350mmap_exit(void) + { +- __D ("In dm350mmap_exit()\n"); +- ++ /* if mjcp clock is enabled then free it */ ++ if (mjcp) { ++ clk_disable(mjcp); ++ clk_put(mjcp); ++ } ++ ++ __D("In dm350mmap_exit()\n"); ++ + #if (USE_UDEV==1) +- class_device_destroy (dm350mmap_class, MKDEV (major, 0)); +- class_destroy (dm350mmap_class); +- ++ class_device_destroy(dm350mmap_class, MKDEV(major, 0)); ++ class_destroy(dm350mmap_class); ++ + #endif // USE_UDEV +- __D ("Unregistering character device dm350mmap\n"); +- unregister_chrdev (major, "dm350mmap"); +- ++ __D("Unregistering character device dm350mmap\n"); ++ unregister_chrdev(major, "dm350mmap"); ++ + #ifdef ASQINT_ENABLE +- free_irq (IRQ_ASQINT, NULL); +- ++ free_irq(IRQ_ASQINT, NULL); ++ + #endif /* */ +- __D ("dm350mmap unregistered\n"); +-} ++ __D("dm350mmap unregistered\n"); ++} + +-module_init (dm350mmap_init); ++module_init(dm350mmap_init); + +-module_exit (dm350mmap_exit); +-MODULE_LICENSE ("GPL"); +-MODULE_AUTHOR ("Texas Instruments"); +-MODULE_DESCRIPTION ("DM350 mmap export to userland"); ++module_exit(dm350mmap_exit); ++MODULE_LICENSE("GPL"); ++MODULE_AUTHOR("Texas Instruments"); ++MODULE_DESCRIPTION("DM350 mmap export to userland"); + diff --git a/recipes/ti/files/loadmodules-ti-dmai-dm365_al.sh b/recipes/ti/files/loadmodules-ti-dmai-dm365_al.sh new file mode 100644 index 0000000000..921c924b9a --- /dev/null +++ b/recipes/ti/files/loadmodules-ti-dmai-dm365_al.sh @@ -0,0 +1,14 @@ +#!/bin/sh +rmmod cmemk 2>/dev/null +rmmod irqk 2>/dev/null +rmmod edmak 2>/dev/null +rmmod dm365mmap 2>/dev/null + +# Pools configuration +insmod cmemk.ko phys_start=0x85000000 phys_end=0x88000000 pools=6x4096,2x8192,1x11908,2x13184,1x2697152,6x4096,1x30720,3x81920,1x3185664,64x56,1x320,1x640,1x81920,1x6650880,2x608,1x296,1x28,2x24,23x1548288,1x154288 allowOverlap=1 phys_start_1=0x00001000 phys_end_1=0x00008000 pools_1=1x28672 + +insmod irqk.ko +insmod edmak.ko +insmod dm365mmap.ko +rm -f /dev/dm365mmap +mknod /dev/dm365mmap c `awk "\\$2==\"dm365mmap\" {print \\$1}" /proc/devices` 0 diff --git a/recipes/ti/files/mapdmaq b/recipes/ti/files/mapdmaq Binary files differindex 5c11bc3141..5c11bc3141 100755..100644 --- a/recipes/ti/files/mapdmaq +++ b/recipes/ti/files/mapdmaq diff --git a/recipes/ti/files/unloadmodules-ti-dmai-apps.sh b/recipes/ti/files/unloadmodules-ti-dmai-apps.sh index 793d727f39..793d727f39 100755..100644 --- a/recipes/ti/files/unloadmodules-ti-dmai-apps.sh +++ b/recipes/ti/files/unloadmodules-ti-dmai-apps.sh diff --git a/recipes/ti/gstreamer-ti/gstreamer-ti-dm355-rc.sh b/recipes/ti/gstreamer-ti/gstreamer-ti-dm355-rc.sh new file mode 100644 index 0000000000..d95658e44b --- /dev/null +++ b/recipes/ti/gstreamer-ti/gstreamer-ti-dm355-rc.sh @@ -0,0 +1,61 @@ +#!/bin/sh +# +# configure kernel modules for TI DSP based gstreamer plugin +# + +# Disable XDM 0.9 elements +export GST_TI_TIViddec_DISABLE=1 +export GST_TI_TIAuddec_DISABLE=1 +export GST_TI_TIVidenc_DISABLE=1 +export GST_TI_TIImgdec_DISABLE=1 +export GST_TI_TIImgenc_DISABLE=1 + +load_module() { + # CMEM Allocation + # 1x3628800 Circular buffer + # 4x829440 Video buffers (max D1 PAL) + # 1x829440 Underlying software components (codecs, etc.) + # 1x518400 Underlying software components (codecs, etc.) + # 1x4948 Underlying software components (codecs, etc.) + # 1x1505280 Underlying software components (codecs, etc.) + # 1x5760 Underlying software components (codecs, etc.) + # 1x8192 Underlying software components (codecs, etc.) + # 1x1 Dummy buffer used during final flush + modprobe cmemk phys_start=0x87400000 phys_end=0x88000000 \ + pools=1x3628800,5x829440,1x518400,1x4948,1x1505280,1x5760,1x8192,1x1 + + modprobe dm350mmap + rm -f /dev/dm350mmap + mknod /dev/dm350mmap c `awk "\\$2==\"dm350mmap\" {print \\$1}" /proc/devices` 0 + +} + +unload_module() { + rmmod cmemk + rmmod dm350mmap +} + +case "$1" in + start) + echo -n "Loading kernel modules for gstreamer-ti... " + load_module + echo " done" + ;; + stop) + echo -n "Unloading kernel module ..." + unload_module + echo " done" + ;; + restart) + echo -n "Unloading kernel module ..." + unload_module + echo " done" + echo -n "Loading kernel modules for gstreamer-ti... " + load_module + echo " done" + ;; + *) + echo "$0 <start/stop/restart>" + ;; +esac + diff --git a/recipes/ti/gstreamer-ti/gstreamer-ti-dm6446-rc.sh b/recipes/ti/gstreamer-ti/gstreamer-ti-dm6446-rc.sh new file mode 100644 index 0000000000..69468977bd --- /dev/null +++ b/recipes/ti/gstreamer-ti/gstreamer-ti-dm6446-rc.sh @@ -0,0 +1,71 @@ +#!/bin/sh +# +# configure kernel modules for TI DSP based gstreamer plugin +# + +# Disable XDM 0.9 elements +export GST_TI_TIViddec_DISABLE=1 +export GST_TI_TIAuddec_DISABLE=1 +export GST_TI_TIVidenc_DISABLE=1 +export GST_TI_TIImgdec_DISABLE=1 +export GST_TI_TIImgenc_DISABLE=1 + +load_module() { + # insert cmemk, tell it to occupy physical 118MB-128MB. + # + # CMEM Allocation + # 1x5250000 Circular buffer + # 2x829440 Video buffers (max D1 PAL) + # 3x1036800 Video buffers (larger size needed for MPEG4 encoder) + # 1x8192 Underlying software components (codecs, etc.) + # 1x1 Dummy buffer used during final flush + modprobe cmemk phys_start=0x87600000 phys_end=0x88000000 \ + pools=1x5250000,2x829440,3x1036800,1x8192,1x1 + + # Notes on using the "playbin" element: + # ------------------------------------- + # Playbin requires one 6 video buffers, and we have only allocated five. + # If you replace the "2x829440,3x1036800" with "6x829440" it should work, but + # you will not be able to use the MPEG4 encoder. + # + #insmod cmemk.ko phys_start=0x87600000 phys_end=0x88000000 \ + # pools=1x5250000,6x829440,1x8192,1x1 + + # insert dsplinkk + modprobe dsplinkk + + # make /dev/dsplink + rm -f /dev/dsplink + mknod /dev/dsplink c `awk "\\$2==\"dsplink\" {print \\$1}" /proc/devices` 0 +} + +unload_module() { + rmmod cmemk + rmmod dsplinkk + rm -f /dev/dsplink +} + +case "$1" in + start) + echo -n "Loading kernel modules for gstreamer-ti... " + load_module + echo " done" + ;; + stop) + echo -n "Unloading kernel module ..." + unload_module + echo " done" + ;; + restart) + echo -n "Unloading kernel module ..." + unload_module + echo " done" + echo -n "Loading kernel modules for gstreamer-ti... " + load_module + echo " done" + ;; + *) + echo "$0 <start/stop/restart>" + ;; +esac + diff --git a/recipes/ti/gstreamer-ti/gstreamer-ti-omap3530-rc.sh b/recipes/ti/gstreamer-ti/gstreamer-ti-omap3530-rc.sh index 9a19cf926b..b61b40c176 100644 --- a/recipes/ti/gstreamer-ti/gstreamer-ti-omap3530-rc.sh +++ b/recipes/ti/gstreamer-ti/gstreamer-ti-omap3530-rc.sh @@ -12,11 +12,11 @@ # # Disable XDM 0.9 elements -export GST_TI_TIViddec_DISABLED=1 -export GST_TI_TIAuddec_DISABLED=1 -export GST_TI_TIVidenc_DISABLED=1 -export GST_TI_TIImgdec_DISABLED=1 -export GST_TI_TIImgenc_DISABLED=1 +export GST_TI_TIViddec_DISABLE=1 +export GST_TI_TIAuddec_DISABLE=1 +export GST_TI_TIVidenc_DISABLE=1 +export GST_TI_TIImgdec_DISABLE=1 +export GST_TI_TIImgenc_DISABLE=1 load_module() { # diff --git a/recipes/ti/gstreamer-ti_svn.bb b/recipes/ti/gstreamer-ti_svn.bb index 099ca1d91b..de09d36caa 100644 --- a/recipes/ti/gstreamer-ti_svn.bb +++ b/recipes/ti/gstreamer-ti_svn.bb @@ -1,90 +1,85 @@ DESCRIPTION = "Gstreamer plugin for TI Davinci and OMAP processors" - -require ti-paths.inc - -inherit update-rc.d -inherit autotools - DEPENDS = "ti-dmai gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly" -GST_TI_RC_SCRIPT_armv7a="gstreamer-ti-omap3530-rc.sh" - -# Fetch source from svn repo SRCREV = "459" +# Again, no '.' in PWD allowed :( +PV = "svnr${SRCREV}" +PR = "r37" + +GST_TI_RC_SCRIPT_omap3 = "gstreamer-ti-omap3530-rc.sh" +GST_TI_RC_SCRIPT_dm6446="gstreamer-ti-dm6446-rc.sh" +GST_TI_RC_SCRIPT_dm355="gstreamer-ti-dm355-rc.sh" + SRC_URI = "svn://gforge.ti.com/svn/gstreamer_ti/trunk;module=gstreamer_ti;proto=https;user=anonymous;pswd='' \ file://gstreamer-ti-tracker-462.patch;patch=1 \ file://gstreamer-ti-remove-mp3-decode-support-from-auddec1.patch;patch=1 \ - file://${GST_TI_RC_SCRIPT} \ + file://${GST_TI_RC_SCRIPT} \ " -SRC_URI_append_armv7a = " \ +SRC_URI_append_omap3 = " \ file://gstreamer-ti-add-omapfb.patch;patch=1 \ " -# Again, no '.' in PWD allowed :( -PR = "r37" -PV = "svnr${SRCREV}" - S = "${WORKDIR}/gstreamer_ti/ti_build/ticodecplugin" -INITSCRIPT_NAME = "gstti-init" -INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ." - -XDC_TARGET = gnu.targets.arm.GCArmv5T -XDC_PLATFORM_dm6446-evm = ti.platforms.evmDM6446 -XDC_PLATFORM_da830-omapl137-evm = ti.platforms.omapl137 -PLATFORM_XDC = ${XDC_PLATFORM} -export XDC_TARGET -export XDC_PLATFORM -export PLATFORM_XDC +inherit autotools update-rc.d -PLATFORM_dm6446-evm = "dm6446" -PLATFORM_da830-omapl137-evm = "ol137" - -CPPFLAGS_append = " -DPlatform_${PLATFORM}" +require ti-paths.inc -PACKAGE_ARCH = "${MACHINE_ARCH}" +XDC_TARGET = "gnu.targets.arm.GCArmv5T" +XDC_PLATFORM_dm6446 = "ti.platforms.evmDM6446" +XDC_PLATFORM_omapl137 = "ti.platforms.omapl137" +PLATFORM_XDC = "${XDC_PLATFORM}" +PLATFORM_dm6446 = "dm6446" +PLATFORM_omapl137 = "ol137" +export XDC_TARGET +export XDC_PLATFORM +export PLATFORM_XDC # export codec combo (or server) locations export HMJCP_COMBO = "${installdir}/codec-combo/hmjcp.accel" export CODEC_SERVER = "${installdir}/codec-combo/cs.x64P" -export ENCODE_COMBO = "${installdir}/codec-combo/encodeCombo.x64P" +export ENCODE_COMBO = "${installdir}/codec-combo/encodeCombo.x64P" export DECODE_COMBO = "${installdir}/codec-combo/decodeCombo.x64P" -do_install_prepend () { - # install gstreamer demo scripts - install -d ${D}/${installdir}/gst - cp -r ${WORKDIR}/gstreamer_ti/gstreamer_demo/shared ${D}/${installdir}/gst - cp -r ${WORKDIR}/gstreamer_ti/gstreamer_demo/${PLATFORM} ${D}/${installdir}/gst - - # default loadmodule script is hard-coded for insmod, change to modprobe - sed -i 's/insmod/modprobe/g' ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh - sed -i 's/.ko//g' ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh - if [ "${PLATFORM}" = "omap3530" ]; then - echo "modprobe sdmak" >> ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh - fi - chmod 0755 ${D}/${installdir}/gst -R - - install -d ${D}${sysconfdir}/init.d/ - install -m 0755 ${WORKDIR}/${GST_TI_RC_SCRIPT} ${D}${sysconfdir}/init.d/gstti-init -} +CPPFLAGS_append = " -DPlatform_${PLATFORM}" -pkg_postinst_gstreamer-ti-demo-script () { - ln -sf ${installdir}/codec-combo/* ${installdir}/gst/${PLATFORM}/ +do_install_prepend () { + # install gstreamer demo scripts + install -d ${D}/${installdir}/gst + cp -r ${WORKDIR}/gstreamer_ti/gstreamer_demo/shared ${D}/${installdir}/gst + cp -r ${WORKDIR}/gstreamer_ti/gstreamer_demo/${PLATFORM} ${D}/${installdir}/gst + # default loadmodule script is hard-coded for insmod, change to modprobe + sed -i 's/insmod/modprobe/g' ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh + sed -i 's/.ko//g' ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh + if [ "${PLATFORM}" = "omap3530" ]; then + echo "modprobe sdmak" >> ${D}/${installdir}/gst/${PLATFORM}/loadmodules.sh + fi + chmod 0755 ${D}/${installdir}/gst -R + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/${GST_TI_RC_SCRIPT} ${D}${sysconfdir}/init.d/gstti-init } +PACKAGE_ARCH = "${MACHINE_ARCH}" PACKAGES += "gstreamer-ti-demo-script" -FILES_gstreamer-ti-demo-script = "${installdir}/gst/*" -RDEPENDS_gstreamer-ti-demo-script = "gstreamer-ti" -RDEPENDS_${PN} = " \ +RDEPENDS_gstreamer-ti-demo-script = "${PN}" +RRECOMMENDS_${PN} = " \ gst-plugins-base-meta \ gst-plugins-good-meta \ gst-plugins-bad-meta \ gst-plugins-ugly-meta \ ti-dmai-apps" +FILES_gstreamer-ti-demo-script = "${installdir}/gst/*" FILES_${PN} += "${libdir}/gstreamer-0.10/*.so ${sysconfdir}" FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.a ${libdir}/gstreamer-0.10/*.la" FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" +pkg_postinst_gstreamer-ti-demo-script () { + ln -sf ${installdir}/codec-combo/* ${installdir}/gst/${PLATFORM}/ +} + +INITSCRIPT_NAME = "gstti-init" +INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ." + diff --git a/recipes/ti/ti-cgt6x-native_6.1.9.bb b/recipes/ti/ti-cgt6x-native_6.1.9.bb index f8d9d98c1b..9674e7699c 100644 --- a/recipes/ti/ti-cgt6x-native_6.1.9.bb +++ b/recipes/ti/ti-cgt6x-native_6.1.9.bb @@ -1,9 +1,9 @@ require ti-cgt6x.inc inherit native -# download ti_cgt_c6000_6.1.9_setup_linux_x86.bin from https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm and copy in Arago (or OE) download directory. +# download ti_cgt_c6000_6.1.9_setup_linux_x86.bin from https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm and copy in Arago/OE download directory. -SRC_URI = "http://install.source.dir.local/ti_cgt_c6000_6.1.9_setup_linux_x86.bin" +SRC_URI = "http://install.source.dir.local/ti_cgt_c6000_6.1.9_setup_linux_x86.bin" BINFILE = "ti_cgt_c6000_6.1.9_setup_linux_x86.bin" diff --git a/recipes/ti/ti-cgt6x.inc b/recipes/ti/ti-cgt6x.inc index 35a9252cfe..fa46d12aeb 100644 --- a/recipes/ti/ti-cgt6x.inc +++ b/recipes/ti/ti-cgt6x.inc @@ -2,41 +2,8 @@ DESCRIPTION = "Code Generation Tools for TI DaVinci and OMAP" # This file defines function used for extracting .bin file -python do_unpack () { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('ti_bin_do_unpack', d) -} +TI_BIN_UNPK_CMDS="Y:qY:workdir: : " +TI_BIN_UNPK_WDEXT="/cgt" -python ti_bin_do_unpack() { - - import os - - localdata = bb.data.createCopy(d) - bb.data.update_data(localdata) - - binfile = bb.data.getVar('BINFILE', localdata) - - # Change to the working directory - save_cwd = os.getcwd() - workdir = bb.data.getVar('WORKDIR', localdata) - workdir = bb.data.expand(workdir, localdata) - os.chdir(workdir) - - # Make the InstallJammer binary executable so we can run it - os.chmod(binfile, 0755) - - # Run the InstallJammer binary and accept the EULA - filename = "HOME=%s ./%s" % (workdir, binfile) - f = os.popen(filename,'w') - print >>f, "Y\n" - print >>f, "qY\n" - print >>f, "%s/cgt\n" % workdir - print >>f, " \n" - print >>f, " \n" - - f.close() - - # Return to the previous directory - os.chdir(save_cwd) -} +require ti-eula-unpack.inc diff --git a/recipes/ti/ti-cmem-module_2.23.1.bb b/recipes/ti/ti-cmem-module_2.23.1.bb deleted file mode 100644 index 7af1216cd3..0000000000 --- a/recipes/ti/ti-cmem-module_2.23.1.bb +++ /dev/null @@ -1,68 +0,0 @@ -DESCRIPTION = "CMEM module for TI ARM/DSP processors" -inherit module - -# compile and run time dependencies -DEPENDS = "virtual/kernel perl-native" -RDEPENDS = "update-modules" - -# Download codec_engine_2_23_01.tar.gz from https://www-a.ti.com/downloads/sds_support/targetcontent/CE/ce_2_23/index.html and copy in Arago (or OE) download directory. - -SRC_URI = "http://install.source.dir.local/codec_engine_2_23_01.tar.gz \ - file://cmem-remove-show-pte-function.patch;patch=1 " - -# Set the source directory -S = "${WORKDIR}/codec_engine_2_23_01" - -#This is a kernel module, don't set PR directly -MACHINE_KERNEL_PR_append = "a" - -PV = "2231" - -do_compile() { - # TODO :: KERNEL_CC, etc need replacing with user CC - # TODO :: Need to understand why OBJDUMP is required for kernel module - # Unset these since LDFLAGS gets picked up and used incorrectly.... need - # investigation - - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - - cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem - make \ - LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ - MVTOOL_PREFIX="${TARGET_PREFIX}" \ - UCTOOL_PREFIX="${TARGET_PREFIX}" \ - clean debug release -} - -do_install () { - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - install -m 0755 ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - - cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem/apps - make \ - LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ - MVTOOL_PREFIX="${TARGET_PREFIX}" \ - UCTOOL_PREFIX="${TARGET_PREFIX}" \ - EXEC_DIR="${D}${datadir}/ti/ti-cmem-apps" \ - install -} - -pkg_postinst () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm () { - update-modules || true -} - -INHIBIT_PACKAGE_STRIP = "1" -FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko" -PACKAGES += " ti-cmem-apps" -FILES_ti-cmem-apps = "${datadir}/ti/ti-cmem-apps/*" -INSANE_SKIP_ti-cmem-apps = True - - diff --git a/recipes/ti/ti-cmem-module_2.23.bb b/recipes/ti/ti-cmem-module_2.23.bb deleted file mode 100644 index 0200369501..0000000000 --- a/recipes/ti/ti-cmem-module_2.23.bb +++ /dev/null @@ -1,51 +0,0 @@ -DESCRIPTION = "CMEM module for TI ARM/DSP processors" -inherit module - -# compile and run time dependencies -DEPENDS = "virtual/kernel perl-native" -RDEPENDS = "update-modules" - -SRC_URI = "http://install.source.dir.local/codec_engine_2_23.tar.gz" - -# Set the source directory -S = "${WORKDIR}/codec_engine_2_23" - -#This is a kernel module, don't set PR directly -MACHINE_KERNEL_PR_append = "a" -PV = "223" - -do_compile() { - # TODO :: KERNEL_CC, etc need replacing with user CC - # TODO :: Need to understand why OBJDUMP is required for kernel module - # Unset these since LDFLAGS gets picked up and used incorrectly.... need - # investigation - - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem - make \ - LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ - MVTOOL_PREFIX="${TARGET_PREFIX}" \ - UCTOOL_PREFIX="${TARGET_PREFIX}" \ - clean debug release -} - -do_install () { - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - install -m 0755 ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp -} - -pkg_postinst () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm () { - update-modules || true -} - -INHIBIT_PACKAGE_STRIP = "1" -FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko" - diff --git a/recipes/ti/ti-cmem-module_2.24.01.bb b/recipes/ti/ti-cmem-module_2.24.01.bb deleted file mode 100644 index 625d292a55..0000000000 --- a/recipes/ti/ti-cmem-module_2.24.01.bb +++ /dev/null @@ -1,66 +0,0 @@ -DESCRIPTION = "CMEM module for TI ARM/DSP processors" -inherit module - -# compile and run time dependencies -DEPENDS = "virtual/kernel perl-native" -RDEPENDS = "update-modules" - -SRC_URI = "http://install.source.dir.local/codec_engine_2_24_01.tar.gz \ - file://cmem-remove-show-pte-function.patch;patch=1 " - -# Set the source directory -S = "${WORKDIR}/codec_engine_2_24_01" - -#This is a kernel module, don't set PR directly -MACHINE_KERNEL_PR_append = "a" - -PV = "2241" - -do_compile() { - # TODO :: KERNEL_CC, etc need replacing with user CC - # TODO :: Need to understand why OBJDUMP is required for kernel module - # Unset these since LDFLAGS gets picked up and used incorrectly.... need - # investigation - - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - - cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem - make \ - LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ - MVTOOL_PREFIX="${TARGET_PREFIX}" \ - UCTOOL_PREFIX="${TARGET_PREFIX}" \ - clean debug release -} - -do_install () { - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - install -m 0755 ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - - cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem/apps - make \ - LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ - MVTOOL_PREFIX="${TARGET_PREFIX}" \ - UCTOOL_PREFIX="${TARGET_PREFIX}" \ - EXEC_DIR="${D}${prefix}/ti/ti-cmem-apps" \ - install -} - -pkg_postinst () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm () { - update-modules || true -} - -INHIBIT_PACKAGE_STRIP = "1" -FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko" -PACKAGES += " ti-cmem-apps" -FILES_ti-cmem-apps = "${prefix}/ti/ti-cmem-apps/*" -INSANE_SKIP_ti-cmem-apps = True - - diff --git a/recipes/ti/ti-codec-combo-dm355.inc b/recipes/ti/ti-codec-combo-dm355.inc deleted file mode 100644 index e975793082..0000000000 --- a/recipes/ti/ti-codec-combo-dm355.inc +++ /dev/null @@ -1,38 +0,0 @@ -# This file defines function used for extracting .bin file - -python do_unpack () { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('ti_bin_do_unpack', d) -} - -python ti_bin_do_unpack() { - - import os - - localdata = bb.data.createCopy(d) - bb.data.update_data(localdata) - - binfile = bb.data.getVar('BINFILE', localdata) - - # Change to the working directory - save_cwd = os.getcwd() - workdir = bb.data.getVar('WORKDIR', localdata) - workdir = bb.data.expand(workdir, localdata) - os.chdir(workdir) - - # Make the InstallJammer binary executable so we can run it - os.chmod(binfile, 0755) - - # Run the InstallJammer binary and accept the EULA - filename = "HOME=%s ./%s" % (workdir, binfile) - f = os.popen(filename,'w') - print >>f, "Y\n" - print >>f, "Y\n" - print >>f, " qY\n" - print >>f, "%s\n" % workdir - f.close() - - # Return to the previous directory - os.chdir(save_cwd) -} - diff --git a/recipes/ti/ti-codec-combo-dm355_1.13.bb b/recipes/ti/ti-codec-combo-dm355_1.13.bb deleted file mode 100644 index 2db0720c6a..0000000000 --- a/recipes/ti/ti-codec-combo-dm355_1.13.bb +++ /dev/null @@ -1,28 +0,0 @@ -require ti-codec.inc -require ti-codec-combo-dm355.inc - -SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/codecs/dm355_codecs_setuplinux_1_13_000.bin \ - file://mapdmaq \ - " - -BINFILE = "dm355_codecs_setuplinux_1_13_000.bin" - -S = "${WORKDIR}/dm355_codecs_1_13_000" - -# Yes, the xdc stuff still breaks with a '.' in PWD -PV = "113" -PR = "r15" - -do_compile() { - echo "Do nothing" -} - -do_install () { - # install mapdmaq on target - install -d ${D}/${installdir}/codec-combo - install -m 0755 ${WORKDIR}/mapdmaq ${D}/${installdir}/codec-combo -} - -INHIBIT_PACKAGE_STRIP = "1" -INSANE_SKIP_${PN} = True - diff --git a/recipes/ti/ti-codec-combo-dm6446.inc b/recipes/ti/ti-codec-combo-dm6446.inc deleted file mode 100644 index 44508bf49e..0000000000 --- a/recipes/ti/ti-codec-combo-dm6446.inc +++ /dev/null @@ -1,39 +0,0 @@ -# This file defines function used for extracting .bin file - -python do_unpack () { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('ti_bin_do_unpack', d) -} - -python ti_bin_do_unpack() { - - import os - - localdata = bb.data.createCopy(d) - bb.data.update_data(localdata) - - binfile = bb.data.getVar('BINFILE', localdata) - - # Change to the working directory - save_cwd = os.getcwd() - workdir = bb.data.getVar('WORKDIR', localdata) - workdir = bb.data.expand(workdir, localdata) - os.chdir(workdir) - - # Make the InstallJammer binary executable so we can run it - os.chmod(binfile, 0755) - - # Run the InstallJammer binary and accept the EULA - filename = "HOME=%s ./%s" % (workdir, binfile) - f = os.popen(filename,'w') - print >>f, "Y\n" - print >>f, "Y\n" - print >>f, " \n" - print >>f, " qY\n" - print >>f, "%s\n" % workdir - f.close() - - # Return to the previous directory - os.chdir(save_cwd) -} - diff --git a/recipes/ti/ti-codec-combo-omap3530.inc b/recipes/ti/ti-codec-combo-omap3530.inc deleted file mode 100644 index a884549622..0000000000 --- a/recipes/ti/ti-codec-combo-omap3530.inc +++ /dev/null @@ -1,46 +0,0 @@ -# This file defines function used for unpacking the .bin file downloaded over -# the http and display EULA. -# BINFILE - name of the install jammer .bin file -# TARFILE - name of the tar file inside the install jammer - -python do_unpack () { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('ti_bin_do_unpack', d) -} - -python ti_bin_do_unpack() { - - import os - - localdata = bb.data.createCopy(d) - bb.data.update_data(localdata) - - binfile = bb.data.getVar('BINFILE', localdata) - tarfile = bb.data.getVar('TARFILE', localdata) - - # Change to the working directory - save_cwd = os.getcwd() - workdir = bb.data.getVar('WORKDIR', localdata) - workdir = bb.data.expand(workdir, localdata) - os.chdir(workdir) - - # Make the InstallJammer binary executable so we can run it - os.chmod(binfile, 0755) - - # Run the InstallJammer binary and accept the EULA - filename = "HOME=%s ./%s" % (workdir, binfile) - f = os.popen(filename,'w') - print >>f, "Y\n" - print >>f, " qY\n" - print >>f, "%s\n" % workdir - f.close() - - # Expand the tarball that was created - cmd = 'tar xz --no-same-owner -f %s -C %s' % (tarfile, workdir) - ret = os.system(cmd) - - # Return to the previous directory - os.chdir(save_cwd) - return ret == 0 -} - diff --git a/recipes/ti/ti-codec-combo-omap3530_3.16.1.bb b/recipes/ti/ti-codec-combo-omap3530_3.16.1.bb deleted file mode 100644 index 3a9efdd60d..0000000000 --- a/recipes/ti/ti-codec-combo-omap3530_3.16.1.bb +++ /dev/null @@ -1,51 +0,0 @@ -require ti-codec.inc -require ti-codec-combo-omap3530.inc - -SRC_URI = "http://software-dl.ti.com/sdo/sdo_apps_public_sw/omap3530_dvsdk_combos_tspa/omap3530_dvsdk_combos_tspa-3_16_01-Linux-x86.bin" - -# Specify names of the InstallJammer binary file and the tarball it extracts -BINFILE = "omap3530_dvsdk_combos_tspa-3_16_01-Linux-x86.bin" -TARFILE = "omap3530_dvsdk_combos_tspa/omap3530_dvsdk_combos_tspa_3_16_01.tar.gz" - -S = "${WORKDIR}/omap3530_dvsdk_combos_tspa_3_16_01" - -DEPENDS="ti-codec-engine ti-dsplink-module" - -CODEC_INSTALL_DIR = "${S}" - -export CODEGEN_INSTALL_DIR - -# Yes, the xdc stuff still breaks with a '.' in PWD -PV = "3161" -PR = "r17" -do_compile() { - make CE_INSTALL_DIR=${CE_INSTALL_DIR} \ - FC_INSTALL_DIR=${FC_INSTALL_DIR} \ - LINK_INSTALL_DIR=${LINK_INSTALL_DIR} \ - CMEM_INSTALL_DIR=${CMEM_INSTALL_DIR} \ - LPM_INSTALL_DIR=${LPM_INSTALL_DIR} \ - BIOS_INSTALL_DIR=${BIOS_INSTALL_DIR} \ - CODEGEN_INSTALL_DIR=${CODEGEN_INSTALL_DIR} \ - CODEC_INSTALL_DIR=${CODEC_INSTALL_DIR} \ - XDC_INSTALL_DIR=${XDC_INSTALL_DIR} clean - - make CE_INSTALL_DIR=${CE_INSTALL_DIR} \ - FC_INSTALL_DIR=${FC_INSTALL_DIR} \ - LINK_INSTALL_DIR=${LINK_INSTALL_DIR} \ - CMEM_INSTALL_DIR=${CMEM_INSTALL_DIR} \ - LPM_INSTALL_DIR=${LPM_INSTALL_DIR} \ - BIOS_INSTALL_DIR=${BIOS_INSTALL_DIR} \ - CODEGEN_INSTALL_DIR=${CODEGEN_INSTALL_DIR} \ - CODEC_INSTALL_DIR=${CODEC_INSTALL_DIR} \ - XDC_INSTALL_DIR=${XDC_INSTALL_DIR} -} - -do_install () { - install -d ${D}/${installdir}/codec-combo - cd ${S} - for file in `find . -name *.x64P`; do - cp ${file} ${D}/${installdir}/codec-combo - done -} - - diff --git a/recipes/ti/ti-codec-combos_3.16.bb b/recipes/ti/ti-codec-combos_3.16.bb deleted file mode 100644 index 5d8faca30f..0000000000 --- a/recipes/ti/ti-codec-combos_3.16.bb +++ /dev/null @@ -1,90 +0,0 @@ -DESCRIPTION = "Codec combos for omap3530" -DEPENDS = "ti-codec-engine" -LICENCE = "unknown" - -require ti-paths.inc - -# Tar-Up Codec Combos from the OMAP DVSDK (http://www.ti.com/dvevmupdates) and drop in files/ -SRC_URI = "file://omap3530_dvsdk_combos_3_16.tar.gz \ - " - -S = "${WORKDIR}/omap3530_dvsdk_combos_3_16" - -# Yes, the xdc stuff still breaks with a '.' in PWD -PV = "316" -PR = "r15" - -TARGET = "all" - -export CE_INSTALL_DIR="${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine/packages;${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine/cetools" - -# Needed for now since makefile in latest package assumes this is set -export CODEC_INSTALL_DIR="${S}" - -do_compile() { - - # For now, remove the reference to Rules.make and swap prod for eval, since this only has eval libs included - sed -i \ - -e '/Rules.make/d' \ - -e 's:$(FC_INSTALL_DIR)/packages;::g' \ - -e 's:$(XDAIS_INSTALL_DIR)/packages;::g' \ - -e 's:$(FC_INSTALL_DIR)/fctools/packages;::g' \ - -e 's:$(BIOSUTILS_INSTALL_DIR)/packages;::g' \ - -e 's:$(CMEM_INSTALL_DIR)/packages;::g' \ - -e 's:$(LINK_INSTALL_DIR)/packages;::g' \ - -e 's:$(LPM_INSTALL_DIR)/packages;::g' \ - -e s:prod:eval:g \ - ${S}/Makefile - - # Fix-up config.bld to swap out hardcoded references to tools paths - sed -i -e s:/opt/dmsw/cg6x_6_0_16:${TITOOLSDIR}/${TICGTOOLSDIR}:g \ - ${S}/config.bld - - # Add make target to allow package to be prepared for building (normally this package is a binary release) - echo "makebuildable: - \$(XDC) .make -PR . -" >> ${S}/Makefile - - oe_runmake makebuildable - oe_runmake clean - oe_runmake -} - -do_install () { - echo oe_runmake install - - install -d ${D}/${datadir}/ti-codec-combos - - cd ${S} - - # grab the server executables - for i in $(find . -name "*.x64P") ; do - install ${i} ${D}/${datadir}/ti-codec-combos - done - - # copy the generated data sheets as well for reference - #for i in $(find . -name "*.DataSheet.*") ; do - - # infact, just copy all the html files (including the server datasheets) from the distro - # - this includes top level html (with codec versions) + some qualiTI codec test reports - for i in $(find . -name "*.html") ; do - install ${i} ${D}/${datadir}/ti-codec-combos - done - -} - -do_stage () { - install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-combos - cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-combos - for codec in encode decode ; do - mkdir -p ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-combos/packages/ti/sdo/servers/$codec/package/info/${datadir}/ti-codec-combos - ln -sf ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-combos/packages/ti/sdo/servers/$codec/package/info/$codec* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-combos/packages/ti/sdo/servers/$codec/package/info/${datadir}/ti-codec-combos - done -} - -FILES_ti-codec-combos = "${datadir}/ti-codec-combos/*" - -INHIBIT_PACKAGE_STRIP = "1" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - diff --git a/recipes/ti/ti-codec-engine.inc b/recipes/ti/ti-codec-engine.inc new file mode 100644 index 0000000000..81dae36bda --- /dev/null +++ b/recipes/ti/ti-codec-engine.inc @@ -0,0 +1,27 @@ +DESCRIPTION = "Codec Engine for TI ARM/DSP processors" + +# compile time dependencies +DEPENDS = "ti-xdctools-native ti-xdais-native ti-linuxutils ti-framework-components" +DEPENDS_append_dm6446 = " ti-cgt6x-native ti-dspbios-native" +DEPENDS_append_omap3 = " ti-cgt6x-native ti-dspbios-native" + +BASE_SRC_URI = "http://install.source.dir.local" +SRC_URI = "${BASE_SRC_URI}/codec_engine_${PV},lite.tar.gz " + +# Set the source directory +S = "${WORKDIR}/codec_engine_${PV}" + +do_compile () { + echo "! Do not rebuild for now !" +} + +# stage tree - other packages may need this +do_stage() { + install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN} + cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/ +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" + + +INHIBIT_PACKAGE_STRIP = "1" diff --git a/recipes/ti/ti-codec-engine_2.21.bb b/recipes/ti/ti-codec-engine_2.21.bb deleted file mode 100644 index d0cd18e8e9..0000000000 --- a/recipes/ti/ti-codec-engine_2.21.bb +++ /dev/null @@ -1,278 +0,0 @@ -require dsplink.inc - -INSANE_SKIP_ti-codec-engine-apps = True -INSANE_SKIP_ti-dsplink-apps = True -INSANE_SKIP_${PN} = True - -DESCRIPTION = "Codec Engine for TI ARM/DSP processors" - -DEPENDS = "virtual/kernel perl-native" -RDEPENDS = "update-modules" - -inherit module - -# tconf from xdctools dislikes '.' in pwd :/ -PV = "221" - -# Get CE tarball from TI website, place in sources and calculate -# md5sum -# Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html - -SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21.tar.gz \ - file://cmem-class-device-27-and-sched-include-fix.patch;patch=1 \ - file://sdma-class-device-and-includes-fix.patch;patch=1 \ - file://dsplink-semaphore-27.patch;patch=1 \ - file://dsplink-add-class-device-create-support.patch;patch=1 \ - file://lpm-device-create-and-semaphore-include-fix.patch;patch=1 \ - file://lpm-make-symbol-warnings-fix.patch;patch=1 \ - file://Makefile-dsplink-gpp \ - file://Makefile-dsplink-dsp \ - file://loadmodules-ti-dsplink-apps.sh \ - file://unloadmodules-ti-dsplink-apps.sh \ - file://loadmodules-ti-codec-engine-apps.sh \ - file://unloadmodules-ti-codec-engine-apps.sh \ -" - -S = "${WORKDIR}/codec_engine_2_21" - -require ti-paths.inc - -export DSPLINK="${S}/cetools/packages/dsplink" - -PARALLEL_MAKE = "" - -# the include files on top define do_compile for the submodules -do_compile_append() { - -#dsplink already done from inclusion of require dsplink.inc - -#lpm bits - if [ -e ${S}/cetools/packages/ti/bios/power/ ] ; then - - # Build the DSP power manager kernel module - cd ${S}/cetools/packages/ti/bios/power/modules/${DSPPOWERSOC}/lpm - - # Still need to move this into the patch file - if [ $(echo ${KERNEL_VERSION} | cut -c5,6) -gt 26 ] ; then - sed -i -e s:asm/semaphore:linux/semaphore: lpm_driver.c - fi - - #what is this for? - rm -f *o - - # lpm also needs KERNEL_INSTALL_DIR and MVTOOL_PREFIX which come from ti-paths.inc - export DSPLINK_REPO=${DSPLINK}/.. - # should move the clean step into the clean stage.. - #oe_runmake clean - oe_runmake - fi - -#cmemk bits - if [ -e ${S}/cetools/packages/ti/sdo/linuxutils/cmem ] ; then - echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make - echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make - echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make - #export DSPLINK=${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/dsplink - - # Build the cmem kernel module and associated test apps - # We unset CFLAGS because kernel modules need different ones, this is basically a verbatim copy of kernel.bbclass and module-base.bbclass - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - - cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem - oe_runmake clean - oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \ - KERNEL_SRC=${STAGING_KERNEL_DIR} \ - KERNEL_VERSION=${KERNEL_VERSION} \ - CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ - AR="${KERNEL_AR}" - fi - -#sdma bits - if [ -e ${S}/cetools/packages/ti/sdo/linuxutils/sdma ] ; then - echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make - echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make - echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}" >> ${S}/Rules.make - - # Build the sdma kernel module and associated test apps - # We unset CFLAGS because kernel modules need different ones, this is basically a verbatim copy of kernel.bbclass and module-base.bbclass - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - - cd ${S}/cetools/packages/ti/sdo/linuxutils/sdma - oe_runmake clean - oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \ - KERNEL_SRC=${STAGING_KERNEL_DIR} \ - KERNEL_VERSION=${KERNEL_VERSION} \ - CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ - AR="${KERNEL_AR}" - fi - - -#need to add other modules here, like IRQ, etc - - -#now build the CE examples - cd ${S}/examples - - # Fix paths to arm crosstools, c6x codegen and x86 gcc - # Also disable uclibc and x86 builds - sed -i -e s:/db/toolsrc/library/tools/vendors/cs/arm/arm-2007q3:${CROSS_DIR}:g \ - -e s:/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux:${TITOOLSDIR}/${TICGTOOLSDIR}:g \ - -e s:/db/toolsrc/library/tools/vendors/opensource/gcc/4.1.0/Linux/gcc-4.1.0-glibc-2.3.6/i686-unknown-linux-gnu:/usr:g \ - -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \ - -e 's:true, // build for uC Linux:false,:g' \ - -e 's:true, // build for PC Linux:false,:g' \ - ${S}/examples/user.bld - - # For now, remove all targets, except dm6446 and omap3530 - sed -i \ - -e '/evmDM357/d' \ - -e '/evmDM6446/d' \ - -e '/evmDM6467/d' \ - -e '/evmDM355/d' \ - -e '/evmDM6437/d' \ - -e '/evmDM648/d' \ - -e '/sdp3430/d' \ - -e '/evm2530/d' \ - ${S}/examples/user.bld - - # Fix path to c6x codegen - sed -i -e s:/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux:${TITOOLSDIR}/${TICGTOOLSDIR}:g \ - xdcpaths.mak - - # Start building the CE examples: codecs, extensions, servers (codec bundles) and ARM side apps - # the DSP side uses CC to point to the c6x codegen, but would get the gcc tool - unset CC - - # Make clean doesn't do what you'd expect, it only cleans stuff you've enabled, so some cruft remains - - # First clean - for i in codecs extensions servers apps ; do - make -e -C ${S}/examples/ti/sdo/ce/examples/$i clean - done - - # Then build the examples - for i in codecs extensions servers apps ; do - make -e -C ${S}/examples/ti/sdo/ce/examples/$i - done -} - -do_install_append () { - #driver - kernel module - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - cp ${S}/cetools/packages/ti/bios/power/modules/${DSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp || true - cp ${S}/cetools/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp || true - cp ${S}/cetools/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp || true - - #library - #install -d ${D}/${libdir} - #install -m 0755 ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/dsplink.lib ${D}/${libdir} - - #sample apps - this is very 64x / v5T specific at the moment - we really need CE to give us this list... - install -d ${D}/${datadir}/ti-codec-engine - # we change pwd so that find gives us relative path to the files, which we use to create the same structure on the target - cd ${S}/examples/ti/sdo/ce - - #test app module un/load scripts - install ${WORKDIR}/loadmodules-ti-dsplink-apps.sh ${D}/${datadir}/ti-dsplink - install ${WORKDIR}/unloadmodules-ti-dsplink-apps.sh ${D}/${datadir}/ti-dsplink - - #ce samples - # first find all the app files named '.out' - for i in $(find . -name "*.out") ; do - # first create the directory - install -d ${D}/${datadir}/ti-codec-engine/`dirname ${i}` - # now copy the file - install ${i} ${D}/${datadir}/ti-codec-engine/`dirname ${i}` - done - - # next find all the app files named '.xv5T' - for i in $(find . -name "*.xv5T") ; do - # first create the directory - install -d ${D}/${datadir}/ti-codec-engine/`dirname ${i}` - # now copy the file - install ${i} ${D}/${datadir}/ti-codec-engine/`dirname ${i}` - done - - # then find all the app/server files named '.x64P' - for i in $(find . -name "*.x64P") ; do - # first create the directory - install -d ${D}/${datadir}/ti-codec-engine/`dirname ${i}` - # now copy the file - install ${i} ${D}/${datadir}/ti-codec-engine/`dirname ${i}` - done - - # finally find all the app files named '.dat' - for i in $(find . -name "*.dat") ; do - # first create the directory - install -d ${D}/${datadir}/ti-codec-engine/`dirname ${i}` - # now copy the file - install ${i} ${D}/${datadir}/ti-codec-engine/`dirname ${i}` - done - - #test app module un/load scripts - install ${WORKDIR}/loadmodules-ti-codec-engine-apps.sh ${D}/${datadir}/ti-codec-engine - install ${WORKDIR}/unloadmodules-ti-codec-engine-apps.sh ${D}/${datadir}/ti-codec-engine - - # we should install the CMEM apps as well here - - # finally, strip targets that we're not supporting here - # - TODO... -} - -PACKAGES =+ "ti-lpm-module ti-cmem-module ti-sdma-module ti-codec-engine-apps" - -FILES_ti-lpm-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko" -FILES_ti-cmem-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmemk.ko" -FILES_ti-sdma-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/sdmak.ko" -FILES_ti-codec-engine-apps = "${datadir}/ti-codec-engine/*" - -pkg_postinst_ti-lpm-module () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm_ti-lpm-module () { - update-modules || true -} - -pkg_postinst_ti-cmem-module () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm_ti-cmem-module () { - update-modules || true -} - -pkg_postinst_ti-sdma-module () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm_ti-sdma-module () { - update-modules || true -} - -INHIBIT_PACKAGE_STRIP = "1" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -#legacy upgrade helpers -RPROVIDES_ti-cmem-module += "ti-cmemk-module" -RREPLACES_ti-cmem-module += "ti-cmemk-module" - -# ti-dsplink-module can be built by either codec-engine or standalone dsplink - tell it to use this one, else unwanted dependence -PREFERRED_PROVIDER_ti-dsplink-module = "ti-codec-engine" - -#add run-time dependencies - note for kernel module we can only use RRECOMMENDS, since modules might be built into the kernel -RRECOMMENDS_ti-codec-engine-apps += "ti-dsplink-module ti-lpm-module ti-cmem-module ti-sdma-module" - diff --git a/recipes/ti/ti-codec-engine_2.23.1.bb b/recipes/ti/ti-codec-engine_2.23.1.bb deleted file mode 100644 index e002850a9e..0000000000 --- a/recipes/ti/ti-codec-engine_2.23.1.bb +++ /dev/null @@ -1,32 +0,0 @@ -DESCRIPTION = "Codec Engine 2.23.01 for TI ARM/DSP processors" - -# compile time dependencies -DEPENDS_dm6446-evm += "ti-xdctools-native ti-cgt6x-native ti-dspbios-native" -DEPENDS_omap3evm += "ti-cgt6x-native ti-dspbios-native ti-xdctools-native" -DEPENDS_armv7a += "ti-cgt6x-native ti-dspbios-native ti-xdctools-native" -DEPENDS_dm355-evm += "ti-xdctools-native" - -# tconf from xdctools dislikes '.' in pwd :/ -PR = "r16" -PV = "2231" - -# Download codec_engine_2_23_01.tar.gz from https://www-a.ti.com/downloads/sds_support/targetcontent/CE/ce_2_23/index.html and copy in Arago (or OE) download directory. - -SRC_URI = "http://install.source.dir.local/codec_engine_2_23_01.tar.gz " - -# Set the source directory -S = "${WORKDIR}/codec_engine_2_23_01" - -do_compile () { - echo "! Do not rebuild for now !" -} - -# stage tree - other packages may need this -do_stage() { - install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN} - cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/ -} - -PACKAGE_ARCH = "${MACHINE_ARCH}" -INHIBIT_PACKAGE_STRIP = "1" - diff --git a/recipes/ti/ti-codec-engine_2.24.01.bb b/recipes/ti/ti-codec-engine_2.24.01.bb index 9be02046a4..ae0197e3d2 100644 --- a/recipes/ti/ti-codec-engine_2.24.01.bb +++ b/recipes/ti/ti-codec-engine_2.24.01.bb @@ -3,14 +3,14 @@ DESCRIPTION = "Codec Engine 2.24.01 for TI ARM/DSP processors" require ti-paths.inc # compile time dependencies -DEPENDS = "ti-xdctools-native" +DEPENDS = "ti-framework-components ti-xdais-native ti-xdctools-native ti-cgt6x-native" -DEPENDS_append_dm6446-evm = " ti-cgt6x-native ti-dspbios-native ti-dsplink-module" -DEPENDS_append_armv7a = " ti-cgt6x-native ti-dspbios-native ti-dsplink-module" +DEPENDS_append_dm6446 = " ti-dspbios-native ti-linuxutils ti-dsplink-module" +DEPENDS_append_omap3 = " ti-dspbios-native ti-linuxutils ti-dsplink-module" # tconf from xdctools dislikes '.' in pwd :/ PR = "r7" -PV = "2241" +PV = "2_24_01" SRC_URI = "http://install.source.dir.local/codec_engine_2_24_01.tar.gz " @@ -18,19 +18,18 @@ SRC_URI = "http://install.source.dir.local/codec_engine_2_24_01.tar.gz " S = "${WORKDIR}/codec_engine_2_24_01" # Define Device variable -DEVICES_dm6446-evm ?= "DM6446" - -# define gppos variable -GPPOS_dm6446-evm ?= "LINUX_GCC" +DEVICES_dm6446 ?= "DM6446" +DEVICES_omap3 ?= "OMAP3530" +DEVICES_dm355 ?= "DM355" #define PROGRAM variables -PROGRAMS = "APP_CLIENT DSP_SERVER" +PROGRAMS ?= "APP_CLIENT DSP_SERVER" +PROGRAMS_dm355 = "APP_LOCAL" LINK_INSTALL_DIR="${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-dsplink-module/packages" -DSPBIOS_DIR="${STAGING_DIR_NATIVE}/ti-dspbios-native" -CGT6x_DIR="${STAGING_DIR_NATIVE}/ti-cgt6x-native" -XDCTOOLS_DIR="${STAGING_DIR_NATIVE}/ti-xdctools-native" -CE_INSTALL_DIR="${S}" +CGT6x_DIR = "${STAGING_DIR_NATIVE}/ti-cgt6x-native" +XDCTOOLS_DIR = "${STAGING_DIR_NATIVE}/ti-xdctools-native" +CE_INSTALL_DIR = "${S}" do_compile () { @@ -38,35 +37,34 @@ do_compile () { -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \ ${S}/examples/xdcpaths.mak - for i in codecs extensions servers apps ; do - cd ${S}/examples/ti/sdo/ce/examples/$i - make DEVICES="${DEVICES}" \ - GPPOS="${GPPOS}" \ - PROGRAMS="${PROGRAMS}" \ - CE_INSTALL_DIR="${CE_INSTALL_DIR}" \ - XDC_INSTALL_DIR="${XDCTOOLS_DIR}" \ - BIOS_INSTALL_DIR="${DSPBIOS_DIR}"\ - DSPLINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ - XDAIS_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ - FC_INSTALL_DIR="${FC_INSTALL_DIR}" \ - CMEM_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ - LPM_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ - EDMA3_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ - FC_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ - CGTOOLS_V5T="${CROSS_DIR}"\ - CGTOOLS_C64P="${CGT6x_DIR}" \ - clean all - done + for i in codecs extensions servers apps ; do + cd ${S}/examples/ti/sdo/ce/examples/$i + make DEVICES="${DEVICES}" \ + GPPOS="${GPPOS}" \ + PROGRAMS="${PROGRAMS}" \ + CE_INSTALL_DIR="${CE_INSTALL_DIR}" \ + XDC_INSTALL_DIR="${XDCTOOLS_DIR}" \ + BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}"\ + DSPLINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ + XDAIS_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ + FC_INSTALL_DIR="${FC_INSTALL_DIR}" \ + CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ + LPM_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ + EDMA3_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ + CGTOOLS_V5T="${CROSS_DIR}"\ + CGTOOLS_C64P="${CGT6x_DIR}" \ + clean all + done } do_install() { install -d ${D}/${installdir}/codec-engine-apps - cp ${S}/examples/apps/system_files/${DEVICES}/loadmodules.sh ${D}/${installdir}/codec-engine-apps + cp ${S}/examples/apps/system_files/${DEVICES}/loadmodules.sh ${D}/${installdir}/codec-engine-apps sed -i 's/insmod/modprobe/g' ${D}/${installdir}/codec-engine-apps/loadmodules.sh cd ${S}/examples/ti/sdo/ce/examples - for i in $(find . -name "*.xv5T"); do + for i in $(find . -name "*.xv5T"); do install -d ${D}/${installdir}/codec-engine-apps/`dirname ${i} | cut -f3 -d /` install ${i} ${D}/${installdir}/codec-engine-apps/`dirname ${i} | cut -f3 -d /` diff --git a/recipes/ti/ti-codec-engine_2.25.01.bb b/recipes/ti/ti-codec-engine_2.25.01.bb new file mode 100644 index 0000000000..5a5c7d3d44 --- /dev/null +++ b/recipes/ti/ti-codec-engine_2.25.01.bb @@ -0,0 +1,7 @@ +require ti-codec-engine.inc + +DEFAULT_PREFERENCE = "-1" + +PV = "2_25_00_01" +PR = "r20" + diff --git a/recipes/ti/ti-codecs-dm355.inc b/recipes/ti/ti-codecs-dm355.inc new file mode 100644 index 0000000000..8a95dc3751 --- /dev/null +++ b/recipes/ti/ti-codecs-dm355.inc @@ -0,0 +1,37 @@ +DESCRIPTION = "DM355 Codecs" + +BASE_SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/codecs" +SRC_URI = "${BASE_SRC_URI}/dm355_codecs_setuplinux_${PV}.bin \ + file://mapdmaq \ + " + +S = "${WORKDIR}/dm355_codecs_${PV}" + +require ti-paths.inc + +BINFILE = "dm355_codecs_setuplinux_${PV}.bin" +TI_BIN_UNPK_CMDS = "Y:Y: qY:workdir" + +require ti-eula-unpack.inc + +do_compile() { + echo "Do nothing" +} + +do_install () { + # install mapdmaq on target + install -d ${D}/${installdir}/codecs + install -m 0755 ${WORKDIR}/mapdmaq ${D}/${installdir}/codecs +} + +do_stage() { + install -d ${CODEC_INSTALL_DIR} + cp -pPrf ${S}/* ${CODEC_INSTALL_DIR} +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +FILES_${PN} = "${installdir}/codecs/mapdmaq" + +INHIBIT_PACKAGE_STRIP = "1" +INSANE_SKIP_${PN} = "True" diff --git a/recipes/ti/ti-codecs-dm355_1.13.bb b/recipes/ti/ti-codecs-dm355_1.13.bb new file mode 100644 index 0000000000..bb7adbdb8e --- /dev/null +++ b/recipes/ti/ti-codecs-dm355_1.13.bb @@ -0,0 +1,6 @@ +PV = "1_13_000" +PR = "r16" + +require ti-codecs-dm355.inc + + diff --git a/recipes/ti/ti-codecs-dm365.inc b/recipes/ti/ti-codecs-dm365.inc new file mode 100644 index 0000000000..b3166bef67 --- /dev/null +++ b/recipes/ti/ti-codecs-dm365.inc @@ -0,0 +1,26 @@ +DESCRIPTION = "DM365 Codecs" + +BASE_SRC_URI = "http://install.source.dir.local" +SRC_URI = "${BASE_SRC_URI}/dm365_codecs_${PV}.tar.gz" + +S = "${WORKDIR}/dm365_codecs_${PV}" + +do_compile() { + echo "Do nothing" +} + +do_install () { + # install mapdmaq on target + install -d ${D}/${installdir}/codecs +} + +do_stage() { + install -d ${CODEC_INSTALL_DIR} + cp -pPrf ${S}/* ${CODEC_INSTALL_DIR} +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" +FILES_${PN} = "${installdir}/codecs" +INHIBIT_PACKAGE_STRIP = "1" +INSANE_SKIP_${PN} = True + diff --git a/recipes/ti/ti-codecs-dm365_1.0.6.bb b/recipes/ti/ti-codecs-dm365_1.0.6.bb new file mode 100644 index 0000000000..59f57223a9 --- /dev/null +++ b/recipes/ti/ti-codecs-dm365_1.0.6.bb @@ -0,0 +1,6 @@ + +PV = "01_00_06" + +require ti-codecs-dm365.inc + + diff --git a/recipes/ti/ti-codec-combo-dm6446_2.05.bb b/recipes/ti/ti-codecs-dm6446_2.05.bb index 07d9dffe6b..63a57fef8f 100644 --- a/recipes/ti/ti-codec-combo-dm6446_2.05.bb +++ b/recipes/ti/ti-codecs-dm6446_2.05.bb @@ -1,12 +1,14 @@ -DEPENDS="ti-codec-engine ti-dsplink-module" +DEPENDS="ti-codec-engine ti-linuxutils" require ti-codec.inc -require ti-codec-combo-dm6446.inc SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/S1SDKLNX/DVSDK_2_00/exports/dm6446_codecs_setuplinux_2_00_00_22.bin" S = "${WORKDIR}/dvsdk_2_00_00_22/dm6446_dvsdk_combos_2_05" BINFILE = "dm6446_codecs_setuplinux_2_00_00_22.bin" +TI_BIN_UNPK_CMDS="Y: qY:workdir:Y" + +require ti-eula-unpack.inc export ${CODEGEN_INSTALL_DIR} diff --git a/recipes/ti/ti-cs1-omap3530_1.0.1.bb b/recipes/ti/ti-codecs-omap3530_1.01.bb index 9779c33b71..104b128282 100644 --- a/recipes/ti/ti-cs1-omap3530_1.0.1.bb +++ b/recipes/ti/ti-codecs-omap3530_1.01.bb @@ -1,19 +1,21 @@ require ti-codec.inc -require ti-cs1-omap3530.inc SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_00/latest//exports/cs1omap3530_setuplinux_1_00_01-42.bin" # Specify names of the InstallJammer binary file and the tarball it extracts BINFILE = "cs1omap3530_setuplinux_1_00_01-42.bin" +TI_BIN_UNPK_CMDS = "Y:Y: qY:workdir" + +require ti-eula-unpack.inc S = "${WORKDIR}/dvsdk_3_00_01_42/cs1omap3530_1_00_01" -DEPENDS="ti-codec-engine ti-dsplink-module" +DEPENDS="ti-codec-engine ti-linuxutils" export CODEGEN_INSTALL_DIR # Yes, the xdc stuff still breaks with a '.' in PWD -PV = "101" +PV = "1_00_1" PR = "r5" do_compile() { diff --git a/recipes/ti/ti-codec-combo-omapl137_1.0.bb b/recipes/ti/ti-codecs-omapl137_1.0.bb index 25baa694f5..269f9a3e00 100644 --- a/recipes/ti/ti-codec-combo-omapl137_1.0.bb +++ b/recipes/ti/ti-codecs-omapl137_1.0.bb @@ -6,7 +6,7 @@ SRC_URI = "http://install.source.dir.local/omapl137_dvsdk_combos_1_0.tar.gz" S = "${WORKDIR}/omapl137_dvsdk_combos_1_0" # Yes, the xdc stuff still breaks with a '.' in PWD -PV = "100" +PV = "1_0" PR = "r1" do_compile() { diff --git a/recipes/ti/ti-cs1-omap3530.inc b/recipes/ti/ti-cs1-omap3530.inc deleted file mode 100644 index cb9696d61d..0000000000 --- a/recipes/ti/ti-cs1-omap3530.inc +++ /dev/null @@ -1,41 +0,0 @@ - -# This file defines function used for extracting .bin file - -python do_unpack () { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('ti_bin_do_unpack', d) -} - -python ti_bin_do_unpack() { - - import os - - localdata = bb.data.createCopy(d) - bb.data.update_data(localdata) - - binfile = bb.data.getVar('BINFILE', localdata) - - # Change to the working directory - save_cwd = os.getcwd() - workdir = bb.data.getVar('WORKDIR', localdata) - workdir = bb.data.expand(workdir, localdata) - os.chdir(workdir) - - # Make the InstallJammer binary executable so we can run it - os.chmod(binfile, 0755) - - # Run the InstallJammer binary and accept the EULA - filename = "HOME=%s ./%s" % (workdir, binfile) - f = os.popen(filename,'w') - print >>f, "Y\n" - print >>f, "Y\n" - print >>f, " \n" - print >>f, "qY\n" - print >>f, "%s\n" % workdir - - f.close() - - # Return to the previous directory - os.chdir(save_cwd) -} - diff --git a/recipes/ti/ti-dm355mm-module_1.13.bb b/recipes/ti/ti-dm355mm-module_1.13.bb index 59cbd69e10..6941d0c741 100644 --- a/recipes/ti/ti-dm355mm-module_1.13.bb +++ b/recipes/ti/ti-dm355mm-module_1.13.bb @@ -1,25 +1,19 @@ DESCRIPTION = "User space DMA module for DM355" -require ti-codec-combo-dm355.inc +require ti-codecs-dm355.inc inherit module -# compile and run time dependencies -DEPENDS = "virtual/kernel perl-native" -RDEPENDS = "update-modules" +PV = "1_13_000" -SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/codecs/dm355_codecs_setuplinux_1_13_000.bin \ - file://dm355mm_1_30.patch;patch=1 \ +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/codecs/dm355_codecs_setuplinux_${PV}.bin \ + file://dm355mm.patch;patch=1 \ " +S = "${WORKDIR}/dm355_codecs_${PV}" +BINFILE="dm355_codecs_setuplinux_${PV}.bin" -S = "${WORKDIR}/dm355_codecs_1_13_000" -BINFILE = "dm355_codecs_setuplinux_1_13_000.bin" - -# Yes, the xdc stuff still breaks with a '.' in PWD -PV = "113" #This is a kernel module, don't set PR directly MACHINE_KERNEL_PR_append = "a" - do_configure() { find ${S} -name "*.ko" -exec rm {} \; || true sed -i -e s:include:#include:g ${S}/dm355mm/Rules.make @@ -39,19 +33,4 @@ do_install () { install -m 0755 ${S}/dm355mm/module/dm350mmap.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp } -pkg_postinst () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm () { - update-modules || true -} - INHIBIT_PACKAGE_STRIP = "1" -FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/dm350mmap.ko" - - diff --git a/recipes/ti/ti-dm365mm-module.inc b/recipes/ti/ti-dm365mm-module.inc new file mode 100644 index 0000000000..55f48f137e --- /dev/null +++ b/recipes/ti/ti-dm365mm-module.inc @@ -0,0 +1,28 @@ +DESCRIPTION = "User space DMA module for DM365" + +BASE_SRC_URI = "http://install.source.dir.local" + +SRC_URI = "${BASE_SRC_URI}/dm365mm_${PV}.tar.gz " + +S = "${WORKDIR}/dm365mm_${PV}" + +inherit module + +do_compile() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + + find ${S} -name "*.ko" -exec rm {} \; || true + cd ${S}/module + make \ + LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ + MVTOOL_PREFIX="${TARGET_PREFIX}"; +} + +do_install () { + install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp + install -m 0755 ${S}/module/dm365mmap.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp +} + +INHIBIT_PACKAGE_STRIP = "1" +INSANE_SKIP_${PN} = True + diff --git a/recipes/ti/ti-dm365mm-module_1.0.1.bb b/recipes/ti/ti-dm365mm-module_1.0.1.bb new file mode 100644 index 0000000000..d929350204 --- /dev/null +++ b/recipes/ti/ti-dm365mm-module_1.0.1.bb @@ -0,0 +1,9 @@ + +require ti-dm365mm-module.inc + +PV = "01_00_01" + +#This is a kernel module, don't set PR directly +MACHINE_KERNEL_PR_append = "a" + + diff --git a/recipes/ti/ti-dmai.inc b/recipes/ti/ti-dmai.inc index 3aafd47cf1..c52e46aaf1 100644 --- a/recipes/ti/ti-dmai.inc +++ b/recipes/ti/ti-dmai.inc @@ -1,15 +1,20 @@ DESCRIPTION = "DMAI for TI ARM/DSP processors" -# NOTE: Use Brijesh' DMAI development branch. The URL *must* be updated once -# we have stable DMAI 2.x on gforge. -SRCREV = "342" -SRC_URI = "svn://gforge.ti.com/svn/dmai/branches;module=BRANCH_BRIJESH_DMAI_DEV_2_xx;proto=https;user=anonymous;pswd='' \ +BRANCH = "BRANCH_BRIJESH_DMAI_DEV_2_xx" +BRANCH_6467 = "GITPSP_INT_101009" + +SRCREV = "364" + +SRC_URI = "svn://gforge.ti.com/svn/dmai/branches;module=${BRANCH};proto=https;user=anonymous;pswd='' \ file://loadmodules-ti-dmai-dm355_al.sh \ + file://loadmodules-ti-dmai-dm365_al.sh \ file://loadmodules-ti-dmai-dm6446_al.sh \ file://loadmodules-ti-dmai-o3530_al.sh \ " -S = "${WORKDIR}/BRANCH_BRIJESH_DMAI_DEV_2_xx/davinci_multimedia_application_interface" +S = "${WORKDIR}/${BRANCH}/davinci_multimedia_application_interface" + # Yes, the xdc stuff still breaks with a '.' in PWD PV = "svnr${SRCREV}" +INHIBIT_PACKAGE_STRIP = "1" diff --git a/recipes/ti/ti-dmai_svn.bb b/recipes/ti/ti-dmai_svn.bb index a204120fc2..1fa03e22fa 100644 --- a/recipes/ti/ti-dmai_svn.bb +++ b/recipes/ti/ti-dmai_svn.bb @@ -7,19 +7,24 @@ inherit module-base MACHINE_KERNEL_PR_append = "c" # compile time dependencies -DEPENDS_omap3evm += "alsa-lib ti-codec-engine ti-xdctools-native ti-dspbios-native ti-cgt6x-native ti-cs1-omap3530 virtual/kernel ti-dsplink-module" -DEPENDS_armv7a += "alsa-lib ti-codec-engine ti-xdctools-native ti-dspbios-native ti-cgt6x-native ti-cs1-omap3530 virtual/kernel ti-dsplink-module " -DEPENDS_dm6446-evm += "alsa-lib ti-codec-engine ti-xdctools-native ti-dspbios-native ti-cgt6x-native ti-codec-combo-dm6446 virtual/kernel ti-dsplink-module " -DEPENDS_dm355-evm += "alsa-lib ti-codec-engine ti-xdctools-native ti-codec-combo-dm355 virtual/kernel" -DEPENDS_da830-omapl137-evm += "alsa-lib ti-codec-engine ti-xdctools-native ti-dspbios-native ti-cgt6x-native ti-codec-combo-omapl137 virtual/kernel ti-dsplink-module " +DEPENDS = "alsa-lib ti-framework-components ti-codec-engine ti-xdctools-native" + +DEPENDS_append_omap3 = " ti-dspbios-native ti-cgt6x-native ti-codecs-omap3530 virtual/kernel ti-linuxutils" +DEPENDS_append_dm6446 = " ti-dspbios-native ti-cgt6x-native ti-codecs-dm6446 virtual/kernel ti-linuxutils" +DEPENDS_append_dm355 = " ti-codecs-dm355 virtual/kernel" +DEPENDS_append_dm365 = " ti-codecs-dm365 virtual/kernel" +DEPENDS_append_omapl137 = " ti-dspbios-native ti-cgt6x-native ti-codecs-omapl137 virtual/kernel ti-linuxutils" +DEPENDS_append_omapl138 = " ti-dspbios-native ti-cgt6x-native ti-codecs-omapl138 virtual/kernel ti-linuxutils" # Define DMAI build time variables -TARGET ?= "all" -TARGET_armv7a ?= "o3530_al" -TARGET_dm6446-evm ?= "dm6446_al" -TARGET_da830-omapl137-evm ?= "ol137_al" +TARGET_omap3 = "o3530_al" +TARGET_dm6446 = "dm6446_al" +TARGET_omapl137 = "ol137_al" +TARGET_omapl138 = "ol138_al" +TARGET_dm355 = "dm355_al" +TARGET_dm365 = "dm365_al" +TARGET ?= "all" -DSPBIOS_DIR = "${STAGING_DIR_NATIVE}/ti-dspbios-native" CGT6x_DIR = "${STAGING_DIR_NATIVE}/ti-cgt6x-native" XDCTOOLS_DIR = "${STAGING_DIR_NATIVE}/ti-xdctools-native" USER_XDC_PATH = "${CE_INSTALL_DIR}/examples" @@ -31,7 +36,7 @@ do_configure () { # PSP kernel is based on older DSS. we need to replace linux/omapfb.h with # mach/omapfb.h - if [ ${MACHINE} == "omap3evm" ] ; then + if ![ -e ${STAGING_KERNEL_DIR}/include/linux/omapfb.h ] ; then sed -i -e s:linux/omapfb:mach/omapfb:g ${S}/dmai/packages/ti/sdo/dmai/linux/Display_fbdev.c sed -i -e s:linux/omapfb:mach/omapfb:g ${S}/dmai/packages/ti/sdo/dmai/linux/priv/_Display.h fi @@ -42,9 +47,9 @@ do_compile () { unset DMAI_INSTALL_DIR cd ${S} - make XDC_INSTALL_DIR="${XDCTOOLS_DIR}" clean + make XDC_INSTALL_DIR="${XDCTOOLS_DIR}" PLATFORM="${TARGET}" clean - # TODO: Figure out how to pass the alsa include location, currently + # TODO: Figure out how to pass the alsa require location, currently # LINUXLIBS_INSTALL_DIR is hard-coded for armv5te make CE_INSTALL_DIR="${CE_INSTALL_DIR}" \ CODEC_INSTALL_DIR="${CODEC}" \ @@ -52,14 +57,14 @@ do_compile () { LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ XDC_INSTALL_DIR="${XDCTOOLS_DIR}" \ CODEGEN_INSTALL_DIR="${CGT6x_DIR}" \ - BIOS_INSTALL_DIR="${DSPBIOS_DIR}"\ + BIOS_INSTALL_DIR="${BIOS_INSTALL_DIR}"\ LINUXLIBS_INSTALL_DIR="${STAGING_DIR_HOST}/usr" \ USER_XDC_PATH="${USER_XDC_PATH}" \ CROSS_COMPILE="${CROSS_DIR}/bin/${TARGET_PREFIX}" \ VERBOSE="true" \ - XDAIS_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ + XDAIS_INSTALL_DIR="${XDAIS_INSTALL_DIR}" \ LINK_INSTALL_DIR="${LINK_INSTALL_DIR}" \ - CMEM_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ + CMEM_INSTALL_DIR="${CMEM_INSTALL_DIR}" \ LPM_INSTALL_DIR="${CE_INSTALL_DIR}/cetools" \ PLATFORM="${TARGET}" } @@ -97,9 +102,9 @@ FILES_ti-dmai-apps = "${installdir}/dmai-apps/*" FILES_ti-dmai-tests = "${installdir}/dmai-tests/*" # run time dependencies -RDEPENDS_ti-dmai-apps_dm355-evm += "ti-dm355mm-module ti-cmem-module ti-codec-combo-dm355" -RDEPENDS_ti-dmai-apps_dm6446-evm += "ti-cmem-module ti-dsplink-module ti-codec-combo-dm6446" -RDEPENDS_ti-dmai-apps_omap3evm += "ti-cmem-module ti-dsplink-module ti-cs1-omap3530 ti-lpm-module ti-sdma-module" -RDEPENDS_ti-dmai-apps_armv7a += "ti-cmem-module ti-dsplink-module ti-cs1-omap3530 ti-lpm-module ti-sdma-module" -RDEPENDS_ti-dmai-apps_da830-omapl137-evm += "ti-cmem-module ti-dsplink-module ti-codec-combo-ol137" +RDEPENDS_ti-dmai-apps_dm355 += "ti-dm355mm-module ti-cmem-module ti-codecs-dm355" +RDEPENDS_ti-dmai-apps_dm6446 += "ti-cmem-module ti-dsplink-module ti-codecs-dm6446" +RDEPENDS_ti-dmai-apps_omap3 += "ti-cmem-module ti-dsplink-module ti-codecs-omap3530 ti-lpm-module ti-sdma-module" +RDEPENDS_ti-dmai-apps_omapl137 += "ti-cmem-module ti-dsplink-module ti-codecs-omapl137" +RDEPENDS_ti-dmai-apps_omapl138 += "ti-cmem-module ti-dsplink-module ti-codecs-omapl138" diff --git a/recipes/ti/ti-dspbios-native_5.33.02.bb b/recipes/ti/ti-dspbios-native_5.33.02.bb index 02c2d5690f..e1cf5fbee6 100644 --- a/recipes/ti/ti-dspbios-native_5.33.02.bb +++ b/recipes/ti/ti-dspbios-native_5.33.02.bb @@ -1,7 +1,7 @@ require ti-dspbios.inc inherit native -# download bios_setuplinux_5_33_02.bin from https://www-a.ti.com/downloads/sds_support/targetcontent/bios/bios_5_33/bios_5_33_02/index_external.html and copy in Arago (or OE) installation directory +# download bios_setuplinux_5_33_02.bin from https://www-a.ti.com/downloads/sds_support/targetcontent/bios/bios_5_33/bios_5_33_02/index_external.html and copy in Arago/OE installation directory SRC_URI = "http://install.source.dir.local/bios_setuplinux_5_33_02.bin" BINFILE="bios_setuplinux_5_33_02.bin" diff --git a/recipes/ti/ti-dspbios.inc b/recipes/ti/ti-dspbios.inc index 9e79216554..08d797a6e3 100644 --- a/recipes/ti/ti-dspbios.inc +++ b/recipes/ti/ti-dspbios.inc @@ -1,40 +1,6 @@ DESCRIPTION = "TI DSP/BIOS for Davinci and OMAP processor" -# This file defines function used for extracting .bin file +TI_BIN_UNPK_CMDS="Y: qY:workdir:Y" -python do_unpack () { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('ti_bin_do_unpack', d) -} - -python ti_bin_do_unpack() { - - import os - - localdata = bb.data.createCopy(d) - bb.data.update_data(localdata) - - binfile = bb.data.getVar('BINFILE', localdata) - - # Change to the working directory - save_cwd = os.getcwd() - workdir = bb.data.getVar('WORKDIR', localdata) - workdir = bb.data.expand(workdir, localdata) - os.chdir(workdir) - - # Make the InstallJammer binary executable so we can run it - os.chmod(binfile, 0755) - - # Run the InstallJammer binary and accept the EULA - filename = "HOME=%s ./%s" % (workdir, binfile) - f = os.popen(filename,'w') - print >>f, "Y\n" - print >>f, " qY\n" - print >>f, "%s\n" % workdir - print >>f, "Y\n" - f.close() - - # Return to the previous directory - os.chdir(save_cwd) -} +require ti-eula-unpack.inc diff --git a/recipes/ti/ti-dsplink-module_1.61.3.bb b/recipes/ti/ti-dsplink-module_1.61.3.bb index 2cdf1a8e28..41fd212a0d 100644 --- a/recipes/ti/ti-dsplink-module_1.61.3.bb +++ b/recipes/ti/ti-dsplink-module_1.61.3.bb @@ -6,10 +6,11 @@ inherit module # compile and run time dependencies DEPENDS += "virtual/kernel perl-native ti-dspbios-native ti-cgt6x-native update-modules ti-xdctools-native" -# tconf from xdctools dislikes '.' in pwd :/ #This is a kernel module, don't set PR directly MACHINE_KERNEL_PR_append = "b" -PV = "1613" + +# tconf from xdctools dislikes '.' in pwd :/ +PV = "1_61_03" SRC_URI = "http://install.source.dir.local/dsplink_1_61_03.tar.gz \ file://loadmodules-ti-dsplink-apps.sh \ @@ -20,16 +21,16 @@ S = "${WORKDIR}/dsplink_1_61_03" # DSPLINK - Config Variable for different platform DSPLINKPLATFORM ?= "DAVINCI" -DSPLINKPLATFORM_dm6446-evm ?= "DAVINCI" -DSPLINKPLATFORM_da830-omapl137-evm ?= "OMAPL1XX" +DSPLINKPLATFORM_dm6446 ?= "DAVINCI" +DSPLINKPLATFORM_omapl137 ?= "OMAPL1XX" DSPLINKDSPCFG ?= "DM6446GEMSHMEM" -DSPLINKDSPCFG_dm6446-evm ?= "DM6446GEMSHMEM" -DSPLINKDSPCFG_da830-omapl137-evm ?= "OMAPL1XXGEMSHMEM" +DSPLINKDSPCFG_dm6446 ?= "DM6446GEMSHMEM" +DSPLINKDSPCFG_omapl137 ?= "OMAPL1XXGEMSHMEM" DSPLINKGPPOS ?= "MVL5G" -DSPLINKGPPOS_dm6446-evm ?= "MVL5G" -DSPLINKGPPOS_da830-omapl137-evm ?= "MVL5G" +DSPLINKGPPOS_dm6446 ?= "MVL5G" +DSPLINKGPPOS_omapl137 ?= "MVL5G" DSPLINK = "${S}/dsplink" export DSPLINK @@ -65,7 +66,7 @@ do_compile() { # Build the gpp user space library cd ${DSPLINK}/gpp/src/api - ${STAGING_TI_XDCTOOL_INSTALL_DIR}/gmake \ + make \ CROSS_COMPILE="${TARGET_PREFIX}" \ CC="${KERNEL_CC}" \ AR="${KERNEL_AR}" \ @@ -77,7 +78,7 @@ do_compile() { # Build the gpp kernel space (debug and release) cd ${DSPLINK}/gpp/src - ${STAGING_TI_XDCTOOL_INSTALL_DIR}/gmake \ + make \ OBJDUMP="${TARGET_PREFIX}objdump" \ CROSS_COMPILE="${TARGET_PREFIX}" \ CC="${KERNEL_CC}" \ @@ -90,7 +91,7 @@ do_compile() { # Build the gpp samples cd ${DSPLINK}/gpp/src/samples - ${STAGING_TI_XDCTOOL_INSTALL_DIR}/gmake \ + make \ BASE_TOOLCHAIN="${CROSS_DIR}" \ BASE_CGTOOLS="${BASE_TOOLCHAIN}/bin" \ OSINC_PLATFORM="${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include" \ @@ -107,14 +108,14 @@ do_compile() { # Build the dsp library (debug and release) cd ${DSPLINK}/dsp/src - ${STAGING_TI_XDCTOOL_INSTALL_DIR}/gmake \ + make \ BASE_CGTOOLS="${STAGING_TI_CGT6x_DIR}" \ BASE_SABIOS="${STAGING_TI_DSPBIOS_DIR}" \ clean all # Build the dsp samples (debug and release) cd ${DSPLINK}/dsp/src/samples - ${STAGING_TI_XDCTOOL_INSTALL_DIR}/gmake \ + make \ BASE_CGTOOLS="${STAGING_TI_CGT6x_DIR}" \ BASE_SABIOS="${STAGING_TI_DSPBIOS_DIR}" \ clean all @@ -148,22 +149,9 @@ do_stage () { cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/packages } -pkg_postrm () { - update-modules || true -} - -pkg_postinst () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - INHIBIT_PACKAGE_STRIP = "1" PACKAGES += " ti-dsplink-apps" -FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*" FILES_ti-dsplink-apps = "${installdir}/dsplink/*" # Disable QA check untils we figure out how to pass LDFLAGS in build diff --git a/recipes/ti/ti-dvsdk-demos.inc b/recipes/ti/ti-dvsdk-demos.inc new file mode 100644 index 0000000000..44770c5207 --- /dev/null +++ b/recipes/ti/ti-dvsdk-demos.inc @@ -0,0 +1,41 @@ +DESCRIPTION = "DVSDK Demo applications for TI ARM/DSP processors" + +DEPENDS += "ti-dmai" +DEPENDS += "alsa-lib libpng freetype jpeg" + +SRC_URI = "${BASE_SRC_URI}/dvsdk_demos_${PV}.tar.gz " + +S = "${WORKDIR}/dvsdk_demos_${PV}" + +inherit module-base +require ti-multimedia-common.inc + +# Should go into machine config +TARGET ?= "all" +TARGET_dm355 ?= "dm355" +TARGET_dm365-evm ?= "dm365" + +VERBOSE = "true" + +do_compile () { + cd ${S} + make -e clean + make -e ${PLATFORM} +} +do_install () { + cd ${S} + make -e ${TARGET} EXEC_DIR=${D}/${installdir}/dvsdk-demos install +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +RDEPENDS_ti-dvsdk-demos_dm355 += "ti-dm355mm-module ti-linuxutils alsa-lib libpng freetype jpeg" +RDEPENDS_ti-dvsdk-demos_dm365-evm += "ti-dm365mm-module ti-linuxutils alsa-lib libpng freetype jpeg" + +FILES_${PN} = "${installdir}/dvsdk-demos/*" + + +BASE_SRC_URI ?= "http://install.source.dir.local" + +INHIBIT_PACKAGE_STRIP = "1" +INSANE_SKIP_${PN} = "True" diff --git a/recipes/ti/ti-dvsdk-demos_3.10.00.00.bb b/recipes/ti/ti-dvsdk-demos_3.10.00.00.bb new file mode 100644 index 0000000000..d724993130 --- /dev/null +++ b/recipes/ti/ti-dvsdk-demos_3.10.00.00.bb @@ -0,0 +1,5 @@ +require ti-dvsdk-demos.inc + +PV ?= "3_10_00_00" + + diff --git a/recipes/ti/ti-eula-unpack.inc b/recipes/ti/ti-eula-unpack.inc new file mode 100644 index 0000000000..1c5a776e0b --- /dev/null +++ b/recipes/ti/ti-eula-unpack.inc @@ -0,0 +1,62 @@ +# This file defines function used for unpacking the .bin file downloaded over +# the http and display EULA. +# BINFILE - name of the install jammer .bin file +# TARFILE - name of the tar file inside the install jammer +# TI_BIN_UNPK_CMDS - contains list of commands separated with colon to be +# passed while unpacking the bin file. The keyword +# workdir expands to WORKDIR and commands are appendded +# with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir" +# TI_BIN_UNPK_WDEXT - This variable extends workdir path, if user wants to put +# the output in some internal directory + +python do_unpack () { + bb.build.exec_func('base_do_unpack', d) + bb.build.exec_func('ti_bin_do_unpack', d) +} + +TI_BIN_UNPK_WDEXT += "" +python ti_bin_do_unpack() { + + import os + + localdata = bb.data.createCopy(d) + bb.data.update_data(localdata) + + binfile = bb.data.getVar('BINFILE', localdata) + binfile = bb.data.expand(binfile, localdata) + + # Change to the working directory + save_cwd = os.getcwd() + workdir = bb.data.getVar('WORKDIR', localdata) + workdir = bb.data.expand(workdir, localdata) + os.chdir(workdir) + + # Get unpack commands + cmd_string = bb.data.getVar('TI_BIN_UNPK_CMDS', localdata) + cmd_list = cmd_string.split( ":" ) + + # Make the InstallJammer binary executable so we can run it + os.chmod(binfile, 0755) + + # Run the InstallJammer binary and accept the EULA + filename = "HOME=%s ./%s" % (workdir, binfile) + f = os.popen(filename,'w') + for cmd in cmd_list: + if cmd == "workdir": + wdext = bb.data.getVar('TI_BIN_UNPK_WDEXT', localdata) + wdext = bb.data.expand(wdext, localdata) + cmd = workdir+wdext + print >>f, "%s\n" % cmd + f.close() + + # Expand the tarball that was created if required + tarfile = bb.data.getVar('TARFILE', localdata) + if bool(tarfile) == True: + tarfile = bb.data.expand(tarfile, localdata) + tcmd = 'tar xz --no-same-owner -f %s -C %s' % (tarfile, workdir) + os.system(tcmd) + + # Return to the previous directory + os.chdir(save_cwd) +} + diff --git a/recipes/ti/ti-framework-components.inc b/recipes/ti/ti-framework-components.inc new file mode 100644 index 0000000000..cd8a56193e --- /dev/null +++ b/recipes/ti/ti-framework-components.inc @@ -0,0 +1,23 @@ +DESCRIPTION = "Framework Components for TI ARM/DSP processors" + +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/fc/${PV}/exports/framework_components_${PV}.tar.gz" + +require ti-paths.inc + +S = "${WORKDIR}/framework_components_${PV}" + +# compile time dependencies +DEPENDS += "ti-xdctools-native ti-xdais-native ti-linuxutils" + +do_compile () { + echo "! Do not rebuild for now !" +} + +# stage tree - other packages may need this +do_stage() { + install -d ${FC_INSTALL_DIR} + cp -pPrf ${S}/* ${FC_INSTALL_DIR} +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" +INHIBIT_PACKAGE_STRIP = "1" diff --git a/recipes/ti/ti-framework-components_2.25.00.04.bb b/recipes/ti/ti-framework-components_2.25.00.04.bb new file mode 100644 index 0000000000..5ca4704364 --- /dev/null +++ b/recipes/ti/ti-framework-components_2.25.00.04.bb @@ -0,0 +1,5 @@ +require ti-framework-components.inc + +PV = "2_25_00_04" + + diff --git a/recipes/ti/ti-linuxutils.inc b/recipes/ti/ti-linuxutils.inc new file mode 100644 index 0000000000..b1f876d0d3 --- /dev/null +++ b/recipes/ti/ti-linuxutils.inc @@ -0,0 +1,82 @@ +DESCRIPTION = "MFP Linux utils for TI ARM/DSP processors" + +BASE_SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/linuxutils/${PV}/exports" +SRC_URI = "${BASE_SRC_URI}/linuxutils_${PV}.tar.gz " + +S = "${WORKDIR}/linuxutils_${PV}" + +require ti-multimedia-common.inc + +#This is a kernel module, don't set PR directly +MACHINE_KERNEL_PR_append = "a" + +inherit module + +do_compile() { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + + case ${SOC_FAMILY} in + dm365) + modules="cmem edma";; + omap3) + modules="cmem sdma";; + *) + modules="cmem" + esac + + for module in $modules ; do + cd ${S}/packages/ti/sdo/linuxutils/$module + make \ + LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ + MVTOOL_PREFIX="${TARGET_PREFIX}" \ + UCTOOL_PREFIX="${TARGET_PREFIX}" \ + clean debug release + done +} + +do_install () { + install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp + # Install CMEM + for module in $(find ${S}/packages/ti/sdo/linuxutils/ -name "*.ko") ; do + install -m 0755 $module ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp + done + cd ${S}/packages/ti/sdo/linuxutils/cmem/apps + make \ + LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ + MVTOOL_PREFIX="${TARGET_PREFIX}" \ + UCTOOL_PREFIX="${TARGET_PREFIX}" \ + EXEC_DIR="${D}${installdir}/ti-linuxutils-app/cmem-app" \ + install + # Install EDMA + if [ ${SOC_FAMILY} == "dm365" ] ; then + cd ${S}/packages/ti/sdo/linuxutils/edma/apps + make \ + LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ + MVTOOL_PREFIX="${TARGET_PREFIX}" \ + UCTOOL_PREFIX="${TARGET_PREFIX}" \ + EXEC_DIR="${D}${installdir}/ti-linuxutils-app/edma-app" \ + install + fi +} + +# stage tree - other packages may need this +do_stage() { + install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN} + cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/ +} + +PACKAGES =+ " ti-cmem-module \ + ti-sdma-module \ + ti-edma-module \ + ti-irq-module \ + ti-linuxutils-app" + +FILES_ti-cmem-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/cmem*.ko" +FILES_ti-sdma-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/sdma*.ko" +FILES_ti-edma-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/edma*.ko" +FILES_ti-irq-module = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/irq*.ko" + +FILES_ti-linuxutils-app = "${installdir}/ti-linuxutils-app/*/*" + +INSANE_SKIP_ti-linuxutils-app = "True" +INHIBIT_PACKAGE_STRIP = "1" diff --git a/recipes/ti/ti-linuxutils_2.25.01.06.bb b/recipes/ti/ti-linuxutils_2.25.01.06.bb new file mode 100644 index 0000000000..a75fdba30d --- /dev/null +++ b/recipes/ti/ti-linuxutils_2.25.01.06.bb @@ -0,0 +1,3 @@ +require ti-linuxutils.inc + +PV = "2_25_01_06" diff --git a/recipes/ti/ti-lpm-module_2.23.1.bb b/recipes/ti/ti-lpm-module_2.23.1.bb deleted file mode 100644 index b478f64a98..0000000000 --- a/recipes/ti/ti-lpm-module_2.23.1.bb +++ /dev/null @@ -1,65 +0,0 @@ -DESCRIPTION = "LPM module for TI OMAP3 processors" - -require ti-paths.inc -inherit module -# compile and run time dependencies -DEPENDS = " virtual/kernel perl-native ti-dsplink-module" - -#This is a kernel module, don't set PR directly -MACHINE_KERNEL_PR_append = "a" - -PV = "2231" - -# Download codec_engine_2_23_01.tar.gz from https://www-a.ti.com/downloads/sds_support/targetcontent/CE/ce_2_23/index.html and copy in Arago (or OE) download directory. - -SRC_URI = "http://install.source.dir.local/codec_engine_2_23_01.tar.gz " - -# Set the source directory -S = "${WORKDIR}/codec_engine_2_23_01" - -export DSPLINK="${S}/cetools/packages/dsplink" - -LPMDSPPOWERSOC ?= "omap3530" -LPMDSPPOWERSOC_omap3evm ?= "omap3530" - -do_compile () { - # TODO :: KERNEL_CC, etc need replacing with user CC - # TODO :: Need to understand why OBJDUMP is required for kernel module - # Unset these since LDFLAGS gets picked up and used incorrectly.... need - # investigation - - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - - cd ${S}/cetools/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm - make \ - DSPLINK_REPO="${DSPLINK}/.." \ - LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ - MVTOOL_PREFIX="${TARGET_PREFIX}" \ - clean default -} - -do_install () { - - # LPM/CMEM/SDMA drivers - kernel modules - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - install -m 0755 ${S}/cetools/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp -} - - -pkg_postinst () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm () { - update-modules || true -} - -INHIBIT_PACKAGE_STRIP = "1" - -FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko" -RDEPENDS += " ti-dsplink-module" - diff --git a/recipes/ti/ti-lpm-module_2.24.01.bb b/recipes/ti/ti-lpm-module_2.24.01.bb index 8c41dbf8c2..32bc02b1e5 100644 --- a/recipes/ti/ti-lpm-module_2.24.01.bb +++ b/recipes/ti/ti-lpm-module_2.24.01.bb @@ -1,29 +1,24 @@ DESCRIPTION = "LPM module for TI OMAP3 processors" -require ti-paths.inc - -inherit module -# compile and run time dependencies -DEPENDS = " virtual/kernel perl-native ti-dsplink-module" - -#This is a kernel module, don't set PR directly -MACHINE_KERNEL_PR_append = "a" +DEPENDS = "ti-linuxutils" -PV = "2241" +# tconf breaks with '.' in PWD +PV = "2_24_01" SRC_URI = "http://install.source.dir.local/local_power_manager_1_24.tar.gz" # Set the source directory S = "${WORKDIR}/local_power_manager_1_24" -do_compile () { - # TODO :: KERNEL_CC, etc need replacing with user CC - # TODO :: Need to understand why OBJDUMP is required for kernel module - # Unset these since LDFLAGS gets picked up and used incorrectly.... need - # investigation +require ti-paths.inc - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS +#This is a kernel module, don't set PR directly +MACHINE_KERNEL_PR_append = "a" +inherit module + +do_compile () { + unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS cd ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm make \ DSPLINK_REPO="${DSPLINK}/.." \ @@ -33,27 +28,13 @@ do_compile () { } do_install () { - # LPM/CMEM/SDMA drivers - kernel modules install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - install -m 0755 ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp + install -m 0755 ${S}/packages/ti/bios/power/modules/${LPMDSPPOWERSOC}/lpm/*.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp } - -pkg_postinst () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm () { - update-modules || true -} - -INHIBIT_PACKAGE_STRIP = "1" +RDEPENDS_${PN} += " ti-dsplink-module" FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*lpm*ko" -RDEPENDS += " ti-dsplink-module" +INHIBIT_PACKAGE_STRIP = "1" diff --git a/recipes/ti/ti-multimedia-common.inc b/recipes/ti/ti-multimedia-common.inc new file mode 100644 index 0000000000..170e77bfec --- /dev/null +++ b/recipes/ti/ti-multimedia-common.inc @@ -0,0 +1,55 @@ +installdir = "${datadir}/ti" + +# needed for configuro: +export CGTOOLS_V5T="${CROSS_DIR}" +export CC_V5T="bin/${TARGET_PREFIX}gcc" +export CROSS_COMPILE = "${CROSS_DIR}/bin/${TARGET_PREFIX}" +export MVTOOL_PREFIX="${TARGET_PREFIX}" +export MVTOOL_DIR="${CROSS_DIR}" +export CSTOOL_PREFIX="${TARGET_PREFIX}" +export CSTOOL_DIR="${CROSS_DIR}" +export LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR} + +export CODEC_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codecs" + +export LINUXLIBS_INSTALL_DIR = "${STAGING_DIR_HOST}/usr" +export CODEGEN_INSTALL_DIR = "${STAGING_DIR_NATIVE}/ti-cgt6x-native" +export XDC_INSTALL_DIR = "${STAGING_DIR_NATIVE}/ti-xdctools-native" +export XDAIS_INSTALL_DIR = "${STAGING_DIR_NATIVE}/ti-xdais" +export BIOS_INSTALL_DIR = "${STAGING_DIR_NATIVE}/ti-dspbios-native" + +export CE_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine" +export FC_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-framework-components" +export LINUXKERNEL_INSTALL_DIR = "${STAGING_KERNEL_DIR}" +export LINUXUTILS_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-linuxutils" +export CMEM_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-linuxutils" +#export LINK_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine/cetools" +export LINK_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-dsplink-module" +export LPM_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine/cetools" +export DMAI_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-dmai" + +export USER_XDC_PATH = "${CE_INSTALL_DIR}/examples" +export XDC_TARGET = gnu.targets.arm.GCArmv5T + +XDC_PLATFORM_dm355 = ti.platforms.evmDM355 +XDC_PLATFORM_dm365 = ti.platforms.evmDM365 +XDC_PLATFORM_dm6446 = ti.platforms.evmDM6446 +XDC_PLATFORM_omap3 = ti.platforms.evm3530 +XDC_PLATFORM_omapl137 = ti.platforms.omapl137 +XDC_PLATFORM_omapl138 = ti.platforms.omapl138 +export XDC_PLATFORM + +export PLATFORM_XDC = ${XDC_PLATFORM} + +LPMDSPPOWERSOC_omap3 = "omap3530" + +export LPMDSPPOWERSOC + +PLATFORM_dm355 = "dm355" +PLATFORM_dm365 = "dm365" +PLATFORM_dm6446 = "dm6446" +PLATFORM_omap3 = "omap3530" +PLATFORM_omapl137 = "ol137" +PLATFORM_omapl138 = "ol138" +export PLATFORM + diff --git a/recipes/ti/ti-paths.inc b/recipes/ti/ti-paths.inc index 9ac7ac69e1..3a9eb3dbbc 100644 --- a/recipes/ti/ti-paths.inc +++ b/recipes/ti/ti-paths.inc @@ -7,14 +7,8 @@ # export some more variable to point to external TI tools # information is duplicated between the js and make based tools -# needed for configuro: -export CGTOOLS_V5T="${CROSS_DIR}" -export CC_V5T="bin/${TARGET_PREFIX}gcc" -export MVTOOL_PREFIX="${TARGET_PREFIX}" -export MVTOOL_DIR="${CROSS_DIR}" -export CSTOOL_PREFIX="${TARGET_PREFIX}" -export CSTOOL_DIR="${CROSS_DIR}" -export LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR} + +require ti-multimedia-common.inc export PLATFORM @@ -22,25 +16,14 @@ export CROSS_COMPILE = "${CROSS_DIR}/bin/${TARGET_PREFIX}" # This tells codec engine which targets to build DEVICES ?= "DM6446" -DEVICES_omap5912osk = "fixme-ti-paths.inc" - -# Set a default for armv7a now, change this when omap4 and friends become available -DEVICES_armv7a = "OMAP3530" - -DEVICES_davinci-sffsdr = "DM6446" -DEVICES_davinci-dvevm = "DM6446" +DEVICES_omap3 = "OMAP3530" +DEVICES_dm6446 = "DM6446" DSPLINKPLATFORM ?= "DAVINCI" -DSPLINKPLATFORM_omap5912osk = "OMAP" - -DSPLINKPLATFORM_davinci-sffsdr = "DAVINCI" -DSPLINKPLATFORM_davinci-dvevm = "DAVINCI" +DSPLINKPLATFORM_dm6446 = "DAVINCI" PLATFORM ?= "dm6446" -PLATFORM_omap5912osk = "OMAP" - -PLATFORM_davinci-sffsdr = "dm6446" -PLATFORM_davinci-dvevm = "dm6446" +PLATFORM_dm6446 = "dm6446" DSPLINKDSP ?= "C64XX" @@ -48,7 +31,7 @@ DSPLINKSOC ?= "DM6446" DSPCFG ?= "DM6446GEMSHMEM" -GPPOS ?= "MVL5G" +GPPOS ?= "LINUX_GCC" export DEVICES export DSPLINKPLATFORM @@ -61,20 +44,6 @@ export LPMDSPPOWERSOC DSPPOWERSOC ?= "dm6446" -export BIOS_INSTALL_DIR = "${STAGING_DIR_NATIVE}/ti-dspbios-native" -export CE_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine" -export CMEM_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine/cetools" -export CODEGEN_INSTALL_DIR = "${STAGING_DIR_NATIVE}/ti-cgt6x-native" -export CROSS_COMPILE = "${CROSS_DIR}/bin/${TARGET_PREFIX}" -export DMAI_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-dmai" -export FC_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine/cetools" -export LINK_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-dsplink-module" -export LINUXKERNEL_INSTALL_DIR = "${STAGING_KERNEL_DIR}" -export LPM_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine/cetools" -export XDC_INSTALL_DIR = "${STAGING_DIR_NATIVE}/ti-xdctools-native" -export XDAIS_INSTALL_DIR = "${CE_INSTALL_DIR}/cetools" - -export CODEC_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-combo" export CODEC ?= "${CODEC_INSTALL_DIR}" export DSPLINK = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-dsplink-module/packages/dsplink/" diff --git a/recipes/ti/ti-sdma-module_2.23.1.bb b/recipes/ti/ti-sdma-module_2.23.1.bb deleted file mode 100644 index b64cd9b2bc..0000000000 --- a/recipes/ti/ti-sdma-module_2.23.1.bb +++ /dev/null @@ -1,56 +0,0 @@ -DESCRIPTION = "SDMA module for TI OMAP3 processors" - -inherit module -# compile and run time dependencies -DEPENDS = "virtual/kernel perl-native" - -#This is a kernel module, don't set PR directly -MACHINE_KERNEL_PR_append = "a" - -PV = "2231" - -# Download codec_engine_2_23_01.tar.gz from https://www-a.ti.com/downloads/sds_support/targetcontent/CE/ce_2_23/index.html and copy in Arago (or OE) download directory. - -SRC_URI = "http://install.source.dir.local/codec_engine_2_23_01.tar.gz " - -# Set the source directory -S = "${WORKDIR}/codec_engine_2_23_01" - -do_compile() { - # SDMA - Build the sdma module - # TODO :: KERNEL_CC, etc need replacing with user CC - # TODO :: Need to understand why OBJDUMP is required for kernel module - # Unset these since LDFLAGS gets picked up and used incorrectly.... need - # investigation - - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - - cd ${S}/cetools/packages/ti/sdo/linuxutils/sdma - make \ - LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ - MVTOOL_PREFIX="${TARGET_PREFIX}" \ - UCTOOL_PREFIX="${TARGET_PREFIX}" \ - clean debug release -} - -do_install () { - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - install -m 0755 ${S}/cetools/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp -} - -pkg_postinst () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm () { - update-modules || true -} - -INHIBIT_PACKAGE_STRIP = "1" - -FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/sdmak.ko" - diff --git a/recipes/ti/ti-sdma-module_2.24.01.bb b/recipes/ti/ti-sdma-module_2.24.01.bb deleted file mode 100644 index b5e3bc313e..0000000000 --- a/recipes/ti/ti-sdma-module_2.24.01.bb +++ /dev/null @@ -1,54 +0,0 @@ -DESCRIPTION = "SDMA module for TI OMAP3 processors" - -inherit module -# compile and run time dependencies -DEPENDS = "virtual/kernel perl-native" - -#This is a kernel module, don't set PR directly -MACHINE_KERNEL_PR_append = "a" - -PV = "2241" - -SRC_URI = "http://install.source.dir.local/codec_engine_2_24_01.tar.gz " - -# Set the source directory -S = "${WORKDIR}/codec_engine_2_24_01" - -do_compile() { - # SDMA - Build the sdma module - # TODO :: KERNEL_CC, etc need replacing with user CC - # TODO :: Need to understand why OBJDUMP is required for kernel module - # Unset these since LDFLAGS gets picked up and used incorrectly.... need - # investigation - - unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - - cd ${S}/cetools/packages/ti/sdo/linuxutils/sdma - make \ - LINUXKERNEL_INSTALL_DIR="${STAGING_KERNEL_DIR}" \ - MVTOOL_PREFIX="${TARGET_PREFIX}" \ - UCTOOL_PREFIX="${TARGET_PREFIX}" \ - clean debug release -} - -do_install () { - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - install -m 0755 ${S}/cetools/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp -} - -pkg_postinst () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm () { - update-modules || true -} - -INHIBIT_PACKAGE_STRIP = "1" - -FILES_${PN} = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/sdmak.ko" - diff --git a/recipes/ti/ti-xdais-native_6.23.bb b/recipes/ti/ti-xdais-native_6.23.bb new file mode 100644 index 0000000000..9cf839c139 --- /dev/null +++ b/recipes/ti/ti-xdais-native_6.23.bb @@ -0,0 +1,13 @@ +require ti-xdais.inc + +PV = "6_23" + +inherit native + +do_stage() { + install -d ${STAGING_DIR_NATIVE}/ti-xdais + cp -pPrf ${S}/* ${STAGING_DIR_NATIVE}/ti-xdais +} + +AUTOTOOLS_NATIVE_STAGE_INSTALL="1" + diff --git a/recipes/ti/ti-xdais.inc b/recipes/ti/ti-xdais.inc new file mode 100644 index 0000000000..4816ee288a --- /dev/null +++ b/recipes/ti/ti-xdais.inc @@ -0,0 +1,10 @@ +DESCRIPTION = "TI DSP Algorithm Interface Standard specification" + +PVEXTENSION ?= "" +BASE_SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/xdais/${PV}/exports" + +SRC_URI = "${BASE_SRC_URI}/xdais_${PV}${PVEXTENSION}.tar.gz" + +S = "${WORKDIR}/xdais_${PV}${PVEXTENSION}" + + diff --git a/recipes/ti/ti-xdctools-native_3.10.03.bb b/recipes/ti/ti-xdctools-native_3.10.03.bb deleted file mode 100644 index ca1b7f5f0f..0000000000 --- a/recipes/ti/ti-xdctools-native_3.10.03.bb +++ /dev/null @@ -1,21 +0,0 @@ -inherit native -require ti-xdctools.inc - -# download xdctools_setuplinux_3_10_03.bin from https://www-a.ti.com/downloads/sds_support/targetcontent/rtsc/xdctools_3_10/xdctools_3_10_03/index_external.html and copy in Arago (or OE) download directory - -SRC_URI = "http://install.source.dir.local/xdctools_setuplinux_3_10_03.bin" -BINFILE="xdctools_setuplinux_3_10_03.bin" - -S = "${WORKDIR}/xdctools_3_10_03" - -# Yes, the xdc stuff still breaks with a '.' in PWD -PV = "310" -PR = "r16" - -do_stage() { - install -d ${STAGING_DIR_NATIVE}/${PN} - cp -pPrf ${S}/* ${STAGING_DIR_NATIVE}/${PN} -} - -AUTOTOOLS_NATIVE_STAGE_INSTALL="1" - diff --git a/recipes/ti/ti-xdctools-native_3.15.01.59.bb b/recipes/ti/ti-xdctools-native_3.15.01.59.bb index d06cb8f615..ee34a5eec2 100644 --- a/recipes/ti/ti-xdctools-native_3.15.01.59.bb +++ b/recipes/ti/ti-xdctools-native_3.15.01.59.bb @@ -1,22 +1,16 @@ inherit native -require ti-xdctools.inc - -SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/xdctools_3_15//exports/xdctools_setuplinux_3_15_01_59.bin" -BINFILE = "xdctools_setuplinux_3_15_01_59.bin" -S = "${WORKDIR}/xdctools_3_15_01_59" +BASE_PV = "3_15" +PV = "3_15_01_59" -# Yes, the xdc stuff still breaks with a '.' in PWD -PV = "315" -PR = "r4" +require ti-xdctools.inc do_stage() { - install -d -m 0755 ${STAGING_DIR_NATIVE}/${PN} + install -d ${STAGING_DIR_NATIVE}/${PN} cp -pPrf ${S}/* ${STAGING_DIR_NATIVE}/${PN} - chmod 755 -R ${STAGING_DIR_NATIVE}/${PN} - # rm_work fails if you don't chmod S: - chmod 755 -R ${S} + chmod 755 -R ${STAGING_DIR_NATIVE}/${PN} + chmod 755 -R ${S} } -AUTOTOOLS_NATIVE_STAGE_INSTALL = "1" +AUTOTOOLS_NATIVE_STAGE_INSTALL="1" diff --git a/recipes/ti/ti-xdctools.inc b/recipes/ti/ti-xdctools.inc index 9dbd35f24c..5d29436042 100644 --- a/recipes/ti/ti-xdctools.inc +++ b/recipes/ti/ti-xdctools.inc @@ -1,40 +1,12 @@ DESCRIPTION = "TI XDC tool" -# This file defines function used for extracting .bin file +SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/xdctools_${BASE_PV}/exports/xdctools_setuplinux_${PV}.bin" +BINFILE="xdctools_setuplinux_${PV}.bin" -python do_unpack () { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('ti_bin_do_unpack', d) -} +S = "${WORKDIR}/xdctools_${PV}" -python ti_bin_do_unpack() { +TI_BIN_UNPK_CMDS="Y: qY:workdir:Y" - import os +require ti-eula-unpack.inc - localdata = bb.data.createCopy(d) - bb.data.update_data(localdata) - - binfile = bb.data.getVar('BINFILE', localdata) - - # Change to the working directory - save_cwd = os.getcwd() - workdir = bb.data.getVar('WORKDIR', localdata) - workdir = bb.data.expand(workdir, localdata) - os.chdir(workdir) - - # Make the InstallJammer binary executable so we can run it - os.chmod(binfile, 0755) - - # Run the InstallJammer binary and accept the EULA - filename = "HOME=%s ./%s" % (workdir, binfile) - f = os.popen(filename,'w') - print >>f, "Y\n" - print >>f, " qY\n" - print >>f, "%s\n" % workdir - print >>f, "Y\n" - f.close() - - # Return to the previous directory - os.chdir(save_cwd) -} |