devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RESEND PATCH v2 0/5] K2G: Add QSPI support
@ 2017-09-19 10:56 Vignesh R
       [not found] ` <20170919105605.18533-1-vigneshr-l0cyMroinI0@public.gmane.org>
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Vignesh R @ 2017-09-19 10:56 UTC (permalink / raw)
  To: Marek Vasut, Cyrille Pitchen
  Cc: David Woodhouse, Brian Norris, Boris Brezillon, Rob Herring,
	linux-mtd, devicetree, linux-kernel, Vignesh R, linux-arm-kernel

This series adds support for Cadence QSPI IP present in TI's 66AK2G SoC.
The patches enhance the existing cadence-quadspi driver to support
loopback clock circuit, pm_runtime support and tweaks for 66AK2G SoC.

Change log:

Resend:
* Rebase to latest linux-next.
* Collect Acked-bys

v2:
* Drop DT patches. Will be sent as separate series as requested by
 maintainer.
* Split binding docs into separate patches.
* Address comments by Rob Herring.


Vignesh R (5):
  mtd: spi-nor: cadence-quadspi: Add TI 66AK2G SoC specific compatible
  mtd: spi-nor: cadence-quadspi: add a delay in write sequence
  mtd: spi-nor: cadence-quadspi: Add new binding to enable loop-back
    circuit
  mtd: spi-nor: cadence-quadspi: Add support to enable loop-back clock
    circuit
  mtd: spi-nor: cadence-quadspi: Add runtime PM support

 .../devicetree/bindings/mtd/cadence-quadspi.txt    |  7 +++-
 drivers/mtd/spi-nor/cadence-quadspi.c              | 46 ++++++++++++++++++++--
 2 files changed, 49 insertions(+), 4 deletions(-)

-- 
2.14.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [RESEND PATCH v2 1/5] mtd: spi-nor: cadence-quadspi: Add TI 66AK2G SoC specific compatible
       [not found] ` <20170919105605.18533-1-vigneshr-l0cyMroinI0@public.gmane.org>
@ 2017-09-19 10:56   ` Vignesh R
  2017-09-19 10:56   ` [RESEND PATCH v2 4/5] mtd: spi-nor: cadence-quadspi: Add support to enable loop-back clock circuit Vignesh R
  1 sibling, 0 replies; 8+ messages in thread
From: Vignesh R @ 2017-09-19 10:56 UTC (permalink / raw)
  To: Marek Vasut, Cyrille Pitchen
  Cc: David Woodhouse, Brian Norris, Boris Brezillon, Rob Herring,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Vignesh R, linux-arm-kernel

Update binding documentation to add a new compatible for TI 66AK2G SoC,
to handle TI SoC specific quirks in the driver.

Signed-off-by: Vignesh R <vigneshr-l0cyMroinI0@public.gmane.org>
Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
 Documentation/devicetree/bindings/mtd/cadence-quadspi.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/mtd/cadence-quadspi.txt b/Documentation/devicetree/bindings/mtd/cadence-quadspi.txt
index f248056da24c..7dbe3bd9ac56 100644
--- a/Documentation/devicetree/bindings/mtd/cadence-quadspi.txt
+++ b/Documentation/devicetree/bindings/mtd/cadence-quadspi.txt
@@ -1,7 +1,9 @@
 * Cadence Quad SPI controller
 
 Required properties:
-- compatible : Should be "cdns,qspi-nor".
+- compatible : should be one of the following:
+	Generic default - "cdns,qspi-nor".
+	For TI 66AK2G SoC - "ti,k2g-qspi", "cdns,qspi-nor".
 - reg : Contains two entries, each of which is a tuple consisting of a
 	physical address and length. The first entry is the address and
 	length of the controller register set. The second entry is the
-- 
2.14.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" 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] 8+ messages in thread

