aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2017-03-22 16:07:23 -0400
committerBoris Brezillon <boris.brezillon@free-electrons.com>2017-03-28 08:24:44 -0400
commit6652ef88c4a7036e8f5e900f47a4daf2a9ba30c8 (patch)
treeff58cf9a145ba587b6b0ee42b0c06ab99fb96a63
parentcc5d8031f8c7b11c325a37118f9aa6133f0b28a0 (diff)
mtd: nand: denali: remove meaningless writes to read-only registers
The write accesses to LOGICAL_PAGE_{DATA,SPARE}_SIZE have no effect because the Denali User's Guide says these registers are read-only. The hardware automatically multiplies the main/spare size by the number of devices and update LOGICAL_PAGE_{DATA,SPARE}_SIZE. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
-rw-r--r--drivers/mtd/nand/denali.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index b442a3ed9f0f..1a2e0638affc 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -342,8 +342,6 @@ static void get_samsung_nand_para(struct denali_nand_info *denali,
342 342
343static void get_toshiba_nand_para(struct denali_nand_info *denali) 343static void get_toshiba_nand_para(struct denali_nand_info *denali)
344{ 344{
345 uint32_t tmp;
346
347 /* 345 /*
348 * Workaround to fix a controller bug which reports a wrong 346 * Workaround to fix a controller bug which reports a wrong
349 * spare area size for some kind of Toshiba NAND device 347 * spare area size for some kind of Toshiba NAND device
@@ -351,10 +349,6 @@ static void get_toshiba_nand_para(struct denali_nand_info *denali)
351 if ((ioread32(denali->flash_reg + DEVICE_MAIN_AREA_SIZE) == 4096) && 349 if ((ioread32(denali->flash_reg + DEVICE_MAIN_AREA_SIZE) == 4096) &&
352 (ioread32(denali->flash_reg + DEVICE_SPARE_AREA_SIZE) == 64)) { 350 (ioread32(denali->flash_reg + DEVICE_SPARE_AREA_SIZE) == 64)) {
353 iowrite32(216, denali->flash_reg + DEVICE_SPARE_AREA_SIZE); 351 iowrite32(216, denali->flash_reg + DEVICE_SPARE_AREA_SIZE);
354 tmp = ioread32(denali->flash_reg + DEVICES_CONNECTED) *
355 ioread32(denali->flash_reg + DEVICE_SPARE_AREA_SIZE);
356 iowrite32(tmp,
357 denali->flash_reg + LOGICAL_PAGE_SPARE_SIZE);
358#if SUPPORT_15BITECC 352#if SUPPORT_15BITECC
359 iowrite32(15, denali->flash_reg + ECC_CORRECTION); 353 iowrite32(15, denali->flash_reg + ECC_CORRECTION);
360#elif SUPPORT_8BITECC 354#elif SUPPORT_8BITECC
@@ -366,22 +360,12 @@ static void get_toshiba_nand_para(struct denali_nand_info *denali)
366static void get_hynix_nand_para(struct denali_nand_info *denali, 360static void get_hynix_nand_para(struct denali_nand_info *denali,
367 uint8_t device_id) 361 uint8_t device_id)
368{ 362{
369 uint32_t main_size, spare_size;
370
371 switch (device_id) { 363 switch (device_id) {
372 case 0xD5: /* Hynix H27UAG8T2A, H27UBG8U5A or H27UCG8VFA */ 364 case 0xD5: /* Hynix H27UAG8T2A, H27UBG8U5A or H27UCG8VFA */
373 case 0xD7: /* Hynix H27UDG8VEM, H27UCG8UDM or H27UCG8V5A */ 365 case 0xD7: /* Hynix H27UDG8VEM, H27UCG8UDM or H27UCG8V5A */
374 iowrite32(128, denali->flash_reg + PAGES_PER_BLOCK); 366 iowrite32(128, denali->flash_reg + PAGES_PER_BLOCK);
375 iowrite32(4096, denali->flash_reg + DEVICE_MAIN_AREA_SIZE); 367 iowrite32(4096, denali->flash_reg + DEVICE_MAIN_AREA_SIZE);
376 iowrite32(224, denali->flash_reg + DEVICE_SPARE_AREA_SIZE); 368 iowrite32(224, denali->flash_reg + DEVICE_SPARE_AREA_SIZE);
377 main_size = 4096 *
378 ioread32(denali->flash_reg + DEVICES_CONNECTED);
379 spare_size = 224 *
380 ioread32(denali->flash_reg + DEVICES_CONNECTED);
381 iowrite32(main_size,
382 denali->flash_reg + LOGICAL_PAGE_DATA_SIZE);
383 iowrite32(spare_size,
384 denali->flash_reg + LOGICAL_PAGE_SPARE_SIZE);
385 iowrite32(0, denali->flash_reg + DEVICE_WIDTH); 369 iowrite32(0, denali->flash_reg + DEVICE_WIDTH);
386#if SUPPORT_15BITECC 370#if SUPPORT_15BITECC
387 iowrite32(15, denali->flash_reg + ECC_CORRECTION); 371 iowrite32(15, denali->flash_reg + ECC_CORRECTION);