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