* [PATCH v2 0/2] arm64: dts: qcom: nord: add GPI DMA nodes
@ 2026-09-21 14:46 Bartosz Golaszewski
2026-09-21 14:46 ` [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes Bartosz Golaszewski
2026-09-21 14:46 ` [PATCH v2 2/2] arm64: dts: qcom: nord: wire up GPI DMA for QUP I2C/SPI engines Bartosz Golaszewski
0 siblings, 2 replies; 11+ messages in thread
From: Bartosz Golaszewski @ 2026-09-21 14:46 UTC (permalink / raw)
To: Shawn Guo, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, brgl
Cc: linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski
Add GPI DMA nodes for Nord and reference them from the QUPv3 I2C/SPI
nodes.
The DT bindings patch was sent separately[1].
This series is rebased on top of current linux-next.
[1] https://lore.kernel.org/all/20260916-nord-gpi-dt-bindings-v1-1-857bf9e84999@oss.qualcomm.com/
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
Changes in v2:
- Remove dmas and dma-names from uart nodes
- Link to v1: https://patch.msgid.link/20260916-nord-gpi-dts-v1-0-073e3f9c19d0@oss.qualcomm.com
---
Bartosz Golaszewski (2):
arm64: dts: qcom: nord: add GPI DMA controller nodes
arm64: dts: qcom: nord: wire up GPI DMA for QUP I2C/SPI engines
arch/arm64/boot/dts/qcom/nord.dtsi | 191 +++++++++++++++++++++++++++++++++++++
1 file changed, 191 insertions(+)
---
base-commit: 6abfe1f0063dc103de5be76c09cea2a25e332c20
change-id: 20260916-nord-gpi-dts-40456500b7b1
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes
2026-09-21 14:46 [PATCH v2 0/2] arm64: dts: qcom: nord: add GPI DMA nodes Bartosz Golaszewski
@ 2026-09-21 14:46 ` Bartosz Golaszewski
2026-09-22 2:51 ` Shawn Guo
2026-09-22 5:34 ` Mukesh Savaliya
2026-09-21 14:46 ` [PATCH v2 2/2] arm64: dts: qcom: nord: wire up GPI DMA for QUP I2C/SPI engines Bartosz Golaszewski
1 sibling, 2 replies; 11+ messages in thread
From: Bartosz Golaszewski @ 2026-09-21 14:46 UTC (permalink / raw)
To: Shawn Guo, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, brgl
Cc: linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski
Add GPI DMA controller nodes for all three QUPv3 engines.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/nord.dtsi | 67 ++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/nord.dtsi b/arch/arm64/boot/dts/qcom/nord.dtsi
index e0496fd40c3087a168416ac56c60655bd13b124b..9f4e0e1498c329eb7134fbc725f1dc05ffb1677d 100644
--- a/arch/arm64/boot/dts/qcom/nord.dtsi
+++ b/arch/arm64/boot/dts/qcom/nord.dtsi
@@ -3,6 +3,7 @@
* Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
*/
+#include <dt-bindings/dma/qcom-gpi.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
/ {
@@ -909,6 +910,28 @@ soc: soc@0 {
dma-ranges = <0 0 0 0 0x10 0>;
ranges = <0 0 0 0 0x10 0>;
+ gpi_dma2: dma-controller@800000 {
+ compatible = "qcom,nord-gpi-dma", "qcom,sm6350-gpi-dma";
+ reg = <0x0 0x00800000 0x0 0x60000>;
+ #dma-cells = <3>;
+ interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
+ dma-channels = <12>;
+ dma-channel-mask = <0xfff>;
+ iommus = <&apps_smmu_0 0x15b6 0x0>;
+ status = "disabled";
+ };
+
qupv3_2: geniqup@8c0000 {
compatible = "qcom,geni-se-qup";
reg = <0x0 0x008c0000 0x0 0x2000>;
@@ -1107,6 +1130,28 @@ uart20: serial@898000 {
};
};
+ gpi_dma0: dma-controller@900000 {
+ compatible = "qcom,nord-gpi-dma", "qcom,sm6350-gpi-dma";
+ reg = <0x0 0x00900000 0x0 0x60000>;
+ #dma-cells = <3>;
+ interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+ dma-channels = <12>;
+ dma-channel-mask = <0xfff>;
+ iommus = <&apps_smmu_2 0x1016 0x0>;
+ status = "disabled";
+ };
+
qupv3_0: geniqup@9c0000 {
compatible = "qcom,geni-se-qup";
reg = <0x0 0x009c0000 0x0 0x2000>;
@@ -1278,6 +1323,28 @@ uart5: serial@994000 {
};
};
+ gpi_dma1: dma-controller@a00000 {
+ compatible = "qcom,nord-gpi-dma", "qcom,sm6350-gpi-dma";
+ reg = <0x0 0x00a00000 0x0 0x60000>;
+ #dma-cells = <3>;
+ interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
+ dma-channels = <12>;
+ dma-channel-mask = <0xfff>;
+ iommus = <&apps_smmu_2 0x1056 0x0>;
+ status = "disabled";
+ };
+
qupv3_1: geniqup@ac0000 {
compatible = "qcom,geni-se-qup";
reg = <0x0 0x00ac0000 0x0 0x2000>;
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 2/2] arm64: dts: qcom: nord: wire up GPI DMA for QUP I2C/SPI engines
2026-09-21 14:46 [PATCH v2 0/2] arm64: dts: qcom: nord: add GPI DMA nodes Bartosz Golaszewski
2026-09-21 14:46 ` [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes Bartosz Golaszewski
@ 2026-09-21 14:46 ` Bartosz Golaszewski
2026-09-22 2:52 ` Shawn Guo
1 sibling, 1 reply; 11+ messages in thread
From: Bartosz Golaszewski @ 2026-09-21 14:46 UTC (permalink / raw)
To: Shawn Guo, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, brgl
Cc: linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski
Add DMA phandles to I2C and SPI QUPv3 serial engine nodes.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/nord.dtsi | 124 +++++++++++++++++++++++++++++++++++++
1 file changed, 124 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/nord.dtsi b/arch/arm64/boot/dts/qcom/nord.dtsi
index 9f4e0e1498c329eb7134fbc725f1dc05ffb1677d..906e4e67f03c70965bd2c588f740dd86f0b8b798 100644
--- a/arch/arm64/boot/dts/qcom/nord.dtsi
+++ b/arch/arm64/boot/dts/qcom/nord.dtsi
@@ -945,6 +945,10 @@ i2c14: i2c@880000 {
reg = <0x0 0x00880000 0x0 0x4000>;
interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma2 0 0 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 0 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -972,6 +976,10 @@ i2c15: i2c@884000 {
reg = <0x0 0x00884000 0x0 0x4000>;
interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma2 0 1 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 1 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -999,6 +1007,10 @@ i2c16: i2c@888000 {
reg = <0x0 0x00888000 0x0 0x4000>;
interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma2 0 2 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 2 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1026,6 +1038,10 @@ i2c17: i2c@88c000 {
reg = <0x0 0x0088c000 0x0 0x4000>;
interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 3 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1053,6 +1069,10 @@ i2c18: i2c@890000 {
reg = <0x0 0x00890000 0x0 0x4000>;
interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 4 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1080,6 +1100,10 @@ i2c19: i2c@894000 {
reg = <0x0 0x00894000 0x0 0x4000>;
interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 5 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1107,6 +1131,10 @@ i2c20: i2c@898000 {
reg = <0x0 0x00898000 0x0 0x4000>;
interrupts = <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma2 0 6 QCOM_GPI_I2C>,
+ <&gpi_dma2 1 6 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1118,6 +1146,10 @@ spi20: spi@898000 {
reg = <0x0 0x00898000 0x0 0x4000>;
interrupts = <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma2 0 6 QCOM_GPI_SPI>,
+ <&gpi_dma2 1 6 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
@@ -1165,6 +1197,10 @@ i2c0: i2c@980000 {
reg = <0x0 0x00980000 0x0 0x4000>;
interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 0 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1184,6 +1220,10 @@ uart0: serial@980000 {
reg = <0x0 0x00980000 0x0 0x4000>;
interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 0 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
@@ -1192,6 +1232,10 @@ i2c1: i2c@984000 {
reg = <0x0 0x00984000 0x0 0x4000>;
interrupts = <GIC_SPI 513 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 1 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1211,6 +1255,10 @@ uart1: serial@984000 {
reg = <0x0 0x00984000 0x0 0x4000>;
interrupts = <GIC_SPI 513 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 1 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
@@ -1219,6 +1267,10 @@ i2c2: i2c@988000 {
reg = <0x0 0x00988000 0x0 0x4000>;
interrupts = <GIC_SPI 514 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 2 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1238,6 +1290,10 @@ uart2: serial@988000 {
reg = <0x0 0x00988000 0x0 0x4000>;
interrupts = <GIC_SPI 514 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 2 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
@@ -1246,6 +1302,10 @@ i2c3: i2c@98c000 {
reg = <0x0 0x0098c000 0x0 0x4000>;
interrupts = <GIC_SPI 515 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 3 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1265,6 +1325,10 @@ uart3: serial@98c000 {
reg = <0x0 0x0098c000 0x0 0x4000>;
interrupts = <GIC_SPI 515 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 3 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
@@ -1273,6 +1337,10 @@ i2c4: i2c@990000 {
reg = <0x0 0x00990000 0x0 0x4000>;
interrupts = <GIC_SPI 516 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 4 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1300,6 +1368,10 @@ i2c5: i2c@994000 {
reg = <0x0 0x00994000 0x0 0x4000>;
interrupts = <GIC_SPI 517 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
+ <&gpi_dma0 1 5 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1311,6 +1383,10 @@ spi5: spi@994000 {
reg = <0x0 0x00994000 0x0 0x4000>;
interrupts = <GIC_SPI 517 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
+ <&gpi_dma0 1 5 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
@@ -1358,6 +1434,10 @@ i2c7: i2c@a80000 {
reg = <0x0 0x00a80000 0x0 0x4000>;
interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 0 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1377,6 +1457,10 @@ uart7: serial@a80000 {
reg = <0x0 0x00a80000 0x0 0x4000>;
interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 0 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
@@ -1385,6 +1469,10 @@ i2c8: i2c@a84000 {
reg = <0x0 0x00a84000 0x0 0x4000>;
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 1 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1404,6 +1492,10 @@ uart8: serial@a84000 {
reg = <0x0 0x00a84000 0x0 0x4000>;
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 1 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
@@ -1412,6 +1504,10 @@ i2c9: i2c@a88000 {
reg = <0x0 0x00a88000 0x0 0x4000>;
interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 2 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1431,6 +1527,10 @@ i2c10: i2c@a8c000 {
reg = <0x0 0x00a8c000 0x0 0x4000>;
interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 3 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1450,6 +1550,10 @@ i2c11: i2c@a90000 {
reg = <0x0 0x00a90000 0x0 0x4000>;
interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 4 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1469,6 +1573,10 @@ uart11: serial@a90000 {
reg = <0x0 0x00a90000 0x0 0x4000>;
interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 4 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
@@ -1477,6 +1585,10 @@ i2c12: i2c@a94000 {
reg = <0x0 0x00a94000 0x0 0x4000>;
interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 5 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1496,6 +1608,10 @@ uart12: serial@a94000 {
reg = <0x0 0x00a94000 0x0 0x4000>;
interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 5 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
@@ -1504,6 +1620,10 @@ i2c13: i2c@a98000 {
reg = <0x0 0x00a98000 0x0 0x4000>;
interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
+ <&gpi_dma1 1 6 QCOM_GPI_I2C>;
+ dma-names = "tx", "rx";
+
#address-cells = <1>;
#size-cells = <0>;
@@ -1515,6 +1635,10 @@ spi13: spi@a98000 {
reg = <0x0 0x00a98000 0x0 0x4000>;
interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>;
+ dmas = <&gpi_dma1 0 6 QCOM_GPI_SPI>,
+ <&gpi_dma1 1 6 QCOM_GPI_SPI>;
+ dma-names = "tx", "rx";
+
status = "disabled";
};
--
2.47.3
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes
2026-09-21 14:46 ` [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes Bartosz Golaszewski
@ 2026-09-22 2:51 ` Shawn Guo
2026-09-22 5:34 ` Mukesh Savaliya
1 sibling, 0 replies; 11+ messages in thread
From: Shawn Guo @ 2026-09-22 2:51 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Shawn Guo, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, brgl,
linux-arm-msm, devicetree, linux-kernel
On Mon, Sep 21, 2026 at 04:46:58PM +0200, Bartosz Golaszewski wrote:
> Add GPI DMA controller nodes for all three QUPv3 engines.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Reviewed-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: qcom: nord: wire up GPI DMA for QUP I2C/SPI engines
2026-09-21 14:46 ` [PATCH v2 2/2] arm64: dts: qcom: nord: wire up GPI DMA for QUP I2C/SPI engines Bartosz Golaszewski
@ 2026-09-22 2:52 ` Shawn Guo
0 siblings, 0 replies; 11+ messages in thread
From: Shawn Guo @ 2026-09-22 2:52 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Shawn Guo, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, brgl,
linux-arm-msm, devicetree, linux-kernel
On Mon, Sep 21, 2026 at 04:46:59PM +0200, Bartosz Golaszewski wrote:
> Add DMA phandles to I2C and SPI QUPv3 serial engine nodes.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Reviewed-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes
2026-09-21 14:46 ` [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes Bartosz Golaszewski
2026-09-22 2:51 ` Shawn Guo
@ 2026-09-22 5:34 ` Mukesh Savaliya
2026-09-22 8:24 ` Bartosz Golaszewski
1 sibling, 1 reply; 11+ messages in thread
From: Mukesh Savaliya @ 2026-09-22 5:34 UTC (permalink / raw)
To: Bartosz Golaszewski, Shawn Guo, Bjorn Andersson, Konrad Dybcio,
Abel Vesa, Rob Herring, Krzysztof Kozlowski, Conor Dooley, brgl
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/21/2026 8:16 PM, Bartosz Golaszewski wrote:
[...]
> +#include <dt-bindings/dma/qcom-gpi.h>
> #include <dt-bindings/interrupt-controller/arm-gic.h>
>
> / {
> @@ -909,6 +910,28 @@ soc: soc@0 {
> dma-ranges = <0 0 0 0 0x10 0>;
> ranges = <0 0 0 0 0x10 0>;
>
> + gpi_dma2: dma-controller@800000 {
> + compatible = "qcom,nord-gpi-dma", "qcom,sm6350-gpi-dma";
> + reg = <0x0 0x00800000 0x0 0x60000>;
> + #dma-cells = <3>;
> + interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
> + dma-channels = <12>;
> + dma-channel-mask = <0xfff>;
> + iommus = <&apps_smmu_0 0x15b6 0x0>;
> + status = "disabled";
we should be keeping GPI node default enabled similar to common QUPv3
wrapper node.
status = "ok" for all the nodes.
> + };
> +
> qupv3_2: geniqup@8c0000 {
> compatible = "qcom,geni-se-qup";
> reg = <0x0 0x008c0000 0x0 0x2000>;
> @@ -1107,6 +1130,28 @@ uart20: serial@898000 {
> };
> };
>
> + gpi_dma0: dma-controller@900000 {
> + compatible = "qcom,nord-gpi-dma", "qcom,sm6350-gpi-dma";
> + reg = <0x0 0x00900000 0x0 0x60000>;
> + #dma-cells = <3>;
> + interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
> + dma-channels = <12>;
> + dma-channel-mask = <0xfff>;
> + iommus = <&apps_smmu_2 0x1016 0x0>;
> + status = "disabled";
same> + };
> +
> qupv3_0: geniqup@9c0000 {
> compatible = "qcom,geni-se-qup";
> reg = <0x0 0x009c0000 0x0 0x2000>;
> @@ -1278,6 +1323,28 @@ uart5: serial@994000 {
> };
> };
>
> + gpi_dma1: dma-controller@a00000 {
> + compatible = "qcom,nord-gpi-dma", "qcom,sm6350-gpi-dma";
> + reg = <0x0 0x00a00000 0x0 0x60000>;
> + #dma-cells = <3>;
> + interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
> + dma-channels = <12>;
> + dma-channel-mask = <0xfff>;
> + iommus = <&apps_smmu_2 0x1056 0x0>;
> + status = "disabled";
same> + };
> +
> qupv3_1: geniqup@ac0000 {
> compatible = "qcom,geni-se-qup";
> reg = <0x0 0x00ac0000 0x0 0x2000>;
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes
2026-09-22 5:34 ` Mukesh Savaliya
@ 2026-09-22 8:24 ` Bartosz Golaszewski
2026-09-23 12:40 ` Konrad Dybcio
0 siblings, 1 reply; 11+ messages in thread
From: Bartosz Golaszewski @ 2026-09-22 8:24 UTC (permalink / raw)
To: Mukesh Savaliya
Cc: linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski,
Shawn Guo, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, brgl
On Tue, 22 Sep 2026 07:34:25 +0200, Mukesh Savaliya
<mukesh.savaliya@oss.qualcomm.com> said:
>
>
> On 9/21/2026 8:16 PM, Bartosz Golaszewski wrote:
> [...]
>
>> +#include <dt-bindings/dma/qcom-gpi.h>
>> #include <dt-bindings/interrupt-controller/arm-gic.h>
>>
>> / {
>> @@ -909,6 +910,28 @@ soc: soc@0 {
>> dma-ranges = <0 0 0 0 0x10 0>;
>> ranges = <0 0 0 0 0x10 0>;
>>
>> + gpi_dma2: dma-controller@800000 {
>> + compatible = "qcom,nord-gpi-dma", "qcom,sm6350-gpi-dma";
>> + reg = <0x0 0x00800000 0x0 0x60000>;
>> + #dma-cells = <3>;
>> + interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
>> + <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
>> + dma-channels = <12>;
>> + dma-channel-mask = <0xfff>;
>> + iommus = <&apps_smmu_0 0x15b6 0x0>;
>> + status = "disabled";
>
> we should be keeping GPI node default enabled similar to common QUPv3
> wrapper node.
> status = "ok" for all the nodes.
>
The pattern across Qualcomm platforms seems to disable the GPI DMA nodes at
SoC-level and only enable them at board-level.
Bart
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes
2026-09-22 8:24 ` Bartosz Golaszewski
@ 2026-09-23 12:40 ` Konrad Dybcio
2026-09-24 8:50 ` Mukesh Savaliya
0 siblings, 1 reply; 11+ messages in thread
From: Konrad Dybcio @ 2026-09-23 12:40 UTC (permalink / raw)
To: Bartosz Golaszewski, Mukesh Savaliya
Cc: linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski,
Shawn Guo, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
On 9/22/26 10:24 AM, Bartosz Golaszewski wrote:
> On Tue, 22 Sep 2026 07:34:25 +0200, Mukesh Savaliya
> <mukesh.savaliya@oss.qualcomm.com> said:
>>
>>
>> On 9/21/2026 8:16 PM, Bartosz Golaszewski wrote:
>> [...]
>>
>>> +#include <dt-bindings/dma/qcom-gpi.h>
>>> #include <dt-bindings/interrupt-controller/arm-gic.h>
>>>
>>> / {
>>> @@ -909,6 +910,28 @@ soc: soc@0 {
>>> dma-ranges = <0 0 0 0 0x10 0>;
>>> ranges = <0 0 0 0 0x10 0>;
>>>
>>> + gpi_dma2: dma-controller@800000 {
>>> + compatible = "qcom,nord-gpi-dma", "qcom,sm6350-gpi-dma";
>>> + reg = <0x0 0x00800000 0x0 0x60000>;
>>> + #dma-cells = <3>;
>>> + interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
>>> + <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
>>> + dma-channels = <12>;
>>> + dma-channel-mask = <0xfff>;
>>> + iommus = <&apps_smmu_0 0x15b6 0x0>;
>>> + status = "disabled";
>>
>> we should be keeping GPI node default enabled similar to common QUPv3
>> wrapper node.
>> status = "ok" for all the nodes.
>>
>
> The pattern across Qualcomm platforms seems to disable the GPI DMA nodes at
> SoC-level and only enable them at board-level.
For no reason - the DMA engines may be reserved through TZ config,
but for the past (high) N years that hasn't been the case
Konrad
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes
2026-09-23 12:40 ` Konrad Dybcio
@ 2026-09-24 8:50 ` Mukesh Savaliya
2026-09-24 8:55 ` Bartosz Golaszewski
0 siblings, 1 reply; 11+ messages in thread
From: Mukesh Savaliya @ 2026-09-24 8:50 UTC (permalink / raw)
To: Konrad Dybcio, Bartosz Golaszewski
Cc: linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski,
Shawn Guo, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Thanks Konrad, Bartosz !
On 9/23/2026 6:10 PM, Konrad Dybcio wrote:
> On 9/22/26 10:24 AM, Bartosz Golaszewski wrote:
>> On Tue, 22 Sep 2026 07:34:25 +0200, Mukesh Savaliya
>> <mukesh.savaliya@oss.qualcomm.com> said:
>>>
>>>
>>> On 9/21/2026 8:16 PM, Bartosz Golaszewski wrote:
>>> [...]
>>>
>>>> +#include <dt-bindings/dma/qcom-gpi.h>
>>>> #include <dt-bindings/interrupt-controller/arm-gic.h>
>>>>
>>>> / {
>>>> @@ -909,6 +910,28 @@ soc: soc@0 {
>>>> dma-ranges = <0 0 0 0 0x10 0>;
>>>> ranges = <0 0 0 0 0x10 0>;
>>>>
>>>> + gpi_dma2: dma-controller@800000 {
>>>> + compatible = "qcom,nord-gpi-dma", "qcom,sm6350-gpi-dma";
>>>> + reg = <0x0 0x00800000 0x0 0x60000>;
>>>> + #dma-cells = <3>;
>>>> + interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
>>>> + <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>;
>>>> + dma-channels = <12>;
>>>> + dma-channel-mask = <0xfff>;
>>>> + iommus = <&apps_smmu_0 0x15b6 0x0>;
>>>> + status = "disabled";
>>>
>>> we should be keeping GPI node default enabled similar to common QUPv3
>>> wrapper node.
>>> status = "ok" for all the nodes.
>>>
>>
>> The pattern across Qualcomm platforms seems to disable the GPI DMA nodes at
>> SoC-level and only enable them at board-level.
>
> For no reason - the DMA engines may be reserved through TZ config,
> but for the past (high) N years that hasn't been the case
>
There is a reason to reserve this from TZ. Some use cases require GPI to
be available during early boot, before Linux is up and running, which
necessitates keeping the GPI instance enabled.
Also, GPII is allocated per SE, while the GPI instance itself is shared
across all SEs within a QUP. Given that a QUP typically contains eight
SEs, it is likely that at least one SE will require GPI operation.
For that reason, my preference is to keep the GPI node enabled by
default. However, if there is a strong preference to make this
board-specific and enable it only where required, I can work with that
approach as well.
I think it would be better to align on the expected default behavior
now, rather than revisiting it later once additional users start
depending on it.
> Konrad
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes
2026-09-24 8:50 ` Mukesh Savaliya
@ 2026-09-24 8:55 ` Bartosz Golaszewski
2026-09-24 9:16 ` Konrad Dybcio
0 siblings, 1 reply; 11+ messages in thread
From: Bartosz Golaszewski @ 2026-09-24 8:55 UTC (permalink / raw)
To: Mukesh Savaliya
Cc: Konrad Dybcio, linux-arm-msm, devicetree, linux-kernel,
Bartosz Golaszewski, Shawn Guo, Bjorn Andersson, Konrad Dybcio,
Abel Vesa, Rob Herring, Krzysztof Kozlowski, Conor Dooley
On Thu, Sep 24, 2026 at 10:50 AM Mukesh Savaliya
<mukesh.savaliya@oss.qualcomm.com> wrote:
> >>>
> >>> we should be keeping GPI node default enabled similar to common QUPv3
> >>> wrapper node.
> >>> status = "ok" for all the nodes.
> >>>
> >>
> >> The pattern across Qualcomm platforms seems to disable the GPI DMA nodes at
> >> SoC-level and only enable them at board-level.
> >
> > For no reason - the DMA engines may be reserved through TZ config,
> > but for the past (high) N years that hasn't been the case
> >
>
> There is a reason to reserve this from TZ. Some use cases require GPI to
> be available during early boot, before Linux is up and running, which
> necessitates keeping the GPI instance enabled.
>
> Also, GPII is allocated per SE, while the GPI instance itself is shared
> across all SEs within a QUP. Given that a QUP typically contains eight
> SEs, it is likely that at least one SE will require GPI operation.
>
> For that reason, my preference is to keep the GPI node enabled by
> default. However, if there is a strong preference to make this
> board-specific and enable it only where required, I can work with that
> approach as well.
>
> I think it would be better to align on the expected default behavior
> now, rather than revisiting it later once additional users start
> depending on it.
If I understood Konrad correctly, he too is in favor of enabling the
GPI nodes. I was about to resend v3 with that changed.
Bart
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes
2026-09-24 8:55 ` Bartosz Golaszewski
@ 2026-09-24 9:16 ` Konrad Dybcio
0 siblings, 0 replies; 11+ messages in thread
From: Konrad Dybcio @ 2026-09-24 9:16 UTC (permalink / raw)
To: Bartosz Golaszewski, Mukesh Savaliya
Cc: linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski,
Shawn Guo, Bjorn Andersson, Konrad Dybcio, Abel Vesa,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
On 9/24/26 10:55 AM, Bartosz Golaszewski wrote:
> On Thu, Sep 24, 2026 at 10:50 AM Mukesh Savaliya
> <mukesh.savaliya@oss.qualcomm.com> wrote:
>>>>>
>>>>> we should be keeping GPI node default enabled similar to common QUPv3
>>>>> wrapper node.
>>>>> status = "ok" for all the nodes.
>>>>>
>>>>
>>>> The pattern across Qualcomm platforms seems to disable the GPI DMA nodes at
>>>> SoC-level and only enable them at board-level.
>>>
>>> For no reason - the DMA engines may be reserved through TZ config,
>>> but for the past (high) N years that hasn't been the case
>>>
>>
>> There is a reason to reserve this from TZ. Some use cases require GPI to
>> be available during early boot, before Linux is up and running, which
>> necessitates keeping the GPI instance enabled.
>>
>> Also, GPII is allocated per SE, while the GPI instance itself is shared
>> across all SEs within a QUP. Given that a QUP typically contains eight
>> SEs, it is likely that at least one SE will require GPI operation.
>>
>> For that reason, my preference is to keep the GPI node enabled by
>> default. However, if there is a strong preference to make this
>> board-specific and enable it only where required, I can work with that
>> approach as well.
>>
>> I think it would be better to align on the expected default behavior
>> now, rather than revisiting it later once additional users start
>> depending on it.
>
> If I understood Konrad correctly, he too is in favor of enabling the
> GPI nodes. I was about to resend v3 with that changed.
Yes please
Konrad
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-09-24 9:16 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-21 14:46 [PATCH v2 0/2] arm64: dts: qcom: nord: add GPI DMA nodes Bartosz Golaszewski
2026-09-21 14:46 ` [PATCH v2 1/2] arm64: dts: qcom: nord: add GPI DMA controller nodes Bartosz Golaszewski
2026-09-22 2:51 ` Shawn Guo
2026-09-22 5:34 ` Mukesh Savaliya
2026-09-22 8:24 ` Bartosz Golaszewski
2026-09-23 12:40 ` Konrad Dybcio
2026-09-24 8:50 ` Mukesh Savaliya
2026-09-24 8:55 ` Bartosz Golaszewski
2026-09-24 9:16 ` Konrad Dybcio
2026-09-21 14:46 ` [PATCH v2 2/2] arm64: dts: qcom: nord: wire up GPI DMA for QUP I2C/SPI engines Bartosz Golaszewski
2026-09-22 2:52 ` Shawn Guo
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®