* [RESEND PATCH v2 2/5] mtd: spi-nor: cadence-quadspi: add a delay in write sequence
  2017-09-19 10:56 [RESEND PATCH v2 0/5] K2G: Add QSPI support Vignesh R
       [not found] ` <20170919105605.18533-1-vigneshr-l0cyMroinI0@public.gmane.org>
@ 2017-09-19 10:56 ` Vignesh R
  2017-09-22  8:04   ` kbuild test robot
  2017-09-19 10:56 ` [RESEND PATCH v2 3/5] mtd: spi-nor: cadence-quadspi: Add new binding to enable loop-back circuit Vignesh R
  2017-09-19 10:56 ` [RESEND PATCH v2 5/5] mtd: spi-nor: cadence-quadspi: Add runtime PM support Vignesh R
  3 siblings, 1 reply; 8+ messages in thread
From: Vignesh R @ 2017-09-19 10:56 UTC (permalink / raw)
  To: Marek Vasut, Cyrille Pitchen
  Cc: David Woodhouse, Brian Norris, Boris Brezillon, Rob Herring,
	linux-mtd, devicetree, linux-kernel, Vignesh R, linux-arm-kernel

As per 66AK2G02 TRM[1] SPRUHY8F section 11.15.5.3 Indirect Access
Controller programming sequence, a delay equal to couple of QSPI master
clock(~5ns) is required after setting CQSPI_REG_INDIRECTWR_START bit and
writing data to the flash. Introduce a quirk flag CQSPI_NEEDS_WR_DELAY
to handle this and set this flag for TI 66AK2G SoC.

[1]http://www.ti.com/lit/ug/spruhy8f/spruhy8f.pdf

Signed-off-by: Vignesh R <vigneshr@ti.com>
---
 drivers/mtd/spi-nor/cadence-quadspi.c | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c
index 53c7d8e0327a..bb0cb02a6938 100644
--- a/drivers/mtd/spi-nor/cadence-quadspi.c
+++ b/drivers/mtd/spi-nor/cadence-quadspi.c
@@ -38,6 +38,9 @@
 #define CQSPI_NAME			"cadence-qspi"
 #define CQSPI_MAX_CHIPSELECT		16
 
+/* Quirks */
+#define CQSPI_NEEDS_WR_DELAY		BIT(0)
+
 struct cqspi_st;
 
 struct cqspi_flash_pdata {
@@ -76,6 +79,7 @@ struct cqspi_st {
 	u32			fifo_depth;
 	u32			fifo_width;
 	u32			trigger_address;
+	u32			wr_delay;
 	struct cqspi_flash_pdata f_pdata[CQSPI_MAX_CHIPSELECT];
 };
 
@@ -608,6 +612,15 @@ static int cqspi_indirect_write_execute(struct spi_nor *nor,
 	reinit_completion(&cqspi->transfer_complete);
 	writel(CQSPI_REG_INDIRECTWR_START_MASK,
 	       reg_base + CQSPI_REG_INDIRECTWR);
+	/*
+	 * As per 66AK2G02 TRM SPRUHY8F section 11.15.5.3 Indirect Access
+	 * Controller programming sequence, couple of cycles of
+	 * QSPI_REF_CLK delay is required for the above bit to
+	 * be internally synchronized by the QSPI module. Provide 5
+	 * cycles of delay.
+	 */
+	if (cqspi->wr_delay)
+		ndelay(cqspi->wr_delay);
 
 	while (remaining > 0) {
 		write_bytes = remaining > page_size ? page_size : remaining;
@@ -1156,6 +1169,7 @@ static int cqspi_probe(struct platform_device *pdev)
 	struct cqspi_st *cqspi;
 	struct resource *res;
 	struct resource *res_ahb;
+	u32 data;
 	int ret;
 	int irq;
 
@@ -1213,6 +1227,10 @@ static int cqspi_probe(struct platform_device *pdev)
 	}
 
 	cqspi->master_ref_clk_hz = clk_get_rate(cqspi->clk);
+	data  = (u32)of_device_get_match_data(&pdev->dev);
+	if (data & CQSPI_NEEDS_WR_DELAY)
+		cqspi->wr_delay = 5 * DIV_ROUND_UP(NSEC_PER_SEC,
+						   cqspi->master_ref_clk_hz);
 
 	ret = devm_request_irq(dev, irq, cqspi_irq_handler, 0,
 			       pdev->name, cqspi);
@@ -1284,7 +1302,14 @@ static const struct dev_pm_ops cqspi__dev_pm_ops = {
 #endif
 
 static const struct of_device_id cqspi_dt_ids[] = {
-	{.compatible = "cdns,qspi-nor",},
+	{
+		.compatible = "cdns,qspi-nor",
+		.data = (void *)0,
+	},
+	{
+		.compatible = "ti,k2g-qspi",
+		.data = (void *)CQSPI_NEEDS_WR_DELAY,
+	},
 	{ /* end of table */ }
 };
 
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [RESEND PATCH v2 3/5] mtd: spi-nor: cadence-quadspi: Add new binding to enable loop-back circuit
  2017-09-19 10:56 [RESEND PATCH v2 0/5] K2G: Add QSPI support Vignesh R
       [not found] ` <20170919105605.18533-1-vigneshr-l0cyMroinI0@public.gmane.org>
  2017-09-19 10:56 ` [RESEND PATCH v2 2/5] mtd: spi-nor: cadence-quadspi: add a delay in write sequence Vignesh R
@ 2017-09-19 10:56 ` Vignesh R
  2017-09-19 10:56 ` [RESEND PATCH v2 5/5] mtd: spi-nor: cadence-quadspi: Add runtime PM support Vignesh R
  3 siblings, 0 replies; 8+ messages in thread
From: Vignesh R @ 2017-09-19 10:56 UTC (permalink / raw)
  To: Marek Vasut, Cyrille Pitchen
  Cc: David Woodhouse, Brian Norris, Boris Brezillon, Rob Herring,
	linux-mtd, devicetree, linux-kernel, Vignesh R, linux-arm-kernel

Cadence QSPI IP has a adapted loop-back circuit which can be enabled by
setting BYPASS field to 0 in READCAPTURE register. It enables use of
QSPI return clock to latch the data rather than the internal QSPI
reference clock. For high speed operations, adapted loop-back circuit
using QSPI return clock helps to increase data valid window.

Add DT parameter cdns,rclk-en to help enable adapted loop-back circuit
for boards which do have QSPI return clock provided. Update binding
documentation for the same.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Acked-by: Rob Herring <robh@kernel.org>
---
 Documentation/devicetree/bindings/mtd/cadence-quadspi.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/mtd/cadence-quadspi.txt b/Documentation/devicetree/bindings/mtd/cadence-quadspi.txt
index 7dbe3bd9ac56..bb2075df9b38 100644
--- a/Documentation/devicetree/bindings/mtd/cadence-quadspi.txt
+++ b/Documentation/devicetree/bindings/mtd/cadence-quadspi.txt
@@ -16,6 +16,9 @@ Required properties:
 
 Optional properties:
 - cdns,is-decoded-cs : Flag to indicate whether decoder is used or not.
+- cdns,rclk-en : Flag to indicate that QSPI return clock is used to latch
+  the read data rather than the QSPI clock. Make sure that QSPI return
+  clock is populated on the board before using this property.
 
 Optional subnodes:
 Subnodes of the Cadence Quad SPI controller are spi slave nodes with additional
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [RESEND PATCH v2 4/5] mtd: spi-nor: cadence-quadspi: Add support to enable loop-back clock circuit
       [not found] ` <20170919105605.18533-1-vigneshr-l0cyMroinI0@public.gmane.org>
  2017-09-19 10:56   ` [RESEND PATCH v2 1/5] mtd: spi-nor: cadence-quadspi: Add TI 66AK2G SoC specific compatible Vignesh R
@ 2017-09-19 10:56   ` Vignesh R
  1 sibling, 0 replies; 8+ messages in thread
