This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SPI Interface problem

Other Parts Discussed in Thread: ADS7846

Hi.

I have configured on my AM37xx evaluation board SPI1 and SPI2 for  SPI Master

 

struct spi_board_info omap3evm_spi_board_info[] = {

[0] = {

.modalias = "ads7846",

.bus_num = 1,

.chip_select = 0,

.max_speed_hz = 1500000,

.controller_data = &ads7846_mcspi_config,

.irq = OMAP_GPIO_IRQ(OMAP3_EVM_TS_GPIO),

.platform_data = &ads7846_config,

},

/* SPI1 */ 

[1] = { /* SPI1.1 */

.modalias = "spidev",

.mode = SPI_MODE_0,

.max_speed_hz = 2 * 1000 * 1000,

.bus_num = 1,

.chip_select = 1,

},

[2] = { /* SPI1.2 */

.modalias = "spidev",

.mode = SPI_MODE_0,

.max_speed_hz = 2 * 1000 * 1000,

.bus_num = 1,

.chip_select = 2,

},

[3] = { /* SPI1.3 */

.modalias = "spidev",

.mode = SPI_MODE_0,

.max_speed_hz = 2 * 1000 * 1000,

.bus_num = 1,

.chip_select = 3,

},

/* SPI2 */

[4] = { /* SPI2.0 */

.modalias = "spidev",

.mode = SPI_MODE_0,

.max_speed_hz = 2 * 1000 * 1000,

.bus_num = 2,

.chip_select = 0,

},

[5] = { /* SPI2.1 */

.modalias = "spidev",

.mode = SPI_MODE_0,

.max_speed_hz = 2 * 1000 * 1000,

.bus_num = 2,

.chip_select = 1,

},

/* SPI3 */

[6] = { /* SPI3.0 */

.modalias = "spidev",

.mode = SPI_MODE_0,

.max_speed_hz = 1 * 1000 * 1000,

.bus_num = 3,

.chip_select = 0,

},

[7] = { /* SPI3.1 */

.modalias = "spidev",

.mode = SPI_MODE_0,

.max_speed_hz = 1 * 1000 * 1000,

.bus_num = 3,

.chip_select = 1,

},

/* SPI4 */

[8] = { /* SPI4.0 */

.modalias = "spidev",

.mode = SPI_MODE_0,

.max_speed_hz = 1 * 1000 * 1000,

.bus_num = 4,

.chip_select = 0,

},

};

 

 

 

static struct omap_board_mux spi_omap37x_board_mux[] __initdata = {

/* McSPI 1 */

OMAP3_MUX(MCSPI1_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),

OMAP3_MUX(MCSPI1_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),

OMAP3_MUX(MCSPI1_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),

OMAP3_MUX(MCSPI1_CS0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),

OMAP3_MUX(MCSPI1_CS1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),

 

/* McSPI 2 */

OMAP3_MUX(MCSPI2_CLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),

OMAP3_MUX(MCSPI2_SIMO, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),

OMAP3_MUX(MCSPI2_SOMI, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),

OMAP3_MUX(MCSPI2_CS0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),

OMAP3_MUX(MCSPI2_CS1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),

 

{ .reg_offset = OMAP_MUX_TERMINATOR },

};

 

 

Kernel configuration:

 

CONFIG_SPI=y

CONFIG_SPI_MASTER=y

CONFIG_SPI_OMAP24XX=y

CONFIG_SPI_SPIDEV=y

 

 

But  I can't see SPI signals by oscilloscope when I try to send some data using application example code from /Documentation/spi/spidev_test.c even though application execution is going without any errors.

What am I doing wrong?

Thanks 

Ruslan.