diff options
-rw-r--r-- | conf/machine/dragonboard-845c.conf | 25 | ||||
-rw-r--r-- | conf/machine/include/qcom-sdm845.inc | 33 | ||||
-rw-r--r-- | recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v2.bb | 48 |
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" |