diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2017-03-22 16:07:23 -0400 |
---|---|---|
committer | Boris Brezillon <boris.brezillon@free-electrons.com> | 2017-03-28 08:24:44 -0400 |
commit | 6652ef88c4a7036e8f5e900f47a4daf2a9ba30c8 (patch) | |
tree | ff58cf9a145ba587b6b0ee42b0c06ab99fb96a63 | |
parent | cc5d8031f8c7b11c325a37118f9aa6133f0b28a0 (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.c | 16 |
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 | ||
343 | static void get_toshiba_nand_para(struct denali_nand_info *denali) | 343 | static 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) | |||
366 | static void get_hynix_nand_para(struct denali_nand_info *denali, | 360 | static 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); |