CC: [email protected] CC: [email protected] TO: Amit Kumar Mahapatra <[email protected]> CC: Michal Simek <[email protected]>
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.15 head: 966124532656bc95d781abf57531e4cd4f962237 commit: 2747bc2106aa429773d9a932c799aa6229595148 [840/923] mtd: spi-nor: Add dual parallel and stacked mode support :::::: branch date: 18 hours ago :::::: commit date: 10 days ago compiler: ia64-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> cppcheck possible warnings: (new ones prefixed by >>, may not real problems) >> drivers/mtd/spi-nor/sfdp.c:727:24: warning: Boolean result is used in >> bitwise operation. Clarify expression with parentheses. [clarifyCondition] map_id = map_id << 1 | !!(*buf & read_data_mask); ^ >> drivers/mtd/spi-nor/core.c:3317:22: warning: Unused variable: np_spi >> [unusedVariable] struct device_node *np_spi; ^ >> drivers/mtd/spi-nor/core.c:3318:6: warning: Unused variable: is_dual >> [unusedVariable] u32 is_dual; ^ vim +3317 drivers/mtd/spi-nor/core.c 620df2497415a9 drivers/mtd/spi-nor/spi-nor.c Tudor Ambarus 2019-08-24 3307 cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3308 int spi_nor_scan(struct spi_nor *nor, const char *name, cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3309 const struct spi_nor_hwcaps *hwcaps) b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3310 { 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3311 struct flash_info *info = NULL; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3312 struct device *dev = nor->dev; 1976367173a47f drivers/mtd/spi-nor/spi-nor.c Brian Norris 2015-08-13 3313 struct mtd_info *mtd = &nor->mtd; 9c7d787508be6d drivers/mtd/spi-nor/spi-nor.c Brian Norris 2015-10-30 3314 struct device_node *np = spi_nor_get_flash_node(nor); b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3315 int ret; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3316 int i; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 @3317 struct device_node *np_spi; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 @3318 u32 is_dual; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3319 b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3320 ret = spi_nor_check(nor); b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3321 if (ret) b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3322 return ret; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3323 cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3324 /* Reset SPI protocol for all commands. */ cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3325 nor->reg_proto = SNOR_PROTO_1_1_1; cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3326 nor->read_proto = SNOR_PROTO_1_1_1; cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3327 nor->write_proto = SNOR_PROTO_1_1_1; cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3328 f173f26a4d543f drivers/mtd/spi-nor/spi-nor.c Vignesh Raghavendra 2019-08-06 3329 /* f173f26a4d543f drivers/mtd/spi-nor/spi-nor.c Vignesh Raghavendra 2019-08-06 3330 * We need the bounce buffer early to read/write registers when going f173f26a4d543f drivers/mtd/spi-nor/spi-nor.c Vignesh Raghavendra 2019-08-06 3331 * through the spi-mem layer (buffers have to be DMA-able). b35b9a10362d20 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2019-08-06 3332 * For spi-mem drivers, we'll reallocate a new buffer if b35b9a10362d20 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2019-08-06 3333 * nor->page_size turns out to be greater than PAGE_SIZE (which b35b9a10362d20 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2019-08-06 3334 * shouldn't happen before long since NOR pages are usually less b35b9a10362d20 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2019-08-06 3335 * than 1KB) after spi_nor_scan() returns. f173f26a4d543f drivers/mtd/spi-nor/spi-nor.c Vignesh Raghavendra 2019-08-06 3336 */ f173f26a4d543f drivers/mtd/spi-nor/spi-nor.c Vignesh Raghavendra 2019-08-06 3337 nor->bouncebuf_size = PAGE_SIZE; f173f26a4d543f drivers/mtd/spi-nor/spi-nor.c Vignesh Raghavendra 2019-08-06 3338 nor->bouncebuf = devm_kmalloc(dev, nor->bouncebuf_size, f173f26a4d543f drivers/mtd/spi-nor/spi-nor.c Vignesh Raghavendra 2019-08-06 3339 GFP_KERNEL); f173f26a4d543f drivers/mtd/spi-nor/spi-nor.c Vignesh Raghavendra 2019-08-06 3340 if (!nor->bouncebuf) f173f26a4d543f drivers/mtd/spi-nor/spi-nor.c Vignesh Raghavendra 2019-08-06 3341 return -ENOMEM; f173f26a4d543f drivers/mtd/spi-nor/spi-nor.c Vignesh Raghavendra 2019-08-06 3342 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3343 info = (struct flash_info *)spi_nor_get_flash_info(nor, name); 620df2497415a9 drivers/mtd/spi-nor/spi-nor.c Tudor Ambarus 2019-08-24 3344 if (IS_ERR(info)) 620df2497415a9 drivers/mtd/spi-nor/spi-nor.c Tudor Ambarus 2019-08-24 3345 return PTR_ERR(info); b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3346 b296379fef7ce9 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2018-12-06 3347 nor->info = info; b296379fef7ce9 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2018-12-06 3348 dcc935b06f1f29 drivers/mtd/spi-nor/spi-nor.c Zhuohao Lee 2019-08-28 3349 spi_nor_debugfs_init(nor, info); dcc935b06f1f29 drivers/mtd/spi-nor/spi-nor.c Zhuohao Lee 2019-08-28 3350 b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3351 mutex_init(&nor->lock); b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3352 e99ca98f1d7190 drivers/mtd/spi-nor/spi-nor.c Ricardo Ribalda 2016-12-02 3353 /* e99ca98f1d7190 drivers/mtd/spi-nor/spi-nor.c Ricardo Ribalda 2016-12-02 3354 * Make sure the XSR_RDY flag is set before calling e99ca98f1d7190 drivers/mtd/spi-nor/spi-nor.c Ricardo Ribalda 2016-12-02 3355 * spi_nor_wait_till_ready(). Xilinx S3AN share MFR 1ac71ec0130cce drivers/mtd/spi-nor/core.c Tudor Ambarus 2020-04-28 3356 * with Atmel SPI NOR. e99ca98f1d7190 drivers/mtd/spi-nor/spi-nor.c Ricardo Ribalda 2016-12-02 3357 */ ad3bba06b63697 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2019-07-30 3358 if (info->flags & SPI_NOR_XSR_RDY) e99ca98f1d7190 drivers/mtd/spi-nor/spi-nor.c Ricardo Ribalda 2016-12-02 3359 nor->flags |= SNOR_F_READY_XSR_RDY; e99ca98f1d7190 drivers/mtd/spi-nor/spi-nor.c Ricardo Ribalda 2016-12-02 3360 dff972458acb05 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2019-08-24 3361 if (info->flags & SPI_NOR_HAS_LOCK) dff972458acb05 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2019-08-24 3362 nor->flags |= SNOR_F_HAS_LOCK; dff972458acb05 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2019-08-24 3363 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3364 /* sst nor chips use AAI word program */ 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3365 if (info->flags & SST_WRITE) 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3366 mtd->_write = sst_write; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3367 else c53b3f92b405d6 drivers/mtd/spi-nor/core.c Boris Brezillon 2020-03-13 3368 mtd->_write = spi_nor_write; c53b3f92b405d6 drivers/mtd/spi-nor/core.c Boris Brezillon 2020-03-13 3369 1c1d8d98e1c706 drivers/mtd/spi-nor/spi-nor.c Tudor Ambarus 2019-08-24 3370 /* Init flash parameters based on flash_info struct and SFDP */ 829ec6408dc58d drivers/mtd/spi-nor/core.c Tudor Ambarus 2020-03-13 3371 ret = spi_nor_init_params(nor); 829ec6408dc58d drivers/mtd/spi-nor/core.c Tudor Ambarus 2020-03-13 3372 if (ret) 829ec6408dc58d drivers/mtd/spi-nor/core.c Tudor Ambarus 2020-03-13 3373 return ret; cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3374 32f1b7c8352fd3 drivers/mtd/spi-nor/spi-nor.c Rafał Miłecki 2014-09-28 3375 if (!mtd->name) b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3376 mtd->name = dev_name(dev); c9ec3900abf279 drivers/mtd/spi-nor/spi-nor.c Brian Norris 2015-08-13 3377 mtd->priv = nor; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3378 mtd->type = MTD_NORFLASH; afd473e8582702 drivers/mtd/spi-nor/core.c Pratyush Yadav 2020-12-01 3379 mtd->writesize = nor->params->writesize; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3380 mtd->flags = MTD_CAP_NORFLASH; 829ec6408dc58d drivers/mtd/spi-nor/core.c Tudor Ambarus 2020-03-13 3381 mtd->size = nor->params->size; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3382 mtd->_erase = spi_nor_erase; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3383 mtd->_read = spi_nor_read; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3384 nor->page_size = nor->params->page_size; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3385 #ifdef CONFIG_OF 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3386 np_spi = of_get_next_parent(np); 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3387 if (((of_property_match_string(np_spi, "compatible", 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3388 "xlnx,zynq-qspi-1.0") >= 0) || 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3389 (of_property_match_string(np_spi, "compatible", 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3390 "xlnx,zynqmp-qspi-1.0") >= 0)) || 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3391 (of_property_match_string(np_spi, "compatible", 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3392 "xlnx,versal-qspi-1.0") >= 0) || 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3393 (of_property_match_string(np_spi, "compatible", 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3394 "xlnx,versal-ospi-1.0") >= 0)) { 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3395 if (of_property_read_u32(np_spi, "is-dual", 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3396 &is_dual) < 0) { 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3397 /* Default to single if prop not defined */ 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3398 nor->shift = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3399 nor->isstacked = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3400 nor->isparallel = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3401 } else { 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3402 if (is_dual == 1) { 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3403 /* dual parallel */ 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3404 nor->shift = 1; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3405 info->sector_size <<= nor->shift; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3406 info->page_size <<= nor->shift; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3407 nor->page_size = info->page_size; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3408 mtd->size <<= nor->shift; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3409 nor->isparallel = 1; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3410 nor->isstacked = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3411 nor->spi->master->flags |= 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3412 (SPI_MASTER_DATA_STRIPE 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3413 | SPI_MASTER_BOTH_CS); 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3414 } else { 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3415 #ifdef CONFIG_SPI_ZYNQ_QSPI_DUAL_STACKED 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3416 /* dual stacked */ 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3417 nor->shift = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3418 mtd->size <<= 1; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3419 info->n_sectors <<= 1; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3420 nor->isstacked = 1; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3421 nor->isparallel = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3422 #else 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3423 u32 is_stacked; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3424 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3425 if (of_property_read_u32(np_spi, 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3426 "is-stacked", 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3427 &is_stacked) < 0) { 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3428 is_stacked = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3429 } 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3430 if (is_stacked) { 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3431 /* dual stacked */ 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3432 nor->shift = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3433 mtd->size <<= 1; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3434 info->n_sectors <<= 1; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3435 nor->isstacked = 1; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3436 nor->isparallel = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3437 } else { 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3438 /* single */ 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3439 nor->shift = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3440 nor->isstacked = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3441 nor->isparallel = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3442 } 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3443 #endif 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3444 } 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3445 } 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3446 } 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3447 #else 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3448 /* Default to single */ 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3449 nor->shift = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3450 nor->isstacked = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3451 nor->isparallel = 0; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3452 #endif 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3453 1b65c43f7078eb drivers/mtd/spi-nor/core.c Pratyush Yadav 2020-10-05 3454 mtd->_suspend = spi_nor_suspend; d6084fc83c8249 drivers/mtd/spi-nor/spi-nor.c Kamal Dasu 2017-08-22 3455 mtd->_resume = spi_nor_resume; be94215be1ab19 drivers/mtd/spi-nor/core.c Xiang Chen 2021-04-01 3456 mtd->_get_device = spi_nor_get_device; be94215be1ab19 drivers/mtd/spi-nor/core.c Xiang Chen 2021-04-01 3457 mtd->_put_device = spi_nor_put_device; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3458 51983b7dcf3a50 drivers/mtd/spi-nor/spi-nor.c Brian Norris 2014-09-10 3459 if (info->flags & USE_FSR) 51983b7dcf3a50 drivers/mtd/spi-nor/spi-nor.c Brian Norris 2014-09-10 3460 nor->flags |= SNOR_F_USE_FSR; adf1092fa838e8 drivers/mtd/spi-nor/spi-nor.c Jungseung Lee 2019-12-02 3461 if (info->flags & SPI_NOR_HAS_TB) { 3dd8012a8eeb37 drivers/mtd/spi-nor/spi-nor.c Brian Norris 2016-01-29 3462 nor->flags |= SNOR_F_HAS_SR_TB; adf1092fa838e8 drivers/mtd/spi-nor/spi-nor.c Jungseung Lee 2019-12-02 3463 if (info->flags & SPI_NOR_TB_SR_BIT6) adf1092fa838e8 drivers/mtd/spi-nor/spi-nor.c Jungseung Lee 2019-12-02 3464 nor->flags |= SNOR_F_HAS_SR_TB_BIT6; adf1092fa838e8 drivers/mtd/spi-nor/spi-nor.c Jungseung Lee 2019-12-02 3465 } adf1092fa838e8 drivers/mtd/spi-nor/spi-nor.c Jungseung Lee 2019-12-02 3466 2f5ad7f0f3e167 drivers/mtd/spi-nor/spi-nor.c mar.krzeminski 2017-01-06 3467 if (info->flags & NO_CHIP_ERASE) 2f5ad7f0f3e167 drivers/mtd/spi-nor/spi-nor.c mar.krzeminski 2017-01-06 3468 nor->flags |= SNOR_F_NO_OP_CHIP_ERASE; c4b3eacc1dfef5 drivers/mtd/spi-nor/spi-nor.c Alexander Sverdlin 2017-07-17 3469 if (info->flags & USE_CLSR) c4b3eacc1dfef5 drivers/mtd/spi-nor/spi-nor.c Alexander Sverdlin 2017-07-17 3470 nor->flags |= SNOR_F_USE_CLSR; 31ad3eff093cf2 drivers/mtd/spi-nor/core.c Michael Walle 2020-12-03 3471 if (info->flags & SPI_NOR_SWP_IS_VOLATILE) 31ad3eff093cf2 drivers/mtd/spi-nor/core.c Michael Walle 2020-12-03 3472 nor->flags |= SNOR_F_SWP_IS_VOLATILE; c14deddec1fbd8 drivers/mtd/spi-nor/spi-nor.c [email protected] 2014-04-29 3473 05635c14a292de drivers/mtd/spi-nor/core.c Jungseung Lee 2020-03-18 3474 if (info->flags & SPI_NOR_4BIT_BP) { 05635c14a292de drivers/mtd/spi-nor/core.c Jungseung Lee 2020-03-18 3475 nor->flags |= SNOR_F_HAS_4BIT_BP; 05635c14a292de drivers/mtd/spi-nor/core.c Jungseung Lee 2020-03-18 3476 if (info->flags & SPI_NOR_BP3_SR_BIT6) 05635c14a292de drivers/mtd/spi-nor/core.c Jungseung Lee 2020-03-18 3477 nor->flags |= SNOR_F_HAS_SR_BP3_BIT6; 05635c14a292de drivers/mtd/spi-nor/core.c Jungseung Lee 2020-03-18 3478 } 05635c14a292de drivers/mtd/spi-nor/core.c Jungseung Lee 2020-03-18 3479 b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3480 if (info->flags & SPI_NOR_NO_ERASE) b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3481 mtd->flags |= MTD_NO_ERASE; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3482 b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3483 mtd->dev.parent = dev; 2747bc2106aa42 drivers/mtd/spi-nor/core.c Amit Kumar Mahapatra 2022-01-25 3484 nor->jedec_id = info->id[0]; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3485 mtd->writebufsize = nor->page_size; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3486 bb276262e88dae drivers/mtd/spi-nor/spi-nor.c Brian Norris 2018-07-27 3487 if (of_property_read_bool(np, "broken-flash-reset")) bb276262e88dae drivers/mtd/spi-nor/spi-nor.c Brian Norris 2018-07-27 3488 nor->flags |= SNOR_F_BROKEN_RESET; bb276262e88dae drivers/mtd/spi-nor/spi-nor.c Brian Norris 2018-07-27 3489 cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3490 /* cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3491 * Configure the SPI memory: cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3492 * - select op codes for (Fast) Read, Page Program and Sector Erase. cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3493 * - set the number of dummy cycles (mode cycles + wait states). cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3494 * - set the SPI protocols for register and memory accesses. cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3495 */ 1e35a56781b4b5 drivers/mtd/spi-nor/spi-nor.c Tudor Ambarus 2019-08-23 3496 ret = spi_nor_setup(nor, hwcaps); cfc5604c488ccd drivers/mtd/spi-nor/spi-nor.c Cyrille Pitchen 2017-04-25 3497 if (ret) b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3498 return ret; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3499 92094ebc385ef5 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2019-08-24 3500 if (info->flags & SPI_NOR_4B_OPCODES) 548ed6847f5303 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2018-12-06 3501 nor->flags |= SNOR_F_4B_OPCODES; 548ed6847f5303 drivers/mtd/spi-nor/spi-nor.c Boris Brezillon 2018-12-06 3502 c6908077b194e4 drivers/mtd/spi-nor/core.c Tudor Ambarus 2020-10-05 3503 if (info->flags & SPI_NOR_IO_MODE_EN_VOLATILE) c6908077b194e4 drivers/mtd/spi-nor/core.c Tudor Ambarus 2020-10-05 3504 nor->flags |= SNOR_F_IO_MODE_EN_VOLATILE; c6908077b194e4 drivers/mtd/spi-nor/core.c Tudor Ambarus 2020-10-05 3505 696ce50f4e9377 drivers/mtd/spi-nor/spi-nor.c Tudor Ambarus 2019-08-24 3506 ret = spi_nor_set_addr_width(nor); 696ce50f4e9377 drivers/mtd/spi-nor/spi-nor.c Tudor Ambarus 2019-08-24 3507 if (ret) 696ce50f4e9377 drivers/mtd/spi-nor/spi-nor.c Tudor Ambarus 2019-08-24 3508 return ret; c67cbb839da9cc drivers/mtd/spi-nor/spi-nor.c Brian Norris 2015-11-10 3509 c4c795105f2924 drivers/mtd/spi-nor/core.c Tudor Ambarus 2021-03-22 3510 spi_nor_register_locking_ops(nor); c4c795105f2924 drivers/mtd/spi-nor/core.c Tudor Ambarus 2021-03-22 3511 46dde01f6bab35 drivers/mtd/spi-nor/spi-nor.c Kamal Dasu 2017-08-22 3512 /* Send all the required SPI flash commands to initialize device */ 46dde01f6bab35 drivers/mtd/spi-nor/spi-nor.c Kamal Dasu 2017-08-22 3513 ret = spi_nor_init(nor); 46dde01f6bab35 drivers/mtd/spi-nor/spi-nor.c Kamal Dasu 2017-08-22 3514 if (ret) 46dde01f6bab35 drivers/mtd/spi-nor/spi-nor.c Kamal Dasu 2017-08-22 3515 return ret; 46dde01f6bab35 drivers/mtd/spi-nor/spi-nor.c Kamal Dasu 2017-08-22 3516 069089acf88b22 drivers/mtd/spi-nor/core.c Michael Walle 2021-03-22 3517 /* Configure OTP parameters and ops */ 069089acf88b22 drivers/mtd/spi-nor/core.c Michael Walle 2021-03-22 3518 spi_nor_otp_init(nor); 069089acf88b22 drivers/mtd/spi-nor/core.c Michael Walle 2021-03-22 3519 06bb6f5a69dfc5 drivers/mtd/spi-nor/spi-nor.c Rafał Miłecki 2015-08-10 3520 dev_info(dev, "%s (%lld Kbytes)\n", info->name, b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3521 (long long)mtd->size >> 10); b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3522 b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3523 dev_dbg(dev, b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3524 "mtd .name = %s, .size = 0x%llx (%lldMiB), " b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3525 ".erasesize = 0x%.8x (%uKiB) .numeraseregions = %d\n", b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3526 mtd->name, (long long)mtd->size, (long long)(mtd->size >> 20), b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3527 mtd->erasesize, mtd->erasesize / 1024, mtd->numeraseregions); b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3528 b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3529 if (mtd->numeraseregions) b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3530 for (i = 0; i < mtd->numeraseregions; i++) b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3531 dev_dbg(dev, b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3532 "mtd.eraseregions[%d] = { .offset = 0x%llx, " b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3533 ".erasesize = 0x%.8x (%uKiB), " b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3534 ".numblocks = %d }\n", b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3535 i, (long long)mtd->eraseregions[i].offset, b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3536 mtd->eraseregions[i].erasesize, b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3537 mtd->eraseregions[i].erasesize / 1024, b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3538 mtd->eraseregions[i].numblocks); b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3539 return 0; b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3540 } b61834b0d0ed50 drivers/mtd/spi-nor/spi-nor.c Brian Norris 2014-04-08 3541 EXPORT_SYMBOL_GPL(spi_nor_scan); b199489d37b21c drivers/mtd/spi-nor/spi-nor.c Huang Shijie 2014-02-24 3542 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
