diff options
| -rw-r--r-- | arch/arm/mach-davinci/board-da830-evm.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c index b52a3a1abd94..8bc3701aa05c 100644 --- a/arch/arm/mach-davinci/board-da830-evm.c +++ b/arch/arm/mach-davinci/board-da830-evm.c | |||
| @@ -20,6 +20,8 @@ | |||
| 20 | #include <linux/i2c/at24.h> | 20 | #include <linux/i2c/at24.h> |
| 21 | #include <linux/mtd/mtd.h> | 21 | #include <linux/mtd/mtd.h> |
| 22 | #include <linux/mtd/partitions.h> | 22 | #include <linux/mtd/partitions.h> |
| 23 | #include <linux/spi/spi.h> | ||
| 24 | #include <linux/spi/flash.h> | ||
| 23 | 25 | ||
| 24 | #include <asm/mach-types.h> | 26 | #include <asm/mach-types.h> |
| 25 | #include <asm/mach/arch.h> | 27 | #include <asm/mach/arch.h> |
| @@ -30,6 +32,7 @@ | |||
| 30 | #include <mach/da8xx.h> | 32 | #include <mach/da8xx.h> |
| 31 | #include <mach/usb.h> | 33 | #include <mach/usb.h> |
| 32 | #include <mach/aemif.h> | 34 | #include <mach/aemif.h> |
| 35 | #include <mach/spi.h> | ||
| 33 | 36 | ||
| 34 | #define DA830_EVM_PHY_ID "" | 37 | #define DA830_EVM_PHY_ID "" |
| 35 | /* | 38 | /* |
| @@ -534,6 +537,64 @@ static struct edma_rsv_info da830_edma_rsv[] = { | |||
| 534 | }, | 537 | }, |
| 535 | }; | 538 | }; |
| 536 | 539 | ||
| 540 | static struct mtd_partition da830evm_spiflash_part[] = { | ||
| 541 | [0] = { | ||
| 542 | .name = "DSP-UBL", | ||
| 543 | .offset = 0, | ||
| 544 | .size = SZ_8K, | ||
| 545 | .mask_flags = MTD_WRITEABLE, | ||
| 546 | }, | ||
| 547 | [1] = { | ||
| 548 | .name = "ARM-UBL", | ||
| 549 | .offset = MTDPART_OFS_APPEND, | ||
| 550 | .size = SZ_16K + SZ_8K, | ||
| 551 | .mask_flags = MTD_WRITEABLE, | ||
| 552 | }, | ||
| 553 | [2] = { | ||
| 554 | .name = "U-Boot", | ||
| 555 | .offset = MTDPART_OFS_APPEND, | ||
| 556 | .size = SZ_256K - SZ_32K, | ||
| 557 | .mask_flags = MTD_WRITEABLE, | ||
| 558 | }, | ||
| 559 | [3] = { | ||
| 560 | .name = "U-Boot-Environment", | ||
| 561 | .offset = MTDPART_OFS_APPEND, | ||
| 562 | .size = SZ_16K, | ||
| 563 | .mask_flags = 0, | ||
| 564 | }, | ||
| 565 | [4] = { | ||
| 566 | .name = "Kernel", | ||
| 567 | .offset = MTDPART_OFS_APPEND, | ||
| 568 | .size = MTDPART_SIZ_FULL, | ||
| 569 | .mask_flags = 0, | ||
| 570 | }, | ||
| 571 | }; | ||
| 572 | |||
| 573 | static struct flash_platform_data da830evm_spiflash_data = { | ||
| 574 | .name = "m25p80", | ||
| 575 | .parts = da830evm_spiflash_part, | ||
| 576 | .nr_parts = ARRAY_SIZE(da830evm_spiflash_part), | ||
| 577 | .type = "w25x32", | ||
| 578 | }; | ||
| 579 | |||
| 580 | static struct davinci_spi_config da830evm_spiflash_cfg = { | ||
| 581 | .io_type = SPI_IO_TYPE_DMA, | ||
| 582 | .c2tdelay = 8, | ||
| 583 | .t2cdelay = 8, | ||
| 584 | }; | ||
| 585 | |||
| 586 | static struct spi_board_info da830evm_spi_info[] = { | ||
| 587 | { | ||
| 588 | .modalias = "m25p80", | ||
| 589 | .platform_data = &da830evm_spiflash_data, | ||
| 590 | .controller_data = &da830evm_spiflash_cfg, | ||
| 591 | .mode = SPI_MODE_0, | ||
| 592 | .max_speed_hz = 30000000, | ||
| 593 | .bus_num = 0, | ||
| 594 | .chip_select = 0, | ||
| 595 | }, | ||
| 596 | }; | ||
| 597 | |||
| 537 | static __init void da830_evm_init(void) | 598 | static __init void da830_evm_init(void) |
| 538 | { | 599 | { |
| 539 | struct davinci_soc_info *soc_info = &davinci_soc_info; | 600 | struct davinci_soc_info *soc_info = &davinci_soc_info; |
| @@ -590,6 +651,12 @@ static __init void da830_evm_init(void) | |||
| 590 | ret = da8xx_register_rtc(); | 651 | ret = da8xx_register_rtc(); |
| 591 | if (ret) | 652 | if (ret) |
| 592 | pr_warning("da830_evm_init: rtc setup failed: %d\n", ret); | 653 | pr_warning("da830_evm_init: rtc setup failed: %d\n", ret); |
| 654 | |||
| 655 | ret = da8xx_register_spi(0, da830evm_spi_info, | ||
| 656 | ARRAY_SIZE(da830evm_spi_info)); | ||
| 657 | if (ret) | ||
| 658 | pr_warning("da830_evm_init: spi 0 registration failed: %d\n", | ||
| 659 | ret); | ||
| 593 | } | 660 | } |
| 594 | 661 | ||
| 595 | #ifdef CONFIG_SERIAL_8250_CONSOLE | 662 | #ifdef CONFIG_SERIAL_8250_CONSOLE |
