Date: | 2010-07-30 04:20:25 (13 years 4 months ago) |
---|---|
Author: | Maarten ter Huurne |
Commit: | 63b52d84f3263d4d11644dce7d1596b444026463 |
Message: | MTD: NAND: jz4740: Request and configure GPIO pins for NAND chip
select. Chip select for bank 1 is already configured on boot, but the other banks only started working after this change. |
Files: |
drivers/mtd/nand/jz4740_nand.c (3 diffs) |
Change Details
drivers/mtd/nand/jz4740_nand.c | ||
---|---|---|
483 | 483 | |
484 | 484 | ctrl = 0; |
485 | 485 | for (num_banks = 0; num_banks < 4 ; ++num_banks) { |
486 | int gpio; | |
487 | char name[9]; | |
488 | ||
486 | 489 | bank = pdata->banks[num_banks]; |
487 | 490 | if (bank == 0) |
488 | 491 | break; |
489 | 492 | if (bank > 4) { |
493 | dev_err(&pdev->dev, "Non-existing bank: %d\n", bank); | |
490 | 494 | ret = -EINVAL; |
491 | 495 | goto err_gpio_free; |
492 | 496 | } |
493 | 497 | |
498 | sprintf(name, "NAND CS%d", bank); | |
499 | gpio = JZ_GPIO_MEM_CS0 + bank - 1; | |
500 | ret = gpio_request(gpio, name); | |
501 | if (ret) { | |
502 | dev_err(&pdev->dev, | |
503 | "Failed to request %s gpio %d: %d\n", | |
504 | name, gpio, ret); | |
505 | goto err_gpio_free; | |
506 | } | |
507 | jz_gpio_set_function(gpio, JZ_GPIO_FUNC_MEM_CS0); | |
508 | ||
494 | 509 | ctrl |= JZ_NAND_CTRL_ENABLE_CHIP(bank - 1); |
495 | 510 | } |
496 | 511 | |
... | ... | |
555 | 570 | err_gpio_free: |
556 | 571 | platform_set_drvdata(pdev, NULL); |
557 | 572 | gpio_free(pdata->busy_gpio); |
573 | while (num_banks--) { | |
574 | bank = pdata->banks[num_banks]; | |
575 | gpio_free(JZ_GPIO_MEM_CS0 + bank - 1); | |
576 | } | |
558 | 577 | err_iounmap_mmio: |
559 | 578 | iounmap(nand->base); |
560 | 579 | err_free: |
... | ... | |
574 | 593 | writel(0, nand->base + JZ_REG_NAND_CTRL); |
575 | 594 | |
576 | 595 | for (i = 0; i < 4; ++i) |
577 | if (nand->bank_base[i] != 0) | |
596 | if (nand->bank_base[i] != 0) { | |
578 | 597 | jz_nand_iounmap_resource(nand->bank_mem[i], |
579 | 598 | nand->bank_base[i]); |
599 | gpio_free(JZ_GPIO_MEM_CS0 + i); | |
600 | } | |
580 | 601 | gpio_free(pdata->busy_gpio); |
581 | 602 | |
582 | 603 | jz_nand_iounmap_resource(nand->mem, nand->base); |
Branches:
ben-wpan
ben-wpan-stefan
5396a9238205f20f811ea57898980d3ca82df0b6
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9