summaryrefslogtreecommitdiff
path: root/recipes/ti/ti-lpm-module_2.24.bb
blob: 11a1c74b4376769098fd08efba2b836546054de0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
DESCRIPTION = "LPM module for TI OMAP3 processors"

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 = "2241"

# LPM seems to be missing from 2.24.01
DEFAULT_PREFERENCE = "-1"

SRC_URI = "http://install.source.dir.com/codec_engine_2_24_01.tar.gz "

# Set the source directory
S = "${WORKDIR}/codec_engine_2_24_01"

export DSPLINK="${S}/cetools/packages/dsplink"

LPMDSPPOWERSOC 				 ?= "omap3530"
LPMDSPPOWERSOC_omap3evm 	 ?= "omap3530"
LPMDSPPOWERSOC_beagleboard 	 ?= "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"