* [PATCHv3 1/2] spi/spi-xilinx: Add clock support
@ 2016-03-10 12:11 ` Shubhrajyoti Datta
0 siblings, 0 replies; 9+ messages in thread
From: Shubhrajyoti Datta @ 2016-03-10 12:11 UTC (permalink / raw)
To: linux-spi-u79uwXL29TY76Z2rM5mHXA
Cc: soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
michal.simek-gjFFaj9aHVfQT0dZR+AlfA,
broonie-DgEjT+Ai2ygdnm+yROfE0A, lars-Qo5EllUWu/uELgA04lAiVw,
Shubhrajyoti Datta
Add basic clock support. The clocks are requested at probe
and released at remove.
Signed-off-by: Shubhrajyoti Datta <shubhraj-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
---
v3 changes:
Do not fail probe if no clock is given
Add a clk name
Fix some space errors
drivers/spi/spi-xilinx.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/drivers/spi/spi-xilinx.c b/drivers/spi/spi-xilinx.c
index 3009121..426ce12 100644
--- a/drivers/spi/spi-xilinx.c
+++ b/drivers/spi/spi-xilinx.c
@@ -21,6 +21,7 @@
#include <linux/spi/spi_bitbang.h>
#include <linux/spi/xilinx_spi.h>
#include <linux/io.h>
+#include <linux/clk.h>
#define XILINX_SPI_MAX_CS 32
@@ -83,6 +84,7 @@ struct xilinx_spi {
struct spi_bitbang bitbang;
struct completion done;
void __iomem *regs; /* virt. address of the control registers */
+ struct clk *clk;
int irq;
@@ -428,6 +430,22 @@ static int xilinx_spi_probe(struct platform_device *pdev)
goto put_master;
}
+ xspi->clk = devm_clk_get(&pdev->dev, "spi_fclk");
+ if (IS_ERR(xspi->clk)) {
+ if (PTR_ERR(xspi->clk) == -ENOENT) {
+ xspi->clk = NULL;
+ } else {
+ ret = PTR_ERR(xspi->clk);
+ goto put_master;
+ }
+ }
+
+ ret = clk_prepare_enable(xspi->clk);
+ if (ret) {
+ dev_err(&pdev->dev, "Unable to enable clock.\n");
+ goto put_master;
+ }
+
master->bus_num = pdev->id;
master->num_chipselect = num_cs;
master->dev.of_node = pdev->dev.of_node;
@@ -485,6 +503,7 @@ static int xilinx_spi_probe(struct platform_device *pdev)
put_master:
spi_master_put(master);
+ clk_disable_unprepare(xspi->clk);
return ret;
}
@@ -503,6 +522,7 @@ static int xilinx_spi_remove(struct platform_device *pdev)
xspi->write_fn(0, regs_base + XIPIF_V123B_DGIER_OFFSET);
spi_master_put(xspi->bitbang.master);
+ clk_disable_unprepare(xspi->clk);
return 0;
}
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCHv3 1/2] spi/spi-xilinx: Add clock support
@ 2016-03-10 12:11 ` Shubhrajyoti Datta
0 siblings, 0 replies; 9+ messages in thread
From: Shubhrajyoti Datta @ 2016-03-10 12:11 UTC (permalink / raw)
To: linux-spi-u79uwXL29TY76Z2rM5mHXA
Cc: soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
michal.simek-gjFFaj9aHVfQT0dZR+AlfA,
broonie-DgEjT+Ai2ygdnm+yROfE0A, lars-Qo5EllUWu/uELgA04lAiVw,
Shubhrajyoti Datta
Add basic clock support. The clocks are requested at probe
and released at remove.
Signed-off-by: Shubhrajyoti Datta <shubhraj-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
---
v3 changes:
Do not fail probe if no clock is given
Add a clk name
Fix some space errors
drivers/spi/spi-xilinx.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/drivers/spi/spi-xilinx.c b/drivers/spi/spi-xilinx.c
index 3009121..426ce12 100644
--- a/drivers/spi/spi-xilinx.c
+++ b/drivers/spi/spi-xilinx.c
@@ -21,6 +21,7 @@
#include <linux/spi/spi_bitbang.h>
#include <linux/spi/xilinx_spi.h>
#include <linux/io.h>
+#include <linux/clk.h>
#define XILINX_SPI_MAX_CS 32
@@ -83,6 +84,7 @@ struct xilinx_spi {
struct spi_bitbang bitbang;
struct completion done;
void __iomem *regs; /* virt. address of the control registers */
+ struct clk *clk;
int irq;
@@ -428,6 +430,22 @@ static int xilinx_spi_probe(struct platform_device *pdev)
goto put_master;
}
+ xspi->clk = devm_clk_get(&pdev->dev, "spi_fclk");
+ if (IS_ERR(xspi->clk)) {
+ if (PTR_ERR(xspi->clk) == -ENOENT) {
+ xspi->clk = NULL;
+ } else {
+ ret = PTR_ERR(xspi->clk);
+ goto put_master;
+ }
+ }
+
+ ret = clk_prepare_enable(xspi->clk);
+ if (ret) {
+ dev_err(&pdev->dev, "Unable to enable clock.\n");
+ goto put_master;
+ }
+
master->bus_num = pdev->id;
master->num_chipselect = num_cs;
master->dev.of_node = pdev->dev.of_node;
@@ -485,6 +503,7 @@ static int xilinx_spi_probe(struct platform_device *pdev)
put_master:
spi_master_put(master);
+ clk_disable_unprepare(xspi->clk);
return ret;
}
@@ -503,6 +522,7 @@ static int xilinx_spi_remove(struct platform_device *pdev)
xspi->write_fn(0, regs_base + XIPIF_V123B_DGIER_OFFSET);
spi_master_put(xspi->bitbang.master);
+ clk_disable_unprepare(xspi->clk);
return 0;
}
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread[parent not found: <1457611865-40120-1-git-send-email-shubhraj-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>]
* [PATCHv3 2/2] bindings: spi: Add clock entries for spi-xilinx
[not found] ` <1457611865-40120-1-git-send-email-shubhraj-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
@ 2016-03-10 12:11 ` Shubhrajyoti Datta
0 siblings, 0 replies; 9+ messages in thread
From: Shubhrajyoti Datta @ 2016-03-10 12:11 UTC (permalink / raw)
To: linux-spi-u79uwXL29TY76Z2rM5mHXA
Cc: soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
michal.simek-gjFFaj9aHVfQT0dZR+AlfA,
broonie-DgEjT+Ai2ygdnm+yROfE0A, lars-Qo5EllUWu/uELgA04lAiVw,
Shubhrajyoti Datta
Add clock description for spi-xilinx
Signed-off-by: Shubhrajyoti Datta <shubhraj-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
---
v3
Add a clock name
.../devicetree/bindings/spi/spi-xilinx.txt | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/Documentation/devicetree/bindings/spi/spi-xilinx.txt b/Documentation/devicetree/bindings/spi/spi-xilinx.txt
index c7b7856..71bd464 100644
--- a/Documentation/devicetree/bindings/spi/spi-xilinx.txt
+++ b/Documentation/devicetree/bindings/spi/spi-xilinx.txt
@@ -7,6 +7,9 @@ Required properties:
- interrupts : Property with a value describing the interrupt
number.
- interrupt-parent : Must be core interrupt controller
+- clocks: Input clock specifier. Refer to common clock bindings.
+- clock-names: tuple listing input clock names.
+ Required elements: "spi_fclk"
Optional properties:
- xlnx,num-ss-bits : Number of chip selects used.
@@ -14,6 +17,8 @@ Optional properties:
Example:
axi_quad_spi@41e00000 {
compatible = "xlnx,xps-spi-2.00.a";
+ clocks = <&clkc 15>;
+ clock-names = "spi_fclk";
interrupt-parent = <&intc>;
interrupts = <0 31 1>;
reg = <0x41e00000 0x10000>;
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread* [PATCHv3 2/2] bindings: spi: Add clock entries for spi-xilinx
@ 2016-03-10 12:11 ` Shubhrajyoti Datta
0 siblings, 0 replies; 9+ messages in thread
From: Shubhrajyoti Datta @ 2016-03-10 12:11 UTC (permalink / raw)
To: linux-spi-u79uwXL29TY76Z2rM5mHXA
Cc: soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
michal.simek-gjFFaj9aHVfQT0dZR+AlfA,
broonie-DgEjT+Ai2ygdnm+yROfE0A, lars-Qo5EllUWu/uELgA04lAiVw,
Shubhrajyoti Datta
Add clock description for spi-xilinx
Signed-off-by: Shubhrajyoti Datta <shubhraj-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
---
v3
Add a clock name
.../devicetree/bindings/spi/spi-xilinx.txt | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/Documentation/devicetree/bindings/spi/spi-xilinx.txt b/Documentation/devicetree/bindings/spi/spi-xilinx.txt
index c7b7856..71bd464 100644
--- a/Documentation/devicetree/bindings/spi/spi-xilinx.txt
+++ b/Documentation/devicetree/bindings/spi/spi-xilinx.txt
@@ -7,6 +7,9 @@ Required properties:
- interrupts : Property with a value describing the interrupt
number.
- interrupt-parent : Must be core interrupt controller
+- clocks: Input clock specifier. Refer to common clock bindings.
+- clock-names: tuple listing input clock names.
+ Required elements: "spi_fclk"
Optional properties:
- xlnx,num-ss-bits : Number of chip selects used.
@@ -14,6 +17,8 @@ Optional properties:
Example:
axi_quad_spi@41e00000 {
compatible = "xlnx,xps-spi-2.00.a";
+ clocks = <&clkc 15>;
+ clock-names = "spi_fclk";
interrupt-parent = <&intc>;
interrupts = <0 31 1>;
reg = <0x41e00000 0x10000>;
--
1.7.1
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 9+ messages in thread[parent not found: <1457611865-40120-2-git-send-email-shubhraj-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCHv3 2/2] bindings: spi: Add clock entries for spi-xilinx
[not found] ` <1457611865-40120-2-git-send-email-shubhraj-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
@ 2016-03-10 12:39 ` Lars-Peter Clausen
[not found] ` <56E16B1F.3050701-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
0 siblings, 1 reply; 9+ messages in thread
From: Lars-Peter Clausen @ 2016-03-10 12:39 UTC (permalink / raw)
To: Shubhrajyoti Datta, linux-spi-u79uwXL29TY76Z2rM5mHXA
Cc: soren.brinkmann-gjFFaj9aHVfQT0dZR+AlfA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
michal.simek-gjFFaj9aHVfQT0dZR+AlfA,
broonie-DgEjT+Ai2ygdnm+yROfE0A, Shubhrajyoti Datta
On 03/10/2016 01:11 PM, Shubhrajyoti Datta wrote:
[...]
> @@ -7,6 +7,9 @@ Required properties:
> - interrupts : Property with a value describing the interrupt
> number.
> - interrupt-parent : Must be core interrupt controller
> +- clocks: Input clock specifier. Refer to common clock bindings.
> +- clock-names: tuple listing input clock names.
> + Required elements: "spi_fclk"
Sorry for being pedantic, but the core has two clock input "s_axi_aclk" and
"ext_spi_clk". Which one is "spi_fclk"?
- Lars
--
To unsubscribe from this list: send the line "unsubscribe linux-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-03-11 6:27 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-10 12:11 [PATCHv3 1/2] spi/spi-xilinx: Add clock support Shubhrajyoti Datta
2016-03-10 12:11 ` Shubhrajyoti Datta
[not found] ` <1457611865-40120-1-git-send-email-shubhraj-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
2016-03-10 12:11 ` [PATCHv3 2/2] bindings: spi: Add clock entries for spi-xilinx Shubhrajyoti Datta
2016-03-10 12:11 ` Shubhrajyoti Datta
[not found] ` <1457611865-40120-2-git-send-email-shubhraj-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
2016-03-10 12:39 ` Lars-Peter Clausen
[not found] ` <56E16B1F.3050701-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2016-03-11 5:20 ` Shubhrajyoti Datta
[not found] ` <4EED9C67BE3EF440A606099F8E34C5282652FCBB-4lKfpRxZ5enZMOc0yg5rMog+Gb3gawCHQz34XiSyOiE@public.gmane.org>
2016-03-11 6:21 ` Sören Brinkmann
2016-03-11 6:27 ` Shubhrajyoti Datta
2016-03-11 6:27 ` Shubhrajyoti Datta
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.