* [PATCH v2 0/3] spi: dw: Add support for an optional interface clock
@ 2019-03-19 15:52 Gareth Williams
2019-03-19 15:52 ` [PATCH v2 1/3] dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings documentation Gareth Williams
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Gareth Williams @ 2019-03-19 15:52 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Mark Rutland
Cc: Gareth Williams, Phil Edworthy, linux-spi, devicetree, linux-kernel
v2:
- Separated mandatory clock documentation and spelling correction from
optional clock property documentation.
- Subject line for dt-bindings patches changed to match subsystem
convention.
- Dependancy information added to driver patch notes.
- Optional clock comment in code expanded for clarity.
Gareth Williams (1):
dt-bindings: snps,dw-apb-ssi: Add optional clock bindings
documentation
Phil Edworthy (2):
dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings
documentation
spi: dw: Add support for an optional interface clock
Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt | 10 +++++++++-
drivers/spi/spi-dw-mmio.c | 12 ++++++++++++
2 files changed, 21 insertions(+), 1 deletion(-)
--
2.7.4
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/3] dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings documentation
2019-03-19 15:52 [PATCH v2 0/3] spi: dw: Add support for an optional interface clock Gareth Williams
@ 2019-03-19 15:52 ` Gareth Williams
2019-03-20 17:30 ` Applied "dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings documentation" to the spi tree Mark Brown
2019-03-19 15:52 ` [PATCH v2 2/3] dt-bindings: snps,dw-apb-ssi: Add optional clock bindings documentation Gareth Williams
2019-03-19 15:52 ` [PATCH v2 3/3] spi: dw: Add support for an optional interface clock Gareth Williams
2 siblings, 1 reply; 7+ messages in thread
From: Gareth Williams @ 2019-03-19 15:52 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Mark Rutland
Cc: Phil Edworthy, linux-spi, devicetree, linux-kernel, Gareth Williams
From: Phil Edworthy <phil.edworthy@renesas.com>
The Synopsys SSI driver uses a mandatory clock that is not documented,
so detail it in the device tree bindings. Also correct the spelling of
"pins" in the "Optional Properties" section for the driver.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Gareth Williams <gareth.williams.jx@renesas.com>
---
v2:
- Seperated spelling correction and mandatory clock documentation
from the optional interface clock documentation commit.
---
Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
index 2864bc6..bcd8f96 100644
--- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
+++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
@@ -8,9 +8,10 @@ Required properties:
- interrupts : One interrupt, used by the controller.
- #address-cells : <1>, as required by generic SPI binding.
- #size-cells : <0>, also as required by generic SPI binding.
+- clocks : phandle for the core clock used to generate the external SPI clock.
Optional properties:
-- cs-gpios : Specifies the gpio pis to be used for chipselects.
+- cs-gpios : Specifies the gpio pins to be used for chipselects.
- num-cs : The number of chipselects. If omitted, this will default to 4.
- reg-io-width : The I/O register width (in bytes) implemented by this
device. Supported values are 2 or 4 (the default).
@@ -25,6 +26,7 @@ Example:
interrupts = <0 154 4>;
#address-cells = <1>;
#size-cells = <0>;
+ clocks = <&spi_m_clk>;
num-cs = <2>;
cs-gpios = <&gpio0 13 0>,
<&gpio0 14 0>;
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/3] dt-bindings: snps,dw-apb-ssi: Add optional clock bindings documentation
2019-03-19 15:52 [PATCH v2 0/3] spi: dw: Add support for an optional interface clock Gareth Williams
2019-03-19 15:52 ` [PATCH v2 1/3] dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings documentation Gareth Williams
@ 2019-03-19 15:52 ` Gareth Williams
2019-03-20 17:30 ` Applied "dt-bindings: snps,dw-apb-ssi: Add optional clock bindings documentation" to the spi tree Mark Brown
2019-03-19 15:52 ` [PATCH v2 3/3] spi: dw: Add support for an optional interface clock Gareth Williams
2 siblings, 1 reply; 7+ messages in thread
From: Gareth Williams @ 2019-03-19 15:52 UTC (permalink / raw)
To: Mark Brown, Rob Herring, Mark Rutland
Cc: Gareth Williams, Phil Edworthy, linux-spi, devicetree, linux-kernel
Add documentation to the Synopsys SPI dt-bindings to support an
optional interface clock that may be used for register access.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Gareth Williams <gareth.williams.jx@renesas.com>
---
v2: Created this separate patch to detail the optional interface clock
property. This includes the clocks section on working with the two
clocks and the clock-names line for pclk.
---
Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
index bcd8f96..f54c8c3 100644
--- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
+++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
@@ -8,9 +8,15 @@ Required properties:
- interrupts : One interrupt, used by the controller.
- #address-cells : <1>, as required by generic SPI binding.
- #size-cells : <0>, also as required by generic SPI binding.
-- clocks : phandle for the core clock used to generate the external SPI clock.
+- clocks : phandles for the clocks, see the description of clock-names below.
+ The phandle for the "ssi_clk" is required. The phandle for the "pclk" clock
+ is optional. If a single clock is specified but no clock-name, it is the
+ "ssi_clk" clock. If both clocks are listed, the "ssi_clk" must be first.
Optional properties:
+- clock-names : Contains the names of the clocks:
+ "ssi_clk", for the core clock used to generate the external SPI clock.
+ "pclk", the interface clock, required for register access.
- cs-gpios : Specifies the gpio pins to be used for chipselects.
- num-cs : The number of chipselects. If omitted, this will default to 4.
- reg-io-width : The I/O register width (in bytes) implemented by this
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 3/3] spi: dw: Add support for an optional interface clock
2019-03-19 15:52 [PATCH v2 0/3] spi: dw: Add support for an optional interface clock Gareth Williams
2019-03-19 15:52 ` [PATCH v2 1/3] dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings documentation Gareth Williams
2019-03-19 15:52 ` [PATCH v2 2/3] dt-bindings: snps,dw-apb-ssi: Add optional clock bindings documentation Gareth Williams
@ 2019-03-19 15:52 ` Gareth Williams
2019-03-20 17:30 ` Applied "spi: dw: Add support for an optional interface clock" to the spi tree Mark Brown
2 siblings, 1 reply; 7+ messages in thread
From: Gareth Williams @ 2019-03-19 15:52 UTC (permalink / raw)
To: Mark Brown; +Cc: Phil Edworthy, linux-spi, linux-kernel, Gareth Williams
From: Phil Edworthy <phil.edworthy@renesas.com>
The Synopsys SSI Controller has an interface clock, but most SoCs hide
this away. However, on some SoCs you need to explicitly enable the
interface clock in order to access the registers. Therefore, add support
for an optional interface clock.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Gareth Williams <gareth.williams.jx@renesas.com>
---
v2:
- Added dependancy information to patch notes.
- Expanded on optional clock comment for clarity
Depends on commit 60b8f0ddf1a ("clk: Add (devm_)clk_get_optional()
functions")
---
drivers/spi/spi-dw-mmio.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/spi/spi-dw-mmio.c b/drivers/spi/spi-dw-mmio.c
index 4bd59a9..de952b1 100644
--- a/drivers/spi/spi-dw-mmio.c
+++ b/drivers/spi/spi-dw-mmio.c
@@ -30,6 +30,7 @@
struct dw_spi_mmio {
struct dw_spi dws;
struct clk *clk;
+ struct clk *pclk;
void *priv;
};
@@ -172,6 +173,14 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
if (ret)
return ret;
+ /* Optional clock needed to access the registers */
+ dwsmmio->pclk = devm_clk_get_optional(&pdev->dev, "pclk");
+ if (IS_ERR(dwsmmio->pclk))
+ return PTR_ERR(dwsmmio->pclk);
+ ret = clk_prepare_enable(dwsmmio->pclk);
+ if (ret)
+ goto out_clk;
+
dws->bus_num = pdev->id;
dws->max_freq = clk_get_rate(dwsmmio->clk);
@@ -199,6 +208,8 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
return 0;
out:
+ clk_disable_unprepare(dwsmmio->pclk);
+out_clk:
clk_disable_unprepare(dwsmmio->clk);
return ret;
}
@@ -208,6 +219,7 @@ static int dw_spi_mmio_remove(struct platform_device *pdev)
struct dw_spi_mmio *dwsmmio = platform_get_drvdata(pdev);
dw_spi_remove_host(&dwsmmio->dws);
+ clk_disable_unprepare(dwsmmio->pclk);
clk_disable_unprepare(dwsmmio->clk);
return 0;
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Applied "spi: dw: Add support for an optional interface clock" to the spi tree
2019-03-19 15:52 ` [PATCH v2 3/3] spi: dw: Add support for an optional interface clock Gareth Williams
@ 2019-03-20 17:30 ` Mark Brown
0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2019-03-20 17:30 UTC (permalink / raw)
To: Phil Edworthy
Cc: Gareth Williams, Mark Brown, Mark Brown, linux-spi, linux-kernel,
Gareth Williams, linux-spi
The patch
spi: dw: Add support for an optional interface clock
has been applied to the spi tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
From 560ee7e9100916e30e126a53d127ca54745b2a8e Mon Sep 17 00:00:00 2001
From: Phil Edworthy <phil.edworthy@renesas.com>
Date: Tue, 19 Mar 2019 15:52:07 +0000
Subject: [PATCH] spi: dw: Add support for an optional interface clock
The Synopsys SSI Controller has an interface clock, but most SoCs hide
this away. However, on some SoCs you need to explicitly enable the
interface clock in order to access the registers. Therefore, add support
for an optional interface clock.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Gareth Williams <gareth.williams.jx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
drivers/spi/spi-dw-mmio.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/spi/spi-dw-mmio.c b/drivers/spi/spi-dw-mmio.c
index 4bd59a93d988..de952b17bc10 100644
--- a/drivers/spi/spi-dw-mmio.c
+++ b/drivers/spi/spi-dw-mmio.c
@@ -30,6 +30,7 @@
struct dw_spi_mmio {
struct dw_spi dws;
struct clk *clk;
+ struct clk *pclk;
void *priv;
};
@@ -172,6 +173,14 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
if (ret)
return ret;
+ /* Optional clock needed to access the registers */
+ dwsmmio->pclk = devm_clk_get_optional(&pdev->dev, "pclk");
+ if (IS_ERR(dwsmmio->pclk))
+ return PTR_ERR(dwsmmio->pclk);
+ ret = clk_prepare_enable(dwsmmio->pclk);
+ if (ret)
+ goto out_clk;
+
dws->bus_num = pdev->id;
dws->max_freq = clk_get_rate(dwsmmio->clk);
@@ -199,6 +208,8 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
return 0;
out:
+ clk_disable_unprepare(dwsmmio->pclk);
+out_clk:
clk_disable_unprepare(dwsmmio->clk);
return ret;
}
@@ -208,6 +219,7 @@ static int dw_spi_mmio_remove(struct platform_device *pdev)
struct dw_spi_mmio *dwsmmio = platform_get_drvdata(pdev);
dw_spi_remove_host(&dwsmmio->dws);
+ clk_disable_unprepare(dwsmmio->pclk);
clk_disable_unprepare(dwsmmio->clk);
return 0;
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Applied "dt-bindings: snps,dw-apb-ssi: Add optional clock bindings documentation" to the spi tree
2019-03-19 15:52 ` [PATCH v2 2/3] dt-bindings: snps,dw-apb-ssi: Add optional clock bindings documentation Gareth Williams
@ 2019-03-20 17:30 ` Mark Brown
0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2019-03-20 17:30 UTC (permalink / raw)
To: Gareth Williams
Cc: Phil Edworthy, Mark Brown, Mark Brown, Rob Herring, Mark Rutland,
Phil Edworthy, linux-spi, devicetree, linux-kernel, linux-spi
The patch
dt-bindings: snps,dw-apb-ssi: Add optional clock bindings documentation
has been applied to the spi tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
From 2f324ac7cf8c50aa079cf30445b99a1b98ea2728 Mon Sep 17 00:00:00 2001
From: Gareth Williams <gareth.williams.jx@renesas.com>
Date: Tue, 19 Mar 2019 15:52:06 +0000
Subject: [PATCH] dt-bindings: snps,dw-apb-ssi: Add optional clock bindings
documentation
Add documentation to the Synopsys SPI dt-bindings to support an
optional interface clock that may be used for register access.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Gareth Williams <gareth.williams.jx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
index bcd8f960afb9..f54c8c36395e 100644
--- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
+++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
@@ -8,9 +8,15 @@ Required properties:
- interrupts : One interrupt, used by the controller.
- #address-cells : <1>, as required by generic SPI binding.
- #size-cells : <0>, also as required by generic SPI binding.
-- clocks : phandle for the core clock used to generate the external SPI clock.
+- clocks : phandles for the clocks, see the description of clock-names below.
+ The phandle for the "ssi_clk" is required. The phandle for the "pclk" clock
+ is optional. If a single clock is specified but no clock-name, it is the
+ "ssi_clk" clock. If both clocks are listed, the "ssi_clk" must be first.
Optional properties:
+- clock-names : Contains the names of the clocks:
+ "ssi_clk", for the core clock used to generate the external SPI clock.
+ "pclk", the interface clock, required for register access.
- cs-gpios : Specifies the gpio pins to be used for chipselects.
- num-cs : The number of chipselects. If omitted, this will default to 4.
- reg-io-width : The I/O register width (in bytes) implemented by this
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Applied "dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings documentation" to the spi tree
2019-03-19 15:52 ` [PATCH v2 1/3] dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings documentation Gareth Williams
@ 2019-03-20 17:30 ` Mark Brown
0 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2019-03-20 17:30 UTC (permalink / raw)
To: Phil Edworthy
Cc: Gareth Williams, Mark Brown, Mark Brown, Rob Herring,
Mark Rutland, linux-spi, devicetree, linux-kernel,
Gareth Williams, linux-spi
The patch
dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings documentation
has been applied to the spi tree at
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
From 57a9f6e7eefa697349ff4823f178fd56abe27345 Mon Sep 17 00:00:00 2001
From: Phil Edworthy <phil.edworthy@renesas.com>
Date: Tue, 19 Mar 2019 15:52:05 +0000
Subject: [PATCH] dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings
documentation
The Synopsys SSI driver uses a mandatory clock that is not documented,
so detail it in the device tree bindings. Also correct the spelling of
"pins" in the "Optional Properties" section for the driver.
Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Gareth Williams <gareth.williams.jx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
index 2864bc6b659c..bcd8f960afb9 100644
--- a/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
+++ b/Documentation/devicetree/bindings/spi/snps,dw-apb-ssi.txt
@@ -8,9 +8,10 @@ Required properties:
- interrupts : One interrupt, used by the controller.
- #address-cells : <1>, as required by generic SPI binding.
- #size-cells : <0>, also as required by generic SPI binding.
+- clocks : phandle for the core clock used to generate the external SPI clock.
Optional properties:
-- cs-gpios : Specifies the gpio pis to be used for chipselects.
+- cs-gpios : Specifies the gpio pins to be used for chipselects.
- num-cs : The number of chipselects. If omitted, this will default to 4.
- reg-io-width : The I/O register width (in bytes) implemented by this
device. Supported values are 2 or 4 (the default).
@@ -25,6 +26,7 @@ Example:
interrupts = <0 154 4>;
#address-cells = <1>;
#size-cells = <0>;
+ clocks = <&spi_m_clk>;
num-cs = <2>;
cs-gpios = <&gpio0 13 0>,
<&gpio0 14 0>;
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-03-20 17:30 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-19 15:52 [PATCH v2 0/3] spi: dw: Add support for an optional interface clock Gareth Williams
2019-03-19 15:52 ` [PATCH v2 1/3] dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings documentation Gareth Williams
2019-03-20 17:30 ` Applied "dt-bindings: snps,dw-apb-ssi: Add mandatory clock bindings documentation" to the spi tree Mark Brown
2019-03-19 15:52 ` [PATCH v2 2/3] dt-bindings: snps,dw-apb-ssi: Add optional clock bindings documentation Gareth Williams
2019-03-20 17:30 ` Applied "dt-bindings: snps,dw-apb-ssi: Add optional clock bindings documentation" to the spi tree Mark Brown
2019-03-19 15:52 ` [PATCH v2 3/3] spi: dw: Add support for an optional interface clock Gareth Williams
2019-03-20 17:30 ` Applied "spi: dw: Add support for an optional interface clock" to the spi tree Mark Brown
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).