* [PATCH v2 0/3] spi: fsl-dspi: Convert to yaml format and use common SPI property
@ 2024-06-13 19:00 Frank Li
2024-06-13 19:00 ` [PATCH v2 1/3] spi: fsl-dspi: use common proptery 'spi-cs-setup(hold)-delay-ns' Frank Li
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Frank Li @ 2024-06-13 19:00 UTC (permalink / raw)
To: Vladimir Oltean, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo
Cc: linux-spi, linux-kernel, devicetree, linux-arm-kernel, imx,
Frank Li
Convert fsl-dspi binding to to yaml format.
Using common SPI property spi-cs-setup-delay-ns and spi-cs-hold-delay-ns.
Update driver and ls1043 dts file.
To: Vladimir Oltean <olteanv@gmail.com>
To: Mark Brown <broonie@kernel.org>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Shawn Guo <shawnguo@kernel.org>
Cc: linux-spi@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: imx@lists.linux.dev
Cc: olteanv@gmail.com
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
Frank Li (3):
spi: fsl-dspi: use common proptery 'spi-cs-setup(hold)-delay-ns'
spi: dt-bindings: fsl-dspi: Convert to yaml format
arm64: dts: fsl-ls1043a-rdb: use common spi-cs-setup(hold)-delay-ns
.../devicetree/bindings/spi/fsl,dspi.yaml | 115 +++++++++++++++++++++
.../devicetree/bindings/spi/spi-fsl-dspi.txt | 65 ------------
arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 12 +--
drivers/spi/spi-fsl-dspi.c | 14 ++-
4 files changed, 130 insertions(+), 76 deletions(-)
---
base-commit: 03d44168cbd7fc57d5de56a3730427db758fc7f6
change-id: 20240613-ls_qspi-bdced20e235e
Best regards,
---
Frank Li <Frank.Li@nxp.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 1/3] spi: fsl-dspi: use common proptery 'spi-cs-setup(hold)-delay-ns'
2024-06-13 19:00 [PATCH v2 0/3] spi: fsl-dspi: Convert to yaml format and use common SPI property Frank Li
@ 2024-06-13 19:00 ` Frank Li
2024-06-13 19:00 ` [PATCH v2 2/3] spi: dt-bindings: fsl-dspi: Convert to yaml format Frank Li
2024-06-13 19:00 ` [PATCH v2 3/3] arm64: dts: fsl-ls1043a-rdb: use common spi-cs-setup(hold)-delay-ns Frank Li
2 siblings, 0 replies; 5+ messages in thread
From: Frank Li @ 2024-06-13 19:00 UTC (permalink / raw)
To: Vladimir Oltean, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo
Cc: linux-spi, linux-kernel, devicetree, linux-arm-kernel, imx,
Frank Li
Use SPI common DT binding properties 'spi-cs-setup-delay-ns' and
'spi-cs-hold-delay-ns'. If these properties do not exist, fall back to
legacy 'fsl,spi-cs-sck-delay' and 'fsl,spi-sck-cs-delay'.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
drivers/spi/spi-fsl-dspi.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index 0a2730cd07c6a..7c1f8af9d215e 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -1018,11 +1018,15 @@ static int dspi_setup(struct spi_device *spi)
pdata = dev_get_platdata(&dspi->pdev->dev);
if (!pdata) {
- of_property_read_u32(spi->dev.of_node, "fsl,spi-cs-sck-delay",
- &cs_sck_delay);
-
- of_property_read_u32(spi->dev.of_node, "fsl,spi-sck-cs-delay",
- &sck_cs_delay);
+ cs_sck_delay = spi_delay_to_ns(&spi->cs_setup, NULL);
+ if (!cs_sck_delay)
+ of_property_read_u32(spi->dev.of_node, "fsl,spi-cs-sck-delay",
+ &cs_sck_delay);
+
+ sck_cs_delay = spi_delay_to_ns(&spi->cs_hold, NULL);
+ if (!sck_cs_delay)
+ of_property_read_u32(spi->dev.of_node, "fsl,spi-sck-cs-delay",
+ &sck_cs_delay);
} else {
cs_sck_delay = pdata->cs_sck_delay;
sck_cs_delay = pdata->sck_cs_delay;
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 2/3] spi: dt-bindings: fsl-dspi: Convert to yaml format
2024-06-13 19:00 [PATCH v2 0/3] spi: fsl-dspi: Convert to yaml format and use common SPI property Frank Li
2024-06-13 19:00 ` [PATCH v2 1/3] spi: fsl-dspi: use common proptery 'spi-cs-setup(hold)-delay-ns' Frank Li
@ 2024-06-13 19:00 ` Frank Li
2024-06-13 20:17 ` Rob Herring
2024-06-13 19:00 ` [PATCH v2 3/3] arm64: dts: fsl-ls1043a-rdb: use common spi-cs-setup(hold)-delay-ns Frank Li
2 siblings, 1 reply; 5+ messages in thread
From: Frank Li @ 2024-06-13 19:00 UTC (permalink / raw)
To: Vladimir Oltean, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo
Cc: linux-spi, linux-kernel, devicetree, linux-arm-kernel, imx,
Frank Li
Convert dt-binding spi-fsl-dspi.txt to yaml format.
Addtional changes during convert:
- compatible string "fsl,ls1028a-dspi" can be followed by
fsl,ls1021a-v1.0-dspi.
- Change "dspi0@4002c000" to "spi@4002c000" in example.
- Reorder properties in example.
- Use GIC include in example.
- Remove fsl,spi-cs-sck-delay and fsl,spi-sck-cs-delay by use common SPI
property.
- Use compatible string 'jedec,spi-nor' in example.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
.../devicetree/bindings/spi/fsl,dspi.yaml | 115 +++++++++++++++++++++
.../devicetree/bindings/spi/spi-fsl-dspi.txt | 65 ------------
2 files changed, 115 insertions(+), 65 deletions(-)
diff --git a/Documentation/devicetree/bindings/spi/fsl,dspi.yaml b/Documentation/devicetree/bindings/spi/fsl,dspi.yaml
new file mode 100644
index 0000000000000..924ba19aea017
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/fsl,dspi.yaml
@@ -0,0 +1,115 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/spi/fsl,dspi.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ARM Freescale DSPI controller
+
+maintainers:
+ - Frank Li <Frank.Li@nxp.com>
+
+properties:
+ compatible:
+ oneOf:
+ - enum:
+ - fsl,vf610-dspi
+ - fsl,ls1021a-v1.0-dspi
+ - fsl,ls1012a-dspi
+ - fsl,ls1028a-dspi
+ - fsl,ls1043a-dspi
+ - fsl,ls1046a-dspi
+ - fsl,ls1088a-dspi
+ - fsl,ls2080a-dspi
+ - fsl,ls2085a-dspi
+ - fsl,lx2160a-dspi
+ - items:
+ - enum:
+ - fsl,ls1012a-dspi
+ - fsl,ls1028a-dspi
+ - fsl,ls1043a-dspi
+ - fsl,ls1046a-dspi
+ - fsl,ls1088a-dspi
+ - const: fsl,ls1021a-v1.0-dspi
+ - items:
+ - const: fsl,ls2080a-dspi
+ - const: fsl,ls2085a-dspi
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ items:
+ - const: dspi
+
+ pinctrl-0: true
+
+ pinctrl-names:
+ items:
+ - const: default
+
+ spi-num-chipselects:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: the number of the chipselect signals.
+
+ big-endian:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description:
+ If present the dspi device's registers are implemented
+ in big endian mode.
+
+ bus-num:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: the slave chip chipselect signal number.
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - interrupts
+ - pinctrl-0
+ - pinctrl-names
+ - spi-num-chipselects
+
+allOf:
+ - $ref: spi-controller.yaml#
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/clock/vf610-clock.h>
+
+ spi@4002c000 {
+ compatible = "fsl,vf610-dspi";
+ reg = <0x4002c000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clks VF610_CLK_DSPI0>;
+ clock-names = "dspi";
+ spi-num-chipselects = <5>;
+ bus-num = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_dspi0_1>;
+ big-endian;
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <16000000>;
+ spi-cpol;
+ spi-cpha;
+ spi-cs-setup-delay-ns = <100>;
+ spi-cs-hold-delay-ns = <50>;
+ };
+ };
+
diff --git a/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt b/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
deleted file mode 100644
index 30a79da9c039d..0000000000000
--- a/Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-ARM Freescale DSPI controller
-
-Required properties:
-- compatible : must be one of:
- "fsl,vf610-dspi",
- "fsl,ls1021a-v1.0-dspi",
- "fsl,ls1012a-dspi" (optionally followed by "fsl,ls1021a-v1.0-dspi"),
- "fsl,ls1028a-dspi",
- "fsl,ls1043a-dspi" (optionally followed by "fsl,ls1021a-v1.0-dspi"),
- "fsl,ls1046a-dspi" (optionally followed by "fsl,ls1021a-v1.0-dspi"),
- "fsl,ls1088a-dspi" (optionally followed by "fsl,ls1021a-v1.0-dspi"),
- "fsl,ls2080a-dspi" (optionally followed by "fsl,ls2085a-dspi"),
- "fsl,ls2085a-dspi",
- "fsl,lx2160a-dspi",
-- reg : Offset and length of the register set for the device
-- interrupts : Should contain SPI controller interrupt
-- clocks: from common clock binding: handle to dspi clock.
-- clock-names: from common clock binding: Shall be "dspi".
-- pinctrl-0: pin control group to be used for this controller.
-- pinctrl-names: must contain a "default" entry.
-- spi-num-chipselects : the number of the chipselect signals.
-
-Optional property:
-- big-endian: If present the dspi device's registers are implemented
- in big endian mode.
-- bus-num : the slave chip chipselect signal number.
-
-Optional SPI slave node properties:
-- fsl,spi-cs-sck-delay: a delay in nanoseconds between activating chip
- select and the start of clock signal, at the start of a transfer.
-- fsl,spi-sck-cs-delay: a delay in nanoseconds between stopping the clock
- signal and deactivating chip select, at the end of a transfer.
-
-Example:
-
-dspi0@4002c000 {
- #address-cells = <1>;
- #size-cells = <0>;
- compatible = "fsl,vf610-dspi";
- reg = <0x4002c000 0x1000>;
- interrupts = <0 67 0x04>;
- clocks = <&clks VF610_CLK_DSPI0>;
- clock-names = "dspi";
- spi-num-chipselects = <5>;
- bus-num = <0>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_dspi0_1>;
- big-endian;
-
- sflash: at26df081a@0 {
- #address-cells = <1>;
- #size-cells = <1>;
- compatible = "atmel,at26df081a";
- spi-max-frequency = <16000000>;
- spi-cpol;
- spi-cpha;
- reg = <0>;
- linux,modalias = "m25p80";
- modal = "at26df081a";
- fsl,spi-cs-sck-delay = <100>;
- fsl,spi-sck-cs-delay = <50>;
- };
-};
-
-
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v2 3/3] arm64: dts: fsl-ls1043a-rdb: use common spi-cs-setup(hold)-delay-ns
2024-06-13 19:00 [PATCH v2 0/3] spi: fsl-dspi: Convert to yaml format and use common SPI property Frank Li
2024-06-13 19:00 ` [PATCH v2 1/3] spi: fsl-dspi: use common proptery 'spi-cs-setup(hold)-delay-ns' Frank Li
2024-06-13 19:00 ` [PATCH v2 2/3] spi: dt-bindings: fsl-dspi: Convert to yaml format Frank Li
@ 2024-06-13 19:00 ` Frank Li
2 siblings, 0 replies; 5+ messages in thread
From: Frank Li @ 2024-06-13 19:00 UTC (permalink / raw)
To: Vladimir Oltean, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Shawn Guo
Cc: linux-spi, linux-kernel, devicetree, linux-arm-kernel, imx,
Frank Li
Use SPI common propteries 'spi-cs-setup-delay-ns' and
'spi-cs-hold-delay-ns' instead of private properties 'fsl,spi-cs-sck-delay'
and 'fsl,spi-sck-cs-delay'.
Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
index 26f8540cb101b..23b9a8b315468 100644
--- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts
@@ -104,24 +104,24 @@ flash@0 {
compatible = "n25q128a13", "jedec,spi-nor"; /* 16MB */
reg = <0>;
spi-max-frequency = <1000000>; /* input clock */
- fsl,spi-cs-sck-delay = <100>;
- fsl,spi-sck-cs-delay = <100>;
+ spi-cs-setup-delay-ns = <100>;
+ spi-cs-hold-delay-ns = <100>;
};
slic@2 {
compatible = "maxim,ds26522";
reg = <2>;
spi-max-frequency = <2000000>;
- fsl,spi-cs-sck-delay = <100>;
- fsl,spi-sck-cs-delay = <50>;
+ spi-cs-setup-delay-ns = <100>;
+ spi-cs-hold-delay-ns = <49>;
};
slic@3 {
compatible = "maxim,ds26522";
reg = <3>;
spi-max-frequency = <2000000>;
- fsl,spi-cs-sck-delay = <100>;
- fsl,spi-sck-cs-delay = <50>;
+ spi-cs-setup-delay-ns = <100>;
+ spi-cs-hold-delay-ns = <50>;
};
};
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/3] spi: dt-bindings: fsl-dspi: Convert to yaml format
2024-06-13 19:00 ` [PATCH v2 2/3] spi: dt-bindings: fsl-dspi: Convert to yaml format Frank Li
@ 2024-06-13 20:17 ` Rob Herring
0 siblings, 0 replies; 5+ messages in thread
From: Rob Herring @ 2024-06-13 20:17 UTC (permalink / raw)
To: Frank Li
Cc: Vladimir Oltean, Mark Brown, Krzysztof Kozlowski, Conor Dooley,
Shawn Guo, linux-spi, linux-kernel, devicetree, linux-arm-kernel,
imx
On Thu, Jun 13, 2024 at 03:00:38PM -0400, Frank Li wrote:
> Convert dt-binding spi-fsl-dspi.txt to yaml format.
>
> Addtional changes during convert:
> - compatible string "fsl,ls1028a-dspi" can be followed by
> fsl,ls1021a-v1.0-dspi.
> - Change "dspi0@4002c000" to "spi@4002c000" in example.
> - Reorder properties in example.
> - Use GIC include in example.
> - Remove fsl,spi-cs-sck-delay and fsl,spi-sck-cs-delay by use common SPI
> property.
You can't just remove them. These are mature platforms using them and
replacing the properties would break kernels without your driver change.
The only compatible change would be put both properties in the DT.
You need to pick up what Vladimir did:
https://lore.kernel.org/linux-spi/20221111224651.577729-1-vladimir.oltean@nxp.com/
> - Use compatible string 'jedec,spi-nor' in example.
>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> .../devicetree/bindings/spi/fsl,dspi.yaml | 115 +++++++++++++++++++++
> .../devicetree/bindings/spi/spi-fsl-dspi.txt | 65 ------------
> 2 files changed, 115 insertions(+), 65 deletions(-)
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-06-13 20:17 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-13 19:00 [PATCH v2 0/3] spi: fsl-dspi: Convert to yaml format and use common SPI property Frank Li
2024-06-13 19:00 ` [PATCH v2 1/3] spi: fsl-dspi: use common proptery 'spi-cs-setup(hold)-delay-ns' Frank Li
2024-06-13 19:00 ` [PATCH v2 2/3] spi: dt-bindings: fsl-dspi: Convert to yaml format Frank Li
2024-06-13 20:17 ` Rob Herring
2024-06-13 19:00 ` [PATCH v2 3/3] arm64: dts: fsl-ls1043a-rdb: use common spi-cs-setup(hold)-delay-ns Frank Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).