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
