Commit dd561c6a authored by Michael Williamson's avatar Michael Williamson Committed by Kevin Hilman

davinci: add spi devices support for MityDSP-L138/MityARM-1808 platform

This patch adds support for accessing the on board SPI NOR FLASH
device for MityDSP-L138 and MityARM-1808 SoMs.
Signed-off-by: default avatarMichael Williamson <michael.williamson@criticallink.com>
Tested-by: default avatarMichael Williamson <michael.williamson@criticallink.com>
Acked-by: default avatarSekhar Nori <nsekhar@ti.com>
Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
parent 54ce6883
...@@ -17,6 +17,8 @@ ...@@ -17,6 +17,8 @@
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/i2c/at24.h> #include <linux/i2c/at24.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
#include <linux/spi/spi.h>
#include <linux/spi/flash.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
#include <asm/mach/arch.h> #include <asm/mach/arch.h>
...@@ -25,6 +27,7 @@ ...@@ -25,6 +27,7 @@
#include <mach/da8xx.h> #include <mach/da8xx.h>
#include <mach/nand.h> #include <mach/nand.h>
#include <mach/mux.h> #include <mach/mux.h>
#include <mach/spi.h>
#define MITYOMAPL138_PHY_ID "0:03" #define MITYOMAPL138_PHY_ID "0:03"
...@@ -293,6 +296,82 @@ static int __init pmic_tps65023_init(void) ...@@ -293,6 +296,82 @@ static int __init pmic_tps65023_init(void)
ARRAY_SIZE(mityomap_tps65023_info)); ARRAY_SIZE(mityomap_tps65023_info));
} }
/*
* SPI Devices:
* SPI1_CS0: 8M Flash ST-M25P64-VME6G
*/
static struct mtd_partition spi_flash_partitions[] = {
[0] = {
.name = "ubl",
.offset = 0,
.size = SZ_64K,
.mask_flags = MTD_WRITEABLE,
},
[1] = {
.name = "u-boot",
.offset = MTDPART_OFS_APPEND,
.size = SZ_512K,
.mask_flags = MTD_WRITEABLE,
},
[2] = {
.name = "u-boot-env",
.offset = MTDPART_OFS_APPEND,
.size = SZ_64K,
.mask_flags = MTD_WRITEABLE,
},
[3] = {
.name = "periph-config",
.offset = MTDPART_OFS_APPEND,
.size = SZ_64K,
.mask_flags = MTD_WRITEABLE,
},
[4] = {
.name = "reserved",
.offset = MTDPART_OFS_APPEND,
.size = SZ_256K + SZ_64K,
},
[5] = {
.name = "kernel",
.offset = MTDPART_OFS_APPEND,
.size = SZ_2M + SZ_1M,
},
[6] = {
.name = "fpga",
.offset = MTDPART_OFS_APPEND,
.size = SZ_2M,
},
[7] = {
.name = "spare",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
},
};
static struct flash_platform_data mityomapl138_spi_flash_data = {
.name = "m25p80",
.parts = spi_flash_partitions,
.nr_parts = ARRAY_SIZE(spi_flash_partitions),
.type = "m24p64",
};
static struct davinci_spi_config spi_eprom_config = {
.io_type = SPI_IO_TYPE_DMA,
.c2tdelay = 8,
.t2cdelay = 8,
};
static struct spi_board_info mityomapl138_spi_flash_info[] = {
{
.modalias = "m25p80",
.platform_data = &mityomapl138_spi_flash_data,
.controller_data = &spi_eprom_config,
.mode = SPI_MODE_0,
.max_speed_hz = 30000000,
.bus_num = 1,
.chip_select = 0,
},
};
/* /*
* MityDSP-L138 includes a 256 MByte large-page NAND flash * MityDSP-L138 includes a 256 MByte large-page NAND flash
* (128K blocks). * (128K blocks).
...@@ -448,6 +527,11 @@ static void __init mityomapl138_init(void) ...@@ -448,6 +527,11 @@ static void __init mityomapl138_init(void)
mityomapl138_setup_nand(); mityomapl138_setup_nand();
ret = da8xx_register_spi(1, mityomapl138_spi_flash_info,
ARRAY_SIZE(mityomapl138_spi_flash_info));
if (ret)
pr_warning("spi 1 registration failed: %d\n", ret);
mityomapl138_config_emac(); mityomapl138_config_emac();
ret = da8xx_register_rtc(); ret = da8xx_register_rtc();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment