mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD
@ 2026-07-18 12:06 Gopikrishna Garmidi
  2026-07-18 12:06 ` [PATCH 1/5] dt-bindings: arm: qcom: Document Kalambo SoC and board Gopikrishna Garmidi
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-18 12:06 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

Qualcomm Kalambo is a Mahua derivative with CPU cluster 0 absent,
leaving it with just cluster 1. Everything else should work as-is.

This series documents the board compatibles and adds the SoC and
Compute Reference Device (CRD) device trees. It also adds the Kalambo
compatible to the UBWC configuration table and allowlists the Kalambo
CRD for QSEECOM to enable access to efivars.

---
Gopikrishna Garmidi (5):
      dt-bindings: arm: qcom: Document Kalambo SoC and board
      arm64: dts: qcom: Add Kalambo SoC
      arm64: dts: qcom: Add Kalambo CRD
      firmware: qcom: scm: Allow QSEECOM on Kalambo CRD
      soc: qcom: ubwc: Add Kalambo UBWC config

 Documentation/devicetree/bindings/arm/qcom.yaml |  5 +++++
 arch/arm64/boot/dts/qcom/Makefile               |  1 +
 arch/arm64/boot/dts/qcom/glymur.dtsi            |  2 +-
 arch/arm64/boot/dts/qcom/kalambo-crd.dts        | 21 ++++++++++++++++++
 arch/arm64/boot/dts/qcom/kalambo.dtsi           | 29 +++++++++++++++++++++++++
 drivers/firmware/qcom/qcom_scm.c                |  1 +
 drivers/soc/qcom/ubwc_config.c                  |  1 +
 7 files changed, 59 insertions(+), 1 deletion(-)
---
base-commit: 1a1757b76427f6201bfe0bf1bea9f7574f332a93
change-id: 20260715-b4-kalambo-crd-86912a03bbd2

Best regards,
--  
Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 1/5] dt-bindings: arm: qcom: Document Kalambo SoC and board
  2026-07-18 12:06 [PATCH 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
@ 2026-07-18 12:06 ` Gopikrishna Garmidi
  2026-07-21 10:21   ` Krzysztof Kozlowski
  2026-07-18 12:06 ` [PATCH 2/5] arm64: dts: qcom: Add Kalambo SoC Gopikrishna Garmidi
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 17+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-18 12:06 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

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.

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	[flat|nested] 17+ messages in thread

