* [PATCHv2 1/3] dt-bindings: spi: cadence-quadspi: document "cdns,qspi-nor-ver-00-10"
@ 2021-12-03 14:01 Dinh Nguyen
2021-12-03 14:01 ` [PATCHv2 2/3] ARM: dts: socfpga: change qspi to "cdns,qspi-nor-ver-00-10" Dinh Nguyen
2021-12-03 14:01 ` [PATCH 3/3] spi: cadence-quadspi: change socfpga-qspi " Dinh Nguyen
0 siblings, 2 replies; 5+ messages in thread
From: Dinh Nguyen @ 2021-12-03 14:01 UTC (permalink / raw)
To: devicetree; +Cc: dinguyen, broonie, robh+dt, p.yadav
The QSPI controller on Intel's SoCFPGA platform does not implement the
CQSPI_REG_WR_COMPLETION_CTRL register, thus a write to this register
results in a crash.
The module/revision ID is written in the MODULE_ID register. For this
variance, bits 23-8 is 0x0010.
Introduce the dts binding "cdns,qspi-nor-ver-00-10" to differentiate the
hardware.
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
v2: change binding to "cdns,qspi-nor-0010" to be more generic for other
platforms
---
Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml
index ca155abbda7a..2833e1c8841d 100644
--- a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml
+++ b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml
@@ -29,6 +29,7 @@ properties:
- ti,am654-ospi
- intel,lgm-qspi
- xlnx,versal-ospi-1.0
+ - cdns,qspi-nor-ver-00-10
- const: cdns,qspi-nor
- const: cdns,qspi-nor
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCHv2 2/3] ARM: dts: socfpga: change qspi to "cdns,qspi-nor-ver-00-10"
2021-12-03 14:01 [PATCHv2 1/3] dt-bindings: spi: cadence-quadspi: document "cdns,qspi-nor-ver-00-10" Dinh Nguyen
@ 2021-12-03 14:01 ` Dinh Nguyen
2021-12-03 14:01 ` [PATCH 3/3] spi: cadence-quadspi: change socfpga-qspi " Dinh Nguyen
1 sibling, 0 replies; 5+ messages in thread
From: Dinh Nguyen @ 2021-12-03 14:01 UTC (permalink / raw)
To: devicetree; +Cc: dinguyen, broonie, robh+dt, p.yadav
Because of commit 9cb2ff111712 ("spi: cadence-quadspi: Disable Auto-HW polling"),
which does a write to the CQSPI_REG_WR_COMPLETION_CTRL register
regardless of any condition. Well, the Cadence QuadSPI controller on
Intel's SoCFPGA platforms does not implement the
CQSPI_REG_WR_COMPLETION_CTRL register, thus a write to this register
results in a crash!
So starting with v5.16, I introduced the patch
98d948eb833 ("spi: cadence-quadspi: fix write completion support"),
which adds the dts property "cdns,qspi-nor-ver-00-10" that is specific for
versions that doesn't have the CQSPI_REG_WR_COMPLETION_CTRL register implemented.
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
v2: use both "cdns,qspi-nor" and "cdns,qspi-nor-0010"
---
arch/arm/boot/dts/socfpga.dtsi | 2 +-
arch/arm/boot/dts/socfpga_arria10.dtsi | 2 +-
arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi | 2 +-
arch/arm64/boot/dts/intel/socfpga_agilex.dtsi | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/socfpga.dtsi b/arch/arm/boot/dts/socfpga.dtsi
index 0b021eef0b53..c1f85d57ee96 100644
--- a/arch/arm/boot/dts/socfpga.dtsi
+++ b/arch/arm/boot/dts/socfpga.dtsi
@@ -782,7 +782,7 @@ ocram: sram@ffff0000 {
};
qspi: spi@ff705000 {
- compatible = "cdns,qspi-nor";
+ compatible = "cdns,qspi-nor-ver-00-10", "cdns,qspi-nor";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xff705000 0x1000>,
diff --git a/arch/arm/boot/dts/socfpga_arria10.dtsi b/arch/arm/boot/dts/socfpga_arria10.dtsi
index a574ea91d9d3..98166ad0b098 100644
--- a/arch/arm/boot/dts/socfpga_arria10.dtsi
+++ b/arch/arm/boot/dts/socfpga_arria10.dtsi
@@ -756,7 +756,7 @@ usb0-ecc@ff8c8800 {
};
qspi: spi@ff809000 {
- compatible = "cdns,qspi-nor";
+ compatible = "cdns,qspi-nor-ver-00-10", "cdns,qspi-nor";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xff809000 0x100>,
diff --git a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
index d301ac0d406b..aac29503a3a3 100644
--- a/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
+++ b/arch/arm64/boot/dts/altera/socfpga_stratix10.dtsi
@@ -594,7 +594,7 @@ emac0-tx-ecc@ff8c0400 {
};
qspi: spi@ff8d2000 {
- compatible = "cdns,qspi-nor";
+ compatible = "cdns,qspi-nor-ver-00-10", "cdns,qspi-nor";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xff8d2000 0x100>,
diff --git a/arch/arm64/boot/dts/intel/socfpga_agilex.dtsi b/arch/arm64/boot/dts/intel/socfpga_agilex.dtsi
index 163f33b46e4f..c72d5c9253fb 100644
--- a/arch/arm64/boot/dts/intel/socfpga_agilex.dtsi
+++ b/arch/arm64/boot/dts/intel/socfpga_agilex.dtsi
@@ -628,7 +628,7 @@ sdmmca-ecc@ff8c8c00 {
};
qspi: spi@ff8d2000 {
- compatible = "cdns,qspi-nor";
+ compatible = "cdns,qspi-nor-ver-00-10", "cdns,qspi-nor";
#address-cells = <1>;
#size-cells = <0>;
reg = <0xff8d2000 0x100>,
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH 3/3] spi: cadence-quadspi: change socfpga-qspi to "cdns,qspi-nor-ver-00-10"
2021-12-03 14:01 [PATCHv2 1/3] dt-bindings: spi: cadence-quadspi: document "cdns,qspi-nor-ver-00-10" Dinh Nguyen
2021-12-03 14:01 ` [PATCHv2 2/3] ARM: dts: socfpga: change qspi to "cdns,qspi-nor-ver-00-10" Dinh Nguyen
@ 2021-12-03 14:01 ` Dinh Nguyen
1 sibling, 0 replies; 5+ messages in thread
From: Dinh Nguyen @ 2021-12-03 14:01 UTC (permalink / raw)
To: devicetree; +Cc: dinguyen, broonie, robh+dt, p.yadav
To make the "intel,socfpga-qspi" more generic, change the binding to
"cdns,qspi-nor-ver-00-10". The "0010" represents the Module/Revision ID
number that is in the MODULE_ID register.
Fixes: f0234e62e4 ("spi: cadence-quadspi: fix write completion support")
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
drivers/spi/spi-cadence-quadspi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c
index b808c94641fa..b1421bcce67f 100644
--- a/drivers/spi/spi-cadence-quadspi.c
+++ b/drivers/spi/spi-cadence-quadspi.c
@@ -1869,7 +1869,7 @@ static const struct cqspi_driver_platdata intel_lgm_qspi = {
.quirks = CQSPI_DISABLE_DAC_MODE,
};
-static const struct cqspi_driver_platdata socfpga_qspi = {
+static const struct cqspi_driver_platdata cdns_qspi_0010 = {
.quirks = CQSPI_NO_SUPPORT_WR_COMPLETION,
};
@@ -1902,8 +1902,8 @@ static const struct of_device_id cqspi_dt_ids[] = {
.data = (void *)&versal_ospi,
},
{
- .compatible = "intel,socfpga-qspi",
- .data = (void *)&socfpga_qspi,
+ .compatible = "cdns,qspi-nor-ver-00-10",
+ .data = (void *)&cdns_qspi_0010,
},
{ /* end of table */ }
};
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCHv2 1/3] dt-bindings: spi: cadence-quadspi: document "cdns,qspi-nor-ver-00-10"
@ 2021-12-03 17:32 Dinh Nguyen
2021-12-03 17:32 ` [PATCH 3/3] spi: cadence-quadspi: change socfpga-qspi to "cdns,qspi-nor-ver-00-10" Dinh Nguyen
0 siblings, 1 reply; 5+ messages in thread
From: Dinh Nguyen @ 2021-12-03 17:32 UTC (permalink / raw)
To: devicetree; +Cc: dinguyen, broonie, robh+dt, p.yadav
The QSPI controller on Intel's SoCFPGA platform does not implement the
CQSPI_REG_WR_COMPLETION_CTRL register, thus a write to this register
results in a crash.
The module/revision ID is written in the MODULE_ID register. For this
variance, bits 23-8 is 0x0010.
Introduce the dts binding "cdns,qspi-nor-ver-00-10" to differentiate the
hardware.
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
v2: change binding to "cdns,qspi-nor-0010" to be more generic for other
platforms
---
Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml
index ca155abbda7a..2833e1c8841d 100644
--- a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml
+++ b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml
@@ -29,6 +29,7 @@ properties:
- ti,am654-ospi
- intel,lgm-qspi
- xlnx,versal-ospi-1.0
+ - cdns,qspi-nor-ver-00-10
- const: cdns,qspi-nor
- const: cdns,qspi-nor
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH 3/3] spi: cadence-quadspi: change socfpga-qspi to "cdns,qspi-nor-ver-00-10"
2021-12-03 17:32 [PATCHv2 1/3] dt-bindings: spi: cadence-quadspi: document "cdns,qspi-nor-ver-00-10" Dinh Nguyen
@ 2021-12-03 17:32 ` Dinh Nguyen
0 siblings, 0 replies; 5+ messages in thread
From: Dinh Nguyen @ 2021-12-03 17:32 UTC (permalink / raw)
To: devicetree; +Cc: dinguyen, broonie, robh+dt, p.yadav
To make the "intel,socfpga-qspi" more generic, change the binding to
"cdns,qspi-nor-ver-00-10". The "0010" represents the Module/Revision ID
number that is in the MODULE_ID register.
Fixes: f0234e62e4 ("spi: cadence-quadspi: fix write completion support")
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
drivers/spi/spi-cadence-quadspi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c
index b808c94641fa..b1421bcce67f 100644
--- a/drivers/spi/spi-cadence-quadspi.c
+++ b/drivers/spi/spi-cadence-quadspi.c
@@ -1869,7 +1869,7 @@ static const struct cqspi_driver_platdata intel_lgm_qspi = {
.quirks = CQSPI_DISABLE_DAC_MODE,
};
-static const struct cqspi_driver_platdata socfpga_qspi = {
+static const struct cqspi_driver_platdata cdns_qspi_0010 = {
.quirks = CQSPI_NO_SUPPORT_WR_COMPLETION,
};
@@ -1902,8 +1902,8 @@ static const struct of_device_id cqspi_dt_ids[] = {
.data = (void *)&versal_ospi,
},
{
- .compatible = "intel,socfpga-qspi",
- .data = (void *)&socfpga_qspi,
+ .compatible = "cdns,qspi-nor-ver-00-10",
+ .data = (void *)&cdns_qspi_0010,
},
{ /* end of table */ }
};
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCHv2 1/3] dt-bindings: spi: cadence-quadspi: document "cdns,qspi-nor-ver-00-10"
@ 2021-12-03 18:17 Dinh Nguyen
2021-12-03 18:17 ` [PATCH 3/3] spi: cadence-quadspi: change socfpga-qspi to "cdns,qspi-nor-ver-00-10" Dinh Nguyen
0 siblings, 1 reply; 5+ messages in thread
From: Dinh Nguyen @ 2021-12-03 18:17 UTC (permalink / raw)
To: devicetree; +Cc: dinguyen, broonie, robh+dt, p.yadav
The QSPI controller on Intel's SoCFPGA platform does not implement the
CQSPI_REG_WR_COMPLETION_CTRL register, thus a write to this register
results in a crash.
The module/revision ID is written in the MODULE_ID register. For this
variance, bits 23-8 is 0x0010.
Introduce the dts binding "cdns,qspi-nor-ver-00-10" to differentiate the
hardware.
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
v2: change binding to "cdns,qspi-nor-0010" to be more generic for other
platforms
---
Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml
index ca155abbda7a..2833e1c8841d 100644
--- a/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml
+++ b/Documentation/devicetree/bindings/spi/cdns,qspi-nor.yaml
@@ -29,6 +29,7 @@ properties:
- ti,am654-ospi
- intel,lgm-qspi
- xlnx,versal-ospi-1.0
+ - cdns,qspi-nor-ver-00-10
- const: cdns,qspi-nor
- const: cdns,qspi-nor
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH 3/3] spi: cadence-quadspi: change socfpga-qspi to "cdns,qspi-nor-ver-00-10"
2021-12-03 18:17 [PATCHv2 1/3] dt-bindings: spi: cadence-quadspi: document "cdns,qspi-nor-ver-00-10" Dinh Nguyen
@ 2021-12-03 18:17 ` Dinh Nguyen
0 siblings, 0 replies; 5+ messages in thread
From: Dinh Nguyen @ 2021-12-03 18:17 UTC (permalink / raw)
To: devicetree; +Cc: dinguyen, broonie, robh+dt, p.yadav
To make the "intel,socfpga-qspi" more generic, change the binding to
"cdns,qspi-nor-ver-00-10". The "0010" represents the Module/Revision ID
number that is in the MODULE_ID register.
Fixes: f0234e62e4 ("spi: cadence-quadspi: fix write completion support")
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
---
drivers/spi/spi-cadence-quadspi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c
index b808c94641fa..b1421bcce67f 100644
--- a/drivers/spi/spi-cadence-quadspi.c
+++ b/drivers/spi/spi-cadence-quadspi.c
@@ -1869,7 +1869,7 @@ static const struct cqspi_driver_platdata intel_lgm_qspi = {
.quirks = CQSPI_DISABLE_DAC_MODE,
};
-static const struct cqspi_driver_platdata socfpga_qspi = {
+static const struct cqspi_driver_platdata cdns_qspi_0010 = {
.quirks = CQSPI_NO_SUPPORT_WR_COMPLETION,
};
@@ -1902,8 +1902,8 @@ static const struct of_device_id cqspi_dt_ids[] = {
.data = (void *)&versal_ospi,
},
{
- .compatible = "intel,socfpga-qspi",
- .data = (void *)&socfpga_qspi,
+ .compatible = "cdns,qspi-nor-ver-00-10",
+ .data = (void *)&cdns_qspi_0010,
},
{ /* end of table */ }
};
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-12-03 18:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-03 14:01 [PATCHv2 1/3] dt-bindings: spi: cadence-quadspi: document "cdns,qspi-nor-ver-00-10" Dinh Nguyen
2021-12-03 14:01 ` [PATCHv2 2/3] ARM: dts: socfpga: change qspi to "cdns,qspi-nor-ver-00-10" Dinh Nguyen
2021-12-03 14:01 ` [PATCH 3/3] spi: cadence-quadspi: change socfpga-qspi " Dinh Nguyen
-- strict thread matches above, loose matches on Subject: below --
2021-12-03 17:32 [PATCHv2 1/3] dt-bindings: spi: cadence-quadspi: document "cdns,qspi-nor-ver-00-10" Dinh Nguyen
2021-12-03 17:32 ` [PATCH 3/3] spi: cadence-quadspi: change socfpga-qspi to "cdns,qspi-nor-ver-00-10" Dinh Nguyen
2021-12-03 18:17 [PATCHv2 1/3] dt-bindings: spi: cadence-quadspi: document "cdns,qspi-nor-ver-00-10" Dinh Nguyen
2021-12-03 18:17 ` [PATCH 3/3] spi: cadence-quadspi: change socfpga-qspi to "cdns,qspi-nor-ver-00-10" Dinh Nguyen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox