summaryrefslogtreecommitdiff
path: root/packages/linux/opensimpad_2.4.27-vrs1-pxa1-jpm1.bb
blob: bf9d579b778dae37dfb4b89138fe996d989d802a (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
DESCRIPTION = "Linux kernel for the SIEMENS SIMpad family of devices."
SECTION = "kernel"
LICENSE = "GPL"
KV = "${@bb.data.getVar('PV',d,True).split('-')[0]}"
VRSV = "${@bb.data.getVar('PV',d,True).split('-')[1]}"
PXAV = "${@bb.data.getVar('PV',d,True).split('-')[2]}"
JPMV = "${@bb.data.getVar('PV',d,True).split('-')[3]}"
USBV= "usb20040610"
PR = "r4"

COMPATIBLE_MACHINE = 'simpad'

FILESPATH = "${FILE_DIRNAME}/opensimpad-${PV}:${FILE_DIRNAME}/opensimpad:${FILE_DIRNAME}/files:${FILE_DIRNAME}"

SRC_URI = "ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-${KV}.tar.bz2 \
           file://${KV}-${VRSV}.patch;patch=1 \
           file://${KV}-${VRSV}-${PXAV}.patch;patch=1 \
           file://${KV}-${VRSV}-${PXAV}-${JPMV}.patch;patch=1 \
           file://${KV}-mh1.patch;patch=1 \
           file://sound-volume-reversed.patch;patch=1 \
	   file://disable-pcmcia-probe.patch;patch=1 \
           file://mkdep.patch;patch=1 \
           file://defconfig-${MACHINE} \
	   http://www.openswan.org/download/old/openswan-2.2.0-kernel-2.4-klips.patch.gz;patch=1 \
           file://mipv6-1.1-v${KV}.patch;patch=1 \
           file://simpad-backlight-if.patch;patch=1 \
           file://simpad-switches-input.patch;patch=1 \
           file://simpad-switches-input2.patch;patch=1 \
           file://simpad-apm.patch;patch=1 \
           file://simpad-ts-noninput.patch;patch=1 \
           file://simpad-pm-updates.patch;patch=1 \
           file://support-128mb-ram.patch;patch=1 \
           file://simpad-proc-sys-board.patch;patch=1 \
           file://simpad-serial.patch;patch=1 \
           file://mppe-20040216.patch;patch=1 \
           file://sa1100-usb-tcl1.patch;patch=1 \
           file://mmc-spi.patch;patch=1 \
           file://iw249_we17-13.diff;patch=1 \
           file://iw240_we18-5.diff;patch=1 \
"
# This applies right after the jpm patch but is useless until we
# have sa1100_udc.c
#           file://${KV}-${VRSV}-${USBV}.patch;patch=1 \

# apply this when we have a patch that allows building with gcc 3.x:
# SRC_URI_append = file://gcc-3.3.patch;patch=1
# SRC_URI_append = file://machtune-args.patch;patch=1

S = "${WORKDIR}/linux-${KV}"

inherit kernel

KERNEL_CCSUFFIX = "-3.3.4"
COMPATIBLE_HOST = "arm.*-linux"

SIMPAD_MEM     = '${@bb.data.getVar("SIMPAD_MEMORY_SIZE",d,1)  or "32"}'
SIMPAD_RD      = '${@bb.data.getVar("SIMPAD_RAMDISK_SIZE",d,1) or "32"}'
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 "}'
#EXTRA_OEMAKE = ""

module_conf_sa1100_ir = "alias irda0 sa1100_ir"

do_configure() { 
       install -m 0644 ${WORKDIR}/defconfig-${MACHINE} ${S}/.config || die "No default configuration for ${MACHINE} available."
              
	mem=${SIMPAD_MEM}
	rd=${SIMPAD_RD}
        mempos=`echo "obase=16; $mem * 1024 * 1024" | bc`
        rdsize=`echo "$rd * 1024" | bc`
        total=`expr $mem + $rd`
        addr=`echo "obase=16; ibase=16; C0000000 + $mempos" | bc`

        if [ "$rd" == "0" ]
        then
                echo "# CONFIG_MTD_MTDRAM is not set" >> ${S}/.config
        else
                echo "CONFIG_MTD_MTDRAM=y"           >> ${S}/.config
                echo "CONFIG_MTDRAM_TOTAL_SIZE=$rdsize"     >> ${S}/.config
                echo "CONFIG_MTDRAM_ERASE_SIZE=1"           >> ${S}/.config
                echo "CONFIG_MTDRAM_ABS_POS=$addr"          >> ${S}/.config
        fi
	if [ "$total" == "128" ]
        then
                echo "CONFIG_SA1100_SIMPAD_128M=y"            >> ${S}/.config
        else
                echo "# CONFIG_SA1100_SIMPAD_128M is not set" >> ${S}/.config
	fi
	if [ "$total" == "32" ]
        then
                echo "CONFIG_SA1100_SIMPAD_SINUSPAD=y"            >> ${S}/.config
        else
                echo "# CONFIG_SA1100_SIMPAD_SINUSPAD is not set" >> ${S}/.config
	fi
	echo "CONFIG_CMDLINE=\"${CMDLINE} mem=${mem}M\"" >> ${S}/.config
        oe_runmake oldconfig
}