aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/machine/dragonboard-845c.conf25
-rw-r--r--conf/machine/include/qcom-sdm845.inc33
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v2.bb48
3 files changed, 106 insertions, 0 deletions
diff --git a/conf/machine/dragonboard-845c.conf b/conf/machine/dragonboard-845c.conf
new file mode 100644
index 0000000..9effb74
--- /dev/null
+++ b/conf/machine/dragonboard-845c.conf
@@ -0,0 +1,25 @@
+#@TYPE: Machine
+#@NAME: dragonboard-845c
+#@DESCRIPTION: Machine configuration for the DragonBoard 845c (96boards), with Qualcomm Snapdragon 845 SDM845.
+
+require conf/machine/include/qcom-sdm845.inc
+
+MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2"
+
+KERNEL_IMAGETYPE ?= "Image.gz"
+KERNEL_DEVICETREE ?= "qcom/sdm845-db845c.dtb"
+
+SERIAL_CONSOLE ?= "115200 ttyMSM0"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ firmware-qcom-dragonboard845c \
+ kernel-modules \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+"
+
+# /dev/sda1 is 'rootfs' partition after installing the latest bootloader package from linaro
+QCOM_BOOTIMG_ROOTFS ?= "sda1"
+
+# UFS partitions setup with 4096 logical sector size
+EXTRA_IMAGECMD_ext4 += " -b 4096 "
diff --git a/conf/machine/include/qcom-sdm845.inc b/conf/machine/include/qcom-sdm845.inc
new file mode 100644
index 0000000..4e2ab05
--- /dev/null
+++ b/conf/machine/include/qcom-sdm845.inc
@@ -0,0 +1,33 @@
+SOC_FAMILY = "sdm845"
+require conf/machine/include/soc-family.inc
+require conf/machine/include/arm/arch-armv8.inc
+
+XSERVER_OPENGL ?= " \
+ xf86-video-modesetting \
+ xserver-xorg-extension-glx \
+"
+
+XSERVER ?= " \
+ xserver-xorg \
+ xserver-xorg-module-libint10 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${XSERVER_OPENGL}', 'xf86-video-fbdev', d)} \
+ xf86-input-evdev \
+ xf86-input-mouse \
+ xf86-input-keyboard \
+"
+
+PREFERRED_PROVIDER_virtual/egl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
+PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
+PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
+PREFERRED_PROVIDER_virtual/kernel ?= "linux-linaro-qcomlt"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+"
+
+IMAGE_FSTYPES ?= "ext4.gz"
+IMAGE_ROOTFS_ALIGNMENT = "4096"
+
+QCOM_BOOTIMG_KERNEL_BASE ?= "0x80000000"
+QCOM_BOOTIMG_PAGE_SIZE ?= "4096"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v2.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v2.bb
new file mode 100644
index 0000000..4857794
--- /dev/null
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v2.bb
@@ -0,0 +1,48 @@
+DESCRIPTION = "QCOM Firmware for DragonBoard 845c"
+
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://LICENSE.qcom.txt;md5=cbbe399f2c983ad51768f4561587f000"
+
+SRC_URI = "https://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmware/RB3_firmware_${PV}.zip"
+SRC_URI[md5sum] = "8e9489a4bdfd3738ce4683a970b49f42"
+SRC_URI[sha256sum] = "d88ad0873792687b2906107b3244da874264c19384e49f2c4aec6768081cd29a"
+
+COMPATIBLE_MACHINE = "(dragonboard-845c)"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+S = "${WORKDIR}/RB3_firmware_${PV}"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/
+ install -d ${D}${nonarch_base_libdir}/firmware/qcom/venus-5.2/
+
+ install -m 0444 ./17-USB3-201-202-FW/K2026090.mem ${D}${nonarch_base_libdir}/firmware/
+ install -m 0444 ./18-adreno-fw/a630*.* ${D}${nonarch_base_libdir}/firmware/
+ install -m 0444 ./20-adsp_split/firmware/adsp*.* ${D}${nonarch_base_libdir}/firmware/
+ install -m 0444 ./21-cdsp_split/firmware/cdsp*.* ${D}${nonarch_base_libdir}/firmware/
+ install -m 0444 ./33-venus_split/venus.* ${D}${nonarch_base_libdir}/firmware/qcom/venus-5.2/
+ install -m 0444 ./37-wlan_FW/wlanmdsp.mbn ${D}${nonarch_base_libdir}/firmware/
+ install -m 0444 ./38-bdwlan_split/bdwlan*.* ${D}${nonarch_base_libdir}/firmware/
+
+ install -d ${D}${sysconfdir}/
+ install -m 0644 LICENSE.qcom.txt ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE
+}
+
+FILES_${PN} += "${nonarch_base_libdir}/firmware/*"
+INSANE_SKIP_${PN} += "arch"
+
+RPROVIDES_${PN} += "linux-firmware-qcom-adreno-a630"
+RREPLACES_${PN} += "linux-firmware-qcom-adreno-a630"
+RCONFLICTS_${PN} += "linux-firmware-qcom-adreno-a630"
+
+RPROVIDES_${PN} += "linux-firmware-qcom-venus-5.2"
+RREPLACES_${PN} += "linux-firmware-qcom-venus-5.2"
+RCONFLICTS_${PN} += "linux-firmware-qcom-venus-5.2"
+
+RPROVIDES_${PN} += "linux-firmware-qcom-license"
+RREPLACES_${PN} += "linux-firmware-qcom-license"
+RCONFLICTS_${PN} += "linux-firmware-qcom-license"