Generalize create-combined-dtb to use VC4DTBO from board config
[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         if [ -f "${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb" ]; then
26                 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
27         fi
28
29         # HDMI screen setup (rpi3b/rpi3b dtb and VC4DTBO)
30         if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b-plus.dtb" ]; then
31                 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
32         fi
33         if [ -f "${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb" ]; then
34                 fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2710-rpi-3-b.dtb -o bcm2710-rpi-3-b+vc4.dtb ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
35         fi
36         if [ -f "${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb" ]; then
37                 fdtoverlay -v -i ${DEPLOY_DIR_IMAGE}/bcm2711-rpi-4-b.dtb -o bcm2711-rpi-4-b+vc4.dtb ${DEPLOY_DIR_IMAGE}/${VC4DTBO}.dtbo
38         fi
39 }
40
41 do_deploy () {
42         install -d ${DEPLOY_DIR_IMAGE}
43         if [ -f "${S}/bcm2711-rpi-4-b+vc4+ft5406.dtb" ]; then
44                 install -m 0644 ${S}/bcm2711-rpi-4-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
45         fi
46         if [ -f "${S}/bcm2710-rpi-3-b+vc4+ft5406.dtb" ]; then
47                 install -m 0644 ${S}/bcm2710-rpi-3-b+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
48         fi
49         if [ -f "${S}/bcm2710-rpi-3+vc4+ft5406.dtb" ]; then
50                 install -m 0644 ${S}/bcm2710-rpi-3+vc4+ft5406.dtb ${DEPLOY_DIR_IMAGE}
51         fi
52         if [ -f "${S}/bcm2711-rpi-4-b+vc4.dtb" ]; then
53                 install -m 0644 ${S}/bcm2711-rpi-4-b+vc4.dtb ${DEPLOY_DIR_IMAGE}
54         fi
55         if [ -f "${S}/bcm2710-rpi-3-b+vc4.dtb" ]; then
56                 install -m 0644 ${S}/bcm2710-rpi-3-b+vc4.dtb ${DEPLOY_DIR_IMAGE}
57         fi
58         if [ -f "${S}/bcm2710-rpi-3+vc4.dtb" ]; then
59                 install -m 0644 ${S}/bcm2710-rpi-3+vc4.dtb ${DEPLOY_DIR_IMAGE}
60         fi
61 }
62
63 addtask deploy after do_install