|
@@ -528,3 +528,79 @@ static const s16 da830_dma_rsv_slots[][2] = {
|
|
|
{24, 4},
|
|
|
{30, 26},
|
|
|
{-1, -1}
|
|
|
+};
|
|
|
+
|
|
|
+static struct edma_rsv_info da830_edma_rsv[] = {
|
|
|
+ {
|
|
|
+ .rsv_chans = da830_dma_rsv_chans,
|
|
|
+ .rsv_slots = da830_dma_rsv_slots,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct mtd_partition da830evm_spiflash_part[] = {
|
|
|
+ [0] = {
|
|
|
+ .name = "DSP-UBL",
|
|
|
+ .offset = 0,
|
|
|
+ .size = SZ_8K,
|
|
|
+ .mask_flags = MTD_WRITEABLE,
|
|
|
+ },
|
|
|
+ [1] = {
|
|
|
+ .name = "ARM-UBL",
|
|
|
+ .offset = MTDPART_OFS_APPEND,
|
|
|
+ .size = SZ_16K + SZ_8K,
|
|
|
+ .mask_flags = MTD_WRITEABLE,
|
|
|
+ },
|
|
|
+ [2] = {
|
|
|
+ .name = "U-Boot",
|
|
|
+ .offset = MTDPART_OFS_APPEND,
|
|
|
+ .size = SZ_256K - SZ_32K,
|
|
|
+ .mask_flags = MTD_WRITEABLE,
|
|
|
+ },
|
|
|
+ [3] = {
|
|
|
+ .name = "U-Boot-Environment",
|
|
|
+ .offset = MTDPART_OFS_APPEND,
|
|
|
+ .size = SZ_16K,
|
|
|
+ .mask_flags = 0,
|
|
|
+ },
|
|
|
+ [4] = {
|
|
|
+ .name = "Kernel",
|
|
|
+ .offset = MTDPART_OFS_APPEND,
|
|
|
+ .size = MTDPART_SIZ_FULL,
|
|
|
+ .mask_flags = 0,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static struct flash_platform_data da830evm_spiflash_data = {
|
|
|
+ .name = "m25p80",
|
|
|
+ .parts = da830evm_spiflash_part,
|
|
|
+ .nr_parts = ARRAY_SIZE(da830evm_spiflash_part),
|
|
|
+ .type = "w25x32",
|
|
|
+};
|
|
|
+
|
|
|
+static struct davinci_spi_config da830evm_spiflash_cfg = {
|
|
|
+ .io_type = SPI_IO_TYPE_DMA,
|
|
|
+ .c2tdelay = 8,
|
|
|
+ .t2cdelay = 8,
|
|
|
+};
|
|
|
+
|
|
|
+static struct spi_board_info da830evm_spi_info[] = {
|
|
|
+ {
|
|
|
+ .modalias = "m25p80",
|
|
|
+ .platform_data = &da830evm_spiflash_data,
|
|
|
+ .controller_data = &da830evm_spiflash_cfg,
|
|
|
+ .mode = SPI_MODE_0,
|
|
|
+ .max_speed_hz = 30000000,
|
|
|
+ .bus_num = 0,
|
|
|
+ .chip_select = 0,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+static __init void da830_evm_init(void)
|
|
|
+{
|
|
|
+ struct davinci_soc_info *soc_info = &davinci_soc_info;
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ ret = da830_register_edma(da830_edma_rsv);
|
|
|
+ if (ret)
|
|
|
+ pr_warning("da830_evm_init: edma registration failed: %d\n",
|
|
|
+ ret);
|