* [PATCH 2/5] arm64: dts: qcom: Add Kalambo SoC
  2026-07-18 12:06 [PATCH 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
  2026-07-18 12:06 ` [PATCH 1/5] dt-bindings: arm: qcom: Document Kalambo SoC and board Gopikrishna Garmidi
@ 2026-07-18 12:06 ` Gopikrishna Garmidi
  2026-07-20  8:57   ` Konrad Dybcio
  2026-07-18 12:06 ` [PATCH 3/5] arm64: dts: qcom: Add Kalambo CRD Gopikrishna Garmidi
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 17+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-18 12:06 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. As a result,
the PDP mailbox and SCP low-priority register windows are updated to
match the reduced CPU complex. Everything else should work as-is.

Add a label to the Glymur cluster0 cpu-map node to allow its removal on
derived SoCs.

Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/glymur.dtsi  |  2 +-
 arch/arm64/boot/dts/qcom/kalambo.dtsi | 29 +++++++++++++++++++++++++++++
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
index 55d91c696a3a..f2feef362be5 100644
--- a/arch/arm64/boot/dts/qcom/glymur.dtsi
+++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
@@ -275,7 +275,7 @@ cpu17: cpu@20500 {
 		};
 
 		cpu-map {
-			cluster0 {
+			cpu_map_cluster0: cluster0 {
 				core0 {
 					cpu = <&cpu0>;
 				};
diff --git a/arch/arm64/boot/dts/qcom/kalambo.dtsi b/arch/arm64/boot/dts/qcom/kalambo.dtsi
new file mode 100644
index 000000000000..a56ff68b57b4
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/kalambo.dtsi
@@ -0,0 +1,29 @@
+// 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/ &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;
+
+&pdp0_mbox {
+	reg = <0 0x17610000 0 0x8000>, <0 0x1a980000 0 0x8000>;
+};
+
+&cpu_scp_lpri1 {
+	reg = <0x180 0x60>;
+};

-- 
2.34.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH 3/5] arm64: dts: qcom: Add Kalambo CRD
  2026-07-18 12:06 [PATCH 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
  2026-07-18 12:06 ` [PATCH 1/5] dt-bindings: arm: qcom: Document Kalambo SoC and board Gopikrishna Garmidi
  2026-07-18 12:06 ` [PATCH 2/5] arm64: dts: qcom: Add Kalambo SoC Gopikrishna Garmidi
@ 2026-07-18 12:06 ` Gopikrishna Garmidi
  2026-07-20  8:58   ` Konrad Dybcio
  2026-07-18 12:06 ` [PATCH 4/5] firmware: qcom: scm: Allow QSEECOM on " Gopikrishna Garmidi
  2026-07-18 12:06 ` [PATCH 5/5] soc: qcom: ubwc: Add Kalambo UBWC config Gopikrishna Garmidi
  4 siblings, 1 reply; 17+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-18 12:06 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 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.

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	[flat|nested] 17+ messages in thread

* [PATCH 4/5] firmware: qcom: scm: Allow QSEECOM on Kalambo CRD
  2026-07-18 12:06 [PATCH 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
                   ` (2 preceding siblings ...)
  2026-07-18 12:06 ` [PATCH 3/5] arm64: dts: qcom: Add Kalambo CRD Gopikrishna Garmidi
@ 2026-07-18 12:06 ` Gopikrishna Garmidi
  2026-07-20  8:52   ` Konrad Dybcio
  2026-07-20 21:58   ` Dmitry Baryshkov
  2026-07-18 12:06 ` [PATCH 5/5] soc: qcom: ubwc: Add Kalambo UBWC config Gopikrishna Garmidi
  4 siblings, 2 replies; 17+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-18 12:06 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

Add Kalambo CRD board to the QSEECOM allowlist for enabling access to
efivars.

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	[flat|nested] 17+ messages in thread

* [PATCH 5/5] soc: qcom: ubwc: Add Kalambo UBWC config
  2026-07-18 12:06 [PATCH 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
                   ` (3 preceding siblings ...)
  2026-07-18 12:06 ` [PATCH 4/5] firmware: qcom: scm: Allow QSEECOM on " Gopikrishna Garmidi
@ 2026-07-18 12:06 ` Gopikrishna Garmidi
  2026-07-20  8:52   ` Konrad Dybcio
  2026-07-20 21:59   ` Dmitry Baryshkov
  4 siblings, 2 replies; 17+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-18 12:06 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

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.

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	[flat|nested] 17+ messages in thread

* Re: [PATCH 5/5] soc: qcom: ubwc: Add Kalambo UBWC config
  2026-07-18 12:06 ` [PATCH 5/5] soc: qcom: ubwc: Add Kalambo UBWC config Gopikrishna Garmidi
@ 2026-07-20  8:52   ` Konrad Dybcio
  2026-07-20 21:59   ` Dmitry Baryshkov
  1 sibling, 0 replies; 17+ messages in thread
From: Konrad Dybcio @ 2026-07-20  8:52 UTC (permalink / raw)
  To: Gopikrishna Garmidi, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sibi Sankar, Pankaj Patil
  Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel

On 7/18/26 2:06 PM, Gopikrishna Garmidi wrote:
> 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.
> 
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5] firmware: qcom: scm: Allow QSEECOM on Kalambo CRD
  2026-07-18 12:06 ` [PATCH 4/5] firmware: qcom: scm: Allow QSEECOM on " Gopikrishna Garmidi
@ 2026-07-20  8:52   ` Konrad Dybcio
  2026-07-20 21:58   ` Dmitry Baryshkov
  1 sibling, 0 replies; 17+ messages in thread
From: Konrad Dybcio @ 2026-07-20  8:52 UTC (permalink / raw)
  To: Gopikrishna Garmidi, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sibi Sankar, Pankaj Patil
  Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel

On 7/18/26 2:06 PM, Gopikrishna Garmidi wrote:
> Add Kalambo CRD board to the QSEECOM allowlist for enabling access to
> efivars.
> 
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/5] arm64: dts: qcom: Add Kalambo SoC
  2026-07-18 12:06 ` [PATCH 2/5] arm64: dts: qcom: Add Kalambo SoC Gopikrishna Garmidi
@ 2026-07-20  8:57   ` Konrad Dybcio
  2026-07-20 15:04     ` Gopikrishna Garmidi
  0 siblings, 1 reply; 17+ messages in thread
From: Konrad Dybcio @ 2026-07-20  8:57 UTC (permalink / raw)
  To: Gopikrishna Garmidi, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sibi Sankar, Pankaj Patil
  Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel

On 7/18/26 2:06 PM, Gopikrishna Garmidi wrote:
> Introduce support for the Qualcomm Kalambo SoC. It is derived from Mahua
> with CPU cluster 0 removed, leaving it with just cluster 1. As a result,
> the PDP mailbox and SCP low-priority register windows are updated to
> match the reduced CPU complex. Everything else should work as-is.
> 
> Add a label to the Glymur cluster0 cpu-map node to allow its removal on
> derived SoCs.
> 
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> ---
>  arch/arm64/boot/dts/qcom/glymur.dtsi  |  2 +-
>  arch/arm64/boot/dts/qcom/kalambo.dtsi | 29 +++++++++++++++++++++++++++++
>  2 files changed, 30 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
> index 55d91c696a3a..f2feef362be5 100644
> --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
> +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
> @@ -275,7 +275,7 @@ cpu17: cpu@20500 {
>  		};
>  
>  		cpu-map {
> -			cluster0 {
> +			cpu_map_cluster0: cluster0 {

I doubt the code that parses this will be happy about not
being able to start from 'cluster0'



[...]

> +&pdp0_mbox {
> +	reg = <0 0x17610000 0 0x8000>, <0 0x1a980000 0 0x8000>;
> +};

Are you sure about this change?

> +&cpu_scp_lpri1 {
> +	reg = <0x180 0x60>;
> +};

This is specific to old firmware, at least it was on Glymur, I believe..

Konrad

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 3/5] arm64: dts: qcom: Add Kalambo CRD
  2026-07-18 12:06 ` [PATCH 3/5] arm64: dts: qcom: Add Kalambo CRD Gopikrishna Garmidi
@ 2026-07-20  8:58   ` Konrad Dybcio
  0 siblings, 0 replies; 17+ messages in thread
From: Konrad Dybcio @ 2026-07-20  8:58 UTC (permalink / raw)
  To: Gopikrishna Garmidi, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sibi Sankar, Pankaj Patil
  Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel

On 7/18/26 2:06 PM, 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.
> 
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/5] arm64: dts: qcom: Add Kalambo SoC
  2026-07-20  8:57   ` Konrad Dybcio
@ 2026-07-20 15:04     ` Gopikrishna Garmidi
  2026-07-20 15:41       ` Konrad Dybcio
  2026-07-20 21:57       ` Dmitry Baryshkov
  0 siblings, 2 replies; 17+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-20 15:04 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sibi Sankar, Pankaj Patil
  Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel


Hi Konrad,

Thanks a lot for the review and for catching these
> On 7/18/26 2:06 PM, Gopikrishna Garmidi wrote:
>> Introduce support for the Qualcomm Kalambo SoC. It is derived from Mahua
>> with CPU cluster 0 removed, leaving it with just cluster 1. As a result,
>> the PDP mailbox and SCP low-priority register windows are updated to
>> match the reduced CPU complex. Everything else should work as-is.
>>
>> Add a label to the Glymur cluster0 cpu-map node to allow its removal on
>> derived SoCs.
>>
>> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
>> ---
>>   arch/arm64/boot/dts/qcom/glymur.dtsi  |  2 +-
>>   arch/arm64/boot/dts/qcom/kalambo.dtsi | 29 +++++++++++++++++++++++++++++
>>   2 files changed, 30 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
>> index 55d91c696a3a..f2feef362be5 100644
>> --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
>> @@ -275,7 +275,7 @@ cpu17: cpu@20500 {
>>   		};
>>   
>>   		cpu-map {
>> -			cluster0 {
>> +			cpu_map_cluster0: cluster0 {
> 
> I doubt the code that parses this will be happy about not
> being able to start from 'cluster0'
> 

Good catch, you're right. parse_cluster() in 
drivers/base/arch_topology.c walks "cluster%d" starting at 0 and bails 
out on the first missing index, so deleting cluster0 and leaving only 
cluster1 means the topology never gets parsed at all.

For v2 I'll delete both cluster0 and cluster1 and re-add the surviving 
cores as cluster0 in the Kalambo SoC file, so the scan starts at 
cluster0 as expected:
   /delete-node/ &cpu_map_cluster0;
   /delete-node/ &cpu_map_cluster1;

   &{/cpus/cpu-map} {
         cluster0 {
                 core0 {
                         cpu = <&cpu6>;
                 };
                 ...
                 core5 {
                         cpu = <&cpu11>;
                 };
         };
   };

Does this look right to you, or would you prefer re-pointing cluster0's 
cores in place rather than delete + re-add?

> 
> [...]
> 
>> +&pdp0_mbox {
>> +	reg = <0 0x17610000 0 0x8000>, <0 0x1a980000 0 0x8000>;
>> +};
> 
> Are you sure about this change?

Yes — confirmed against the SoC memory map. The Tx window is the 
NCC0/NCC1 mailbox instance; dropping the former cluster0 moves the Tx 
base from NCC0 (0x19980000) to NCC1 (0x1a980000), while reg[0] (Rx) is 
shared and unchanged. I'll note this in the commit message.

>> +&cpu_scp_lpri1 {
>> +	reg = <0x180 0x60>;
>> +};
> 
> This is specific to old firmware, at least it was on Glymur, I believe..

Right, the size was bumped permanently on the firmware side, so this
override isn't needed anymore. I'll drop it in v2.

> Konrad


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/5] arm64: dts: qcom: Add Kalambo SoC
  2026-07-20 15:04     ` Gopikrishna Garmidi
@ 2026-07-20 15:41       ` Konrad Dybcio
  2026-07-20 21:57       ` Dmitry Baryshkov
  1 sibling, 0 replies; 17+ messages in thread
From: Konrad Dybcio @ 2026-07-20 15:41 UTC (permalink / raw)
  To: Gopikrishna Garmidi, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sibi Sankar, Pankaj Patil
  Cc: Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel

On 7/20/26 5:04 PM, Gopikrishna Garmidi wrote:
> 
> Hi Konrad,
> 
> Thanks a lot for the review and for catching these
>> On 7/18/26 2:06 PM, Gopikrishna Garmidi wrote:
>>> Introduce support for the Qualcomm Kalambo SoC. It is derived from Mahua
>>> with CPU cluster 0 removed, leaving it with just cluster 1. As a result,
>>> the PDP mailbox and SCP low-priority register windows are updated to
>>> match the reduced CPU complex. Everything else should work as-is.

[...]

> Does this look right to you, or would you prefer re-pointing cluster0's cores in place rather than delete + re-add?

Let's just delete the whole map and re-define it, I think
that's the least painful way to do it

> 
>>
>> [...]
>>
>>> +&pdp0_mbox {
>>> +    reg = <0 0x17610000 0 0x8000>, <0 0x1a980000 0 0x8000>;
>>> +};
>>
>> Are you sure about this change?
> 
> Yes — confirmed against the SoC memory map. The Tx window is the NCC0/NCC1 mailbox instance; dropping the former cluster0 moves the Tx base from NCC0 (0x19980000) to NCC1 (0x1a980000), while reg[0] (Rx) is shared and unchanged. I'll note this in the commit message.

Got it, I overlooked the 0/1 difference in the register name when
comparing

Konrad

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/5] arm64: dts: qcom: Add Kalambo SoC
  2026-07-20 15:04     ` Gopikrishna Garmidi
  2026-07-20 15:41       ` Konrad Dybcio
@ 2026-07-20 21:57       ` Dmitry Baryshkov
  2026-07-21  6:34         ` Gopikrishna Garmidi
  1 sibling, 1 reply; 17+ messages in thread
From: Dmitry Baryshkov @ 2026-07-20 21:57 UTC (permalink / raw)
  To: Gopikrishna Garmidi
  Cc: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sibi Sankar, Pankaj Patil,
	Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel

On Mon, Jul 20, 2026 at 08:34:36PM +0530, Gopikrishna Garmidi wrote:
> 
> Hi Konrad,
> 
> Thanks a lot for the review and for catching these
> > On 7/18/26 2:06 PM, Gopikrishna Garmidi wrote:
> > > Introduce support for the Qualcomm Kalambo SoC. It is derived from Mahua
> > > with CPU cluster 0 removed, leaving it with just cluster 1. As a result,
> > > the PDP mailbox and SCP low-priority register windows are updated to
> > > match the reduced CPU complex. Everything else should work as-is.
> > > 
> > > Add a label to the Glymur cluster0 cpu-map node to allow its removal on
> > > derived SoCs.
> > > 
> > > Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> > > ---
> > >   arch/arm64/boot/dts/qcom/glymur.dtsi  |  2 +-
> > >   arch/arm64/boot/dts/qcom/kalambo.dtsi | 29 +++++++++++++++++++++++++++++
> > >   2 files changed, 30 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
> > > index 55d91c696a3a..f2feef362be5 100644
> > > --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
> > > @@ -275,7 +275,7 @@ cpu17: cpu@20500 {
> > >   		};
> > >   		cpu-map {
> > > -			cluster0 {
> > > +			cpu_map_cluster0: cluster0 {
> > 
> > I doubt the code that parses this will be happy about not
> > being able to start from 'cluster0'
> > 
> 
> Good catch, you're right. parse_cluster() in drivers/base/arch_topology.c
> walks "cluster%d" starting at 0 and bails out on the first missing index, so
> deleting cluster0 and leaving only cluster1 means the topology never gets
> parsed at all.

How was this patchset tested then?


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 4/5] firmware: qcom: scm: Allow QSEECOM on Kalambo CRD
  2026-07-18 12:06 ` [PATCH 4/5] firmware: qcom: scm: Allow QSEECOM on " Gopikrishna Garmidi
  2026-07-20  8:52   ` Konrad Dybcio
@ 2026-07-20 21:58   ` Dmitry Baryshkov
  1 sibling, 0 replies; 17+ messages in thread
From: Dmitry Baryshkov @ 2026-07-20 21:58 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

On Sat, Jul 18, 2026 at 05:06:24AM -0700, Gopikrishna Garmidi wrote:
> Add Kalambo CRD board to the QSEECOM allowlist for enabling access to
> efivars.
> 
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> ---
>  drivers/firmware/qcom/qcom_scm.c | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 5/5] soc: qcom: ubwc: Add Kalambo UBWC config
  2026-07-18 12:06 ` [PATCH 5/5] soc: qcom: ubwc: Add Kalambo UBWC config Gopikrishna Garmidi
  2026-07-20  8:52   ` Konrad Dybcio
@ 2026-07-20 21:59   ` Dmitry Baryshkov
  1 sibling, 0 replies; 17+ messages in thread
From: Dmitry Baryshkov @ 2026-07-20 21:59 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

On Sat, Jul 18, 2026 at 05:06:25AM -0700, Gopikrishna Garmidi wrote:
> 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.
> 
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> ---
>  drivers/soc/qcom/ubwc_config.c | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 2/5] arm64: dts: qcom: Add Kalambo SoC
  2026-07-20 21:57       ` Dmitry Baryshkov
@ 2026-07-21  6:34         ` Gopikrishna Garmidi
  0 siblings, 0 replies; 17+ messages in thread
From: Gopikrishna Garmidi @ 2026-07-21  6:34 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Sibi Sankar, Pankaj Patil,
	Rajendra Nayak, linux-arm-msm, devicetree, linux-kernel



On 7/21/2026 3:27 AM, Dmitry Baryshkov wrote:
> On Mon, Jul 20, 2026 at 08:34:36PM +0530, Gopikrishna Garmidi wrote:
>>
>> Hi Konrad,
>>
>> Thanks a lot for the review and for catching these
>>> On 7/18/26 2:06 PM, Gopikrishna Garmidi wrote:
>>>> Introduce support for the Qualcomm Kalambo SoC. It is derived from Mahua
>>>> with CPU cluster 0 removed, leaving it with just cluster 1. As a result,
>>>> the PDP mailbox and SCP low-priority register windows are updated to
>>>> match the reduced CPU complex. Everything else should work as-is.
>>>>
>>>> Add a label to the Glymur cluster0 cpu-map node to allow its removal on
>>>> derived SoCs.
>>>>
>>>> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
>>>> ---
>>>>    arch/arm64/boot/dts/qcom/glymur.dtsi  |  2 +-
>>>>    arch/arm64/boot/dts/qcom/kalambo.dtsi | 29 +++++++++++++++++++++++++++++
>>>>    2 files changed, 30 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/glymur.dtsi b/arch/arm64/boot/dts/qcom/glymur.dtsi
>>>> index 55d91c696a3a..f2feef362be5 100644
>>>> --- a/arch/arm64/boot/dts/qcom/glymur.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/glymur.dtsi
>>>> @@ -275,7 +275,7 @@ cpu17: cpu@20500 {
>>>>    		};
>>>>    		cpu-map {
>>>> -			cluster0 {
>>>> +			cpu_map_cluster0: cluster0 {
>>>
>>> I doubt the code that parses this will be happy about not
>>> being able to start from 'cluster0'
>>>
>>
>> Good catch, you're right. parse_cluster() in drivers/base/arch_topology.c
>> walks "cluster%d" starting at 0 and bails out on the first missing index, so
>> deleting cluster0 and leaving only cluster1 means the topology never gets
>> parsed at all.
> 
> How was this patchset tested then?
> 
> 
Hi Dmitry,

This is a silent failure. On v1 the board boots normally and all 6 cores 
come online, so a functional smoke test passes with nothing to flag. The 
problem is only observable by instrumenting parse_cluster() in 
drivers/base/arch_topology.c it walks cluster%d starting at index 0 and 
stops at the first missing index. With cluster0 deleted and the 
surviving cores left as cluster1, the scan finds nothing at cluster0 and 
stops immediately:

DBGTOPO: depth=0 looking for child 'cluster0' under /cpus/cpu-map -> MISSING
DBGTOPO: depth=0 no child 'cluster0', STOP cluster scan (parsed 0 
cluster(s))

parse_dt_topology() then fails and the kernel silently falls back to the 
default topology — which is why it wasn't caught until I added these traces.

For v2 I'll re-add the surviving cores as cluster0 so the scan starts at 
index 0.

Thanks,
Gopikrishna Garmidi

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH 1/5] dt-bindings: arm: qcom: Document Kalambo SoC and board
  2026-07-18 12:06 ` [PATCH 1/5] dt-bindings: arm: qcom: Document Kalambo SoC and board Gopikrishna Garmidi
@ 2026-07-21 10:21   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 17+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-21 10:21 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

On Sat, Jul 18, 2026 at 05:06:21AM -0700, Gopikrishna Garmidi wrote:
> 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.
> 
> Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
> ---
>  Documentation/devicetree/bindings/arm/qcom.yaml | 5 +++++
>  1 file changed, 5 insertions(+)

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2026-07-21 10:21 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-18 12:06 [PATCH 0/5] arm64: dts: qcom: Add Kalambo SoC and CRD Gopikrishna Garmidi
2026-07-18 12:06 ` [PATCH 1/5] dt-bindings: arm: qcom: Document Kalambo SoC and board Gopikrishna Garmidi
2026-07-21 10:21   ` Krzysztof Kozlowski
2026-07-18 12:06 ` [PATCH 2/5] arm64: dts: qcom: Add Kalambo SoC Gopikrishna Garmidi
2026-07-20  8:57   ` Konrad Dybcio
2026-07-20 15:04     ` Gopikrishna Garmidi
2026-07-20 15:41       ` Konrad Dybcio
2026-07-20 21:57       ` Dmitry Baryshkov
2026-07-21  6:34         ` Gopikrishna Garmidi
2026-07-18 12:06 ` [PATCH 3/5] arm64: dts: qcom: Add Kalambo CRD Gopikrishna Garmidi
2026-07-20  8:58   ` Konrad Dybcio
2026-07-18 12:06 ` [PATCH 4/5] firmware: qcom: scm: Allow QSEECOM on " Gopikrishna Garmidi
2026-07-20  8:52   ` Konrad Dybcio
2026-07-20 21:58   ` Dmitry Baryshkov
2026-07-18 12:06 ` [PATCH 5/5] soc: qcom: ubwc: Add Kalambo UBWC config Gopikrishna Garmidi
2026-07-20  8:52   ` Konrad Dybcio
2026-07-20 21:59   ` Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®