linux-dreambox: add dm520 support
[opendreambox.git] / meta-dreambox / recipes-kernel / linux / linux-dreambox_3.4.bb
1 PATCHREV = "${@base_contains('MACHINE', 'dm520', \
2     '12f469d9f8fedb33ccc4fd22a7451a800821f496', 'a904cb737a1d95034adc4717200cdf1e52ec8549', d)}"
3 PATCHLEVEL = "${@base_contains('MACHINE', 'dm520', '111', '110', d)}"
4
5 EXT = "${@base_contains('MACHINE', 'dm520', '-dm520', '', d)}"
6
7 SRC_URI = " \
8     ${KERNELORG_MIRROR}/linux/kernel/v3.x/linux-3.4.tar.xz;name=kernel \
9     ${KERNELORG_MIRROR}/linux/kernel/v3.x/patch-3.4.${PATCHLEVEL}.xz;apply=yes;name=stable-patch${EXT} \
10     http://dreamboxupdate.com/download/kernel-patches/linux-dreambox-${PV}-${PATCHREV}.patch.xz;apply=yes;name=dream-patch${EXT} \
11     ${@base_contains('MACHINE', 'dm520', \
12         'file://0001-Revert-MIPS-Fix-build-with-binutils-2.24.51.patch', \
13         'file://0001-xhci-Return-correct-number-of-tranferred-bytes-for-s.patch \
14          file://0002-xhci-fix-off-by-one-error-in-TRB-DMA-address-boundar.patch', d)} \
15 "
16
17 SRC_URI[kernel.md5sum] = "967f72983655e2479f951195953e8480"
18 SRC_URI[kernel.sha256sum] = "ff3dee6a855873d12487a6f4070ec2f7996d073019171361c955639664baa0c6"
19
20 SRC_URI[stable-patch-dm520.md5sum] = "a2f8f3301d62347ae87927fa220756e2"
21 SRC_URI[stable-patch-dm520.sha256sum] = "a498e7e1f2f5252c175b3a84191a8ff0d4e66c9d07f5b15a9dd6cb3e66e0336f"
22 SRC_URI[stable-patch.md5sum] = "4225d2f3a2bdd2d2fed94b5b83a5a8bb"
23 SRC_URI[stable-patch.sha256sum] = "132362637b7ba272d58acbedb172a7233c238ec1d794af111af55ee8a406e12d"
24
25 SRC_URI[dream-patch-dm520.md5sum] = "ac5a0618f367b8ba587ba2a441e91939"
26 SRC_URI[dream-patch.md5sum] = "81d8689bc16214cd1737e029d39bb46c"
27 SRC_URI[dream-patch-dm520.sha256sum] = "667fa08e2f6e2f3f45e48e7ac2b0f60fc8391579fa12cb427f2a0c247488fba7"
28 SRC_URI[dream-patch.sha256sum] = "4e4d40bc4ea6d1425348c6a01aad637686da835378ef78896e89686c38884d44"
29
30 S = "${WORKDIR}/linux-3.4"
31
32 do_configure_prepend() {
33         sed -e "/^SUBLEVEL = /d" -i ${S}/Makefile
34 }
35 do_compile_append() {
36         gzip < vmlinux > vmlinuz
37 }
38
39 require linux-dreambox.inc
40 require linux-extra-image.inc
41 require linux-rdepends.inc
42
43 CMDLINE = "${@base_contains('MACHINE', 'dm520', \
44     'bmem=192M@64M console=ttyS0,1000000 ubi.mtd=rootfs root=ubi0:dreambox-rootfs rootfstype=ubifs rw', \
45     'bmem=384M@640M memc1=768M console=ttyS0,1000000 root=/dev/mmcblk0p1 rootwait rootfstype=ext4', d)} \
46 "
47
48 COMPATIBLE_MACHINE = "^(bcm7435|bcm73625)$"
49
50 DEFCONFIG = "${MACHINE}"
51
52 BRCM_PATCHLEVEL = "${@base_contains('MACHINE', 'dm520', '3.9', '3.5', d)}"
53
54 KERNEL_VERSION = "3.4-${BRCM_PATCHLEVEL}-${MACHINE}"
55
56 KERNEL_IMAGETYPE = "${@base_contains('MACHINE', 'dm520', 'vmlinux', 'vmlinux.bin', d)}"
57 KERNEL_OUTPUT = "${@base_contains('MACHINE', 'dm520', '${KERNEL_IMAGETYPE}', 'arch/${ARCH}/boot/${KERNEL_IMAGETYPE}', d)}"
58 KERNEL_IMAGE_EXTENSION = "${@base_contains('KERNEL_IMAGETYPE', 'vmlinux', '.gz', '', d)}"
59
60 KERNEL_ALT_IMAGETYPE = "vmlinux"
61 KERNEL_EXTRA_IMAGETYPE = "vmlinuz"
62 KERNEL_EXTRA_OUTPUT = "vmlinuz"
63 KERNEL_ENABLE_CGROUPS = "1"
64
65 RDEPENDS_kernel-image = "flash-scripts"
66
67 pkg_postinst_kernel-image () {
68 if [ -z "$D" ]; then
69     flash-kernel /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION}${KERNEL_IMAGE_EXTENSION}
70 fi
71 }