Changes to DM355 related files to enable SPI to function using the
DaVinci SPI driver.

Signed-off-by: Sandeep Paulraj <[email protected]>
---
 arch/arm/mach-davinci/board-dm355-evm.c |   21 +++++++++++++++++++++
 arch/arm/mach-davinci/dm355.c           |   14 +++++++++++---
 2 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-davinci/board-dm355-evm.c 
b/arch/arm/mach-davinci/board-dm355-evm.c
index f32e3d8..ec2b548 100644
--- a/arch/arm/mach-davinci/board-dm355-evm.c
+++ b/arch/arm/mach-davinci/board-dm355-evm.c
@@ -22,6 +22,7 @@
 #include <linux/clk.h>
 #include <linux/spi/spi.h>
 #include <linux/spi/eeprom.h>
+#include <linux/spi/davinci_spi.h>
 
 #include <asm/setup.h>
 #include <asm/mach-types.h>
@@ -228,6 +229,25 @@ static struct davinci_mmc_config dm355evm_mmc_config = {
 #define USB_ID_VALUE   1       /* ID pulled low */
 #endif
 
+struct davinci_spi_config davinci_spi_eeprom_spi_cfg = {
+       .wdelay         = 0,
+       .odd_parity     = 0,
+       .parity_enable  = 0,
+       .wait_enable    = 0,
+       .lsb_first      = 0,
+       .timer_disable  = 0,
+       .clk_high       = 0,
+       .phase_in       = 1,
+       .clk_internal   = 1,
+       .loop_back      = 0,
+       .cs_hold        = 1,
+       .intr_level     = 0,
+       .pin_op_modes   = OPMODE_SPISCS_4PIN,
+#ifndef CONFIG_SPI_INTERRUPT
+       .poll_mode      = 1,
+#endif
+};
+
 static struct spi_eeprom at25640a = {
        .byte_len       = SZ_64K / 8,
        .name           = "at25640a",
@@ -239,6 +259,7 @@ static struct spi_board_info dm355_evm_spi_info[] 
__initconst = {
        {
                .modalias       = "at25",
                .platform_data  = &at25640a,
+               .controller_data = &davinci_spi_eeprom_spi_cfg,
                .max_speed_hz   = 10 * 1000 * 1000,     /* at 3v3 */
                .bus_num        = 0,
                .chip_select    = 0,
diff --git a/arch/arm/mach-davinci/dm355.c b/arch/arm/mach-davinci/dm355.c
index bccc5a8..f91021e 100644
--- a/arch/arm/mach-davinci/dm355.c
+++ b/arch/arm/mach-davinci/dm355.c
@@ -16,6 +16,7 @@
 #include <linux/dma-mapping.h>
 
 #include <linux/spi/spi.h>
+#include <linux/spi/davinci_spi.h>
 
 #include <asm/mach/map.h>
 
@@ -364,9 +365,9 @@ static struct davinci_clk dm355_clks[] = {
        CLK("soc-audio.1", NULL, &asp1_clk),
        CLK("davinci_mmc.0", NULL, &mmcsd0_clk),
        CLK("davinci_mmc.1", NULL, &mmcsd1_clk),
-       CLK(NULL, "spi0", &spi0_clk),
-       CLK(NULL, "spi1", &spi1_clk),
-       CLK(NULL, "spi2", &spi2_clk),
+       CLK("spi_davinci.0", NULL, &spi0_clk),
+       CLK("spi_davinci.1", NULL, &spi1_clk),
+       CLK("spi_davinci.2", NULL, &spi2_clk),
        CLK(NULL, "gpio", &gpio_clk),
        CLK(NULL, "aemif", &aemif_clk),
        CLK(NULL, "pwm0", &pwm0_clk),
@@ -386,6 +387,12 @@ static struct davinci_clk dm355_clks[] = {
 
 static u64 dm355_spi0_dma_mask = DMA_BIT_MASK(32);
 
+static struct davinci_spi_platform_data dm355_spi0_pdata = {
+       .version = DAVINCI_SPI_VERSION_1,
+       .num_chipselect = 2,
+       .instance = 0,
+};
+
 static struct resource dm355_spi0_resources[] = {
        {
                .start = 0x01c66000,
@@ -411,6 +418,7 @@ static struct platform_device dm355_spi0_device = {
        .dev = {
                .dma_mask = &dm355_spi0_dma_mask,
                .coherent_dma_mask = DMA_BIT_MASK(32),
+               .platform_data = &dm355_spi0_pdata,
        },
        .num_resources = ARRAY_SIZE(dm355_spi0_resources),
        .resource = dm355_spi0_resources,
-- 
1.6.0.4

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to