From: Vignesh R @ 2017-09-19 10:56 UTC (permalink / raw)
  To: Marek Vasut, Cyrille Pitchen
  Cc: David Woodhouse, Brian Norris, Boris Brezillon, Rob Herring,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Vignesh R, linux-arm-kernel

Cadence QSPI IP has a adapted loop-back circuit which can be enabled by
setting BYPASS field to 0 in READCAPTURE register. It enables use of
QSPI return clock to latch the data rather than the internal QSPI
reference clock. For high speed operations, adapted loop-back circuit
using QSPI return clock helps to increase data valid window.

Based on DT parameter cdns,rclk-en enable adapted loop-back circuit
for boards which do have QSPI return clock provided.
This patch also modifies cqspi_readdata_capture() function's bypass
parameter to bool to match how its used in the function.

Signed-off-by: Vignesh R <vigneshr-l0cyMroinI0@public.gmane.org>
---
 drivers/mtd/spi-nor/cadence-quadspi.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c
index bb0cb02a6938..c11ced529ddd 100644
--- a/drivers/mtd/spi-nor/cadence-quadspi.c
+++ b/drivers/mtd/spi-nor/cadence-quadspi.c
@@ -78,6 +78,7 @@ struct cqspi_st {
 	bool			is_decoded_cs;
 	u32			fifo_depth;
 	u32			fifo_width;
+	bool			rclk_en;
 	u32			trigger_address;
 	u32			wr_delay;
 	struct cqspi_flash_pdata f_pdata[CQSPI_MAX_CHIPSELECT];
@@ -788,7 +789,7 @@ static void cqspi_config_baudrate_div(struct cqspi_st *cqspi)
 }
 
 static void cqspi_readdata_capture(struct cqspi_st *cqspi,
-				   const unsigned int bypass,
+				   const bool bypass,
 				   const unsigned int delay)
 {
 	void __iomem *reg_base = cqspi->iobase;
@@ -852,7 +853,8 @@ static void cqspi_configure(struct spi_nor *nor)
 		cqspi->sclk = sclk;
 		cqspi_config_baudrate_div(cqspi);
 		cqspi_delay(nor);
-		cqspi_readdata_capture(cqspi, 1, f_pdata->read_delay);
+		cqspi_readdata_capture(cqspi, !cqspi->rclk_en,
+				       f_pdata->read_delay);
 	}
 
 	if (switch_cs || switch_ck)
