Commit graph

1,429,402 commits

Author SHA1 Message Date
Sarthak Garg
add674d845 arm64: dts: qcom: sm8750-mtp: Add SDC2 node for sm8750 mtp board
Enable SD Card host controller for sm8750 mtp board.

Signed-off-by: Sarthak Garg <sarthak.garg@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251202081017.2234677-3-sarthak.garg@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:42:35 -06:00
Sarthak Garg
6e6cf8ff99 arm64: dts: qcom: sm8750: Add SDC2 nodes for sm8750 soc
Add SD Card host controller for sm8750 soc.

Signed-off-by: Sarthak Garg <sarthak.garg@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251202081017.2234677-2-sarthak.garg@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:42:35 -06:00
Gaurav Kohli
fc4795cf96 arm64: dts: qcom: monaco-evk: Enable AMC6821 fan controller
Enable AMC6821 fan controller for monaco-evk platform and
configure pwm polarity as inverted.

Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251204041158.2613340-1-gaurav.kohli@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:42:35 -06:00
Robert Eckelmann
5bde31dc7b arm64: dts: qcom: sdm845-xiaomi-beryllium: Add placeholders and sort
We know these devices are present, most of them are supported by
downstream and close to the mainline kernels.

This is very handy when rebasing the integration tree with the support.

No functional changes.

Reviewed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Robert Eckelmann <longnoserob@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251205-slpi-v3-3-a1320a074345@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:42:35 -06:00
Robert Eckelmann
f4e6e3f827 arm64: dts: qcom: sdm845-xiaomi-beryllium: Adjust firmware paths
Firmware patht adjusted to include device maker "Xiaomi"

Signed-off-by: Robert Eckelmann <longnoserob@gmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251205-slpi-v3-2-a1320a074345@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:42:35 -06:00
Robert Eckelmann
2a7dac907b arm64: dts: qcom: sdm845-xiaomi-beryllium: Enable SLPI
Enable the SLPI dsp on the Xiaomi Pocophone F1 with Qualcom SDM845 SoC.

Signed-off-by: Robert Eckelmann <longnoserob@gmail.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251205-slpi-v3-1-a1320a074345@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:42:35 -06:00
Sam Day
b0d5c96e86 arm64: dts: qcom: sdm845-oneplus: Add framebuffer
Introduce the framebuffer node, mostly useful for the u-boot and early
boot stages.

