* [PATCH 0/6] Add QSPI support for QCS615 and improve interconnect handling
@ 2026-03-24 13:13 Viken Dadhaniya
2026-03-24 13:13 ` [PATCH v1 1/6] spi: dt-bindings: qcom-qspi: Add QCS615 compatible Viken Dadhaniya
` (5 more replies)
0 siblings, 6 replies; 18+ messages in thread
From: Viken Dadhaniya @ 2026-03-24 13:13 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers
Cc: linux-arm-msm, linux-spi, devicetree, linux-kernel,
Viken Dadhaniya
Add QSPI controller support for the QCS615 (Talos) platform and improve
interconnect bandwidth management for QSPI controllers across multiple
Qualcomm SoCs.
The series consists of:
1. Add QCS615 compatible string to device tree bindings.
2. Add qspi-memory interconnect path support to the driver for proper DMA
bandwidth allocation.
3. Add QSPI support to QCS615 platform including OPP table, pinmux, and
controller node.
4. Enable QSPI controller and SPI-NOR flash on QCS615-RIDE board.
5. Add QSPI memory interconnect paths to existing SC7180 and Kodiak
platforms.
The key improvement in this series is adding the qspi-memory interconnect
path. Previously, the QSPI driver only managed the CPU-to-QSPI
configuration path. Add support for the QSPI-to-memory path, which is
essential for proper bandwidth allocation during DMA operations when the
QSPI controller transfers data to/from system memory.
Set the memory path bandwidth equal to the transfer speed, matching the
existing pattern used for the CPU path. Enable and disable both paths
properly during runtime PM transitions to ensure efficient power
management.
Apply this change to existing platforms (SC7180/Kodiak) as well as the
newly added QCS615 platform to ensure consistent interconnect handling
across all QSPI-enabled SoCs.
Testing:
- Verified QSPI functionality on QCS615-RIDE with SPI-NOR flash
- Confirmed proper interconnect bandwidth voting during transfers
- Validated runtime PM transitions with both interconnect paths
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
---
Viken Dadhaniya (6):
spi: dt-bindings: qcom-qspi: Add QCS615 compatible
spi: spi-qcom-qspi: Add interconnect support for memory path
arm64: dts: qcom: talos: Add QSPI support
arm64: dts: qcom: qcs615-ride: enable QSPI and NOR flash
arm64: dts: qcom: kodiak: Add QSPI memory interconnect path
arm64: dts: qcom: sc7180: Add QSPI memory interconnect path
.../bindings/spi/qcom,spi-qcom-qspi.yaml | 1 +
arch/arm64/boot/dts/qcom/kodiak.dtsi | 7 +-
arch/arm64/boot/dts/qcom/qcs615-ride.dts | 12 ++++
arch/arm64/boot/dts/qcom/sc7180.dtsi | 7 +-
arch/arm64/boot/dts/qcom/talos.dtsi | 80 ++++++++++++++++++++++
drivers/spi/spi-qcom-qspi.c | 36 +++++++++-
6 files changed, 134 insertions(+), 9 deletions(-)
---
base-commit: c369299895a591d96745d6492d4888259b004a9e
change-id: 20260324-spi-nor-09c6d9e0de05
Best regards,
--
Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v1 1/6] spi: dt-bindings: qcom-qspi: Add QCS615 compatible
2026-03-24 13:13 [PATCH 0/6] Add QSPI support for QCS615 and improve interconnect handling Viken Dadhaniya
@ 2026-03-24 13:13 ` Viken Dadhaniya
2026-03-25 11:12 ` Krzysztof Kozlowski
2026-03-24 13:13 ` [PATCH v1 2/6] spi: spi-qcom-qspi: Add interconnect support for memory path Viken Dadhaniya
` (4 subsequent siblings)
5 siblings, 1 reply; 18+ messages in thread
From: Viken Dadhaniya @ 2026-03-24 13:13 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers
Cc: linux-arm-msm, linux-spi, devicetree, linux-kernel,
Viken Dadhaniya
Add the "qcom,qcs615-qspi" compatible string to the Qualcomm QSPI device-
tree binding to enable QCS615-based platforms to use the existing QSPI
controller binding.
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
---
Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml b/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
index 1696ac46a660..d9aac33b695b 100644
--- a/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
+++ b/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
@@ -20,6 +20,7 @@ properties:
compatible:
items:
- enum:
+ - qcom,qcs615-qspi
- qcom,sc7180-qspi
- qcom,sc7280-qspi
- qcom,sdm845-qspi
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v1 2/6] spi: spi-qcom-qspi: Add interconnect support for memory path
2026-03-24 13:13 [PATCH 0/6] Add QSPI support for QCS615 and improve interconnect handling Viken Dadhaniya
2026-03-24 13:13 ` [PATCH v1 1/6] spi: dt-bindings: qcom-qspi: Add QCS615 compatible Viken Dadhaniya
@ 2026-03-24 13:13 ` Viken Dadhaniya
2026-03-24 16:24 ` Mark Brown
2026-03-24 13:13 ` [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support Viken Dadhaniya
` (3 subsequent siblings)
5 siblings, 1 reply; 18+ messages in thread
From: Viken Dadhaniya @ 2026-03-24 13:13 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers
Cc: linux-arm-msm, linux-spi, devicetree, linux-kernel,
Viken Dadhaniya
The QSPI controller has two interconnect paths:
1. qspi-config: CPU to QSPI controller for register access
2. qspi-memory: QSPI controller to memory for DMA operations
Currently, the driver only manages the qspi-config path. Add support for
the qspi-memory path to ensure proper bandwidth allocation for QSPI data
transfers to/from memory. Enable and disable both paths during runtime PM
transitions.
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
---
drivers/spi/spi-qcom-qspi.c | 36 +++++++++++++++++++++++++++++++++---
1 file changed, 33 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/spi-qcom-qspi.c b/drivers/spi/spi-qcom-qspi.c
index 7e39038160e0..624b3a7b6291 100644
--- a/drivers/spi/spi-qcom-qspi.c
+++ b/drivers/spi/spi-qcom-qspi.c
@@ -174,6 +174,7 @@ struct qcom_qspi {
void *virt_cmd_desc[QSPI_MAX_SG];
unsigned int n_cmd_desc;
struct icc_path *icc_path_cpu_to_qspi;
+ struct icc_path *icc_path_mem;
unsigned long last_speed;
/* Lock to protect data accessed by IRQs */
spinlock_t lock;
@@ -272,7 +273,7 @@ static void qcom_qspi_handle_err(struct spi_controller *host,
static int qcom_qspi_set_speed(struct qcom_qspi *ctrl, unsigned long speed_hz)
{
int ret;
- unsigned int avg_bw_cpu;
+ unsigned int avg_bw_cpu, avg_bw_mem;
if (speed_hz == ctrl->last_speed)
return 0;
@@ -285,7 +286,7 @@ static int qcom_qspi_set_speed(struct qcom_qspi *ctrl, unsigned long speed_hz)
}
/*
- * Set BW quota for CPU.
+ * Set BW quota for CPU and memory paths.
* We don't have explicit peak requirement so keep it equal to avg_bw.
*/
avg_bw_cpu = Bps_to_icc(speed_hz);
@@ -296,6 +297,13 @@ static int qcom_qspi_set_speed(struct qcom_qspi *ctrl, unsigned long speed_hz)
return ret;
}
+ avg_bw_mem = Bps_to_icc(speed_hz);
+ ret = icc_set_bw(ctrl->icc_path_mem, avg_bw_mem, avg_bw_mem);
+ if (ret) {
+ dev_err(ctrl->dev, "ICC BW voting failed for memory: %d\n", ret);
+ return ret;
+ }
+
ctrl->last_speed = speed_hz;
return 0;
@@ -729,6 +737,11 @@ static int qcom_qspi_probe(struct platform_device *pdev)
return dev_err_probe(dev, PTR_ERR(ctrl->icc_path_cpu_to_qspi),
"Failed to get cpu path\n");
+ ctrl->icc_path_mem = devm_of_icc_get(dev, "qspi-memory");
+ if (IS_ERR(ctrl->icc_path_mem))
+ return dev_err_probe(dev, PTR_ERR(ctrl->icc_path_mem),
+ "Failed to get memory path\n");
+
/* Set BW vote for register access */
ret = icc_set_bw(ctrl->icc_path_cpu_to_qspi, Bps_to_icc(1000),
Bps_to_icc(1000));
@@ -829,6 +842,13 @@ static int __maybe_unused qcom_qspi_runtime_suspend(struct device *dev)
return ret;
}
+ ret = icc_disable(ctrl->icc_path_mem);
+ if (ret) {
+ dev_err_ratelimited(ctrl->dev, "ICC disable failed for memory: %d\n", ret);
+ icc_enable(ctrl->icc_path_cpu_to_qspi);
+ return ret;
+ }
+
pinctrl_pm_select_sleep_state(dev);
return 0;
@@ -849,9 +869,19 @@ static int __maybe_unused qcom_qspi_runtime_resume(struct device *dev)
return ret;
}
+ ret = icc_enable(ctrl->icc_path_mem);
+ if (ret) {
+ dev_err_ratelimited(ctrl->dev, "ICC enable failed for memory: %d\n", ret);
+ icc_disable(ctrl->icc_path_cpu_to_qspi);
+ return ret;
+ }
+
ret = clk_bulk_prepare_enable(QSPI_NUM_CLKS, ctrl->clks);
- if (ret)
+ if (ret) {
+ icc_disable(ctrl->icc_path_cpu_to_qspi);
+ icc_disable(ctrl->icc_path_mem);
return ret;
+ }
return dev_pm_opp_set_rate(dev, ctrl->last_speed * 4);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support
2026-03-24 13:13 [PATCH 0/6] Add QSPI support for QCS615 and improve interconnect handling Viken Dadhaniya
2026-03-24 13:13 ` [PATCH v1 1/6] spi: dt-bindings: qcom-qspi: Add QCS615 compatible Viken Dadhaniya
2026-03-24 13:13 ` [PATCH v1 2/6] spi: spi-qcom-qspi: Add interconnect support for memory path Viken Dadhaniya
@ 2026-03-24 13:13 ` Viken Dadhaniya
2026-03-24 20:51 ` Dmitry Baryshkov
` (2 more replies)
2026-03-24 13:13 ` [PATCH v1 4/6] arm64: dts: qcom: qcs615-ride: enable QSPI and NOR flash Viken Dadhaniya
` (2 subsequent siblings)
5 siblings, 3 replies; 18+ messages in thread
From: Viken Dadhaniya @ 2026-03-24 13:13 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers
Cc: linux-arm-msm, linux-spi, devicetree, linux-kernel,
Viken Dadhaniya
The Talos (QCS615) platform includes a QSPI controller used for accessing
external flash storage. Add the QSPI OPP table, TLMM pinmux entries, and
the QSPI controller node to enable support for this hardware.
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/talos.dtsi | 80 +++++++++++++++++++++++++++++++++++++
1 file changed, 80 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
index 75716b4a58d6..fd727924b8ca 100644
--- a/arch/arm64/boot/dts/qcom/talos.dtsi
+++ b/arch/arm64/boot/dts/qcom/talos.dtsi
@@ -530,6 +530,25 @@ cdsp_smp2p_in: slave-kernel {
};
+ qspi_opp_table: opp-table-qspi {
+ compatible = "operating-points-v2";
+
+ opp-60000000 {
+ opp-hz = /bits/ 64 <60000000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ };
+
+ opp-133250000 {
+ opp-hz = /bits/ 64 <133250000>;
+ required-opps = <&rpmhpd_opp_svs>;
+ };
+
+ opp-266500000 {
+ opp-hz = /bits/ 64 <266500000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ };
+ };
+
qup_opp_table: opp-table-qup {
compatible = "operating-points-v2";
@@ -1553,6 +1572,34 @@ tlmm: pinctrl@3100000 {
#interrupt-cells = <2>;
wakeup-parent = <&pdc>;
+ qspi_cs0: qspi-cs0-state {
+ pins = "gpio44";
+ function = "qspi";
+ bias-disable;
+ drive-strength = <6>;
+ };
+
+ qspi_data0123: qspi-data0123-state {
+ pins = "gpio45", "gpio46", "gpio47", "gpio49";
+ function = "qspi";
+ bias-pull-down;
+ drive-strength = <6>;
+ };
+
+ qspi_clk: qspi-clk-state {
+ pins = "gpio48";
+ function = "qspi";
+ bias-pull-down;
+ drive-strength = <6>;
+ };
+
+ qspi_cs1: qspi-cs1-state {
+ pins = "gpio50";
+ function = "qspi";
+ bias-pull-down;
+ drive-strength = <6>;
+ };
+
qup_i2c1_data_clk: qup-i2c1-data-clk-state {
pins = "gpio4", "gpio5";
function = "qup0";
@@ -3682,6 +3729,39 @@ opp-202000000 {
};
};
+ qspi: spi@88df000 {
+ compatible = "qcom,qcs615-qspi",
+ "qcom,qspi-v1";
+ reg = <0x0 0x088df000 0x0 0x1000>;
+
+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH 0>;
+
+ clocks = <&gcc GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
+ <&gcc GCC_QSPI_CORE_CLK>;
+ clock-names = "iface",
+ "core";
+
+ interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
+ &config_noc SLAVE_QSPI QCOM_ICC_TAG_ALWAYS>,
+ <&aggre1_noc MASTER_QSPI QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ interconnect-names = "qspi-config",
+ "qspi-memory";
+
+ power-domains = <&rpmhpd RPMHPD_CX>;
+ operating-points-v2 = <&qspi_opp_table>;
+
+ iommus = <&apps_smmu 0x160 0x0>;
+
+ pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data0123>;
+ pinctrl-names = "default";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+ };
+
dc_noc: interconnect@9160000 {
reg = <0x0 0x09160000 0x0 0x3200>;
compatible = "qcom,qcs615-dc-noc";
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v1 4/6] arm64: dts: qcom: qcs615-ride: enable QSPI and NOR flash
2026-03-24 13:13 [PATCH 0/6] Add QSPI support for QCS615 and improve interconnect handling Viken Dadhaniya
` (2 preceding siblings ...)
2026-03-24 13:13 ` [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support Viken Dadhaniya
@ 2026-03-24 13:13 ` Viken Dadhaniya
2026-03-24 20:53 ` Dmitry Baryshkov
2026-03-24 13:13 ` [PATCH v1 5/6] arm64: dts: qcom: kodiak: Add QSPI memory interconnect path Viken Dadhaniya
2026-03-24 13:13 ` [PATCH v1 6/6] arm64: dts: qcom: sc7180: " Viken Dadhaniya
5 siblings, 1 reply; 18+ messages in thread
From: Viken Dadhaniya @ 2026-03-24 13:13 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers
Cc: linux-arm-msm, linux-spi, devicetree, linux-kernel,
Viken Dadhaniya
The QCS615 Ride board has a SPI-NOR flash connected to the QSPI controller
on CS0. Enable the QSPI controller and add the corresponding SPI-NOR flash
node to allow the system to access it.
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/qcs615-ride.dts | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/qcs615-ride.dts b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
index 5a24c19c415e..b096d96ab220 100644
--- a/arch/arm64/boot/dts/qcom/qcs615-ride.dts
+++ b/arch/arm64/boot/dts/qcom/qcs615-ride.dts
@@ -516,6 +516,18 @@ &pon_resin {
status = "okay";
};
+&qspi {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <25000000>;
+ spi-tx-bus-width = <2>;
+ spi-rx-bus-width = <2>;
+ };
+};
+
&qupv3_id_0 {
status = "okay";
};
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v1 5/6] arm64: dts: qcom: kodiak: Add QSPI memory interconnect path
2026-03-24 13:13 [PATCH 0/6] Add QSPI support for QCS615 and improve interconnect handling Viken Dadhaniya
` (3 preceding siblings ...)
2026-03-24 13:13 ` [PATCH v1 4/6] arm64: dts: qcom: qcs615-ride: enable QSPI and NOR flash Viken Dadhaniya
@ 2026-03-24 13:13 ` Viken Dadhaniya
2026-03-24 20:54 ` Dmitry Baryshkov
2026-03-24 13:13 ` [PATCH v1 6/6] arm64: dts: qcom: sc7180: " Viken Dadhaniya
5 siblings, 1 reply; 18+ messages in thread
From: Viken Dadhaniya @ 2026-03-24 13:13 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers
Cc: linux-arm-msm, linux-spi, devicetree, linux-kernel,
Viken Dadhaniya
Add the missing QSPI-to-memory interconnect path alongside the existing
configuration path. Without it, the interconnect framework cannot vote for
the bandwidth required by QSPI DMA data transfers.
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/kodiak.dtsi | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
index 6079e67ea829..9a44bb3811a7 100644
--- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
+++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
@@ -4312,9 +4312,10 @@ qspi: spi@88dc000 {
clocks = <&gcc GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
<&gcc GCC_QSPI_CORE_CLK>;
clock-names = "iface", "core";
- interconnects = <&gem_noc MASTER_APPSS_PROC 0
- &cnoc2 SLAVE_QSPI_0 0>;
- interconnect-names = "qspi-config";
+ interconnects = <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QSPI_0 0>,
+ <&aggre1_noc MASTER_QSPI_0 0 &mc_virt SLAVE_EBI1 0>;
+ interconnect-names = "qspi-config",
+ "qspi-memory";
power-domains = <&rpmhpd SC7280_CX>;
operating-points-v2 = <&qspi_opp_table>;
status = "disabled";
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v1 6/6] arm64: dts: qcom: sc7180: Add QSPI memory interconnect path
2026-03-24 13:13 [PATCH 0/6] Add QSPI support for QCS615 and improve interconnect handling Viken Dadhaniya
` (4 preceding siblings ...)
2026-03-24 13:13 ` [PATCH v1 5/6] arm64: dts: qcom: kodiak: Add QSPI memory interconnect path Viken Dadhaniya
@ 2026-03-24 13:13 ` Viken Dadhaniya
2026-03-24 20:54 ` Dmitry Baryshkov
5 siblings, 1 reply; 18+ messages in thread
From: Viken Dadhaniya @ 2026-03-24 13:13 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers
Cc: linux-arm-msm, linux-spi, devicetree, linux-kernel,
Viken Dadhaniya
Add the missing QSPI-to-memory interconnect path alongside the existing
configuration path. Without this path, the interconnect framework cannot
correctly vote for the bandwidth required by QSPI DMA data transfers.
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sc7180.dtsi | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 45b9864e3304..7093b39e1509 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -2864,9 +2864,10 @@ qspi: spi@88dc000 {
clocks = <&gcc GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
<&gcc GCC_QSPI_CORE_CLK>;
clock-names = "iface", "core";
- interconnects = <&gem_noc MASTER_APPSS_PROC 0
- &config_noc SLAVE_QSPI_0 0>;
- interconnect-names = "qspi-config";
+ interconnects = <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QSPI_0 0>,
+ <&aggre1_noc MASTER_QSPI 0 &mc_virt SLAVE_EBI1 0>;
+ interconnect-names = "qspi-config",
+ "qspi-memory";
power-domains = <&rpmhpd SC7180_CX>;
operating-points-v2 = <&qspi_opp_table>;
status = "disabled";
--
2.34.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PATCH v1 2/6] spi: spi-qcom-qspi: Add interconnect support for memory path
2026-03-24 13:13 ` [PATCH v1 2/6] spi: spi-qcom-qspi: Add interconnect support for memory path Viken Dadhaniya
@ 2026-03-24 16:24 ` Mark Brown
0 siblings, 0 replies; 18+ messages in thread
From: Mark Brown @ 2026-03-24 16:24 UTC (permalink / raw)
To: Viken Dadhaniya
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, cros-qcom-dts-watchers, linux-arm-msm, linux-spi,
devicetree, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 558 bytes --]
On Tue, Mar 24, 2026 at 06:43:19PM +0530, Viken Dadhaniya wrote:
> @@ -829,6 +842,13 @@ static int __maybe_unused qcom_qspi_runtime_suspend(struct device *dev)
> return ret;
> }
>
> + ret = icc_disable(ctrl->icc_path_mem);
> + if (ret) {
> + dev_err_ratelimited(ctrl->dev, "ICC disable failed for memory: %d\n", ret);
> + icc_enable(ctrl->icc_path_cpu_to_qspi);
> + return ret;
> + }
> +
This reenables the ICC but not the clocks on error (which is a
preexisting bug with the error handling if the other ICC fails but
still...).
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support
2026-03-24 13:13 ` [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support Viken Dadhaniya
@ 2026-03-24 20:51 ` Dmitry Baryshkov
2026-03-25 9:32 ` Konrad Dybcio
2026-03-24 20:52 ` Dmitry Baryshkov
2026-03-25 11:13 ` Krzysztof Kozlowski
2 siblings, 1 reply; 18+ messages in thread
From: Dmitry Baryshkov @ 2026-03-24 20:51 UTC (permalink / raw)
To: Viken Dadhaniya
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers,
linux-arm-msm, linux-spi, devicetree, linux-kernel
On Tue, Mar 24, 2026 at 06:43:20PM +0530, Viken Dadhaniya wrote:
> The Talos (QCS615) platform includes a QSPI controller used for accessing
> external flash storage. Add the QSPI OPP table, TLMM pinmux entries, and
> the QSPI controller node to enable support for this hardware.
>
> Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/talos.dtsi | 80 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 80 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
> index 75716b4a58d6..fd727924b8ca 100644
> --- a/arch/arm64/boot/dts/qcom/talos.dtsi
> +++ b/arch/arm64/boot/dts/qcom/talos.dtsi
> @@ -530,6 +530,25 @@ cdsp_smp2p_in: slave-kernel {
>
> };
>
> + qspi_opp_table: opp-table-qspi {
Why is it not defined inside the QSPI device itself?
> + compatible = "operating-points-v2";
> +
> + opp-60000000 {
> + opp-hz = /bits/ 64 <60000000>;
> + required-opps = <&rpmhpd_opp_low_svs>;
> + };
> +
> + opp-133250000 {
> + opp-hz = /bits/ 64 <133250000>;
> + required-opps = <&rpmhpd_opp_svs>;
> + };
> +
> + opp-266500000 {
> + opp-hz = /bits/ 64 <266500000>;
> + required-opps = <&rpmhpd_opp_nom>;
> + };
> + };
> +
> qup_opp_table: opp-table-qup {
> compatible = "operating-points-v2";
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support
2026-03-24 13:13 ` [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support Viken Dadhaniya
2026-03-24 20:51 ` Dmitry Baryshkov
@ 2026-03-24 20:52 ` Dmitry Baryshkov
2026-03-25 11:13 ` Krzysztof Kozlowski
2 siblings, 0 replies; 18+ messages in thread
From: Dmitry Baryshkov @ 2026-03-24 20:52 UTC (permalink / raw)
To: Viken Dadhaniya
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers,
linux-arm-msm, linux-spi, devicetree, linux-kernel
On Tue, Mar 24, 2026 at 06:43:20PM +0530, Viken Dadhaniya wrote:
> The Talos (QCS615) platform includes a QSPI controller used for accessing
> external flash storage. Add the QSPI OPP table, TLMM pinmux entries, and
> the QSPI controller node to enable support for this hardware.
>
> Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/talos.dtsi | 80 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 80 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
> index 75716b4a58d6..fd727924b8ca 100644
> --- a/arch/arm64/boot/dts/qcom/talos.dtsi
> +++ b/arch/arm64/boot/dts/qcom/talos.dtsi
> @@ -530,6 +530,25 @@ cdsp_smp2p_in: slave-kernel {
>
> };
>
> + qspi_opp_table: opp-table-qspi {
> + compatible = "operating-points-v2";
> +
> + opp-60000000 {
> + opp-hz = /bits/ 64 <60000000>;
> + required-opps = <&rpmhpd_opp_low_svs>;
> + };
> +
> + opp-133250000 {
> + opp-hz = /bits/ 64 <133250000>;
> + required-opps = <&rpmhpd_opp_svs>;
> + };
> +
> + opp-266500000 {
> + opp-hz = /bits/ 64 <266500000>;
> + required-opps = <&rpmhpd_opp_nom>;
> + };
> + };
> +
> qup_opp_table: opp-table-qup {
> compatible = "operating-points-v2";
>
> @@ -1553,6 +1572,34 @@ tlmm: pinctrl@3100000 {
> #interrupt-cells = <2>;
> wakeup-parent = <&pdc>;
>
> + qspi_cs0: qspi-cs0-state {
> + pins = "gpio44";
> + function = "qspi";
> + bias-disable;
> + drive-strength = <6>;
> + };
> +
> + qspi_data0123: qspi-data0123-state {
> + pins = "gpio45", "gpio46", "gpio47", "gpio49";
> + function = "qspi";
> + bias-pull-down;
> + drive-strength = <6>;
> + };
> +
> + qspi_clk: qspi-clk-state {
> + pins = "gpio48";
> + function = "qspi";
> + bias-pull-down;
> + drive-strength = <6>;
> + };
> +
> + qspi_cs1: qspi-cs1-state {
> + pins = "gpio50";
> + function = "qspi";
> + bias-pull-down;
> + drive-strength = <6>;
> + };
> +
> qup_i2c1_data_clk: qup-i2c1-data-clk-state {
> pins = "gpio4", "gpio5";
> function = "qup0";
> @@ -3682,6 +3729,39 @@ opp-202000000 {
> };
> };
>
> + qspi: spi@88df000 {
> + compatible = "qcom,qcs615-qspi",
> + "qcom,qspi-v1";
> + reg = <0x0 0x088df000 0x0 0x1000>;
> +
> + interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH 0>;
> +
> + clocks = <&gcc GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
> + <&gcc GCC_QSPI_CORE_CLK>;
> + clock-names = "iface",
> + "core";
> +
> + interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
> + &config_noc SLAVE_QSPI QCOM_ICC_TAG_ALWAYS>,
> + <&aggre1_noc MASTER_QSPI QCOM_ICC_TAG_ALWAYS
> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
Should those be ACTIVE_ONLY rather than ALWAYS?
> + interconnect-names = "qspi-config",
> + "qspi-memory";
> +
> + power-domains = <&rpmhpd RPMHPD_CX>;
> + operating-points-v2 = <&qspi_opp_table>;
> +
> + iommus = <&apps_smmu 0x160 0x0>;
> +
> + pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data0123>;
> + pinctrl-names = "default";
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + status = "disabled";
> + };
> +
> dc_noc: interconnect@9160000 {
> reg = <0x0 0x09160000 0x0 0x3200>;
> compatible = "qcom,qcs615-dc-noc";
>
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v1 4/6] arm64: dts: qcom: qcs615-ride: enable QSPI and NOR flash
2026-03-24 13:13 ` [PATCH v1 4/6] arm64: dts: qcom: qcs615-ride: enable QSPI and NOR flash Viken Dadhaniya
@ 2026-03-24 20:53 ` Dmitry Baryshkov
0 siblings, 0 replies; 18+ messages in thread
From: Dmitry Baryshkov @ 2026-03-24 20:53 UTC (permalink / raw)
To: Viken Dadhaniya
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers,
linux-arm-msm, linux-spi, devicetree, linux-kernel
On Tue, Mar 24, 2026 at 06:43:21PM +0530, Viken Dadhaniya wrote:
> The QCS615 Ride board has a SPI-NOR flash connected to the QSPI controller
> on CS0. Enable the QSPI controller and add the corresponding SPI-NOR flash
> node to allow the system to access it.
>
> Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/qcs615-ride.dts | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v1 5/6] arm64: dts: qcom: kodiak: Add QSPI memory interconnect path
2026-03-24 13:13 ` [PATCH v1 5/6] arm64: dts: qcom: kodiak: Add QSPI memory interconnect path Viken Dadhaniya
@ 2026-03-24 20:54 ` Dmitry Baryshkov
0 siblings, 0 replies; 18+ messages in thread
From: Dmitry Baryshkov @ 2026-03-24 20:54 UTC (permalink / raw)
To: Viken Dadhaniya
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers,
linux-arm-msm, linux-spi, devicetree, linux-kernel
On Tue, Mar 24, 2026 at 06:43:22PM +0530, Viken Dadhaniya wrote:
> Add the missing QSPI-to-memory interconnect path alongside the existing
> configuration path. Without it, the interconnect framework cannot vote for
> the bandwidth required by QSPI DMA data transfers.
>
> Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/kodiak.dtsi | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> index 6079e67ea829..9a44bb3811a7 100644
> --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
> +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> @@ -4312,9 +4312,10 @@ qspi: spi@88dc000 {
> clocks = <&gcc GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
> <&gcc GCC_QSPI_CORE_CLK>;
> clock-names = "iface", "core";
> - interconnects = <&gem_noc MASTER_APPSS_PROC 0
> - &cnoc2 SLAVE_QSPI_0 0>;
> - interconnect-names = "qspi-config";
> + interconnects = <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_QSPI_0 0>,
> + <&aggre1_noc MASTER_QSPI_0 0 &mc_virt SLAVE_EBI1 0>;
As you are touching thse lines, please also switch to correspodning
QCOM_ICC_TAGs (and I'm not sure if those should be ALWAYS).
> + interconnect-names = "qspi-config",
> + "qspi-memory";
> power-domains = <&rpmhpd SC7280_CX>;
> operating-points-v2 = <&qspi_opp_table>;
> status = "disabled";
>
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v1 6/6] arm64: dts: qcom: sc7180: Add QSPI memory interconnect path
2026-03-24 13:13 ` [PATCH v1 6/6] arm64: dts: qcom: sc7180: " Viken Dadhaniya
@ 2026-03-24 20:54 ` Dmitry Baryshkov
0 siblings, 0 replies; 18+ messages in thread
From: Dmitry Baryshkov @ 2026-03-24 20:54 UTC (permalink / raw)
To: Viken Dadhaniya
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers,
linux-arm-msm, linux-spi, devicetree, linux-kernel
On Tue, Mar 24, 2026 at 06:43:23PM +0530, Viken Dadhaniya wrote:
> Add the missing QSPI-to-memory interconnect path alongside the existing
> configuration path. Without this path, the interconnect framework cannot
> correctly vote for the bandwidth required by QSPI DMA data transfers.
>
> Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/sc7180.dtsi | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
> index 45b9864e3304..7093b39e1509 100644
> --- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
> @@ -2864,9 +2864,10 @@ qspi: spi@88dc000 {
> clocks = <&gcc GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
> <&gcc GCC_QSPI_CORE_CLK>;
> clock-names = "iface", "core";
> - interconnects = <&gem_noc MASTER_APPSS_PROC 0
> - &config_noc SLAVE_QSPI_0 0>;
> - interconnect-names = "qspi-config";
> + interconnects = <&gem_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_QSPI_0 0>,
> + <&aggre1_noc MASTER_QSPI 0 &mc_virt SLAVE_EBI1 0>;
The same, please use QCOM_ICC_TAGs
> + interconnect-names = "qspi-config",
> + "qspi-memory";
> power-domains = <&rpmhpd SC7180_CX>;
> operating-points-v2 = <&qspi_opp_table>;
> status = "disabled";
>
> --
> 2.34.1
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support
2026-03-24 20:51 ` Dmitry Baryshkov
@ 2026-03-25 9:32 ` Konrad Dybcio
0 siblings, 0 replies; 18+ messages in thread
From: Konrad Dybcio @ 2026-03-25 9:32 UTC (permalink / raw)
To: Dmitry Baryshkov, Viken Dadhaniya
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers,
linux-arm-msm, linux-spi, devicetree, linux-kernel
On 3/24/26 9:51 PM, Dmitry Baryshkov wrote:
> On Tue, Mar 24, 2026 at 06:43:20PM +0530, Viken Dadhaniya wrote:
>> The Talos (QCS615) platform includes a QSPI controller used for accessing
>> external flash storage. Add the QSPI OPP table, TLMM pinmux entries, and
>> the QSPI controller node to enable support for this hardware.
>>
>> Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
>> ---
>> arch/arm64/boot/dts/qcom/talos.dtsi | 80 +++++++++++++++++++++++++++++++++++++
>> 1 file changed, 80 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
>> index 75716b4a58d6..fd727924b8ca 100644
>> --- a/arch/arm64/boot/dts/qcom/talos.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/talos.dtsi
>> @@ -530,6 +530,25 @@ cdsp_smp2p_in: slave-kernel {
>>
>> };
>>
>> + qspi_opp_table: opp-table-qspi {
>
> Why is it not defined inside the QSPI device itself?
The QSPI device has #address-cells = <1>, so we'd get:
Warning (spi_bus_reg): /soc@0/spi@88dc000/opp-table-qspi: missing or empty reg property
Konrad
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v1 1/6] spi: dt-bindings: qcom-qspi: Add QCS615 compatible
2026-03-24 13:13 ` [PATCH v1 1/6] spi: dt-bindings: qcom-qspi: Add QCS615 compatible Viken Dadhaniya
@ 2026-03-25 11:12 ` Krzysztof Kozlowski
2026-03-26 9:07 ` Konrad Dybcio
0 siblings, 1 reply; 18+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-25 11:12 UTC (permalink / raw)
To: Viken Dadhaniya
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers,
linux-arm-msm, linux-spi, devicetree, linux-kernel
On Tue, Mar 24, 2026 at 06:43:18PM +0530, Viken Dadhaniya wrote:
> Add the "qcom,qcs615-qspi" compatible string to the Qualcomm QSPI device-
> tree binding
^^ Full stop
> to enable QCS615-based platforms to use the existing QSPI
> controller binding.
That's obvious, no need to state it. Writing longer texts without actual
useful message is not helpful.
>
> Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml b/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
> index 1696ac46a660..d9aac33b695b 100644
> --- a/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
> +++ b/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
> @@ -20,6 +20,7 @@ properties:
> compatible:
> items:
> - enum:
> + - qcom,qcs615-qspi
Existing bindings allow flexible interconnects, but it should be
constrained. At least for new variants. Please move allOf: to the bottom
(after required:) and add there if:then: requiring min two interconnects
for qcs615.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support
2026-03-24 13:13 ` [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support Viken Dadhaniya
2026-03-24 20:51 ` Dmitry Baryshkov
2026-03-24 20:52 ` Dmitry Baryshkov
@ 2026-03-25 11:13 ` Krzysztof Kozlowski
2 siblings, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-25 11:13 UTC (permalink / raw)
To: Viken Dadhaniya
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers,
linux-arm-msm, linux-spi, devicetree, linux-kernel
On Tue, Mar 24, 2026 at 06:43:20PM +0530, Viken Dadhaniya wrote:
> The Talos (QCS615) platform includes a QSPI controller used for accessing
> external flash storage. Add the QSPI OPP table, TLMM pinmux entries, and
> the QSPI controller node to enable support for this hardware.
>
> Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
> ---
> arch/arm64/boot/dts/qcom/talos.dtsi | 80 +++++++++++++++++++++++++++++++++++++
> 1 file changed, 80 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/talos.dtsi b/arch/arm64/boot/dts/qcom/talos.dtsi
> index 75716b4a58d6..fd727924b8ca 100644
> --- a/arch/arm64/boot/dts/qcom/talos.dtsi
> +++ b/arch/arm64/boot/dts/qcom/talos.dtsi
> @@ -530,6 +530,25 @@ cdsp_smp2p_in: slave-kernel {
>
> };
>
> + qspi_opp_table: opp-table-qspi {
Does device have only one QSPI? Then table goes to device node and
binding needs "opp-table".
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v1 1/6] spi: dt-bindings: qcom-qspi: Add QCS615 compatible
2026-03-25 11:12 ` Krzysztof Kozlowski
@ 2026-03-26 9:07 ` Konrad Dybcio
2026-03-26 9:10 ` Krzysztof Kozlowski
0 siblings, 1 reply; 18+ messages in thread
From: Konrad Dybcio @ 2026-03-26 9:07 UTC (permalink / raw)
To: Krzysztof Kozlowski, Viken Dadhaniya
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers,
linux-arm-msm, linux-spi, devicetree, linux-kernel
On 3/25/26 12:12 PM, Krzysztof Kozlowski wrote:
> On Tue, Mar 24, 2026 at 06:43:18PM +0530, Viken Dadhaniya wrote:
>> Add the "qcom,qcs615-qspi" compatible string to the Qualcomm QSPI device-
>> tree binding
>
> ^^ Full stop
>
>> to enable QCS615-based platforms to use the existing QSPI
>> controller binding.
>
> That's obvious, no need to state it. Writing longer texts without actual
> useful message is not helpful.
>
>>
>> Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
>> ---
>> Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml b/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
>> index 1696ac46a660..d9aac33b695b 100644
>> --- a/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
>> +++ b/Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.yaml
>> @@ -20,6 +20,7 @@ properties:
>> compatible:
>> items:
>> - enum:
>> + - qcom,qcs615-qspi
>
> Existing bindings allow flexible interconnects, but it should be
> constrained. At least for new variants. Please move allOf: to the bottom
> (after required:) and add there if:then: requiring min two interconnects
> for qcs615.
FWIW they should have never been flexible on any platform
Konrad
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v1 1/6] spi: dt-bindings: qcom-qspi: Add QCS615 compatible
2026-03-26 9:07 ` Konrad Dybcio
@ 2026-03-26 9:10 ` Krzysztof Kozlowski
0 siblings, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-26 9:10 UTC (permalink / raw)
To: Konrad Dybcio, Viken Dadhaniya
Cc: Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bjorn Andersson, Konrad Dybcio, cros-qcom-dts-watchers,
linux-arm-msm, linux-spi, devicetree, linux-kernel
On 26/03/2026 10:07, Konrad Dybcio wrote:
>>> - enum:
>>> + - qcom,qcs615-qspi
>>
>> Existing bindings allow flexible interconnects, but it should be
>> constrained. At least for new variants. Please move allOf: to the bottom
>> (after required:) and add there if:then: requiring min two interconnects
>> for qcs615.
>
> FWIW they should have never been flexible on any platform
Changing existing ones affects ABI and I do not wamt to stall this
contribution. New code however must be correct.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2026-03-26 9:10 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-24 13:13 [PATCH 0/6] Add QSPI support for QCS615 and improve interconnect handling Viken Dadhaniya
2026-03-24 13:13 ` [PATCH v1 1/6] spi: dt-bindings: qcom-qspi: Add QCS615 compatible Viken Dadhaniya
2026-03-25 11:12 ` Krzysztof Kozlowski
2026-03-26 9:07 ` Konrad Dybcio
2026-03-26 9:10 ` Krzysztof Kozlowski
2026-03-24 13:13 ` [PATCH v1 2/6] spi: spi-qcom-qspi: Add interconnect support for memory path Viken Dadhaniya
2026-03-24 16:24 ` Mark Brown
2026-03-24 13:13 ` [PATCH v1 3/6] arm64: dts: qcom: talos: Add QSPI support Viken Dadhaniya
2026-03-24 20:51 ` Dmitry Baryshkov
2026-03-25 9:32 ` Konrad Dybcio
2026-03-24 20:52 ` Dmitry Baryshkov
2026-03-25 11:13 ` Krzysztof Kozlowski
2026-03-24 13:13 ` [PATCH v1 4/6] arm64: dts: qcom: qcs615-ride: enable QSPI and NOR flash Viken Dadhaniya
2026-03-24 20:53 ` Dmitry Baryshkov
2026-03-24 13:13 ` [PATCH v1 5/6] arm64: dts: qcom: kodiak: Add QSPI memory interconnect path Viken Dadhaniya
2026-03-24 20:54 ` Dmitry Baryshkov
2026-03-24 13:13 ` [PATCH v1 6/6] arm64: dts: qcom: sc7180: " Viken Dadhaniya
2026-03-24 20:54 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox