* [PATCH v2 1/5] dt-bindings: arm: qcom: Document Kalambo SoC and board
2026-07-22 10:55 [PATCH v2 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
@ 2026-07-22 10:55 ` Gopikrishna Garmidi
2026-07-22 10:55 ` [PATCH v2 2/5] arm64: dts: qcom: Add Kalambo SoC Gopikrishna Garmidi
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-22 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sibi Sankar, Pankaj Patil
Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
Krzysztof Kozlowski, Gopikrishna Garmidi
Qualcomm Kalambo is a derivative of the Mahua SoC with CPU cluster 0
removed, leaving it with just cluster 1. Document the compatible strings
for the Kalambo SoC and the Compute Reference Device (CRD) board based
on it.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index c7c9a9279684..b0c07a57bda6 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -174,6 +174,11 @@ properties:
- qcom,kaanapali-qrd
- const: qcom,kaanapali
+ - items:
+ - enum:
+ - qcom,kalambo-crd
+ - const: qcom,kalambo
+
- items:
- enum:
- qcom,mahua-crd
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v2 2/5] arm64: dts: qcom: Add Kalambo SoC
2026-07-22 10:55 [PATCH v2 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
2026-07-22 10:55 ` [PATCH v2 1/5] dt-bindings: arm: qcom: Document Kalambo SoC and board Gopikrishna Garmidi
@ 2026-07-22 10:55 ` Gopikrishna Garmidi
2026-07-22 11:06 ` sashiko-bot
2026-07-22 10:55 ` [PATCH v2 3/5] arm64: dts: qcom: Add Kalambo CRD Gopikrishna Garmidi
` (2 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-22 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sibi Sankar, Pankaj Patil
Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
Gopikrishna Garmidi
Introduce support for the Qualcomm Kalambo SoC. It is derived from Mahua
with CPU cluster 0 removed, leaving it with just cluster 1 (cpu6-cpu11).
- The surviving cluster is re-added to the cpu-map as cluster0, since the
kernel's cpu-map cluster scan stops at the first missing "clusterN"
index.
- cpu6-cpu11 are reassigned to SCMI performance domain 0, as domain 1
(the former cluster 0) is no longer present.
- Point the SCMI transport at the SRAM and mailbox addresses used by
the Kalambo SCP firmware, which differ from those inherited from
Glymur.
Add labels to the Glymur cpu-map and its cluster nodes to allow their
removal and override on derived SoCs.
Co-developed-by: Sibi Sankar <sibi.sankar@oss.qualcomm.com>
Signed-off-by: Sibi Sankar <sibi.sankar@oss.qualcomm.com>
Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/glymur.dtsi | 6 +--
arch/arm64/boot/dts/qcom/kalambo.dtsi | 95 +++++++++++++++++++++++++++++++++++
2 files changed, 98 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index f32af66a3f1c..66345be9f0a0 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -274,8 +274,8 @@ cpu17: cpu@20500 {
#cooling-cells = <2>;
};
- cpu-map {
- cluster0 {
+ cpu_map: cpu-map {
+ cpu_map_cluster0: cluster0 {
core0 {
cpu = <&cpu0>;
};
@@ -301,7 +301,7 @@ core5 {
};
};
- cluster1 {
+ cpu_map_cluster1: cluster1 {
core0 {
cpu = <&cpu6>;
};
diff --git a/arch/arm64/boot/dts/qcom/kalambo.dtsi b/arch/arm64/boot/dts/qcom/kalambo.dtsi
new file mode 100644
index 000000000000..07364a7abd9a
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/kalambo.dtsi
@@ -0,0 +1,95 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#include "mahua.dtsi"
+
+/delete-node/ &cluster0_pd;
+/delete-node/ &cpu_map_cluster0;
+/delete-node/ &cpu_map_cluster1;
+/delete-node/ &cpu0;
+/delete-node/ &cpu1;
+/delete-node/ &cpu2;
+/delete-node/ &cpu3;
+/delete-node/ &cpu4;
+/delete-node/ &cpu5;
+/delete-node/ &cpu_pd0;
+/delete-node/ &cpu_pd1;
+/delete-node/ &cpu_pd2;
+/delete-node/ &cpu_pd3;
+/delete-node/ &cpu_pd4;
+/delete-node/ &cpu_pd5;
+/delete-node/ &cpu_scp_lpri1;
+
+&cpu6 {
+ power-domains = <&cpu_pd6>, <&scmi_perf 0>;
+ power-domain-names = "psci", "perf";
+};
+
+&cpu7 {
+ power-domains = <&cpu_pd7>, <&scmi_perf 0>;
+ power-domain-names = "psci", "perf";
+};
+
+&cpu8 {
+ power-domains = <&cpu_pd8>, <&scmi_perf 0>;
+ power-domain-names = "psci", "perf";
+};
+
+&cpu9 {
+ power-domains = <&cpu_pd9>, <&scmi_perf 0>;
+ power-domain-names = "psci", "perf";
+};
+
+&cpu10 {
+ power-domains = <&cpu_pd10>, <&scmi_perf 0>;
+ power-domain-names = "psci", "perf";
+};
+
+&cpu11 {
+ power-domains = <&cpu_pd11>, <&scmi_perf 0>;
+ power-domain-names = "psci", "perf";
+};
+
+&cpu_map {
+ cluster0 {
+ core0 {
+ cpu = <&cpu6>;
+ };
+
+ core1 {
+ cpu = <&cpu7>;
+ };
+
+ core2 {
+ cpu = <&cpu8>;
+ };
+
+ core3 {
+ cpu = <&cpu9>;
+ };
+
+ core4 {
+ cpu = <&cpu10>;
+ };
+
+ core5 {
+ cpu = <&cpu11>;
+ };
+ };
+};
+
+&imem {
+ reg = <0x0 0x81e08600 0x0 0x380>;
+ ranges = <0x0 0x0 0x81e08600 0x380>;
+
+ cpu_scp_lpri1: scp-sram-section@200 {
+ compatible = "arm,scmi-shmem";
+ reg = <0x200 0x180>;
+ };
+};
+
+&pdp0_mbox {
+ reg = <0 0x17610000 0 0x8000>, <0 0x1a980000 0 0x8000>;
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v2 2/5] arm64: dts: qcom: Add Kalambo SoC
2026-07-22 10:55 ` [PATCH v2 2/5] arm64: dts: qcom: Add Kalambo SoC Gopikrishna Garmidi
@ 2026-07-22 11:06 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-07-22 11:06 UTC (permalink / raw)
To: Gopikrishna Garmidi; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Failure to delete memory-mapped peripherals associated with the physically removed CPU cluster 0 (`bwmon_cluster0`, `tsens0`, and thermal zones), leading to fatal Synchronous External Aborts during boot.
--
--- Patch [2]: [PATCH v2 2/5] arm64: dts: qcom: Add Kalambo SoC ---
commit efe1f196fdd8b9205242ea046e1fba3ed5838bce
Author: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
arm64: dts: qcom: Add Kalambo SoC
Introduce support for the Qualcomm Kalambo SoC. It is derived from Mahua
with CPU cluster 0 removed, leaving it with just cluster 1 (cpu6-cpu11).
> diff --git a/arch/arm64/boot/dts/qcom/kalambo.dtsi b/arch/arm64/boot/dts/qcom/kalambo.dtsi
> new file mode 100644
> index 0000000000000..07364a7abd9a9
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/kalambo.dtsi
> @@ -0,0 +1,95 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +
> +#include "mahua.dtsi"
> +
> +/delete-node/ &cluster0_pd;
> +/delete-node/ &cpu_map_cluster0;
> +/delete-node/ &cpu_map_cluster1;
> +/delete-node/ &cpu0;
> +/delete-node/ &cpu1;
> +/delete-node/ &cpu2;
> +/delete-node/ &cpu3;
> +/delete-node/ &cpu4;
> +/delete-node/ &cpu5;
> +/delete-node/ &cpu_pd0;
> +/delete-node/ &cpu_pd1;
> +/delete-node/ &cpu_pd2;
> +/delete-node/ &cpu_pd3;
> +/delete-node/ &cpu_pd4;
> +/delete-node/ &cpu_pd5;
> +/delete-node/ &cpu_scp_lpri1;
[Severity: High]
Does this code miss deleting other memory-mapped peripherals associated with
cluster 0, such as bwmon_cluster0, tsens0, and the cpu-0-*-thermal zones?
Since the qcom,sdm845-bwmon and qcom,tsens-v2 drivers will automatically
probe these nodes during boot, will attempting to read from these physically
absent registers trigger a fatal Synchronous External Abort?
If bwmon_cluster0 is deleted, will the nested cpu_bwmon_opp_table need to be
moved to a shared scope so bwmon_cluster1 can still reference it?
Also, since the thermal zones for cluster 0 lack labels in glymur.dtsi, will
they need to be deleted by node path rather than by label reference?
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260722-b4-kalambo-crd-v2-0-32d4addc1ac9@oss.qualcomm.com?part=2
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 3/5] arm64: dts: qcom: Add Kalambo CRD
2026-07-22 10:55 [PATCH v2 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
2026-07-22 10:55 ` [PATCH v2 1/5] dt-bindings: arm: qcom: Document Kalambo SoC and board Gopikrishna Garmidi
2026-07-22 10:55 ` [PATCH v2 2/5] arm64: dts: qcom: Add Kalambo SoC Gopikrishna Garmidi
@ 2026-07-22 10:55 ` Gopikrishna Garmidi
2026-07-22 13:05 ` Dmitry Baryshkov
2026-07-22 10:55 ` [PATCH v2 4/5] firmware: qcom: scm: Allow QSEECOM on " Gopikrishna Garmidi
2026-07-22 10:55 ` [PATCH v2 5/5] soc: qcom: ubwc: Add Kalambo UBWC config Gopikrishna Garmidi
4 siblings, 1 reply; 8+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-22 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sibi Sankar, Pankaj Patil
Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Gopikrishna Garmidi
Introduce support for the CRD based on the Qualcomm Kalambo SoC. Similar
to Mahua, it is pin-to-pin compatible with the Glymur CRD. It reuses the
common CRD board description and drops the PMIC nodes not present on this
design.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/kalambo-crd.dts | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index e05414290d8e..0ea4d6696aee 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -43,6 +43,7 @@ dtb-$(CONFIG_ARCH_QCOM) += ipq9574-rdp454.dtb
dtb-$(CONFIG_ARCH_QCOM) += ipq9650-rdp488.dtb
dtb-$(CONFIG_ARCH_QCOM) += kaanapali-mtp.dtb
dtb-$(CONFIG_ARCH_QCOM) += kaanapali-qrd.dtb
+dtb-$(CONFIG_ARCH_QCOM) += kalambo-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk.dtb
lemans-evk-camera-csi1-imx577-dtbs := lemans-evk.dtb lemans-evk-camera-csi1-imx577.dtbo
diff --git a/arch/arm64/boot/dts/qcom/kalambo-crd.dts b/arch/arm64/boot/dts/qcom/kalambo-crd.dts
new file mode 100644
index 000000000000..b4441807f460
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/kalambo-crd.dts
@@ -0,0 +1,21 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include "kalambo.dtsi"
+#include "glymur-crd.dtsi"
+
+/delete-node/ &pmcx0102_d_e0;
+/delete-node/ &pmcx0102_d0_thermal;
+/delete-node/ &pmh0104_i_e0;
+/delete-node/ &pmh0104_i0_thermal;
+/delete-node/ &pmh0104_j_e0;
+/delete-node/ &pmh0104_j0_thermal;
+
+/ {
+ model = "Qualcomm Technologies, Inc. Kalambo CRD";
+ compatible = "qcom,kalambo-crd", "qcom,kalambo";
+};
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v2 3/5] arm64: dts: qcom: Add Kalambo CRD
2026-07-22 10:55 ` [PATCH v2 3/5] arm64: dts: qcom: Add Kalambo CRD Gopikrishna Garmidi
@ 2026-07-22 13:05 ` Dmitry Baryshkov
0 siblings, 0 replies; 8+ messages in thread
From: Dmitry Baryshkov @ 2026-07-22 13:05 UTC (permalink / raw)
To: Gopikrishna Garmidi
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sibi Sankar, Pankaj Patil, Rajendra Nayak,
linux-arm-msm, devicetree, linux-kernel, Konrad Dybcio
On Wed, Jul 22, 2026 at 03:55:34AM -0700, Gopikrishna Garmidi wrote:
> Introduce support for the CRD based on the Qualcomm Kalambo SoC. Similar
> to Mahua, it is pin-to-pin compatible with the Glymur CRD. It reuses the
> common CRD board description and drops the PMIC nodes not present on this
> design.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/Makefile | 1 +
> arch/arm64/boot/dts/qcom/kalambo-crd.dts | 21 +++++++++++++++++++++
> 2 files changed, 22 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 4/5] firmware: qcom: scm: Allow QSEECOM on Kalambo CRD
2026-07-22 10:55 [PATCH v2 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
` (2 preceding siblings ...)
2026-07-22 10:55 ` [PATCH v2 3/5] arm64: dts: qcom: Add Kalambo CRD Gopikrishna Garmidi
@ 2026-07-22 10:55 ` Gopikrishna Garmidi
2026-07-22 10:55 ` [PATCH v2 5/5] soc: qcom: ubwc: Add Kalambo UBWC config Gopikrishna Garmidi
4 siblings, 0 replies; 8+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-22 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sibi Sankar, Pankaj Patil
Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov, Gopikrishna Garmidi
Add Kalambo CRD board to the QSEECOM allowlist for enabling access to
efivars.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
---
drivers/firmware/qcom/qcom_scm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/firmware/qcom/qcom_scm.c b/drivers/firmware/qcom/qcom_scm.c
index f35f2ee39130..d1cc6c908daa 100644
--- a/drivers/firmware/qcom/qcom_scm.c
+++ b/drivers/firmware/qcom/qcom_scm.c
@@ -2327,6 +2327,7 @@ static const struct of_device_id qcom_scm_qseecom_allowlist[] __maybe_unused = {
{ .compatible = "microsoft,romulus15", },
{ .compatible = "qcom,glymur-crd" },
{ .compatible = "qcom,hamoa-iot-evk" },
+ { .compatible = "qcom,kalambo-crd" },
{ .compatible = "qcom,mahua-crd" },
{ .compatible = "qcom,purwa-iot-evk" },
{ .compatible = "qcom,sc8180x-primus" },
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v2 5/5] soc: qcom: ubwc: Add Kalambo UBWC config
2026-07-22 10:55 [PATCH v2 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
` (3 preceding siblings ...)
2026-07-22 10:55 ` [PATCH v2 4/5] firmware: qcom: scm: Allow QSEECOM on " Gopikrishna Garmidi
@ 2026-07-22 10:55 ` Gopikrishna Garmidi
4 siblings, 0 replies; 8+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-22 10:55 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Sibi Sankar, Pankaj Patil
Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel,
Konrad Dybcio, Dmitry Baryshkov, Gopikrishna Garmidi
Qualcomm Kalambo is a derivative of the Mahua SoC and shares the same
Universal Bandwidth Compression (UBWC) configuration. Add the Kalambo
compatible to the UBWC configuration table to enable support.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
---
drivers/soc/qcom/ubwc_config.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/soc/qcom/ubwc_config.c b/drivers/soc/qcom/ubwc_config.c
index 0209a02c390f..c5f79210ad52 100644
--- a/drivers/soc/qcom/ubwc_config.c
+++ b/drivers/soc/qcom/ubwc_config.c
@@ -112,6 +112,7 @@ static const struct of_device_id qcom_ubwc_configs[] __maybe_unused = {
{ .compatible = "qcom,eliza", .data = &ubwc_5_0_hbb15 },
{ .compatible = "qcom,glymur", .data = &glymur_data},
{ .compatible = "qcom,kaanapali", .data = &ubwc_6_0_hbb16 },
+ { .compatible = "qcom,kalambo", .data = &glymur_data },
{ .compatible = "qcom,mahua", .data = &glymur_data },
{ .compatible = "qcom,milos", .data = &milos_data },
{ .compatible = "qcom,msm8226", .data = &no_ubwc_data },
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread