1 From 4dab73d46eb58c142b5d2e7039f12e4e5df357ad Mon Sep 17 00:00:00 2001
2 From: Guochun Mao <guochun.mao@mediatek.com>
3 Date: Mon, 18 Dec 2017 09:47:35 +0800
4 Subject: [PATCH 196/224] mtd: mtk-nor: modify functions' name more generally
6 Since more and more Mediatek's SoC can use this driver to
7 control spi-nor flash, functions' name with "mt8173_" is
8 no longer properly. Replacing "mt8173_" with "mtk_" will
9 be more accurate to describe these functions' usable scope.
11 Signed-off-by: Guochun Mao <guochun.mao@mediatek.com>
12 Signed-off-by: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>
14 drivers/mtd/spi-nor/mtk-quadspi.c | 240 +++++++++++++++++++-------------------
15 1 file changed, 120 insertions(+), 120 deletions(-)
17 diff --git a/drivers/mtd/spi-nor/mtk-quadspi.c b/drivers/mtd/spi-nor/mtk-quadspi.c
18 index abe455ccd68b..5442993b71ff 100644
19 --- a/drivers/mtd/spi-nor/mtk-quadspi.c
20 +++ b/drivers/mtd/spi-nor/mtk-quadspi.c
22 #define MTK_NOR_PRG_REG(n) (MTK_NOR_PRGDATA0_REG + 4 * (n))
23 #define MTK_NOR_SHREG(n) (MTK_NOR_SHREG0_REG + 4 * (n))
29 void __iomem *base; /* nor flash base address */
30 @@ -118,48 +118,48 @@ struct mt8173_nor {
34 -static void mt8173_nor_set_read_mode(struct mt8173_nor *mt8173_nor)
35 +static void mtk_nor_set_read_mode(struct mtk_nor *mtk_nor)
37 - struct spi_nor *nor = &mt8173_nor->nor;
38 + struct spi_nor *nor = &mtk_nor->nor;
40 switch (nor->read_proto) {
41 case SNOR_PROTO_1_1_1:
42 - writeb(nor->read_opcode, mt8173_nor->base +
43 + writeb(nor->read_opcode, mtk_nor->base +
44 MTK_NOR_PRGDATA3_REG);
45 - writeb(MTK_NOR_FAST_READ, mt8173_nor->base +
46 + writeb(MTK_NOR_FAST_READ, mtk_nor->base +
49 case SNOR_PROTO_1_1_2:
50 - writeb(nor->read_opcode, mt8173_nor->base +
51 + writeb(nor->read_opcode, mtk_nor->base +
52 MTK_NOR_PRGDATA3_REG);
53 - writeb(MTK_NOR_DUAL_READ_EN, mt8173_nor->base +
54 + writeb(MTK_NOR_DUAL_READ_EN, mtk_nor->base +
57 case SNOR_PROTO_1_1_4:
58 - writeb(nor->read_opcode, mt8173_nor->base +
59 + writeb(nor->read_opcode, mtk_nor->base +
60 MTK_NOR_PRGDATA4_REG);
61 - writeb(MTK_NOR_QUAD_READ_EN, mt8173_nor->base +
62 + writeb(MTK_NOR_QUAD_READ_EN, mtk_nor->base +
66 - writeb(MTK_NOR_DUAL_DISABLE, mt8173_nor->base +
67 + writeb(MTK_NOR_DUAL_DISABLE, mtk_nor->base +
73 -static int mt8173_nor_execute_cmd(struct mt8173_nor *mt8173_nor, u8 cmdval)
74 +static int mtk_nor_execute_cmd(struct mtk_nor *mtk_nor, u8 cmdval)
77 u8 val = cmdval & 0x1f;
79 - writeb(cmdval, mt8173_nor->base + MTK_NOR_CMD_REG);
80 - return readl_poll_timeout(mt8173_nor->base + MTK_NOR_CMD_REG, reg,
81 + writeb(cmdval, mtk_nor->base + MTK_NOR_CMD_REG);
82 + return readl_poll_timeout(mtk_nor->base + MTK_NOR_CMD_REG, reg,
83 !(reg & val), 100, 10000);
86 -static int mt8173_nor_do_tx_rx(struct mt8173_nor *mt8173_nor, u8 op,
87 - u8 *tx, int txlen, u8 *rx, int rxlen)
88 +static int mtk_nor_do_tx_rx(struct mtk_nor *mtk_nor, u8 op,
89 + u8 *tx, int txlen, u8 *rx, int rxlen)
91 int len = 1 + txlen + rxlen;
93 @@ -167,26 +167,26 @@ static int mt8173_nor_do_tx_rx(struct mt8173_nor *mt8173_nor, u8 op,
94 if (len > MTK_NOR_MAX_SHIFT)
97 - writeb(len * 8, mt8173_nor->base + MTK_NOR_CNT_REG);
98 + writeb(len * 8, mtk_nor->base + MTK_NOR_CNT_REG);
100 /* start at PRGDATA5, go down to PRGDATA0 */
101 idx = MTK_NOR_MAX_RX_TX_SHIFT - 1;
104 - writeb(op, mt8173_nor->base + MTK_NOR_PRG_REG(idx));
105 + writeb(op, mtk_nor->base + MTK_NOR_PRG_REG(idx));
108 /* program TX data */
109 for (i = 0; i < txlen; i++, idx--)
110 - writeb(tx[i], mt8173_nor->base + MTK_NOR_PRG_REG(idx));
111 + writeb(tx[i], mtk_nor->base + MTK_NOR_PRG_REG(idx));
113 /* clear out rest of TX registers */
115 - writeb(0, mt8173_nor->base + MTK_NOR_PRG_REG(idx));
116 + writeb(0, mtk_nor->base + MTK_NOR_PRG_REG(idx));
120 - ret = mt8173_nor_execute_cmd(mt8173_nor, MTK_NOR_PRG_CMD);
121 + ret = mtk_nor_execute_cmd(mtk_nor, MTK_NOR_PRG_CMD);
125 @@ -195,20 +195,20 @@ static int mt8173_nor_do_tx_rx(struct mt8173_nor *mt8173_nor, u8 op,
127 /* read out RX data */
128 for (i = 0; i < rxlen; i++, idx--)
129 - rx[i] = readb(mt8173_nor->base + MTK_NOR_SHREG(idx));
130 + rx[i] = readb(mtk_nor->base + MTK_NOR_SHREG(idx));
135 /* Do a WRSR (Write Status Register) command */
136 -static int mt8173_nor_wr_sr(struct mt8173_nor *mt8173_nor, u8 sr)
137 +static int mtk_nor_wr_sr(struct mtk_nor *mtk_nor, u8 sr)
139 - writeb(sr, mt8173_nor->base + MTK_NOR_PRGDATA5_REG);
140 - writeb(8, mt8173_nor->base + MTK_NOR_CNT_REG);
141 - return mt8173_nor_execute_cmd(mt8173_nor, MTK_NOR_WRSR_CMD);
142 + writeb(sr, mtk_nor->base + MTK_NOR_PRGDATA5_REG);
143 + writeb(8, mtk_nor->base + MTK_NOR_CNT_REG);
144 + return mtk_nor_execute_cmd(mtk_nor, MTK_NOR_WRSR_CMD);
147 -static int mt8173_nor_write_buffer_enable(struct mt8173_nor *mt8173_nor)
148 +static int mtk_nor_write_buffer_enable(struct mtk_nor *mtk_nor)
152 @@ -216,27 +216,27 @@ static int mt8173_nor_write_buffer_enable(struct mt8173_nor *mt8173_nor)
153 * 0: pre-fetch buffer use for read
154 * 1: pre-fetch buffer use for page program
156 - writel(MTK_NOR_WR_BUF_ENABLE, mt8173_nor->base + MTK_NOR_CFG2_REG);
157 - return readb_poll_timeout(mt8173_nor->base + MTK_NOR_CFG2_REG, reg,
158 + writel(MTK_NOR_WR_BUF_ENABLE, mtk_nor->base + MTK_NOR_CFG2_REG);
159 + return readb_poll_timeout(mtk_nor->base + MTK_NOR_CFG2_REG, reg,
160 0x01 == (reg & 0x01), 100, 10000);
163 -static int mt8173_nor_write_buffer_disable(struct mt8173_nor *mt8173_nor)
164 +static int mtk_nor_write_buffer_disable(struct mtk_nor *mtk_nor)
168 - writel(MTK_NOR_WR_BUF_DISABLE, mt8173_nor->base + MTK_NOR_CFG2_REG);
169 - return readb_poll_timeout(mt8173_nor->base + MTK_NOR_CFG2_REG, reg,
170 + writel(MTK_NOR_WR_BUF_DISABLE, mtk_nor->base + MTK_NOR_CFG2_REG);
171 + return readb_poll_timeout(mtk_nor->base + MTK_NOR_CFG2_REG, reg,
172 MTK_NOR_WR_BUF_DISABLE == (reg & 0x1), 100,
176 -static void mt8173_nor_set_addr_width(struct mt8173_nor *mt8173_nor)
177 +static void mtk_nor_set_addr_width(struct mtk_nor *mtk_nor)
180 - struct spi_nor *nor = &mt8173_nor->nor;
181 + struct spi_nor *nor = &mtk_nor->nor;
183 - val = readb(mt8173_nor->base + MTK_NOR_DUAL_REG);
184 + val = readb(mtk_nor->base + MTK_NOR_DUAL_REG);
186 switch (nor->addr_width) {
188 @@ -246,115 +246,115 @@ static void mt8173_nor_set_addr_width(struct mt8173_nor *mt8173_nor)
189 val |= MTK_NOR_4B_ADDR_EN;
192 - dev_warn(mt8173_nor->dev, "Unexpected address width %u.\n",
193 + dev_warn(mtk_nor->dev, "Unexpected address width %u.\n",
198 - writeb(val, mt8173_nor->base + MTK_NOR_DUAL_REG);
199 + writeb(val, mtk_nor->base + MTK_NOR_DUAL_REG);
202 -static void mt8173_nor_set_addr(struct mt8173_nor *mt8173_nor, u32 addr)
203 +static void mtk_nor_set_addr(struct mtk_nor *mtk_nor, u32 addr)
207 - mt8173_nor_set_addr_width(mt8173_nor);
208 + mtk_nor_set_addr_width(mtk_nor);
210 for (i = 0; i < 3; i++) {
211 - writeb(addr & 0xff, mt8173_nor->base + MTK_NOR_RADR0_REG + i * 4);
212 + writeb(addr & 0xff, mtk_nor->base + MTK_NOR_RADR0_REG + i * 4);
215 /* Last register is non-contiguous */
216 - writeb(addr & 0xff, mt8173_nor->base + MTK_NOR_RADR3_REG);
217 + writeb(addr & 0xff, mtk_nor->base + MTK_NOR_RADR3_REG);
220 -static ssize_t mt8173_nor_read(struct spi_nor *nor, loff_t from, size_t length,
222 +static ssize_t mtk_nor_read(struct spi_nor *nor, loff_t from, size_t length,
226 int addr = (int)from;
227 u8 *buf = (u8 *)buffer;
228 - struct mt8173_nor *mt8173_nor = nor->priv;
229 + struct mtk_nor *mtk_nor = nor->priv;
231 /* set mode for fast read mode ,dual mode or quad mode */
232 - mt8173_nor_set_read_mode(mt8173_nor);
233 - mt8173_nor_set_addr(mt8173_nor, addr);
234 + mtk_nor_set_read_mode(mtk_nor);
235 + mtk_nor_set_addr(mtk_nor, addr);
237 for (i = 0; i < length; i++) {
238 - ret = mt8173_nor_execute_cmd(mt8173_nor, MTK_NOR_PIO_READ_CMD);
239 + ret = mtk_nor_execute_cmd(mtk_nor, MTK_NOR_PIO_READ_CMD);
242 - buf[i] = readb(mt8173_nor->base + MTK_NOR_RDATA_REG);
243 + buf[i] = readb(mtk_nor->base + MTK_NOR_RDATA_REG);
248 -static int mt8173_nor_write_single_byte(struct mt8173_nor *mt8173_nor,
249 - int addr, int length, u8 *data)
250 +static int mtk_nor_write_single_byte(struct mtk_nor *mtk_nor,
251 + int addr, int length, u8 *data)
255 - mt8173_nor_set_addr(mt8173_nor, addr);
256 + mtk_nor_set_addr(mtk_nor, addr);
258 for (i = 0; i < length; i++) {
259 - writeb(*data++, mt8173_nor->base + MTK_NOR_WDATA_REG);
260 - ret = mt8173_nor_execute_cmd(mt8173_nor, MTK_NOR_PIO_WR_CMD);
261 + writeb(*data++, mtk_nor->base + MTK_NOR_WDATA_REG);
262 + ret = mtk_nor_execute_cmd(mtk_nor, MTK_NOR_PIO_WR_CMD);
269 -static int mt8173_nor_write_buffer(struct mt8173_nor *mt8173_nor, int addr,
271 +static int mtk_nor_write_buffer(struct mtk_nor *mtk_nor, int addr,
276 - mt8173_nor_set_addr(mt8173_nor, addr);
277 + mtk_nor_set_addr(mtk_nor, addr);
280 for (i = 0; i < SFLASH_WRBUF_SIZE; i += 4) {
281 data = buf[bufidx + 3]<<24 | buf[bufidx + 2]<<16 |
282 buf[bufidx + 1]<<8 | buf[bufidx];
284 - writel(data, mt8173_nor->base + MTK_NOR_PP_DATA_REG);
285 + writel(data, mtk_nor->base + MTK_NOR_PP_DATA_REG);
287 - return mt8173_nor_execute_cmd(mt8173_nor, MTK_NOR_WR_CMD);
288 + return mtk_nor_execute_cmd(mtk_nor, MTK_NOR_WR_CMD);
291 -static ssize_t mt8173_nor_write(struct spi_nor *nor, loff_t to, size_t len,
293 +static ssize_t mtk_nor_write(struct spi_nor *nor, loff_t to, size_t len,
297 - struct mt8173_nor *mt8173_nor = nor->priv;
298 + struct mtk_nor *mtk_nor = nor->priv;
301 - ret = mt8173_nor_write_buffer_enable(mt8173_nor);
302 + ret = mtk_nor_write_buffer_enable(mtk_nor);
304 - dev_warn(mt8173_nor->dev, "write buffer enable failed!\n");
305 + dev_warn(mtk_nor->dev, "write buffer enable failed!\n");
309 for (i = 0; i + SFLASH_WRBUF_SIZE <= len; i += SFLASH_WRBUF_SIZE) {
310 - ret = mt8173_nor_write_buffer(mt8173_nor, to, buf);
311 + ret = mtk_nor_write_buffer(mtk_nor, to, buf);
313 - dev_err(mt8173_nor->dev, "write buffer failed!\n");
314 + dev_err(mtk_nor->dev, "write buffer failed!\n");
317 to += SFLASH_WRBUF_SIZE;
318 buf += SFLASH_WRBUF_SIZE;
320 - ret = mt8173_nor_write_buffer_disable(mt8173_nor);
321 + ret = mtk_nor_write_buffer_disable(mtk_nor);
323 - dev_warn(mt8173_nor->dev, "write buffer disable failed!\n");
324 + dev_warn(mtk_nor->dev, "write buffer disable failed!\n");
329 - ret = mt8173_nor_write_single_byte(mt8173_nor, to,
330 - (int)(len - i), (u8 *)buf);
331 + ret = mtk_nor_write_single_byte(mtk_nor, to,
332 + (int)(len - i), (u8 *)buf);
334 - dev_err(mt8173_nor->dev, "write single byte failed!\n");
335 + dev_err(mtk_nor->dev, "write single byte failed!\n");
339 @@ -362,72 +362,72 @@ static ssize_t mt8173_nor_write(struct spi_nor *nor, loff_t to, size_t len,
343 -static int mt8173_nor_read_reg(struct spi_nor *nor, u8 opcode, u8 *buf, int len)
344 +static int mtk_nor_read_reg(struct spi_nor *nor, u8 opcode, u8 *buf, int len)
347 - struct mt8173_nor *mt8173_nor = nor->priv;
348 + struct mtk_nor *mtk_nor = nor->priv;
352 - ret = mt8173_nor_execute_cmd(mt8173_nor, MTK_NOR_RDSR_CMD);
353 + ret = mtk_nor_execute_cmd(mtk_nor, MTK_NOR_RDSR_CMD);
357 - *buf = readb(mt8173_nor->base + MTK_NOR_RDSR_REG);
358 + *buf = readb(mtk_nor->base + MTK_NOR_RDSR_REG);
360 - dev_err(mt8173_nor->dev, "len should be 1 for read status!\n");
361 + dev_err(mtk_nor->dev, "len should be 1 for read status!\n");
364 - ret = mt8173_nor_do_tx_rx(mt8173_nor, opcode, NULL, 0, buf, len);
365 + ret = mtk_nor_do_tx_rx(mtk_nor, opcode, NULL, 0, buf, len);
371 -static int mt8173_nor_write_reg(struct spi_nor *nor, u8 opcode, u8 *buf,
373 +static int mtk_nor_write_reg(struct spi_nor *nor, u8 opcode, u8 *buf,
377 - struct mt8173_nor *mt8173_nor = nor->priv;
378 + struct mtk_nor *mtk_nor = nor->priv;
382 /* We only handle 1 byte */
383 - ret = mt8173_nor_wr_sr(mt8173_nor, *buf);
384 + ret = mtk_nor_wr_sr(mtk_nor, *buf);
387 - ret = mt8173_nor_do_tx_rx(mt8173_nor, opcode, buf, len, NULL, 0);
388 + ret = mtk_nor_do_tx_rx(mtk_nor, opcode, buf, len, NULL, 0);
390 - dev_warn(mt8173_nor->dev, "write reg failure!\n");
391 + dev_warn(mtk_nor->dev, "write reg failure!\n");
397 -static void mt8173_nor_disable_clk(struct mt8173_nor *mt8173_nor)
398 +static void mtk_nor_disable_clk(struct mtk_nor *mtk_nor)
400 - clk_disable_unprepare(mt8173_nor->spi_clk);
401 - clk_disable_unprepare(mt8173_nor->nor_clk);
402 + clk_disable_unprepare(mtk_nor->spi_clk);
403 + clk_disable_unprepare(mtk_nor->nor_clk);
406 -static int mt8173_nor_enable_clk(struct mt8173_nor *mt8173_nor)
407 +static int mtk_nor_enable_clk(struct mtk_nor *mtk_nor)
411 - ret = clk_prepare_enable(mt8173_nor->spi_clk);
412 + ret = clk_prepare_enable(mtk_nor->spi_clk);
416 - ret = clk_prepare_enable(mt8173_nor->nor_clk);
417 + ret = clk_prepare_enable(mtk_nor->nor_clk);
419 - clk_disable_unprepare(mt8173_nor->spi_clk);
420 + clk_disable_unprepare(mtk_nor->spi_clk);
427 -static int mtk_nor_init(struct mt8173_nor *mt8173_nor,
428 +static int mtk_nor_init(struct mtk_nor *mtk_nor,
429 struct device_node *flash_node)
431 const struct spi_nor_hwcaps hwcaps = {
432 @@ -439,18 +439,18 @@ static int mtk_nor_init(struct mt8173_nor *mt8173_nor,
435 /* initialize controller to accept commands */
436 - writel(MTK_NOR_ENABLE_SF_CMD, mt8173_nor->base + MTK_NOR_WRPROT_REG);
437 + writel(MTK_NOR_ENABLE_SF_CMD, mtk_nor->base + MTK_NOR_WRPROT_REG);
439 - nor = &mt8173_nor->nor;
440 - nor->dev = mt8173_nor->dev;
441 - nor->priv = mt8173_nor;
442 + nor = &mtk_nor->nor;
443 + nor->dev = mtk_nor->dev;
444 + nor->priv = mtk_nor;
445 spi_nor_set_flash_node(nor, flash_node);
447 /* fill the hooks to spi nor */
448 - nor->read = mt8173_nor_read;
449 - nor->read_reg = mt8173_nor_read_reg;
450 - nor->write = mt8173_nor_write;
451 - nor->write_reg = mt8173_nor_write_reg;
452 + nor->read = mtk_nor_read;
453 + nor->read_reg = mtk_nor_read_reg;
454 + nor->write = mtk_nor_write;
455 + nor->write_reg = mtk_nor_write_reg;
456 nor->mtd.name = "mtk_nor";
457 /* initialized with NULL */
458 ret = spi_nor_scan(nor, NULL, &hwcaps);
459 @@ -465,34 +465,34 @@ static int mtk_nor_drv_probe(struct platform_device *pdev)
460 struct device_node *flash_np;
461 struct resource *res;
463 - struct mt8173_nor *mt8173_nor;
464 + struct mtk_nor *mtk_nor;
466 if (!pdev->dev.of_node) {
467 dev_err(&pdev->dev, "No DT found\n");
471 - mt8173_nor = devm_kzalloc(&pdev->dev, sizeof(*mt8173_nor), GFP_KERNEL);
473 + mtk_nor = devm_kzalloc(&pdev->dev, sizeof(*mtk_nor), GFP_KERNEL);
476 - platform_set_drvdata(pdev, mt8173_nor);
477 + platform_set_drvdata(pdev, mtk_nor);
479 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
480 - mt8173_nor->base = devm_ioremap_resource(&pdev->dev, res);
481 - if (IS_ERR(mt8173_nor->base))
482 - return PTR_ERR(mt8173_nor->base);
483 + mtk_nor->base = devm_ioremap_resource(&pdev->dev, res);
484 + if (IS_ERR(mtk_nor->base))
485 + return PTR_ERR(mtk_nor->base);
487 - mt8173_nor->spi_clk = devm_clk_get(&pdev->dev, "spi");
488 - if (IS_ERR(mt8173_nor->spi_clk))
489 - return PTR_ERR(mt8173_nor->spi_clk);
490 + mtk_nor->spi_clk = devm_clk_get(&pdev->dev, "spi");
491 + if (IS_ERR(mtk_nor->spi_clk))
492 + return PTR_ERR(mtk_nor->spi_clk);
494 - mt8173_nor->nor_clk = devm_clk_get(&pdev->dev, "sf");
495 - if (IS_ERR(mt8173_nor->nor_clk))
496 - return PTR_ERR(mt8173_nor->nor_clk);
497 + mtk_nor->nor_clk = devm_clk_get(&pdev->dev, "sf");
498 + if (IS_ERR(mtk_nor->nor_clk))
499 + return PTR_ERR(mtk_nor->nor_clk);
501 - mt8173_nor->dev = &pdev->dev;
502 + mtk_nor->dev = &pdev->dev;
504 - ret = mt8173_nor_enable_clk(mt8173_nor);
505 + ret = mtk_nor_enable_clk(mtk_nor);
509 @@ -503,20 +503,20 @@ static int mtk_nor_drv_probe(struct platform_device *pdev)
513 - ret = mtk_nor_init(mt8173_nor, flash_np);
514 + ret = mtk_nor_init(mtk_nor, flash_np);
518 - mt8173_nor_disable_clk(mt8173_nor);
519 + mtk_nor_disable_clk(mtk_nor);
524 static int mtk_nor_drv_remove(struct platform_device *pdev)
526 - struct mt8173_nor *mt8173_nor = platform_get_drvdata(pdev);
527 + struct mtk_nor *mtk_nor = platform_get_drvdata(pdev);
529 - mt8173_nor_disable_clk(mt8173_nor);
530 + mtk_nor_disable_clk(mtk_nor);
534 @@ -524,18 +524,18 @@ static int mtk_nor_drv_remove(struct platform_device *pdev)
535 #ifdef CONFIG_PM_SLEEP
536 static int mtk_nor_suspend(struct device *dev)
538 - struct mt8173_nor *mt8173_nor = dev_get_drvdata(dev);
539 + struct mtk_nor *mtk_nor = dev_get_drvdata(dev);
541 - mt8173_nor_disable_clk(mt8173_nor);
542 + mtk_nor_disable_clk(mtk_nor);
547 static int mtk_nor_resume(struct device *dev)
549 - struct mt8173_nor *mt8173_nor = dev_get_drvdata(dev);
550 + struct mtk_nor *mtk_nor = dev_get_drvdata(dev);
552 - return mt8173_nor_enable_clk(mt8173_nor);
553 + return mtk_nor_enable_clk(mtk_nor);
556 static const struct dev_pm_ops mtk_nor_dev_pm_ops = {