meta-agl-bsp: meta-raspberrypi updates for YP 3.1.2
[AGL/meta-agl.git] / meta-agl-bsp / meta-raspberrypi / recipes-kernel / create-combined-dtb / create-combined-dtb_1.0.0.bb
1 SUMMARY = "Combine dtb and dtbo"
2 DESCRIPTION = "Combine specified dtb and one or more dtbo into specified filename found in deploydir"
3 SECTION = "bootloader"
4 PR = "r1"
5 LICENSE = "MIT"
6 LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
7
8 DEPENDS = "dtc-native"
9
10 ALLOW_EMPTY_${PN} = "1"
11 FILES_${PN} = ""
12
13 S = "${WORKDIR}"
14
15 do_compile[depends] += "virtual/kernel:do_deploy"
16
17 do_compile () {
18         # Official touchscreen setup (rpi3b/rpi3b dtb, VC4DTBO and ft5406)
19         if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb" ]; then
20                 fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb -o bcm2710-rpi-3-b-plus+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
21         fi
22         if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb" ]; then
23                 fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb -o bcm2710-rpi-3-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
24         fi
25         # NOTE: meta-updater currently disables rpi-ft5406.dtbo on rpi4, so need to check if it is present
26         if [ -f "${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb" -a -f "${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo" ]; then
27                 fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb -o bcm2711-rpi-4-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}/rpi-ft5406.dtbo ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
28         fi
29
30         # HDMI screen setup (rpi3b/rpi3b dtb and VC4DTBO)
31         if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb" ]; then
32                 fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb -o bcm2710-rpi-3-b-plus+vc4.dtb ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
33         fi
34         if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb" ]; then
35                 fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb -o bcm2710-rpi-3-b+vc4.dtb ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
36         fi
37         if [ -f "${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb" ]; then
38                 fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb -o bcm2711-rpi-4-b+vc4.dtb ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
39         fi
40 }
41
42 do_deploy () {
43         install -d ${DEPLOY_DIR_IMAGE}
44         if [ -f "${S}/bcm2711-rpi-4-b+vc4+ft5406.dtb" ]; then
45                 install -m 0644 ${S}/bcm2711-rpi-4-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
46         fi
47         if [ -f "${S}/bcm2710-rpi-3-b+vc4+ft5406.dtb" ]; then
48                 install -m 0644 ${S}/bcm2710-rpi-3-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
49         fi
50         if [ -f "${S}/bcm2710-rpi-3+vc4+ft5406.dtb" ]; then
51                 install -m 0644 ${S}/bcm2710-rpi-3+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
52         fi
53         if [ -f "${S}/bcm2711-rpi-4-b+vc4.dtb" ]; then
54                 install -m 0644 ${S}/bcm2711-rpi-4-b+vc4.dtb ${DEPLOY_DIR_IMAGE}
55         fi
56         if [ -f "${S}/bcm2710-rpi-3-b+vc4.dtb" ]; then
57                 install -m 0644 ${S}/bcm2710-rpi-3-b+vc4.dtb ${DEPLOY_DIR_IMAGE}
58         fi
59         if [ -f "${S}/bcm2710-rpi-3+vc4.dtb" ]; then
60                 install -m 0644 ${S}/bcm2710-rpi-3+vc4.dtb ${DEPLOY_DIR_IMAGE}
61         fi
62 }
63
64 addtask deploy after do_install