[hbbtv/youtubetv] Fixed hanup bug and segmentation fault on 3rd-party images.
[vuplus_openembedded] / recipes / linux / opensimpad_2.4.27-vrs1-pxa1-jpm1.bb
1 DESCRIPTION = "Linux kernel for the SIEMENS SIMpad family of devices."
2 SECTION = "kernel"
3 LICENSE = "GPL"
4 KV = "${@bb.data.getVar('PV',d,True).split('-')[0]}"
5 VRSV = "${@bb.data.getVar('PV',d,True).split('-')[1]}"
6 PXAV = "${@bb.data.getVar('PV',d,True).split('-')[2]}"
7 JPMV = "${@bb.data.getVar('PV',d,True).split('-')[3]}"
8 USBV= "usb20040610"
9 PR = "r4"
10
11 COMPATIBLE_MACHINE = 'simpad'
12
13 FILESPATH = "${FILE_DIRNAME}/opensimpad-${PV}:${FILE_DIRNAME}/opensimpad:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
14
15 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.4/linux-${KV}.tar.bz2 \
16            file://${KV}-${VRSV}.patch;patch=1 \
17            file://${KV}-${VRSV}-${PXAV}.patch;patch=1 \
18            file://${KV}-${VRSV}-${PXAV}-${JPMV}.patch;patch=1 \
19            file://${KV}-mh1.patch;patch=1 \
20            file://sound-volume-reversed.patch;patch=1 \
21            file://disable-pcmcia-probe.patch;patch=1 \
22            file://mkdep.patch;patch=1 \
23            file://defconfig-${MACHINE} \
24            http://www.openswan.org/download/old/openswan-2.2.0-kernel-2.4-klips.patch.gz;patch=1 \
25            file://mipv6-1.1-v${KV}.patch;patch=1 \
26            file://simpad-backlight-if.patch;patch=1 \
27            file://simpad-switches-input.patch;patch=1 \
28            file://simpad-switches-input2.patch;patch=1 \
29            file://simpad-apm.patch;patch=1 \
30            file://simpad-ts-noninput.patch;patch=1 \
31            file://simpad-pm-updates.patch;patch=1 \
32            file://support-128mb-ram.patch;patch=1 \
33            file://simpad-proc-sys-board.patch;patch=1 \
34            file://simpad-serial.patch;patch=1 \
35            file://mppe-20040216.patch;patch=1 \
36            file://sa1100-usb-tcl1.patch;patch=1 \
37            file://mmc-spi.patch;patch=1 \
38            file://iw249_we17-13.diff;patch=1 \
39            file://iw240_we18-5.diff;patch=1 \
40 "
41 # This applies right after the jpm patch but is useless until we
42 # have sa1100_udc.c
43 #           file://${KV}-${VRSV}-${USBV}.patch;patch=1 \
44
45 # apply this when we have a patch that allows building with gcc 3.x:
46 # SRC_URI_append = file://gcc-3.3.patch;patch=1
47 # SRC_URI_append = file://machtune-args.patch;patch=1
48
49 S = "${WORKDIR}/linux-${KV}"
50
51 inherit kernel
52
53 KERNEL_CCSUFFIX = "-3.3.4"
54 COMPATIBLE_HOST = "arm.*-linux"
55
56 SIMPAD_MEM     = '${@bb.data.getVar("SIMPAD_MEMORY_SIZE",d,1)  or "32"}'
57 SIMPAD_RD      = '${@bb.data.getVar("SIMPAD_RAMDISK_SIZE",d,1) or "32"}'
58 export CMDLINE = '${@bb.data.getVar("SIMPAD_CMDLINE",d,1) or  "mtdparts=sa1100:512k(boot),1m(kernel),14848k(root),-(home) console=ttySA root=1f02 noinitrd jffs2_orphaned_inodes=delete rootfstype=jffs2 "}'
59 #EXTRA_OEMAKE = ""
60
61 module_conf_sa1100_ir = "alias irda0 sa1100_ir"
62
63 do_configure() {
64        install -m 0644 ${WORKDIR}/defconfig-${MACHINE} ${S}/.config || die "No default configuration for ${MACHINE} available."
65
66         mem=${SIMPAD_MEM}
67         rd=${SIMPAD_RD}
68         mempos=`echo "obase=16; $mem * 1024 * 1024" | bc`
69         rdsize=`echo "$rd * 1024" | bc`
70         total=`expr $mem + $rd`
71         addr=`echo "obase=16; ibase=16; C0000000 + $mempos" | bc`
72
73         if [ "$rd" == "0" ]
74         then
75                 echo "# CONFIG_MTD_MTDRAM is not set" >> ${S}/.config
76         else
77                 echo "CONFIG_MTD_MTDRAM=y"           >> ${S}/.config
78                 echo "CONFIG_MTDRAM_TOTAL_SIZE=$rdsize"     >> ${S}/.config
79                 echo "CONFIG_MTDRAM_ERASE_SIZE=1"           >> ${S}/.config
80                 echo "CONFIG_MTDRAM_ABS_POS=$addr"          >> ${S}/.config
81         fi
82         if [ "$total" == "128" ]
83         then
84                 echo "CONFIG_SA1100_SIMPAD_128M=y"            >> ${S}/.config
85         else
86                 echo "# CONFIG_SA1100_SIMPAD_128M is not set" >> ${S}/.config
87         fi
88         if [ "$total" == "32" ]
89         then
90                 echo "CONFIG_SA1100_SIMPAD_SINUSPAD=y"            >> ${S}/.config
91         else
92                 echo "# CONFIG_SA1100_SIMPAD_SINUSPAD is not set" >> ${S}/.config
93         fi
94         echo "CONFIG_CMDLINE=\"${CMDLINE} mem=${mem}M\"" >> ${S}/.config
95         oe_runmake oldconfig
96 }