@@ -1049,6 +1051,8 @@ static int cqspi_of_get_pdata(struct platform_device *pdev)
 		return -ENXIO;
 	}
 
+	cqspi->rclk_en = of_property_read_bool(np, "cdns,rclk-en");
+
 	return 0;
 }
 
-- 
2.14.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" 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] 8+ messages in thread

* [RESEND PATCH v2 5/5] mtd: spi-nor: cadence-quadspi: Add runtime PM support
  2017-09-19 10:56 [RESEND PATCH v2 0/5] K2G: Add QSPI support Vignesh R
                   ` (2 preceding siblings ...)
  2017-09-19 10:56 ` [RESEND PATCH v2 3/5] mtd: spi-nor: cadence-quadspi: Add new binding to enable loop-back circuit Vignesh R
@ 2017-09-19 10:56 ` Vignesh R
  3 siblings, 0 replies; 8+ messages in thread
From: Vignesh R @ 2017-09-19 10:56 UTC (permalink / raw)
  To: Marek Vasut, Cyrille Pitchen
  Cc: David Woodhouse, Brian Norris, Boris Brezillon, Rob Herring,
	linux-mtd, devicetree, linux-kernel, Vignesh R, linux-arm-kernel

Add pm_runtime* calls to cadence-quadspi driver. This is required to
switch on QSPI power domain on TI 66AK2G SoC during probe.

Signed-off-by: Vignesh R <vigneshr@ti.com>
---
 drivers/mtd/spi-nor/cadence-quadspi.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c
index c11ced529ddd..4fd6fb9c83b3 100644
--- a/drivers/mtd/spi-nor/cadence-quadspi.c
+++ b/drivers/mtd/spi-nor/cadence-quadspi.c
@@ -31,6 +31,7 @@
 #include <linux/of_device.h>
 #include <linux/of.h>
 #include <linux/platform_device.h>
+#include <linux/pm_runtime.h>
 #include <linux/sched.h>
 #include <linux/spi/spi.h>
 #include <linux/timer.h>
@@ -1224,6 +1225,13 @@ static int cqspi_probe(struct platform_device *pdev)
 		return -ENXIO;
 	}
 
+	pm_runtime_enable(&pdev->dev);
+	ret = pm_runtime_get_sync(&pdev->dev);
+	if (ret < 0) {
+		pm_runtime_put_noidle(&pdev->dev);
+		return ret;
+	}
+
 	ret = clk_prepare_enable(cqspi->clk);
 	if (ret) {
 		dev_err(dev, "Cannot enable QSPI clock.\n");
@@ -1275,6 +1283,9 @@ static int cqspi_remove(struct platform_device *pdev)
 
 	clk_disable_unprepare(cqspi->clk);
 
+	pm_runtime_put_sync(&pdev->dev);
+	pm_runtime_disable(&pdev->dev);
+
 	return 0;
 }
 
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [RESEND PATCH v2 2/5] mtd: spi-nor: cadence-quadspi: add a delay in write sequence
  2017-09-19 10:56 ` [RESEND PATCH v2 2/5] mtd: spi-nor: cadence-quadspi: add a delay in write sequence Vignesh R
@ 2017-09-22  8:04   ` kbuild test robot
  2017-09-22  9:02     ` Vignesh R
  0 siblings, 1 reply; 8+ messages in thread
