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.