Using the 2 patches submitted you should see the following when the DM355 boots 
up.

at25 spi0.0: 8 KByte at25640a eeprom, pagesize 32
Davinci SPI Controller driver at 0xfec66000 (irq = 43)
i2c /dev entries driver
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
Clocks: disable unused vpss_master
Clocks: disable unused vpss_slave
Clocks: disable unused mjcp
Clocks: disable unused uart1
Clocks: disable unused uart2
Clocks: disable unused asp0
Clocks: disable unused asp1
Clocks: disable unused mmcsd0
Clocks: disable unused mmcsd1
Clocks: disable unused spi1 [spi0 is being used so spi0 clock is enabled]
Clocks: disable unused spi2
Clocks: disable unused pwm0
Clocks: disable unused pwm1
Clocks: disable unused pwm2


In the kernel do

Cd /sys/devices/platform
 you should see
davinci_mmc.0   dm9000          musb_hdrc       spi_davinci.0
davinci_mmc.1   edma            serial8250      uevent
davinci_nand.0  i2c_davinci.1   serial8250.0    watchdog

The do cd spi_davinci.0

At this location you should see various info pertaining to SPI
 Then cd to spi0.o
 You should see an entry for the EEPROM


# cd /
# ls
bin         init        lost+found  root        tmp
dev         lib         mnt         sbin        usr
etc         linuxrc     proc        sys         var
# cd /sys/devices/platform/spi_davinci.0/spi0.0/
# strings eeprom
Texas Instruments SPi Driver for DaVinci/ DA8xx. Tested using the SPI EEPROM 
driver
# cd /sys/devices/platform/
# ls
davinci_mmc.0   dm9000          musb_hdrc       spi_davinci.0
davinci_mmc.1   edma            serial8250      uevent
davinci_nand.0  i2c_davinci.1   serial8250.0    watchdog
# cd spi_davinci.0/
# ls
bus              modalias         spi_master:spi0  uevent
driver           spi0.0           subsystem
# cd spi0.0
# ls
bus        driver     eeprom     modalias   subsystem  uevent
# cat modalias
at25
# strings eeprom
Texas Instruments SPi Driver for DaVinci/ DA8xx. Tested using the SPI EEPROM 
driver
#

Sandeep


> -----Original Message-----
> From: Paulraj, Sandeep
> Sent: Sunday, May 17, 2009 1:42 PM
> To: [email protected]
> Cc: Paulraj, Sandeep
> Subject: [PATCH] DM355 SPI Support
>
> 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