From: kbuild test robot @ 2017-09-22  8:04 UTC (permalink / raw)
  Cc: kbuild-all, Marek Vasut, Cyrille Pitchen, David Woodhouse,
	Brian Norris, Boris Brezillon, Rob Herring, linux-mtd, devicetree,
	linux-kernel, Vignesh R, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 4288 bytes --]

Hi Vignesh,

[auto build test WARNING on l2-mtd-boris/spi-nor/next]
[also build test WARNING on v4.14-rc1 next-20170921]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Vignesh-R/K2G-Add-QSPI-support/20170922-152110
base:   git://git.infradead.org/l2-mtd.git spi-nor/next
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=sparc64 

All warnings (new ones prefixed by >>):

   drivers/mtd/spi-nor/cadence-quadspi.c: In function 'cqspi_probe':
>> drivers/mtd/spi-nor/cadence-quadspi.c:1230:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     data  = (u32)of_device_get_match_data(&pdev->dev);
             ^

vim +1230 drivers/mtd/spi-nor/cadence-quadspi.c

  1164	
  1165	static int cqspi_probe(struct platform_device *pdev)
  1166	{
  1167		struct device_node *np = pdev->dev.of_node;
  1168		struct device *dev = &pdev->dev;
  1169		struct cqspi_st *cqspi;
  1170		struct resource *res;
  1171		struct resource *res_ahb;
  1172		u32 data;
  1173		int ret;
  1174		int irq;
  1175	
  1176		cqspi = devm_kzalloc(dev, sizeof(*cqspi), GFP_KERNEL);
  1177		if (!cqspi)
  1178			return -ENOMEM;
  1179	
  1180		mutex_init(&cqspi->bus_mutex);
  1181		cqspi->pdev = pdev;
  1182		platform_set_drvdata(pdev, cqspi);
  1183	
  1184		/* Obtain configuration from OF. */
  1185		ret = cqspi_of_get_pdata(pdev);
  1186		if (ret) {
  1187			dev_err(dev, "Cannot get mandatory OF data.\n");
  1188			return -ENODEV;
  1189		}
  1190	
  1191		/* Obtain QSPI clock. */
  1192		cqspi->clk = devm_clk_get(dev, NULL);
  1193		if (IS_ERR(cqspi->clk)) {
  1194			dev_err(dev, "Cannot claim QSPI clock.\n");
  1195			return PTR_ERR(cqspi->clk);
  1196		}
  1197	
  1198		/* Obtain and remap controller address. */
  1199		res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  1200		cqspi->iobase = devm_ioremap_resource(dev, res);
  1201		if (IS_ERR(cqspi->iobase)) {
  1202			dev_err(dev, "Cannot remap controller address.\n");
  1203			return PTR_ERR(cqspi->iobase);
  1204		}
  1205	
  1206		/* Obtain and remap AHB address. */
  1207		res_ahb = platform_get_resource(pdev, IORESOURCE_MEM, 1);
  1208		cqspi->ahb_base = devm_ioremap_resource(dev, res_ahb);
  1209		if (IS_ERR(cqspi->ahb_base)) {
  1210			dev_err(dev, "Cannot remap AHB address.\n");
  1211			return PTR_ERR(cqspi->ahb_base);
  1212		}
  1213	
  1214		init_completion(&cqspi->transfer_complete);
  1215	
  1216		/* Obtain IRQ line. */
  1217		irq = platform_get_irq(pdev, 0);
  1218		if (irq < 0) {
  1219			dev_err(dev, "Cannot obtain IRQ.\n");
  1220			return -ENXIO;
  1221		}
  1222	
  1223		ret = clk_prepare_enable(cqspi->clk);
  1224		if (ret) {
  1225			dev_err(dev, "Cannot enable QSPI clock.\n");
  1226			return ret;
  1227		}
  1228	
  1229		cqspi->master_ref_clk_hz = clk_get_rate(cqspi->clk);
> 1230		data  = (u32)of_device_get_match_data(&pdev->dev);
  1231		if (data & CQSPI_NEEDS_WR_DELAY)
  1232			cqspi->wr_delay = 5 * DIV_ROUND_UP(NSEC_PER_SEC,
  1233							   cqspi->master_ref_clk_hz);
  1234	
  1235		ret = devm_request_irq(dev, irq, cqspi_irq_handler, 0,
  1236				       pdev->name, cqspi);
  1237		if (ret) {
  1238			dev_err(dev, "Cannot request IRQ.\n");
  1239			goto probe_irq_failed;
  1240		}
  1241	
  1242		cqspi_wait_idle(cqspi);
  1243		cqspi_controller_init(cqspi);
  1244		cqspi->current_cs = -1;
  1245		cqspi->sclk = 0;
  1246	
  1247		ret = cqspi_setup_flash(cqspi, np);
  1248		if (ret) {
  1249			dev_err(dev, "Cadence QSPI NOR probe failed %d\n", ret);
  1250			goto probe_setup_failed;
  1251		}
  1252	
  1253		return ret;
  1254	probe_irq_failed:
  1255		cqspi_controller_enable(cqspi, 0);
  1256	probe_setup_failed:
  1257		clk_disable_unprepare(cqspi->clk);
  1258		return ret;
  1259	}
  1260	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 51321 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RESEND PATCH v2 2/5] mtd: spi-nor: cadence-quadspi: add a delay in write sequence
  2017-09-22  8:04   ` kbuild test robot
@ 2017-09-22  9:02     ` Vignesh R
  0 siblings, 0 replies; 8+ messages in thread
