Skip to content

Purwa(IQ-X5121) IOT EVK enablement#1514

Open
xinlon-z wants to merge 7 commits intoqualcomm-linux:masterfrom
xinlon-z:purwa-evk
Open

Purwa(IQ-X5121) IOT EVK enablement#1514
xinlon-z wants to merge 7 commits intoqualcomm-linux:masterfrom
xinlon-z:purwa-evk

Conversation

@xinlon-z
Copy link
Contributor

@xinlon-z xinlon-z commented Feb 10, 2026

To enable Purwa IoT EVK board on meta-qcom, includes:

  1. Add machine conf.
  2. Add firmware package group.
  3. Add kas configuration and GitHub CI support.
    4. Consume boot firmware from external release. shared with Hamoa
    5. Upgrade qcom-ptool to consume partition conf. shared with Hamoa
  4. Support to create flat build with non-hlos images for spinor.

Depends on:
1. qualcomm-linux/qcom-ptool#68 Use the IQ-X7181 partition configuration directly
2. Need HNHLOS META external pushed, and then I will update packagegroup and firmware links
3. Base DT merged to qcom-next 6.18.y

Flat build directory structure as followed(Since Purwa EVK boot firmware is not pushed, this flat build cannot bootup now):

tmp/deploy/images/iq-x5121-evk/qcom-multimedia-image-iq-x5121-evk.rootfs.qcomflash/
├── dtb.bin
├── dtb-purwa-iot-evk-image.vfat
├── efi.bin
├── gpt_backup0.bin
├── gpt_both0.bin
├── gpt_main0.bin
├── patch0.xml
├── rawprogram0.xml
├── rootfs.img
├── spinor
│   ├── adsp_dtbs.elf
│   ├── adsp_lite.lzma
│   ├── aop_devcfg.mbn
│   ├── aop.mbn
│   ├── cdt.bin
│   ├── contents.xml
│   ├── cpucp_dtbs.elf
│   ├── cpucp.elf
│   ├── devcfg_iot.mbn
│   ├── dtb.bin
│   ├── gpt_backup0.bin
│   ├── gpt_both0.bin
│   ├── gpt_main0.bin
│   ├── hypvm.mbn
│   ├── imagefv.elf
│   ├── IQ_X_EVK_CDT.bin
│   ├── multi_image.mbn
│   ├── patch0.xml
│   ├── qupv3fw.elf
│   ├── rawprogram0.xml
│   ├── shrm.elf
│   ├── tz.mbn
│   ├── uefi_dtbs.xz
│   ├── uefi.elf
│   ├── uefi_sec.mbn
│   ├── xbl_config.elf
│   ├── XblRamdump.xz
│   ├── xbl_s_devprg_ns.melf
│   ├── xbl_s.melf
│   ├── zeros_1sector.bin
│   ├── zeros_33sectors.bin
│   └── zeros_5sectors.bin
├── vmlinux
├── xbl_s_devprg_ns.melf
├── zeros_1sector.bin
└── zeros_33sectors.bin

# WLAN/BT/Audio/Video/Compute share the same firmware as Hamoa
RRECOMMENDS:${PN}-firmware = " \
${@bb.utils.contains_any('DISTRO_FEATURES', 'opencl opengl vulkan', 'linux-firmware-qcom-adreno-g715 linux-firmware-qcom-x1p42100-adreno', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca-qca61x4-usb linux-firmware-qca-wcn7850', '', d)} \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need both kinds? Please explain in the commit message.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need both kinds? Please explain in the commit message.

Currently, only the GPU on Hamoa and Purwa is using different firmware and has been added to commit message.
https://github.com/openembedded/openembedded-core/blob/57fe3e411faec8cc60853f2e499661f9ede4f453/met…

https://github.com/openembedded/openembedded-core/blob/57fe3e411faec8cc60853f2e499661f9ede4f453/met…

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The question was about WiFi and BT firmware


# Purwa IoT EVK and Hamoa IoT EVK share the same Hexagon DSP binaries.
RDEPENDS:${PN}-hexagon-dsp-binaries = " \
hexagon-dsp-binaries-qcom-hamoa-iot-evk-cdsp \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only CDSP? Why are we not installing adsp too?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only CDSP? Why are we not installing adsp too?

At the initial stage of enabling, the ADSP was not yet ready, so it wasn’t added. I have been added it in the latest commit.


KERNEL_DEVICETREE ?= " \
qcom/purwa-iot-evk.dtb \
"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 whitespaces

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated

updated

Create packagegroup listing firmware for the Purwa IoT EVK device,
share firmware with Hamoa except GPU.

Signed-off-by: Xinzheng Long <xinzheng.long@oss.qualcomm.com>
Add Purwa (IQ‑5121) IoT EVK firmware and Hexagon DSP packagegroups to
initramfs-firmware-mega-image.

Signed-off-by: Xinzheng Long <xinzheng.long@oss.qualcomm.com>
Define a new package with purwa-soc specific kernel modules

Signed-off-by: Xinzheng Long <xinzheng.long@oss.qualcomm.com>
Add multi-DTB compatible for IQ-X5121 device (purwa-iot-evk).

Signed-off-by: Xinzheng Long <xinzheng.long@oss.qualcomm.com>
Add machine configuration file for IQ-X5121 platform, specify the paths
of partition binaries for both NVMe and spinor, where partition bins
will be consumed to create flat builds.

Signed-off-by: Xinzheng Long <xinzheng.long@oss.qualcomm.com>
This is the kas config file to support building iq-x5121-evk.

Signed-off-by: Xinzheng Long <xinzheng.long@oss.qualcomm.com>
Update github workflow to build iq-x5121-evk in CI jobs.

Signed-off-by: Xinzheng Long <xinzheng.long@oss.qualcomm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants