Skip to content

Conversation

yijiyang
Copy link

No description provided.

@yijiyang yijiyang force-pushed the tech/all/dt/hamoa branch 3 times, most recently from 6f16af6 to 3e027dc Compare September 19, 2025 03:30
stephan-gh and others added 9 commits September 19, 2025 12:27
Add the video clock controller for X1E80100, similar to sm8550.dtsi. It
provides the needed clocks/power domains for the iris video codec.

Reviewed-by: Bryan O'Donoghue <[email protected]>
Signed-off-by: Stephan Gerhold <[email protected]>
Reviewed-by: Konrad Dybcio <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Bjorn Andersson <[email protected]>
Signed-off-by: Yijie Yang <[email protected]>
Git-commit: 	a8a5ea012471dd19ea9cb4d668c27ac678e84a3e
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
Add the IRIS video codec to accelerate video decoding/encoding. Copied
mostly from sm8550.dtsi, only the opp-table is slightly different for X1E.
For opp-240000000, we need to vote for a higher OPP on one of the power
domains, because the voltage requirements for the PLL and the derived
clocks differ (sm8550.dtsi has the same).

Reviewed-by: Bryan O'Donoghue <[email protected]>
Tested-by: Bryan O'Donoghue <[email protected]> # x1e Inspiron 14p
Tested-by: Neil Armstrong <[email protected]> # on Thinkpad T14S OLED
Tested-by: Anthony Ruhier <[email protected]> # Lenovo Slim 7x
Signed-off-by: Stephan Gerhold <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Bjorn Andersson <[email protected]>
Signed-off-by: Yijie Yang <[email protected]>
Git-commit: 9065340ac04dd8a1b07da0f024aa3a1e4dd2cffb
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
The reset and IOMMU management for remoteprocs like IRIS is implemented in
the hypervisor for older targets such as X1E [1]. When running in EL2, this
functionality is missing and the PAS interface normally used by IRIS to
boot the video firmware is not working.

The Venus driver supports starting the video firmware without using the PAS
interface. The same code also works for X1E when running in EL2. However,
for the new IRIS dt-bindings it was decided to avoid using the dummy
"video-firmware" node in the device tree to describe the IOMMU [2].
Discussion is still ongoing how to describe this properly [3].

To avoid regressions when running in EL2, add a TODO in x1-el2.dtso for now
and disable IRIS even when it was enabled by the board.

[1]: https://resources.linaro.org/en/resource/sF8jXifdb9V1mUefdbfafa
[2]: https://lore.kernel.org/r/[email protected]/
[3]: https://lore.kernel.org/r/[email protected]/

Signed-off-by: Stephan Gerhold <[email protected]>
Reviewed-by: Bryan O'Donoghue <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Bjorn Andersson <[email protected]>
Signed-off-by: Yijie Yang <[email protected]>
Git-commit: c0f045e303e014cec5d883edf82fe5de74769944
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
IRIS firmware for x1e80100-crd is already upstream in linux-firmware in the
default path, so enable IRIS for the CRD to accelerate video decoding.

It looks like the X1P CRD might need a different IRIS firmware (possibly
even changes in the Linux kernel driver), so keep it local to the X1E CRD
for now.

Signed-off-by: Stephan Gerhold <[email protected]>
Reviewed-by: Bryan O'Donoghue <[email protected]>
Tested-by: Bryan O'Donoghue <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Bjorn Andersson <[email protected]>
Signed-off-by: Yijie Yang <[email protected]>
Git-commit: e2367a67b3de64e1972cd6fdb8029c974fc3b2fc
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
IRIS firmware for the Lenovo ThinkPad T14s is already upstream in
linux-firmware at qcom/x1e80100/LENOVO/21N1/qcvss8380.mbn, so enable IRIS
for the T14s with the corresponding firmware-name property.

Tested-by: Neil Armstrong <[email protected]> # on Thinkpad T14S OLED
Signed-off-by: Stephan Gerhold <[email protected]>
Reviewed-by: Bryan O'Donoghue <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Bjorn Andersson <[email protected]>
Signed-off-by: Yijie Yang <[email protected]>
Git-commit: ee2d56bb33d5fe17155e933326fb0f9b7ff1d034
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
Document the device tree binding for the HAMOA-IOT-EVK board, which uses
the Qualcomm X1E80100 SoC.

The EVK consists of a carrier board and a modular System-on-Module (SoM).
The SoM integrates the SoC, PMICs, and essential GPIOs, while the EVK
carrier board provides additional peripherals such as UART and USB
interfaces.

Acked-by: Krzysztof Kozlowski <[email protected]>
Signed-off-by: Yijie Yang <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Bjorn Andersson <[email protected]>
Git-commit: 458bb855f274e227618acfa8c098b8e4894d9cd9
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
The HAMOA-IOT-SOM is a compact computing module that integrates a System
on Chip (SoC) — specifically the x1e80100 — along with essential
components optimized for IoT applications. It is designed to be mounted on
carrier boards, enabling the development of complete embedded systems.

Make the following peripherals on the SOM enabled:
- Regulators on the SOM
- Reserved memory regions
- PCIe6a and its PHY
- PCIe4 and its PHY
- USB0 through USB6 and their PHYs
- ADSP, CDSP
- Graphic
- Video

Written in collaboration with Yingying Tang (PCIe4)
<[email protected]> and Wangao Wang (Video)
<[email protected]>.

Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Yijie Yang <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Bjorn Andersson <[email protected]>
Git-commit: 5098ae93ce44110a4d86574819b254fd126243af
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
The HAMOA-IOT-EVK is an evaluation platform for IoT products, composed of
the Hamoa IoT SoM and a carrier board. Together, they form a complete
embedded system capable of booting to UART.

Make the following peripherals on the carrier board enabled:
- UART
- On-board regulators
- USB Type-C mux
- Pinctrl
- Embedded USB (EUSB) repeaters
- NVMe
- pmic-glink
- USB DisplayPorts
- Bluetooth
- WLAN
- Audio

Written in collaboration with Quill Qi (Audio) <[email protected]>,
Jie Zhang (Graphics) <[email protected]>, Shuai Zhang (Bluetooth)
<[email protected]>, Yingying Tang (WLAN) <[email protected]>,
and Yongxing Mou (USB DisplayPorts) <[email protected]>.

Signed-off-by: Yijie Yang <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Bjorn Andersson <[email protected]>
Git-commit: c11645afb0e228546279ad1b74826fffbfebbc7f
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
Add the Hamoa-IoT-EVK board to the list to enable access to EFI variables.

Link: https://lore.kernel.org/all/[email protected]/
Signed-off-by: Yijie Yang <[email protected]>
Signed-off-by: Bjorn Andersson <[email protected]>
Git-commit: 60a63913fd69bae76a3420c97ef40e865792a5b8
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
@quic-tingweiz quic-tingweiz merged commit 08e0cdc into qualcomm-linux:tech/all/dt/hamoa Sep 19, 2025
2 of 4 checks passed
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