From: Vignesh R @ 2017-09-22  9:02 UTC (permalink / raw)
  To: kbuild-all
  Cc: Marek Vasut, Cyrille Pitchen, David Woodhouse, Brian Norris,
	Boris Brezillon, Rob Herring, devicetree, linux-kernel,
	linux-arm-kernel



On Friday 22 September 2017 01:34 PM, kbuild test robot wrote:
> Hi Vignesh,
> 
> [auto build test WARNING on l2-mtd-boris/spi-nor/next]
> [also build test WARNING on v4.14-rc1 next-20170921]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> 
> url:    https://github.com/0day-ci/linux/commits/Vignesh-R/K2G-Add-QSPI-support/20170922-152110
> base:   git://git.infradead.org/l2-mtd.git spi-nor/next
> config: sparc64-allmodconfig (attached as .config)
> compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # save the attached .config to linux build tree
>         make.cross ARCH=sparc64 
> 
> All warnings (new ones prefixed by >>):
> 
>    drivers/mtd/spi-nor/cadence-quadspi.c: In function 'cqspi_probe':
>>> drivers/mtd/spi-nor/cadence-quadspi.c:1230:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>      data  = (u32)of_device_get_match_data(&pdev->dev);
>              ^
> 

Oops, that should have been unsigned long. will send a v3 shortly.
Thanks for the report!



>   1219			dev_err(dev, "Cannot obtain IRQ.\n");
>   1220			return -ENXIO;
>   1221		}
>   1222	
>   1223		ret = clk_prepare_enable(cqspi->clk);
>   1224		if (ret) {
>   1225			dev_err(dev, "Cannot enable QSPI clock.\n");
>   1226			return ret;
>   1227		}
>   1228	
>   1229		cqspi->master_ref_clk_hz = clk_get_rate(cqspi->clk);
>> 1230		data  = (u32)of_device_get_match_data(&pdev->dev);
>   1231		if (data & CQSPI_NEEDS_WR_DELAY)


-- 
Regards
Vignesh

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-09-22  9:02 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-19 10:56 [RESEND PATCH v2 0/5] K2G: Add QSPI support Vignesh R
     [not found] ` <20170919105605.18533-1-vigneshr-l0cyMroinI0@public.gmane.org>
2017-09-19 10:56   ` [RESEND PATCH v2 1/5] mtd: spi-nor: cadence-quadspi: Add TI 66AK2G SoC specific compatible Vignesh R
2017-09-19 10:56   ` [RESEND PATCH v2 4/5] mtd: spi-nor: cadence-quadspi: Add support to enable loop-back clock circuit Vignesh R
2017-09-19 10:56 ` [RESEND PATCH v2 2/5] mtd: spi-nor: cadence-quadspi: add a delay in write sequence Vignesh R
2017-09-22  8:04   ` kbuild test robot
2017-09-22  9:02     ` Vignesh R
2017-09-19 10:56 ` [RESEND PATCH v2 3/5] mtd: spi-nor: cadence-quadspi: Add new binding to enable loop-back circuit Vignesh R
2017-09-19 10:56 ` [RESEND PATCH v2 5/5] mtd: spi-nor: cadence-quadspi: Add runtime PM support Vignesh R

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).