Lines Matching refs:dev_info

22 static cnf_dev_info_t dev_info;  variable
223 dev_info.mfr_id = FIELD_GET(CNF_MFR_ID_MASK, reg); in cdns_nand_update_dev_info()
224 dev_info.dev_id = FIELD_GET(CNF_DEV_ID_MASK, reg); in cdns_nand_update_dev_info()
225 INFO(" -- Manufacturer ID: 0x%02x\n", dev_info.mfr_id); in cdns_nand_update_dev_info()
226 INFO(" -- Device ID: 0x%02x\n", dev_info.dev_id); in cdns_nand_update_dev_info()
230 dev_info.type = CNF_GET_DEV_TYPE(reg); in cdns_nand_update_dev_info()
231 NOTICE(" -- Device type '%s' detected\n", device_type[dev_info.type]); in cdns_nand_update_dev_info()
232 if (dev_info.type == CNF_DT_UNKNOWN) { in cdns_nand_update_dev_info()
236 dev_info.nluns = CNF_GET_NLUNS(reg); in cdns_nand_update_dev_info()
240 dev_info.npages_per_block = CNF_GET_NPAGES_PER_BLOCK(reg); in cdns_nand_update_dev_info()
241 INFO(" -- Pages per block: %d\n", dev_info.npages_per_block); in cdns_nand_update_dev_info()
245 dev_info.sector_size = CNF_GET_SCTR_SIZE(reg); in cdns_nand_update_dev_info()
246 dev_info.last_sector_size = CNF_GET_LAST_SCTR_SIZE(reg); in cdns_nand_update_dev_info()
250 dev_info.page_size = CNF_GET_PAGE_SIZE(reg); in cdns_nand_update_dev_info()
251 dev_info.spare_size = CNF_GET_SPARE_SIZE(reg); in cdns_nand_update_dev_info()
252 INFO(" -- Page main area size: %d bytes\n", dev_info.page_size); in cdns_nand_update_dev_info()
253 INFO(" -- Page spare area size: %d bytes\n", dev_info.spare_size); in cdns_nand_update_dev_info()
256 dev_info.nblocks_per_lun = mmio_read_32(CNF_CTRLPARAM(DEV_BLOCKS_PLUN)); in cdns_nand_update_dev_info()
257 INFO(" -- Blocks per LUN: %d\n", dev_info.nblocks_per_lun); in cdns_nand_update_dev_info()
260 dev_info.block_size = (dev_info.npages_per_block * dev_info.page_size); in cdns_nand_update_dev_info()
261 INFO(" -- Block size: %d bytes\n", dev_info.block_size); in cdns_nand_update_dev_info()
263 dev_info.total_size = ((unsigned long long)dev_info.block_size * in cdns_nand_update_dev_info()
264 (unsigned long long)dev_info.nblocks_per_lun * in cdns_nand_update_dev_info()
265 dev_info.nluns); in cdns_nand_update_dev_info()
266 NOTICE(" -- Total device size: %llu bytes\n", dev_info.total_size); in cdns_nand_update_dev_info()
322 uint32_t row_address = dev_info.npages_per_block * offset; in cdns_nand_erase()
350 *size = dev_info.total_size; in cdns_nand_init_mtd()
351 *erase_size = dev_info.block_size; in cdns_nand_init_mtd()
362 if (dev_info.npages_per_block == 0U) in cdns_nand_get_row_address()
366 if ((1U << i) & dev_info.npages_per_block) in cdns_nand_get_row_address()
418 uint32_t block = offset / dev_info.block_size; in cdns_nand_read()
419 uint32_t end_block = (offset + length - 1U) / dev_info.block_size; in cdns_nand_read()
420 uint32_t page_start = (offset % dev_info.block_size) / dev_info.page_size; in cdns_nand_read()
421 uint32_t start_offset = offset % dev_info.page_size; in cdns_nand_read()
422 uint32_t nb_pages = dev_info.block_size / dev_info.page_size; in cdns_nand_read()
430 if ((offset >= dev_info.total_size) || in cdns_nand_read()
431 (offset + length-1 >= dev_info.total_size) || in cdns_nand_read()
441 if ((start_offset != 0U) || (length < dev_info.page_size)) { in cdns_nand_read()
449 bytes_read = MIN((size_t)(dev_info.page_size - start_offset), in cdns_nand_read()
463 bytes_read = dev_info.page_size; in cdns_nand_read()