diff --git a/.github/workflows/build-yocto.yml b/.github/workflows/build-yocto.yml index 6f645f165..d23025188 100644 --- a/.github/workflows/build-yocto.yml +++ b/.github/workflows/build-yocto.yml @@ -241,6 +241,7 @@ jobs: - qcs9100-ride-sx - rb1-core-kit - rb3gen2-core-kit + - shikra-evk - sm8750-mtp distro: - name: nodistro diff --git a/ci/shikra-evk.yml b/ci/shikra-evk.yml new file mode 100644 index 000000000..647e6ac6b --- /dev/null +++ b/ci/shikra-evk.yml @@ -0,0 +1,8 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/siemens/kas/master/kas/schema-kas.json + +header: + version: 14 + includes: + - ci/base.yml + +machine: shikra-evk diff --git a/conf/machine/include/fit-dtb-compatible.inc b/conf/machine/include/fit-dtb-compatible.inc index 1fb4fd642..0ac76253d 100644 --- a/conf/machine/include/fit-dtb-compatible.inc +++ b/conf/machine/include/fit-dtb-compatible.inc @@ -63,6 +63,11 @@ FIT_DTB_COMPATIBLE[qcom_qcs8275-iot] = \ FIT_DTB_COMPATIBLE[qcom_qcs8300-adp] = "qcs8300-ride" +# ---------- shikra ---------- +FIT_DTB_COMPATIBLE[qcom_shikracqm-itp] = "shikra-cqm-evk shikra-cqm-evk-imx577-camera" +FIT_DTB_COMPATIBLE[qcom_shikracqs-itp] = "shikra-cqs-evk shikra-cqm-evk-imx577-camera" +FIT_DTB_COMPATIBLE[qcom_shikraiqs-itp] = "shikra-iqs-evk shikra-iqs-evk-imx577-camera" + # ---------- talos ---------- FIT_DTB_COMPATIBLE[qcom_qcs615-adp] = "qcs615-ride" FIT_DTB_COMPATIBLE[qcom_qcs615-iot] = "talos-evk talos-evk-camera-imx577" diff --git a/conf/machine/include/qcom-shikra.inc b/conf/machine/include/qcom-shikra.inc new file mode 100644 index 000000000..1b7cb71a7 --- /dev/null +++ b/conf/machine/include/qcom-shikra.inc @@ -0,0 +1,17 @@ +# Configurations and variables for Shikra SoC family. + +SOC_FAMILY = "shikra" +require conf/machine/include/qcom-base.inc +require conf/machine/include/qcom-common.inc + +DEFAULTTUNE = "armv8-2a-crypto" +require conf/machine/include/arm/arch-armv8-2a.inc + +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ + packagegroup-qcom-boot-essential \ + packagegroup-machine-essential-qcom-shikra-soc \ +" + +MACHINE_EXTRA_RRECOMMENDS += " \ + packagegroup-qcom-boot-additional \ +" diff --git a/conf/machine/shikra-evk.conf b/conf/machine/shikra-evk.conf new file mode 100644 index 000000000..3024f4eda --- /dev/null +++ b/conf/machine/shikra-evk.conf @@ -0,0 +1,27 @@ +#@TYPE: Machine +#@NAME: Qualcomm Shikra Alpha Evaluation Kit (EVK) +#@DESCRIPTION: Machine configuration for Qualcomm Shikra Evaluation Kit (EVK) + +require conf/machine/include/qcom-shikra.inc + +MACHINE_FEATURES += "efi pci" + +KERNEL_DEVICETREE ?= " \ + qcom/shikra-cqm-evk.dtb \ + qcom/shikra-cqs-evk.dtb \ + qcom/shikra-iqs-evk.dtb \ + qcom/shikra-cqm-evk-imx577-camera.dtbo \ + qcom/shikra-iqs-evk-imx577-camera.dtbo \ + " + +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \ + packagegroup-shikra-evk-firmware \ + packagegroup-shikra-evk-hexagon-dsp-binaries \ +" + +QCOM_CDT_FILE = "cdt_cq2390_itp_0.2.0" +QCOM_BOOT_FILES_SUBDIR = "shikra" +QCOM_PARTITION_FILES_SUBDIR ?= "partitions/shikra-evk/emmc" + +QCOM_BOOT_FIRMWARE = "firmware-qcom-boot-shikra" +QCOM_CDT_FIRMWARE = "firmware-qcom-cdt-shikra" diff --git a/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra.inc b/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra.inc new file mode 100644 index 000000000..b34997052 --- /dev/null +++ b/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra.inc @@ -0,0 +1,14 @@ +DESCRIPTION = "QCOM NHLOS Firmware for Qualcomm Shikra-EVK platform" +LICENSE = "LICENSE.qcom-2" +LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${BOOTBINARIES}/LICENSE.qcom-2.txt;md5=165287851294f2fb8ac8cbc5e24b02b0" + +FW_ARTIFACTORY = "softwarecenter.qualcomm.com/nexus/generic/product/chip/tech-package/SHIKRA_bootbinaries.1.0/shikra_bootbinaries.1.0-test-device-public" +BOOTBINARIES = "SHIKRA_bootbinaries" + +SRC_URI = " \ + https://${FW_ARTIFACTORY}/${PV}/${BOOTBINARIES}_${PV}.zip;name=bootbinaries \ + " + +QCOM_BOOT_IMG_SUBDIR = "shikra" + +include firmware-qcom-boot-common.inc diff --git a/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra_00036.bb b/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra_00036.bb new file mode 100644 index 000000000..ad5af97a6 --- /dev/null +++ b/recipes-bsp/firmware-boot/firmware-qcom-boot-shikra_00036.bb @@ -0,0 +1,3 @@ +require firmware-qcom-boot-shikra.inc + +SRC_URI[bootbinaries.sha256sum] = "df2437405516034fb2d33585c8436891f7fb765e92022256364b4cf609089d0e" diff --git a/recipes-bsp/firmware-boot/firmware-qcom-cdt-shikra.bb b/recipes-bsp/firmware-boot/firmware-qcom-cdt-shikra.bb new file mode 100644 index 000000000..ee0fa300f --- /dev/null +++ b/recipes-bsp/firmware-boot/firmware-qcom-cdt-shikra.bb @@ -0,0 +1,10 @@ +DESCRIPTION = "CDT (Configuration Data Table) Firmware for Qualcomm Shikra Evaluation Kit (EVK)" + +SRC_URI = " \ + https://${CDT_ARTIFACTORY}/CQ2390/cdt/cq2390-itp.zip;downloadfilename=cq2390-itp_${PV}.zip;name=cq2390-itp \ + " +SRC_URI[cq2390-itp.sha256sum] = "acc8b39a9a8ccde5e04b762e9e4c7bbddf66f0420a5d32ed69a5a74761699f7b" + +QCOM_CDT_SUBDIR = "shikra" + +include firmware-qcom-cdt-common.inc diff --git a/recipes-bsp/packagegroups/packagegroup-machine-essential.bb b/recipes-bsp/packagegroups/packagegroup-machine-essential.bb index ee2eb50da..51f37a382 100644 --- a/recipes-bsp/packagegroups/packagegroup-machine-essential.bb +++ b/recipes-bsp/packagegroups/packagegroup-machine-essential.bb @@ -12,6 +12,7 @@ PACKAGES = " \ ${PN}-qcom-qcs6490-soc \ ${PN}-qcom-qcs8300-soc \ ${PN}-qcom-qcs9100-soc \ + ${PN}-qcom-shikra-soc \ " # The list of packages is kept sorted alphabetically which might break @@ -212,3 +213,10 @@ RRECOMMENDS:${PN}-qcom-qcs9100-soc += " \ kernel-module-videocc-sa8775p \ " +RRECOMMENDS:${PN}-qcom-shikra-soc += " \ + ${PN}-board-generic \ + ${PN}-qcom-generic \ + kernel-module-dispcc-shikra \ + kernel-module-gpucc-shikra \ + kernel-module-pwrseq-qcom-wcn \ +" diff --git a/recipes-bsp/packagegroups/packagegroup-shikra-evk.bb b/recipes-bsp/packagegroups/packagegroup-shikra-evk.bb new file mode 100644 index 000000000..4d3fa7c9f --- /dev/null +++ b/recipes-bsp/packagegroups/packagegroup-shikra-evk.bb @@ -0,0 +1,26 @@ +SUMMARY = "Packages for the Shikra-EVK platform" + +inherit packagegroup + +COMPATIBLE_MACHINE = "(qcom)" + +PACKAGES = " \ + ${PN}-firmware \ + ${PN}-hexagon-dsp-binaries \ +" + +RRECOMMENDS:${PN}-firmware = " \ + ${@bb.utils.contains_any('DISTRO_FEATURES', 'opencl opengl vulkan', 'linux-firmware-qcom-adreno-a702 linux-firmware-qcom-shikra-adreno', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca-wcn3950', '', d)} \ + linux-firmware-qcom-shikra-compute \ + linux-firmware-qcom-shikra-audio \ + linux-firmware-qcom-shikra-modem \ + linux-firmware-qcom-shikra-qupv3fw \ + linux-firmware-qcom-vpu \ +" + +RDEPENDS:${PN}-hexagon-dsp-binaries = " \ + hexagon-dsp-binaries-qcom-shikra-cqm-evk-cdsp \ + hexagon-dsp-binaries-qcom-shikra-cqs-evk-cdsp \ + hexagon-dsp-binaries-qcom-shikra-iqs-evk-cdsp \ +" diff --git a/recipes-kernel/linux/qcom-dtb-metadata_0.5.bb b/recipes-kernel/linux/qcom-dtb-metadata_0.8.bb similarity index 91% rename from recipes-kernel/linux/qcom-dtb-metadata_0.5.bb rename to recipes-kernel/linux/qcom-dtb-metadata_0.8.bb index cdbdf5d64..0ab0cd413 100644 --- a/recipes-kernel/linux/qcom-dtb-metadata_0.5.bb +++ b/recipes-kernel/linux/qcom-dtb-metadata_0.8.bb @@ -8,7 +8,7 @@ DEPENDS += "dtc-native" SRC_URI = "git://github.com/qualcomm-linux/qcom-dtb-metadata.git;branch=main;protocol=https;tag=v${PV}" -SRCREV = "bf60e31a7eebbf5f54b5af55d182f869716966c0" +SRCREV = "3bad7a71dd87df675353ec6c07d97f8bf6c68761" INHIBIT_DEFAULT_DEPS = "1"