Signed-off-by: Sam Day <me@samcday.com>
Co-developed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251206-sdm845-oneplus-fb-v1-2-19b666b27d6e@ixit.cz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:42:35 -06:00
David Heidelberg
9bf9c47cd8 arm64: dts: qcom: sdm845-oneplus-enchilada: Sort nodes alphabetically
Sort the nodes by alphabet, no functional changes.

Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251206-sdm845-oneplus-fb-v1-1-19b666b27d6e@ixit.cz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:42:30 -06:00
Krzysztof Kozlowski
9f262627a9 arm64: defconfig: Enable EC drivers for Qualcomm-based laptops
Enable the drivers for Embedded Controllers present on laptops with
Qualcomm SoCs: Acer Aspire 1, Huawei Matebook E Go, Lenovo Yoga C630 and
Lenovo Thinkpad T14s.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251119082408.49712-2-krzk@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:35:00 -06:00
Vladimir Zapolskiy
8c4415fd17 clk: qcom: gcc-sm8650: Use floor ops for SDCC RCGs
In line with commit a27ac3806b ("clk: qcom: gcc-sm8450: Use floor ops
for SDCC RCGs") done to fix issues with overclocked SD cards on SM8450
powered boards set floor clock operations for SDCC RCGs on SM8650.

This change fixes initialization of some SD cards, where the problem
is manifested by the SDHC driver:

    mmc0: Card appears overclocked; req 50000000 Hz, actual 100000000 Hz
    mmc0: error -110 whilst initialising SD card

Fixes: c58225b7e3 ("clk: qcom: add the SM8650 Global Clock Controller driver, part 1")
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251124212012.3660189-3-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:33:35 -06:00
Vladimir Zapolskiy
1c06e39560 clk: qcom: gcc-sm8550: Use floor ops for SDCC RCGs
In line with commit a27ac3806b ("clk: qcom: gcc-sm8450: Use floor ops
for SDCC RCGs") done to fix issues with overclocked SD cards on SM8450
powered boards set floor clock operations for SDCC RCGs on SM8550.

This change fixes initialization of some SD cards, where the problem
is manifested by the SDHC driver:

    mmc0: Card appears overclocked; req 50000000 Hz, actual 100000000 Hz
    mmc0: error -110 whilst initialising SD card

Fixes: 955f2ea3b9 ("clk: qcom: Add GCC driver for SM8550")
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Taniya Das <taniya.das@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251124212012.3660189-2-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:33:34 -06:00
Krzysztof Kozlowski
77d0ea71b3 clk: qcom: videocc-sm8750: Constify qcom_cc_desc
Static 'struct qcom_cc_desc' is not modified by drivers and can be made
const for code safety.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Taniya Das <taniya.das@oss.qualcomm.com>
Reviewed-by: Imran Shaik <imran.shaik@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251208020621.4514-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:26:27 -06:00
Luca Weiss
e5e22c8ea4 ARM: dts: qcom: msm8974-hammerhead: Update model property
Many years have passed (more than 9 actually) since the introduction of
the Nexus 5 dts to Linux and it's high time to update the model property
to be a proper model name and thereby bringing it to the standards of
the 2020s.

Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: David Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/20251208-msm8974-hammerhead-model-v1-1-88975f30cbaa@lucaweiss.eu
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:26:10 -06:00
Jingzhou Zhu
bc11f6f1d2 arm64: dts: qcom: sdm850-huawei-matebook-e-2019: Correct ipa_fw_mem for the driver to load successfully
The ipa driver refuses to load with the old ipa_fw_mem in newer kernels.
Shrinking its size to 0x5a000 fixes the problem.

Fixes: aab69794b5 ("arm64: dts: qcom: Add support for Huawei MateBook E 2019")

Signed-off-by: Jingzhou Zhu <newwheatzjz@zohomail.com>
Link: https://lore.kernel.org/r/20251208031511.3284-3-newwheatzjz@zohomail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:23:22 -06:00
Jingzhou Zhu
a499c40ccd arm64: dts: qcom: sdm850-huawei-matebook-e-2019: Remove duplicate reserved-memroy nodes
The adsp_mem and slpi_mem defined in sdm845.dtsi work well. Remove these
nodes here to avoid redefinition.

Signed-off-by: Jingzhou Zhu <newwheatzjz@zohomail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251208031511.3284-2-newwheatzjz@zohomail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:23:22 -06:00
Yingying Tang
1a5d6d70c3 arm64: dts: qcom: hamoa-iot-evk: Add WLAN node for Hamoa IoT EVK board
WLAN card is connected to PCIe4 on Hamoa IoT EVK board. Add WLAN node
to support power sequence for this WLAN card.

Signed-off-by: Yingying Tang <yingying.tang@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251210032817.1264850-1-yingying.tang@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:23:04 -06:00
Khalid Faisal Ansari
dce54bba17 arm64: dts: qcom: monaco-evk: Enable TPM (ST33)
Enable ST33HTPM TPM over SPI10 on the Monaco IoT EVK by adding the
required SPI and TPM nodes.

Signed-off-by: Khalid Faisal Ansari <khalid.ansari@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251114-enable-tpm-monaco-v1-1-4ed566838698@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:22:49 -06:00
Khalid Faisal Ansari
d46a0900bd arm64: dts: qcom: lemans-evk: Enable TPM (ST33)
Enable ST33HTPM TPM over SPI16 on the LeMans IoT EVK by adding the
required SPI and TPM nodes.

Signed-off-by: Khalid Faisal Ansari <khalid.ansari@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251114-enable-tpm-lemans-v1-1-c8d8b580ace7@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:22:46 -06:00
Gaurav Kohli
e95ddac66a arm64: dts: qcom: lemans: Enable cpufreq cooling devices
Add cooling-cells property to the CPU nodes to support cpufreq
cooling devices.

Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251215045451.3150894-1-gaurav.kohli@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:22:25 -06:00
Gaurav Kohli
0f15cbbf31 arm64: dts: qcom: monaco: Enable cpufreq cooling devices
Add cooling-cells property to the CPU nodes to support cpufreq
cooling devices.

Signed-off-by: Gaurav Kohli <gaurav.kohli@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251208114558.2343462-1-gaurav.kohli@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:22:19 -06:00
David Heidelberg
a678adbf2d arm64: dts: qcom: Add support for Pixel 3 and Pixel 3 XL
This adds initial device tree support for the following phones:

 - Google Pixel 3 (blueline)
 - Google Pixel 3 XL (crosshatch)

Both phone boards use the same identifiers and differ only slightly
in their connected peripherals.

Supported functionality includes:
 - Debug UART
 - UFS
 - USB-C (peripheral mode)
 - Framebuffer (both u-boot and Linux)
 - Display (Pixel 3 only, and the driver needs work)
 - GPU
 - Bluetooth
 - Wi-Fi

The rmtfs region is allocated using UIO, making it technically "dynamic."

Its address and size can be read from sysfs:

$ cat /sys/class/uio/uio0/name
/sys/class/uio/uio0/maps/map0/addr
0x00000000f2701000

$ cat /sys/class/uio/uio0/maps/map0/size
0x0000000000200000

Like the OnePlus 6, the Pixel 3 requires 1 kB of reserved memory on either
side of the rmtfs region to work around an XPU bug that would otherwise
cause erroneous violations when accessing the rmtfs_mem region.

Co-developed-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Co-developed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Co-developed-by: Casey Connolly <casey@connolly.tech>
Signed-off-by: Casey Connolly <casey@connolly.tech>
Co-developed-by: Joel Selvaraj <foss@joelselvaraj.com>
Signed-off-by: Joel Selvaraj <foss@joelselvaraj.com>
Co-developed-by: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Co-developed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: David Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/20251214-pixel-3-v7-8-b1c0cf6f224d@ixit.cz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:20:28 -06:00
David Heidelberg
3845bc8886 dt-bindings: arm: qcom: Add Pixel 3 and 3 XL
Document the bindings for the Pixel 3 and 3 XL.

Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/20251214-pixel-3-v7-1-b1c0cf6f224d@ixit.cz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:20:28 -06:00
Dmitry Baryshkov
95c121244a arm64: dts: qcom: sm8250-hdk: specify ZAP firmware name
The DT file has GPU node enabled, but doesn't specify the file name of
the ZAP firmware, which means using a default file name. Specify the
name to the ZAP shader firmware, pointing to the file in the
linux-firmware repo.

Fixes: 04a3605b18 ("arm64: dts: qcom: add sm8250 GPU nodes")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251213-zap-names-v1-2-c889af173911@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:19:41 -06:00
Dmitry Baryshkov
d43019ef20 arm64: dts: qcom: sm8150-hdk,mtp: specify ZAP firmware name
The DT file has GPU node enabled, but doesn't specify the file name of
the ZAP firmware, which means using a default file name. Specify the
name to the ZAP shader firmware, pointing to the file in the
linux-firmware repo.

Fixes: f30ac26def ("arm64: dts: qcom: add sm8150 GPU nodes")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251213-zap-names-v1-1-c889af173911@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:19:41 -06:00
Dmitry Baryshkov
e814796dfc arm64: dts: qcom: sdm630: fix gpu_speed_bin size
Historically sdm630.dtsi has used 1 byte length for the gpu_speed_bin
cell, although it spans two bytes (offset 5, size 7 bits). It was being
accepted by the kernel because before the commit 7a06ef7510 ("nvmem:
core: fix bit offsets of more than one byte") the kernel didn't have
length check. After this commit nvmem core rejects QFPROM on sdm630 /
sdm660, making GPU and USB unusable on those platforms.

Set the size of the gpu_speed_bin cell to 2 bytes, fixing the parsing
error. While we are at it, update the length to 8 bits as pointed out by
Alexey Minnekhanov.

Fixes: b190fb0106 ("arm64: dts: qcom: sdm630: Add sdm630 dts file")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Link: https://lore.kernel.org/r/20251211-sdm630-fix-gpu-v2-1-92f0e736dba0@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:19:21 -06:00
Dylan Van Assche
31deed7b05 arm64: dts: qcom: sdm845-shift-axolotl: Add ath10k calibration variant
SDM845-based SHIFTPHONES SHIFT6mq has its own calibration files
for the WCN3990 WiFi/Bluetooth radio with the ath10k driver.
Add the calibration variant name to the DTS to reflect this to
allow using the calibration files from linux-firmware.

[David] Adjust the compatible as ath10k-calibration-variant is deprecated

Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251110-sdm845-calibration-variants-v1-3-2c536ada77c2@ixit.cz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:19:06 -06:00
Dylan Van Assche
ea6926f61a arm64: dts: qcom: sdm845-xiaomi-beryllium: Add ath10k calibration variant
SDM845-based Xiaomi POCOPHONE F1 has its own calibration files
for the WCN3990 WiFi/Bluetooth radio with the ath10k driver.
Add the calibration variant name to the DTS to reflect this to
allow using the calibration files from linux-firmware.

[David] Adjust the compatible as ath10k-calibration-variant is deprecated

Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251110-sdm845-calibration-variants-v1-2-2c536ada77c2@ixit.cz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:19:06 -06:00
Dylan Van Assche
252f98ecb3 arm64: dts: qcom: sdm845-oneplus: add ath10k calibration variant
SDM845-based Oneplus 6 and 6T have their own calibration files
for the WCN3990 WiFi/Bluetooth radio with the ath10k driver.
Add the calibration variant name to the DTS to reflect this to
allow using the calibration files from linux-firmware.

[David] Adjust the compatible as ath10k-calibration-variant is deprecated

Signed-off-by: Dylan Van Assche <me@dylanvanassche.be>
Signed-off-by: David Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/20251110-sdm845-calibration-variants-v1-1-2c536ada77c2@ixit.cz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:19:06 -06:00
Luca Weiss
7a53133ac4 arm64: dts: qcom: sm7225-fairphone-fp4: Enable CCI pull-up
Enable vreg_l6p, which is the voltage source for the pull-up resistor of
the CCI busses.

This ensures that I2C communication works as expected.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251210-fp4-cam-prep-v1-4-0eacbff271ec@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:17:30 -06:00
Luca Weiss
e1d3aeff52 arm64: dts: qcom: sm7225-fairphone-fp4: Add camera fixed regulators
Add multiple fixed regulators that are found on the phone, which provide
power to the cameras.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Bryan O'Donoghue <bod@kernel.org>
Link: https://lore.kernel.org/r/20251210-fp4-cam-prep-v1-3-0eacbff271ec@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:17:30 -06:00
Luca Weiss
89bce44320 arm64: dts: qcom: sm7225-fairphone-fp4: Add camera EEPROMs
Add notes for the EEPROMs found on the main rear camera, ultra-wide rear
camera and front camera. Also add some comments that act as placeholders
for other nodes that will be added in the future, for the camera sensors
and some VCM drivers.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251210-fp4-cam-prep-v1-2-0eacbff271ec@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:17:29 -06:00
Haotian Zhang
1e07ebe744 clk: qcom: Return correct error code in qcom_cc_probe_by_index()
When devm_platform_ioremap_resource() fails, it returns various
error codes. Returning a hardcoded -ENOMEM masks the actual
failure reason.

Use PTR_ERR() to propagate the actual error code returned by
devm_platform_ioremap_resource() instead of -ENOMEM.

Fixes: 75e0a1e301 ("clk: qcom: define probe by index API as common API")
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251217041338.2432-1-vulab@iscas.ac.cn
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:16:55 -06:00
Jagadeesh Kona
deed369e06 arm64: dts: qcom: SM8750: Enable CPUFreq support
Add the cpucp mailbox, sram and SCMI nodes required to enable
the CPUFreq support using the SCMI perf protocol on SM8750 SoCs.

Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Sibi Sankar <sibi.sankar@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251211-sm8750-cpufreq-v1-2-394609e8d624@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:16:36 -06:00
Jagadeesh Kona
65ce09d2f1 dt-bindings: mailbox: qcom: Document SM8750 CPUCP mailbox controller
Document CPU Control Processor (CPUCP) mailbox controller for Qualcomm
SM8750 SoCs. It is software compatible with X1E80100 CPUCP mailbox
controller hence fallback to it.

Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20251211-sm8750-cpufreq-v1-1-394609e8d624@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 12:16:36 -06:00
Unnathi Chalicheemala
366f05e348 firmware: qcom_scm: Use TASK_IDLE state in wait_for_wq_completion()
When the kernel issues an SMC (Secure Monitor Call) and the firmware
requests the kernel to wait, the waiting thread enters an
uninterruptible (D) state. In case of an extended wait request by the
firmware, any device suspend request, cannot proceed because of the
thread stuck in D state. This blocks the device suspend.

Replace wait_for_completion() with wait_for_completion_state(...,
TASK_IDLE), so that the waiting thread, show up in TASK_IDLE state,
instead of TASK_UNINTERRUPTIBLE (D state). This allows the thread to
block until completion, without blocking the device suspend.

Reviewed-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Reviewed-by: Bartosz Golaszewski <brgl@kernel.org>
Signed-off-by: Unnathi Chalicheemala <unnathi.chalicheemala@oss.qualcomm.com>
Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/r/20251217-multi_waitq_scm-v11-3-f21e50e792b8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:57:16 -06:00
Unnathi Chalicheemala
ccd207ec84 firmware: qcom_scm: Support multiple waitq contexts
Currently, only a single waitqueue context exists in the driver.
Multi-waitqueue mechanism is added in firmware to support the case,
when multiple VMs make SMC calls or single VM making multiple calls on
same CPU. Enhance the driver to support multiple waitqueue when
support is present in the firmware.

When VMs make a SMC call, firmware allocates a waitqueue context,
assuming the SMC call to be a blocking call. The SMC calls that cannot
acquire resources, while execution in firmware, are returned to sleep
in the calling VM. When the resource becomes available in the
firmware, the VM gets notified to wake the sleeping thread and resume
SMC call. The current qcom_scm driver supports single waitqueue as the
old firmwares support only single waitqueue with waitqueue id zero.
Multi-waitqueue mechanism is added in firmware starting SM8650 to
support the case when multiple VMs make SMC calls or single VM making
multiple calls on same CPU. To enable this support in qcom_scm driver,
add support for handling multiple waitqueues. For instance, SM8650
firmware can allocate two such waitq contexts, so the driver needs to
implement two waitqueue contexts. For a generalized approach, the
number of supported waitqueues can be queried from the firmware using
a SMC call.

Introduce qcom_scm_query_waitq_count to get the number of waitqueue
contexts supported by the firmware and allocate “N” unique waitqueue
contexts with a dynamic sized array where each unique wq_ctx is
associated with a struct completion variable for easy lookup. Older
targets which support only a single waitqueue, may return an error for
qcom_scm_query_waitq_count, set the wq_cnt to one for such failures.

Reviewed-by: Bartosz Golaszewski <brgl@kernel.org>
Signed-off-by: Unnathi Chalicheemala <unnathi.chalicheemala@oss.qualcomm.com>
Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Reviewed-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251217-multi_waitq_scm-v11-2-f21e50e792b8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:57:16 -06:00
Unnathi Chalicheemala
da9e6b1a96 firmware: qcom_scm: Add API to get waitqueue IRQ info
Bootloader and firmware for SM8650 and older chipsets expect node
name as "qcom_scm", in order to patch the wait queue IRQ information.
However, DeviceTree uses node name "scm" and this mismatch prevents
firmware from correctly identifying waitqueue IRQ information. Waitqueue
IRQ is used for signaling between secure and non-secure worlds.

To resolve this, introduce qcom_scm_get_waitq_irq() that'll get the
hardware IRQ number to be used from firmware instead of relying on data
provided by devicetree, thereby bypassing the DeviceTree node name
mismatch.

This hardware IRQ number is converted to a Linux IRQ number using newly
qcom_scm_fill_irq_fwspec_params(). This Linux IRQ number is then
supplied to the threaded_irq call.

Reviewed-by: Bartosz Golaszewski <brgl@kernel.org>
Signed-off-by: Unnathi Chalicheemala <unnathi.chalicheemala@oss.qualcomm.com>
Signed-off-by: Shivendra Pratap <shivendra.pratap@oss.qualcomm.com>
Reviewed-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251217-multi_waitq_scm-v11-1-f21e50e792b8@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:57:16 -06:00
Erikas Bitovtas
931b763e63 arm64: dts: qcom: msm8939-asus-z00t: add hall sensor
This device uses ANPEC APX9131 hall sensor. It is a basic GPIO hall
sensor for which a generic "gpio-keys" device tree node configuration
suffices.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
Link: https://lore.kernel.org/r/20251208-b4-battery-hall-v3-2-84e2157705a4@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:55:48 -06:00
Erikas Bitovtas
094a6bbe84 arm64: dts: qcom: msm8939-asus-z00t: add battery
This device tracks remaining battery capacity percentage using voltage
mode BMS. This commit enables the pm8916_bms node and adds a battery
node to track its capacity. Battery properties were taken from the
information printed on the battery itself and downstream device tree
for a battery named "nvt+atl_3000mah" [1]

[1] https://github.com/Asus-MSM8916/android_kernel_asus_msm8916/blob/10.x/arch/arm/boot/dts/qcom/ASUS_ZE550KL_1936167_3000mAh_3p4COV_VBMS_Final.dtsi

Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251208-b4-battery-hall-v3-1-84e2157705a4@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:55:48 -06:00
Luca Weiss
94d5285f2f arm64: defconfig: Enable options for Qualcomm Milos SoC
Enable the pinctrl, clock and interconnect drivers for the Qualcomm
Milos SoC. This is required for booting The Fairphone (Gen. 6).

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251219-milos-defconfig-v1-1-f58012ac8ef6@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:54:41 -06:00
Krzysztof Kozlowski
ba439ad913 arm64: dts: qcom: x1e78100-t14s: Add audio playback over DisplayPort
Add necessary DAI links and DAI name prefixes to enable audio playback
over USB/DisplayPort and HDMI.  The HDMI port is not yet enabled, but it
should carry respective DAI name prefix regardless.

Reviewed-by: Abel Vesa <abel.vesa@linaro.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251217120051.98198-4-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:54:25 -06:00
Krzysztof Kozlowski
d12cd85a4f arm64: dts: qcom: hamoa: Add sound DAI prefixes for DP
Sound DAI devices exposing same set of mixers, e.g. each DisplayPort
controller, need to add dedicated prefix for these mixers to avoid
conflicts and to allow ALSA to properly configure given instance.

Suggested-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251217120051.98198-3-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:54:25 -06:00
Maud Spierings
b7415c490d arm64: dts: qcom: x1e80100-vivobook-s15: enable IRIS
Enable IRIS to allow using the hardware-accelerated video codecs. The
firmware is not upstream in linux-firmware yet, so users need to copy it
from Windows to qcom/x1e80100/ASUSTeK/vivobook-s15/qcvss8380.mbn (just like
GPU/ADSP/CDSP firmware).

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
Link: https://lore.kernel.org/r/20251220-asus_usbc_dp-v3-3-5e244d420d0f@hotmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:53:07 -06:00
Maud Spierings
34d76723c4 arm64: dts: qcom: x1e80100-vivobook-s15: add HDMI port
Enable the HDMI port on left side of the laptop.

The display signal is routed through a simple Displayport to HDMI
bridge.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251220-asus_usbc_dp-v3-2-5e244d420d0f@hotmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:53:07 -06:00
Maud Spierings
c0d377798d arm64: dts: qcom: x1e80100-vivobook-s15: enable ps8830 retimers
The Asus vivobook s15 has two usb type c ports on the left side, these
use parade ps8830 retimers like the others, enable them to also enable
dp altmode

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Maud Spierings <maud_spierings@hotmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251220-asus_usbc_dp-v3-1-5e244d420d0f@hotmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:53:07 -06:00
Vladimir Zapolskiy
9494917da5 arm64: dts: qcom: sm8550-hdk-rear-camera-card: remove optional property
Samsung S5K3M5 image sensor supports only 4-lane MIPI CSI-2 interface,
which makes the sensor data-lanes property redundant, and it can be
safely removed from the board dts file. Noteworthy that the property
value is incorrect, because conventionally lanes enumeration of image
sensors starts from index 1.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20251222023834.3284370-5-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:52:48 -06:00
Vladimir Zapolskiy
4438d377f6 arm64: dts: qcom: sm8550-hdk-rear-camera-card: rename supply properties
At first voltage supply properties of Samsung S5K3M5 image sensor got
names following a pad name convention for Omnivision image sensors. Now
the property names were corrected in the sensor dt bindings documentation,
and it should be updated in the SM8550-HDK with the Rear Camera Card
board dts file.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20251222023834.3284370-4-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:52:48 -06:00
Vladimir Zapolskiy
8cadf9f0bb arm64: dts: qcom: sm8550-qrd: remove data-lanes property of image sensor
Samsung S5K3M5 image sensor supports only 4-lane MIPI CSI-2 interface,
which makes the sensor data-lanes property redundant, and it can be
safely removed from the board dts file. Noteworthy that the property
value is incorrect, because conventionally lanes enumeration of image
sensors starts from index 1.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20251222023834.3284370-3-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:52:48 -06:00
Vladimir Zapolskiy
ff7cb4613b arm64: dts: qcom: sm8550-qrd: rename image sensor supply properties
At first voltage supply properties of Samsung S5K3M5 image sensor got
names following a pad name convention for Omnivision image sensors. Now
the property names were corrected in the sensor dt bindings documentation,
and it should be updated in the SM8550-QRD board dts file.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Link: https://lore.kernel.org/r/20251222023834.3284370-2-vladimir.zapolskiy@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:52:48 -06:00
Yongxing Mou
be4a8c25ae arm64: dts: qcom: qcs8300-ride: Enable Display Port
Enable DPTX0 along with their corresponding PHYs for
qcs8300-ride platform.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Yongxing Mou <yongxing.mou@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251117-dts_qcs8300-v7-2-bf42d39e7828@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-03 11:33:20 -06:00